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/loops/linear_search_false-unreach-call.i -------------------------------------------------------------------------------- This is Ultimate 0.1.23-61f4311 [2018-11-23 11:22:22,142 INFO L170 SettingsManager]: Resetting all preferences to default values... [2018-11-23 11:22:22,145 INFO L174 SettingsManager]: Resetting UltimateCore preferences to default values [2018-11-23 11:22:22,161 INFO L177 SettingsManager]: Ultimate Commandline Interface provides no preferences, ignoring... [2018-11-23 11:22:22,162 INFO L174 SettingsManager]: Resetting Boogie Preprocessor preferences to default values [2018-11-23 11:22:22,163 INFO L174 SettingsManager]: Resetting Boogie Procedure Inliner preferences to default values [2018-11-23 11:22:22,164 INFO L174 SettingsManager]: Resetting Abstract Interpretation preferences to default values [2018-11-23 11:22:22,166 INFO L174 SettingsManager]: Resetting LassoRanker preferences to default values [2018-11-23 11:22:22,169 INFO L174 SettingsManager]: Resetting Reaching Definitions preferences to default values [2018-11-23 11:22:22,170 INFO L174 SettingsManager]: Resetting SyntaxChecker preferences to default values [2018-11-23 11:22:22,171 INFO L177 SettingsManager]: Büchi Program Product provides no preferences, ignoring... [2018-11-23 11:22:22,171 INFO L174 SettingsManager]: Resetting LTL2Aut preferences to default values [2018-11-23 11:22:22,172 INFO L174 SettingsManager]: Resetting PEA to Boogie preferences to default values [2018-11-23 11:22:22,175 INFO L174 SettingsManager]: Resetting BlockEncodingV2 preferences to default values [2018-11-23 11:22:22,184 INFO L174 SettingsManager]: Resetting ChcToBoogie preferences to default values [2018-11-23 11:22:22,185 INFO L174 SettingsManager]: Resetting AutomataScriptInterpreter preferences to default values [2018-11-23 11:22:22,186 INFO L174 SettingsManager]: Resetting BuchiAutomizer preferences to default values [2018-11-23 11:22:22,188 INFO L174 SettingsManager]: Resetting CACSL2BoogieTranslator preferences to default values [2018-11-23 11:22:22,193 INFO L174 SettingsManager]: Resetting CodeCheck preferences to default values [2018-11-23 11:22:22,197 INFO L174 SettingsManager]: Resetting InvariantSynthesis preferences to default values [2018-11-23 11:22:22,199 INFO L174 SettingsManager]: Resetting RCFGBuilder preferences to default values [2018-11-23 11:22:22,202 INFO L174 SettingsManager]: Resetting TraceAbstraction preferences to default values [2018-11-23 11:22:22,205 INFO L177 SettingsManager]: TraceAbstractionConcurrent provides no preferences, ignoring... [2018-11-23 11:22:22,208 INFO L177 SettingsManager]: TraceAbstractionWithAFAs provides no preferences, ignoring... [2018-11-23 11:22:22,208 INFO L174 SettingsManager]: Resetting TreeAutomizer preferences to default values [2018-11-23 11:22:22,209 INFO L174 SettingsManager]: Resetting IcfgTransformer preferences to default values [2018-11-23 11:22:22,211 INFO L174 SettingsManager]: Resetting Boogie Printer preferences to default values [2018-11-23 11:22:22,215 INFO L174 SettingsManager]: Resetting ReqPrinter preferences to default values [2018-11-23 11:22:22,216 INFO L174 SettingsManager]: Resetting Witness Printer preferences to default values [2018-11-23 11:22:22,219 INFO L177 SettingsManager]: Boogie PL CUP Parser provides no preferences, ignoring... [2018-11-23 11:22:22,219 INFO L174 SettingsManager]: Resetting CDTParser preferences to default values [2018-11-23 11:22:22,220 INFO L177 SettingsManager]: AutomataScriptParser provides no preferences, ignoring... [2018-11-23 11:22:22,220 INFO L177 SettingsManager]: ReqParser provides no preferences, ignoring... [2018-11-23 11:22:22,221 INFO L174 SettingsManager]: Resetting SmtParser preferences to default values [2018-11-23 11:22:22,222 INFO L174 SettingsManager]: Resetting Witness Parser preferences to default values [2018-11-23 11:22:22,225 INFO L181 SettingsManager]: Finished resetting all preferences to default values... [2018-11-23 11:22:22,226 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 11:22:22,254 INFO L110 SettingsManager]: Loading preferences was successful [2018-11-23 11:22:22,255 INFO L112 SettingsManager]: Preferences different from defaults after loading the file: [2018-11-23 11:22:22,256 INFO L131 SettingsManager]: Preferences of Boogie Procedure Inliner differ from their defaults: [2018-11-23 11:22:22,256 INFO L133 SettingsManager]: * ... calls to implemented procedures=ONLY_FOR_CONCURRENT_PROGRAMS [2018-11-23 11:22:22,257 INFO L131 SettingsManager]: Preferences of BlockEncodingV2 differ from their defaults: [2018-11-23 11:22:22,257 INFO L133 SettingsManager]: * Create parallel compositions if possible=false [2018-11-23 11:22:22,257 INFO L133 SettingsManager]: * Use SBE=true [2018-11-23 11:22:22,257 INFO L131 SettingsManager]: Preferences of CACSL2BoogieTranslator differ from their defaults: [2018-11-23 11:22:22,258 INFO L133 SettingsManager]: * sizeof long=4 [2018-11-23 11:22:22,258 INFO L133 SettingsManager]: * sizeof POINTER=4 [2018-11-23 11:22:22,258 INFO L133 SettingsManager]: * Check division by zero=IGNORE [2018-11-23 11:22:22,258 INFO L133 SettingsManager]: * Pointer to allocated memory at dereference=IGNORE [2018-11-23 11:22:22,258 INFO L133 SettingsManager]: * If two pointers are subtracted or compared they have the same base address=IGNORE [2018-11-23 11:22:22,259 INFO L133 SettingsManager]: * Check array bounds for arrays that are off heap=IGNORE [2018-11-23 11:22:22,259 INFO L133 SettingsManager]: * Use bitvectors instead of ints=true [2018-11-23 11:22:22,259 INFO L133 SettingsManager]: * Memory model=HoenickeLindenmann_4ByteResolution [2018-11-23 11:22:22,259 INFO L133 SettingsManager]: * sizeof long double=12 [2018-11-23 11:22:22,259 INFO L133 SettingsManager]: * Check if freed pointer was valid=false [2018-11-23 11:22:22,260 INFO L133 SettingsManager]: * Use constant arrays=true [2018-11-23 11:22:22,260 INFO L133 SettingsManager]: * Pointer base address is valid at dereference=IGNORE [2018-11-23 11:22:22,260 INFO L131 SettingsManager]: Preferences of RCFGBuilder differ from their defaults: [2018-11-23 11:22:22,260 INFO L133 SettingsManager]: * Size of a code block=SequenceOfStatements [2018-11-23 11:22:22,260 INFO L133 SettingsManager]: * To the following directory=./dump/ [2018-11-23 11:22:22,261 INFO L133 SettingsManager]: * SMT solver=External_DefaultMode [2018-11-23 11:22:22,261 INFO L133 SettingsManager]: * Command for external solver=z3 SMTLIB2_COMPLIANT=true -memory:2024 -smt2 -in -t:2000 [2018-11-23 11:22:22,261 INFO L131 SettingsManager]: Preferences of TraceAbstraction differ from their defaults: [2018-11-23 11:22:22,261 INFO L133 SettingsManager]: * Compute Interpolants along a Counterexample=FPandBP [2018-11-23 11:22:22,261 INFO L133 SettingsManager]: * Positions where we compute the Hoare Annotation=LoopsAndPotentialCycles [2018-11-23 11:22:22,262 INFO L133 SettingsManager]: * Trace refinement strategy=WOLF [2018-11-23 11:22:22,262 INFO L133 SettingsManager]: * SMT solver=External_ModelsAndUnsatCoreMode [2018-11-23 11:22:22,262 INFO L133 SettingsManager]: * Command for external solver=cvc4nyu --tear-down-incremental --rewrite-divk --print-success --lang smt [2018-11-23 11:22:22,262 INFO L133 SettingsManager]: * Logic for external solver=AUFBV [2018-11-23 11:22:22,262 INFO L133 SettingsManager]: * Compute Hoare Annotation of negated interpolant automaton, abstraction and CFG=true [2018-11-23 11:22:22,308 INFO L81 nceAwareModelManager]: Repository-Root is: /tmp [2018-11-23 11:22:22,324 INFO L258 ainManager$Toolchain]: [Toolchain 1]: Applicable parser(s) successfully (re)initialized [2018-11-23 11:22:22,329 INFO L214 ainManager$Toolchain]: [Toolchain 1]: Toolchain selected. [2018-11-23 11:22:22,330 INFO L271 PluginConnector]: Initializing CDTParser... [2018-11-23 11:22:22,331 INFO L276 PluginConnector]: CDTParser initialized [2018-11-23 11:22:22,332 INFO L418 ainManager$Toolchain]: [Toolchain 1]: Parsing single file: /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/../../../trunk/examples/svcomp/loops/linear_search_false-unreach-call.i [2018-11-23 11:22:22,401 INFO L221 CDTParser]: Created temporary CDT project at /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/data/50d817d74/9cb4ce25fe9c4b66aaf6f33f2cb2212f/FLAG039c0308b [2018-11-23 11:22:22,892 INFO L307 CDTParser]: Found 1 translation units. [2018-11-23 11:22:22,893 INFO L161 CDTParser]: Scanning /storage/repos/ultimate/trunk/examples/svcomp/loops/linear_search_false-unreach-call.i [2018-11-23 11:22:22,899 INFO L355 CDTParser]: About to delete temporary CDT project at /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/data/50d817d74/9cb4ce25fe9c4b66aaf6f33f2cb2212f/FLAG039c0308b [2018-11-23 11:22:23,234 INFO L363 CDTParser]: Successfully deleted /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/data/50d817d74/9cb4ce25fe9c4b66aaf6f33f2cb2212f [2018-11-23 11:22:23,244 INFO L296 ainManager$Toolchain]: ####################### [Toolchain 1] ####################### [2018-11-23 11:22:23,245 INFO L131 ToolchainWalker]: Walking toolchain with 6 elements. [2018-11-23 11:22:23,248 INFO L113 PluginConnector]: ------------------------CACSL2BoogieTranslator---------------------------- [2018-11-23 11:22:23,248 INFO L271 PluginConnector]: Initializing CACSL2BoogieTranslator... [2018-11-23 11:22:23,252 INFO L276 PluginConnector]: CACSL2BoogieTranslator initialized [2018-11-23 11:22:23,254 INFO L185 PluginConnector]: Executing the observer ACSLObjectContainerObserver from plugin CACSL2BoogieTranslator for "CDTParser AST 23.11 11:22:23" (1/1) ... [2018-11-23 11:22:23,257 INFO L205 PluginConnector]: Invalid model from CACSL2BoogieTranslator for observer de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator.ACSLObjectContainerObserver@399bdab6 and model type de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 23.11 11:22:23, skipping insertion in model container [2018-11-23 11:22:23,257 INFO L185 PluginConnector]: Executing the observer CACSL2BoogieTranslatorObserver from plugin CACSL2BoogieTranslator for "CDTParser AST 23.11 11:22:23" (1/1) ... [2018-11-23 11:22:23,267 INFO L145 MainTranslator]: Starting translation in SV-COMP mode [2018-11-23 11:22:23,289 INFO L176 MainTranslator]: Built tables and reachable declarations [2018-11-23 11:22:23,509 INFO L201 PostProcessor]: Analyzing one entry point: main [2018-11-23 11:22:23,526 INFO L191 MainTranslator]: Completed pre-run [2018-11-23 11:22:23,551 INFO L201 PostProcessor]: Analyzing one entry point: main [2018-11-23 11:22:23,575 INFO L195 MainTranslator]: Completed translation [2018-11-23 11:22:23,576 INFO L202 PluginConnector]: Adding new model de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 23.11 11:22:23 WrapperNode [2018-11-23 11:22:23,576 INFO L132 PluginConnector]: ------------------------ END CACSL2BoogieTranslator---------------------------- [2018-11-23 11:22:23,577 INFO L113 PluginConnector]: ------------------------Boogie Procedure Inliner---------------------------- [2018-11-23 11:22:23,577 INFO L271 PluginConnector]: Initializing Boogie Procedure Inliner... [2018-11-23 11:22:23,578 INFO L276 PluginConnector]: Boogie Procedure Inliner initialized [2018-11-23 11:22:23,589 INFO L185 PluginConnector]: Executing the observer TypeChecker from plugin Boogie Procedure Inliner for "de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 23.11 11:22:23" (1/1) ... [2018-11-23 11:22:23,601 INFO L185 PluginConnector]: Executing the observer Inliner from plugin Boogie Procedure Inliner for "de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 23.11 11:22:23" (1/1) ... [2018-11-23 11:22:23,610 INFO L132 PluginConnector]: ------------------------ END Boogie Procedure Inliner---------------------------- [2018-11-23 11:22:23,611 INFO L113 PluginConnector]: ------------------------Boogie Preprocessor---------------------------- [2018-11-23 11:22:23,611 INFO L271 PluginConnector]: Initializing Boogie Preprocessor... [2018-11-23 11:22:23,611 INFO L276 PluginConnector]: Boogie Preprocessor initialized [2018-11-23 11:22:23,624 INFO L185 PluginConnector]: Executing the observer EnsureBoogieModelObserver from plugin Boogie Preprocessor for "de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 23.11 11:22:23" (1/1) ... [2018-11-23 11:22:23,624 INFO L185 PluginConnector]: Executing the observer TypeChecker from plugin Boogie Preprocessor for "de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 23.11 11:22:23" (1/1) ... [2018-11-23 11:22:23,627 INFO L185 PluginConnector]: Executing the observer ConstExpander from plugin Boogie Preprocessor for "de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 23.11 11:22:23" (1/1) ... [2018-11-23 11:22:23,628 INFO L185 PluginConnector]: Executing the observer StructExpander from plugin Boogie Preprocessor for "de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 23.11 11:22:23" (1/1) ... [2018-11-23 11:22:23,649 INFO L185 PluginConnector]: Executing the observer UnstructureCode from plugin Boogie Preprocessor for "de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 23.11 11:22:23" (1/1) ... [2018-11-23 11:22:23,663 INFO L185 PluginConnector]: Executing the observer FunctionInliner from plugin Boogie Preprocessor for "de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 23.11 11:22:23" (1/1) ... [2018-11-23 11:22:23,665 INFO L185 PluginConnector]: Executing the observer BoogieSymbolTableConstructor from plugin Boogie Preprocessor for "de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 23.11 11:22:23" (1/1) ... [2018-11-23 11:22:23,672 INFO L132 PluginConnector]: ------------------------ END Boogie Preprocessor---------------------------- [2018-11-23 11:22:23,672 INFO L113 PluginConnector]: ------------------------RCFGBuilder---------------------------- [2018-11-23 11:22:23,673 INFO L271 PluginConnector]: Initializing RCFGBuilder... [2018-11-23 11:22:23,673 INFO L276 PluginConnector]: RCFGBuilder initialized [2018-11-23 11:22:23,674 INFO L185 PluginConnector]: Executing the observer RCFGBuilderObserver from plugin RCFGBuilder for "de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 23.11 11:22:23" (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 11:22:23,813 INFO L130 BoogieDeclarations]: Found specification of procedure linear_search [2018-11-23 11:22:23,814 INFO L138 BoogieDeclarations]: Found implementation of procedure linear_search [2018-11-23 11:22:23,814 INFO L130 BoogieDeclarations]: Found specification of procedure ULTIMATE.init [2018-11-23 11:22:23,814 INFO L138 BoogieDeclarations]: Found implementation of procedure ULTIMATE.init [2018-11-23 11:22:23,814 INFO L130 BoogieDeclarations]: Found specification of procedure #Ultimate.alloc [2018-11-23 11:22:23,815 INFO L130 BoogieDeclarations]: Found specification of procedure read~intINTTYPE4 [2018-11-23 11:22:23,815 INFO L130 BoogieDeclarations]: Found specification of procedure ULTIMATE.start [2018-11-23 11:22:23,815 INFO L138 BoogieDeclarations]: Found implementation of procedure ULTIMATE.start [2018-11-23 11:22:23,815 INFO L130 BoogieDeclarations]: Found specification of procedure main [2018-11-23 11:22:23,815 INFO L138 BoogieDeclarations]: Found implementation of procedure main [2018-11-23 11:22:23,815 INFO L130 BoogieDeclarations]: Found specification of procedure __VERIFIER_assert [2018-11-23 11:22:23,816 INFO L138 BoogieDeclarations]: Found implementation of procedure __VERIFIER_assert [2018-11-23 11:22:23,816 INFO L130 BoogieDeclarations]: Found specification of procedure ULTIMATE.dealloc [2018-11-23 11:22:23,816 INFO L130 BoogieDeclarations]: Found specification of procedure write~intINTTYPE4 [2018-11-23 11:22:24,392 INFO L275 CfgBuilder]: Using the 1 location(s) as analysis (start of procedure ULTIMATE.start) [2018-11-23 11:22:24,392 INFO L280 CfgBuilder]: Removed 1 assue(true) statements. [2018-11-23 11:22:24,392 INFO L202 PluginConnector]: Adding new model de.uni_freiburg.informatik.ultimate.plugins.generator.rcfgbuilder CFG 23.11 11:22:24 BoogieIcfgContainer [2018-11-23 11:22:24,393 INFO L132 PluginConnector]: ------------------------ END RCFGBuilder---------------------------- [2018-11-23 11:22:24,393 INFO L113 PluginConnector]: ------------------------TraceAbstraction---------------------------- [2018-11-23 11:22:24,394 INFO L271 PluginConnector]: Initializing TraceAbstraction... [2018-11-23 11:22:24,397 INFO L276 PluginConnector]: TraceAbstraction initialized [2018-11-23 11:22:24,397 INFO L185 PluginConnector]: Executing the observer TraceAbstractionObserver from plugin TraceAbstraction for "CDTParser AST 23.11 11:22:23" (1/3) ... [2018-11-23 11:22:24,398 INFO L205 PluginConnector]: Invalid model from TraceAbstraction for observer de.uni_freiburg.informatik.ultimate.plugins.generator.traceabstraction.TraceAbstractionObserver@50e7e241 and model type de.uni_freiburg.informatik.ultimate.plugins.generator.traceabstraction AST 23.11 11:22:24, skipping insertion in model container [2018-11-23 11:22:24,399 INFO L185 PluginConnector]: Executing the observer TraceAbstractionObserver from plugin TraceAbstraction for "de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 23.11 11:22:23" (2/3) ... [2018-11-23 11:22:24,399 INFO L205 PluginConnector]: Invalid model from TraceAbstraction for observer de.uni_freiburg.informatik.ultimate.plugins.generator.traceabstraction.TraceAbstractionObserver@50e7e241 and model type de.uni_freiburg.informatik.ultimate.plugins.generator.traceabstraction AST 23.11 11:22:24, skipping insertion in model container [2018-11-23 11:22:24,399 INFO L185 PluginConnector]: Executing the observer TraceAbstractionObserver from plugin TraceAbstraction for "de.uni_freiburg.informatik.ultimate.plugins.generator.rcfgbuilder CFG 23.11 11:22:24" (3/3) ... [2018-11-23 11:22:24,401 INFO L112 eAbstractionObserver]: Analyzing ICFG linear_search_false-unreach-call.i [2018-11-23 11:22:24,412 INFO L156 ceAbstractionStarter]: Automizer settings: Hoare:true NWA Interpolation:FPandBP Determinization: PREDICATE_ABSTRACTION [2018-11-23 11:22:24,420 INFO L168 ceAbstractionStarter]: Appying trace abstraction to program that has 1 error locations. [2018-11-23 11:22:24,436 INFO L257 AbstractCegarLoop]: Starting to check reachability of 1 error locations. [2018-11-23 11:22:24,467 INFO L133 ementStrategyFactory]: Using default assertion order modulation [2018-11-23 11:22:24,468 INFO L382 AbstractCegarLoop]: Interprodecural is true [2018-11-23 11:22:24,468 INFO L383 AbstractCegarLoop]: Hoare is true [2018-11-23 11:22:24,468 INFO L384 AbstractCegarLoop]: Compute interpolants for FPandBP [2018-11-23 11:22:24,469 INFO L385 AbstractCegarLoop]: Backedges is STRAIGHT_LINE [2018-11-23 11:22:24,469 INFO L386 AbstractCegarLoop]: Determinization is PREDICATE_ABSTRACTION [2018-11-23 11:22:24,469 INFO L387 AbstractCegarLoop]: Difference is false [2018-11-23 11:22:24,469 INFO L388 AbstractCegarLoop]: Minimize is MINIMIZE_SEVPA [2018-11-23 11:22:24,470 INFO L393 AbstractCegarLoop]: ======== Iteration 0==of CEGAR loop == AllErrorsAtOnce======== [2018-11-23 11:22:24,487 INFO L276 IsEmpty]: Start isEmpty. Operand 27 states. [2018-11-23 11:22:24,493 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 17 [2018-11-23 11:22:24,494 INFO L394 BasicCegarLoop]: Found error trace [2018-11-23 11:22:24,495 INFO L402 BasicCegarLoop]: trace histogram [1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1] [2018-11-23 11:22:24,498 INFO L423 AbstractCegarLoop]: === Iteration 1 === [__VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION]=== [2018-11-23 11:22:24,504 INFO L141 PredicateUnifier]: Initialized classic predicate unifier [2018-11-23 11:22:24,504 INFO L82 PathProgramCache]: Analyzing trace with hash 1562601735, now seen corresponding path program 1 times [2018-11-23 11:22:24,509 INFO L223 ckRefinementStrategy]: Switched to mode CVC4_FPBP [2018-11-23 11:22:24,510 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 11:22:24,535 INFO L103 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2018-11-23 11:22:24,588 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2018-11-23 11:22:24,624 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2018-11-23 11:22:24,628 INFO L273 TraceCheckSpWp]: Computing forward predicates... [2018-11-23 11:22:24,757 INFO L256 TraceCheckUtils]: 0: Hoare triple {30#true} call ULTIMATE.init(); {30#true} is VALID [2018-11-23 11:22:24,761 INFO L273 TraceCheckUtils]: 1: Hoare triple {30#true} #NULL.base, #NULL.offset := 0bv32, 0bv32;#valid := #valid[0bv32 := 0bv1];~SIZE~0 := 0bv32; {30#true} is VALID [2018-11-23 11:22:24,762 INFO L273 TraceCheckUtils]: 2: Hoare triple {30#true} assume true; {30#true} is VALID [2018-11-23 11:22:24,762 INFO L268 TraceCheckUtils]: 3: Hoare quadruple {30#true} {30#true} #53#return; {30#true} is VALID [2018-11-23 11:22:24,762 INFO L256 TraceCheckUtils]: 4: Hoare triple {30#true} call #t~ret5 := main(); {30#true} is VALID [2018-11-23 11:22:24,763 INFO L273 TraceCheckUtils]: 5: Hoare triple {30#true} ~SIZE~0 := ~bvadd32(1bv32, ~bvudiv32(#t~nondet3, 2bv32));havoc #t~nondet3;call ~#a~0.base, ~#a~0.offset := #Ultimate.alloc(~bvmul32(4bv32, ~SIZE~0));call write~intINTTYPE4(3bv32, ~#a~0.base, ~bvadd32(~#a~0.offset, ~bvmul32(4bv32, ~bvudiv32(~SIZE~0, 2bv32))), 4bv32); {30#true} is VALID [2018-11-23 11:22:24,763 INFO L256 TraceCheckUtils]: 6: Hoare triple {30#true} call #t~ret4 := linear_search(~#a~0.base, ~#a~0.offset, ~SIZE~0, 3bv32); {30#true} is VALID [2018-11-23 11:22:24,763 INFO L273 TraceCheckUtils]: 7: Hoare triple {30#true} ~a.base, ~a.offset := #in~a.base, #in~a.offset;~n := #in~n;~q := #in~q;~j~0 := 0bv32; {30#true} is VALID [2018-11-23 11:22:24,768 INFO L273 TraceCheckUtils]: 8: Hoare triple {30#true} assume !true; {31#false} is VALID [2018-11-23 11:22:24,768 INFO L273 TraceCheckUtils]: 9: Hoare triple {31#false} assume ~bvult32(~j~0, ~SIZE~0);#res := 1bv32; {31#false} is VALID [2018-11-23 11:22:24,768 INFO L273 TraceCheckUtils]: 10: Hoare triple {31#false} assume true; {31#false} is VALID [2018-11-23 11:22:24,769 INFO L268 TraceCheckUtils]: 11: Hoare quadruple {31#false} {30#true} #57#return; {31#false} is VALID [2018-11-23 11:22:24,769 INFO L256 TraceCheckUtils]: 12: Hoare triple {31#false} call __VERIFIER_assert(#t~ret4); {31#false} is VALID [2018-11-23 11:22:24,769 INFO L273 TraceCheckUtils]: 13: Hoare triple {31#false} ~cond := #in~cond; {31#false} is VALID [2018-11-23 11:22:24,770 INFO L273 TraceCheckUtils]: 14: Hoare triple {31#false} assume 0bv32 == ~cond; {31#false} is VALID [2018-11-23 11:22:24,770 INFO L273 TraceCheckUtils]: 15: Hoare triple {31#false} assume !false; {31#false} is VALID [2018-11-23 11:22:24,776 INFO L134 CoverageAnalysis]: Checked inductivity of 0 backedges. 0 proven. 0 refuted. 0 times theorem prover too weak. 0 trivial. 0 not checked. [2018-11-23 11:22:24,776 INFO L312 TraceCheckSpWp]: Omiting computation of backward sequence because forward sequence was already perfect [2018-11-23 11:22:24,786 INFO L312 seRefinementStrategy]: Constructing automaton from 1 perfect and 0 imperfect interpolant sequences. [2018-11-23 11:22:24,787 INFO L327 seRefinementStrategy]: Number of different interpolants: perfect sequences [2] imperfect sequences [] total 2 [2018-11-23 11:22:24,793 INFO L78 Accepts]: Start accepts. Automaton has 2 states. Word has length 16 [2018-11-23 11:22:24,799 INFO L84 Accepts]: Finished accepts. word is accepted. [2018-11-23 11:22:24,803 INFO L86 InductivityCheck]: Starting indutivity check of a Floyd-Hoare automaton with 2 states. [2018-11-23 11:22:24,990 INFO L119 InductivityCheck]: Floyd-Hoare automaton has 16 edges. 16 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2018-11-23 11:22:24,991 INFO L459 AbstractCegarLoop]: Interpolant automaton has 2 states [2018-11-23 11:22:25,002 INFO L142 InterpolantAutomaton]: Constructing interpolant automaton starting with 2 interpolants. [2018-11-23 11:22:25,003 INFO L144 InterpolantAutomaton]: CoverageRelationStatistics Valid=1, Invalid=1, Unknown=0, NotChecked=0, Total=2 [2018-11-23 11:22:25,007 INFO L87 Difference]: Start difference. First operand 27 states. Second operand 2 states. [2018-11-23 11:22:25,264 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2018-11-23 11:22:25,264 INFO L93 Difference]: Finished difference Result 42 states and 49 transitions. [2018-11-23 11:22:25,264 INFO L142 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 2 states. [2018-11-23 11:22:25,264 INFO L78 Accepts]: Start accepts. Automaton has 2 states. Word has length 16 [2018-11-23 11:22:25,265 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2018-11-23 11:22:25,266 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 2 states. [2018-11-23 11:22:25,277 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 2 states to 2 states and 49 transitions. [2018-11-23 11:22:25,277 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 2 states. [2018-11-23 11:22:25,282 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 2 states to 2 states and 49 transitions. [2018-11-23 11:22:25,282 INFO L86 InductivityCheck]: Starting indutivity check of a Floyd-Hoare automaton with 2 states and 49 transitions. [2018-11-23 11:22:25,427 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 11:22:25,440 INFO L225 Difference]: With dead ends: 42 [2018-11-23 11:22:25,440 INFO L226 Difference]: Without dead ends: 20 [2018-11-23 11:22:25,444 INFO L631 BasicCegarLoop]: 0 DeclaredPredicates, 15 GetRequests, 15 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 11:22:25,460 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 20 states. [2018-11-23 11:22:25,504 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 20 to 20. [2018-11-23 11:22:25,505 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2018-11-23 11:22:25,505 INFO L82 GeneralOperation]: Start isEquivalent. First operand 20 states. Second operand 20 states. [2018-11-23 11:22:25,506 INFO L74 IsIncluded]: Start isIncluded. First operand 20 states. Second operand 20 states. [2018-11-23 11:22:25,506 INFO L87 Difference]: Start difference. First operand 20 states. Second operand 20 states. [2018-11-23 11:22:25,510 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2018-11-23 11:22:25,510 INFO L93 Difference]: Finished difference Result 20 states and 23 transitions. [2018-11-23 11:22:25,510 INFO L276 IsEmpty]: Start isEmpty. Operand 20 states and 23 transitions. [2018-11-23 11:22:25,511 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2018-11-23 11:22:25,511 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2018-11-23 11:22:25,511 INFO L74 IsIncluded]: Start isIncluded. First operand 20 states. Second operand 20 states. [2018-11-23 11:22:25,512 INFO L87 Difference]: Start difference. First operand 20 states. Second operand 20 states. [2018-11-23 11:22:25,515 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2018-11-23 11:22:25,516 INFO L93 Difference]: Finished difference Result 20 states and 23 transitions. [2018-11-23 11:22:25,516 INFO L276 IsEmpty]: Start isEmpty. Operand 20 states and 23 transitions. [2018-11-23 11:22:25,516 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2018-11-23 11:22:25,517 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2018-11-23 11:22:25,517 INFO L88 GeneralOperation]: Finished isEquivalent. [2018-11-23 11:22:25,517 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2018-11-23 11:22:25,518 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 20 states. [2018-11-23 11:22:25,520 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 20 states to 20 states and 23 transitions. [2018-11-23 11:22:25,522 INFO L78 Accepts]: Start accepts. Automaton has 20 states and 23 transitions. Word has length 16 [2018-11-23 11:22:25,522 INFO L84 Accepts]: Finished accepts. word is rejected. [2018-11-23 11:22:25,522 INFO L480 AbstractCegarLoop]: Abstraction has 20 states and 23 transitions. [2018-11-23 11:22:25,523 INFO L481 AbstractCegarLoop]: Interpolant automaton has 2 states. [2018-11-23 11:22:25,523 INFO L276 IsEmpty]: Start isEmpty. Operand 20 states and 23 transitions. [2018-11-23 11:22:25,524 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 19 [2018-11-23 11:22:25,524 INFO L394 BasicCegarLoop]: Found error trace [2018-11-23 11:22:25,524 INFO L402 BasicCegarLoop]: trace histogram [1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1] [2018-11-23 11:22:25,524 INFO L423 AbstractCegarLoop]: === Iteration 2 === [__VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION]=== [2018-11-23 11:22:25,525 INFO L141 PredicateUnifier]: Initialized classic predicate unifier [2018-11-23 11:22:25,525 INFO L82 PathProgramCache]: Analyzing trace with hash 1075430452, now seen corresponding path program 1 times [2018-11-23 11:22:25,526 INFO L223 ckRefinementStrategy]: Switched to mode CVC4_FPBP [2018-11-23 11:22:25,526 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 11:22:25,560 INFO L103 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2018-11-23 11:22:25,606 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2018-11-23 11:22:25,640 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2018-11-23 11:22:25,641 INFO L273 TraceCheckSpWp]: Computing forward predicates... [2018-11-23 11:22:25,818 INFO L256 TraceCheckUtils]: 0: Hoare triple {201#true} call ULTIMATE.init(); {201#true} is VALID [2018-11-23 11:22:25,818 INFO L273 TraceCheckUtils]: 1: Hoare triple {201#true} #NULL.base, #NULL.offset := 0bv32, 0bv32;#valid := #valid[0bv32 := 0bv1];~SIZE~0 := 0bv32; {201#true} is VALID [2018-11-23 11:22:25,818 INFO L273 TraceCheckUtils]: 2: Hoare triple {201#true} assume true; {201#true} is VALID [2018-11-23 11:22:25,819 INFO L268 TraceCheckUtils]: 3: Hoare quadruple {201#true} {201#true} #53#return; {201#true} is VALID [2018-11-23 11:22:25,819 INFO L256 TraceCheckUtils]: 4: Hoare triple {201#true} call #t~ret5 := main(); {201#true} is VALID [2018-11-23 11:22:25,819 INFO L273 TraceCheckUtils]: 5: Hoare triple {201#true} ~SIZE~0 := ~bvadd32(1bv32, ~bvudiv32(#t~nondet3, 2bv32));havoc #t~nondet3;call ~#a~0.base, ~#a~0.offset := #Ultimate.alloc(~bvmul32(4bv32, ~SIZE~0));call write~intINTTYPE4(3bv32, ~#a~0.base, ~bvadd32(~#a~0.offset, ~bvmul32(4bv32, ~bvudiv32(~SIZE~0, 2bv32))), 4bv32); {201#true} is VALID [2018-11-23 11:22:25,820 INFO L256 TraceCheckUtils]: 6: Hoare triple {201#true} call #t~ret4 := linear_search(~#a~0.base, ~#a~0.offset, ~SIZE~0, 3bv32); {201#true} is VALID [2018-11-23 11:22:25,820 INFO L273 TraceCheckUtils]: 7: Hoare triple {201#true} ~a.base, ~a.offset := #in~a.base, #in~a.offset;~n := #in~n;~q := #in~q;~j~0 := 0bv32; {201#true} is VALID [2018-11-23 11:22:25,820 INFO L273 TraceCheckUtils]: 8: Hoare triple {201#true} #t~short1 := ~bvult32(~j~0, ~n); {201#true} is VALID [2018-11-23 11:22:25,821 INFO L273 TraceCheckUtils]: 9: Hoare triple {201#true} assume #t~short1;call #t~mem0 := read~intINTTYPE4(~a.base, ~bvadd32(~a.offset, ~bvmul32(4bv32, ~j~0)), 4bv32);#t~short1 := #t~mem0 != ~q; {201#true} is VALID [2018-11-23 11:22:25,821 INFO L273 TraceCheckUtils]: 10: Hoare triple {201#true} assume !#t~short1;havoc #t~short1;havoc #t~mem0; {201#true} is VALID [2018-11-23 11:22:25,822 INFO L273 TraceCheckUtils]: 11: Hoare triple {201#true} assume ~bvult32(~j~0, ~SIZE~0);#res := 1bv32; {239#(= (bvadd |linear_search_#res| (_ bv4294967295 32)) (_ bv0 32))} is VALID [2018-11-23 11:22:25,824 INFO L273 TraceCheckUtils]: 12: Hoare triple {239#(= (bvadd |linear_search_#res| (_ bv4294967295 32)) (_ bv0 32))} assume true; {239#(= (bvadd |linear_search_#res| (_ bv4294967295 32)) (_ bv0 32))} is VALID [2018-11-23 11:22:25,827 INFO L268 TraceCheckUtils]: 13: Hoare quadruple {239#(= (bvadd |linear_search_#res| (_ bv4294967295 32)) (_ bv0 32))} {201#true} #57#return; {246#(= (bvadd |main_#t~ret4| (_ bv4294967295 32)) (_ bv0 32))} is VALID [2018-11-23 11:22:25,832 INFO L256 TraceCheckUtils]: 14: Hoare triple {246#(= (bvadd |main_#t~ret4| (_ bv4294967295 32)) (_ bv0 32))} call __VERIFIER_assert(#t~ret4); {250#(= (bvadd |__VERIFIER_assert_#in~cond| (_ bv4294967295 32)) (_ bv0 32))} is VALID [2018-11-23 11:22:25,833 INFO L273 TraceCheckUtils]: 15: Hoare triple {250#(= (bvadd |__VERIFIER_assert_#in~cond| (_ bv4294967295 32)) (_ bv0 32))} ~cond := #in~cond; {254#(= (bvadd __VERIFIER_assert_~cond (_ bv4294967295 32)) (_ bv0 32))} is VALID [2018-11-23 11:22:25,837 INFO L273 TraceCheckUtils]: 16: Hoare triple {254#(= (bvadd __VERIFIER_assert_~cond (_ bv4294967295 32)) (_ bv0 32))} assume 0bv32 == ~cond; {202#false} is VALID [2018-11-23 11:22:25,837 INFO L273 TraceCheckUtils]: 17: Hoare triple {202#false} assume !false; {202#false} is VALID [2018-11-23 11:22:25,841 INFO L134 CoverageAnalysis]: Checked inductivity of 0 backedges. 0 proven. 0 refuted. 0 times theorem prover too weak. 0 trivial. 0 not checked. [2018-11-23 11:22:25,841 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 (3)] Exception during sending of exit command (exit): Broken pipe [2018-11-23 11:22:25,847 INFO L312 seRefinementStrategy]: Constructing automaton from 1 perfect and 0 imperfect interpolant sequences. [2018-11-23 11:22:25,847 INFO L327 seRefinementStrategy]: Number of different interpolants: perfect sequences [6] imperfect sequences [] total 6 [2018-11-23 11:22:25,849 INFO L78 Accepts]: Start accepts. Automaton has 6 states. Word has length 18 [2018-11-23 11:22:25,850 INFO L84 Accepts]: Finished accepts. word is accepted. [2018-11-23 11:22:25,850 INFO L86 InductivityCheck]: Starting indutivity check of a Floyd-Hoare automaton with 6 states. [2018-11-23 11:22:25,930 INFO L119 InductivityCheck]: Floyd-Hoare automaton has 18 edges. 18 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2018-11-23 11:22:25,930 INFO L459 AbstractCegarLoop]: Interpolant automaton has 6 states [2018-11-23 11:22:25,930 INFO L142 InterpolantAutomaton]: Constructing interpolant automaton starting with 6 interpolants. [2018-11-23 11:22:25,930 INFO L144 InterpolantAutomaton]: CoverageRelationStatistics Valid=9, Invalid=21, Unknown=0, NotChecked=0, Total=30 [2018-11-23 11:22:25,931 INFO L87 Difference]: Start difference. First operand 20 states and 23 transitions. Second operand 6 states. [2018-11-23 11:22:26,749 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2018-11-23 11:22:26,749 INFO L93 Difference]: Finished difference Result 27 states and 29 transitions. [2018-11-23 11:22:26,749 INFO L142 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 6 states. [2018-11-23 11:22:26,750 INFO L78 Accepts]: Start accepts. Automaton has 6 states. Word has length 18 [2018-11-23 11:22:26,750 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2018-11-23 11:22:26,750 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 6 states. [2018-11-23 11:22:26,753 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 6 states to 6 states and 29 transitions. [2018-11-23 11:22:26,753 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 6 states. [2018-11-23 11:22:26,755 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 6 states to 6 states and 29 transitions. [2018-11-23 11:22:26,755 INFO L86 InductivityCheck]: Starting indutivity check of a Floyd-Hoare automaton with 6 states and 29 transitions. [2018-11-23 11:22:26,839 INFO L119 InductivityCheck]: Floyd-Hoare automaton has 29 edges. 29 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2018-11-23 11:22:26,841 INFO L225 Difference]: With dead ends: 27 [2018-11-23 11:22:26,841 INFO L226 Difference]: Without dead ends: 20 [2018-11-23 11:22:26,842 INFO L631 BasicCegarLoop]: 0 DeclaredPredicates, 18 GetRequests, 13 SyntacticMatches, 0 SemanticMatches, 5 ConstructedPredicates, 0 IntricatePredicates, 0 DeprecatedPredicates, 0 ImplicationChecksByTransitivity, 0.0s TimeCoverageRelationStatistics Valid=13, Invalid=29, Unknown=0, NotChecked=0, Total=42 [2018-11-23 11:22:26,842 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 20 states. [2018-11-23 11:22:26,852 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 20 to 20. [2018-11-23 11:22:26,852 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2018-11-23 11:22:26,853 INFO L82 GeneralOperation]: Start isEquivalent. First operand 20 states. Second operand 20 states. [2018-11-23 11:22:26,853 INFO L74 IsIncluded]: Start isIncluded. First operand 20 states. Second operand 20 states. [2018-11-23 11:22:26,853 INFO L87 Difference]: Start difference. First operand 20 states. Second operand 20 states. [2018-11-23 11:22:26,856 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2018-11-23 11:22:26,856 INFO L93 Difference]: Finished difference Result 20 states and 22 transitions. [2018-11-23 11:22:26,857 INFO L276 IsEmpty]: Start isEmpty. Operand 20 states and 22 transitions. [2018-11-23 11:22:26,857 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2018-11-23 11:22:26,857 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2018-11-23 11:22:26,857 INFO L74 IsIncluded]: Start isIncluded. First operand 20 states. Second operand 20 states. [2018-11-23 11:22:26,858 INFO L87 Difference]: Start difference. First operand 20 states. Second operand 20 states. [2018-11-23 11:22:26,859 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2018-11-23 11:22:26,860 INFO L93 Difference]: Finished difference Result 20 states and 22 transitions. [2018-11-23 11:22:26,860 INFO L276 IsEmpty]: Start isEmpty. Operand 20 states and 22 transitions. [2018-11-23 11:22:26,860 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2018-11-23 11:22:26,860 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2018-11-23 11:22:26,861 INFO L88 GeneralOperation]: Finished isEquivalent. [2018-11-23 11:22:26,861 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2018-11-23 11:22:26,861 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 20 states. [2018-11-23 11:22:26,863 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 20 states to 20 states and 22 transitions. [2018-11-23 11:22:26,863 INFO L78 Accepts]: Start accepts. Automaton has 20 states and 22 transitions. Word has length 18 [2018-11-23 11:22:26,864 INFO L84 Accepts]: Finished accepts. word is rejected. [2018-11-23 11:22:26,864 INFO L480 AbstractCegarLoop]: Abstraction has 20 states and 22 transitions. [2018-11-23 11:22:26,864 INFO L481 AbstractCegarLoop]: Interpolant automaton has 6 states. [2018-11-23 11:22:26,864 INFO L276 IsEmpty]: Start isEmpty. Operand 20 states and 22 transitions. [2018-11-23 11:22:26,865 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 19 [2018-11-23 11:22:26,865 INFO L394 BasicCegarLoop]: Found error trace [2018-11-23 11:22:26,865 INFO L402 BasicCegarLoop]: trace histogram [1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1] [2018-11-23 11:22:26,865 INFO L423 AbstractCegarLoop]: === Iteration 3 === [__VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION]=== [2018-11-23 11:22:26,866 INFO L141 PredicateUnifier]: Initialized classic predicate unifier [2018-11-23 11:22:26,866 INFO L82 PathProgramCache]: Analyzing trace with hash 1962934133, now seen corresponding path program 1 times [2018-11-23 11:22:26,866 INFO L223 ckRefinementStrategy]: Switched to mode CVC4_FPBP [2018-11-23 11:22:26,867 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 11:22:26,886 INFO L103 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2018-11-23 11:22:26,913 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2018-11-23 11:22:26,928 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2018-11-23 11:22:26,930 INFO L273 TraceCheckSpWp]: Computing forward predicates... [2018-11-23 11:22:27,174 INFO L256 TraceCheckUtils]: 0: Hoare triple {369#true} call ULTIMATE.init(); {369#true} is VALID [2018-11-23 11:22:27,174 INFO L273 TraceCheckUtils]: 1: Hoare triple {369#true} #NULL.base, #NULL.offset := 0bv32, 0bv32;#valid := #valid[0bv32 := 0bv1];~SIZE~0 := 0bv32; {369#true} is VALID [2018-11-23 11:22:27,174 INFO L273 TraceCheckUtils]: 2: Hoare triple {369#true} assume true; {369#true} is VALID [2018-11-23 11:22:27,175 INFO L268 TraceCheckUtils]: 3: Hoare quadruple {369#true} {369#true} #53#return; {369#true} is VALID [2018-11-23 11:22:27,175 INFO L256 TraceCheckUtils]: 4: Hoare triple {369#true} call #t~ret5 := main(); {369#true} is VALID [2018-11-23 11:22:27,175 INFO L273 TraceCheckUtils]: 5: Hoare triple {369#true} ~SIZE~0 := ~bvadd32(1bv32, ~bvudiv32(#t~nondet3, 2bv32));havoc #t~nondet3;call ~#a~0.base, ~#a~0.offset := #Ultimate.alloc(~bvmul32(4bv32, ~SIZE~0));call write~intINTTYPE4(3bv32, ~#a~0.base, ~bvadd32(~#a~0.offset, ~bvmul32(4bv32, ~bvudiv32(~SIZE~0, 2bv32))), 4bv32); {369#true} is VALID [2018-11-23 11:22:27,175 INFO L256 TraceCheckUtils]: 6: Hoare triple {369#true} call #t~ret4 := linear_search(~#a~0.base, ~#a~0.offset, ~SIZE~0, 3bv32); {369#true} is VALID [2018-11-23 11:22:27,178 INFO L273 TraceCheckUtils]: 7: Hoare triple {369#true} ~a.base, ~a.offset := #in~a.base, #in~a.offset;~n := #in~n;~q := #in~q;~j~0 := 0bv32; {395#(and (= linear_search_~n |linear_search_#in~n|) (= linear_search_~j~0 (_ bv0 32)))} is VALID [2018-11-23 11:22:27,179 INFO L273 TraceCheckUtils]: 8: Hoare triple {395#(and (= linear_search_~n |linear_search_#in~n|) (= linear_search_~j~0 (_ bv0 32)))} #t~short1 := ~bvult32(~j~0, ~n); {399#(and (or (and (not (bvult linear_search_~j~0 |linear_search_#in~n|)) (not |linear_search_#t~short1|)) (and (bvult linear_search_~j~0 |linear_search_#in~n|) |linear_search_#t~short1|)) (= linear_search_~j~0 (_ bv0 32)))} is VALID [2018-11-23 11:22:27,180 INFO L273 TraceCheckUtils]: 9: Hoare triple {399#(and (or (and (not (bvult linear_search_~j~0 |linear_search_#in~n|)) (not |linear_search_#t~short1|)) (and (bvult linear_search_~j~0 |linear_search_#in~n|) |linear_search_#t~short1|)) (= linear_search_~j~0 (_ bv0 32)))} assume #t~short1;call #t~mem0 := read~intINTTYPE4(~a.base, ~bvadd32(~a.offset, ~bvmul32(4bv32, ~j~0)), 4bv32);#t~short1 := #t~mem0 != ~q; {403#(and (= linear_search_~j~0 (_ bv0 32)) (bvult linear_search_~j~0 |linear_search_#in~n|))} is VALID [2018-11-23 11:22:27,182 INFO L273 TraceCheckUtils]: 10: Hoare triple {403#(and (= linear_search_~j~0 (_ bv0 32)) (bvult linear_search_~j~0 |linear_search_#in~n|))} assume !#t~short1;havoc #t~short1;havoc #t~mem0; {403#(and (= linear_search_~j~0 (_ bv0 32)) (bvult linear_search_~j~0 |linear_search_#in~n|))} is VALID [2018-11-23 11:22:27,184 INFO L273 TraceCheckUtils]: 11: Hoare triple {403#(and (= linear_search_~j~0 (_ bv0 32)) (bvult linear_search_~j~0 |linear_search_#in~n|))} assume !~bvult32(~j~0, ~SIZE~0);#res := 0bv32; {410#(and (bvult (_ bv0 32) |linear_search_#in~n|) (not (bvult (_ bv0 32) ~SIZE~0)))} is VALID [2018-11-23 11:22:27,185 INFO L273 TraceCheckUtils]: 12: Hoare triple {410#(and (bvult (_ bv0 32) |linear_search_#in~n|) (not (bvult (_ bv0 32) ~SIZE~0)))} assume true; {410#(and (bvult (_ bv0 32) |linear_search_#in~n|) (not (bvult (_ bv0 32) ~SIZE~0)))} is VALID [2018-11-23 11:22:27,191 INFO L268 TraceCheckUtils]: 13: Hoare quadruple {410#(and (bvult (_ bv0 32) |linear_search_#in~n|) (not (bvult (_ bv0 32) ~SIZE~0)))} {369#true} #57#return; {370#false} is VALID [2018-11-23 11:22:27,191 INFO L256 TraceCheckUtils]: 14: Hoare triple {370#false} call __VERIFIER_assert(#t~ret4); {370#false} is VALID [2018-11-23 11:22:27,191 INFO L273 TraceCheckUtils]: 15: Hoare triple {370#false} ~cond := #in~cond; {370#false} is VALID [2018-11-23 11:22:27,192 INFO L273 TraceCheckUtils]: 16: Hoare triple {370#false} assume 0bv32 == ~cond; {370#false} is VALID [2018-11-23 11:22:27,192 INFO L273 TraceCheckUtils]: 17: Hoare triple {370#false} assume !false; {370#false} is VALID [2018-11-23 11:22:27,194 INFO L134 CoverageAnalysis]: Checked inductivity of 0 backedges. 0 proven. 0 refuted. 0 times theorem prover too weak. 0 trivial. 0 not checked. [2018-11-23 11:22:27,194 INFO L312 TraceCheckSpWp]: Omiting computation of backward sequence because forward sequence was already perfect [2018-11-23 11:22:27,198 INFO L312 seRefinementStrategy]: Constructing automaton from 1 perfect and 0 imperfect interpolant sequences. [2018-11-23 11:22:27,199 INFO L327 seRefinementStrategy]: Number of different interpolants: perfect sequences [6] imperfect sequences [] total 6 [2018-11-23 11:22:27,199 INFO L78 Accepts]: Start accepts. Automaton has 6 states. Word has length 18 [2018-11-23 11:22:27,200 INFO L84 Accepts]: Finished accepts. word is accepted. [2018-11-23 11:22:27,200 INFO L86 InductivityCheck]: Starting indutivity check of a Floyd-Hoare automaton with 6 states. [2018-11-23 11:22:27,309 INFO L119 InductivityCheck]: Floyd-Hoare automaton has 18 edges. 18 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2018-11-23 11:22:27,309 INFO L459 AbstractCegarLoop]: Interpolant automaton has 6 states [2018-11-23 11:22:27,309 INFO L142 InterpolantAutomaton]: Constructing interpolant automaton starting with 6 interpolants. [2018-11-23 11:22:27,309 INFO L144 InterpolantAutomaton]: CoverageRelationStatistics Valid=9, Invalid=21, Unknown=0, NotChecked=0, Total=30 [2018-11-23 11:22:27,310 INFO L87 Difference]: Start difference. First operand 20 states and 22 transitions. Second operand 6 states. [2018-11-23 11:22:28,026 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2018-11-23 11:22:28,027 INFO L93 Difference]: Finished difference Result 35 states and 39 transitions. [2018-11-23 11:22:28,027 INFO L142 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 6 states. [2018-11-23 11:22:28,027 INFO L78 Accepts]: Start accepts. Automaton has 6 states. Word has length 18 [2018-11-23 11:22:28,028 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2018-11-23 11:22:28,028 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 6 states. [2018-11-23 11:22:28,031 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 6 states to 6 states and 39 transitions. [2018-11-23 11:22:28,033 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 6 states. [2018-11-23 11:22:28,040 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 6 states to 6 states and 39 transitions. [2018-11-23 11:22:28,041 INFO L86 InductivityCheck]: Starting indutivity check of a Floyd-Hoare automaton with 6 states and 39 transitions. [2018-11-23 11:22:28,193 INFO L119 InductivityCheck]: Floyd-Hoare automaton has 39 edges. 39 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2018-11-23 11:22:28,195 INFO L225 Difference]: With dead ends: 35 [2018-11-23 11:22:28,196 INFO L226 Difference]: Without dead ends: 27 [2018-11-23 11:22:28,196 INFO L631 BasicCegarLoop]: 0 DeclaredPredicates, 20 GetRequests, 13 SyntacticMatches, 0 SemanticMatches, 7 ConstructedPredicates, 0 IntricatePredicates, 0 DeprecatedPredicates, 2 ImplicationChecksByTransitivity, 0.4s TimeCoverageRelationStatistics Valid=23, Invalid=49, Unknown=0, NotChecked=0, Total=72 [2018-11-23 11:22:28,197 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 27 states. [2018-11-23 11:22:28,273 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 27 to 23. [2018-11-23 11:22:28,273 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2018-11-23 11:22:28,273 INFO L82 GeneralOperation]: Start isEquivalent. First operand 27 states. Second operand 23 states. [2018-11-23 11:22:28,273 INFO L74 IsIncluded]: Start isIncluded. First operand 27 states. Second operand 23 states. [2018-11-23 11:22:28,274 INFO L87 Difference]: Start difference. First operand 27 states. Second operand 23 states. [2018-11-23 11:22:28,276 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2018-11-23 11:22:28,276 INFO L93 Difference]: Finished difference Result 27 states and 31 transitions. [2018-11-23 11:22:28,277 INFO L276 IsEmpty]: Start isEmpty. Operand 27 states and 31 transitions. [2018-11-23 11:22:28,277 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2018-11-23 11:22:28,277 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2018-11-23 11:22:28,278 INFO L74 IsIncluded]: Start isIncluded. First operand 23 states. Second operand 27 states. [2018-11-23 11:22:28,278 INFO L87 Difference]: Start difference. First operand 23 states. Second operand 27 states. [2018-11-23 11:22:28,280 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2018-11-23 11:22:28,281 INFO L93 Difference]: Finished difference Result 27 states and 31 transitions. [2018-11-23 11:22:28,281 INFO L276 IsEmpty]: Start isEmpty. Operand 27 states and 31 transitions. [2018-11-23 11:22:28,282 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2018-11-23 11:22:28,282 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2018-11-23 11:22:28,282 INFO L88 GeneralOperation]: Finished isEquivalent. [2018-11-23 11:22:28,282 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2018-11-23 11:22:28,282 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 23 states. [2018-11-23 11:22:28,284 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 23 states to 23 states and 26 transitions. [2018-11-23 11:22:28,284 INFO L78 Accepts]: Start accepts. Automaton has 23 states and 26 transitions. Word has length 18 [2018-11-23 11:22:28,284 INFO L84 Accepts]: Finished accepts. word is rejected. [2018-11-23 11:22:28,285 INFO L480 AbstractCegarLoop]: Abstraction has 23 states and 26 transitions. [2018-11-23 11:22:28,285 INFO L481 AbstractCegarLoop]: Interpolant automaton has 6 states. [2018-11-23 11:22:28,285 INFO L276 IsEmpty]: Start isEmpty. Operand 23 states and 26 transitions. [2018-11-23 11:22:28,286 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 19 [2018-11-23 11:22:28,286 INFO L394 BasicCegarLoop]: Found error trace [2018-11-23 11:22:28,286 INFO L402 BasicCegarLoop]: trace histogram [1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1] [2018-11-23 11:22:28,286 INFO L423 AbstractCegarLoop]: === Iteration 4 === [__VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION]=== [2018-11-23 11:22:28,286 INFO L141 PredicateUnifier]: Initialized classic predicate unifier [2018-11-23 11:22:28,287 INFO L82 PathProgramCache]: Analyzing trace with hash -1651974793, now seen corresponding path program 1 times [2018-11-23 11:22:28,287 INFO L223 ckRefinementStrategy]: Switched to mode CVC4_FPBP [2018-11-23 11:22:28,287 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 11:22:28,305 INFO L103 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2018-11-23 11:22:28,336 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2018-11-23 11:22:28,349 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2018-11-23 11:22:28,350 INFO L273 TraceCheckSpWp]: Computing forward predicates... [2018-11-23 11:22:28,890 INFO L256 TraceCheckUtils]: 0: Hoare triple {568#true} call ULTIMATE.init(); {568#true} is VALID [2018-11-23 11:22:28,891 INFO L273 TraceCheckUtils]: 1: Hoare triple {568#true} #NULL.base, #NULL.offset := 0bv32, 0bv32;#valid := #valid[0bv32 := 0bv1];~SIZE~0 := 0bv32; {568#true} is VALID [2018-11-23 11:22:28,891 INFO L273 TraceCheckUtils]: 2: Hoare triple {568#true} assume true; {568#true} is VALID [2018-11-23 11:22:28,891 INFO L268 TraceCheckUtils]: 3: Hoare quadruple {568#true} {568#true} #53#return; {568#true} is VALID [2018-11-23 11:22:28,891 INFO L256 TraceCheckUtils]: 4: Hoare triple {568#true} call #t~ret5 := main(); {568#true} is VALID [2018-11-23 11:22:28,894 INFO L273 TraceCheckUtils]: 5: Hoare triple {568#true} ~SIZE~0 := ~bvadd32(1bv32, ~bvudiv32(#t~nondet3, 2bv32));havoc #t~nondet3;call ~#a~0.base, ~#a~0.offset := #Ultimate.alloc(~bvmul32(4bv32, ~SIZE~0));call write~intINTTYPE4(3bv32, ~#a~0.base, ~bvadd32(~#a~0.offset, ~bvmul32(4bv32, ~bvudiv32(~SIZE~0, 2bv32))), 4bv32); {588#(exists ((|v_main_#t~nondet3_3| (_ BitVec 32))) (= (bvadd ~SIZE~0 (_ bv4294967295 32)) (bvudiv |v_main_#t~nondet3_3| (_ bv2 32))))} is VALID [2018-11-23 11:22:28,895 INFO L256 TraceCheckUtils]: 6: Hoare triple {588#(exists ((|v_main_#t~nondet3_3| (_ BitVec 32))) (= (bvadd ~SIZE~0 (_ bv4294967295 32)) (bvudiv |v_main_#t~nondet3_3| (_ bv2 32))))} call #t~ret4 := linear_search(~#a~0.base, ~#a~0.offset, ~SIZE~0, 3bv32); {588#(exists ((|v_main_#t~nondet3_3| (_ BitVec 32))) (= (bvadd ~SIZE~0 (_ bv4294967295 32)) (bvudiv |v_main_#t~nondet3_3| (_ bv2 32))))} is VALID [2018-11-23 11:22:28,895 INFO L273 TraceCheckUtils]: 7: Hoare triple {588#(exists ((|v_main_#t~nondet3_3| (_ BitVec 32))) (= (bvadd ~SIZE~0 (_ bv4294967295 32)) (bvudiv |v_main_#t~nondet3_3| (_ bv2 32))))} ~a.base, ~a.offset := #in~a.base, #in~a.offset;~n := #in~n;~q := #in~q;~j~0 := 0bv32; {595#(and (exists ((|v_main_#t~nondet3_3| (_ BitVec 32))) (= (bvadd ~SIZE~0 (_ bv4294967295 32)) (bvudiv |v_main_#t~nondet3_3| (_ bv2 32)))) (= linear_search_~n |linear_search_#in~n|) (= linear_search_~j~0 (_ bv0 32)))} is VALID [2018-11-23 11:22:28,897 INFO L273 TraceCheckUtils]: 8: Hoare triple {595#(and (exists ((|v_main_#t~nondet3_3| (_ BitVec 32))) (= (bvadd ~SIZE~0 (_ bv4294967295 32)) (bvudiv |v_main_#t~nondet3_3| (_ bv2 32)))) (= linear_search_~n |linear_search_#in~n|) (= linear_search_~j~0 (_ bv0 32)))} #t~short1 := ~bvult32(~j~0, ~n); {599#(or (and (exists ((|v_main_#t~nondet3_3| (_ BitVec 32))) (= (bvadd ~SIZE~0 (_ bv4294967295 32)) (bvudiv |v_main_#t~nondet3_3| (_ bv2 32)))) (bvult (_ bv0 32) |linear_search_#in~n|) |linear_search_#t~short1|) (and (exists ((|v_main_#t~nondet3_3| (_ BitVec 32))) (= (bvadd ~SIZE~0 (_ bv4294967295 32)) (bvudiv |v_main_#t~nondet3_3| (_ bv2 32)))) (not |linear_search_#t~short1|) (not (bvult (_ bv0 32) |linear_search_#in~n|))))} is VALID [2018-11-23 11:22:28,899 INFO L273 TraceCheckUtils]: 9: Hoare triple {599#(or (and (exists ((|v_main_#t~nondet3_3| (_ BitVec 32))) (= (bvadd ~SIZE~0 (_ bv4294967295 32)) (bvudiv |v_main_#t~nondet3_3| (_ bv2 32)))) (bvult (_ bv0 32) |linear_search_#in~n|) |linear_search_#t~short1|) (and (exists ((|v_main_#t~nondet3_3| (_ BitVec 32))) (= (bvadd ~SIZE~0 (_ bv4294967295 32)) (bvudiv |v_main_#t~nondet3_3| (_ bv2 32)))) (not |linear_search_#t~short1|) (not (bvult (_ bv0 32) |linear_search_#in~n|))))} assume !#t~short1; {603#(and (exists ((|v_main_#t~nondet3_3| (_ BitVec 32))) (= (bvadd ~SIZE~0 (_ bv4294967295 32)) (bvudiv |v_main_#t~nondet3_3| (_ bv2 32)))) (not (bvult (_ bv0 32) |linear_search_#in~n|)))} is VALID [2018-11-23 11:22:28,902 INFO L273 TraceCheckUtils]: 10: Hoare triple {603#(and (exists ((|v_main_#t~nondet3_3| (_ BitVec 32))) (= (bvadd ~SIZE~0 (_ bv4294967295 32)) (bvudiv |v_main_#t~nondet3_3| (_ bv2 32)))) (not (bvult (_ bv0 32) |linear_search_#in~n|)))} assume !#t~short1;havoc #t~short1;havoc #t~mem0; {603#(and (exists ((|v_main_#t~nondet3_3| (_ BitVec 32))) (= (bvadd ~SIZE~0 (_ bv4294967295 32)) (bvudiv |v_main_#t~nondet3_3| (_ bv2 32)))) (not (bvult (_ bv0 32) |linear_search_#in~n|)))} is VALID [2018-11-23 11:22:28,906 INFO L273 TraceCheckUtils]: 11: Hoare triple {603#(and (exists ((|v_main_#t~nondet3_3| (_ BitVec 32))) (= (bvadd ~SIZE~0 (_ bv4294967295 32)) (bvudiv |v_main_#t~nondet3_3| (_ bv2 32)))) (not (bvult (_ bv0 32) |linear_search_#in~n|)))} assume !~bvult32(~j~0, ~SIZE~0);#res := 0bv32; {603#(and (exists ((|v_main_#t~nondet3_3| (_ BitVec 32))) (= (bvadd ~SIZE~0 (_ bv4294967295 32)) (bvudiv |v_main_#t~nondet3_3| (_ bv2 32)))) (not (bvult (_ bv0 32) |linear_search_#in~n|)))} is VALID [2018-11-23 11:22:28,907 INFO L273 TraceCheckUtils]: 12: Hoare triple {603#(and (exists ((|v_main_#t~nondet3_3| (_ BitVec 32))) (= (bvadd ~SIZE~0 (_ bv4294967295 32)) (bvudiv |v_main_#t~nondet3_3| (_ bv2 32)))) (not (bvult (_ bv0 32) |linear_search_#in~n|)))} assume true; {603#(and (exists ((|v_main_#t~nondet3_3| (_ BitVec 32))) (= (bvadd ~SIZE~0 (_ bv4294967295 32)) (bvudiv |v_main_#t~nondet3_3| (_ bv2 32)))) (not (bvult (_ bv0 32) |linear_search_#in~n|)))} is VALID [2018-11-23 11:22:28,920 INFO L268 TraceCheckUtils]: 13: Hoare quadruple {603#(and (exists ((|v_main_#t~nondet3_3| (_ BitVec 32))) (= (bvadd ~SIZE~0 (_ bv4294967295 32)) (bvudiv |v_main_#t~nondet3_3| (_ bv2 32)))) (not (bvult (_ bv0 32) |linear_search_#in~n|)))} {588#(exists ((|v_main_#t~nondet3_3| (_ BitVec 32))) (= (bvadd ~SIZE~0 (_ bv4294967295 32)) (bvudiv |v_main_#t~nondet3_3| (_ bv2 32))))} #57#return; {569#false} is VALID [2018-11-23 11:22:28,920 INFO L256 TraceCheckUtils]: 14: Hoare triple {569#false} call __VERIFIER_assert(#t~ret4); {569#false} is VALID [2018-11-23 11:22:28,921 INFO L273 TraceCheckUtils]: 15: Hoare triple {569#false} ~cond := #in~cond; {569#false} is VALID [2018-11-23 11:22:28,921 INFO L273 TraceCheckUtils]: 16: Hoare triple {569#false} assume 0bv32 == ~cond; {569#false} is VALID [2018-11-23 11:22:28,921 INFO L273 TraceCheckUtils]: 17: Hoare triple {569#false} assume !false; {569#false} is VALID [2018-11-23 11:22:28,923 INFO L134 CoverageAnalysis]: Checked inductivity of 0 backedges. 0 proven. 0 refuted. 0 times theorem prover too weak. 0 trivial. 0 not checked. [2018-11-23 11:22:28,923 INFO L312 TraceCheckSpWp]: Omiting computation of backward sequence because forward sequence was already perfect [2018-11-23 11:22:28,925 INFO L312 seRefinementStrategy]: Constructing automaton from 1 perfect and 0 imperfect interpolant sequences. [2018-11-23 11:22:28,925 INFO L327 seRefinementStrategy]: Number of different interpolants: perfect sequences [6] imperfect sequences [] total 6 [2018-11-23 11:22:28,925 INFO L78 Accepts]: Start accepts. Automaton has 6 states. Word has length 18 [2018-11-23 11:22:28,926 INFO L84 Accepts]: Finished accepts. word is accepted. [2018-11-23 11:22:28,926 INFO L86 InductivityCheck]: Starting indutivity check of a Floyd-Hoare automaton with 6 states. [2018-11-23 11:22:28,963 INFO L119 InductivityCheck]: Floyd-Hoare automaton has 18 edges. 18 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2018-11-23 11:22:28,964 INFO L459 AbstractCegarLoop]: Interpolant automaton has 6 states [2018-11-23 11:22:28,964 INFO L142 InterpolantAutomaton]: Constructing interpolant automaton starting with 6 interpolants. [2018-11-23 11:22:28,964 INFO L144 InterpolantAutomaton]: CoverageRelationStatistics Valid=12, Invalid=18, Unknown=0, NotChecked=0, Total=30 [2018-11-23 11:22:28,965 INFO L87 Difference]: Start difference. First operand 23 states and 26 transitions. Second operand 6 states. [2018-11-23 11:22:29,584 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2018-11-23 11:22:29,585 INFO L93 Difference]: Finished difference Result 37 states and 43 transitions. [2018-11-23 11:22:29,585 INFO L142 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 7 states. [2018-11-23 11:22:29,586 INFO L78 Accepts]: Start accepts. Automaton has 6 states. Word has length 18 [2018-11-23 11:22:29,586 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2018-11-23 11:22:29,587 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 6 states. [2018-11-23 11:22:29,590 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 7 states to 7 states and 43 transitions. [2018-11-23 11:22:29,590 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 6 states. [2018-11-23 11:22:29,593 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 7 states to 7 states and 43 transitions. [2018-11-23 11:22:29,594 INFO L86 InductivityCheck]: Starting indutivity check of a Floyd-Hoare automaton with 7 states and 43 transitions. [2018-11-23 11:22:29,732 INFO L119 InductivityCheck]: Floyd-Hoare automaton has 43 edges. 43 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2018-11-23 11:22:29,734 INFO L225 Difference]: With dead ends: 37 [2018-11-23 11:22:29,734 INFO L226 Difference]: Without dead ends: 23 [2018-11-23 11:22:29,735 INFO L631 BasicCegarLoop]: 0 DeclaredPredicates, 20 GetRequests, 13 SyntacticMatches, 0 SemanticMatches, 7 ConstructedPredicates, 0 IntricatePredicates, 0 DeprecatedPredicates, 2 ImplicationChecksByTransitivity, 0.4s TimeCoverageRelationStatistics Valid=30, Invalid=42, Unknown=0, NotChecked=0, Total=72 [2018-11-23 11:22:29,735 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 23 states. [2018-11-23 11:22:29,757 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 23 to 23. [2018-11-23 11:22:29,758 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2018-11-23 11:22:29,758 INFO L82 GeneralOperation]: Start isEquivalent. First operand 23 states. Second operand 23 states. [2018-11-23 11:22:29,758 INFO L74 IsIncluded]: Start isIncluded. First operand 23 states. Second operand 23 states. [2018-11-23 11:22:29,758 INFO L87 Difference]: Start difference. First operand 23 states. Second operand 23 states. [2018-11-23 11:22:29,760 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2018-11-23 11:22:29,760 INFO L93 Difference]: Finished difference Result 23 states and 25 transitions. [2018-11-23 11:22:29,761 INFO L276 IsEmpty]: Start isEmpty. Operand 23 states and 25 transitions. [2018-11-23 11:22:29,761 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2018-11-23 11:22:29,761 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2018-11-23 11:22:29,762 INFO L74 IsIncluded]: Start isIncluded. First operand 23 states. Second operand 23 states. [2018-11-23 11:22:29,762 INFO L87 Difference]: Start difference. First operand 23 states. Second operand 23 states. [2018-11-23 11:22:29,763 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2018-11-23 11:22:29,764 INFO L93 Difference]: Finished difference Result 23 states and 25 transitions. [2018-11-23 11:22:29,764 INFO L276 IsEmpty]: Start isEmpty. Operand 23 states and 25 transitions. [2018-11-23 11:22:29,764 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2018-11-23 11:22:29,765 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2018-11-23 11:22:29,765 INFO L88 GeneralOperation]: Finished isEquivalent. [2018-11-23 11:22:29,765 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2018-11-23 11:22:29,765 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 23 states. [2018-11-23 11:22:29,767 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 23 states to 23 states and 25 transitions. [2018-11-23 11:22:29,767 INFO L78 Accepts]: Start accepts. Automaton has 23 states and 25 transitions. Word has length 18 [2018-11-23 11:22:29,767 INFO L84 Accepts]: Finished accepts. word is rejected. [2018-11-23 11:22:29,768 INFO L480 AbstractCegarLoop]: Abstraction has 23 states and 25 transitions. [2018-11-23 11:22:29,768 INFO L481 AbstractCegarLoop]: Interpolant automaton has 6 states. [2018-11-23 11:22:29,768 INFO L276 IsEmpty]: Start isEmpty. Operand 23 states and 25 transitions. [2018-11-23 11:22:29,769 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 23 [2018-11-23 11:22:29,769 INFO L394 BasicCegarLoop]: Found error trace [2018-11-23 11:22:29,769 INFO L402 BasicCegarLoop]: trace histogram [2, 2, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1] [2018-11-23 11:22:29,769 INFO L423 AbstractCegarLoop]: === Iteration 5 === [__VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION]=== [2018-11-23 11:22:29,769 INFO L141 PredicateUnifier]: Initialized classic predicate unifier [2018-11-23 11:22:29,770 INFO L82 PathProgramCache]: Analyzing trace with hash -2099516837, now seen corresponding path program 1 times [2018-11-23 11:22:29,770 INFO L223 ckRefinementStrategy]: Switched to mode CVC4_FPBP [2018-11-23 11:22:29,770 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 11:22:29,794 INFO L103 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2018-11-23 11:22:29,822 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2018-11-23 11:22:29,840 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2018-11-23 11:22:29,841 INFO L273 TraceCheckSpWp]: Computing forward predicates... [2018-11-23 11:22:29,928 INFO L256 TraceCheckUtils]: 0: Hoare triple {762#true} call ULTIMATE.init(); {762#true} is VALID [2018-11-23 11:22:29,929 INFO L273 TraceCheckUtils]: 1: Hoare triple {762#true} #NULL.base, #NULL.offset := 0bv32, 0bv32;#valid := #valid[0bv32 := 0bv1];~SIZE~0 := 0bv32; {762#true} is VALID [2018-11-23 11:22:29,929 INFO L273 TraceCheckUtils]: 2: Hoare triple {762#true} assume true; {762#true} is VALID [2018-11-23 11:22:29,930 INFO L268 TraceCheckUtils]: 3: Hoare quadruple {762#true} {762#true} #53#return; {762#true} is VALID [2018-11-23 11:22:29,930 INFO L256 TraceCheckUtils]: 4: Hoare triple {762#true} call #t~ret5 := main(); {762#true} is VALID [2018-11-23 11:22:29,931 INFO L273 TraceCheckUtils]: 5: Hoare triple {762#true} ~SIZE~0 := ~bvadd32(1bv32, ~bvudiv32(#t~nondet3, 2bv32));havoc #t~nondet3;call ~#a~0.base, ~#a~0.offset := #Ultimate.alloc(~bvmul32(4bv32, ~SIZE~0));call write~intINTTYPE4(3bv32, ~#a~0.base, ~bvadd32(~#a~0.offset, ~bvmul32(4bv32, ~bvudiv32(~SIZE~0, 2bv32))), 4bv32); {762#true} is VALID [2018-11-23 11:22:29,931 INFO L256 TraceCheckUtils]: 6: Hoare triple {762#true} call #t~ret4 := linear_search(~#a~0.base, ~#a~0.offset, ~SIZE~0, 3bv32); {762#true} is VALID [2018-11-23 11:22:29,931 INFO L273 TraceCheckUtils]: 7: Hoare triple {762#true} ~a.base, ~a.offset := #in~a.base, #in~a.offset;~n := #in~n;~q := #in~q;~j~0 := 0bv32; {788#(= linear_search_~j~0 (_ bv0 32))} is VALID [2018-11-23 11:22:29,932 INFO L273 TraceCheckUtils]: 8: Hoare triple {788#(= linear_search_~j~0 (_ bv0 32))} #t~short1 := ~bvult32(~j~0, ~n); {788#(= linear_search_~j~0 (_ bv0 32))} is VALID [2018-11-23 11:22:29,932 INFO L273 TraceCheckUtils]: 9: Hoare triple {788#(= linear_search_~j~0 (_ bv0 32))} assume #t~short1;call #t~mem0 := read~intINTTYPE4(~a.base, ~bvadd32(~a.offset, ~bvmul32(4bv32, ~j~0)), 4bv32);#t~short1 := #t~mem0 != ~q; {788#(= linear_search_~j~0 (_ bv0 32))} is VALID [2018-11-23 11:22:29,933 INFO L273 TraceCheckUtils]: 10: Hoare triple {788#(= linear_search_~j~0 (_ bv0 32))} assume !!#t~short1;havoc #t~short1;havoc #t~mem0;#t~post2 := ~j~0;~j~0 := ~bvadd32(1bv32, #t~post2);havoc #t~post2; {798#(= (bvadd linear_search_~j~0 (_ bv4294967295 32)) (_ bv0 32))} is VALID [2018-11-23 11:22:29,934 INFO L273 TraceCheckUtils]: 11: Hoare triple {798#(= (bvadd linear_search_~j~0 (_ bv4294967295 32)) (_ bv0 32))} assume 20bv32 == ~j~0;~j~0 := 4294967295bv32; {763#false} is VALID [2018-11-23 11:22:29,934 INFO L273 TraceCheckUtils]: 12: Hoare triple {763#false} #t~short1 := ~bvult32(~j~0, ~n); {763#false} is VALID [2018-11-23 11:22:29,934 INFO L273 TraceCheckUtils]: 13: Hoare triple {763#false} assume #t~short1;call #t~mem0 := read~intINTTYPE4(~a.base, ~bvadd32(~a.offset, ~bvmul32(4bv32, ~j~0)), 4bv32);#t~short1 := #t~mem0 != ~q; {763#false} is VALID [2018-11-23 11:22:29,935 INFO L273 TraceCheckUtils]: 14: Hoare triple {763#false} assume !#t~short1;havoc #t~short1;havoc #t~mem0; {763#false} is VALID [2018-11-23 11:22:29,935 INFO L273 TraceCheckUtils]: 15: Hoare triple {763#false} assume !~bvult32(~j~0, ~SIZE~0);#res := 0bv32; {763#false} is VALID [2018-11-23 11:22:29,935 INFO L273 TraceCheckUtils]: 16: Hoare triple {763#false} assume true; {763#false} is VALID [2018-11-23 11:22:29,936 INFO L268 TraceCheckUtils]: 17: Hoare quadruple {763#false} {762#true} #57#return; {763#false} is VALID [2018-11-23 11:22:29,936 INFO L256 TraceCheckUtils]: 18: Hoare triple {763#false} call __VERIFIER_assert(#t~ret4); {763#false} is VALID [2018-11-23 11:22:29,937 INFO L273 TraceCheckUtils]: 19: Hoare triple {763#false} ~cond := #in~cond; {763#false} is VALID [2018-11-23 11:22:29,937 INFO L273 TraceCheckUtils]: 20: Hoare triple {763#false} assume 0bv32 == ~cond; {763#false} is VALID [2018-11-23 11:22:29,938 INFO L273 TraceCheckUtils]: 21: Hoare triple {763#false} assume !false; {763#false} is VALID [2018-11-23 11:22:29,939 INFO L134 CoverageAnalysis]: Checked inductivity of 3 backedges. 3 proven. 0 refuted. 0 times theorem prover too weak. 0 trivial. 0 not checked. [2018-11-23 11:22:29,939 INFO L312 TraceCheckSpWp]: Omiting computation of backward sequence because forward sequence was already perfect [2018-11-23 11:22:29,941 INFO L312 seRefinementStrategy]: Constructing automaton from 1 perfect and 0 imperfect interpolant sequences. [2018-11-23 11:22:29,941 INFO L327 seRefinementStrategy]: Number of different interpolants: perfect sequences [4] imperfect sequences [] total 4 [2018-11-23 11:22:29,941 INFO L78 Accepts]: Start accepts. Automaton has 4 states. Word has length 22 [2018-11-23 11:22:29,942 INFO L84 Accepts]: Finished accepts. word is accepted. [2018-11-23 11:22:29,942 INFO L86 InductivityCheck]: Starting indutivity check of a Floyd-Hoare automaton with 4 states. [2018-11-23 11:22:29,971 INFO L119 InductivityCheck]: Floyd-Hoare automaton has 22 edges. 22 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2018-11-23 11:22:29,972 INFO L459 AbstractCegarLoop]: Interpolant automaton has 4 states [2018-11-23 11:22:29,972 INFO L142 InterpolantAutomaton]: Constructing interpolant automaton starting with 4 interpolants. [2018-11-23 11:22:29,972 INFO L144 InterpolantAutomaton]: CoverageRelationStatistics Valid=5, Invalid=7, Unknown=0, NotChecked=0, Total=12 [2018-11-23 11:22:29,973 INFO L87 Difference]: Start difference. First operand 23 states and 25 transitions. Second operand 4 states. [2018-11-23 11:22:30,125 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2018-11-23 11:22:30,126 INFO L93 Difference]: Finished difference Result 42 states and 49 transitions. [2018-11-23 11:22:30,126 INFO L142 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 4 states. [2018-11-23 11:22:30,126 INFO L78 Accepts]: Start accepts. Automaton has 4 states. Word has length 22 [2018-11-23 11:22:30,126 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2018-11-23 11:22:30,126 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 4 states. [2018-11-23 11:22:30,129 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 4 states to 4 states and 49 transitions. [2018-11-23 11:22:30,129 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 4 states. [2018-11-23 11:22:30,132 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 4 states to 4 states and 49 transitions. [2018-11-23 11:22:30,132 INFO L86 InductivityCheck]: Starting indutivity check of a Floyd-Hoare automaton with 4 states and 49 transitions. [2018-11-23 11:22:30,233 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 11:22:30,235 INFO L225 Difference]: With dead ends: 42 [2018-11-23 11:22:30,235 INFO L226 Difference]: Without dead ends: 30 [2018-11-23 11:22:30,236 INFO L631 BasicCegarLoop]: 0 DeclaredPredicates, 21 GetRequests, 19 SyntacticMatches, 0 SemanticMatches, 2 ConstructedPredicates, 0 IntricatePredicates, 0 DeprecatedPredicates, 0 ImplicationChecksByTransitivity, 0.0s TimeCoverageRelationStatistics Valid=5, Invalid=7, Unknown=0, NotChecked=0, Total=12 [2018-11-23 11:22:30,236 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 30 states. [2018-11-23 11:22:30,284 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 30 to 24. [2018-11-23 11:22:30,284 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2018-11-23 11:22:30,284 INFO L82 GeneralOperation]: Start isEquivalent. First operand 30 states. Second operand 24 states. [2018-11-23 11:22:30,284 INFO L74 IsIncluded]: Start isIncluded. First operand 30 states. Second operand 24 states. [2018-11-23 11:22:30,285 INFO L87 Difference]: Start difference. First operand 30 states. Second operand 24 states. [2018-11-23 11:22:30,287 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2018-11-23 11:22:30,287 INFO L93 Difference]: Finished difference Result 30 states and 34 transitions. [2018-11-23 11:22:30,287 INFO L276 IsEmpty]: Start isEmpty. Operand 30 states and 34 transitions. [2018-11-23 11:22:30,288 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2018-11-23 11:22:30,288 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2018-11-23 11:22:30,288 INFO L74 IsIncluded]: Start isIncluded. First operand 24 states. Second operand 30 states. [2018-11-23 11:22:30,288 INFO L87 Difference]: Start difference. First operand 24 states. Second operand 30 states. [2018-11-23 11:22:30,290 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2018-11-23 11:22:30,291 INFO L93 Difference]: Finished difference Result 30 states and 34 transitions. [2018-11-23 11:22:30,291 INFO L276 IsEmpty]: Start isEmpty. Operand 30 states and 34 transitions. [2018-11-23 11:22:30,291 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2018-11-23 11:22:30,292 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2018-11-23 11:22:30,292 INFO L88 GeneralOperation]: Finished isEquivalent. [2018-11-23 11:22:30,292 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2018-11-23 11:22:30,292 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 24 states. [2018-11-23 11:22:30,294 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 24 states to 24 states and 26 transitions. [2018-11-23 11:22:30,294 INFO L78 Accepts]: Start accepts. Automaton has 24 states and 26 transitions. Word has length 22 [2018-11-23 11:22:30,294 INFO L84 Accepts]: Finished accepts. word is rejected. [2018-11-23 11:22:30,294 INFO L480 AbstractCegarLoop]: Abstraction has 24 states and 26 transitions. [2018-11-23 11:22:30,294 INFO L481 AbstractCegarLoop]: Interpolant automaton has 4 states. [2018-11-23 11:22:30,295 INFO L276 IsEmpty]: Start isEmpty. Operand 24 states and 26 transitions. [2018-11-23 11:22:30,295 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 23 [2018-11-23 11:22:30,296 INFO L394 BasicCegarLoop]: Found error trace [2018-11-23 11:22:30,296 INFO L402 BasicCegarLoop]: trace histogram [2, 2, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1] [2018-11-23 11:22:30,296 INFO L423 AbstractCegarLoop]: === Iteration 6 === [__VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION]=== [2018-11-23 11:22:30,296 INFO L141 PredicateUnifier]: Initialized classic predicate unifier [2018-11-23 11:22:30,296 INFO L82 PathProgramCache]: Analyzing trace with hash -1398452259, now seen corresponding path program 1 times [2018-11-23 11:22:30,297 INFO L223 ckRefinementStrategy]: Switched to mode CVC4_FPBP [2018-11-23 11:22:30,297 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 11:22:30,312 INFO L103 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2018-11-23 11:22:30,336 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2018-11-23 11:22:30,350 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2018-11-23 11:22:30,351 INFO L273 TraceCheckSpWp]: Computing forward predicates... [2018-11-23 11:22:30,476 INFO L256 TraceCheckUtils]: 0: Hoare triple {981#true} call ULTIMATE.init(); {981#true} is VALID [2018-11-23 11:22:30,477 INFO L273 TraceCheckUtils]: 1: Hoare triple {981#true} #NULL.base, #NULL.offset := 0bv32, 0bv32;#valid := #valid[0bv32 := 0bv1];~SIZE~0 := 0bv32; {981#true} is VALID [2018-11-23 11:22:30,477 INFO L273 TraceCheckUtils]: 2: Hoare triple {981#true} assume true; {981#true} is VALID [2018-11-23 11:22:30,477 INFO L268 TraceCheckUtils]: 3: Hoare quadruple {981#true} {981#true} #53#return; {981#true} is VALID [2018-11-23 11:22:30,477 INFO L256 TraceCheckUtils]: 4: Hoare triple {981#true} call #t~ret5 := main(); {981#true} is VALID [2018-11-23 11:22:30,478 INFO L273 TraceCheckUtils]: 5: Hoare triple {981#true} ~SIZE~0 := ~bvadd32(1bv32, ~bvudiv32(#t~nondet3, 2bv32));havoc #t~nondet3;call ~#a~0.base, ~#a~0.offset := #Ultimate.alloc(~bvmul32(4bv32, ~SIZE~0));call write~intINTTYPE4(3bv32, ~#a~0.base, ~bvadd32(~#a~0.offset, ~bvmul32(4bv32, ~bvudiv32(~SIZE~0, 2bv32))), 4bv32); {981#true} is VALID [2018-11-23 11:22:30,478 INFO L256 TraceCheckUtils]: 6: Hoare triple {981#true} call #t~ret4 := linear_search(~#a~0.base, ~#a~0.offset, ~SIZE~0, 3bv32); {981#true} is VALID [2018-11-23 11:22:30,479 INFO L273 TraceCheckUtils]: 7: Hoare triple {981#true} ~a.base, ~a.offset := #in~a.base, #in~a.offset;~n := #in~n;~q := #in~q;~j~0 := 0bv32; {1007#(= linear_search_~n |linear_search_#in~n|)} is VALID [2018-11-23 11:22:30,479 INFO L273 TraceCheckUtils]: 8: Hoare triple {1007#(= linear_search_~n |linear_search_#in~n|)} #t~short1 := ~bvult32(~j~0, ~n); {1007#(= linear_search_~n |linear_search_#in~n|)} is VALID [2018-11-23 11:22:30,480 INFO L273 TraceCheckUtils]: 9: Hoare triple {1007#(= linear_search_~n |linear_search_#in~n|)} assume #t~short1;call #t~mem0 := read~intINTTYPE4(~a.base, ~bvadd32(~a.offset, ~bvmul32(4bv32, ~j~0)), 4bv32);#t~short1 := #t~mem0 != ~q; {1007#(= linear_search_~n |linear_search_#in~n|)} is VALID [2018-11-23 11:22:30,480 INFO L273 TraceCheckUtils]: 10: Hoare triple {1007#(= linear_search_~n |linear_search_#in~n|)} assume !!#t~short1;havoc #t~short1;havoc #t~mem0;#t~post2 := ~j~0;~j~0 := ~bvadd32(1bv32, #t~post2);havoc #t~post2; {1007#(= linear_search_~n |linear_search_#in~n|)} is VALID [2018-11-23 11:22:30,481 INFO L273 TraceCheckUtils]: 11: Hoare triple {1007#(= linear_search_~n |linear_search_#in~n|)} assume !(20bv32 == ~j~0); {1007#(= linear_search_~n |linear_search_#in~n|)} is VALID [2018-11-23 11:22:30,486 INFO L273 TraceCheckUtils]: 12: Hoare triple {1007#(= linear_search_~n |linear_search_#in~n|)} #t~short1 := ~bvult32(~j~0, ~n); {1023#(or (and (not (bvult linear_search_~j~0 |linear_search_#in~n|)) (not |linear_search_#t~short1|)) (and (bvult linear_search_~j~0 |linear_search_#in~n|) |linear_search_#t~short1|))} is VALID [2018-11-23 11:22:30,487 INFO L273 TraceCheckUtils]: 13: Hoare triple {1023#(or (and (not (bvult linear_search_~j~0 |linear_search_#in~n|)) (not |linear_search_#t~short1|)) (and (bvult linear_search_~j~0 |linear_search_#in~n|) |linear_search_#t~short1|))} assume #t~short1;call #t~mem0 := read~intINTTYPE4(~a.base, ~bvadd32(~a.offset, ~bvmul32(4bv32, ~j~0)), 4bv32);#t~short1 := #t~mem0 != ~q; {1027#(bvult linear_search_~j~0 |linear_search_#in~n|)} is VALID [2018-11-23 11:22:30,487 INFO L273 TraceCheckUtils]: 14: Hoare triple {1027#(bvult linear_search_~j~0 |linear_search_#in~n|)} assume !#t~short1;havoc #t~short1;havoc #t~mem0; {1027#(bvult linear_search_~j~0 |linear_search_#in~n|)} is VALID [2018-11-23 11:22:30,498 INFO L273 TraceCheckUtils]: 15: Hoare triple {1027#(bvult linear_search_~j~0 |linear_search_#in~n|)} assume !~bvult32(~j~0, ~SIZE~0);#res := 0bv32; {1034#(exists ((linear_search_~j~0 (_ BitVec 32))) (and (not (bvult linear_search_~j~0 ~SIZE~0)) (bvult linear_search_~j~0 |linear_search_#in~n|)))} is VALID [2018-11-23 11:22:30,499 INFO L273 TraceCheckUtils]: 16: Hoare triple {1034#(exists ((linear_search_~j~0 (_ BitVec 32))) (and (not (bvult linear_search_~j~0 ~SIZE~0)) (bvult linear_search_~j~0 |linear_search_#in~n|)))} assume true; {1034#(exists ((linear_search_~j~0 (_ BitVec 32))) (and (not (bvult linear_search_~j~0 ~SIZE~0)) (bvult linear_search_~j~0 |linear_search_#in~n|)))} is VALID [2018-11-23 11:22:30,502 INFO L268 TraceCheckUtils]: 17: Hoare quadruple {1034#(exists ((linear_search_~j~0 (_ BitVec 32))) (and (not (bvult linear_search_~j~0 ~SIZE~0)) (bvult linear_search_~j~0 |linear_search_#in~n|)))} {981#true} #57#return; {982#false} is VALID [2018-11-23 11:22:30,502 INFO L256 TraceCheckUtils]: 18: Hoare triple {982#false} call __VERIFIER_assert(#t~ret4); {982#false} is VALID [2018-11-23 11:22:30,503 INFO L273 TraceCheckUtils]: 19: Hoare triple {982#false} ~cond := #in~cond; {982#false} is VALID [2018-11-23 11:22:30,503 INFO L273 TraceCheckUtils]: 20: Hoare triple {982#false} assume 0bv32 == ~cond; {982#false} is VALID [2018-11-23 11:22:30,503 INFO L273 TraceCheckUtils]: 21: Hoare triple {982#false} assume !false; {982#false} is VALID [2018-11-23 11:22:30,505 INFO L134 CoverageAnalysis]: Checked inductivity of 3 backedges. 0 proven. 2 refuted. 0 times theorem prover too weak. 1 trivial. 0 not checked. [2018-11-23 11:22:30,505 INFO L316 TraceCheckSpWp]: Computing backward predicates... [2018-11-23 11:22:30,767 INFO L273 TraceCheckUtils]: 21: Hoare triple {982#false} assume !false; {982#false} is VALID [2018-11-23 11:22:30,768 INFO L273 TraceCheckUtils]: 20: Hoare triple {982#false} assume 0bv32 == ~cond; {982#false} is VALID [2018-11-23 11:22:30,768 INFO L273 TraceCheckUtils]: 19: Hoare triple {982#false} ~cond := #in~cond; {982#false} is VALID [2018-11-23 11:22:30,768 INFO L256 TraceCheckUtils]: 18: Hoare triple {982#false} call __VERIFIER_assert(#t~ret4); {982#false} is VALID [2018-11-23 11:22:30,770 INFO L268 TraceCheckUtils]: 17: Hoare quadruple {1068#(not (= ~SIZE~0 |linear_search_#in~n|))} {981#true} #57#return; {982#false} is VALID [2018-11-23 11:22:30,771 INFO L273 TraceCheckUtils]: 16: Hoare triple {1068#(not (= ~SIZE~0 |linear_search_#in~n|))} assume true; {1068#(not (= ~SIZE~0 |linear_search_#in~n|))} is VALID [2018-11-23 11:22:30,771 INFO L273 TraceCheckUtils]: 15: Hoare triple {1027#(bvult linear_search_~j~0 |linear_search_#in~n|)} assume !~bvult32(~j~0, ~SIZE~0);#res := 0bv32; {1068#(not (= ~SIZE~0 |linear_search_#in~n|))} is VALID [2018-11-23 11:22:30,787 INFO L273 TraceCheckUtils]: 14: Hoare triple {1027#(bvult linear_search_~j~0 |linear_search_#in~n|)} assume !#t~short1;havoc #t~short1;havoc #t~mem0; {1027#(bvult linear_search_~j~0 |linear_search_#in~n|)} is VALID [2018-11-23 11:22:30,789 INFO L273 TraceCheckUtils]: 13: Hoare triple {1081#(or (not |linear_search_#t~short1|) (bvult linear_search_~j~0 |linear_search_#in~n|))} assume #t~short1;call #t~mem0 := read~intINTTYPE4(~a.base, ~bvadd32(~a.offset, ~bvmul32(4bv32, ~j~0)), 4bv32);#t~short1 := #t~mem0 != ~q; {1027#(bvult linear_search_~j~0 |linear_search_#in~n|)} is VALID [2018-11-23 11:22:30,798 INFO L273 TraceCheckUtils]: 12: Hoare triple {1085#(forall ((linear_search_~j~0 (_ BitVec 32))) (or (not (bvult linear_search_~j~0 linear_search_~n)) (bvult linear_search_~j~0 |linear_search_#in~n|)))} #t~short1 := ~bvult32(~j~0, ~n); {1081#(or (not |linear_search_#t~short1|) (bvult linear_search_~j~0 |linear_search_#in~n|))} is VALID [2018-11-23 11:22:30,799 INFO L273 TraceCheckUtils]: 11: Hoare triple {1085#(forall ((linear_search_~j~0 (_ BitVec 32))) (or (not (bvult linear_search_~j~0 linear_search_~n)) (bvult linear_search_~j~0 |linear_search_#in~n|)))} assume !(20bv32 == ~j~0); {1085#(forall ((linear_search_~j~0 (_ BitVec 32))) (or (not (bvult linear_search_~j~0 linear_search_~n)) (bvult linear_search_~j~0 |linear_search_#in~n|)))} is VALID [2018-11-23 11:22:30,800 INFO L273 TraceCheckUtils]: 10: Hoare triple {1085#(forall ((linear_search_~j~0 (_ BitVec 32))) (or (not (bvult linear_search_~j~0 linear_search_~n)) (bvult linear_search_~j~0 |linear_search_#in~n|)))} assume !!#t~short1;havoc #t~short1;havoc #t~mem0;#t~post2 := ~j~0;~j~0 := ~bvadd32(1bv32, #t~post2);havoc #t~post2; {1085#(forall ((linear_search_~j~0 (_ BitVec 32))) (or (not (bvult linear_search_~j~0 linear_search_~n)) (bvult linear_search_~j~0 |linear_search_#in~n|)))} is VALID [2018-11-23 11:22:30,800 INFO L273 TraceCheckUtils]: 9: Hoare triple {1085#(forall ((linear_search_~j~0 (_ BitVec 32))) (or (not (bvult linear_search_~j~0 linear_search_~n)) (bvult linear_search_~j~0 |linear_search_#in~n|)))} assume #t~short1;call #t~mem0 := read~intINTTYPE4(~a.base, ~bvadd32(~a.offset, ~bvmul32(4bv32, ~j~0)), 4bv32);#t~short1 := #t~mem0 != ~q; {1085#(forall ((linear_search_~j~0 (_ BitVec 32))) (or (not (bvult linear_search_~j~0 linear_search_~n)) (bvult linear_search_~j~0 |linear_search_#in~n|)))} is VALID [2018-11-23 11:22:30,801 INFO L273 TraceCheckUtils]: 8: Hoare triple {1085#(forall ((linear_search_~j~0 (_ BitVec 32))) (or (not (bvult linear_search_~j~0 linear_search_~n)) (bvult linear_search_~j~0 |linear_search_#in~n|)))} #t~short1 := ~bvult32(~j~0, ~n); {1085#(forall ((linear_search_~j~0 (_ BitVec 32))) (or (not (bvult linear_search_~j~0 linear_search_~n)) (bvult linear_search_~j~0 |linear_search_#in~n|)))} is VALID [2018-11-23 11:22:30,805 INFO L273 TraceCheckUtils]: 7: Hoare triple {981#true} ~a.base, ~a.offset := #in~a.base, #in~a.offset;~n := #in~n;~q := #in~q;~j~0 := 0bv32; {1085#(forall ((linear_search_~j~0 (_ BitVec 32))) (or (not (bvult linear_search_~j~0 linear_search_~n)) (bvult linear_search_~j~0 |linear_search_#in~n|)))} is VALID [2018-11-23 11:22:30,805 INFO L256 TraceCheckUtils]: 6: Hoare triple {981#true} call #t~ret4 := linear_search(~#a~0.base, ~#a~0.offset, ~SIZE~0, 3bv32); {981#true} is VALID [2018-11-23 11:22:30,805 INFO L273 TraceCheckUtils]: 5: Hoare triple {981#true} ~SIZE~0 := ~bvadd32(1bv32, ~bvudiv32(#t~nondet3, 2bv32));havoc #t~nondet3;call ~#a~0.base, ~#a~0.offset := #Ultimate.alloc(~bvmul32(4bv32, ~SIZE~0));call write~intINTTYPE4(3bv32, ~#a~0.base, ~bvadd32(~#a~0.offset, ~bvmul32(4bv32, ~bvudiv32(~SIZE~0, 2bv32))), 4bv32); {981#true} is VALID [2018-11-23 11:22:30,806 INFO L256 TraceCheckUtils]: 4: Hoare triple {981#true} call #t~ret5 := main(); {981#true} is VALID [2018-11-23 11:22:30,806 INFO L268 TraceCheckUtils]: 3: Hoare quadruple {981#true} {981#true} #53#return; {981#true} is VALID [2018-11-23 11:22:30,806 INFO L273 TraceCheckUtils]: 2: Hoare triple {981#true} assume true; {981#true} is VALID [2018-11-23 11:22:30,806 INFO L273 TraceCheckUtils]: 1: Hoare triple {981#true} #NULL.base, #NULL.offset := 0bv32, 0bv32;#valid := #valid[0bv32 := 0bv1];~SIZE~0 := 0bv32; {981#true} is VALID [2018-11-23 11:22:30,807 INFO L256 TraceCheckUtils]: 0: Hoare triple {981#true} call ULTIMATE.init(); {981#true} is VALID [2018-11-23 11:22:30,808 INFO L134 CoverageAnalysis]: Checked inductivity of 3 backedges. 0 proven. 2 refuted. 0 times theorem prover too weak. 1 trivial. 0 not checked. [2018-11-23 11:22:30,811 INFO L312 seRefinementStrategy]: Constructing automaton from 0 perfect and 2 imperfect interpolant sequences. [2018-11-23 11:22:30,811 INFO L327 seRefinementStrategy]: Number of different interpolants: perfect sequences [] imperfect sequences [6, 6] total 9 [2018-11-23 11:22:30,812 INFO L78 Accepts]: Start accepts. Automaton has 9 states. Word has length 22 [2018-11-23 11:22:30,812 INFO L84 Accepts]: Finished accepts. word is accepted. [2018-11-23 11:22:30,818 INFO L86 InductivityCheck]: Starting indutivity check of a Floyd-Hoare automaton with 9 states. [2018-11-23 11:22:30,935 INFO L119 InductivityCheck]: Floyd-Hoare automaton has 32 edges. 32 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2018-11-23 11:22:30,935 INFO L459 AbstractCegarLoop]: Interpolant automaton has 9 states [2018-11-23 11:22:30,935 INFO L142 InterpolantAutomaton]: Constructing interpolant automaton starting with 9 interpolants. [2018-11-23 11:22:30,935 INFO L144 InterpolantAutomaton]: CoverageRelationStatistics Valid=19, Invalid=53, Unknown=0, NotChecked=0, Total=72 [2018-11-23 11:22:30,936 INFO L87 Difference]: Start difference. First operand 24 states and 26 transitions. Second operand 9 states. [2018-11-23 11:22:31,453 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2018-11-23 11:22:31,453 INFO L93 Difference]: Finished difference Result 33 states and 35 transitions. [2018-11-23 11:22:31,454 INFO L142 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 6 states. [2018-11-23 11:22:31,454 INFO L78 Accepts]: Start accepts. Automaton has 9 states. Word has length 22 [2018-11-23 11:22:31,454 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2018-11-23 11:22:31,454 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 9 states. [2018-11-23 11:22:31,456 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 6 states to 6 states and 31 transitions. [2018-11-23 11:22:31,456 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 9 states. [2018-11-23 11:22:31,458 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 6 states to 6 states and 31 transitions. [2018-11-23 11:22:31,458 INFO L86 InductivityCheck]: Starting indutivity check of a Floyd-Hoare automaton with 6 states and 31 transitions. [2018-11-23 11:22:31,544 INFO L119 InductivityCheck]: Floyd-Hoare automaton has 31 edges. 31 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2018-11-23 11:22:31,545 INFO L225 Difference]: With dead ends: 33 [2018-11-23 11:22:31,545 INFO L226 Difference]: Without dead ends: 25 [2018-11-23 11:22:31,546 INFO L631 BasicCegarLoop]: 0 DeclaredPredicates, 46 GetRequests, 36 SyntacticMatches, 0 SemanticMatches, 10 ConstructedPredicates, 0 IntricatePredicates, 0 DeprecatedPredicates, 5 ImplicationChecksByTransitivity, 0.1s TimeCoverageRelationStatistics Valid=40, Invalid=92, Unknown=0, NotChecked=0, Total=132 [2018-11-23 11:22:31,546 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 25 states. [2018-11-23 11:22:31,577 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 25 to 25. [2018-11-23 11:22:31,577 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2018-11-23 11:22:31,578 INFO L82 GeneralOperation]: Start isEquivalent. First operand 25 states. Second operand 25 states. [2018-11-23 11:22:31,578 INFO L74 IsIncluded]: Start isIncluded. First operand 25 states. Second operand 25 states. [2018-11-23 11:22:31,578 INFO L87 Difference]: Start difference. First operand 25 states. Second operand 25 states. [2018-11-23 11:22:31,579 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2018-11-23 11:22:31,579 INFO L93 Difference]: Finished difference Result 25 states and 27 transitions. [2018-11-23 11:22:31,580 INFO L276 IsEmpty]: Start isEmpty. Operand 25 states and 27 transitions. [2018-11-23 11:22:31,580 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2018-11-23 11:22:31,580 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2018-11-23 11:22:31,581 INFO L74 IsIncluded]: Start isIncluded. First operand 25 states. Second operand 25 states. [2018-11-23 11:22:31,581 INFO L87 Difference]: Start difference. First operand 25 states. Second operand 25 states. [2018-11-23 11:22:31,582 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2018-11-23 11:22:31,582 INFO L93 Difference]: Finished difference Result 25 states and 27 transitions. [2018-11-23 11:22:31,583 INFO L276 IsEmpty]: Start isEmpty. Operand 25 states and 27 transitions. [2018-11-23 11:22:31,583 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2018-11-23 11:22:31,583 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2018-11-23 11:22:31,583 INFO L88 GeneralOperation]: Finished isEquivalent. [2018-11-23 11:22:31,584 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2018-11-23 11:22:31,584 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 25 states. [2018-11-23 11:22:31,585 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 25 states to 25 states and 27 transitions. [2018-11-23 11:22:31,585 INFO L78 Accepts]: Start accepts. Automaton has 25 states and 27 transitions. Word has length 22 [2018-11-23 11:22:31,585 INFO L84 Accepts]: Finished accepts. word is rejected. [2018-11-23 11:22:31,585 INFO L480 AbstractCegarLoop]: Abstraction has 25 states and 27 transitions. [2018-11-23 11:22:31,585 INFO L481 AbstractCegarLoop]: Interpolant automaton has 9 states. [2018-11-23 11:22:31,586 INFO L276 IsEmpty]: Start isEmpty. Operand 25 states and 27 transitions. [2018-11-23 11:22:31,586 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 23 [2018-11-23 11:22:31,586 INFO L394 BasicCegarLoop]: Found error trace [2018-11-23 11:22:31,587 INFO L402 BasicCegarLoop]: trace histogram [2, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1] [2018-11-23 11:22:31,587 INFO L423 AbstractCegarLoop]: === Iteration 7 === [__VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION]=== [2018-11-23 11:22:31,587 INFO L141 PredicateUnifier]: Initialized classic predicate unifier [2018-11-23 11:22:31,587 INFO L82 PathProgramCache]: Analyzing trace with hash -718393889, now seen corresponding path program 1 times [2018-11-23 11:22:31,588 INFO L223 ckRefinementStrategy]: Switched to mode CVC4_FPBP [2018-11-23 11:22:31,588 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 11:22:31,604 INFO L103 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2018-11-23 11:22:31,639 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2018-11-23 11:22:31,656 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2018-11-23 11:22:31,659 INFO L273 TraceCheckSpWp]: Computing forward predicates... [2018-11-23 11:22:31,733 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 17 treesize of output 14 [2018-11-23 11:22:31,745 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 14 treesize of output 13 [2018-11-23 11:22:31,748 INFO L267 ElimStorePlain]: Start of recursive call 3: End of recursive call: and 1 xjuncts. [2018-11-23 11:22:31,754 INFO L267 ElimStorePlain]: Start of recursive call 2: 1 dim-1 vars, End of recursive call: and 1 xjuncts. [2018-11-23 11:22:31,770 INFO L267 ElimStorePlain]: Start of recursive call 1: 1 dim-2 vars, End of recursive call: and 1 xjuncts. [2018-11-23 11:22:31,770 INFO L202 ElimStorePlain]: Needed 3 recursive calls to eliminate 1 variables, input treesize:21, output treesize:17 [2018-11-23 11:22:32,584 INFO L256 TraceCheckUtils]: 0: Hoare triple {1257#true} call ULTIMATE.init(); {1257#true} is VALID [2018-11-23 11:22:32,584 INFO L273 TraceCheckUtils]: 1: Hoare triple {1257#true} #NULL.base, #NULL.offset := 0bv32, 0bv32;#valid := #valid[0bv32 := 0bv1];~SIZE~0 := 0bv32; {1257#true} is VALID [2018-11-23 11:22:32,584 INFO L273 TraceCheckUtils]: 2: Hoare triple {1257#true} assume true; {1257#true} is VALID [2018-11-23 11:22:32,585 INFO L268 TraceCheckUtils]: 3: Hoare quadruple {1257#true} {1257#true} #53#return; {1257#true} is VALID [2018-11-23 11:22:32,585 INFO L256 TraceCheckUtils]: 4: Hoare triple {1257#true} call #t~ret5 := main(); {1257#true} is VALID [2018-11-23 11:22:32,589 INFO L273 TraceCheckUtils]: 5: Hoare triple {1257#true} ~SIZE~0 := ~bvadd32(1bv32, ~bvudiv32(#t~nondet3, 2bv32));havoc #t~nondet3;call ~#a~0.base, ~#a~0.offset := #Ultimate.alloc(~bvmul32(4bv32, ~SIZE~0));call write~intINTTYPE4(3bv32, ~#a~0.base, ~bvadd32(~#a~0.offset, ~bvmul32(4bv32, ~bvudiv32(~SIZE~0, 2bv32))), 4bv32); {1277#(and (= |main_~#a~0.offset| (_ bv0 32)) (= (_ bv3 32) (select (select |#memory_int| |main_~#a~0.base|) (bvadd (bvmul (_ bv4 32) (bvudiv ~SIZE~0 (_ bv2 32))) |main_~#a~0.offset|))))} is VALID [2018-11-23 11:22:32,591 INFO L256 TraceCheckUtils]: 6: Hoare triple {1277#(and (= |main_~#a~0.offset| (_ bv0 32)) (= (_ bv3 32) (select (select |#memory_int| |main_~#a~0.base|) (bvadd (bvmul (_ bv4 32) (bvudiv ~SIZE~0 (_ bv2 32))) |main_~#a~0.offset|))))} call #t~ret4 := linear_search(~#a~0.base, ~#a~0.offset, ~SIZE~0, 3bv32); {1281#(exists ((|v_main_~#a~0.base_BEFORE_CALL_1| (_ BitVec 32))) (= (_ bv3 32) (select (select |#memory_int| |v_main_~#a~0.base_BEFORE_CALL_1|) (bvmul (_ bv4 32) (bvudiv ~SIZE~0 (_ bv2 32))))))} is VALID [2018-11-23 11:22:32,593 INFO L273 TraceCheckUtils]: 7: Hoare triple {1281#(exists ((|v_main_~#a~0.base_BEFORE_CALL_1| (_ BitVec 32))) (= (_ bv3 32) (select (select |#memory_int| |v_main_~#a~0.base_BEFORE_CALL_1|) (bvmul (_ bv4 32) (bvudiv ~SIZE~0 (_ bv2 32))))))} ~a.base, ~a.offset := #in~a.base, #in~a.offset;~n := #in~n;~q := #in~q;~j~0 := 0bv32; {1285#(and (= linear_search_~n |linear_search_#in~n|) (= linear_search_~q |linear_search_#in~q|) (= linear_search_~j~0 (_ bv0 32)) (exists ((|v_main_~#a~0.base_BEFORE_CALL_1| (_ BitVec 32))) (= (_ bv3 32) (select (select |#memory_int| |v_main_~#a~0.base_BEFORE_CALL_1|) (bvmul (_ bv4 32) (bvudiv ~SIZE~0 (_ bv2 32)))))) (= linear_search_~a.offset |linear_search_#in~a.offset|) (= |linear_search_#in~a.base| linear_search_~a.base))} is VALID [2018-11-23 11:22:32,594 INFO L273 TraceCheckUtils]: 8: Hoare triple {1285#(and (= linear_search_~n |linear_search_#in~n|) (= linear_search_~q |linear_search_#in~q|) (= linear_search_~j~0 (_ bv0 32)) (exists ((|v_main_~#a~0.base_BEFORE_CALL_1| (_ BitVec 32))) (= (_ bv3 32) (select (select |#memory_int| |v_main_~#a~0.base_BEFORE_CALL_1|) (bvmul (_ bv4 32) (bvudiv ~SIZE~0 (_ bv2 32)))))) (= linear_search_~a.offset |linear_search_#in~a.offset|) (= |linear_search_#in~a.base| linear_search_~a.base))} #t~short1 := ~bvult32(~j~0, ~n); {1285#(and (= linear_search_~n |linear_search_#in~n|) (= linear_search_~q |linear_search_#in~q|) (= linear_search_~j~0 (_ bv0 32)) (exists ((|v_main_~#a~0.base_BEFORE_CALL_1| (_ BitVec 32))) (= (_ bv3 32) (select (select |#memory_int| |v_main_~#a~0.base_BEFORE_CALL_1|) (bvmul (_ bv4 32) (bvudiv ~SIZE~0 (_ bv2 32)))))) (= linear_search_~a.offset |linear_search_#in~a.offset|) (= |linear_search_#in~a.base| linear_search_~a.base))} is VALID [2018-11-23 11:22:32,598 INFO L273 TraceCheckUtils]: 9: Hoare triple {1285#(and (= linear_search_~n |linear_search_#in~n|) (= linear_search_~q |linear_search_#in~q|) (= linear_search_~j~0 (_ bv0 32)) (exists ((|v_main_~#a~0.base_BEFORE_CALL_1| (_ BitVec 32))) (= (_ bv3 32) (select (select |#memory_int| |v_main_~#a~0.base_BEFORE_CALL_1|) (bvmul (_ bv4 32) (bvudiv ~SIZE~0 (_ bv2 32)))))) (= linear_search_~a.offset |linear_search_#in~a.offset|) (= |linear_search_#in~a.base| linear_search_~a.base))} assume #t~short1;call #t~mem0 := read~intINTTYPE4(~a.base, ~bvadd32(~a.offset, ~bvmul32(4bv32, ~j~0)), 4bv32);#t~short1 := #t~mem0 != ~q; {1292#(or (and (not (= (select (select |#memory_int| |linear_search_#in~a.base|) (bvadd |linear_search_#in~a.offset| (bvmul (_ bv4 32) linear_search_~j~0))) |linear_search_#in~q|)) (= linear_search_~n |linear_search_#in~n|) (= linear_search_~j~0 (_ bv0 32)) (exists ((|v_main_~#a~0.base_BEFORE_CALL_1| (_ BitVec 32))) (= (_ bv3 32) (select (select |#memory_int| |v_main_~#a~0.base_BEFORE_CALL_1|) (bvmul (_ bv4 32) (bvudiv ~SIZE~0 (_ bv2 32)))))) |linear_search_#t~short1|) (and (= linear_search_~n |linear_search_#in~n|) (not |linear_search_#t~short1|) (= linear_search_~j~0 (_ bv0 32)) (exists ((|v_main_~#a~0.base_BEFORE_CALL_1| (_ BitVec 32))) (= (_ bv3 32) (select (select |#memory_int| |v_main_~#a~0.base_BEFORE_CALL_1|) (bvmul (_ bv4 32) (bvudiv ~SIZE~0 (_ bv2 32)))))) (= (select (select |#memory_int| |linear_search_#in~a.base|) (bvadd |linear_search_#in~a.offset| (bvmul (_ bv4 32) linear_search_~j~0))) |linear_search_#in~q|)))} is VALID [2018-11-23 11:22:33,238 INFO L273 TraceCheckUtils]: 10: Hoare triple {1292#(or (and (not (= (select (select |#memory_int| |linear_search_#in~a.base|) (bvadd |linear_search_#in~a.offset| (bvmul (_ bv4 32) linear_search_~j~0))) |linear_search_#in~q|)) (= linear_search_~n |linear_search_#in~n|) (= linear_search_~j~0 (_ bv0 32)) (exists ((|v_main_~#a~0.base_BEFORE_CALL_1| (_ BitVec 32))) (= (_ bv3 32) (select (select |#memory_int| |v_main_~#a~0.base_BEFORE_CALL_1|) (bvmul (_ bv4 32) (bvudiv ~SIZE~0 (_ bv2 32)))))) |linear_search_#t~short1|) (and (= linear_search_~n |linear_search_#in~n|) (not |linear_search_#t~short1|) (= linear_search_~j~0 (_ bv0 32)) (exists ((|v_main_~#a~0.base_BEFORE_CALL_1| (_ BitVec 32))) (= (_ bv3 32) (select (select |#memory_int| |v_main_~#a~0.base_BEFORE_CALL_1|) (bvmul (_ bv4 32) (bvudiv ~SIZE~0 (_ bv2 32)))))) (= (select (select |#memory_int| |linear_search_#in~a.base|) (bvadd |linear_search_#in~a.offset| (bvmul (_ bv4 32) linear_search_~j~0))) |linear_search_#in~q|)))} assume !!#t~short1;havoc #t~short1;havoc #t~mem0;#t~post2 := ~j~0;~j~0 := ~bvadd32(1bv32, #t~post2);havoc #t~post2; {1296#(and (= linear_search_~n |linear_search_#in~n|) (not (= (select (select |#memory_int| |linear_search_#in~a.base|) (bvadd |linear_search_#in~a.offset| (bvmul (_ bv4 32) linear_search_~j~0) (_ bv4294967292 32))) |linear_search_#in~q|)) (= (_ bv1 32) linear_search_~j~0) (exists ((|v_main_~#a~0.base_BEFORE_CALL_1| (_ BitVec 32))) (= (_ bv3 32) (select (select |#memory_int| |v_main_~#a~0.base_BEFORE_CALL_1|) (bvmul (_ bv4 32) (bvudiv ~SIZE~0 (_ bv2 32)))))))} is VALID [2018-11-23 11:22:33,240 INFO L273 TraceCheckUtils]: 11: Hoare triple {1296#(and (= linear_search_~n |linear_search_#in~n|) (not (= (select (select |#memory_int| |linear_search_#in~a.base|) (bvadd |linear_search_#in~a.offset| (bvmul (_ bv4 32) linear_search_~j~0) (_ bv4294967292 32))) |linear_search_#in~q|)) (= (_ bv1 32) linear_search_~j~0) (exists ((|v_main_~#a~0.base_BEFORE_CALL_1| (_ BitVec 32))) (= (_ bv3 32) (select (select |#memory_int| |v_main_~#a~0.base_BEFORE_CALL_1|) (bvmul (_ bv4 32) (bvudiv ~SIZE~0 (_ bv2 32)))))))} assume !(20bv32 == ~j~0); {1296#(and (= linear_search_~n |linear_search_#in~n|) (not (= (select (select |#memory_int| |linear_search_#in~a.base|) (bvadd |linear_search_#in~a.offset| (bvmul (_ bv4 32) linear_search_~j~0) (_ bv4294967292 32))) |linear_search_#in~q|)) (= (_ bv1 32) linear_search_~j~0) (exists ((|v_main_~#a~0.base_BEFORE_CALL_1| (_ BitVec 32))) (= (_ bv3 32) (select (select |#memory_int| |v_main_~#a~0.base_BEFORE_CALL_1|) (bvmul (_ bv4 32) (bvudiv ~SIZE~0 (_ bv2 32)))))))} is VALID [2018-11-23 11:22:33,242 INFO L273 TraceCheckUtils]: 12: Hoare triple {1296#(and (= linear_search_~n |linear_search_#in~n|) (not (= (select (select |#memory_int| |linear_search_#in~a.base|) (bvadd |linear_search_#in~a.offset| (bvmul (_ bv4 32) linear_search_~j~0) (_ bv4294967292 32))) |linear_search_#in~q|)) (= (_ bv1 32) linear_search_~j~0) (exists ((|v_main_~#a~0.base_BEFORE_CALL_1| (_ BitVec 32))) (= (_ bv3 32) (select (select |#memory_int| |v_main_~#a~0.base_BEFORE_CALL_1|) (bvmul (_ bv4 32) (bvudiv ~SIZE~0 (_ bv2 32)))))))} #t~short1 := ~bvult32(~j~0, ~n); {1303#(or (and (not (bvult (_ bv1 32) |linear_search_#in~n|)) (not |linear_search_#t~short1|) (not (= (select (select |#memory_int| |linear_search_#in~a.base|) |linear_search_#in~a.offset|) |linear_search_#in~q|)) (exists ((|v_main_~#a~0.base_BEFORE_CALL_1| (_ BitVec 32))) (= (_ bv3 32) (select (select |#memory_int| |v_main_~#a~0.base_BEFORE_CALL_1|) (bvmul (_ bv4 32) (bvudiv ~SIZE~0 (_ bv2 32))))))) (and (not (= (select (select |#memory_int| |linear_search_#in~a.base|) |linear_search_#in~a.offset|) |linear_search_#in~q|)) (exists ((|v_main_~#a~0.base_BEFORE_CALL_1| (_ BitVec 32))) (= (_ bv3 32) (select (select |#memory_int| |v_main_~#a~0.base_BEFORE_CALL_1|) (bvmul (_ bv4 32) (bvudiv ~SIZE~0 (_ bv2 32)))))) (bvult (_ bv1 32) |linear_search_#in~n|) |linear_search_#t~short1|))} is VALID [2018-11-23 11:22:33,243 INFO L273 TraceCheckUtils]: 13: Hoare triple {1303#(or (and (not (bvult (_ bv1 32) |linear_search_#in~n|)) (not |linear_search_#t~short1|) (not (= (select (select |#memory_int| |linear_search_#in~a.base|) |linear_search_#in~a.offset|) |linear_search_#in~q|)) (exists ((|v_main_~#a~0.base_BEFORE_CALL_1| (_ BitVec 32))) (= (_ bv3 32) (select (select |#memory_int| |v_main_~#a~0.base_BEFORE_CALL_1|) (bvmul (_ bv4 32) (bvudiv ~SIZE~0 (_ bv2 32))))))) (and (not (= (select (select |#memory_int| |linear_search_#in~a.base|) |linear_search_#in~a.offset|) |linear_search_#in~q|)) (exists ((|v_main_~#a~0.base_BEFORE_CALL_1| (_ BitVec 32))) (= (_ bv3 32) (select (select |#memory_int| |v_main_~#a~0.base_BEFORE_CALL_1|) (bvmul (_ bv4 32) (bvudiv ~SIZE~0 (_ bv2 32)))))) (bvult (_ bv1 32) |linear_search_#in~n|) |linear_search_#t~short1|))} assume !#t~short1; {1307#(and (not (bvult (_ bv1 32) |linear_search_#in~n|)) (not (= (select (select |#memory_int| |linear_search_#in~a.base|) |linear_search_#in~a.offset|) |linear_search_#in~q|)) (exists ((|v_main_~#a~0.base_BEFORE_CALL_1| (_ BitVec 32))) (= (_ bv3 32) (select (select |#memory_int| |v_main_~#a~0.base_BEFORE_CALL_1|) (bvmul (_ bv4 32) (bvudiv ~SIZE~0 (_ bv2 32)))))))} is VALID [2018-11-23 11:22:33,264 INFO L273 TraceCheckUtils]: 14: Hoare triple {1307#(and (not (bvult (_ bv1 32) |linear_search_#in~n|)) (not (= (select (select |#memory_int| |linear_search_#in~a.base|) |linear_search_#in~a.offset|) |linear_search_#in~q|)) (exists ((|v_main_~#a~0.base_BEFORE_CALL_1| (_ BitVec 32))) (= (_ bv3 32) (select (select |#memory_int| |v_main_~#a~0.base_BEFORE_CALL_1|) (bvmul (_ bv4 32) (bvudiv ~SIZE~0 (_ bv2 32)))))))} assume !#t~short1;havoc #t~short1;havoc #t~mem0; {1307#(and (not (bvult (_ bv1 32) |linear_search_#in~n|)) (not (= (select (select |#memory_int| |linear_search_#in~a.base|) |linear_search_#in~a.offset|) |linear_search_#in~q|)) (exists ((|v_main_~#a~0.base_BEFORE_CALL_1| (_ BitVec 32))) (= (_ bv3 32) (select (select |#memory_int| |v_main_~#a~0.base_BEFORE_CALL_1|) (bvmul (_ bv4 32) (bvudiv ~SIZE~0 (_ bv2 32)))))))} is VALID [2018-11-23 11:22:33,278 INFO L273 TraceCheckUtils]: 15: Hoare triple {1307#(and (not (bvult (_ bv1 32) |linear_search_#in~n|)) (not (= (select (select |#memory_int| |linear_search_#in~a.base|) |linear_search_#in~a.offset|) |linear_search_#in~q|)) (exists ((|v_main_~#a~0.base_BEFORE_CALL_1| (_ BitVec 32))) (= (_ bv3 32) (select (select |#memory_int| |v_main_~#a~0.base_BEFORE_CALL_1|) (bvmul (_ bv4 32) (bvudiv ~SIZE~0 (_ bv2 32)))))))} assume !~bvult32(~j~0, ~SIZE~0);#res := 0bv32; {1307#(and (not (bvult (_ bv1 32) |linear_search_#in~n|)) (not (= (select (select |#memory_int| |linear_search_#in~a.base|) |linear_search_#in~a.offset|) |linear_search_#in~q|)) (exists ((|v_main_~#a~0.base_BEFORE_CALL_1| (_ BitVec 32))) (= (_ bv3 32) (select (select |#memory_int| |v_main_~#a~0.base_BEFORE_CALL_1|) (bvmul (_ bv4 32) (bvudiv ~SIZE~0 (_ bv2 32)))))))} is VALID [2018-11-23 11:22:33,283 INFO L273 TraceCheckUtils]: 16: Hoare triple {1307#(and (not (bvult (_ bv1 32) |linear_search_#in~n|)) (not (= (select (select |#memory_int| |linear_search_#in~a.base|) |linear_search_#in~a.offset|) |linear_search_#in~q|)) (exists ((|v_main_~#a~0.base_BEFORE_CALL_1| (_ BitVec 32))) (= (_ bv3 32) (select (select |#memory_int| |v_main_~#a~0.base_BEFORE_CALL_1|) (bvmul (_ bv4 32) (bvudiv ~SIZE~0 (_ bv2 32)))))))} assume true; {1307#(and (not (bvult (_ bv1 32) |linear_search_#in~n|)) (not (= (select (select |#memory_int| |linear_search_#in~a.base|) |linear_search_#in~a.offset|) |linear_search_#in~q|)) (exists ((|v_main_~#a~0.base_BEFORE_CALL_1| (_ BitVec 32))) (= (_ bv3 32) (select (select |#memory_int| |v_main_~#a~0.base_BEFORE_CALL_1|) (bvmul (_ bv4 32) (bvudiv ~SIZE~0 (_ bv2 32)))))))} is VALID [2018-11-23 11:22:33,286 INFO L268 TraceCheckUtils]: 17: Hoare quadruple {1307#(and (not (bvult (_ bv1 32) |linear_search_#in~n|)) (not (= (select (select |#memory_int| |linear_search_#in~a.base|) |linear_search_#in~a.offset|) |linear_search_#in~q|)) (exists ((|v_main_~#a~0.base_BEFORE_CALL_1| (_ BitVec 32))) (= (_ bv3 32) (select (select |#memory_int| |v_main_~#a~0.base_BEFORE_CALL_1|) (bvmul (_ bv4 32) (bvudiv ~SIZE~0 (_ bv2 32)))))))} {1277#(and (= |main_~#a~0.offset| (_ bv0 32)) (= (_ bv3 32) (select (select |#memory_int| |main_~#a~0.base|) (bvadd (bvmul (_ bv4 32) (bvudiv ~SIZE~0 (_ bv2 32))) |main_~#a~0.offset|))))} #57#return; {1258#false} is VALID [2018-11-23 11:22:33,286 INFO L256 TraceCheckUtils]: 18: Hoare triple {1258#false} call __VERIFIER_assert(#t~ret4); {1258#false} is VALID [2018-11-23 11:22:33,286 INFO L273 TraceCheckUtils]: 19: Hoare triple {1258#false} ~cond := #in~cond; {1258#false} is VALID [2018-11-23 11:22:33,286 INFO L273 TraceCheckUtils]: 20: Hoare triple {1258#false} assume 0bv32 == ~cond; {1258#false} is VALID [2018-11-23 11:22:33,287 INFO L273 TraceCheckUtils]: 21: Hoare triple {1258#false} assume !false; {1258#false} is VALID [2018-11-23 11:22:33,290 INFO L134 CoverageAnalysis]: Checked inductivity of 3 backedges. 0 proven. 3 refuted. 0 times theorem prover too weak. 0 trivial. 0 not checked. [2018-11-23 11:22:33,290 INFO L316 TraceCheckSpWp]: Computing backward predicates... [2018-11-23 11:22:33,447 WARN L180 SmtUtils]: Spent 149.00 ms on a formula simplification. DAG size of input: 42 DAG size of output: 35 [2018-11-23 11:22:34,882 INFO L273 TraceCheckUtils]: 21: Hoare triple {1258#false} assume !false; {1258#false} is VALID [2018-11-23 11:22:34,882 INFO L273 TraceCheckUtils]: 20: Hoare triple {1258#false} assume 0bv32 == ~cond; {1258#false} is VALID [2018-11-23 11:22:34,882 INFO L273 TraceCheckUtils]: 19: Hoare triple {1258#false} ~cond := #in~cond; {1258#false} is VALID [2018-11-23 11:22:34,883 INFO L256 TraceCheckUtils]: 18: Hoare triple {1258#false} call __VERIFIER_assert(#t~ret4); {1258#false} is VALID [2018-11-23 11:22:34,884 INFO L268 TraceCheckUtils]: 17: Hoare quadruple {1348#(or (not (= ~SIZE~0 |linear_search_#in~n|)) (and (not (= (_ bv3 32) (select (select |#memory_int| |linear_search_#in~a.base|) |linear_search_#in~a.offset|))) (not (bvult (_ bv1 32) ~SIZE~0))) (not (= (_ bv3 32) |linear_search_#in~q|)))} {1344#(or (= (bvadd (select (select |#memory_int| |main_~#a~0.base|) |main_~#a~0.offset|) (_ bv4294967293 32)) (_ bv0 32)) (bvult (_ bv1 32) ~SIZE~0))} #57#return; {1258#false} is VALID [2018-11-23 11:22:34,885 INFO L273 TraceCheckUtils]: 16: Hoare triple {1348#(or (not (= ~SIZE~0 |linear_search_#in~n|)) (and (not (= (_ bv3 32) (select (select |#memory_int| |linear_search_#in~a.base|) |linear_search_#in~a.offset|))) (not (bvult (_ bv1 32) ~SIZE~0))) (not (= (_ bv3 32) |linear_search_#in~q|)))} assume true; {1348#(or (not (= ~SIZE~0 |linear_search_#in~n|)) (and (not (= (_ bv3 32) (select (select |#memory_int| |linear_search_#in~a.base|) |linear_search_#in~a.offset|))) (not (bvult (_ bv1 32) ~SIZE~0))) (not (= (_ bv3 32) |linear_search_#in~q|)))} is VALID [2018-11-23 11:22:34,885 INFO L273 TraceCheckUtils]: 15: Hoare triple {1348#(or (not (= ~SIZE~0 |linear_search_#in~n|)) (and (not (= (_ bv3 32) (select (select |#memory_int| |linear_search_#in~a.base|) |linear_search_#in~a.offset|))) (not (bvult (_ bv1 32) ~SIZE~0))) (not (= (_ bv3 32) |linear_search_#in~q|)))} assume !~bvult32(~j~0, ~SIZE~0);#res := 0bv32; {1348#(or (not (= ~SIZE~0 |linear_search_#in~n|)) (and (not (= (_ bv3 32) (select (select |#memory_int| |linear_search_#in~a.base|) |linear_search_#in~a.offset|))) (not (bvult (_ bv1 32) ~SIZE~0))) (not (= (_ bv3 32) |linear_search_#in~q|)))} is VALID [2018-11-23 11:22:34,886 INFO L273 TraceCheckUtils]: 14: Hoare triple {1348#(or (not (= ~SIZE~0 |linear_search_#in~n|)) (and (not (= (_ bv3 32) (select (select |#memory_int| |linear_search_#in~a.base|) |linear_search_#in~a.offset|))) (not (bvult (_ bv1 32) ~SIZE~0))) (not (= (_ bv3 32) |linear_search_#in~q|)))} assume !#t~short1;havoc #t~short1;havoc #t~mem0; {1348#(or (not (= ~SIZE~0 |linear_search_#in~n|)) (and (not (= (_ bv3 32) (select (select |#memory_int| |linear_search_#in~a.base|) |linear_search_#in~a.offset|))) (not (bvult (_ bv1 32) ~SIZE~0))) (not (= (_ bv3 32) |linear_search_#in~q|)))} is VALID [2018-11-23 11:22:34,886 INFO L273 TraceCheckUtils]: 13: Hoare triple {1361#(or (not (= ~SIZE~0 |linear_search_#in~n|)) (and (not (= (_ bv3 32) (select (select |#memory_int| |linear_search_#in~a.base|) |linear_search_#in~a.offset|))) (not (bvult (_ bv1 32) ~SIZE~0))) (not (= (_ bv3 32) |linear_search_#in~q|)) |linear_search_#t~short1|)} assume !#t~short1; {1348#(or (not (= ~SIZE~0 |linear_search_#in~n|)) (and (not (= (_ bv3 32) (select (select |#memory_int| |linear_search_#in~a.base|) |linear_search_#in~a.offset|))) (not (bvult (_ bv1 32) ~SIZE~0))) (not (= (_ bv3 32) |linear_search_#in~q|)))} is VALID [2018-11-23 11:22:34,888 INFO L273 TraceCheckUtils]: 12: Hoare triple {1365#(and (or (not (= ~SIZE~0 |linear_search_#in~n|)) (not (= (_ bv3 32) |linear_search_#in~q|)) (bvult linear_search_~j~0 linear_search_~n) (not (bvult (_ bv1 32) ~SIZE~0))) (or (not (= ~SIZE~0 |linear_search_#in~n|)) (not (= (_ bv3 32) |linear_search_#in~q|)) (bvult linear_search_~j~0 linear_search_~n) (not (= (_ bv3 32) (select (select |#memory_int| |linear_search_#in~a.base|) |linear_search_#in~a.offset|)))))} #t~short1 := ~bvult32(~j~0, ~n); {1361#(or (not (= ~SIZE~0 |linear_search_#in~n|)) (and (not (= (_ bv3 32) (select (select |#memory_int| |linear_search_#in~a.base|) |linear_search_#in~a.offset|))) (not (bvult (_ bv1 32) ~SIZE~0))) (not (= (_ bv3 32) |linear_search_#in~q|)) |linear_search_#t~short1|)} is VALID [2018-11-23 11:22:34,889 INFO L273 TraceCheckUtils]: 11: Hoare triple {1365#(and (or (not (= ~SIZE~0 |linear_search_#in~n|)) (not (= (_ bv3 32) |linear_search_#in~q|)) (bvult linear_search_~j~0 linear_search_~n) (not (bvult (_ bv1 32) ~SIZE~0))) (or (not (= ~SIZE~0 |linear_search_#in~n|)) (not (= (_ bv3 32) |linear_search_#in~q|)) (bvult linear_search_~j~0 linear_search_~n) (not (= (_ bv3 32) (select (select |#memory_int| |linear_search_#in~a.base|) |linear_search_#in~a.offset|)))))} assume !(20bv32 == ~j~0); {1365#(and (or (not (= ~SIZE~0 |linear_search_#in~n|)) (not (= (_ bv3 32) |linear_search_#in~q|)) (bvult linear_search_~j~0 linear_search_~n) (not (bvult (_ bv1 32) ~SIZE~0))) (or (not (= ~SIZE~0 |linear_search_#in~n|)) (not (= (_ bv3 32) |linear_search_#in~q|)) (bvult linear_search_~j~0 linear_search_~n) (not (= (_ bv3 32) (select (select |#memory_int| |linear_search_#in~a.base|) |linear_search_#in~a.offset|)))))} is VALID [2018-11-23 11:22:34,914 INFO L273 TraceCheckUtils]: 10: Hoare triple {1372#(or (not |linear_search_#t~short1|) (and (or (bvult (bvadd linear_search_~j~0 (_ bv1 32)) linear_search_~n) (not (= ~SIZE~0 |linear_search_#in~n|)) (not (= (_ bv3 32) |linear_search_#in~q|)) (not (= (_ bv3 32) (select (select |#memory_int| |linear_search_#in~a.base|) |linear_search_#in~a.offset|)))) (or (bvult (bvadd linear_search_~j~0 (_ bv1 32)) linear_search_~n) (not (= ~SIZE~0 |linear_search_#in~n|)) (not (= (_ bv3 32) |linear_search_#in~q|)) (not (bvult (_ bv1 32) ~SIZE~0)))))} assume !!#t~short1;havoc #t~short1;havoc #t~mem0;#t~post2 := ~j~0;~j~0 := ~bvadd32(1bv32, #t~post2);havoc #t~post2; {1365#(and (or (not (= ~SIZE~0 |linear_search_#in~n|)) (not (= (_ bv3 32) |linear_search_#in~q|)) (bvult linear_search_~j~0 linear_search_~n) (not (bvult (_ bv1 32) ~SIZE~0))) (or (not (= ~SIZE~0 |linear_search_#in~n|)) (not (= (_ bv3 32) |linear_search_#in~q|)) (bvult linear_search_~j~0 linear_search_~n) (not (= (_ bv3 32) (select (select |#memory_int| |linear_search_#in~a.base|) |linear_search_#in~a.offset|)))))} is VALID [2018-11-23 11:22:34,916 INFO L273 TraceCheckUtils]: 9: Hoare triple {1376#(and (or (bvult (bvadd linear_search_~j~0 (_ bv1 32)) linear_search_~n) (not (= ~SIZE~0 |linear_search_#in~n|)) (not (= (_ bv3 32) |linear_search_#in~q|)) (= linear_search_~q (select (select |#memory_int| linear_search_~a.base) (bvadd linear_search_~a.offset (bvmul (_ bv4 32) linear_search_~j~0)))) (not (bvult (_ bv1 32) ~SIZE~0))) (or (bvult (bvadd linear_search_~j~0 (_ bv1 32)) linear_search_~n) (not (= ~SIZE~0 |linear_search_#in~n|)) (not (= (_ bv3 32) |linear_search_#in~q|)) (= linear_search_~q (select (select |#memory_int| linear_search_~a.base) (bvadd linear_search_~a.offset (bvmul (_ bv4 32) linear_search_~j~0)))) (not (= (_ bv3 32) (select (select |#memory_int| |linear_search_#in~a.base|) |linear_search_#in~a.offset|)))))} assume #t~short1;call #t~mem0 := read~intINTTYPE4(~a.base, ~bvadd32(~a.offset, ~bvmul32(4bv32, ~j~0)), 4bv32);#t~short1 := #t~mem0 != ~q; {1372#(or (not |linear_search_#t~short1|) (and (or (bvult (bvadd linear_search_~j~0 (_ bv1 32)) linear_search_~n) (not (= ~SIZE~0 |linear_search_#in~n|)) (not (= (_ bv3 32) |linear_search_#in~q|)) (not (= (_ bv3 32) (select (select |#memory_int| |linear_search_#in~a.base|) |linear_search_#in~a.offset|)))) (or (bvult (bvadd linear_search_~j~0 (_ bv1 32)) linear_search_~n) (not (= ~SIZE~0 |linear_search_#in~n|)) (not (= (_ bv3 32) |linear_search_#in~q|)) (not (bvult (_ bv1 32) ~SIZE~0)))))} is VALID [2018-11-23 11:22:34,917 INFO L273 TraceCheckUtils]: 8: Hoare triple {1376#(and (or (bvult (bvadd linear_search_~j~0 (_ bv1 32)) linear_search_~n) (not (= ~SIZE~0 |linear_search_#in~n|)) (not (= (_ bv3 32) |linear_search_#in~q|)) (= linear_search_~q (select (select |#memory_int| linear_search_~a.base) (bvadd linear_search_~a.offset (bvmul (_ bv4 32) linear_search_~j~0)))) (not (bvult (_ bv1 32) ~SIZE~0))) (or (bvult (bvadd linear_search_~j~0 (_ bv1 32)) linear_search_~n) (not (= ~SIZE~0 |linear_search_#in~n|)) (not (= (_ bv3 32) |linear_search_#in~q|)) (= linear_search_~q (select (select |#memory_int| linear_search_~a.base) (bvadd linear_search_~a.offset (bvmul (_ bv4 32) linear_search_~j~0)))) (not (= (_ bv3 32) (select (select |#memory_int| |linear_search_#in~a.base|) |linear_search_#in~a.offset|)))))} #t~short1 := ~bvult32(~j~0, ~n); {1376#(and (or (bvult (bvadd linear_search_~j~0 (_ bv1 32)) linear_search_~n) (not (= ~SIZE~0 |linear_search_#in~n|)) (not (= (_ bv3 32) |linear_search_#in~q|)) (= linear_search_~q (select (select |#memory_int| linear_search_~a.base) (bvadd linear_search_~a.offset (bvmul (_ bv4 32) linear_search_~j~0)))) (not (bvult (_ bv1 32) ~SIZE~0))) (or (bvult (bvadd linear_search_~j~0 (_ bv1 32)) linear_search_~n) (not (= ~SIZE~0 |linear_search_#in~n|)) (not (= (_ bv3 32) |linear_search_#in~q|)) (= linear_search_~q (select (select |#memory_int| linear_search_~a.base) (bvadd linear_search_~a.offset (bvmul (_ bv4 32) linear_search_~j~0)))) (not (= (_ bv3 32) (select (select |#memory_int| |linear_search_#in~a.base|) |linear_search_#in~a.offset|)))))} is VALID [2018-11-23 11:22:34,920 INFO L273 TraceCheckUtils]: 7: Hoare triple {1257#true} ~a.base, ~a.offset := #in~a.base, #in~a.offset;~n := #in~n;~q := #in~q;~j~0 := 0bv32; {1376#(and (or (bvult (bvadd linear_search_~j~0 (_ bv1 32)) linear_search_~n) (not (= ~SIZE~0 |linear_search_#in~n|)) (not (= (_ bv3 32) |linear_search_#in~q|)) (= linear_search_~q (select (select |#memory_int| linear_search_~a.base) (bvadd linear_search_~a.offset (bvmul (_ bv4 32) linear_search_~j~0)))) (not (bvult (_ bv1 32) ~SIZE~0))) (or (bvult (bvadd linear_search_~j~0 (_ bv1 32)) linear_search_~n) (not (= ~SIZE~0 |linear_search_#in~n|)) (not (= (_ bv3 32) |linear_search_#in~q|)) (= linear_search_~q (select (select |#memory_int| linear_search_~a.base) (bvadd linear_search_~a.offset (bvmul (_ bv4 32) linear_search_~j~0)))) (not (= (_ bv3 32) (select (select |#memory_int| |linear_search_#in~a.base|) |linear_search_#in~a.offset|)))))} is VALID [2018-11-23 11:22:34,920 INFO L256 TraceCheckUtils]: 6: Hoare triple {1344#(or (= (bvadd (select (select |#memory_int| |main_~#a~0.base|) |main_~#a~0.offset|) (_ bv4294967293 32)) (_ bv0 32)) (bvult (_ bv1 32) ~SIZE~0))} call #t~ret4 := linear_search(~#a~0.base, ~#a~0.offset, ~SIZE~0, 3bv32); {1257#true} is VALID [2018-11-23 11:22:34,922 INFO L273 TraceCheckUtils]: 5: Hoare triple {1257#true} ~SIZE~0 := ~bvadd32(1bv32, ~bvudiv32(#t~nondet3, 2bv32));havoc #t~nondet3;call ~#a~0.base, ~#a~0.offset := #Ultimate.alloc(~bvmul32(4bv32, ~SIZE~0));call write~intINTTYPE4(3bv32, ~#a~0.base, ~bvadd32(~#a~0.offset, ~bvmul32(4bv32, ~bvudiv32(~SIZE~0, 2bv32))), 4bv32); {1344#(or (= (bvadd (select (select |#memory_int| |main_~#a~0.base|) |main_~#a~0.offset|) (_ bv4294967293 32)) (_ bv0 32)) (bvult (_ bv1 32) ~SIZE~0))} is VALID [2018-11-23 11:22:34,922 INFO L256 TraceCheckUtils]: 4: Hoare triple {1257#true} call #t~ret5 := main(); {1257#true} is VALID [2018-11-23 11:22:34,922 INFO L268 TraceCheckUtils]: 3: Hoare quadruple {1257#true} {1257#true} #53#return; {1257#true} is VALID [2018-11-23 11:22:34,922 INFO L273 TraceCheckUtils]: 2: Hoare triple {1257#true} assume true; {1257#true} is VALID [2018-11-23 11:22:34,922 INFO L273 TraceCheckUtils]: 1: Hoare triple {1257#true} #NULL.base, #NULL.offset := 0bv32, 0bv32;#valid := #valid[0bv32 := 0bv1];~SIZE~0 := 0bv32; {1257#true} is VALID [2018-11-23 11:22:34,923 INFO L256 TraceCheckUtils]: 0: Hoare triple {1257#true} call ULTIMATE.init(); {1257#true} is VALID [2018-11-23 11:22:34,928 INFO L134 CoverageAnalysis]: Checked inductivity of 3 backedges. 1 proven. 2 refuted. 0 times theorem prover too weak. 0 trivial. 0 not checked. [2018-11-23 11:22:34,936 INFO L312 seRefinementStrategy]: Constructing automaton from 0 perfect and 2 imperfect interpolant sequences. [2018-11-23 11:22:34,936 INFO L327 seRefinementStrategy]: Number of different interpolants: perfect sequences [] imperfect sequences [9, 8] total 15 [2018-11-23 11:22:34,937 INFO L78 Accepts]: Start accepts. Automaton has 15 states. Word has length 22 [2018-11-23 11:22:34,937 INFO L84 Accepts]: Finished accepts. word is accepted. [2018-11-23 11:22:34,937 INFO L86 InductivityCheck]: Starting indutivity check of a Floyd-Hoare automaton with 15 states. [2018-11-23 11:22:35,272 INFO L119 InductivityCheck]: Floyd-Hoare automaton has 35 edges. 35 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2018-11-23 11:22:35,272 INFO L459 AbstractCegarLoop]: Interpolant automaton has 15 states [2018-11-23 11:22:35,272 INFO L142 InterpolantAutomaton]: Constructing interpolant automaton starting with 15 interpolants. [2018-11-23 11:22:35,273 INFO L144 InterpolantAutomaton]: CoverageRelationStatistics Valid=47, Invalid=163, Unknown=0, NotChecked=0, Total=210 [2018-11-23 11:22:35,273 INFO L87 Difference]: Start difference. First operand 25 states and 27 transitions. Second operand 15 states. [2018-11-23 11:22:35,936 WARN L180 SmtUtils]: Spent 221.00 ms on a formula simplification. DAG size of input: 39 DAG size of output: 39 [2018-11-23 11:22:38,267 WARN L180 SmtUtils]: Spent 2.16 s on a formula simplification. DAG size of input: 39 DAG size of output: 33 [2018-11-23 11:22:38,510 WARN L180 SmtUtils]: Spent 118.00 ms on a formula simplification. DAG size of input: 39 DAG size of output: 31 [2018-11-23 11:22:40,666 WARN L180 SmtUtils]: Spent 123.00 ms on a formula simplification that was a NOOP. DAG size: 48 [2018-11-23 11:22:42,241 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2018-11-23 11:22:42,241 INFO L93 Difference]: Finished difference Result 64 states and 77 transitions. [2018-11-23 11:22:42,242 INFO L142 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 16 states. [2018-11-23 11:22:42,242 INFO L78 Accepts]: Start accepts. Automaton has 15 states. Word has length 22 [2018-11-23 11:22:42,242 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2018-11-23 11:22:42,242 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 15 states. [2018-11-23 11:22:42,245 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 16 states to 16 states and 74 transitions. [2018-11-23 11:22:42,245 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 15 states. [2018-11-23 11:22:42,248 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 16 states to 16 states and 74 transitions. [2018-11-23 11:22:42,249 INFO L86 InductivityCheck]: Starting indutivity check of a Floyd-Hoare automaton with 16 states and 74 transitions. [2018-11-23 11:22:42,906 INFO L119 InductivityCheck]: Floyd-Hoare automaton has 74 edges. 74 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2018-11-23 11:22:42,908 INFO L225 Difference]: With dead ends: 64 [2018-11-23 11:22:42,908 INFO L226 Difference]: Without dead ends: 39 [2018-11-23 11:22:42,909 INFO L631 BasicCegarLoop]: 0 DeclaredPredicates, 53 GetRequests, 29 SyntacticMatches, 1 SemanticMatches, 23 ConstructedPredicates, 0 IntricatePredicates, 0 DeprecatedPredicates, 104 ImplicationChecksByTransitivity, 5.7s TimeCoverageRelationStatistics Valid=148, Invalid=452, Unknown=0, NotChecked=0, Total=600 [2018-11-23 11:22:42,909 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 39 states. [2018-11-23 11:22:42,985 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 39 to 31. [2018-11-23 11:22:42,985 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2018-11-23 11:22:42,985 INFO L82 GeneralOperation]: Start isEquivalent. First operand 39 states. Second operand 31 states. [2018-11-23 11:22:42,985 INFO L74 IsIncluded]: Start isIncluded. First operand 39 states. Second operand 31 states. [2018-11-23 11:22:42,985 INFO L87 Difference]: Start difference. First operand 39 states. Second operand 31 states. [2018-11-23 11:22:42,987 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2018-11-23 11:22:42,988 INFO L93 Difference]: Finished difference Result 39 states and 44 transitions. [2018-11-23 11:22:42,988 INFO L276 IsEmpty]: Start isEmpty. Operand 39 states and 44 transitions. [2018-11-23 11:22:42,988 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2018-11-23 11:22:42,988 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2018-11-23 11:22:42,988 INFO L74 IsIncluded]: Start isIncluded. First operand 31 states. Second operand 39 states. [2018-11-23 11:22:42,988 INFO L87 Difference]: Start difference. First operand 31 states. Second operand 39 states. [2018-11-23 11:22:42,990 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2018-11-23 11:22:42,991 INFO L93 Difference]: Finished difference Result 39 states and 44 transitions. [2018-11-23 11:22:42,991 INFO L276 IsEmpty]: Start isEmpty. Operand 39 states and 44 transitions. [2018-11-23 11:22:42,991 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2018-11-23 11:22:42,991 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2018-11-23 11:22:42,991 INFO L88 GeneralOperation]: Finished isEquivalent. [2018-11-23 11:22:42,992 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2018-11-23 11:22:42,992 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 31 states. [2018-11-23 11:22:42,993 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 31 states to 31 states and 35 transitions. [2018-11-23 11:22:42,993 INFO L78 Accepts]: Start accepts. Automaton has 31 states and 35 transitions. Word has length 22 [2018-11-23 11:22:42,993 INFO L84 Accepts]: Finished accepts. word is rejected. [2018-11-23 11:22:42,994 INFO L480 AbstractCegarLoop]: Abstraction has 31 states and 35 transitions. [2018-11-23 11:22:42,994 INFO L481 AbstractCegarLoop]: Interpolant automaton has 15 states. [2018-11-23 11:22:42,994 INFO L276 IsEmpty]: Start isEmpty. Operand 31 states and 35 transitions. [2018-11-23 11:22:42,994 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 27 [2018-11-23 11:22:42,994 INFO L394 BasicCegarLoop]: Found error trace [2018-11-23 11:22:42,995 INFO L402 BasicCegarLoop]: trace histogram [3, 2, 2, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1] [2018-11-23 11:22:42,995 INFO L423 AbstractCegarLoop]: === Iteration 8 === [__VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION]=== [2018-11-23 11:22:42,995 INFO L141 PredicateUnifier]: Initialized classic predicate unifier [2018-11-23 11:22:42,995 INFO L82 PathProgramCache]: Analyzing trace with hash -174349115, now seen corresponding path program 1 times [2018-11-23 11:22:42,995 INFO L223 ckRefinementStrategy]: Switched to mode CVC4_FPBP [2018-11-23 11:22:42,996 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 11:22:43,019 INFO L103 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2018-11-23 11:22:43,045 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2018-11-23 11:22:43,058 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2018-11-23 11:22:43,059 INFO L273 TraceCheckSpWp]: Computing forward predicates... [2018-11-23 11:22:43,135 INFO L256 TraceCheckUtils]: 0: Hoare triple {1625#true} call ULTIMATE.init(); {1625#true} is VALID [2018-11-23 11:22:43,136 INFO L273 TraceCheckUtils]: 1: Hoare triple {1625#true} #NULL.base, #NULL.offset := 0bv32, 0bv32;#valid := #valid[0bv32 := 0bv1];~SIZE~0 := 0bv32; {1625#true} is VALID [2018-11-23 11:22:43,136 INFO L273 TraceCheckUtils]: 2: Hoare triple {1625#true} assume true; {1625#true} is VALID [2018-11-23 11:22:43,136 INFO L268 TraceCheckUtils]: 3: Hoare quadruple {1625#true} {1625#true} #53#return; {1625#true} is VALID [2018-11-23 11:22:43,137 INFO L256 TraceCheckUtils]: 4: Hoare triple {1625#true} call #t~ret5 := main(); {1625#true} is VALID [2018-11-23 11:22:43,137 INFO L273 TraceCheckUtils]: 5: Hoare triple {1625#true} ~SIZE~0 := ~bvadd32(1bv32, ~bvudiv32(#t~nondet3, 2bv32));havoc #t~nondet3;call ~#a~0.base, ~#a~0.offset := #Ultimate.alloc(~bvmul32(4bv32, ~SIZE~0));call write~intINTTYPE4(3bv32, ~#a~0.base, ~bvadd32(~#a~0.offset, ~bvmul32(4bv32, ~bvudiv32(~SIZE~0, 2bv32))), 4bv32); {1625#true} is VALID [2018-11-23 11:22:43,137 INFO L256 TraceCheckUtils]: 6: Hoare triple {1625#true} call #t~ret4 := linear_search(~#a~0.base, ~#a~0.offset, ~SIZE~0, 3bv32); {1625#true} is VALID [2018-11-23 11:22:43,138 INFO L273 TraceCheckUtils]: 7: Hoare triple {1625#true} ~a.base, ~a.offset := #in~a.base, #in~a.offset;~n := #in~n;~q := #in~q;~j~0 := 0bv32; {1651#(= linear_search_~j~0 (_ bv0 32))} is VALID [2018-11-23 11:22:43,138 INFO L273 TraceCheckUtils]: 8: Hoare triple {1651#(= linear_search_~j~0 (_ bv0 32))} #t~short1 := ~bvult32(~j~0, ~n); {1651#(= linear_search_~j~0 (_ bv0 32))} is VALID [2018-11-23 11:22:43,139 INFO L273 TraceCheckUtils]: 9: Hoare triple {1651#(= linear_search_~j~0 (_ bv0 32))} assume #t~short1;call #t~mem0 := read~intINTTYPE4(~a.base, ~bvadd32(~a.offset, ~bvmul32(4bv32, ~j~0)), 4bv32);#t~short1 := #t~mem0 != ~q; {1651#(= linear_search_~j~0 (_ bv0 32))} is VALID [2018-11-23 11:22:43,139 INFO L273 TraceCheckUtils]: 10: Hoare triple {1651#(= linear_search_~j~0 (_ bv0 32))} assume !!#t~short1;havoc #t~short1;havoc #t~mem0;#t~post2 := ~j~0;~j~0 := ~bvadd32(1bv32, #t~post2);havoc #t~post2; {1661#(= (bvadd linear_search_~j~0 (_ bv4294967295 32)) (_ bv0 32))} is VALID [2018-11-23 11:22:43,140 INFO L273 TraceCheckUtils]: 11: Hoare triple {1661#(= (bvadd linear_search_~j~0 (_ bv4294967295 32)) (_ bv0 32))} assume !(20bv32 == ~j~0); {1661#(= (bvadd linear_search_~j~0 (_ bv4294967295 32)) (_ bv0 32))} is VALID [2018-11-23 11:22:43,141 INFO L273 TraceCheckUtils]: 12: Hoare triple {1661#(= (bvadd linear_search_~j~0 (_ bv4294967295 32)) (_ bv0 32))} #t~short1 := ~bvult32(~j~0, ~n); {1661#(= (bvadd linear_search_~j~0 (_ bv4294967295 32)) (_ bv0 32))} is VALID [2018-11-23 11:22:43,142 INFO L273 TraceCheckUtils]: 13: Hoare triple {1661#(= (bvadd linear_search_~j~0 (_ bv4294967295 32)) (_ bv0 32))} assume #t~short1;call #t~mem0 := read~intINTTYPE4(~a.base, ~bvadd32(~a.offset, ~bvmul32(4bv32, ~j~0)), 4bv32);#t~short1 := #t~mem0 != ~q; {1661#(= (bvadd linear_search_~j~0 (_ bv4294967295 32)) (_ bv0 32))} is VALID [2018-11-23 11:22:43,143 INFO L273 TraceCheckUtils]: 14: Hoare triple {1661#(= (bvadd linear_search_~j~0 (_ bv4294967295 32)) (_ bv0 32))} assume !!#t~short1;havoc #t~short1;havoc #t~mem0;#t~post2 := ~j~0;~j~0 := ~bvadd32(1bv32, #t~post2);havoc #t~post2; {1674#(= (_ bv2 32) linear_search_~j~0)} is VALID [2018-11-23 11:22:43,144 INFO L273 TraceCheckUtils]: 15: Hoare triple {1674#(= (_ bv2 32) linear_search_~j~0)} assume 20bv32 == ~j~0;~j~0 := 4294967295bv32; {1626#false} is VALID [2018-11-23 11:22:43,144 INFO L273 TraceCheckUtils]: 16: Hoare triple {1626#false} #t~short1 := ~bvult32(~j~0, ~n); {1626#false} is VALID [2018-11-23 11:22:43,144 INFO L273 TraceCheckUtils]: 17: Hoare triple {1626#false} assume !#t~short1; {1626#false} is VALID [2018-11-23 11:22:43,145 INFO L273 TraceCheckUtils]: 18: Hoare triple {1626#false} assume !#t~short1;havoc #t~short1;havoc #t~mem0; {1626#false} is VALID [2018-11-23 11:22:43,145 INFO L273 TraceCheckUtils]: 19: Hoare triple {1626#false} assume !~bvult32(~j~0, ~SIZE~0);#res := 0bv32; {1626#false} is VALID [2018-11-23 11:22:43,146 INFO L273 TraceCheckUtils]: 20: Hoare triple {1626#false} assume true; {1626#false} is VALID [2018-11-23 11:22:43,146 INFO L268 TraceCheckUtils]: 21: Hoare quadruple {1626#false} {1625#true} #57#return; {1626#false} is VALID [2018-11-23 11:22:43,146 INFO L256 TraceCheckUtils]: 22: Hoare triple {1626#false} call __VERIFIER_assert(#t~ret4); {1626#false} is VALID [2018-11-23 11:22:43,147 INFO L273 TraceCheckUtils]: 23: Hoare triple {1626#false} ~cond := #in~cond; {1626#false} is VALID [2018-11-23 11:22:43,147 INFO L273 TraceCheckUtils]: 24: Hoare triple {1626#false} assume 0bv32 == ~cond; {1626#false} is VALID [2018-11-23 11:22:43,147 INFO L273 TraceCheckUtils]: 25: Hoare triple {1626#false} assume !false; {1626#false} is VALID [2018-11-23 11:22:43,148 INFO L134 CoverageAnalysis]: Checked inductivity of 10 backedges. 6 proven. 4 refuted. 0 times theorem prover too weak. 0 trivial. 0 not checked. [2018-11-23 11:22:43,148 INFO L316 TraceCheckSpWp]: Computing backward predicates... [2018-11-23 11:22:43,235 INFO L273 TraceCheckUtils]: 25: Hoare triple {1626#false} assume !false; {1626#false} is VALID [2018-11-23 11:22:43,236 INFO L273 TraceCheckUtils]: 24: Hoare triple {1626#false} assume 0bv32 == ~cond; {1626#false} is VALID [2018-11-23 11:22:43,236 INFO L273 TraceCheckUtils]: 23: Hoare triple {1626#false} ~cond := #in~cond; {1626#false} is VALID [2018-11-23 11:22:43,237 INFO L256 TraceCheckUtils]: 22: Hoare triple {1626#false} call __VERIFIER_assert(#t~ret4); {1626#false} is VALID [2018-11-23 11:22:43,237 INFO L268 TraceCheckUtils]: 21: Hoare quadruple {1626#false} {1625#true} #57#return; {1626#false} is VALID [2018-11-23 11:22:43,237 INFO L273 TraceCheckUtils]: 20: Hoare triple {1626#false} assume true; {1626#false} is VALID [2018-11-23 11:22:43,237 INFO L273 TraceCheckUtils]: 19: Hoare triple {1626#false} assume !~bvult32(~j~0, ~SIZE~0);#res := 0bv32; {1626#false} is VALID [2018-11-23 11:22:43,238 INFO L273 TraceCheckUtils]: 18: Hoare triple {1626#false} assume !#t~short1;havoc #t~short1;havoc #t~mem0; {1626#false} is VALID [2018-11-23 11:22:43,238 INFO L273 TraceCheckUtils]: 17: Hoare triple {1626#false} assume !#t~short1; {1626#false} is VALID [2018-11-23 11:22:43,238 INFO L273 TraceCheckUtils]: 16: Hoare triple {1626#false} #t~short1 := ~bvult32(~j~0, ~n); {1626#false} is VALID [2018-11-23 11:22:43,238 INFO L273 TraceCheckUtils]: 15: Hoare triple {1741#(not (= (bvadd linear_search_~j~0 (_ bv4294967276 32)) (_ bv0 32)))} assume 20bv32 == ~j~0;~j~0 := 4294967295bv32; {1626#false} is VALID [2018-11-23 11:22:43,239 INFO L273 TraceCheckUtils]: 14: Hoare triple {1745#(not (= (_ bv19 32) linear_search_~j~0))} assume !!#t~short1;havoc #t~short1;havoc #t~mem0;#t~post2 := ~j~0;~j~0 := ~bvadd32(1bv32, #t~post2);havoc #t~post2; {1741#(not (= (bvadd linear_search_~j~0 (_ bv4294967276 32)) (_ bv0 32)))} is VALID [2018-11-23 11:22:43,239 INFO L273 TraceCheckUtils]: 13: Hoare triple {1745#(not (= (_ bv19 32) linear_search_~j~0))} assume #t~short1;call #t~mem0 := read~intINTTYPE4(~a.base, ~bvadd32(~a.offset, ~bvmul32(4bv32, ~j~0)), 4bv32);#t~short1 := #t~mem0 != ~q; {1745#(not (= (_ bv19 32) linear_search_~j~0))} is VALID [2018-11-23 11:22:43,240 INFO L273 TraceCheckUtils]: 12: Hoare triple {1745#(not (= (_ bv19 32) linear_search_~j~0))} #t~short1 := ~bvult32(~j~0, ~n); {1745#(not (= (_ bv19 32) linear_search_~j~0))} is VALID [2018-11-23 11:22:43,240 INFO L273 TraceCheckUtils]: 11: Hoare triple {1745#(not (= (_ bv19 32) linear_search_~j~0))} assume !(20bv32 == ~j~0); {1745#(not (= (_ bv19 32) linear_search_~j~0))} is VALID [2018-11-23 11:22:43,241 INFO L273 TraceCheckUtils]: 10: Hoare triple {1758#(not (= (bvadd linear_search_~j~0 (_ bv4294967278 32)) (_ bv0 32)))} assume !!#t~short1;havoc #t~short1;havoc #t~mem0;#t~post2 := ~j~0;~j~0 := ~bvadd32(1bv32, #t~post2);havoc #t~post2; {1745#(not (= (_ bv19 32) linear_search_~j~0))} is VALID [2018-11-23 11:22:43,241 INFO L273 TraceCheckUtils]: 9: Hoare triple {1758#(not (= (bvadd linear_search_~j~0 (_ bv4294967278 32)) (_ bv0 32)))} assume #t~short1;call #t~mem0 := read~intINTTYPE4(~a.base, ~bvadd32(~a.offset, ~bvmul32(4bv32, ~j~0)), 4bv32);#t~short1 := #t~mem0 != ~q; {1758#(not (= (bvadd linear_search_~j~0 (_ bv4294967278 32)) (_ bv0 32)))} is VALID [2018-11-23 11:22:43,241 INFO L273 TraceCheckUtils]: 8: Hoare triple {1758#(not (= (bvadd linear_search_~j~0 (_ bv4294967278 32)) (_ bv0 32)))} #t~short1 := ~bvult32(~j~0, ~n); {1758#(not (= (bvadd linear_search_~j~0 (_ bv4294967278 32)) (_ bv0 32)))} is VALID [2018-11-23 11:22:43,242 INFO L273 TraceCheckUtils]: 7: Hoare triple {1625#true} ~a.base, ~a.offset := #in~a.base, #in~a.offset;~n := #in~n;~q := #in~q;~j~0 := 0bv32; {1758#(not (= (bvadd linear_search_~j~0 (_ bv4294967278 32)) (_ bv0 32)))} is VALID [2018-11-23 11:22:43,242 INFO L256 TraceCheckUtils]: 6: Hoare triple {1625#true} call #t~ret4 := linear_search(~#a~0.base, ~#a~0.offset, ~SIZE~0, 3bv32); {1625#true} is VALID [2018-11-23 11:22:43,242 INFO L273 TraceCheckUtils]: 5: Hoare triple {1625#true} ~SIZE~0 := ~bvadd32(1bv32, ~bvudiv32(#t~nondet3, 2bv32));havoc #t~nondet3;call ~#a~0.base, ~#a~0.offset := #Ultimate.alloc(~bvmul32(4bv32, ~SIZE~0));call write~intINTTYPE4(3bv32, ~#a~0.base, ~bvadd32(~#a~0.offset, ~bvmul32(4bv32, ~bvudiv32(~SIZE~0, 2bv32))), 4bv32); {1625#true} is VALID [2018-11-23 11:22:43,243 INFO L256 TraceCheckUtils]: 4: Hoare triple {1625#true} call #t~ret5 := main(); {1625#true} is VALID [2018-11-23 11:22:43,243 INFO L268 TraceCheckUtils]: 3: Hoare quadruple {1625#true} {1625#true} #53#return; {1625#true} is VALID [2018-11-23 11:22:43,243 INFO L273 TraceCheckUtils]: 2: Hoare triple {1625#true} assume true; {1625#true} is VALID [2018-11-23 11:22:43,243 INFO L273 TraceCheckUtils]: 1: Hoare triple {1625#true} #NULL.base, #NULL.offset := 0bv32, 0bv32;#valid := #valid[0bv32 := 0bv1];~SIZE~0 := 0bv32; {1625#true} is VALID [2018-11-23 11:22:43,244 INFO L256 TraceCheckUtils]: 0: Hoare triple {1625#true} call ULTIMATE.init(); {1625#true} is VALID [2018-11-23 11:22:43,245 INFO L134 CoverageAnalysis]: Checked inductivity of 10 backedges. 6 proven. 4 refuted. 0 times theorem prover too weak. 0 trivial. 0 not checked. [2018-11-23 11:22:43,246 INFO L312 seRefinementStrategy]: Constructing automaton from 0 perfect and 2 imperfect interpolant sequences. [2018-11-23 11:22:43,247 INFO L327 seRefinementStrategy]: Number of different interpolants: perfect sequences [] imperfect sequences [5, 5] total 8 [2018-11-23 11:22:43,247 INFO L78 Accepts]: Start accepts. Automaton has 8 states. Word has length 26 [2018-11-23 11:22:43,247 INFO L84 Accepts]: Finished accepts. word is accepted. [2018-11-23 11:22:43,248 INFO L86 InductivityCheck]: Starting indutivity check of a Floyd-Hoare automaton with 8 states. [2018-11-23 11:22:43,290 INFO L119 InductivityCheck]: Floyd-Hoare automaton has 35 edges. 35 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2018-11-23 11:22:43,291 INFO L459 AbstractCegarLoop]: Interpolant automaton has 8 states [2018-11-23 11:22:43,291 INFO L142 InterpolantAutomaton]: Constructing interpolant automaton starting with 8 interpolants. [2018-11-23 11:22:43,291 INFO L144 InterpolantAutomaton]: CoverageRelationStatistics Valid=22, Invalid=34, Unknown=0, NotChecked=0, Total=56 [2018-11-23 11:22:43,291 INFO L87 Difference]: Start difference. First operand 31 states and 35 transitions. Second operand 8 states. [2018-11-23 11:22:43,771 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2018-11-23 11:22:43,771 INFO L93 Difference]: Finished difference Result 85 states and 106 transitions. [2018-11-23 11:22:43,772 INFO L142 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 8 states. [2018-11-23 11:22:43,772 INFO L78 Accepts]: Start accepts. Automaton has 8 states. Word has length 26 [2018-11-23 11:22:43,772 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2018-11-23 11:22:43,772 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 8 states. [2018-11-23 11:22:43,775 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 8 states to 8 states and 75 transitions. [2018-11-23 11:22:43,775 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 8 states. [2018-11-23 11:22:43,778 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 8 states to 8 states and 75 transitions. [2018-11-23 11:22:43,778 INFO L86 InductivityCheck]: Starting indutivity check of a Floyd-Hoare automaton with 8 states and 75 transitions. [2018-11-23 11:22:43,931 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 11:22:43,935 INFO L225 Difference]: With dead ends: 85 [2018-11-23 11:22:43,935 INFO L226 Difference]: Without dead ends: 66 [2018-11-23 11:22:43,936 INFO L631 BasicCegarLoop]: 0 DeclaredPredicates, 53 GetRequests, 45 SyntacticMatches, 0 SemanticMatches, 8 ConstructedPredicates, 0 IntricatePredicates, 0 DeprecatedPredicates, 1 ImplicationChecksByTransitivity, 0.0s TimeCoverageRelationStatistics Valid=38, Invalid=52, Unknown=0, NotChecked=0, Total=90 [2018-11-23 11:22:43,936 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 66 states. [2018-11-23 11:22:44,076 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 66 to 57. [2018-11-23 11:22:44,076 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2018-11-23 11:22:44,076 INFO L82 GeneralOperation]: Start isEquivalent. First operand 66 states. Second operand 57 states. [2018-11-23 11:22:44,077 INFO L74 IsIncluded]: Start isIncluded. First operand 66 states. Second operand 57 states. [2018-11-23 11:22:44,077 INFO L87 Difference]: Start difference. First operand 66 states. Second operand 57 states. [2018-11-23 11:22:44,081 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2018-11-23 11:22:44,081 INFO L93 Difference]: Finished difference Result 66 states and 76 transitions. [2018-11-23 11:22:44,081 INFO L276 IsEmpty]: Start isEmpty. Operand 66 states and 76 transitions. [2018-11-23 11:22:44,082 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2018-11-23 11:22:44,082 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2018-11-23 11:22:44,082 INFO L74 IsIncluded]: Start isIncluded. First operand 57 states. Second operand 66 states. [2018-11-23 11:22:44,082 INFO L87 Difference]: Start difference. First operand 57 states. Second operand 66 states. [2018-11-23 11:22:44,085 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2018-11-23 11:22:44,085 INFO L93 Difference]: Finished difference Result 66 states and 76 transitions. [2018-11-23 11:22:44,085 INFO L276 IsEmpty]: Start isEmpty. Operand 66 states and 76 transitions. [2018-11-23 11:22:44,085 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2018-11-23 11:22:44,085 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2018-11-23 11:22:44,086 INFO L88 GeneralOperation]: Finished isEquivalent. [2018-11-23 11:22:44,086 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2018-11-23 11:22:44,086 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 57 states. [2018-11-23 11:22:44,088 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 57 states to 57 states and 67 transitions. [2018-11-23 11:22:44,088 INFO L78 Accepts]: Start accepts. Automaton has 57 states and 67 transitions. Word has length 26 [2018-11-23 11:22:44,088 INFO L84 Accepts]: Finished accepts. word is rejected. [2018-11-23 11:22:44,088 INFO L480 AbstractCegarLoop]: Abstraction has 57 states and 67 transitions. [2018-11-23 11:22:44,089 INFO L481 AbstractCegarLoop]: Interpolant automaton has 8 states. [2018-11-23 11:22:44,089 INFO L276 IsEmpty]: Start isEmpty. Operand 57 states and 67 transitions. [2018-11-23 11:22:44,089 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 27 [2018-11-23 11:22:44,089 INFO L394 BasicCegarLoop]: Found error trace [2018-11-23 11:22:44,089 INFO L402 BasicCegarLoop]: trace histogram [3, 2, 2, 2, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1] [2018-11-23 11:22:44,090 INFO L423 AbstractCegarLoop]: === Iteration 9 === [__VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION]=== [2018-11-23 11:22:44,090 INFO L141 PredicateUnifier]: Initialized classic predicate unifier [2018-11-23 11:22:44,090 INFO L82 PathProgramCache]: Analyzing trace with hash 526715463, now seen corresponding path program 2 times [2018-11-23 11:22:44,090 INFO L223 ckRefinementStrategy]: Switched to mode CVC4_FPBP [2018-11-23 11:22:44,090 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 11:22:44,112 INFO L101 rtionOrderModulation]: Changing assertion order to OUTSIDE_LOOP_FIRST1 [2018-11-23 11:22:44,170 INFO L249 tOrderPrioritization]: Assert order OUTSIDE_LOOP_FIRST1 issued 2 check-sat command(s) [2018-11-23 11:22:44,171 INFO L250 tOrderPrioritization]: Conjunction of SSA is unsat [2018-11-23 11:22:44,187 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2018-11-23 11:22:44,189 INFO L273 TraceCheckSpWp]: Computing forward predicates... [2018-11-23 11:22:44,223 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 17 treesize of output 14 [2018-11-23 11:22:44,229 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 14 treesize of output 13 [2018-11-23 11:22:44,230 INFO L267 ElimStorePlain]: Start of recursive call 3: End of recursive call: and 1 xjuncts. [2018-11-23 11:22:44,234 INFO L267 ElimStorePlain]: Start of recursive call 2: 1 dim-1 vars, End of recursive call: and 1 xjuncts. [2018-11-23 11:22:44,245 INFO L267 ElimStorePlain]: Start of recursive call 1: 1 dim-2 vars, End of recursive call: and 1 xjuncts. [2018-11-23 11:22:44,246 INFO L202 ElimStorePlain]: Needed 3 recursive calls to eliminate 1 variables, input treesize:21, output treesize:17 [2018-11-23 11:22:44,690 WARN L180 SmtUtils]: Spent 122.00 ms on a formula simplification that was a NOOP. DAG size: 37 [2018-11-23 11:22:44,877 WARN L180 SmtUtils]: Spent 100.00 ms on a formula simplification that was a NOOP. DAG size: 42 [2018-11-23 11:22:45,330 WARN L180 SmtUtils]: Spent 228.00 ms on a formula simplification. DAG size of input: 37 DAG size of output: 37 [2018-11-23 11:22:45,710 INFO L256 TraceCheckUtils]: 0: Hoare triple {2107#true} call ULTIMATE.init(); {2107#true} is VALID [2018-11-23 11:22:45,710 INFO L273 TraceCheckUtils]: 1: Hoare triple {2107#true} #NULL.base, #NULL.offset := 0bv32, 0bv32;#valid := #valid[0bv32 := 0bv1];~SIZE~0 := 0bv32; {2107#true} is VALID [2018-11-23 11:22:45,710 INFO L273 TraceCheckUtils]: 2: Hoare triple {2107#true} assume true; {2107#true} is VALID [2018-11-23 11:22:45,711 INFO L268 TraceCheckUtils]: 3: Hoare quadruple {2107#true} {2107#true} #53#return; {2107#true} is VALID [2018-11-23 11:22:45,711 INFO L256 TraceCheckUtils]: 4: Hoare triple {2107#true} call #t~ret5 := main(); {2107#true} is VALID [2018-11-23 11:22:45,713 INFO L273 TraceCheckUtils]: 5: Hoare triple {2107#true} ~SIZE~0 := ~bvadd32(1bv32, ~bvudiv32(#t~nondet3, 2bv32));havoc #t~nondet3;call ~#a~0.base, ~#a~0.offset := #Ultimate.alloc(~bvmul32(4bv32, ~SIZE~0));call write~intINTTYPE4(3bv32, ~#a~0.base, ~bvadd32(~#a~0.offset, ~bvmul32(4bv32, ~bvudiv32(~SIZE~0, 2bv32))), 4bv32); {2127#(and (= |main_~#a~0.offset| (_ bv0 32)) (= (_ bv3 32) (select (select |#memory_int| |main_~#a~0.base|) (bvadd (bvmul (_ bv4 32) (bvudiv ~SIZE~0 (_ bv2 32))) |main_~#a~0.offset|))))} is VALID [2018-11-23 11:22:47,721 INFO L256 TraceCheckUtils]: 6: Hoare triple {2127#(and (= |main_~#a~0.offset| (_ bv0 32)) (= (_ bv3 32) (select (select |#memory_int| |main_~#a~0.base|) (bvadd (bvmul (_ bv4 32) (bvudiv ~SIZE~0 (_ bv2 32))) |main_~#a~0.offset|))))} call #t~ret4 := linear_search(~#a~0.base, ~#a~0.offset, ~SIZE~0, 3bv32); {2131#(exists ((|v_main_~#a~0.base_BEFORE_CALL_4| (_ BitVec 32))) (= (bvadd (select (select |#memory_int| |v_main_~#a~0.base_BEFORE_CALL_4|) (bvmul (_ bv4 32) (bvudiv ~SIZE~0 (_ bv2 32)))) (_ bv4294967293 32)) (_ bv0 32)))} is UNKNOWN [2018-11-23 11:22:47,722 INFO L273 TraceCheckUtils]: 7: Hoare triple {2131#(exists ((|v_main_~#a~0.base_BEFORE_CALL_4| (_ BitVec 32))) (= (bvadd (select (select |#memory_int| |v_main_~#a~0.base_BEFORE_CALL_4|) (bvmul (_ bv4 32) (bvudiv ~SIZE~0 (_ bv2 32)))) (_ bv4294967293 32)) (_ bv0 32)))} ~a.base, ~a.offset := #in~a.base, #in~a.offset;~n := #in~n;~q := #in~q;~j~0 := 0bv32; {2135#(and (exists ((|v_main_~#a~0.base_BEFORE_CALL_4| (_ BitVec 32))) (= (bvadd (select (select |#memory_int| |v_main_~#a~0.base_BEFORE_CALL_4|) (bvmul (_ bv4 32) (bvudiv ~SIZE~0 (_ bv2 32)))) (_ bv4294967293 32)) (_ bv0 32))) (= linear_search_~n |linear_search_#in~n|) (= linear_search_~q |linear_search_#in~q|) (= linear_search_~j~0 (_ bv0 32)) (= linear_search_~a.offset |linear_search_#in~a.offset|) (= |linear_search_#in~a.base| linear_search_~a.base))} is VALID [2018-11-23 11:22:47,724 INFO L273 TraceCheckUtils]: 8: Hoare triple {2135#(and (exists ((|v_main_~#a~0.base_BEFORE_CALL_4| (_ BitVec 32))) (= (bvadd (select (select |#memory_int| |v_main_~#a~0.base_BEFORE_CALL_4|) (bvmul (_ bv4 32) (bvudiv ~SIZE~0 (_ bv2 32)))) (_ bv4294967293 32)) (_ bv0 32))) (= linear_search_~n |linear_search_#in~n|) (= linear_search_~q |linear_search_#in~q|) (= linear_search_~j~0 (_ bv0 32)) (= linear_search_~a.offset |linear_search_#in~a.offset|) (= |linear_search_#in~a.base| linear_search_~a.base))} #t~short1 := ~bvult32(~j~0, ~n); {2135#(and (exists ((|v_main_~#a~0.base_BEFORE_CALL_4| (_ BitVec 32))) (= (bvadd (select (select |#memory_int| |v_main_~#a~0.base_BEFORE_CALL_4|) (bvmul (_ bv4 32) (bvudiv ~SIZE~0 (_ bv2 32)))) (_ bv4294967293 32)) (_ bv0 32))) (= linear_search_~n |linear_search_#in~n|) (= linear_search_~q |linear_search_#in~q|) (= linear_search_~j~0 (_ bv0 32)) (= linear_search_~a.offset |linear_search_#in~a.offset|) (= |linear_search_#in~a.base| linear_search_~a.base))} is VALID [2018-11-23 11:22:47,729 INFO L273 TraceCheckUtils]: 9: Hoare triple {2135#(and (exists ((|v_main_~#a~0.base_BEFORE_CALL_4| (_ BitVec 32))) (= (bvadd (select (select |#memory_int| |v_main_~#a~0.base_BEFORE_CALL_4|) (bvmul (_ bv4 32) (bvudiv ~SIZE~0 (_ bv2 32)))) (_ bv4294967293 32)) (_ bv0 32))) (= linear_search_~n |linear_search_#in~n|) (= linear_search_~q |linear_search_#in~q|) (= linear_search_~j~0 (_ bv0 32)) (= linear_search_~a.offset |linear_search_#in~a.offset|) (= |linear_search_#in~a.base| linear_search_~a.base))} assume #t~short1;call #t~mem0 := read~intINTTYPE4(~a.base, ~bvadd32(~a.offset, ~bvmul32(4bv32, ~j~0)), 4bv32);#t~short1 := #t~mem0 != ~q; {2135#(and (exists ((|v_main_~#a~0.base_BEFORE_CALL_4| (_ BitVec 32))) (= (bvadd (select (select |#memory_int| |v_main_~#a~0.base_BEFORE_CALL_4|) (bvmul (_ bv4 32) (bvudiv ~SIZE~0 (_ bv2 32)))) (_ bv4294967293 32)) (_ bv0 32))) (= linear_search_~n |linear_search_#in~n|) (= linear_search_~q |linear_search_#in~q|) (= linear_search_~j~0 (_ bv0 32)) (= linear_search_~a.offset |linear_search_#in~a.offset|) (= |linear_search_#in~a.base| linear_search_~a.base))} is VALID [2018-11-23 11:22:47,730 INFO L273 TraceCheckUtils]: 10: Hoare triple {2135#(and (exists ((|v_main_~#a~0.base_BEFORE_CALL_4| (_ BitVec 32))) (= (bvadd (select (select |#memory_int| |v_main_~#a~0.base_BEFORE_CALL_4|) (bvmul (_ bv4 32) (bvudiv ~SIZE~0 (_ bv2 32)))) (_ bv4294967293 32)) (_ bv0 32))) (= linear_search_~n |linear_search_#in~n|) (= linear_search_~q |linear_search_#in~q|) (= linear_search_~j~0 (_ bv0 32)) (= linear_search_~a.offset |linear_search_#in~a.offset|) (= |linear_search_#in~a.base| linear_search_~a.base))} assume !!#t~short1;havoc #t~short1;havoc #t~mem0;#t~post2 := ~j~0;~j~0 := ~bvadd32(1bv32, #t~post2);havoc #t~post2; {2145#(and (exists ((|v_main_~#a~0.base_BEFORE_CALL_4| (_ BitVec 32))) (= (bvadd (select (select |#memory_int| |v_main_~#a~0.base_BEFORE_CALL_4|) (bvmul (_ bv4 32) (bvudiv ~SIZE~0 (_ bv2 32)))) (_ bv4294967293 32)) (_ bv0 32))) (= (bvadd linear_search_~j~0 (_ bv4294967295 32)) (_ bv0 32)) (= linear_search_~n |linear_search_#in~n|) (= linear_search_~q |linear_search_#in~q|) (= linear_search_~a.offset |linear_search_#in~a.offset|) (= |linear_search_#in~a.base| linear_search_~a.base))} is VALID [2018-11-23 11:22:47,731 INFO L273 TraceCheckUtils]: 11: Hoare triple {2145#(and (exists ((|v_main_~#a~0.base_BEFORE_CALL_4| (_ BitVec 32))) (= (bvadd (select (select |#memory_int| |v_main_~#a~0.base_BEFORE_CALL_4|) (bvmul (_ bv4 32) (bvudiv ~SIZE~0 (_ bv2 32)))) (_ bv4294967293 32)) (_ bv0 32))) (= (bvadd linear_search_~j~0 (_ bv4294967295 32)) (_ bv0 32)) (= linear_search_~n |linear_search_#in~n|) (= linear_search_~q |linear_search_#in~q|) (= linear_search_~a.offset |linear_search_#in~a.offset|) (= |linear_search_#in~a.base| linear_search_~a.base))} assume !(20bv32 == ~j~0); {2145#(and (exists ((|v_main_~#a~0.base_BEFORE_CALL_4| (_ BitVec 32))) (= (bvadd (select (select |#memory_int| |v_main_~#a~0.base_BEFORE_CALL_4|) (bvmul (_ bv4 32) (bvudiv ~SIZE~0 (_ bv2 32)))) (_ bv4294967293 32)) (_ bv0 32))) (= (bvadd linear_search_~j~0 (_ bv4294967295 32)) (_ bv0 32)) (= linear_search_~n |linear_search_#in~n|) (= linear_search_~q |linear_search_#in~q|) (= linear_search_~a.offset |linear_search_#in~a.offset|) (= |linear_search_#in~a.base| linear_search_~a.base))} is VALID [2018-11-23 11:22:47,733 INFO L273 TraceCheckUtils]: 12: Hoare triple {2145#(and (exists ((|v_main_~#a~0.base_BEFORE_CALL_4| (_ BitVec 32))) (= (bvadd (select (select |#memory_int| |v_main_~#a~0.base_BEFORE_CALL_4|) (bvmul (_ bv4 32) (bvudiv ~SIZE~0 (_ bv2 32)))) (_ bv4294967293 32)) (_ bv0 32))) (= (bvadd linear_search_~j~0 (_ bv4294967295 32)) (_ bv0 32)) (= linear_search_~n |linear_search_#in~n|) (= linear_search_~q |linear_search_#in~q|) (= linear_search_~a.offset |linear_search_#in~a.offset|) (= |linear_search_#in~a.base| linear_search_~a.base))} #t~short1 := ~bvult32(~j~0, ~n); {2152#(or (and (exists ((|v_main_~#a~0.base_BEFORE_CALL_4| (_ BitVec 32))) (= (bvadd (select (select |#memory_int| |v_main_~#a~0.base_BEFORE_CALL_4|) (bvmul (_ bv4 32) (bvudiv ~SIZE~0 (_ bv2 32)))) (_ bv4294967293 32)) (_ bv0 32))) (= (bvadd linear_search_~j~0 (_ bv4294967295 32)) (_ bv0 32)) (= linear_search_~n |linear_search_#in~n|) (bvult linear_search_~j~0 linear_search_~n) (= linear_search_~q |linear_search_#in~q|) |linear_search_#t~short1| (= linear_search_~a.offset |linear_search_#in~a.offset|) (= |linear_search_#in~a.base| linear_search_~a.base)) (and (exists ((|v_main_~#a~0.base_BEFORE_CALL_4| (_ BitVec 32))) (= (bvadd (select (select |#memory_int| |v_main_~#a~0.base_BEFORE_CALL_4|) (bvmul (_ bv4 32) (bvudiv ~SIZE~0 (_ bv2 32)))) (_ bv4294967293 32)) (_ bv0 32))) (= (bvadd linear_search_~j~0 (_ bv4294967295 32)) (_ bv0 32)) (= linear_search_~n |linear_search_#in~n|) (= linear_search_~q |linear_search_#in~q|) (not (bvult linear_search_~j~0 linear_search_~n)) (not |linear_search_#t~short1|) (= linear_search_~a.offset |linear_search_#in~a.offset|) (= |linear_search_#in~a.base| linear_search_~a.base)))} is VALID [2018-11-23 11:22:47,836 INFO L273 TraceCheckUtils]: 13: Hoare triple {2152#(or (and (exists ((|v_main_~#a~0.base_BEFORE_CALL_4| (_ BitVec 32))) (= (bvadd (select (select |#memory_int| |v_main_~#a~0.base_BEFORE_CALL_4|) (bvmul (_ bv4 32) (bvudiv ~SIZE~0 (_ bv2 32)))) (_ bv4294967293 32)) (_ bv0 32))) (= (bvadd linear_search_~j~0 (_ bv4294967295 32)) (_ bv0 32)) (= linear_search_~n |linear_search_#in~n|) (bvult linear_search_~j~0 linear_search_~n) (= linear_search_~q |linear_search_#in~q|) |linear_search_#t~short1| (= linear_search_~a.offset |linear_search_#in~a.offset|) (= |linear_search_#in~a.base| linear_search_~a.base)) (and (exists ((|v_main_~#a~0.base_BEFORE_CALL_4| (_ BitVec 32))) (= (bvadd (select (select |#memory_int| |v_main_~#a~0.base_BEFORE_CALL_4|) (bvmul (_ bv4 32) (bvudiv ~SIZE~0 (_ bv2 32)))) (_ bv4294967293 32)) (_ bv0 32))) (= (bvadd linear_search_~j~0 (_ bv4294967295 32)) (_ bv0 32)) (= linear_search_~n |linear_search_#in~n|) (= linear_search_~q |linear_search_#in~q|) (not (bvult linear_search_~j~0 linear_search_~n)) (not |linear_search_#t~short1|) (= linear_search_~a.offset |linear_search_#in~a.offset|) (= |linear_search_#in~a.base| linear_search_~a.base)))} assume #t~short1;call #t~mem0 := read~intINTTYPE4(~a.base, ~bvadd32(~a.offset, ~bvmul32(4bv32, ~j~0)), 4bv32);#t~short1 := #t~mem0 != ~q; {2156#(or (and (= (bvadd linear_search_~j~0 (_ bv4294967295 32)) (_ bv0 32)) (= linear_search_~n |linear_search_#in~n|) (bvult linear_search_~j~0 linear_search_~n) (exists ((v_prenex_1 (_ BitVec 32))) (= (bvadd (select (select |#memory_int| v_prenex_1) (bvmul (_ bv4 32) (bvudiv ~SIZE~0 (_ bv2 32)))) (_ bv4294967293 32)) (_ bv0 32))) (not |linear_search_#t~short1|) (= (select (select |#memory_int| |linear_search_#in~a.base|) (bvadd |linear_search_#in~a.offset| (bvmul (_ bv4 32) linear_search_~j~0))) |linear_search_#in~q|)) (and (not (= (select (select |#memory_int| |linear_search_#in~a.base|) (bvadd |linear_search_#in~a.offset| (bvmul (_ bv4 32) linear_search_~j~0))) |linear_search_#in~q|)) (exists ((|v_main_~#a~0.base_BEFORE_CALL_4| (_ BitVec 32))) (= (bvadd (select (select |#memory_int| |v_main_~#a~0.base_BEFORE_CALL_4|) (bvmul (_ bv4 32) (bvudiv ~SIZE~0 (_ bv2 32)))) (_ bv4294967293 32)) (_ bv0 32))) (= (bvadd linear_search_~j~0 (_ bv4294967295 32)) (_ bv0 32)) (= linear_search_~n |linear_search_#in~n|) (bvult linear_search_~j~0 linear_search_~n) |linear_search_#t~short1|))} is VALID [2018-11-23 11:22:47,883 INFO L273 TraceCheckUtils]: 14: Hoare triple {2156#(or (and (= (bvadd linear_search_~j~0 (_ bv4294967295 32)) (_ bv0 32)) (= linear_search_~n |linear_search_#in~n|) (bvult linear_search_~j~0 linear_search_~n) (exists ((v_prenex_1 (_ BitVec 32))) (= (bvadd (select (select |#memory_int| v_prenex_1) (bvmul (_ bv4 32) (bvudiv ~SIZE~0 (_ bv2 32)))) (_ bv4294967293 32)) (_ bv0 32))) (not |linear_search_#t~short1|) (= (select (select |#memory_int| |linear_search_#in~a.base|) (bvadd |linear_search_#in~a.offset| (bvmul (_ bv4 32) linear_search_~j~0))) |linear_search_#in~q|)) (and (not (= (select (select |#memory_int| |linear_search_#in~a.base|) (bvadd |linear_search_#in~a.offset| (bvmul (_ bv4 32) linear_search_~j~0))) |linear_search_#in~q|)) (exists ((|v_main_~#a~0.base_BEFORE_CALL_4| (_ BitVec 32))) (= (bvadd (select (select |#memory_int| |v_main_~#a~0.base_BEFORE_CALL_4|) (bvmul (_ bv4 32) (bvudiv ~SIZE~0 (_ bv2 32)))) (_ bv4294967293 32)) (_ bv0 32))) (= (bvadd linear_search_~j~0 (_ bv4294967295 32)) (_ bv0 32)) (= linear_search_~n |linear_search_#in~n|) (bvult linear_search_~j~0 linear_search_~n) |linear_search_#t~short1|))} assume !!#t~short1;havoc #t~short1;havoc #t~mem0;#t~post2 := ~j~0;~j~0 := ~bvadd32(1bv32, #t~post2);havoc #t~post2; {2160#(and (bvult (bvadd linear_search_~j~0 (_ bv4294967295 32)) linear_search_~n) (exists ((|v_main_~#a~0.base_BEFORE_CALL_4| (_ BitVec 32))) (= (bvadd (select (select |#memory_int| |v_main_~#a~0.base_BEFORE_CALL_4|) (bvmul (_ bv4 32) (bvudiv ~SIZE~0 (_ bv2 32)))) (_ bv4294967293 32)) (_ bv0 32))) (= (_ bv2 32) linear_search_~j~0) (= linear_search_~n |linear_search_#in~n|) (not (= (select (select |#memory_int| |linear_search_#in~a.base|) (bvadd |linear_search_#in~a.offset| (bvmul (_ bv4 32) linear_search_~j~0) (_ bv4294967292 32))) |linear_search_#in~q|)))} is VALID [2018-11-23 11:22:47,886 INFO L273 TraceCheckUtils]: 15: Hoare triple {2160#(and (bvult (bvadd linear_search_~j~0 (_ bv4294967295 32)) linear_search_~n) (exists ((|v_main_~#a~0.base_BEFORE_CALL_4| (_ BitVec 32))) (= (bvadd (select (select |#memory_int| |v_main_~#a~0.base_BEFORE_CALL_4|) (bvmul (_ bv4 32) (bvudiv ~SIZE~0 (_ bv2 32)))) (_ bv4294967293 32)) (_ bv0 32))) (= (_ bv2 32) linear_search_~j~0) (= linear_search_~n |linear_search_#in~n|) (not (= (select (select |#memory_int| |linear_search_#in~a.base|) (bvadd |linear_search_#in~a.offset| (bvmul (_ bv4 32) linear_search_~j~0) (_ bv4294967292 32))) |linear_search_#in~q|)))} assume !(20bv32 == ~j~0); {2160#(and (bvult (bvadd linear_search_~j~0 (_ bv4294967295 32)) linear_search_~n) (exists ((|v_main_~#a~0.base_BEFORE_CALL_4| (_ BitVec 32))) (= (bvadd (select (select |#memory_int| |v_main_~#a~0.base_BEFORE_CALL_4|) (bvmul (_ bv4 32) (bvudiv ~SIZE~0 (_ bv2 32)))) (_ bv4294967293 32)) (_ bv0 32))) (= (_ bv2 32) linear_search_~j~0) (= linear_search_~n |linear_search_#in~n|) (not (= (select (select |#memory_int| |linear_search_#in~a.base|) (bvadd |linear_search_#in~a.offset| (bvmul (_ bv4 32) linear_search_~j~0) (_ bv4294967292 32))) |linear_search_#in~q|)))} is VALID [2018-11-23 11:22:47,891 INFO L273 TraceCheckUtils]: 16: Hoare triple {2160#(and (bvult (bvadd linear_search_~j~0 (_ bv4294967295 32)) linear_search_~n) (exists ((|v_main_~#a~0.base_BEFORE_CALL_4| (_ BitVec 32))) (= (bvadd (select (select |#memory_int| |v_main_~#a~0.base_BEFORE_CALL_4|) (bvmul (_ bv4 32) (bvudiv ~SIZE~0 (_ bv2 32)))) (_ bv4294967293 32)) (_ bv0 32))) (= (_ bv2 32) linear_search_~j~0) (= linear_search_~n |linear_search_#in~n|) (not (= (select (select |#memory_int| |linear_search_#in~a.base|) (bvadd |linear_search_#in~a.offset| (bvmul (_ bv4 32) linear_search_~j~0) (_ bv4294967292 32))) |linear_search_#in~q|)))} #t~short1 := ~bvult32(~j~0, ~n); {2167#(or (and (exists ((|v_main_~#a~0.base_BEFORE_CALL_4| (_ BitVec 32))) (= (bvadd (select (select |#memory_int| |v_main_~#a~0.base_BEFORE_CALL_4|) (bvmul (_ bv4 32) (bvudiv ~SIZE~0 (_ bv2 32)))) (_ bv4294967293 32)) (_ bv0 32))) (= (_ bv2 32) linear_search_~j~0) (not (= (select (select |#memory_int| |linear_search_#in~a.base|) (bvadd |linear_search_#in~a.offset| (bvmul (_ bv4 32) linear_search_~j~0) (_ bv4294967292 32))) |linear_search_#in~q|)) (bvult linear_search_~j~0 |linear_search_#in~n|) |linear_search_#t~short1|) (and (exists ((|v_main_~#a~0.base_BEFORE_CALL_4| (_ BitVec 32))) (= (bvadd (select (select |#memory_int| |v_main_~#a~0.base_BEFORE_CALL_4|) (bvmul (_ bv4 32) (bvudiv ~SIZE~0 (_ bv2 32)))) (_ bv4294967293 32)) (_ bv0 32))) (not (bvult linear_search_~j~0 |linear_search_#in~n|)) (= (_ bv2 32) linear_search_~j~0) (not (= (select (select |#memory_int| |linear_search_#in~a.base|) (bvadd |linear_search_#in~a.offset| (bvmul (_ bv4 32) linear_search_~j~0) (_ bv4294967292 32))) |linear_search_#in~q|)) (not |linear_search_#t~short1|) (bvult (bvadd linear_search_~j~0 (_ bv4294967295 32)) |linear_search_#in~n|)))} is VALID [2018-11-23 11:22:47,907 INFO L273 TraceCheckUtils]: 17: Hoare triple {2167#(or (and (exists ((|v_main_~#a~0.base_BEFORE_CALL_4| (_ BitVec 32))) (= (bvadd (select (select |#memory_int| |v_main_~#a~0.base_BEFORE_CALL_4|) (bvmul (_ bv4 32) (bvudiv ~SIZE~0 (_ bv2 32)))) (_ bv4294967293 32)) (_ bv0 32))) (= (_ bv2 32) linear_search_~j~0) (not (= (select (select |#memory_int| |linear_search_#in~a.base|) (bvadd |linear_search_#in~a.offset| (bvmul (_ bv4 32) linear_search_~j~0) (_ bv4294967292 32))) |linear_search_#in~q|)) (bvult linear_search_~j~0 |linear_search_#in~n|) |linear_search_#t~short1|) (and (exists ((|v_main_~#a~0.base_BEFORE_CALL_4| (_ BitVec 32))) (= (bvadd (select (select |#memory_int| |v_main_~#a~0.base_BEFORE_CALL_4|) (bvmul (_ bv4 32) (bvudiv ~SIZE~0 (_ bv2 32)))) (_ bv4294967293 32)) (_ bv0 32))) (not (bvult linear_search_~j~0 |linear_search_#in~n|)) (= (_ bv2 32) linear_search_~j~0) (not (= (select (select |#memory_int| |linear_search_#in~a.base|) (bvadd |linear_search_#in~a.offset| (bvmul (_ bv4 32) linear_search_~j~0) (_ bv4294967292 32))) |linear_search_#in~q|)) (not |linear_search_#t~short1|) (bvult (bvadd linear_search_~j~0 (_ bv4294967295 32)) |linear_search_#in~n|)))} assume !#t~short1; {2171#(and (exists ((|v_main_~#a~0.base_BEFORE_CALL_4| (_ BitVec 32))) (= (bvadd (select (select |#memory_int| |v_main_~#a~0.base_BEFORE_CALL_4|) (bvmul (_ bv4 32) (bvudiv ~SIZE~0 (_ bv2 32)))) (_ bv4294967293 32)) (_ bv0 32))) (not (bvult linear_search_~j~0 |linear_search_#in~n|)) (= (_ bv2 32) linear_search_~j~0) (not (= (select (select |#memory_int| |linear_search_#in~a.base|) (bvadd |linear_search_#in~a.offset| (bvmul (_ bv4 32) linear_search_~j~0) (_ bv4294967292 32))) |linear_search_#in~q|)) (bvult (bvadd linear_search_~j~0 (_ bv4294967295 32)) |linear_search_#in~n|))} is VALID [2018-11-23 11:22:47,923 INFO L273 TraceCheckUtils]: 18: Hoare triple {2171#(and (exists ((|v_main_~#a~0.base_BEFORE_CALL_4| (_ BitVec 32))) (= (bvadd (select (select |#memory_int| |v_main_~#a~0.base_BEFORE_CALL_4|) (bvmul (_ bv4 32) (bvudiv ~SIZE~0 (_ bv2 32)))) (_ bv4294967293 32)) (_ bv0 32))) (not (bvult linear_search_~j~0 |linear_search_#in~n|)) (= (_ bv2 32) linear_search_~j~0) (not (= (select (select |#memory_int| |linear_search_#in~a.base|) (bvadd |linear_search_#in~a.offset| (bvmul (_ bv4 32) linear_search_~j~0) (_ bv4294967292 32))) |linear_search_#in~q|)) (bvult (bvadd linear_search_~j~0 (_ bv4294967295 32)) |linear_search_#in~n|))} assume !#t~short1;havoc #t~short1;havoc #t~mem0; {2171#(and (exists ((|v_main_~#a~0.base_BEFORE_CALL_4| (_ BitVec 32))) (= (bvadd (select (select |#memory_int| |v_main_~#a~0.base_BEFORE_CALL_4|) (bvmul (_ bv4 32) (bvudiv ~SIZE~0 (_ bv2 32)))) (_ bv4294967293 32)) (_ bv0 32))) (not (bvult linear_search_~j~0 |linear_search_#in~n|)) (= (_ bv2 32) linear_search_~j~0) (not (= (select (select |#memory_int| |linear_search_#in~a.base|) (bvadd |linear_search_#in~a.offset| (bvmul (_ bv4 32) linear_search_~j~0) (_ bv4294967292 32))) |linear_search_#in~q|)) (bvult (bvadd linear_search_~j~0 (_ bv4294967295 32)) |linear_search_#in~n|))} is VALID [2018-11-23 11:22:47,939 INFO L273 TraceCheckUtils]: 19: Hoare triple {2171#(and (exists ((|v_main_~#a~0.base_BEFORE_CALL_4| (_ BitVec 32))) (= (bvadd (select (select |#memory_int| |v_main_~#a~0.base_BEFORE_CALL_4|) (bvmul (_ bv4 32) (bvudiv ~SIZE~0 (_ bv2 32)))) (_ bv4294967293 32)) (_ bv0 32))) (not (bvult linear_search_~j~0 |linear_search_#in~n|)) (= (_ bv2 32) linear_search_~j~0) (not (= (select (select |#memory_int| |linear_search_#in~a.base|) (bvadd |linear_search_#in~a.offset| (bvmul (_ bv4 32) linear_search_~j~0) (_ bv4294967292 32))) |linear_search_#in~q|)) (bvult (bvadd linear_search_~j~0 (_ bv4294967295 32)) |linear_search_#in~n|))} assume !~bvult32(~j~0, ~SIZE~0);#res := 0bv32; {2178#(and (exists ((|v_main_~#a~0.base_BEFORE_CALL_4| (_ BitVec 32))) (= (bvadd (select (select |#memory_int| |v_main_~#a~0.base_BEFORE_CALL_4|) (bvmul (_ bv4 32) (bvudiv ~SIZE~0 (_ bv2 32)))) (_ bv4294967293 32)) (_ bv0 32))) (not (bvult (_ bv2 32) ~SIZE~0)) (not (= (select (select |#memory_int| |linear_search_#in~a.base|) (bvadd |linear_search_#in~a.offset| (_ bv4 32))) |linear_search_#in~q|)) (not (bvult (_ bv2 32) |linear_search_#in~n|)) (bvult (_ bv1 32) |linear_search_#in~n|))} is VALID [2018-11-23 11:22:47,956 INFO L273 TraceCheckUtils]: 20: Hoare triple {2178#(and (exists ((|v_main_~#a~0.base_BEFORE_CALL_4| (_ BitVec 32))) (= (bvadd (select (select |#memory_int| |v_main_~#a~0.base_BEFORE_CALL_4|) (bvmul (_ bv4 32) (bvudiv ~SIZE~0 (_ bv2 32)))) (_ bv4294967293 32)) (_ bv0 32))) (not (bvult (_ bv2 32) ~SIZE~0)) (not (= (select (select |#memory_int| |linear_search_#in~a.base|) (bvadd |linear_search_#in~a.offset| (_ bv4 32))) |linear_search_#in~q|)) (not (bvult (_ bv2 32) |linear_search_#in~n|)) (bvult (_ bv1 32) |linear_search_#in~n|))} assume true; {2178#(and (exists ((|v_main_~#a~0.base_BEFORE_CALL_4| (_ BitVec 32))) (= (bvadd (select (select |#memory_int| |v_main_~#a~0.base_BEFORE_CALL_4|) (bvmul (_ bv4 32) (bvudiv ~SIZE~0 (_ bv2 32)))) (_ bv4294967293 32)) (_ bv0 32))) (not (bvult (_ bv2 32) ~SIZE~0)) (not (= (select (select |#memory_int| |linear_search_#in~a.base|) (bvadd |linear_search_#in~a.offset| (_ bv4 32))) |linear_search_#in~q|)) (not (bvult (_ bv2 32) |linear_search_#in~n|)) (bvult (_ bv1 32) |linear_search_#in~n|))} is VALID [2018-11-23 11:22:47,971 INFO L268 TraceCheckUtils]: 21: Hoare quadruple {2178#(and (exists ((|v_main_~#a~0.base_BEFORE_CALL_4| (_ BitVec 32))) (= (bvadd (select (select |#memory_int| |v_main_~#a~0.base_BEFORE_CALL_4|) (bvmul (_ bv4 32) (bvudiv ~SIZE~0 (_ bv2 32)))) (_ bv4294967293 32)) (_ bv0 32))) (not (bvult (_ bv2 32) ~SIZE~0)) (not (= (select (select |#memory_int| |linear_search_#in~a.base|) (bvadd |linear_search_#in~a.offset| (_ bv4 32))) |linear_search_#in~q|)) (not (bvult (_ bv2 32) |linear_search_#in~n|)) (bvult (_ bv1 32) |linear_search_#in~n|))} {2127#(and (= |main_~#a~0.offset| (_ bv0 32)) (= (_ bv3 32) (select (select |#memory_int| |main_~#a~0.base|) (bvadd (bvmul (_ bv4 32) (bvudiv ~SIZE~0 (_ bv2 32))) |main_~#a~0.offset|))))} #57#return; {2108#false} is VALID [2018-11-23 11:22:47,972 INFO L256 TraceCheckUtils]: 22: Hoare triple {2108#false} call __VERIFIER_assert(#t~ret4); {2108#false} is VALID [2018-11-23 11:22:47,972 INFO L273 TraceCheckUtils]: 23: Hoare triple {2108#false} ~cond := #in~cond; {2108#false} is VALID [2018-11-23 11:22:47,972 INFO L273 TraceCheckUtils]: 24: Hoare triple {2108#false} assume 0bv32 == ~cond; {2108#false} is VALID [2018-11-23 11:22:47,973 INFO L273 TraceCheckUtils]: 25: Hoare triple {2108#false} assume !false; {2108#false} is VALID [2018-11-23 11:22:47,981 INFO L134 CoverageAnalysis]: Checked inductivity of 10 backedges. 0 proven. 10 refuted. 0 times theorem prover too weak. 0 trivial. 0 not checked. [2018-11-23 11:22:47,982 INFO L316 TraceCheckSpWp]: Computing backward predicates... [2018-11-23 11:22:48,271 WARN L180 SmtUtils]: Spent 240.00 ms on a formula simplification. DAG size of input: 55 DAG size of output: 43 [2018-11-23 11:22:48,480 WARN L180 SmtUtils]: Spent 145.00 ms on a formula simplification. DAG size of input: 43 DAG size of output: 41 [2018-11-23 11:22:52,966 WARN L180 SmtUtils]: Spent 173.00 ms on a formula simplification that was a NOOP. DAG size: 24 [2018-11-23 11:22:53,807 WARN L180 SmtUtils]: Spent 100.00 ms on a formula simplification that was a NOOP. DAG size: 34 [2018-11-23 11:22:54,147 WARN L180 SmtUtils]: Spent 145.00 ms on a formula simplification that was a NOOP. DAG size: 41 [2018-11-23 11:22:54,661 WARN L180 SmtUtils]: Spent 326.00 ms on a formula simplification. DAG size of input: 41 DAG size of output: 41 [2018-11-23 11:22:55,005 WARN L180 SmtUtils]: Spent 181.00 ms on a formula simplification that was a NOOP. DAG size: 42 [2018-11-23 11:22:57,271 INFO L273 TraceCheckUtils]: 25: Hoare triple {2108#false} assume !false; {2108#false} is VALID [2018-11-23 11:22:57,272 INFO L273 TraceCheckUtils]: 24: Hoare triple {2108#false} assume 0bv32 == ~cond; {2108#false} is VALID [2018-11-23 11:22:57,272 INFO L273 TraceCheckUtils]: 23: Hoare triple {2108#false} ~cond := #in~cond; {2108#false} is VALID [2018-11-23 11:22:57,272 INFO L256 TraceCheckUtils]: 22: Hoare triple {2108#false} call __VERIFIER_assert(#t~ret4); {2108#false} is VALID [2018-11-23 11:22:57,274 INFO L268 TraceCheckUtils]: 21: Hoare quadruple {2213#(or (not (= ~SIZE~0 |linear_search_#in~n|)) (not (= (_ bv3 32) |linear_search_#in~q|)) (and (not (bvult (_ bv2 32) ~SIZE~0)) (bvult (_ bv1 32) ~SIZE~0) (not (= (_ bv3 32) (select (select |#memory_int| |linear_search_#in~a.base|) (bvadd |linear_search_#in~a.offset| (_ bv4 32)))))))} {2209#(or (= (bvadd (select (select |#memory_int| |main_~#a~0.base|) (bvadd |main_~#a~0.offset| (_ bv4 32))) (_ bv4294967293 32)) (_ bv0 32)) (bvult (_ bv2 32) ~SIZE~0) (not (bvult (_ bv1 32) ~SIZE~0)))} #57#return; {2108#false} is VALID [2018-11-23 11:22:57,275 INFO L273 TraceCheckUtils]: 20: Hoare triple {2213#(or (not (= ~SIZE~0 |linear_search_#in~n|)) (not (= (_ bv3 32) |linear_search_#in~q|)) (and (not (bvult (_ bv2 32) ~SIZE~0)) (bvult (_ bv1 32) ~SIZE~0) (not (= (_ bv3 32) (select (select |#memory_int| |linear_search_#in~a.base|) (bvadd |linear_search_#in~a.offset| (_ bv4 32)))))))} assume true; {2213#(or (not (= ~SIZE~0 |linear_search_#in~n|)) (not (= (_ bv3 32) |linear_search_#in~q|)) (and (not (bvult (_ bv2 32) ~SIZE~0)) (bvult (_ bv1 32) ~SIZE~0) (not (= (_ bv3 32) (select (select |#memory_int| |linear_search_#in~a.base|) (bvadd |linear_search_#in~a.offset| (_ bv4 32)))))))} is VALID [2018-11-23 11:22:57,276 INFO L273 TraceCheckUtils]: 19: Hoare triple {2220#(or (bvult linear_search_~j~0 ~SIZE~0) (not (= ~SIZE~0 |linear_search_#in~n|)) (not (= (_ bv3 32) |linear_search_#in~q|)) (and (not (bvult (_ bv2 32) ~SIZE~0)) (bvult (_ bv1 32) ~SIZE~0) (not (= (_ bv3 32) (select (select |#memory_int| |linear_search_#in~a.base|) (bvadd |linear_search_#in~a.offset| (_ bv4 32)))))))} assume !~bvult32(~j~0, ~SIZE~0);#res := 0bv32; {2213#(or (not (= ~SIZE~0 |linear_search_#in~n|)) (not (= (_ bv3 32) |linear_search_#in~q|)) (and (not (bvult (_ bv2 32) ~SIZE~0)) (bvult (_ bv1 32) ~SIZE~0) (not (= (_ bv3 32) (select (select |#memory_int| |linear_search_#in~a.base|) (bvadd |linear_search_#in~a.offset| (_ bv4 32)))))))} is VALID [2018-11-23 11:22:57,280 INFO L273 TraceCheckUtils]: 18: Hoare triple {2220#(or (bvult linear_search_~j~0 ~SIZE~0) (not (= ~SIZE~0 |linear_search_#in~n|)) (not (= (_ bv3 32) |linear_search_#in~q|)) (and (not (bvult (_ bv2 32) ~SIZE~0)) (bvult (_ bv1 32) ~SIZE~0) (not (= (_ bv3 32) (select (select |#memory_int| |linear_search_#in~a.base|) (bvadd |linear_search_#in~a.offset| (_ bv4 32)))))))} assume !#t~short1;havoc #t~short1;havoc #t~mem0; {2220#(or (bvult linear_search_~j~0 ~SIZE~0) (not (= ~SIZE~0 |linear_search_#in~n|)) (not (= (_ bv3 32) |linear_search_#in~q|)) (and (not (bvult (_ bv2 32) ~SIZE~0)) (bvult (_ bv1 32) ~SIZE~0) (not (= (_ bv3 32) (select (select |#memory_int| |linear_search_#in~a.base|) (bvadd |linear_search_#in~a.offset| (_ bv4 32)))))))} is VALID [2018-11-23 11:22:57,280 INFO L273 TraceCheckUtils]: 17: Hoare triple {2227#(or (bvult linear_search_~j~0 ~SIZE~0) (not (= ~SIZE~0 |linear_search_#in~n|)) (not (= (_ bv3 32) |linear_search_#in~q|)) (and (not (bvult (_ bv2 32) ~SIZE~0)) (bvult (_ bv1 32) ~SIZE~0) (not (= (_ bv3 32) (select (select |#memory_int| |linear_search_#in~a.base|) (bvadd |linear_search_#in~a.offset| (_ bv4 32)))))) |linear_search_#t~short1|)} assume !#t~short1; {2220#(or (bvult linear_search_~j~0 ~SIZE~0) (not (= ~SIZE~0 |linear_search_#in~n|)) (not (= (_ bv3 32) |linear_search_#in~q|)) (and (not (bvult (_ bv2 32) ~SIZE~0)) (bvult (_ bv1 32) ~SIZE~0) (not (= (_ bv3 32) (select (select |#memory_int| |linear_search_#in~a.base|) (bvadd |linear_search_#in~a.offset| (_ bv4 32)))))))} is VALID [2018-11-23 11:22:57,282 INFO L273 TraceCheckUtils]: 16: Hoare triple {2231#(and (or (bvult linear_search_~j~0 ~SIZE~0) (not (= ~SIZE~0 |linear_search_#in~n|)) (not (bvult (_ bv2 32) ~SIZE~0)) (not (= (_ bv3 32) |linear_search_#in~q|)) (bvult linear_search_~j~0 linear_search_~n)) (or (bvult linear_search_~j~0 ~SIZE~0) (not (= ~SIZE~0 |linear_search_#in~n|)) (not (= (_ bv3 32) (select (select |#memory_int| |linear_search_#in~a.base|) (bvadd |linear_search_#in~a.offset| (_ bv4 32))))) (not (= (_ bv3 32) |linear_search_#in~q|)) (bvult linear_search_~j~0 linear_search_~n)) (or (bvult linear_search_~j~0 ~SIZE~0) (not (= ~SIZE~0 |linear_search_#in~n|)) (bvult (_ bv1 32) ~SIZE~0) (not (= (_ bv3 32) |linear_search_#in~q|)) (bvult linear_search_~j~0 linear_search_~n)))} #t~short1 := ~bvult32(~j~0, ~n); {2227#(or (bvult linear_search_~j~0 ~SIZE~0) (not (= ~SIZE~0 |linear_search_#in~n|)) (not (= (_ bv3 32) |linear_search_#in~q|)) (and (not (bvult (_ bv2 32) ~SIZE~0)) (bvult (_ bv1 32) ~SIZE~0) (not (= (_ bv3 32) (select (select |#memory_int| |linear_search_#in~a.base|) (bvadd |linear_search_#in~a.offset| (_ bv4 32)))))) |linear_search_#t~short1|)} is VALID [2018-11-23 11:22:57,283 INFO L273 TraceCheckUtils]: 15: Hoare triple {2231#(and (or (bvult linear_search_~j~0 ~SIZE~0) (not (= ~SIZE~0 |linear_search_#in~n|)) (not (bvult (_ bv2 32) ~SIZE~0)) (not (= (_ bv3 32) |linear_search_#in~q|)) (bvult linear_search_~j~0 linear_search_~n)) (or (bvult linear_search_~j~0 ~SIZE~0) (not (= ~SIZE~0 |linear_search_#in~n|)) (not (= (_ bv3 32) (select (select |#memory_int| |linear_search_#in~a.base|) (bvadd |linear_search_#in~a.offset| (_ bv4 32))))) (not (= (_ bv3 32) |linear_search_#in~q|)) (bvult linear_search_~j~0 linear_search_~n)) (or (bvult linear_search_~j~0 ~SIZE~0) (not (= ~SIZE~0 |linear_search_#in~n|)) (bvult (_ bv1 32) ~SIZE~0) (not (= (_ bv3 32) |linear_search_#in~q|)) (bvult linear_search_~j~0 linear_search_~n)))} assume !(20bv32 == ~j~0); {2231#(and (or (bvult linear_search_~j~0 ~SIZE~0) (not (= ~SIZE~0 |linear_search_#in~n|)) (not (bvult (_ bv2 32) ~SIZE~0)) (not (= (_ bv3 32) |linear_search_#in~q|)) (bvult linear_search_~j~0 linear_search_~n)) (or (bvult linear_search_~j~0 ~SIZE~0) (not (= ~SIZE~0 |linear_search_#in~n|)) (not (= (_ bv3 32) (select (select |#memory_int| |linear_search_#in~a.base|) (bvadd |linear_search_#in~a.offset| (_ bv4 32))))) (not (= (_ bv3 32) |linear_search_#in~q|)) (bvult linear_search_~j~0 linear_search_~n)) (or (bvult linear_search_~j~0 ~SIZE~0) (not (= ~SIZE~0 |linear_search_#in~n|)) (bvult (_ bv1 32) ~SIZE~0) (not (= (_ bv3 32) |linear_search_#in~q|)) (bvult linear_search_~j~0 linear_search_~n)))} is VALID [2018-11-23 11:22:57,350 INFO L273 TraceCheckUtils]: 14: Hoare triple {2238#(or (and (or (bvult (bvadd linear_search_~j~0 (_ bv1 32)) linear_search_~n) (not (= ~SIZE~0 |linear_search_#in~n|)) (not (bvult (_ bv2 32) ~SIZE~0)) (bvult (bvadd linear_search_~j~0 (_ bv1 32)) ~SIZE~0) (not (= (_ bv3 32) |linear_search_#in~q|))) (or (bvult (bvadd linear_search_~j~0 (_ bv1 32)) linear_search_~n) (not (= ~SIZE~0 |linear_search_#in~n|)) (bvult (bvadd linear_search_~j~0 (_ bv1 32)) ~SIZE~0) (not (= (_ bv3 32) (select (select |#memory_int| |linear_search_#in~a.base|) (bvadd |linear_search_#in~a.offset| (_ bv4 32))))) (not (= (_ bv3 32) |linear_search_#in~q|))) (or (bvult (bvadd linear_search_~j~0 (_ bv1 32)) linear_search_~n) (not (= ~SIZE~0 |linear_search_#in~n|)) (bvult (bvadd linear_search_~j~0 (_ bv1 32)) ~SIZE~0) (bvult (_ bv1 32) ~SIZE~0) (not (= (_ bv3 32) |linear_search_#in~q|)))) (not |linear_search_#t~short1|))} assume !!#t~short1;havoc #t~short1;havoc #t~mem0;#t~post2 := ~j~0;~j~0 := ~bvadd32(1bv32, #t~post2);havoc #t~post2; {2231#(and (or (bvult linear_search_~j~0 ~SIZE~0) (not (= ~SIZE~0 |linear_search_#in~n|)) (not (bvult (_ bv2 32) ~SIZE~0)) (not (= (_ bv3 32) |linear_search_#in~q|)) (bvult linear_search_~j~0 linear_search_~n)) (or (bvult linear_search_~j~0 ~SIZE~0) (not (= ~SIZE~0 |linear_search_#in~n|)) (not (= (_ bv3 32) (select (select |#memory_int| |linear_search_#in~a.base|) (bvadd |linear_search_#in~a.offset| (_ bv4 32))))) (not (= (_ bv3 32) |linear_search_#in~q|)) (bvult linear_search_~j~0 linear_search_~n)) (or (bvult linear_search_~j~0 ~SIZE~0) (not (= ~SIZE~0 |linear_search_#in~n|)) (bvult (_ bv1 32) ~SIZE~0) (not (= (_ bv3 32) |linear_search_#in~q|)) (bvult linear_search_~j~0 linear_search_~n)))} is VALID [2018-11-23 11:22:57,353 INFO L273 TraceCheckUtils]: 13: Hoare triple {2242#(and (or (bvult (bvadd linear_search_~j~0 (_ bv1 32)) linear_search_~n) (not (= ~SIZE~0 |linear_search_#in~n|)) (bvult (bvadd linear_search_~j~0 (_ bv1 32)) ~SIZE~0) (not (= (_ bv3 32) (select (select |#memory_int| |linear_search_#in~a.base|) (bvadd |linear_search_#in~a.offset| (_ bv4 32))))) (not (= (_ bv3 32) |linear_search_#in~q|)) (not |linear_search_#t~short1|) (= linear_search_~q (select (select |#memory_int| linear_search_~a.base) (bvadd linear_search_~a.offset (bvmul (_ bv4 32) linear_search_~j~0))))) (or (bvult (bvadd linear_search_~j~0 (_ bv1 32)) linear_search_~n) (not (= ~SIZE~0 |linear_search_#in~n|)) (bvult (bvadd linear_search_~j~0 (_ bv1 32)) ~SIZE~0) (bvult (_ bv1 32) ~SIZE~0) (not (= (_ bv3 32) |linear_search_#in~q|)) (not |linear_search_#t~short1|) (= linear_search_~q (select (select |#memory_int| linear_search_~a.base) (bvadd linear_search_~a.offset (bvmul (_ bv4 32) linear_search_~j~0))))) (or (bvult (bvadd linear_search_~j~0 (_ bv1 32)) linear_search_~n) (not (= ~SIZE~0 |linear_search_#in~n|)) (not (bvult (_ bv2 32) ~SIZE~0)) (bvult (bvadd linear_search_~j~0 (_ bv1 32)) ~SIZE~0) (not (= (_ bv3 32) |linear_search_#in~q|)) (not |linear_search_#t~short1|) (= linear_search_~q (select (select |#memory_int| linear_search_~a.base) (bvadd linear_search_~a.offset (bvmul (_ bv4 32) linear_search_~j~0))))))} assume #t~short1;call #t~mem0 := read~intINTTYPE4(~a.base, ~bvadd32(~a.offset, ~bvmul32(4bv32, ~j~0)), 4bv32);#t~short1 := #t~mem0 != ~q; {2238#(or (and (or (bvult (bvadd linear_search_~j~0 (_ bv1 32)) linear_search_~n) (not (= ~SIZE~0 |linear_search_#in~n|)) (not (bvult (_ bv2 32) ~SIZE~0)) (bvult (bvadd linear_search_~j~0 (_ bv1 32)) ~SIZE~0) (not (= (_ bv3 32) |linear_search_#in~q|))) (or (bvult (bvadd linear_search_~j~0 (_ bv1 32)) linear_search_~n) (not (= ~SIZE~0 |linear_search_#in~n|)) (bvult (bvadd linear_search_~j~0 (_ bv1 32)) ~SIZE~0) (not (= (_ bv3 32) (select (select |#memory_int| |linear_search_#in~a.base|) (bvadd |linear_search_#in~a.offset| (_ bv4 32))))) (not (= (_ bv3 32) |linear_search_#in~q|))) (or (bvult (bvadd linear_search_~j~0 (_ bv1 32)) linear_search_~n) (not (= ~SIZE~0 |linear_search_#in~n|)) (bvult (bvadd linear_search_~j~0 (_ bv1 32)) ~SIZE~0) (bvult (_ bv1 32) ~SIZE~0) (not (= (_ bv3 32) |linear_search_#in~q|)))) (not |linear_search_#t~short1|))} is VALID [2018-11-23 11:22:57,357 INFO L273 TraceCheckUtils]: 12: Hoare triple {2246#(and (or (bvult (bvadd linear_search_~j~0 (_ bv1 32)) linear_search_~n) (not (= ~SIZE~0 |linear_search_#in~n|)) (bvult (_ bv1 32) ~SIZE~0) (not (= (_ bv3 32) |linear_search_#in~q|)) (not (bvult linear_search_~j~0 linear_search_~n)) (= linear_search_~q (select (select |#memory_int| linear_search_~a.base) (bvadd linear_search_~a.offset (bvmul (_ bv4 32) linear_search_~j~0))))) (or (bvult (bvadd linear_search_~j~0 (_ bv1 32)) linear_search_~n) (not (= ~SIZE~0 |linear_search_#in~n|)) (not (bvult (_ bv2 32) ~SIZE~0)) (bvult (bvadd linear_search_~j~0 (_ bv1 32)) ~SIZE~0) (not (= (_ bv3 32) |linear_search_#in~q|)) (not (bvult linear_search_~j~0 linear_search_~n)) (= linear_search_~q (select (select |#memory_int| linear_search_~a.base) (bvadd linear_search_~a.offset (bvmul (_ bv4 32) linear_search_~j~0))))) (or (bvult (bvadd linear_search_~j~0 (_ bv1 32)) linear_search_~n) (not (= ~SIZE~0 |linear_search_#in~n|)) (bvult (bvadd linear_search_~j~0 (_ bv1 32)) ~SIZE~0) (not (= (_ bv3 32) (select (select |#memory_int| |linear_search_#in~a.base|) (bvadd |linear_search_#in~a.offset| (_ bv4 32))))) (not (= (_ bv3 32) |linear_search_#in~q|)) (not (bvult linear_search_~j~0 linear_search_~n)) (= linear_search_~q (select (select |#memory_int| linear_search_~a.base) (bvadd linear_search_~a.offset (bvmul (_ bv4 32) linear_search_~j~0))))))} #t~short1 := ~bvult32(~j~0, ~n); {2242#(and (or (bvult (bvadd linear_search_~j~0 (_ bv1 32)) linear_search_~n) (not (= ~SIZE~0 |linear_search_#in~n|)) (bvult (bvadd linear_search_~j~0 (_ bv1 32)) ~SIZE~0) (not (= (_ bv3 32) (select (select |#memory_int| |linear_search_#in~a.base|) (bvadd |linear_search_#in~a.offset| (_ bv4 32))))) (not (= (_ bv3 32) |linear_search_#in~q|)) (not |linear_search_#t~short1|) (= linear_search_~q (select (select |#memory_int| linear_search_~a.base) (bvadd linear_search_~a.offset (bvmul (_ bv4 32) linear_search_~j~0))))) (or (bvult (bvadd linear_search_~j~0 (_ bv1 32)) linear_search_~n) (not (= ~SIZE~0 |linear_search_#in~n|)) (bvult (bvadd linear_search_~j~0 (_ bv1 32)) ~SIZE~0) (bvult (_ bv1 32) ~SIZE~0) (not (= (_ bv3 32) |linear_search_#in~q|)) (not |linear_search_#t~short1|) (= linear_search_~q (select (select |#memory_int| linear_search_~a.base) (bvadd linear_search_~a.offset (bvmul (_ bv4 32) linear_search_~j~0))))) (or (bvult (bvadd linear_search_~j~0 (_ bv1 32)) linear_search_~n) (not (= ~SIZE~0 |linear_search_#in~n|)) (not (bvult (_ bv2 32) ~SIZE~0)) (bvult (bvadd linear_search_~j~0 (_ bv1 32)) ~SIZE~0) (not (= (_ bv3 32) |linear_search_#in~q|)) (not |linear_search_#t~short1|) (= linear_search_~q (select (select |#memory_int| linear_search_~a.base) (bvadd linear_search_~a.offset (bvmul (_ bv4 32) linear_search_~j~0))))))} is VALID [2018-11-23 11:22:57,359 INFO L273 TraceCheckUtils]: 11: Hoare triple {2246#(and (or (bvult (bvadd linear_search_~j~0 (_ bv1 32)) linear_search_~n) (not (= ~SIZE~0 |linear_search_#in~n|)) (bvult (_ bv1 32) ~SIZE~0) (not (= (_ bv3 32) |linear_search_#in~q|)) (not (bvult linear_search_~j~0 linear_search_~n)) (= linear_search_~q (select (select |#memory_int| linear_search_~a.base) (bvadd linear_search_~a.offset (bvmul (_ bv4 32) linear_search_~j~0))))) (or (bvult (bvadd linear_search_~j~0 (_ bv1 32)) linear_search_~n) (not (= ~SIZE~0 |linear_search_#in~n|)) (not (bvult (_ bv2 32) ~SIZE~0)) (bvult (bvadd linear_search_~j~0 (_ bv1 32)) ~SIZE~0) (not (= (_ bv3 32) |linear_search_#in~q|)) (not (bvult linear_search_~j~0 linear_search_~n)) (= linear_search_~q (select (select |#memory_int| linear_search_~a.base) (bvadd linear_search_~a.offset (bvmul (_ bv4 32) linear_search_~j~0))))) (or (bvult (bvadd linear_search_~j~0 (_ bv1 32)) linear_search_~n) (not (= ~SIZE~0 |linear_search_#in~n|)) (bvult (bvadd linear_search_~j~0 (_ bv1 32)) ~SIZE~0) (not (= (_ bv3 32) (select (select |#memory_int| |linear_search_#in~a.base|) (bvadd |linear_search_#in~a.offset| (_ bv4 32))))) (not (= (_ bv3 32) |linear_search_#in~q|)) (not (bvult linear_search_~j~0 linear_search_~n)) (= linear_search_~q (select (select |#memory_int| linear_search_~a.base) (bvadd linear_search_~a.offset (bvmul (_ bv4 32) linear_search_~j~0))))))} assume !(20bv32 == ~j~0); {2246#(and (or (bvult (bvadd linear_search_~j~0 (_ bv1 32)) linear_search_~n) (not (= ~SIZE~0 |linear_search_#in~n|)) (bvult (_ bv1 32) ~SIZE~0) (not (= (_ bv3 32) |linear_search_#in~q|)) (not (bvult linear_search_~j~0 linear_search_~n)) (= linear_search_~q (select (select |#memory_int| linear_search_~a.base) (bvadd linear_search_~a.offset (bvmul (_ bv4 32) linear_search_~j~0))))) (or (bvult (bvadd linear_search_~j~0 (_ bv1 32)) linear_search_~n) (not (= ~SIZE~0 |linear_search_#in~n|)) (not (bvult (_ bv2 32) ~SIZE~0)) (bvult (bvadd linear_search_~j~0 (_ bv1 32)) ~SIZE~0) (not (= (_ bv3 32) |linear_search_#in~q|)) (not (bvult linear_search_~j~0 linear_search_~n)) (= linear_search_~q (select (select |#memory_int| linear_search_~a.base) (bvadd linear_search_~a.offset (bvmul (_ bv4 32) linear_search_~j~0))))) (or (bvult (bvadd linear_search_~j~0 (_ bv1 32)) linear_search_~n) (not (= ~SIZE~0 |linear_search_#in~n|)) (bvult (bvadd linear_search_~j~0 (_ bv1 32)) ~SIZE~0) (not (= (_ bv3 32) (select (select |#memory_int| |linear_search_#in~a.base|) (bvadd |linear_search_#in~a.offset| (_ bv4 32))))) (not (= (_ bv3 32) |linear_search_#in~q|)) (not (bvult linear_search_~j~0 linear_search_~n)) (= linear_search_~q (select (select |#memory_int| linear_search_~a.base) (bvadd linear_search_~a.offset (bvmul (_ bv4 32) linear_search_~j~0))))))} is VALID [2018-11-23 11:22:57,958 INFO L273 TraceCheckUtils]: 10: Hoare triple {2253#(and (or (not (= ~SIZE~0 |linear_search_#in~n|)) (= (select (select |#memory_int| linear_search_~a.base) (bvadd linear_search_~a.offset (bvmul (_ bv4 32) linear_search_~j~0) (_ bv4 32))) linear_search_~q) (not (bvult (_ bv2 32) ~SIZE~0)) (bvult (bvadd linear_search_~j~0 (_ bv2 32)) linear_search_~n) (not (= (_ bv3 32) |linear_search_#in~q|)) (bvult (bvadd linear_search_~j~0 (_ bv2 32)) ~SIZE~0) (not (bvult (bvadd linear_search_~j~0 (_ bv1 32)) linear_search_~n))) (or (not (= ~SIZE~0 |linear_search_#in~n|)) (= (select (select |#memory_int| linear_search_~a.base) (bvadd linear_search_~a.offset (bvmul (_ bv4 32) linear_search_~j~0) (_ bv4 32))) linear_search_~q) (bvult (_ bv1 32) ~SIZE~0) (bvult (bvadd linear_search_~j~0 (_ bv2 32)) linear_search_~n) (not (= (_ bv3 32) |linear_search_#in~q|)) (not (bvult (bvadd linear_search_~j~0 (_ bv1 32)) linear_search_~n))) (or (not (= ~SIZE~0 |linear_search_#in~n|)) (= (select (select |#memory_int| linear_search_~a.base) (bvadd linear_search_~a.offset (bvmul (_ bv4 32) linear_search_~j~0) (_ bv4 32))) linear_search_~q) (not (= (_ bv3 32) (select (select |#memory_int| |linear_search_#in~a.base|) (bvadd |linear_search_#in~a.offset| (_ bv4 32))))) (bvult (bvadd linear_search_~j~0 (_ bv2 32)) linear_search_~n) (not (= (_ bv3 32) |linear_search_#in~q|)) (bvult (bvadd linear_search_~j~0 (_ bv2 32)) ~SIZE~0) (not (bvult (bvadd linear_search_~j~0 (_ bv1 32)) linear_search_~n))))} assume !!#t~short1;havoc #t~short1;havoc #t~mem0;#t~post2 := ~j~0;~j~0 := ~bvadd32(1bv32, #t~post2);havoc #t~post2; {2246#(and (or (bvult (bvadd linear_search_~j~0 (_ bv1 32)) linear_search_~n) (not (= ~SIZE~0 |linear_search_#in~n|)) (bvult (_ bv1 32) ~SIZE~0) (not (= (_ bv3 32) |linear_search_#in~q|)) (not (bvult linear_search_~j~0 linear_search_~n)) (= linear_search_~q (select (select |#memory_int| linear_search_~a.base) (bvadd linear_search_~a.offset (bvmul (_ bv4 32) linear_search_~j~0))))) (or (bvult (bvadd linear_search_~j~0 (_ bv1 32)) linear_search_~n) (not (= ~SIZE~0 |linear_search_#in~n|)) (not (bvult (_ bv2 32) ~SIZE~0)) (bvult (bvadd linear_search_~j~0 (_ bv1 32)) ~SIZE~0) (not (= (_ bv3 32) |linear_search_#in~q|)) (not (bvult linear_search_~j~0 linear_search_~n)) (= linear_search_~q (select (select |#memory_int| linear_search_~a.base) (bvadd linear_search_~a.offset (bvmul (_ bv4 32) linear_search_~j~0))))) (or (bvult (bvadd linear_search_~j~0 (_ bv1 32)) linear_search_~n) (not (= ~SIZE~0 |linear_search_#in~n|)) (bvult (bvadd linear_search_~j~0 (_ bv1 32)) ~SIZE~0) (not (= (_ bv3 32) (select (select |#memory_int| |linear_search_#in~a.base|) (bvadd |linear_search_#in~a.offset| (_ bv4 32))))) (not (= (_ bv3 32) |linear_search_#in~q|)) (not (bvult linear_search_~j~0 linear_search_~n)) (= linear_search_~q (select (select |#memory_int| linear_search_~a.base) (bvadd linear_search_~a.offset (bvmul (_ bv4 32) linear_search_~j~0))))))} is VALID [2018-11-23 11:22:57,959 INFO L273 TraceCheckUtils]: 9: Hoare triple {2253#(and (or (not (= ~SIZE~0 |linear_search_#in~n|)) (= (select (select |#memory_int| linear_search_~a.base) (bvadd linear_search_~a.offset (bvmul (_ bv4 32) linear_search_~j~0) (_ bv4 32))) linear_search_~q) (not (bvult (_ bv2 32) ~SIZE~0)) (bvult (bvadd linear_search_~j~0 (_ bv2 32)) linear_search_~n) (not (= (_ bv3 32) |linear_search_#in~q|)) (bvult (bvadd linear_search_~j~0 (_ bv2 32)) ~SIZE~0) (not (bvult (bvadd linear_search_~j~0 (_ bv1 32)) linear_search_~n))) (or (not (= ~SIZE~0 |linear_search_#in~n|)) (= (select (select |#memory_int| linear_search_~a.base) (bvadd linear_search_~a.offset (bvmul (_ bv4 32) linear_search_~j~0) (_ bv4 32))) linear_search_~q) (bvult (_ bv1 32) ~SIZE~0) (bvult (bvadd linear_search_~j~0 (_ bv2 32)) linear_search_~n) (not (= (_ bv3 32) |linear_search_#in~q|)) (not (bvult (bvadd linear_search_~j~0 (_ bv1 32)) linear_search_~n))) (or (not (= ~SIZE~0 |linear_search_#in~n|)) (= (select (select |#memory_int| linear_search_~a.base) (bvadd linear_search_~a.offset (bvmul (_ bv4 32) linear_search_~j~0) (_ bv4 32))) linear_search_~q) (not (= (_ bv3 32) (select (select |#memory_int| |linear_search_#in~a.base|) (bvadd |linear_search_#in~a.offset| (_ bv4 32))))) (bvult (bvadd linear_search_~j~0 (_ bv2 32)) linear_search_~n) (not (= (_ bv3 32) |linear_search_#in~q|)) (bvult (bvadd linear_search_~j~0 (_ bv2 32)) ~SIZE~0) (not (bvult (bvadd linear_search_~j~0 (_ bv1 32)) linear_search_~n))))} assume #t~short1;call #t~mem0 := read~intINTTYPE4(~a.base, ~bvadd32(~a.offset, ~bvmul32(4bv32, ~j~0)), 4bv32);#t~short1 := #t~mem0 != ~q; {2253#(and (or (not (= ~SIZE~0 |linear_search_#in~n|)) (= (select (select |#memory_int| linear_search_~a.base) (bvadd linear_search_~a.offset (bvmul (_ bv4 32) linear_search_~j~0) (_ bv4 32))) linear_search_~q) (not (bvult (_ bv2 32) ~SIZE~0)) (bvult (bvadd linear_search_~j~0 (_ bv2 32)) linear_search_~n) (not (= (_ bv3 32) |linear_search_#in~q|)) (bvult (bvadd linear_search_~j~0 (_ bv2 32)) ~SIZE~0) (not (bvult (bvadd linear_search_~j~0 (_ bv1 32)) linear_search_~n))) (or (not (= ~SIZE~0 |linear_search_#in~n|)) (= (select (select |#memory_int| linear_search_~a.base) (bvadd linear_search_~a.offset (bvmul (_ bv4 32) linear_search_~j~0) (_ bv4 32))) linear_search_~q) (bvult (_ bv1 32) ~SIZE~0) (bvult (bvadd linear_search_~j~0 (_ bv2 32)) linear_search_~n) (not (= (_ bv3 32) |linear_search_#in~q|)) (not (bvult (bvadd linear_search_~j~0 (_ bv1 32)) linear_search_~n))) (or (not (= ~SIZE~0 |linear_search_#in~n|)) (= (select (select |#memory_int| linear_search_~a.base) (bvadd linear_search_~a.offset (bvmul (_ bv4 32) linear_search_~j~0) (_ bv4 32))) linear_search_~q) (not (= (_ bv3 32) (select (select |#memory_int| |linear_search_#in~a.base|) (bvadd |linear_search_#in~a.offset| (_ bv4 32))))) (bvult (bvadd linear_search_~j~0 (_ bv2 32)) linear_search_~n) (not (= (_ bv3 32) |linear_search_#in~q|)) (bvult (bvadd linear_search_~j~0 (_ bv2 32)) ~SIZE~0) (not (bvult (bvadd linear_search_~j~0 (_ bv1 32)) linear_search_~n))))} is VALID [2018-11-23 11:22:57,960 INFO L273 TraceCheckUtils]: 8: Hoare triple {2253#(and (or (not (= ~SIZE~0 |linear_search_#in~n|)) (= (select (select |#memory_int| linear_search_~a.base) (bvadd linear_search_~a.offset (bvmul (_ bv4 32) linear_search_~j~0) (_ bv4 32))) linear_search_~q) (not (bvult (_ bv2 32) ~SIZE~0)) (bvult (bvadd linear_search_~j~0 (_ bv2 32)) linear_search_~n) (not (= (_ bv3 32) |linear_search_#in~q|)) (bvult (bvadd linear_search_~j~0 (_ bv2 32)) ~SIZE~0) (not (bvult (bvadd linear_search_~j~0 (_ bv1 32)) linear_search_~n))) (or (not (= ~SIZE~0 |linear_search_#in~n|)) (= (select (select |#memory_int| linear_search_~a.base) (bvadd linear_search_~a.offset (bvmul (_ bv4 32) linear_search_~j~0) (_ bv4 32))) linear_search_~q) (bvult (_ bv1 32) ~SIZE~0) (bvult (bvadd linear_search_~j~0 (_ bv2 32)) linear_search_~n) (not (= (_ bv3 32) |linear_search_#in~q|)) (not (bvult (bvadd linear_search_~j~0 (_ bv1 32)) linear_search_~n))) (or (not (= ~SIZE~0 |linear_search_#in~n|)) (= (select (select |#memory_int| linear_search_~a.base) (bvadd linear_search_~a.offset (bvmul (_ bv4 32) linear_search_~j~0) (_ bv4 32))) linear_search_~q) (not (= (_ bv3 32) (select (select |#memory_int| |linear_search_#in~a.base|) (bvadd |linear_search_#in~a.offset| (_ bv4 32))))) (bvult (bvadd linear_search_~j~0 (_ bv2 32)) linear_search_~n) (not (= (_ bv3 32) |linear_search_#in~q|)) (bvult (bvadd linear_search_~j~0 (_ bv2 32)) ~SIZE~0) (not (bvult (bvadd linear_search_~j~0 (_ bv1 32)) linear_search_~n))))} #t~short1 := ~bvult32(~j~0, ~n); {2253#(and (or (not (= ~SIZE~0 |linear_search_#in~n|)) (= (select (select |#memory_int| linear_search_~a.base) (bvadd linear_search_~a.offset (bvmul (_ bv4 32) linear_search_~j~0) (_ bv4 32))) linear_search_~q) (not (bvult (_ bv2 32) ~SIZE~0)) (bvult (bvadd linear_search_~j~0 (_ bv2 32)) linear_search_~n) (not (= (_ bv3 32) |linear_search_#in~q|)) (bvult (bvadd linear_search_~j~0 (_ bv2 32)) ~SIZE~0) (not (bvult (bvadd linear_search_~j~0 (_ bv1 32)) linear_search_~n))) (or (not (= ~SIZE~0 |linear_search_#in~n|)) (= (select (select |#memory_int| linear_search_~a.base) (bvadd linear_search_~a.offset (bvmul (_ bv4 32) linear_search_~j~0) (_ bv4 32))) linear_search_~q) (bvult (_ bv1 32) ~SIZE~0) (bvult (bvadd linear_search_~j~0 (_ bv2 32)) linear_search_~n) (not (= (_ bv3 32) |linear_search_#in~q|)) (not (bvult (bvadd linear_search_~j~0 (_ bv1 32)) linear_search_~n))) (or (not (= ~SIZE~0 |linear_search_#in~n|)) (= (select (select |#memory_int| linear_search_~a.base) (bvadd linear_search_~a.offset (bvmul (_ bv4 32) linear_search_~j~0) (_ bv4 32))) linear_search_~q) (not (= (_ bv3 32) (select (select |#memory_int| |linear_search_#in~a.base|) (bvadd |linear_search_#in~a.offset| (_ bv4 32))))) (bvult (bvadd linear_search_~j~0 (_ bv2 32)) linear_search_~n) (not (= (_ bv3 32) |linear_search_#in~q|)) (bvult (bvadd linear_search_~j~0 (_ bv2 32)) ~SIZE~0) (not (bvult (bvadd linear_search_~j~0 (_ bv1 32)) linear_search_~n))))} is VALID [2018-11-23 11:22:57,963 INFO L273 TraceCheckUtils]: 7: Hoare triple {2107#true} ~a.base, ~a.offset := #in~a.base, #in~a.offset;~n := #in~n;~q := #in~q;~j~0 := 0bv32; {2253#(and (or (not (= ~SIZE~0 |linear_search_#in~n|)) (= (select (select |#memory_int| linear_search_~a.base) (bvadd linear_search_~a.offset (bvmul (_ bv4 32) linear_search_~j~0) (_ bv4 32))) linear_search_~q) (not (bvult (_ bv2 32) ~SIZE~0)) (bvult (bvadd linear_search_~j~0 (_ bv2 32)) linear_search_~n) (not (= (_ bv3 32) |linear_search_#in~q|)) (bvult (bvadd linear_search_~j~0 (_ bv2 32)) ~SIZE~0) (not (bvult (bvadd linear_search_~j~0 (_ bv1 32)) linear_search_~n))) (or (not (= ~SIZE~0 |linear_search_#in~n|)) (= (select (select |#memory_int| linear_search_~a.base) (bvadd linear_search_~a.offset (bvmul (_ bv4 32) linear_search_~j~0) (_ bv4 32))) linear_search_~q) (bvult (_ bv1 32) ~SIZE~0) (bvult (bvadd linear_search_~j~0 (_ bv2 32)) linear_search_~n) (not (= (_ bv3 32) |linear_search_#in~q|)) (not (bvult (bvadd linear_search_~j~0 (_ bv1 32)) linear_search_~n))) (or (not (= ~SIZE~0 |linear_search_#in~n|)) (= (select (select |#memory_int| linear_search_~a.base) (bvadd linear_search_~a.offset (bvmul (_ bv4 32) linear_search_~j~0) (_ bv4 32))) linear_search_~q) (not (= (_ bv3 32) (select (select |#memory_int| |linear_search_#in~a.base|) (bvadd |linear_search_#in~a.offset| (_ bv4 32))))) (bvult (bvadd linear_search_~j~0 (_ bv2 32)) linear_search_~n) (not (= (_ bv3 32) |linear_search_#in~q|)) (bvult (bvadd linear_search_~j~0 (_ bv2 32)) ~SIZE~0) (not (bvult (bvadd linear_search_~j~0 (_ bv1 32)) linear_search_~n))))} is VALID [2018-11-23 11:22:57,964 INFO L256 TraceCheckUtils]: 6: Hoare triple {2209#(or (= (bvadd (select (select |#memory_int| |main_~#a~0.base|) (bvadd |main_~#a~0.offset| (_ bv4 32))) (_ bv4294967293 32)) (_ bv0 32)) (bvult (_ bv2 32) ~SIZE~0) (not (bvult (_ bv1 32) ~SIZE~0)))} call #t~ret4 := linear_search(~#a~0.base, ~#a~0.offset, ~SIZE~0, 3bv32); {2107#true} is VALID [2018-11-23 11:22:57,967 INFO L273 TraceCheckUtils]: 5: Hoare triple {2107#true} ~SIZE~0 := ~bvadd32(1bv32, ~bvudiv32(#t~nondet3, 2bv32));havoc #t~nondet3;call ~#a~0.base, ~#a~0.offset := #Ultimate.alloc(~bvmul32(4bv32, ~SIZE~0));call write~intINTTYPE4(3bv32, ~#a~0.base, ~bvadd32(~#a~0.offset, ~bvmul32(4bv32, ~bvudiv32(~SIZE~0, 2bv32))), 4bv32); {2209#(or (= (bvadd (select (select |#memory_int| |main_~#a~0.base|) (bvadd |main_~#a~0.offset| (_ bv4 32))) (_ bv4294967293 32)) (_ bv0 32)) (bvult (_ bv2 32) ~SIZE~0) (not (bvult (_ bv1 32) ~SIZE~0)))} is VALID [2018-11-23 11:22:57,968 INFO L256 TraceCheckUtils]: 4: Hoare triple {2107#true} call #t~ret5 := main(); {2107#true} is VALID [2018-11-23 11:22:57,968 INFO L268 TraceCheckUtils]: 3: Hoare quadruple {2107#true} {2107#true} #53#return; {2107#true} is VALID [2018-11-23 11:22:57,968 INFO L273 TraceCheckUtils]: 2: Hoare triple {2107#true} assume true; {2107#true} is VALID [2018-11-23 11:22:57,969 INFO L273 TraceCheckUtils]: 1: Hoare triple {2107#true} #NULL.base, #NULL.offset := 0bv32, 0bv32;#valid := #valid[0bv32 := 0bv1];~SIZE~0 := 0bv32; {2107#true} is VALID [2018-11-23 11:22:57,969 INFO L256 TraceCheckUtils]: 0: Hoare triple {2107#true} call ULTIMATE.init(); {2107#true} is VALID [2018-11-23 11:22:57,989 INFO L134 CoverageAnalysis]: Checked inductivity of 10 backedges. 0 proven. 10 refuted. 0 times theorem prover too weak. 0 trivial. 0 not checked. [2018-11-23 11:22:57,996 INFO L312 seRefinementStrategy]: Constructing automaton from 0 perfect and 2 imperfect interpolant sequences. [2018-11-23 11:22:57,996 INFO L327 seRefinementStrategy]: Number of different interpolants: perfect sequences [] imperfect sequences [12, 11] total 21 [2018-11-23 11:22:57,997 INFO L78 Accepts]: Start accepts. Automaton has 21 states. Word has length 26 [2018-11-23 11:22:57,997 INFO L84 Accepts]: Finished accepts. word is accepted. [2018-11-23 11:22:57,997 INFO L86 InductivityCheck]: Starting indutivity check of a Floyd-Hoare automaton with 21 states. [2018-11-23 11:22:59,012 INFO L119 InductivityCheck]: Floyd-Hoare automaton has 43 edges. 43 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2018-11-23 11:22:59,012 INFO L459 AbstractCegarLoop]: Interpolant automaton has 21 states [2018-11-23 11:22:59,013 INFO L142 InterpolantAutomaton]: Constructing interpolant automaton starting with 21 interpolants. [2018-11-23 11:22:59,013 INFO L144 InterpolantAutomaton]: CoverageRelationStatistics Valid=91, Invalid=329, Unknown=0, NotChecked=0, Total=420 [2018-11-23 11:22:59,013 INFO L87 Difference]: Start difference. First operand 57 states and 67 transitions. Second operand 21 states. [2018-11-23 11:23:00,748 WARN L180 SmtUtils]: Spent 290.00 ms on a formula simplification. DAG size of input: 49 DAG size of output: 49 [2018-11-23 11:23:01,630 WARN L180 SmtUtils]: Spent 408.00 ms on a formula simplification. DAG size of input: 41 DAG size of output: 40 [2018-11-23 11:23:02,097 WARN L180 SmtUtils]: Spent 232.00 ms on a formula simplification. DAG size of input: 41 DAG size of output: 38 [2018-11-23 11:23:03,212 WARN L180 SmtUtils]: Spent 588.00 ms on a formula simplification. DAG size of input: 46 DAG size of output: 37 [2018-11-23 11:23:03,523 WARN L180 SmtUtils]: Spent 112.00 ms on a formula simplification that was a NOOP. DAG size: 45 [2018-11-23 11:23:04,423 WARN L180 SmtUtils]: Spent 124.00 ms on a formula simplification that was a NOOP. DAG size: 43 [2018-11-23 11:23:05,234 WARN L180 SmtUtils]: Spent 174.00 ms on a formula simplification that was a NOOP. DAG size: 51 [2018-11-23 11:23:05,942 WARN L180 SmtUtils]: Spent 469.00 ms on a formula simplification that was a NOOP. DAG size: 68 [2018-11-23 11:23:06,463 WARN L180 SmtUtils]: Spent 291.00 ms on a formula simplification that was a NOOP. DAG size: 56 [2018-11-23 11:23:07,274 WARN L180 SmtUtils]: Spent 498.00 ms on a formula simplification that was a NOOP. DAG size: 66 [2018-11-23 11:23:08,003 WARN L180 SmtUtils]: Spent 257.00 ms on a formula simplification that was a NOOP. DAG size: 58 [2018-11-23 11:23:09,220 WARN L180 SmtUtils]: Spent 264.00 ms on a formula simplification that was a NOOP. DAG size: 55 [2018-11-23 11:23:09,807 WARN L180 SmtUtils]: Spent 377.00 ms on a formula simplification that was a NOOP. DAG size: 61 [2018-11-23 11:23:11,440 WARN L180 SmtUtils]: Spent 876.00 ms on a formula simplification. DAG size of input: 62 DAG size of output: 62 [2018-11-23 11:23:11,977 WARN L180 SmtUtils]: Spent 310.00 ms on a formula simplification. DAG size of input: 48 DAG size of output: 48 [2018-11-23 11:23:13,444 WARN L180 SmtUtils]: Spent 735.00 ms on a formula simplification. DAG size of input: 62 DAG size of output: 62 [2018-11-23 11:23:14,211 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2018-11-23 11:23:14,212 INFO L93 Difference]: Finished difference Result 121 states and 146 transitions. [2018-11-23 11:23:14,212 INFO L142 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 29 states. [2018-11-23 11:23:14,212 INFO L78 Accepts]: Start accepts. Automaton has 21 states. Word has length 26 [2018-11-23 11:23:14,212 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2018-11-23 11:23:14,212 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 21 states. [2018-11-23 11:23:14,216 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 29 states to 29 states and 85 transitions. [2018-11-23 11:23:14,216 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 21 states. [2018-11-23 11:23:14,219 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 29 states to 29 states and 85 transitions. [2018-11-23 11:23:14,219 INFO L86 InductivityCheck]: Starting indutivity check of a Floyd-Hoare automaton with 29 states and 85 transitions. [2018-11-23 11:23:15,758 INFO L119 InductivityCheck]: Floyd-Hoare automaton has 85 edges. 85 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2018-11-23 11:23:15,761 INFO L225 Difference]: With dead ends: 121 [2018-11-23 11:23:15,762 INFO L226 Difference]: Without dead ends: 78 [2018-11-23 11:23:15,763 INFO L631 BasicCegarLoop]: 0 DeclaredPredicates, 71 GetRequests, 31 SyntacticMatches, 1 SemanticMatches, 39 ConstructedPredicates, 0 IntricatePredicates, 0 DeprecatedPredicates, 344 ImplicationChecksByTransitivity, 12.6s TimeCoverageRelationStatistics Valid=396, Invalid=1244, Unknown=0, NotChecked=0, Total=1640 [2018-11-23 11:23:15,763 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 78 states. [2018-11-23 11:23:15,933 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 78 to 69. [2018-11-23 11:23:15,933 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2018-11-23 11:23:15,934 INFO L82 GeneralOperation]: Start isEquivalent. First operand 78 states. Second operand 69 states. [2018-11-23 11:23:15,934 INFO L74 IsIncluded]: Start isIncluded. First operand 78 states. Second operand 69 states. [2018-11-23 11:23:15,934 INFO L87 Difference]: Start difference. First operand 78 states. Second operand 69 states. [2018-11-23 11:23:15,937 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2018-11-23 11:23:15,937 INFO L93 Difference]: Finished difference Result 78 states and 91 transitions. [2018-11-23 11:23:15,937 INFO L276 IsEmpty]: Start isEmpty. Operand 78 states and 91 transitions. [2018-11-23 11:23:15,937 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2018-11-23 11:23:15,938 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2018-11-23 11:23:15,938 INFO L74 IsIncluded]: Start isIncluded. First operand 69 states. Second operand 78 states. [2018-11-23 11:23:15,938 INFO L87 Difference]: Start difference. First operand 69 states. Second operand 78 states. [2018-11-23 11:23:15,941 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2018-11-23 11:23:15,941 INFO L93 Difference]: Finished difference Result 78 states and 91 transitions. [2018-11-23 11:23:15,941 INFO L276 IsEmpty]: Start isEmpty. Operand 78 states and 91 transitions. [2018-11-23 11:23:15,941 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2018-11-23 11:23:15,942 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2018-11-23 11:23:15,942 INFO L88 GeneralOperation]: Finished isEquivalent. [2018-11-23 11:23:15,942 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2018-11-23 11:23:15,942 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 69 states. [2018-11-23 11:23:15,944 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 69 states to 69 states and 81 transitions. [2018-11-23 11:23:15,944 INFO L78 Accepts]: Start accepts. Automaton has 69 states and 81 transitions. Word has length 26 [2018-11-23 11:23:15,945 INFO L84 Accepts]: Finished accepts. word is rejected. [2018-11-23 11:23:15,945 INFO L480 AbstractCegarLoop]: Abstraction has 69 states and 81 transitions. [2018-11-23 11:23:15,945 INFO L481 AbstractCegarLoop]: Interpolant automaton has 21 states. [2018-11-23 11:23:15,945 INFO L276 IsEmpty]: Start isEmpty. Operand 69 states and 81 transitions. [2018-11-23 11:23:15,945 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 31 [2018-11-23 11:23:15,946 INFO L394 BasicCegarLoop]: Found error trace [2018-11-23 11:23:15,946 INFO L402 BasicCegarLoop]: trace histogram [4, 3, 3, 3, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1] [2018-11-23 11:23:15,946 INFO L423 AbstractCegarLoop]: === Iteration 10 === [__VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION]=== [2018-11-23 11:23:15,946 INFO L141 PredicateUnifier]: Initialized classic predicate unifier [2018-11-23 11:23:15,946 INFO L82 PathProgramCache]: Analyzing trace with hash -2138606929, now seen corresponding path program 3 times [2018-11-23 11:23:15,947 INFO L223 ckRefinementStrategy]: Switched to mode CVC4_FPBP [2018-11-23 11:23:15,947 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 11:23:15,976 INFO L101 rtionOrderModulation]: Changing assertion order to OUTSIDE_LOOP_FIRST2 [2018-11-23 11:23:16,092 INFO L249 tOrderPrioritization]: Assert order OUTSIDE_LOOP_FIRST2 issued 4 check-sat command(s) [2018-11-23 11:23:16,092 INFO L250 tOrderPrioritization]: Conjunction of SSA is unsat [2018-11-23 11:23:16,129 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2018-11-23 11:23:16,131 INFO L273 TraceCheckSpWp]: Computing forward predicates... [2018-11-23 11:23:16,187 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 17 treesize of output 14 [2018-11-23 11:23:16,192 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 14 treesize of output 13 [2018-11-23 11:23:16,194 INFO L267 ElimStorePlain]: Start of recursive call 3: End of recursive call: and 1 xjuncts. [2018-11-23 11:23:16,199 INFO L267 ElimStorePlain]: Start of recursive call 2: 1 dim-1 vars, End of recursive call: and 1 xjuncts. [2018-11-23 11:23:16,209 INFO L267 ElimStorePlain]: Start of recursive call 1: 1 dim-2 vars, End of recursive call: and 1 xjuncts. [2018-11-23 11:23:16,209 INFO L202 ElimStorePlain]: Needed 3 recursive calls to eliminate 1 variables, input treesize:21, output treesize:17 [2018-11-23 11:23:17,169 WARN L180 SmtUtils]: Spent 111.00 ms on a formula simplification that was a NOOP. DAG size: 34 [2018-11-23 11:23:17,713 WARN L180 SmtUtils]: Spent 200.00 ms on a formula simplification. DAG size of input: 34 DAG size of output: 34 [2018-11-23 11:23:18,038 INFO L256 TraceCheckUtils]: 0: Hoare triple {2720#true} call ULTIMATE.init(); {2720#true} is VALID [2018-11-23 11:23:18,038 INFO L273 TraceCheckUtils]: 1: Hoare triple {2720#true} #NULL.base, #NULL.offset := 0bv32, 0bv32;#valid := #valid[0bv32 := 0bv1];~SIZE~0 := 0bv32; {2720#true} is VALID [2018-11-23 11:23:18,039 INFO L273 TraceCheckUtils]: 2: Hoare triple {2720#true} assume true; {2720#true} is VALID [2018-11-23 11:23:18,039 INFO L268 TraceCheckUtils]: 3: Hoare quadruple {2720#true} {2720#true} #53#return; {2720#true} is VALID [2018-11-23 11:23:18,039 INFO L256 TraceCheckUtils]: 4: Hoare triple {2720#true} call #t~ret5 := main(); {2720#true} is VALID [2018-11-23 11:23:18,041 INFO L273 TraceCheckUtils]: 5: Hoare triple {2720#true} ~SIZE~0 := ~bvadd32(1bv32, ~bvudiv32(#t~nondet3, 2bv32));havoc #t~nondet3;call ~#a~0.base, ~#a~0.offset := #Ultimate.alloc(~bvmul32(4bv32, ~SIZE~0));call write~intINTTYPE4(3bv32, ~#a~0.base, ~bvadd32(~#a~0.offset, ~bvmul32(4bv32, ~bvudiv32(~SIZE~0, 2bv32))), 4bv32); {2740#(and (= |main_~#a~0.offset| (_ bv0 32)) (= (_ bv3 32) (select (select |#memory_int| |main_~#a~0.base|) (bvadd (bvmul (_ bv4 32) (bvudiv ~SIZE~0 (_ bv2 32))) |main_~#a~0.offset|))))} is VALID [2018-11-23 11:23:20,056 INFO L256 TraceCheckUtils]: 6: Hoare triple {2740#(and (= |main_~#a~0.offset| (_ bv0 32)) (= (_ bv3 32) (select (select |#memory_int| |main_~#a~0.base|) (bvadd (bvmul (_ bv4 32) (bvudiv ~SIZE~0 (_ bv2 32))) |main_~#a~0.offset|))))} call #t~ret4 := linear_search(~#a~0.base, ~#a~0.offset, ~SIZE~0, 3bv32); {2744#(exists ((|v_main_~#a~0.base_BEFORE_CALL_7| (_ BitVec 32))) (= (_ bv3 32) (select (select |#memory_int| |v_main_~#a~0.base_BEFORE_CALL_7|) (bvmul (_ bv4 32) (bvudiv ~SIZE~0 (_ bv2 32))))))} is UNKNOWN [2018-11-23 11:23:20,057 INFO L273 TraceCheckUtils]: 7: Hoare triple {2744#(exists ((|v_main_~#a~0.base_BEFORE_CALL_7| (_ BitVec 32))) (= (_ bv3 32) (select (select |#memory_int| |v_main_~#a~0.base_BEFORE_CALL_7|) (bvmul (_ bv4 32) (bvudiv ~SIZE~0 (_ bv2 32))))))} ~a.base, ~a.offset := #in~a.base, #in~a.offset;~n := #in~n;~q := #in~q;~j~0 := 0bv32; {2748#(and (= linear_search_~n |linear_search_#in~n|) (exists ((|v_main_~#a~0.base_BEFORE_CALL_7| (_ BitVec 32))) (= (_ bv3 32) (select (select |#memory_int| |v_main_~#a~0.base_BEFORE_CALL_7|) (bvmul (_ bv4 32) (bvudiv ~SIZE~0 (_ bv2 32)))))) (= linear_search_~q |linear_search_#in~q|) (= linear_search_~j~0 (_ bv0 32)) (= linear_search_~a.offset |linear_search_#in~a.offset|) (= |linear_search_#in~a.base| linear_search_~a.base))} is VALID [2018-11-23 11:23:20,058 INFO L273 TraceCheckUtils]: 8: Hoare triple {2748#(and (= linear_search_~n |linear_search_#in~n|) (exists ((|v_main_~#a~0.base_BEFORE_CALL_7| (_ BitVec 32))) (= (_ bv3 32) (select (select |#memory_int| |v_main_~#a~0.base_BEFORE_CALL_7|) (bvmul (_ bv4 32) (bvudiv ~SIZE~0 (_ bv2 32)))))) (= linear_search_~q |linear_search_#in~q|) (= linear_search_~j~0 (_ bv0 32)) (= linear_search_~a.offset |linear_search_#in~a.offset|) (= |linear_search_#in~a.base| linear_search_~a.base))} #t~short1 := ~bvult32(~j~0, ~n); {2748#(and (= linear_search_~n |linear_search_#in~n|) (exists ((|v_main_~#a~0.base_BEFORE_CALL_7| (_ BitVec 32))) (= (_ bv3 32) (select (select |#memory_int| |v_main_~#a~0.base_BEFORE_CALL_7|) (bvmul (_ bv4 32) (bvudiv ~SIZE~0 (_ bv2 32)))))) (= linear_search_~q |linear_search_#in~q|) (= linear_search_~j~0 (_ bv0 32)) (= linear_search_~a.offset |linear_search_#in~a.offset|) (= |linear_search_#in~a.base| linear_search_~a.base))} is VALID [2018-11-23 11:23:20,059 INFO L273 TraceCheckUtils]: 9: Hoare triple {2748#(and (= linear_search_~n |linear_search_#in~n|) (exists ((|v_main_~#a~0.base_BEFORE_CALL_7| (_ BitVec 32))) (= (_ bv3 32) (select (select |#memory_int| |v_main_~#a~0.base_BEFORE_CALL_7|) (bvmul (_ bv4 32) (bvudiv ~SIZE~0 (_ bv2 32)))))) (= linear_search_~q |linear_search_#in~q|) (= linear_search_~j~0 (_ bv0 32)) (= linear_search_~a.offset |linear_search_#in~a.offset|) (= |linear_search_#in~a.base| linear_search_~a.base))} assume #t~short1;call #t~mem0 := read~intINTTYPE4(~a.base, ~bvadd32(~a.offset, ~bvmul32(4bv32, ~j~0)), 4bv32);#t~short1 := #t~mem0 != ~q; {2748#(and (= linear_search_~n |linear_search_#in~n|) (exists ((|v_main_~#a~0.base_BEFORE_CALL_7| (_ BitVec 32))) (= (_ bv3 32) (select (select |#memory_int| |v_main_~#a~0.base_BEFORE_CALL_7|) (bvmul (_ bv4 32) (bvudiv ~SIZE~0 (_ bv2 32)))))) (= linear_search_~q |linear_search_#in~q|) (= linear_search_~j~0 (_ bv0 32)) (= linear_search_~a.offset |linear_search_#in~a.offset|) (= |linear_search_#in~a.base| linear_search_~a.base))} is VALID [2018-11-23 11:23:20,077 INFO L273 TraceCheckUtils]: 10: Hoare triple {2748#(and (= linear_search_~n |linear_search_#in~n|) (exists ((|v_main_~#a~0.base_BEFORE_CALL_7| (_ BitVec 32))) (= (_ bv3 32) (select (select |#memory_int| |v_main_~#a~0.base_BEFORE_CALL_7|) (bvmul (_ bv4 32) (bvudiv ~SIZE~0 (_ bv2 32)))))) (= linear_search_~q |linear_search_#in~q|) (= linear_search_~j~0 (_ bv0 32)) (= linear_search_~a.offset |linear_search_#in~a.offset|) (= |linear_search_#in~a.base| linear_search_~a.base))} assume !!#t~short1;havoc #t~short1;havoc #t~mem0;#t~post2 := ~j~0;~j~0 := ~bvadd32(1bv32, #t~post2);havoc #t~post2; {2758#(and (= (bvadd linear_search_~j~0 (_ bv4294967295 32)) (_ bv0 32)) (= linear_search_~n |linear_search_#in~n|) (exists ((|v_main_~#a~0.base_BEFORE_CALL_7| (_ BitVec 32))) (= (_ bv3 32) (select (select |#memory_int| |v_main_~#a~0.base_BEFORE_CALL_7|) (bvmul (_ bv4 32) (bvudiv ~SIZE~0 (_ bv2 32)))))) (= linear_search_~q |linear_search_#in~q|) (= linear_search_~a.offset |linear_search_#in~a.offset|) (= |linear_search_#in~a.base| linear_search_~a.base))} is VALID [2018-11-23 11:23:20,093 INFO L273 TraceCheckUtils]: 11: Hoare triple {2758#(and (= (bvadd linear_search_~j~0 (_ bv4294967295 32)) (_ bv0 32)) (= linear_search_~n |linear_search_#in~n|) (exists ((|v_main_~#a~0.base_BEFORE_CALL_7| (_ BitVec 32))) (= (_ bv3 32) (select (select |#memory_int| |v_main_~#a~0.base_BEFORE_CALL_7|) (bvmul (_ bv4 32) (bvudiv ~SIZE~0 (_ bv2 32)))))) (= linear_search_~q |linear_search_#in~q|) (= linear_search_~a.offset |linear_search_#in~a.offset|) (= |linear_search_#in~a.base| linear_search_~a.base))} assume !(20bv32 == ~j~0); {2758#(and (= (bvadd linear_search_~j~0 (_ bv4294967295 32)) (_ bv0 32)) (= linear_search_~n |linear_search_#in~n|) (exists ((|v_main_~#a~0.base_BEFORE_CALL_7| (_ BitVec 32))) (= (_ bv3 32) (select (select |#memory_int| |v_main_~#a~0.base_BEFORE_CALL_7|) (bvmul (_ bv4 32) (bvudiv ~SIZE~0 (_ bv2 32)))))) (= linear_search_~q |linear_search_#in~q|) (= linear_search_~a.offset |linear_search_#in~a.offset|) (= |linear_search_#in~a.base| linear_search_~a.base))} is VALID [2018-11-23 11:23:20,108 INFO L273 TraceCheckUtils]: 12: Hoare triple {2758#(and (= (bvadd linear_search_~j~0 (_ bv4294967295 32)) (_ bv0 32)) (= linear_search_~n |linear_search_#in~n|) (exists ((|v_main_~#a~0.base_BEFORE_CALL_7| (_ BitVec 32))) (= (_ bv3 32) (select (select |#memory_int| |v_main_~#a~0.base_BEFORE_CALL_7|) (bvmul (_ bv4 32) (bvudiv ~SIZE~0 (_ bv2 32)))))) (= linear_search_~q |linear_search_#in~q|) (= linear_search_~a.offset |linear_search_#in~a.offset|) (= |linear_search_#in~a.base| linear_search_~a.base))} #t~short1 := ~bvult32(~j~0, ~n); {2758#(and (= (bvadd linear_search_~j~0 (_ bv4294967295 32)) (_ bv0 32)) (= linear_search_~n |linear_search_#in~n|) (exists ((|v_main_~#a~0.base_BEFORE_CALL_7| (_ BitVec 32))) (= (_ bv3 32) (select (select |#memory_int| |v_main_~#a~0.base_BEFORE_CALL_7|) (bvmul (_ bv4 32) (bvudiv ~SIZE~0 (_ bv2 32)))))) (= linear_search_~q |linear_search_#in~q|) (= linear_search_~a.offset |linear_search_#in~a.offset|) (= |linear_search_#in~a.base| linear_search_~a.base))} is VALID [2018-11-23 11:23:20,114 INFO L273 TraceCheckUtils]: 13: Hoare triple {2758#(and (= (bvadd linear_search_~j~0 (_ bv4294967295 32)) (_ bv0 32)) (= linear_search_~n |linear_search_#in~n|) (exists ((|v_main_~#a~0.base_BEFORE_CALL_7| (_ BitVec 32))) (= (_ bv3 32) (select (select |#memory_int| |v_main_~#a~0.base_BEFORE_CALL_7|) (bvmul (_ bv4 32) (bvudiv ~SIZE~0 (_ bv2 32)))))) (= linear_search_~q |linear_search_#in~q|) (= linear_search_~a.offset |linear_search_#in~a.offset|) (= |linear_search_#in~a.base| linear_search_~a.base))} assume #t~short1;call #t~mem0 := read~intINTTYPE4(~a.base, ~bvadd32(~a.offset, ~bvmul32(4bv32, ~j~0)), 4bv32);#t~short1 := #t~mem0 != ~q; {2768#(or (and (= (bvadd linear_search_~j~0 (_ bv4294967295 32)) (_ bv0 32)) (= linear_search_~n |linear_search_#in~n|) (exists ((|v_main_~#a~0.base_BEFORE_CALL_7| (_ BitVec 32))) (= (_ bv3 32) (select (select |#memory_int| |v_main_~#a~0.base_BEFORE_CALL_7|) (bvmul (_ bv4 32) (bvudiv ~SIZE~0 (_ bv2 32)))))) (not |linear_search_#t~short1|) (= (select (select |#memory_int| |linear_search_#in~a.base|) (bvadd |linear_search_#in~a.offset| (bvmul (_ bv4 32) linear_search_~j~0))) |linear_search_#in~q|)) (and (not (= (select (select |#memory_int| |linear_search_#in~a.base|) (bvadd |linear_search_#in~a.offset| (bvmul (_ bv4 32) linear_search_~j~0))) |linear_search_#in~q|)) (= (bvadd linear_search_~j~0 (_ bv4294967295 32)) (_ bv0 32)) (= linear_search_~n |linear_search_#in~n|) (exists ((|v_main_~#a~0.base_BEFORE_CALL_7| (_ BitVec 32))) (= (_ bv3 32) (select (select |#memory_int| |v_main_~#a~0.base_BEFORE_CALL_7|) (bvmul (_ bv4 32) (bvudiv ~SIZE~0 (_ bv2 32)))))) |linear_search_#t~short1|))} is VALID [2018-11-23 11:23:20,242 INFO L273 TraceCheckUtils]: 14: Hoare triple {2768#(or (and (= (bvadd linear_search_~j~0 (_ bv4294967295 32)) (_ bv0 32)) (= linear_search_~n |linear_search_#in~n|) (exists ((|v_main_~#a~0.base_BEFORE_CALL_7| (_ BitVec 32))) (= (_ bv3 32) (select (select |#memory_int| |v_main_~#a~0.base_BEFORE_CALL_7|) (bvmul (_ bv4 32) (bvudiv ~SIZE~0 (_ bv2 32)))))) (not |linear_search_#t~short1|) (= (select (select |#memory_int| |linear_search_#in~a.base|) (bvadd |linear_search_#in~a.offset| (bvmul (_ bv4 32) linear_search_~j~0))) |linear_search_#in~q|)) (and (not (= (select (select |#memory_int| |linear_search_#in~a.base|) (bvadd |linear_search_#in~a.offset| (bvmul (_ bv4 32) linear_search_~j~0))) |linear_search_#in~q|)) (= (bvadd linear_search_~j~0 (_ bv4294967295 32)) (_ bv0 32)) (= linear_search_~n |linear_search_#in~n|) (exists ((|v_main_~#a~0.base_BEFORE_CALL_7| (_ BitVec 32))) (= (_ bv3 32) (select (select |#memory_int| |v_main_~#a~0.base_BEFORE_CALL_7|) (bvmul (_ bv4 32) (bvudiv ~SIZE~0 (_ bv2 32)))))) |linear_search_#t~short1|))} assume !!#t~short1;havoc #t~short1;havoc #t~mem0;#t~post2 := ~j~0;~j~0 := ~bvadd32(1bv32, #t~post2);havoc #t~post2; {2772#(and (= (_ bv2 32) linear_search_~j~0) (= linear_search_~n |linear_search_#in~n|) (not (= (select (select |#memory_int| |linear_search_#in~a.base|) (bvadd |linear_search_#in~a.offset| (bvmul (_ bv4 32) linear_search_~j~0) (_ bv4294967292 32))) |linear_search_#in~q|)) (exists ((|v_main_~#a~0.base_BEFORE_CALL_7| (_ BitVec 32))) (= (_ bv3 32) (select (select |#memory_int| |v_main_~#a~0.base_BEFORE_CALL_7|) (bvmul (_ bv4 32) (bvudiv ~SIZE~0 (_ bv2 32)))))))} is VALID [2018-11-23 11:23:20,243 INFO L273 TraceCheckUtils]: 15: Hoare triple {2772#(and (= (_ bv2 32) linear_search_~j~0) (= linear_search_~n |linear_search_#in~n|) (not (= (select (select |#memory_int| |linear_search_#in~a.base|) (bvadd |linear_search_#in~a.offset| (bvmul (_ bv4 32) linear_search_~j~0) (_ bv4294967292 32))) |linear_search_#in~q|)) (exists ((|v_main_~#a~0.base_BEFORE_CALL_7| (_ BitVec 32))) (= (_ bv3 32) (select (select |#memory_int| |v_main_~#a~0.base_BEFORE_CALL_7|) (bvmul (_ bv4 32) (bvudiv ~SIZE~0 (_ bv2 32)))))))} assume !(20bv32 == ~j~0); {2772#(and (= (_ bv2 32) linear_search_~j~0) (= linear_search_~n |linear_search_#in~n|) (not (= (select (select |#memory_int| |linear_search_#in~a.base|) (bvadd |linear_search_#in~a.offset| (bvmul (_ bv4 32) linear_search_~j~0) (_ bv4294967292 32))) |linear_search_#in~q|)) (exists ((|v_main_~#a~0.base_BEFORE_CALL_7| (_ BitVec 32))) (= (_ bv3 32) (select (select |#memory_int| |v_main_~#a~0.base_BEFORE_CALL_7|) (bvmul (_ bv4 32) (bvudiv ~SIZE~0 (_ bv2 32)))))))} is VALID [2018-11-23 11:23:20,245 INFO L273 TraceCheckUtils]: 16: Hoare triple {2772#(and (= (_ bv2 32) linear_search_~j~0) (= linear_search_~n |linear_search_#in~n|) (not (= (select (select |#memory_int| |linear_search_#in~a.base|) (bvadd |linear_search_#in~a.offset| (bvmul (_ bv4 32) linear_search_~j~0) (_ bv4294967292 32))) |linear_search_#in~q|)) (exists ((|v_main_~#a~0.base_BEFORE_CALL_7| (_ BitVec 32))) (= (_ bv3 32) (select (select |#memory_int| |v_main_~#a~0.base_BEFORE_CALL_7|) (bvmul (_ bv4 32) (bvudiv ~SIZE~0 (_ bv2 32)))))))} #t~short1 := ~bvult32(~j~0, ~n); {2779#(or (and (= (_ bv2 32) linear_search_~j~0) (= linear_search_~n |linear_search_#in~n|) (not (= (select (select |#memory_int| |linear_search_#in~a.base|) (bvadd |linear_search_#in~a.offset| (bvmul (_ bv4 32) linear_search_~j~0) (_ bv4294967292 32))) |linear_search_#in~q|)) (exists ((|v_main_~#a~0.base_BEFORE_CALL_7| (_ BitVec 32))) (= (_ bv3 32) (select (select |#memory_int| |v_main_~#a~0.base_BEFORE_CALL_7|) (bvmul (_ bv4 32) (bvudiv ~SIZE~0 (_ bv2 32)))))) (not (bvult linear_search_~j~0 linear_search_~n)) (not |linear_search_#t~short1|)) (and (= (_ bv2 32) linear_search_~j~0) (= linear_search_~n |linear_search_#in~n|) (not (= (select (select |#memory_int| |linear_search_#in~a.base|) (bvadd |linear_search_#in~a.offset| (bvmul (_ bv4 32) linear_search_~j~0) (_ bv4294967292 32))) |linear_search_#in~q|)) (exists ((|v_main_~#a~0.base_BEFORE_CALL_7| (_ BitVec 32))) (= (_ bv3 32) (select (select |#memory_int| |v_main_~#a~0.base_BEFORE_CALL_7|) (bvmul (_ bv4 32) (bvudiv ~SIZE~0 (_ bv2 32)))))) (bvult linear_search_~j~0 linear_search_~n) |linear_search_#t~short1|))} is VALID [2018-11-23 11:23:20,246 INFO L273 TraceCheckUtils]: 17: Hoare triple {2779#(or (and (= (_ bv2 32) linear_search_~j~0) (= linear_search_~n |linear_search_#in~n|) (not (= (select (select |#memory_int| |linear_search_#in~a.base|) (bvadd |linear_search_#in~a.offset| (bvmul (_ bv4 32) linear_search_~j~0) (_ bv4294967292 32))) |linear_search_#in~q|)) (exists ((|v_main_~#a~0.base_BEFORE_CALL_7| (_ BitVec 32))) (= (_ bv3 32) (select (select |#memory_int| |v_main_~#a~0.base_BEFORE_CALL_7|) (bvmul (_ bv4 32) (bvudiv ~SIZE~0 (_ bv2 32)))))) (not (bvult linear_search_~j~0 linear_search_~n)) (not |linear_search_#t~short1|)) (and (= (_ bv2 32) linear_search_~j~0) (= linear_search_~n |linear_search_#in~n|) (not (= (select (select |#memory_int| |linear_search_#in~a.base|) (bvadd |linear_search_#in~a.offset| (bvmul (_ bv4 32) linear_search_~j~0) (_ bv4294967292 32))) |linear_search_#in~q|)) (exists ((|v_main_~#a~0.base_BEFORE_CALL_7| (_ BitVec 32))) (= (_ bv3 32) (select (select |#memory_int| |v_main_~#a~0.base_BEFORE_CALL_7|) (bvmul (_ bv4 32) (bvudiv ~SIZE~0 (_ bv2 32)))))) (bvult linear_search_~j~0 linear_search_~n) |linear_search_#t~short1|))} assume #t~short1;call #t~mem0 := read~intINTTYPE4(~a.base, ~bvadd32(~a.offset, ~bvmul32(4bv32, ~j~0)), 4bv32);#t~short1 := #t~mem0 != ~q; {2783#(and (= (_ bv2 32) linear_search_~j~0) (= linear_search_~n |linear_search_#in~n|) (not (= (select (select |#memory_int| |linear_search_#in~a.base|) (bvadd |linear_search_#in~a.offset| (bvmul (_ bv4 32) linear_search_~j~0) (_ bv4294967292 32))) |linear_search_#in~q|)) (exists ((|v_main_~#a~0.base_BEFORE_CALL_7| (_ BitVec 32))) (= (_ bv3 32) (select (select |#memory_int| |v_main_~#a~0.base_BEFORE_CALL_7|) (bvmul (_ bv4 32) (bvudiv ~SIZE~0 (_ bv2 32)))))) (bvult linear_search_~j~0 linear_search_~n))} is VALID [2018-11-23 11:23:20,248 INFO L273 TraceCheckUtils]: 18: Hoare triple {2783#(and (= (_ bv2 32) linear_search_~j~0) (= linear_search_~n |linear_search_#in~n|) (not (= (select (select |#memory_int| |linear_search_#in~a.base|) (bvadd |linear_search_#in~a.offset| (bvmul (_ bv4 32) linear_search_~j~0) (_ bv4294967292 32))) |linear_search_#in~q|)) (exists ((|v_main_~#a~0.base_BEFORE_CALL_7| (_ BitVec 32))) (= (_ bv3 32) (select (select |#memory_int| |v_main_~#a~0.base_BEFORE_CALL_7|) (bvmul (_ bv4 32) (bvudiv ~SIZE~0 (_ bv2 32)))))) (bvult linear_search_~j~0 linear_search_~n))} assume !!#t~short1;havoc #t~short1;havoc #t~mem0;#t~post2 := ~j~0;~j~0 := ~bvadd32(1bv32, #t~post2);havoc #t~post2; {2787#(and (bvult (_ bv2 32) linear_search_~n) (= (bvadd linear_search_~j~0 (_ bv4294967293 32)) (_ bv0 32)) (= linear_search_~n |linear_search_#in~n|) (not (= (select (select |#memory_int| |linear_search_#in~a.base|) (bvadd |linear_search_#in~a.offset| (_ bv4 32))) |linear_search_#in~q|)) (exists ((|v_main_~#a~0.base_BEFORE_CALL_7| (_ BitVec 32))) (= (_ bv3 32) (select (select |#memory_int| |v_main_~#a~0.base_BEFORE_CALL_7|) (bvmul (_ bv4 32) (bvudiv ~SIZE~0 (_ bv2 32)))))))} is VALID [2018-11-23 11:23:20,249 INFO L273 TraceCheckUtils]: 19: Hoare triple {2787#(and (bvult (_ bv2 32) linear_search_~n) (= (bvadd linear_search_~j~0 (_ bv4294967293 32)) (_ bv0 32)) (= linear_search_~n |linear_search_#in~n|) (not (= (select (select |#memory_int| |linear_search_#in~a.base|) (bvadd |linear_search_#in~a.offset| (_ bv4 32))) |linear_search_#in~q|)) (exists ((|v_main_~#a~0.base_BEFORE_CALL_7| (_ BitVec 32))) (= (_ bv3 32) (select (select |#memory_int| |v_main_~#a~0.base_BEFORE_CALL_7|) (bvmul (_ bv4 32) (bvudiv ~SIZE~0 (_ bv2 32)))))))} assume !(20bv32 == ~j~0); {2787#(and (bvult (_ bv2 32) linear_search_~n) (= (bvadd linear_search_~j~0 (_ bv4294967293 32)) (_ bv0 32)) (= linear_search_~n |linear_search_#in~n|) (not (= (select (select |#memory_int| |linear_search_#in~a.base|) (bvadd |linear_search_#in~a.offset| (_ bv4 32))) |linear_search_#in~q|)) (exists ((|v_main_~#a~0.base_BEFORE_CALL_7| (_ BitVec 32))) (= (_ bv3 32) (select (select |#memory_int| |v_main_~#a~0.base_BEFORE_CALL_7|) (bvmul (_ bv4 32) (bvudiv ~SIZE~0 (_ bv2 32)))))))} is VALID [2018-11-23 11:23:20,252 INFO L273 TraceCheckUtils]: 20: Hoare triple {2787#(and (bvult (_ bv2 32) linear_search_~n) (= (bvadd linear_search_~j~0 (_ bv4294967293 32)) (_ bv0 32)) (= linear_search_~n |linear_search_#in~n|) (not (= (select (select |#memory_int| |linear_search_#in~a.base|) (bvadd |linear_search_#in~a.offset| (_ bv4 32))) |linear_search_#in~q|)) (exists ((|v_main_~#a~0.base_BEFORE_CALL_7| (_ BitVec 32))) (= (_ bv3 32) (select (select |#memory_int| |v_main_~#a~0.base_BEFORE_CALL_7|) (bvmul (_ bv4 32) (bvudiv ~SIZE~0 (_ bv2 32)))))))} #t~short1 := ~bvult32(~j~0, ~n); {2794#(or (and (bvult (_ bv2 32) |linear_search_#in~n|) (not (bvult linear_search_~j~0 |linear_search_#in~n|)) (= (bvadd linear_search_~j~0 (_ bv4294967293 32)) (_ bv0 32)) (not (= (select (select |#memory_int| |linear_search_#in~a.base|) (bvadd |linear_search_#in~a.offset| (_ bv4 32))) |linear_search_#in~q|)) (exists ((|v_main_~#a~0.base_BEFORE_CALL_7| (_ BitVec 32))) (= (_ bv3 32) (select (select |#memory_int| |v_main_~#a~0.base_BEFORE_CALL_7|) (bvmul (_ bv4 32) (bvudiv ~SIZE~0 (_ bv2 32)))))) (not |linear_search_#t~short1|)) (and (= (bvadd linear_search_~j~0 (_ bv4294967293 32)) (_ bv0 32)) (not (= (select (select |#memory_int| |linear_search_#in~a.base|) (bvadd |linear_search_#in~a.offset| (_ bv4 32))) |linear_search_#in~q|)) (exists ((|v_main_~#a~0.base_BEFORE_CALL_7| (_ BitVec 32))) (= (_ bv3 32) (select (select |#memory_int| |v_main_~#a~0.base_BEFORE_CALL_7|) (bvmul (_ bv4 32) (bvudiv ~SIZE~0 (_ bv2 32)))))) (bvult linear_search_~j~0 |linear_search_#in~n|) |linear_search_#t~short1|))} is VALID [2018-11-23 11:23:20,255 INFO L273 TraceCheckUtils]: 21: Hoare triple {2794#(or (and (bvult (_ bv2 32) |linear_search_#in~n|) (not (bvult linear_search_~j~0 |linear_search_#in~n|)) (= (bvadd linear_search_~j~0 (_ bv4294967293 32)) (_ bv0 32)) (not (= (select (select |#memory_int| |linear_search_#in~a.base|) (bvadd |linear_search_#in~a.offset| (_ bv4 32))) |linear_search_#in~q|)) (exists ((|v_main_~#a~0.base_BEFORE_CALL_7| (_ BitVec 32))) (= (_ bv3 32) (select (select |#memory_int| |v_main_~#a~0.base_BEFORE_CALL_7|) (bvmul (_ bv4 32) (bvudiv ~SIZE~0 (_ bv2 32)))))) (not |linear_search_#t~short1|)) (and (= (bvadd linear_search_~j~0 (_ bv4294967293 32)) (_ bv0 32)) (not (= (select (select |#memory_int| |linear_search_#in~a.base|) (bvadd |linear_search_#in~a.offset| (_ bv4 32))) |linear_search_#in~q|)) (exists ((|v_main_~#a~0.base_BEFORE_CALL_7| (_ BitVec 32))) (= (_ bv3 32) (select (select |#memory_int| |v_main_~#a~0.base_BEFORE_CALL_7|) (bvmul (_ bv4 32) (bvudiv ~SIZE~0 (_ bv2 32)))))) (bvult linear_search_~j~0 |linear_search_#in~n|) |linear_search_#t~short1|))} assume !#t~short1; {2798#(and (bvult (_ bv2 32) |linear_search_#in~n|) (not (bvult linear_search_~j~0 |linear_search_#in~n|)) (= (bvadd linear_search_~j~0 (_ bv4294967293 32)) (_ bv0 32)) (not (= (select (select |#memory_int| |linear_search_#in~a.base|) (bvadd |linear_search_#in~a.offset| (_ bv4 32))) |linear_search_#in~q|)) (exists ((|v_main_~#a~0.base_BEFORE_CALL_7| (_ BitVec 32))) (= (_ bv3 32) (select (select |#memory_int| |v_main_~#a~0.base_BEFORE_CALL_7|) (bvmul (_ bv4 32) (bvudiv ~SIZE~0 (_ bv2 32)))))))} is VALID [2018-11-23 11:23:20,257 INFO L273 TraceCheckUtils]: 22: Hoare triple {2798#(and (bvult (_ bv2 32) |linear_search_#in~n|) (not (bvult linear_search_~j~0 |linear_search_#in~n|)) (= (bvadd linear_search_~j~0 (_ bv4294967293 32)) (_ bv0 32)) (not (= (select (select |#memory_int| |linear_search_#in~a.base|) (bvadd |linear_search_#in~a.offset| (_ bv4 32))) |linear_search_#in~q|)) (exists ((|v_main_~#a~0.base_BEFORE_CALL_7| (_ BitVec 32))) (= (_ bv3 32) (select (select |#memory_int| |v_main_~#a~0.base_BEFORE_CALL_7|) (bvmul (_ bv4 32) (bvudiv ~SIZE~0 (_ bv2 32)))))))} assume !#t~short1;havoc #t~short1;havoc #t~mem0; {2798#(and (bvult (_ bv2 32) |linear_search_#in~n|) (not (bvult linear_search_~j~0 |linear_search_#in~n|)) (= (bvadd linear_search_~j~0 (_ bv4294967293 32)) (_ bv0 32)) (not (= (select (select |#memory_int| |linear_search_#in~a.base|) (bvadd |linear_search_#in~a.offset| (_ bv4 32))) |linear_search_#in~q|)) (exists ((|v_main_~#a~0.base_BEFORE_CALL_7| (_ BitVec 32))) (= (_ bv3 32) (select (select |#memory_int| |v_main_~#a~0.base_BEFORE_CALL_7|) (bvmul (_ bv4 32) (bvudiv ~SIZE~0 (_ bv2 32)))))))} is VALID [2018-11-23 11:23:20,259 INFO L273 TraceCheckUtils]: 23: Hoare triple {2798#(and (bvult (_ bv2 32) |linear_search_#in~n|) (not (bvult linear_search_~j~0 |linear_search_#in~n|)) (= (bvadd linear_search_~j~0 (_ bv4294967293 32)) (_ bv0 32)) (not (= (select (select |#memory_int| |linear_search_#in~a.base|) (bvadd |linear_search_#in~a.offset| (_ bv4 32))) |linear_search_#in~q|)) (exists ((|v_main_~#a~0.base_BEFORE_CALL_7| (_ BitVec 32))) (= (_ bv3 32) (select (select |#memory_int| |v_main_~#a~0.base_BEFORE_CALL_7|) (bvmul (_ bv4 32) (bvudiv ~SIZE~0 (_ bv2 32)))))))} assume !~bvult32(~j~0, ~SIZE~0);#res := 0bv32; {2805#(and (bvult (_ bv2 32) |linear_search_#in~n|) (not (bvult (_ bv3 32) |linear_search_#in~n|)) (not (= (select (select |#memory_int| |linear_search_#in~a.base|) (bvadd |linear_search_#in~a.offset| (_ bv4 32))) |linear_search_#in~q|)) (exists ((|v_main_~#a~0.base_BEFORE_CALL_7| (_ BitVec 32))) (= (_ bv3 32) (select (select |#memory_int| |v_main_~#a~0.base_BEFORE_CALL_7|) (bvmul (_ bv4 32) (bvudiv ~SIZE~0 (_ bv2 32)))))) (not (bvult (_ bv3 32) ~SIZE~0)))} is VALID [2018-11-23 11:23:20,262 INFO L273 TraceCheckUtils]: 24: Hoare triple {2805#(and (bvult (_ bv2 32) |linear_search_#in~n|) (not (bvult (_ bv3 32) |linear_search_#in~n|)) (not (= (select (select |#memory_int| |linear_search_#in~a.base|) (bvadd |linear_search_#in~a.offset| (_ bv4 32))) |linear_search_#in~q|)) (exists ((|v_main_~#a~0.base_BEFORE_CALL_7| (_ BitVec 32))) (= (_ bv3 32) (select (select |#memory_int| |v_main_~#a~0.base_BEFORE_CALL_7|) (bvmul (_ bv4 32) (bvudiv ~SIZE~0 (_ bv2 32)))))) (not (bvult (_ bv3 32) ~SIZE~0)))} assume true; {2805#(and (bvult (_ bv2 32) |linear_search_#in~n|) (not (bvult (_ bv3 32) |linear_search_#in~n|)) (not (= (select (select |#memory_int| |linear_search_#in~a.base|) (bvadd |linear_search_#in~a.offset| (_ bv4 32))) |linear_search_#in~q|)) (exists ((|v_main_~#a~0.base_BEFORE_CALL_7| (_ BitVec 32))) (= (_ bv3 32) (select (select |#memory_int| |v_main_~#a~0.base_BEFORE_CALL_7|) (bvmul (_ bv4 32) (bvudiv ~SIZE~0 (_ bv2 32)))))) (not (bvult (_ bv3 32) ~SIZE~0)))} is VALID [2018-11-23 11:23:20,266 INFO L268 TraceCheckUtils]: 25: Hoare quadruple {2805#(and (bvult (_ bv2 32) |linear_search_#in~n|) (not (bvult (_ bv3 32) |linear_search_#in~n|)) (not (= (select (select |#memory_int| |linear_search_#in~a.base|) (bvadd |linear_search_#in~a.offset| (_ bv4 32))) |linear_search_#in~q|)) (exists ((|v_main_~#a~0.base_BEFORE_CALL_7| (_ BitVec 32))) (= (_ bv3 32) (select (select |#memory_int| |v_main_~#a~0.base_BEFORE_CALL_7|) (bvmul (_ bv4 32) (bvudiv ~SIZE~0 (_ bv2 32)))))) (not (bvult (_ bv3 32) ~SIZE~0)))} {2740#(and (= |main_~#a~0.offset| (_ bv0 32)) (= (_ bv3 32) (select (select |#memory_int| |main_~#a~0.base|) (bvadd (bvmul (_ bv4 32) (bvudiv ~SIZE~0 (_ bv2 32))) |main_~#a~0.offset|))))} #57#return; {2721#false} is VALID [2018-11-23 11:23:20,266 INFO L256 TraceCheckUtils]: 26: Hoare triple {2721#false} call __VERIFIER_assert(#t~ret4); {2721#false} is VALID [2018-11-23 11:23:20,266 INFO L273 TraceCheckUtils]: 27: Hoare triple {2721#false} ~cond := #in~cond; {2721#false} is VALID [2018-11-23 11:23:20,266 INFO L273 TraceCheckUtils]: 28: Hoare triple {2721#false} assume 0bv32 == ~cond; {2721#false} is VALID [2018-11-23 11:23:20,267 INFO L273 TraceCheckUtils]: 29: Hoare triple {2721#false} assume !false; {2721#false} is VALID [2018-11-23 11:23:20,274 INFO L134 CoverageAnalysis]: Checked inductivity of 21 backedges. 0 proven. 21 refuted. 0 times theorem prover too weak. 0 trivial. 0 not checked. [2018-11-23 11:23:20,274 INFO L316 TraceCheckSpWp]: Computing backward predicates... [2018-11-23 11:23:20,572 WARN L180 SmtUtils]: Spent 294.00 ms on a formula simplification. DAG size of input: 58 DAG size of output: 46 [2018-11-23 11:23:20,853 WARN L180 SmtUtils]: Spent 183.00 ms on a formula simplification. DAG size of input: 46 DAG size of output: 44 [2018-11-23 11:23:25,413 WARN L180 SmtUtils]: Spent 122.00 ms on a formula simplification that was a NOOP. DAG size: 31 [2018-11-23 11:23:26,413 WARN L180 SmtUtils]: Spent 121.00 ms on a formula simplification that was a NOOP. DAG size: 37 [2018-11-23 11:23:26,786 WARN L180 SmtUtils]: Spent 173.00 ms on a formula simplification that was a NOOP. DAG size: 42 [2018-11-23 11:23:27,126 WARN L180 SmtUtils]: Spent 161.00 ms on a formula simplification that was a NOOP. DAG size: 41 [2018-11-23 11:23:28,745 INFO L273 TraceCheckUtils]: 29: Hoare triple {2721#false} assume !false; {2721#false} is VALID [2018-11-23 11:23:28,745 INFO L273 TraceCheckUtils]: 28: Hoare triple {2721#false} assume 0bv32 == ~cond; {2721#false} is VALID [2018-11-23 11:23:28,746 INFO L273 TraceCheckUtils]: 27: Hoare triple {2721#false} ~cond := #in~cond; {2721#false} is VALID [2018-11-23 11:23:28,746 INFO L256 TraceCheckUtils]: 26: Hoare triple {2721#false} call __VERIFIER_assert(#t~ret4); {2721#false} is VALID [2018-11-23 11:23:28,749 INFO L268 TraceCheckUtils]: 25: Hoare quadruple {2840#(or (not (= ~SIZE~0 |linear_search_#in~n|)) (not (= (_ bv3 32) |linear_search_#in~q|)) (and (bvult (_ bv2 32) ~SIZE~0) (not (= (_ bv3 32) (select (select |#memory_int| |linear_search_#in~a.base|) (bvadd |linear_search_#in~a.offset| (_ bv4 32))))) (not (bvult (_ bv3 32) ~SIZE~0))))} {2836#(or (= (bvadd (select (select |#memory_int| |main_~#a~0.base|) (bvadd |main_~#a~0.offset| (_ bv4 32))) (_ bv4294967293 32)) (_ bv0 32)) (bvult (_ bv3 32) ~SIZE~0) (not (bvult (_ bv2 32) ~SIZE~0)))} #57#return; {2721#false} is VALID [2018-11-23 11:23:28,750 INFO L273 TraceCheckUtils]: 24: Hoare triple {2840#(or (not (= ~SIZE~0 |linear_search_#in~n|)) (not (= (_ bv3 32) |linear_search_#in~q|)) (and (bvult (_ bv2 32) ~SIZE~0) (not (= (_ bv3 32) (select (select |#memory_int| |linear_search_#in~a.base|) (bvadd |linear_search_#in~a.offset| (_ bv4 32))))) (not (bvult (_ bv3 32) ~SIZE~0))))} assume true; {2840#(or (not (= ~SIZE~0 |linear_search_#in~n|)) (not (= (_ bv3 32) |linear_search_#in~q|)) (and (bvult (_ bv2 32) ~SIZE~0) (not (= (_ bv3 32) (select (select |#memory_int| |linear_search_#in~a.base|) (bvadd |linear_search_#in~a.offset| (_ bv4 32))))) (not (bvult (_ bv3 32) ~SIZE~0))))} is VALID [2018-11-23 11:23:28,751 INFO L273 TraceCheckUtils]: 23: Hoare triple {2847#(or (bvult linear_search_~j~0 ~SIZE~0) (not (= ~SIZE~0 |linear_search_#in~n|)) (not (= (_ bv3 32) |linear_search_#in~q|)) (and (bvult (_ bv2 32) ~SIZE~0) (not (= (_ bv3 32) (select (select |#memory_int| |linear_search_#in~a.base|) (bvadd |linear_search_#in~a.offset| (_ bv4 32))))) (not (bvult (_ bv3 32) ~SIZE~0))))} assume !~bvult32(~j~0, ~SIZE~0);#res := 0bv32; {2840#(or (not (= ~SIZE~0 |linear_search_#in~n|)) (not (= (_ bv3 32) |linear_search_#in~q|)) (and (bvult (_ bv2 32) ~SIZE~0) (not (= (_ bv3 32) (select (select |#memory_int| |linear_search_#in~a.base|) (bvadd |linear_search_#in~a.offset| (_ bv4 32))))) (not (bvult (_ bv3 32) ~SIZE~0))))} is VALID [2018-11-23 11:23:28,751 INFO L273 TraceCheckUtils]: 22: Hoare triple {2847#(or (bvult linear_search_~j~0 ~SIZE~0) (not (= ~SIZE~0 |linear_search_#in~n|)) (not (= (_ bv3 32) |linear_search_#in~q|)) (and (bvult (_ bv2 32) ~SIZE~0) (not (= (_ bv3 32) (select (select |#memory_int| |linear_search_#in~a.base|) (bvadd |linear_search_#in~a.offset| (_ bv4 32))))) (not (bvult (_ bv3 32) ~SIZE~0))))} assume !#t~short1;havoc #t~short1;havoc #t~mem0; {2847#(or (bvult linear_search_~j~0 ~SIZE~0) (not (= ~SIZE~0 |linear_search_#in~n|)) (not (= (_ bv3 32) |linear_search_#in~q|)) (and (bvult (_ bv2 32) ~SIZE~0) (not (= (_ bv3 32) (select (select |#memory_int| |linear_search_#in~a.base|) (bvadd |linear_search_#in~a.offset| (_ bv4 32))))) (not (bvult (_ bv3 32) ~SIZE~0))))} is VALID [2018-11-23 11:23:28,752 INFO L273 TraceCheckUtils]: 21: Hoare triple {2854#(or (bvult linear_search_~j~0 ~SIZE~0) (not (= ~SIZE~0 |linear_search_#in~n|)) (not (= (_ bv3 32) |linear_search_#in~q|)) |linear_search_#t~short1| (and (bvult (_ bv2 32) ~SIZE~0) (not (= (_ bv3 32) (select (select |#memory_int| |linear_search_#in~a.base|) (bvadd |linear_search_#in~a.offset| (_ bv4 32))))) (not (bvult (_ bv3 32) ~SIZE~0))))} assume !#t~short1; {2847#(or (bvult linear_search_~j~0 ~SIZE~0) (not (= ~SIZE~0 |linear_search_#in~n|)) (not (= (_ bv3 32) |linear_search_#in~q|)) (and (bvult (_ bv2 32) ~SIZE~0) (not (= (_ bv3 32) (select (select |#memory_int| |linear_search_#in~a.base|) (bvadd |linear_search_#in~a.offset| (_ bv4 32))))) (not (bvult (_ bv3 32) ~SIZE~0))))} is VALID [2018-11-23 11:23:28,754 INFO L273 TraceCheckUtils]: 20: Hoare triple {2858#(and (or (bvult linear_search_~j~0 ~SIZE~0) (not (= ~SIZE~0 |linear_search_#in~n|)) (bvult (_ bv2 32) ~SIZE~0) (not (= (_ bv3 32) |linear_search_#in~q|)) (bvult linear_search_~j~0 linear_search_~n)) (or (bvult linear_search_~j~0 ~SIZE~0) (not (= ~SIZE~0 |linear_search_#in~n|)) (not (= (_ bv3 32) (select (select |#memory_int| |linear_search_#in~a.base|) (bvadd |linear_search_#in~a.offset| (_ bv4 32))))) (not (= (_ bv3 32) |linear_search_#in~q|)) (bvult linear_search_~j~0 linear_search_~n)) (or (bvult linear_search_~j~0 ~SIZE~0) (not (= ~SIZE~0 |linear_search_#in~n|)) (not (= (_ bv3 32) |linear_search_#in~q|)) (bvult linear_search_~j~0 linear_search_~n) (not (bvult (_ bv3 32) ~SIZE~0))))} #t~short1 := ~bvult32(~j~0, ~n); {2854#(or (bvult linear_search_~j~0 ~SIZE~0) (not (= ~SIZE~0 |linear_search_#in~n|)) (not (= (_ bv3 32) |linear_search_#in~q|)) |linear_search_#t~short1| (and (bvult (_ bv2 32) ~SIZE~0) (not (= (_ bv3 32) (select (select |#memory_int| |linear_search_#in~a.base|) (bvadd |linear_search_#in~a.offset| (_ bv4 32))))) (not (bvult (_ bv3 32) ~SIZE~0))))} is VALID [2018-11-23 11:23:28,755 INFO L273 TraceCheckUtils]: 19: Hoare triple {2858#(and (or (bvult linear_search_~j~0 ~SIZE~0) (not (= ~SIZE~0 |linear_search_#in~n|)) (bvult (_ bv2 32) ~SIZE~0) (not (= (_ bv3 32) |linear_search_#in~q|)) (bvult linear_search_~j~0 linear_search_~n)) (or (bvult linear_search_~j~0 ~SIZE~0) (not (= ~SIZE~0 |linear_search_#in~n|)) (not (= (_ bv3 32) (select (select |#memory_int| |linear_search_#in~a.base|) (bvadd |linear_search_#in~a.offset| (_ bv4 32))))) (not (= (_ bv3 32) |linear_search_#in~q|)) (bvult linear_search_~j~0 linear_search_~n)) (or (bvult linear_search_~j~0 ~SIZE~0) (not (= ~SIZE~0 |linear_search_#in~n|)) (not (= (_ bv3 32) |linear_search_#in~q|)) (bvult linear_search_~j~0 linear_search_~n) (not (bvult (_ bv3 32) ~SIZE~0))))} assume !(20bv32 == ~j~0); {2858#(and (or (bvult linear_search_~j~0 ~SIZE~0) (not (= ~SIZE~0 |linear_search_#in~n|)) (bvult (_ bv2 32) ~SIZE~0) (not (= (_ bv3 32) |linear_search_#in~q|)) (bvult linear_search_~j~0 linear_search_~n)) (or (bvult linear_search_~j~0 ~SIZE~0) (not (= ~SIZE~0 |linear_search_#in~n|)) (not (= (_ bv3 32) (select (select |#memory_int| |linear_search_#in~a.base|) (bvadd |linear_search_#in~a.offset| (_ bv4 32))))) (not (= (_ bv3 32) |linear_search_#in~q|)) (bvult linear_search_~j~0 linear_search_~n)) (or (bvult linear_search_~j~0 ~SIZE~0) (not (= ~SIZE~0 |linear_search_#in~n|)) (not (= (_ bv3 32) |linear_search_#in~q|)) (bvult linear_search_~j~0 linear_search_~n) (not (bvult (_ bv3 32) ~SIZE~0))))} is VALID [2018-11-23 11:23:28,815 INFO L273 TraceCheckUtils]: 18: Hoare triple {2865#(and (or (bvult (bvadd linear_search_~j~0 (_ bv1 32)) linear_search_~n) (not (= ~SIZE~0 |linear_search_#in~n|)) (bvult (bvadd linear_search_~j~0 (_ bv1 32)) ~SIZE~0) (not (= (_ bv3 32) |linear_search_#in~q|)) (not (bvult (_ bv3 32) ~SIZE~0))) (or (bvult (bvadd linear_search_~j~0 (_ bv1 32)) linear_search_~n) (not (= ~SIZE~0 |linear_search_#in~n|)) (bvult (bvadd linear_search_~j~0 (_ bv1 32)) ~SIZE~0) (not (= (_ bv3 32) (select (select |#memory_int| |linear_search_#in~a.base|) (bvadd |linear_search_#in~a.offset| (_ bv4 32))))) (not (= (_ bv3 32) |linear_search_#in~q|))) (or (bvult (bvadd linear_search_~j~0 (_ bv1 32)) linear_search_~n) (not (= ~SIZE~0 |linear_search_#in~n|)) (bvult (_ bv2 32) ~SIZE~0) (bvult (bvadd linear_search_~j~0 (_ bv1 32)) ~SIZE~0) (not (= (_ bv3 32) |linear_search_#in~q|))))} assume !!#t~short1;havoc #t~short1;havoc #t~mem0;#t~post2 := ~j~0;~j~0 := ~bvadd32(1bv32, #t~post2);havoc #t~post2; {2858#(and (or (bvult linear_search_~j~0 ~SIZE~0) (not (= ~SIZE~0 |linear_search_#in~n|)) (bvult (_ bv2 32) ~SIZE~0) (not (= (_ bv3 32) |linear_search_#in~q|)) (bvult linear_search_~j~0 linear_search_~n)) (or (bvult linear_search_~j~0 ~SIZE~0) (not (= ~SIZE~0 |linear_search_#in~n|)) (not (= (_ bv3 32) (select (select |#memory_int| |linear_search_#in~a.base|) (bvadd |linear_search_#in~a.offset| (_ bv4 32))))) (not (= (_ bv3 32) |linear_search_#in~q|)) (bvult linear_search_~j~0 linear_search_~n)) (or (bvult linear_search_~j~0 ~SIZE~0) (not (= ~SIZE~0 |linear_search_#in~n|)) (not (= (_ bv3 32) |linear_search_#in~q|)) (bvult linear_search_~j~0 linear_search_~n) (not (bvult (_ bv3 32) ~SIZE~0))))} is VALID [2018-11-23 11:23:28,817 INFO L273 TraceCheckUtils]: 17: Hoare triple {2869#(or (not |linear_search_#t~short1|) (and (or (bvult (bvadd linear_search_~j~0 (_ bv1 32)) linear_search_~n) (not (= ~SIZE~0 |linear_search_#in~n|)) (bvult (bvadd linear_search_~j~0 (_ bv1 32)) ~SIZE~0) (not (= (_ bv3 32) |linear_search_#in~q|)) (not (bvult (_ bv3 32) ~SIZE~0))) (or (bvult (bvadd linear_search_~j~0 (_ bv1 32)) linear_search_~n) (not (= ~SIZE~0 |linear_search_#in~n|)) (bvult (bvadd linear_search_~j~0 (_ bv1 32)) ~SIZE~0) (not (= (_ bv3 32) (select (select |#memory_int| |linear_search_#in~a.base|) (bvadd |linear_search_#in~a.offset| (_ bv4 32))))) (not (= (_ bv3 32) |linear_search_#in~q|))) (or (bvult (bvadd linear_search_~j~0 (_ bv1 32)) linear_search_~n) (not (= ~SIZE~0 |linear_search_#in~n|)) (bvult (_ bv2 32) ~SIZE~0) (bvult (bvadd linear_search_~j~0 (_ bv1 32)) ~SIZE~0) (not (= (_ bv3 32) |linear_search_#in~q|)))))} assume #t~short1;call #t~mem0 := read~intINTTYPE4(~a.base, ~bvadd32(~a.offset, ~bvmul32(4bv32, ~j~0)), 4bv32);#t~short1 := #t~mem0 != ~q; {2865#(and (or (bvult (bvadd linear_search_~j~0 (_ bv1 32)) linear_search_~n) (not (= ~SIZE~0 |linear_search_#in~n|)) (bvult (bvadd linear_search_~j~0 (_ bv1 32)) ~SIZE~0) (not (= (_ bv3 32) |linear_search_#in~q|)) (not (bvult (_ bv3 32) ~SIZE~0))) (or (bvult (bvadd linear_search_~j~0 (_ bv1 32)) linear_search_~n) (not (= ~SIZE~0 |linear_search_#in~n|)) (bvult (bvadd linear_search_~j~0 (_ bv1 32)) ~SIZE~0) (not (= (_ bv3 32) (select (select |#memory_int| |linear_search_#in~a.base|) (bvadd |linear_search_#in~a.offset| (_ bv4 32))))) (not (= (_ bv3 32) |linear_search_#in~q|))) (or (bvult (bvadd linear_search_~j~0 (_ bv1 32)) linear_search_~n) (not (= ~SIZE~0 |linear_search_#in~n|)) (bvult (_ bv2 32) ~SIZE~0) (bvult (bvadd linear_search_~j~0 (_ bv1 32)) ~SIZE~0) (not (= (_ bv3 32) |linear_search_#in~q|))))} is VALID [2018-11-23 11:23:28,819 INFO L273 TraceCheckUtils]: 16: Hoare triple {2873#(and (or (bvult (bvadd linear_search_~j~0 (_ bv1 32)) linear_search_~n) (not (= ~SIZE~0 |linear_search_#in~n|)) (bvult (bvadd linear_search_~j~0 (_ bv1 32)) ~SIZE~0) (not (= (_ bv3 32) (select (select |#memory_int| |linear_search_#in~a.base|) (bvadd |linear_search_#in~a.offset| (_ bv4 32))))) (not (= (_ bv3 32) |linear_search_#in~q|)) (not (bvult linear_search_~j~0 linear_search_~n))) (or (bvult (bvadd linear_search_~j~0 (_ bv1 32)) linear_search_~n) (not (= ~SIZE~0 |linear_search_#in~n|)) (bvult (_ bv2 32) ~SIZE~0) (bvult (bvadd linear_search_~j~0 (_ bv1 32)) ~SIZE~0) (not (= (_ bv3 32) |linear_search_#in~q|)) (not (bvult linear_search_~j~0 linear_search_~n))) (or (bvult (bvadd linear_search_~j~0 (_ bv1 32)) linear_search_~n) (not (= ~SIZE~0 |linear_search_#in~n|)) (bvult (bvadd linear_search_~j~0 (_ bv1 32)) ~SIZE~0) (not (= (_ bv3 32) |linear_search_#in~q|)) (not (bvult linear_search_~j~0 linear_search_~n)) (not (bvult (_ bv3 32) ~SIZE~0))))} #t~short1 := ~bvult32(~j~0, ~n); {2869#(or (not |linear_search_#t~short1|) (and (or (bvult (bvadd linear_search_~j~0 (_ bv1 32)) linear_search_~n) (not (= ~SIZE~0 |linear_search_#in~n|)) (bvult (bvadd linear_search_~j~0 (_ bv1 32)) ~SIZE~0) (not (= (_ bv3 32) |linear_search_#in~q|)) (not (bvult (_ bv3 32) ~SIZE~0))) (or (bvult (bvadd linear_search_~j~0 (_ bv1 32)) linear_search_~n) (not (= ~SIZE~0 |linear_search_#in~n|)) (bvult (bvadd linear_search_~j~0 (_ bv1 32)) ~SIZE~0) (not (= (_ bv3 32) (select (select |#memory_int| |linear_search_#in~a.base|) (bvadd |linear_search_#in~a.offset| (_ bv4 32))))) (not (= (_ bv3 32) |linear_search_#in~q|))) (or (bvult (bvadd linear_search_~j~0 (_ bv1 32)) linear_search_~n) (not (= ~SIZE~0 |linear_search_#in~n|)) (bvult (_ bv2 32) ~SIZE~0) (bvult (bvadd linear_search_~j~0 (_ bv1 32)) ~SIZE~0) (not (= (_ bv3 32) |linear_search_#in~q|)))))} is VALID [2018-11-23 11:23:28,820 INFO L273 TraceCheckUtils]: 15: Hoare triple {2873#(and (or (bvult (bvadd linear_search_~j~0 (_ bv1 32)) linear_search_~n) (not (= ~SIZE~0 |linear_search_#in~n|)) (bvult (bvadd linear_search_~j~0 (_ bv1 32)) ~SIZE~0) (not (= (_ bv3 32) (select (select |#memory_int| |linear_search_#in~a.base|) (bvadd |linear_search_#in~a.offset| (_ bv4 32))))) (not (= (_ bv3 32) |linear_search_#in~q|)) (not (bvult linear_search_~j~0 linear_search_~n))) (or (bvult (bvadd linear_search_~j~0 (_ bv1 32)) linear_search_~n) (not (= ~SIZE~0 |linear_search_#in~n|)) (bvult (_ bv2 32) ~SIZE~0) (bvult (bvadd linear_search_~j~0 (_ bv1 32)) ~SIZE~0) (not (= (_ bv3 32) |linear_search_#in~q|)) (not (bvult linear_search_~j~0 linear_search_~n))) (or (bvult (bvadd linear_search_~j~0 (_ bv1 32)) linear_search_~n) (not (= ~SIZE~0 |linear_search_#in~n|)) (bvult (bvadd linear_search_~j~0 (_ bv1 32)) ~SIZE~0) (not (= (_ bv3 32) |linear_search_#in~q|)) (not (bvult linear_search_~j~0 linear_search_~n)) (not (bvult (_ bv3 32) ~SIZE~0))))} assume !(20bv32 == ~j~0); {2873#(and (or (bvult (bvadd linear_search_~j~0 (_ bv1 32)) linear_search_~n) (not (= ~SIZE~0 |linear_search_#in~n|)) (bvult (bvadd linear_search_~j~0 (_ bv1 32)) ~SIZE~0) (not (= (_ bv3 32) (select (select |#memory_int| |linear_search_#in~a.base|) (bvadd |linear_search_#in~a.offset| (_ bv4 32))))) (not (= (_ bv3 32) |linear_search_#in~q|)) (not (bvult linear_search_~j~0 linear_search_~n))) (or (bvult (bvadd linear_search_~j~0 (_ bv1 32)) linear_search_~n) (not (= ~SIZE~0 |linear_search_#in~n|)) (bvult (_ bv2 32) ~SIZE~0) (bvult (bvadd linear_search_~j~0 (_ bv1 32)) ~SIZE~0) (not (= (_ bv3 32) |linear_search_#in~q|)) (not (bvult linear_search_~j~0 linear_search_~n))) (or (bvult (bvadd linear_search_~j~0 (_ bv1 32)) linear_search_~n) (not (= ~SIZE~0 |linear_search_#in~n|)) (bvult (bvadd linear_search_~j~0 (_ bv1 32)) ~SIZE~0) (not (= (_ bv3 32) |linear_search_#in~q|)) (not (bvult linear_search_~j~0 linear_search_~n)) (not (bvult (_ bv3 32) ~SIZE~0))))} is VALID [2018-11-23 11:23:28,909 INFO L273 TraceCheckUtils]: 14: Hoare triple {2880#(or (not |linear_search_#t~short1|) (and (or (not (= ~SIZE~0 |linear_search_#in~n|)) (not (= (_ bv3 32) (select (select |#memory_int| |linear_search_#in~a.base|) (bvadd |linear_search_#in~a.offset| (_ bv4 32))))) (bvult (bvadd linear_search_~j~0 (_ bv2 32)) linear_search_~n) (not (= (_ bv3 32) |linear_search_#in~q|)) (bvult (bvadd linear_search_~j~0 (_ bv2 32)) ~SIZE~0) (not (bvult (bvadd linear_search_~j~0 (_ bv1 32)) linear_search_~n))) (or (not (= ~SIZE~0 |linear_search_#in~n|)) (bvult (bvadd linear_search_~j~0 (_ bv2 32)) linear_search_~n) (not (= (_ bv3 32) |linear_search_#in~q|)) (bvult (bvadd linear_search_~j~0 (_ bv2 32)) ~SIZE~0) (not (bvult (_ bv3 32) ~SIZE~0)) (not (bvult (bvadd linear_search_~j~0 (_ bv1 32)) linear_search_~n))) (or (not (= ~SIZE~0 |linear_search_#in~n|)) (bvult (_ bv2 32) ~SIZE~0) (bvult (bvadd linear_search_~j~0 (_ bv2 32)) linear_search_~n) (not (= (_ bv3 32) |linear_search_#in~q|)) (bvult (bvadd linear_search_~j~0 (_ bv2 32)) ~SIZE~0) (not (bvult (bvadd linear_search_~j~0 (_ bv1 32)) linear_search_~n)))))} assume !!#t~short1;havoc #t~short1;havoc #t~mem0;#t~post2 := ~j~0;~j~0 := ~bvadd32(1bv32, #t~post2);havoc #t~post2; {2873#(and (or (bvult (bvadd linear_search_~j~0 (_ bv1 32)) linear_search_~n) (not (= ~SIZE~0 |linear_search_#in~n|)) (bvult (bvadd linear_search_~j~0 (_ bv1 32)) ~SIZE~0) (not (= (_ bv3 32) (select (select |#memory_int| |linear_search_#in~a.base|) (bvadd |linear_search_#in~a.offset| (_ bv4 32))))) (not (= (_ bv3 32) |linear_search_#in~q|)) (not (bvult linear_search_~j~0 linear_search_~n))) (or (bvult (bvadd linear_search_~j~0 (_ bv1 32)) linear_search_~n) (not (= ~SIZE~0 |linear_search_#in~n|)) (bvult (_ bv2 32) ~SIZE~0) (bvult (bvadd linear_search_~j~0 (_ bv1 32)) ~SIZE~0) (not (= (_ bv3 32) |linear_search_#in~q|)) (not (bvult linear_search_~j~0 linear_search_~n))) (or (bvult (bvadd linear_search_~j~0 (_ bv1 32)) linear_search_~n) (not (= ~SIZE~0 |linear_search_#in~n|)) (bvult (bvadd linear_search_~j~0 (_ bv1 32)) ~SIZE~0) (not (= (_ bv3 32) |linear_search_#in~q|)) (not (bvult linear_search_~j~0 linear_search_~n)) (not (bvult (_ bv3 32) ~SIZE~0))))} is VALID [2018-11-23 11:23:28,913 INFO L273 TraceCheckUtils]: 13: Hoare triple {2884#(and (or (not (= ~SIZE~0 |linear_search_#in~n|)) (not (= (_ bv3 32) (select (select |#memory_int| |linear_search_#in~a.base|) (bvadd |linear_search_#in~a.offset| (_ bv4 32))))) (bvult (bvadd linear_search_~j~0 (_ bv2 32)) linear_search_~n) (not (= (_ bv3 32) |linear_search_#in~q|)) (bvult (bvadd linear_search_~j~0 (_ bv2 32)) ~SIZE~0) (= linear_search_~q (select (select |#memory_int| linear_search_~a.base) (bvadd linear_search_~a.offset (bvmul (_ bv4 32) linear_search_~j~0)))) (not (bvult (bvadd linear_search_~j~0 (_ bv1 32)) linear_search_~n))) (or (not (= ~SIZE~0 |linear_search_#in~n|)) (bvult (bvadd linear_search_~j~0 (_ bv2 32)) linear_search_~n) (not (= (_ bv3 32) |linear_search_#in~q|)) (bvult (bvadd linear_search_~j~0 (_ bv2 32)) ~SIZE~0) (not (bvult (_ bv3 32) ~SIZE~0)) (= linear_search_~q (select (select |#memory_int| linear_search_~a.base) (bvadd linear_search_~a.offset (bvmul (_ bv4 32) linear_search_~j~0)))) (not (bvult (bvadd linear_search_~j~0 (_ bv1 32)) linear_search_~n))) (or (not (= ~SIZE~0 |linear_search_#in~n|)) (bvult (_ bv2 32) ~SIZE~0) (bvult (bvadd linear_search_~j~0 (_ bv2 32)) linear_search_~n) (not (= (_ bv3 32) |linear_search_#in~q|)) (bvult (bvadd linear_search_~j~0 (_ bv2 32)) ~SIZE~0) (= linear_search_~q (select (select |#memory_int| linear_search_~a.base) (bvadd linear_search_~a.offset (bvmul (_ bv4 32) linear_search_~j~0)))) (not (bvult (bvadd linear_search_~j~0 (_ bv1 32)) linear_search_~n))))} assume #t~short1;call #t~mem0 := read~intINTTYPE4(~a.base, ~bvadd32(~a.offset, ~bvmul32(4bv32, ~j~0)), 4bv32);#t~short1 := #t~mem0 != ~q; {2880#(or (not |linear_search_#t~short1|) (and (or (not (= ~SIZE~0 |linear_search_#in~n|)) (not (= (_ bv3 32) (select (select |#memory_int| |linear_search_#in~a.base|) (bvadd |linear_search_#in~a.offset| (_ bv4 32))))) (bvult (bvadd linear_search_~j~0 (_ bv2 32)) linear_search_~n) (not (= (_ bv3 32) |linear_search_#in~q|)) (bvult (bvadd linear_search_~j~0 (_ bv2 32)) ~SIZE~0) (not (bvult (bvadd linear_search_~j~0 (_ bv1 32)) linear_search_~n))) (or (not (= ~SIZE~0 |linear_search_#in~n|)) (bvult (bvadd linear_search_~j~0 (_ bv2 32)) linear_search_~n) (not (= (_ bv3 32) |linear_search_#in~q|)) (bvult (bvadd linear_search_~j~0 (_ bv2 32)) ~SIZE~0) (not (bvult (_ bv3 32) ~SIZE~0)) (not (bvult (bvadd linear_search_~j~0 (_ bv1 32)) linear_search_~n))) (or (not (= ~SIZE~0 |linear_search_#in~n|)) (bvult (_ bv2 32) ~SIZE~0) (bvult (bvadd linear_search_~j~0 (_ bv2 32)) linear_search_~n) (not (= (_ bv3 32) |linear_search_#in~q|)) (bvult (bvadd linear_search_~j~0 (_ bv2 32)) ~SIZE~0) (not (bvult (bvadd linear_search_~j~0 (_ bv1 32)) linear_search_~n)))))} is VALID [2018-11-23 11:23:28,914 INFO L273 TraceCheckUtils]: 12: Hoare triple {2884#(and (or (not (= ~SIZE~0 |linear_search_#in~n|)) (not (= (_ bv3 32) (select (select |#memory_int| |linear_search_#in~a.base|) (bvadd |linear_search_#in~a.offset| (_ bv4 32))))) (bvult (bvadd linear_search_~j~0 (_ bv2 32)) linear_search_~n) (not (= (_ bv3 32) |linear_search_#in~q|)) (bvult (bvadd linear_search_~j~0 (_ bv2 32)) ~SIZE~0) (= linear_search_~q (select (select |#memory_int| linear_search_~a.base) (bvadd linear_search_~a.offset (bvmul (_ bv4 32) linear_search_~j~0)))) (not (bvult (bvadd linear_search_~j~0 (_ bv1 32)) linear_search_~n))) (or (not (= ~SIZE~0 |linear_search_#in~n|)) (bvult (bvadd linear_search_~j~0 (_ bv2 32)) linear_search_~n) (not (= (_ bv3 32) |linear_search_#in~q|)) (bvult (bvadd linear_search_~j~0 (_ bv2 32)) ~SIZE~0) (not (bvult (_ bv3 32) ~SIZE~0)) (= linear_search_~q (select (select |#memory_int| linear_search_~a.base) (bvadd linear_search_~a.offset (bvmul (_ bv4 32) linear_search_~j~0)))) (not (bvult (bvadd linear_search_~j~0 (_ bv1 32)) linear_search_~n))) (or (not (= ~SIZE~0 |linear_search_#in~n|)) (bvult (_ bv2 32) ~SIZE~0) (bvult (bvadd linear_search_~j~0 (_ bv2 32)) linear_search_~n) (not (= (_ bv3 32) |linear_search_#in~q|)) (bvult (bvadd linear_search_~j~0 (_ bv2 32)) ~SIZE~0) (= linear_search_~q (select (select |#memory_int| linear_search_~a.base) (bvadd linear_search_~a.offset (bvmul (_ bv4 32) linear_search_~j~0)))) (not (bvult (bvadd linear_search_~j~0 (_ bv1 32)) linear_search_~n))))} #t~short1 := ~bvult32(~j~0, ~n); {2884#(and (or (not (= ~SIZE~0 |linear_search_#in~n|)) (not (= (_ bv3 32) (select (select |#memory_int| |linear_search_#in~a.base|) (bvadd |linear_search_#in~a.offset| (_ bv4 32))))) (bvult (bvadd linear_search_~j~0 (_ bv2 32)) linear_search_~n) (not (= (_ bv3 32) |linear_search_#in~q|)) (bvult (bvadd linear_search_~j~0 (_ bv2 32)) ~SIZE~0) (= linear_search_~q (select (select |#memory_int| linear_search_~a.base) (bvadd linear_search_~a.offset (bvmul (_ bv4 32) linear_search_~j~0)))) (not (bvult (bvadd linear_search_~j~0 (_ bv1 32)) linear_search_~n))) (or (not (= ~SIZE~0 |linear_search_#in~n|)) (bvult (bvadd linear_search_~j~0 (_ bv2 32)) linear_search_~n) (not (= (_ bv3 32) |linear_search_#in~q|)) (bvult (bvadd linear_search_~j~0 (_ bv2 32)) ~SIZE~0) (not (bvult (_ bv3 32) ~SIZE~0)) (= linear_search_~q (select (select |#memory_int| linear_search_~a.base) (bvadd linear_search_~a.offset (bvmul (_ bv4 32) linear_search_~j~0)))) (not (bvult (bvadd linear_search_~j~0 (_ bv1 32)) linear_search_~n))) (or (not (= ~SIZE~0 |linear_search_#in~n|)) (bvult (_ bv2 32) ~SIZE~0) (bvult (bvadd linear_search_~j~0 (_ bv2 32)) linear_search_~n) (not (= (_ bv3 32) |linear_search_#in~q|)) (bvult (bvadd linear_search_~j~0 (_ bv2 32)) ~SIZE~0) (= linear_search_~q (select (select |#memory_int| linear_search_~a.base) (bvadd linear_search_~a.offset (bvmul (_ bv4 32) linear_search_~j~0)))) (not (bvult (bvadd linear_search_~j~0 (_ bv1 32)) linear_search_~n))))} is VALID [2018-11-23 11:23:28,915 INFO L273 TraceCheckUtils]: 11: Hoare triple {2884#(and (or (not (= ~SIZE~0 |linear_search_#in~n|)) (not (= (_ bv3 32) (select (select |#memory_int| |linear_search_#in~a.base|) (bvadd |linear_search_#in~a.offset| (_ bv4 32))))) (bvult (bvadd linear_search_~j~0 (_ bv2 32)) linear_search_~n) (not (= (_ bv3 32) |linear_search_#in~q|)) (bvult (bvadd linear_search_~j~0 (_ bv2 32)) ~SIZE~0) (= linear_search_~q (select (select |#memory_int| linear_search_~a.base) (bvadd linear_search_~a.offset (bvmul (_ bv4 32) linear_search_~j~0)))) (not (bvult (bvadd linear_search_~j~0 (_ bv1 32)) linear_search_~n))) (or (not (= ~SIZE~0 |linear_search_#in~n|)) (bvult (bvadd linear_search_~j~0 (_ bv2 32)) linear_search_~n) (not (= (_ bv3 32) |linear_search_#in~q|)) (bvult (bvadd linear_search_~j~0 (_ bv2 32)) ~SIZE~0) (not (bvult (_ bv3 32) ~SIZE~0)) (= linear_search_~q (select (select |#memory_int| linear_search_~a.base) (bvadd linear_search_~a.offset (bvmul (_ bv4 32) linear_search_~j~0)))) (not (bvult (bvadd linear_search_~j~0 (_ bv1 32)) linear_search_~n))) (or (not (= ~SIZE~0 |linear_search_#in~n|)) (bvult (_ bv2 32) ~SIZE~0) (bvult (bvadd linear_search_~j~0 (_ bv2 32)) linear_search_~n) (not (= (_ bv3 32) |linear_search_#in~q|)) (bvult (bvadd linear_search_~j~0 (_ bv2 32)) ~SIZE~0) (= linear_search_~q (select (select |#memory_int| linear_search_~a.base) (bvadd linear_search_~a.offset (bvmul (_ bv4 32) linear_search_~j~0)))) (not (bvult (bvadd linear_search_~j~0 (_ bv1 32)) linear_search_~n))))} assume !(20bv32 == ~j~0); {2884#(and (or (not (= ~SIZE~0 |linear_search_#in~n|)) (not (= (_ bv3 32) (select (select |#memory_int| |linear_search_#in~a.base|) (bvadd |linear_search_#in~a.offset| (_ bv4 32))))) (bvult (bvadd linear_search_~j~0 (_ bv2 32)) linear_search_~n) (not (= (_ bv3 32) |linear_search_#in~q|)) (bvult (bvadd linear_search_~j~0 (_ bv2 32)) ~SIZE~0) (= linear_search_~q (select (select |#memory_int| linear_search_~a.base) (bvadd linear_search_~a.offset (bvmul (_ bv4 32) linear_search_~j~0)))) (not (bvult (bvadd linear_search_~j~0 (_ bv1 32)) linear_search_~n))) (or (not (= ~SIZE~0 |linear_search_#in~n|)) (bvult (bvadd linear_search_~j~0 (_ bv2 32)) linear_search_~n) (not (= (_ bv3 32) |linear_search_#in~q|)) (bvult (bvadd linear_search_~j~0 (_ bv2 32)) ~SIZE~0) (not (bvult (_ bv3 32) ~SIZE~0)) (= linear_search_~q (select (select |#memory_int| linear_search_~a.base) (bvadd linear_search_~a.offset (bvmul (_ bv4 32) linear_search_~j~0)))) (not (bvult (bvadd linear_search_~j~0 (_ bv1 32)) linear_search_~n))) (or (not (= ~SIZE~0 |linear_search_#in~n|)) (bvult (_ bv2 32) ~SIZE~0) (bvult (bvadd linear_search_~j~0 (_ bv2 32)) linear_search_~n) (not (= (_ bv3 32) |linear_search_#in~q|)) (bvult (bvadd linear_search_~j~0 (_ bv2 32)) ~SIZE~0) (= linear_search_~q (select (select |#memory_int| linear_search_~a.base) (bvadd linear_search_~a.offset (bvmul (_ bv4 32) linear_search_~j~0)))) (not (bvult (bvadd linear_search_~j~0 (_ bv1 32)) linear_search_~n))))} is VALID [2018-11-23 11:23:29,936 INFO L273 TraceCheckUtils]: 10: Hoare triple {2894#(and (or (not (bvult (bvadd linear_search_~j~0 (_ bv2 32)) linear_search_~n)) (not (= ~SIZE~0 |linear_search_#in~n|)) (= (select (select |#memory_int| linear_search_~a.base) (bvadd linear_search_~a.offset (bvmul (_ bv4 32) linear_search_~j~0) (_ bv4 32))) linear_search_~q) (bvult (_ bv2 32) ~SIZE~0) (not (= (_ bv3 32) |linear_search_#in~q|)) (bvult (bvadd linear_search_~j~0 (_ bv3 32)) linear_search_~n) (bvult (bvadd linear_search_~j~0 (_ bv3 32)) ~SIZE~0)) (or (not (bvult (bvadd linear_search_~j~0 (_ bv2 32)) linear_search_~n)) (not (= ~SIZE~0 |linear_search_#in~n|)) (= (select (select |#memory_int| linear_search_~a.base) (bvadd linear_search_~a.offset (bvmul (_ bv4 32) linear_search_~j~0) (_ bv4 32))) linear_search_~q) (not (= (_ bv3 32) |linear_search_#in~q|)) (bvult (bvadd linear_search_~j~0 (_ bv3 32)) linear_search_~n) (not (bvult (_ bv3 32) ~SIZE~0)) (bvult (bvadd linear_search_~j~0 (_ bv3 32)) ~SIZE~0)) (or (not (bvult (bvadd linear_search_~j~0 (_ bv2 32)) linear_search_~n)) (not (= ~SIZE~0 |linear_search_#in~n|)) (= (select (select |#memory_int| linear_search_~a.base) (bvadd linear_search_~a.offset (bvmul (_ bv4 32) linear_search_~j~0) (_ bv4 32))) linear_search_~q) (not (= (_ bv3 32) (select (select |#memory_int| |linear_search_#in~a.base|) (bvadd |linear_search_#in~a.offset| (_ bv4 32))))) (not (= (_ bv3 32) |linear_search_#in~q|)) (bvult (bvadd linear_search_~j~0 (_ bv3 32)) linear_search_~n) (bvult (bvadd linear_search_~j~0 (_ bv3 32)) ~SIZE~0)))} assume !!#t~short1;havoc #t~short1;havoc #t~mem0;#t~post2 := ~j~0;~j~0 := ~bvadd32(1bv32, #t~post2);havoc #t~post2; {2884#(and (or (not (= ~SIZE~0 |linear_search_#in~n|)) (not (= (_ bv3 32) (select (select |#memory_int| |linear_search_#in~a.base|) (bvadd |linear_search_#in~a.offset| (_ bv4 32))))) (bvult (bvadd linear_search_~j~0 (_ bv2 32)) linear_search_~n) (not (= (_ bv3 32) |linear_search_#in~q|)) (bvult (bvadd linear_search_~j~0 (_ bv2 32)) ~SIZE~0) (= linear_search_~q (select (select |#memory_int| linear_search_~a.base) (bvadd linear_search_~a.offset (bvmul (_ bv4 32) linear_search_~j~0)))) (not (bvult (bvadd linear_search_~j~0 (_ bv1 32)) linear_search_~n))) (or (not (= ~SIZE~0 |linear_search_#in~n|)) (bvult (bvadd linear_search_~j~0 (_ bv2 32)) linear_search_~n) (not (= (_ bv3 32) |linear_search_#in~q|)) (bvult (bvadd linear_search_~j~0 (_ bv2 32)) ~SIZE~0) (not (bvult (_ bv3 32) ~SIZE~0)) (= linear_search_~q (select (select |#memory_int| linear_search_~a.base) (bvadd linear_search_~a.offset (bvmul (_ bv4 32) linear_search_~j~0)))) (not (bvult (bvadd linear_search_~j~0 (_ bv1 32)) linear_search_~n))) (or (not (= ~SIZE~0 |linear_search_#in~n|)) (bvult (_ bv2 32) ~SIZE~0) (bvult (bvadd linear_search_~j~0 (_ bv2 32)) linear_search_~n) (not (= (_ bv3 32) |linear_search_#in~q|)) (bvult (bvadd linear_search_~j~0 (_ bv2 32)) ~SIZE~0) (= linear_search_~q (select (select |#memory_int| linear_search_~a.base) (bvadd linear_search_~a.offset (bvmul (_ bv4 32) linear_search_~j~0)))) (not (bvult (bvadd linear_search_~j~0 (_ bv1 32)) linear_search_~n))))} is VALID [2018-11-23 11:23:29,938 INFO L273 TraceCheckUtils]: 9: Hoare triple {2894#(and (or (not (bvult (bvadd linear_search_~j~0 (_ bv2 32)) linear_search_~n)) (not (= ~SIZE~0 |linear_search_#in~n|)) (= (select (select |#memory_int| linear_search_~a.base) (bvadd linear_search_~a.offset (bvmul (_ bv4 32) linear_search_~j~0) (_ bv4 32))) linear_search_~q) (bvult (_ bv2 32) ~SIZE~0) (not (= (_ bv3 32) |linear_search_#in~q|)) (bvult (bvadd linear_search_~j~0 (_ bv3 32)) linear_search_~n) (bvult (bvadd linear_search_~j~0 (_ bv3 32)) ~SIZE~0)) (or (not (bvult (bvadd linear_search_~j~0 (_ bv2 32)) linear_search_~n)) (not (= ~SIZE~0 |linear_search_#in~n|)) (= (select (select |#memory_int| linear_search_~a.base) (bvadd linear_search_~a.offset (bvmul (_ bv4 32) linear_search_~j~0) (_ bv4 32))) linear_search_~q) (not (= (_ bv3 32) |linear_search_#in~q|)) (bvult (bvadd linear_search_~j~0 (_ bv3 32)) linear_search_~n) (not (bvult (_ bv3 32) ~SIZE~0)) (bvult (bvadd linear_search_~j~0 (_ bv3 32)) ~SIZE~0)) (or (not (bvult (bvadd linear_search_~j~0 (_ bv2 32)) linear_search_~n)) (not (= ~SIZE~0 |linear_search_#in~n|)) (= (select (select |#memory_int| linear_search_~a.base) (bvadd linear_search_~a.offset (bvmul (_ bv4 32) linear_search_~j~0) (_ bv4 32))) linear_search_~q) (not (= (_ bv3 32) (select (select |#memory_int| |linear_search_#in~a.base|) (bvadd |linear_search_#in~a.offset| (_ bv4 32))))) (not (= (_ bv3 32) |linear_search_#in~q|)) (bvult (bvadd linear_search_~j~0 (_ bv3 32)) linear_search_~n) (bvult (bvadd linear_search_~j~0 (_ bv3 32)) ~SIZE~0)))} assume #t~short1;call #t~mem0 := read~intINTTYPE4(~a.base, ~bvadd32(~a.offset, ~bvmul32(4bv32, ~j~0)), 4bv32);#t~short1 := #t~mem0 != ~q; {2894#(and (or (not (bvult (bvadd linear_search_~j~0 (_ bv2 32)) linear_search_~n)) (not (= ~SIZE~0 |linear_search_#in~n|)) (= (select (select |#memory_int| linear_search_~a.base) (bvadd linear_search_~a.offset (bvmul (_ bv4 32) linear_search_~j~0) (_ bv4 32))) linear_search_~q) (bvult (_ bv2 32) ~SIZE~0) (not (= (_ bv3 32) |linear_search_#in~q|)) (bvult (bvadd linear_search_~j~0 (_ bv3 32)) linear_search_~n) (bvult (bvadd linear_search_~j~0 (_ bv3 32)) ~SIZE~0)) (or (not (bvult (bvadd linear_search_~j~0 (_ bv2 32)) linear_search_~n)) (not (= ~SIZE~0 |linear_search_#in~n|)) (= (select (select |#memory_int| linear_search_~a.base) (bvadd linear_search_~a.offset (bvmul (_ bv4 32) linear_search_~j~0) (_ bv4 32))) linear_search_~q) (not (= (_ bv3 32) |linear_search_#in~q|)) (bvult (bvadd linear_search_~j~0 (_ bv3 32)) linear_search_~n) (not (bvult (_ bv3 32) ~SIZE~0)) (bvult (bvadd linear_search_~j~0 (_ bv3 32)) ~SIZE~0)) (or (not (bvult (bvadd linear_search_~j~0 (_ bv2 32)) linear_search_~n)) (not (= ~SIZE~0 |linear_search_#in~n|)) (= (select (select |#memory_int| linear_search_~a.base) (bvadd linear_search_~a.offset (bvmul (_ bv4 32) linear_search_~j~0) (_ bv4 32))) linear_search_~q) (not (= (_ bv3 32) (select (select |#memory_int| |linear_search_#in~a.base|) (bvadd |linear_search_#in~a.offset| (_ bv4 32))))) (not (= (_ bv3 32) |linear_search_#in~q|)) (bvult (bvadd linear_search_~j~0 (_ bv3 32)) linear_search_~n) (bvult (bvadd linear_search_~j~0 (_ bv3 32)) ~SIZE~0)))} is VALID [2018-11-23 11:23:29,939 INFO L273 TraceCheckUtils]: 8: Hoare triple {2894#(and (or (not (bvult (bvadd linear_search_~j~0 (_ bv2 32)) linear_search_~n)) (not (= ~SIZE~0 |linear_search_#in~n|)) (= (select (select |#memory_int| linear_search_~a.base) (bvadd linear_search_~a.offset (bvmul (_ bv4 32) linear_search_~j~0) (_ bv4 32))) linear_search_~q) (bvult (_ bv2 32) ~SIZE~0) (not (= (_ bv3 32) |linear_search_#in~q|)) (bvult (bvadd linear_search_~j~0 (_ bv3 32)) linear_search_~n) (bvult (bvadd linear_search_~j~0 (_ bv3 32)) ~SIZE~0)) (or (not (bvult (bvadd linear_search_~j~0 (_ bv2 32)) linear_search_~n)) (not (= ~SIZE~0 |linear_search_#in~n|)) (= (select (select |#memory_int| linear_search_~a.base) (bvadd linear_search_~a.offset (bvmul (_ bv4 32) linear_search_~j~0) (_ bv4 32))) linear_search_~q) (not (= (_ bv3 32) |linear_search_#in~q|)) (bvult (bvadd linear_search_~j~0 (_ bv3 32)) linear_search_~n) (not (bvult (_ bv3 32) ~SIZE~0)) (bvult (bvadd linear_search_~j~0 (_ bv3 32)) ~SIZE~0)) (or (not (bvult (bvadd linear_search_~j~0 (_ bv2 32)) linear_search_~n)) (not (= ~SIZE~0 |linear_search_#in~n|)) (= (select (select |#memory_int| linear_search_~a.base) (bvadd linear_search_~a.offset (bvmul (_ bv4 32) linear_search_~j~0) (_ bv4 32))) linear_search_~q) (not (= (_ bv3 32) (select (select |#memory_int| |linear_search_#in~a.base|) (bvadd |linear_search_#in~a.offset| (_ bv4 32))))) (not (= (_ bv3 32) |linear_search_#in~q|)) (bvult (bvadd linear_search_~j~0 (_ bv3 32)) linear_search_~n) (bvult (bvadd linear_search_~j~0 (_ bv3 32)) ~SIZE~0)))} #t~short1 := ~bvult32(~j~0, ~n); {2894#(and (or (not (bvult (bvadd linear_search_~j~0 (_ bv2 32)) linear_search_~n)) (not (= ~SIZE~0 |linear_search_#in~n|)) (= (select (select |#memory_int| linear_search_~a.base) (bvadd linear_search_~a.offset (bvmul (_ bv4 32) linear_search_~j~0) (_ bv4 32))) linear_search_~q) (bvult (_ bv2 32) ~SIZE~0) (not (= (_ bv3 32) |linear_search_#in~q|)) (bvult (bvadd linear_search_~j~0 (_ bv3 32)) linear_search_~n) (bvult (bvadd linear_search_~j~0 (_ bv3 32)) ~SIZE~0)) (or (not (bvult (bvadd linear_search_~j~0 (_ bv2 32)) linear_search_~n)) (not (= ~SIZE~0 |linear_search_#in~n|)) (= (select (select |#memory_int| linear_search_~a.base) (bvadd linear_search_~a.offset (bvmul (_ bv4 32) linear_search_~j~0) (_ bv4 32))) linear_search_~q) (not (= (_ bv3 32) |linear_search_#in~q|)) (bvult (bvadd linear_search_~j~0 (_ bv3 32)) linear_search_~n) (not (bvult (_ bv3 32) ~SIZE~0)) (bvult (bvadd linear_search_~j~0 (_ bv3 32)) ~SIZE~0)) (or (not (bvult (bvadd linear_search_~j~0 (_ bv2 32)) linear_search_~n)) (not (= ~SIZE~0 |linear_search_#in~n|)) (= (select (select |#memory_int| linear_search_~a.base) (bvadd linear_search_~a.offset (bvmul (_ bv4 32) linear_search_~j~0) (_ bv4 32))) linear_search_~q) (not (= (_ bv3 32) (select (select |#memory_int| |linear_search_#in~a.base|) (bvadd |linear_search_#in~a.offset| (_ bv4 32))))) (not (= (_ bv3 32) |linear_search_#in~q|)) (bvult (bvadd linear_search_~j~0 (_ bv3 32)) linear_search_~n) (bvult (bvadd linear_search_~j~0 (_ bv3 32)) ~SIZE~0)))} is VALID [2018-11-23 11:23:29,942 INFO L273 TraceCheckUtils]: 7: Hoare triple {2720#true} ~a.base, ~a.offset := #in~a.base, #in~a.offset;~n := #in~n;~q := #in~q;~j~0 := 0bv32; {2894#(and (or (not (bvult (bvadd linear_search_~j~0 (_ bv2 32)) linear_search_~n)) (not (= ~SIZE~0 |linear_search_#in~n|)) (= (select (select |#memory_int| linear_search_~a.base) (bvadd linear_search_~a.offset (bvmul (_ bv4 32) linear_search_~j~0) (_ bv4 32))) linear_search_~q) (bvult (_ bv2 32) ~SIZE~0) (not (= (_ bv3 32) |linear_search_#in~q|)) (bvult (bvadd linear_search_~j~0 (_ bv3 32)) linear_search_~n) (bvult (bvadd linear_search_~j~0 (_ bv3 32)) ~SIZE~0)) (or (not (bvult (bvadd linear_search_~j~0 (_ bv2 32)) linear_search_~n)) (not (= ~SIZE~0 |linear_search_#in~n|)) (= (select (select |#memory_int| linear_search_~a.base) (bvadd linear_search_~a.offset (bvmul (_ bv4 32) linear_search_~j~0) (_ bv4 32))) linear_search_~q) (not (= (_ bv3 32) |linear_search_#in~q|)) (bvult (bvadd linear_search_~j~0 (_ bv3 32)) linear_search_~n) (not (bvult (_ bv3 32) ~SIZE~0)) (bvult (bvadd linear_search_~j~0 (_ bv3 32)) ~SIZE~0)) (or (not (bvult (bvadd linear_search_~j~0 (_ bv2 32)) linear_search_~n)) (not (= ~SIZE~0 |linear_search_#in~n|)) (= (select (select |#memory_int| linear_search_~a.base) (bvadd linear_search_~a.offset (bvmul (_ bv4 32) linear_search_~j~0) (_ bv4 32))) linear_search_~q) (not (= (_ bv3 32) (select (select |#memory_int| |linear_search_#in~a.base|) (bvadd |linear_search_#in~a.offset| (_ bv4 32))))) (not (= (_ bv3 32) |linear_search_#in~q|)) (bvult (bvadd linear_search_~j~0 (_ bv3 32)) linear_search_~n) (bvult (bvadd linear_search_~j~0 (_ bv3 32)) ~SIZE~0)))} is VALID [2018-11-23 11:23:29,942 INFO L256 TraceCheckUtils]: 6: Hoare triple {2836#(or (= (bvadd (select (select |#memory_int| |main_~#a~0.base|) (bvadd |main_~#a~0.offset| (_ bv4 32))) (_ bv4294967293 32)) (_ bv0 32)) (bvult (_ bv3 32) ~SIZE~0) (not (bvult (_ bv2 32) ~SIZE~0)))} call #t~ret4 := linear_search(~#a~0.base, ~#a~0.offset, ~SIZE~0, 3bv32); {2720#true} is VALID [2018-11-23 11:23:29,945 INFO L273 TraceCheckUtils]: 5: Hoare triple {2720#true} ~SIZE~0 := ~bvadd32(1bv32, ~bvudiv32(#t~nondet3, 2bv32));havoc #t~nondet3;call ~#a~0.base, ~#a~0.offset := #Ultimate.alloc(~bvmul32(4bv32, ~SIZE~0));call write~intINTTYPE4(3bv32, ~#a~0.base, ~bvadd32(~#a~0.offset, ~bvmul32(4bv32, ~bvudiv32(~SIZE~0, 2bv32))), 4bv32); {2836#(or (= (bvadd (select (select |#memory_int| |main_~#a~0.base|) (bvadd |main_~#a~0.offset| (_ bv4 32))) (_ bv4294967293 32)) (_ bv0 32)) (bvult (_ bv3 32) ~SIZE~0) (not (bvult (_ bv2 32) ~SIZE~0)))} is VALID [2018-11-23 11:23:29,945 INFO L256 TraceCheckUtils]: 4: Hoare triple {2720#true} call #t~ret5 := main(); {2720#true} is VALID [2018-11-23 11:23:29,945 INFO L268 TraceCheckUtils]: 3: Hoare quadruple {2720#true} {2720#true} #53#return; {2720#true} is VALID [2018-11-23 11:23:29,945 INFO L273 TraceCheckUtils]: 2: Hoare triple {2720#true} assume true; {2720#true} is VALID [2018-11-23 11:23:29,946 INFO L273 TraceCheckUtils]: 1: Hoare triple {2720#true} #NULL.base, #NULL.offset := 0bv32, 0bv32;#valid := #valid[0bv32 := 0bv1];~SIZE~0 := 0bv32; {2720#true} is VALID [2018-11-23 11:23:29,946 INFO L256 TraceCheckUtils]: 0: Hoare triple {2720#true} call ULTIMATE.init(); {2720#true} is VALID [2018-11-23 11:23:29,953 INFO L134 CoverageAnalysis]: Checked inductivity of 21 backedges. 0 proven. 21 refuted. 0 times theorem prover too weak. 0 trivial. 0 not checked. [2018-11-23 11:23:29,959 INFO L312 seRefinementStrategy]: Constructing automaton from 0 perfect and 2 imperfect interpolant sequences. [2018-11-23 11:23:29,959 INFO L327 seRefinementStrategy]: Number of different interpolants: perfect sequences [] imperfect sequences [14, 13] total 25 [2018-11-23 11:23:29,960 INFO L78 Accepts]: Start accepts. Automaton has 25 states. Word has length 30 [2018-11-23 11:23:29,960 INFO L84 Accepts]: Finished accepts. word is accepted. [2018-11-23 11:23:29,960 INFO L86 InductivityCheck]: Starting indutivity check of a Floyd-Hoare automaton with 25 states. [2018-11-23 11:23:31,463 INFO L119 InductivityCheck]: Floyd-Hoare automaton has 51 edges. 51 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2018-11-23 11:23:31,463 INFO L459 AbstractCegarLoop]: Interpolant automaton has 25 states [2018-11-23 11:23:31,463 INFO L142 InterpolantAutomaton]: Constructing interpolant automaton starting with 25 interpolants. [2018-11-23 11:23:31,463 INFO L144 InterpolantAutomaton]: CoverageRelationStatistics Valid=112, Invalid=488, Unknown=0, NotChecked=0, Total=600 [2018-11-23 11:23:31,464 INFO L87 Difference]: Start difference. First operand 69 states and 81 transitions. Second operand 25 states. [2018-11-23 11:23:33,093 WARN L180 SmtUtils]: Spent 289.00 ms on a formula simplification. DAG size of input: 41 DAG size of output: 41 [2018-11-23 11:23:34,232 WARN L180 SmtUtils]: Spent 215.00 ms on a formula simplification. DAG size of input: 38 DAG size of output: 37 [2018-11-23 11:23:34,623 WARN L180 SmtUtils]: Spent 128.00 ms on a formula simplification. DAG size of input: 38 DAG size of output: 35 [2018-11-23 11:23:35,571 WARN L180 SmtUtils]: Spent 243.00 ms on a formula simplification that was a NOOP. DAG size: 51 [2018-11-23 11:23:36,314 WARN L180 SmtUtils]: Spent 246.00 ms on a formula simplification that was a NOOP. DAG size: 44 [2018-11-23 11:23:37,268 WARN L180 SmtUtils]: Spent 391.00 ms on a formula simplification that was a NOOP. DAG size: 53 [2018-11-23 11:23:37,862 WARN L180 SmtUtils]: Spent 302.00 ms on a formula simplification that was a NOOP. DAG size: 43 [2018-11-23 11:23:38,716 WARN L180 SmtUtils]: Spent 115.00 ms on a formula simplification that was a NOOP. DAG size: 40 [2018-11-23 11:23:40,249 WARN L180 SmtUtils]: Spent 1.25 s on a formula simplification. DAG size of input: 70 DAG size of output: 70 [2018-11-23 11:23:40,803 WARN L180 SmtUtils]: Spent 218.00 ms on a formula simplification that was a NOOP. DAG size: 47 [2018-11-23 11:23:42,493 WARN L180 SmtUtils]: Spent 1.21 s on a formula simplification. DAG size of input: 63 DAG size of output: 63 [2018-11-23 11:23:42,721 WARN L180 SmtUtils]: Spent 124.00 ms on a formula simplification that was a NOOP. DAG size: 39 [2018-11-23 11:23:43,696 WARN L180 SmtUtils]: Spent 391.00 ms on a formula simplification that was a NOOP. DAG size: 56 [2018-11-23 11:23:44,847 WARN L180 SmtUtils]: Spent 612.00 ms on a formula simplification. DAG size of input: 54 DAG size of output: 54 [2018-11-23 11:23:46,449 WARN L180 SmtUtils]: Spent 881.00 ms on a formula simplification. DAG size of input: 59 DAG size of output: 59 [2018-11-23 11:23:49,426 WARN L180 SmtUtils]: Spent 1.38 s on a formula simplification. DAG size of input: 68 DAG size of output: 68 [2018-11-23 11:23:51,183 WARN L180 SmtUtils]: Spent 1.18 s on a formula simplification. DAG size of input: 65 DAG size of output: 65 [2018-11-23 11:23:52,954 WARN L180 SmtUtils]: Spent 1.23 s on a formula simplification. DAG size of input: 70 DAG size of output: 70 [2018-11-23 11:23:54,401 WARN L180 SmtUtils]: Spent 855.00 ms on a formula simplification. DAG size of input: 59 DAG size of output: 59 [2018-11-23 11:23:54,772 WARN L180 SmtUtils]: Spent 173.00 ms on a formula simplification that was a NOOP. DAG size: 43 [2018-11-23 11:23:54,812 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2018-11-23 11:23:54,813 INFO L93 Difference]: Finished difference Result 150 states and 180 transitions. [2018-11-23 11:23:54,813 INFO L142 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 37 states. [2018-11-23 11:23:54,813 INFO L78 Accepts]: Start accepts. Automaton has 25 states. Word has length 30 [2018-11-23 11:23:54,813 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2018-11-23 11:23:54,813 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 25 states. [2018-11-23 11:23:54,816 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 37 states to 37 states and 101 transitions. [2018-11-23 11:23:54,816 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 25 states. [2018-11-23 11:23:54,821 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 37 states to 37 states and 101 transitions. [2018-11-23 11:23:54,822 INFO L86 InductivityCheck]: Starting indutivity check of a Floyd-Hoare automaton with 37 states and 101 transitions. [2018-11-23 11:23:59,389 INFO L119 InductivityCheck]: Floyd-Hoare automaton has 101 edges. 100 inductive. 0 not inductive. 1 times theorem prover too weak to decide inductivity. [2018-11-23 11:23:59,391 INFO L225 Difference]: With dead ends: 150 [2018-11-23 11:23:59,391 INFO L226 Difference]: Without dead ends: 100 [2018-11-23 11:23:59,393 INFO L631 BasicCegarLoop]: 0 DeclaredPredicates, 85 GetRequests, 35 SyntacticMatches, 1 SemanticMatches, 49 ConstructedPredicates, 0 IntricatePredicates, 0 DeprecatedPredicates, 578 ImplicationChecksByTransitivity, 18.2s TimeCoverageRelationStatistics Valid=554, Invalid=1996, Unknown=0, NotChecked=0, Total=2550 [2018-11-23 11:23:59,393 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 100 states. [2018-11-23 11:23:59,589 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 100 to 81. [2018-11-23 11:23:59,589 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2018-11-23 11:23:59,589 INFO L82 GeneralOperation]: Start isEquivalent. First operand 100 states. Second operand 81 states. [2018-11-23 11:23:59,590 INFO L74 IsIncluded]: Start isIncluded. First operand 100 states. Second operand 81 states. [2018-11-23 11:23:59,590 INFO L87 Difference]: Start difference. First operand 100 states. Second operand 81 states. [2018-11-23 11:23:59,593 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2018-11-23 11:23:59,593 INFO L93 Difference]: Finished difference Result 100 states and 117 transitions. [2018-11-23 11:23:59,593 INFO L276 IsEmpty]: Start isEmpty. Operand 100 states and 117 transitions. [2018-11-23 11:23:59,593 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2018-11-23 11:23:59,594 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2018-11-23 11:23:59,594 INFO L74 IsIncluded]: Start isIncluded. First operand 81 states. Second operand 100 states. [2018-11-23 11:23:59,594 INFO L87 Difference]: Start difference. First operand 81 states. Second operand 100 states. [2018-11-23 11:23:59,596 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2018-11-23 11:23:59,596 INFO L93 Difference]: Finished difference Result 100 states and 117 transitions. [2018-11-23 11:23:59,596 INFO L276 IsEmpty]: Start isEmpty. Operand 100 states and 117 transitions. [2018-11-23 11:23:59,596 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2018-11-23 11:23:59,596 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2018-11-23 11:23:59,596 INFO L88 GeneralOperation]: Finished isEquivalent. [2018-11-23 11:23:59,596 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2018-11-23 11:23:59,596 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 81 states. [2018-11-23 11:23:59,598 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 81 states to 81 states and 96 transitions. [2018-11-23 11:23:59,598 INFO L78 Accepts]: Start accepts. Automaton has 81 states and 96 transitions. Word has length 30 [2018-11-23 11:23:59,598 INFO L84 Accepts]: Finished accepts. word is rejected. [2018-11-23 11:23:59,598 INFO L480 AbstractCegarLoop]: Abstraction has 81 states and 96 transitions. [2018-11-23 11:23:59,598 INFO L481 AbstractCegarLoop]: Interpolant automaton has 25 states. [2018-11-23 11:23:59,598 INFO L276 IsEmpty]: Start isEmpty. Operand 81 states and 96 transitions. [2018-11-23 11:23:59,599 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 35 [2018-11-23 11:23:59,599 INFO L394 BasicCegarLoop]: Found error trace [2018-11-23 11:23:59,599 INFO L402 BasicCegarLoop]: trace histogram [5, 4, 4, 4, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1] [2018-11-23 11:23:59,599 INFO L423 AbstractCegarLoop]: === Iteration 11 === [__VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION]=== [2018-11-23 11:23:59,599 INFO L141 PredicateUnifier]: Initialized classic predicate unifier [2018-11-23 11:23:59,599 INFO L82 PathProgramCache]: Analyzing trace with hash 1072654103, now seen corresponding path program 4 times [2018-11-23 11:23:59,600 INFO L223 ckRefinementStrategy]: Switched to mode CVC4_FPBP [2018-11-23 11:23:59,600 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 11:23:59,615 INFO L101 rtionOrderModulation]: Changing assertion order to TERMS_WITH_SMALL_CONSTANTS_FIRST [2018-11-23 11:23:59,674 INFO L249 tOrderPrioritization]: Assert order TERMS_WITH_SMALL_CONSTANTS_FIRST issued 0 check-sat command(s) [2018-11-23 11:23:59,674 INFO L250 tOrderPrioritization]: Conjunction of SSA is unsat [2018-11-23 11:23:59,701 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2018-11-23 11:23:59,703 INFO L273 TraceCheckSpWp]: Computing forward predicates... [2018-11-23 11:23:59,727 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 17 treesize of output 14 [2018-11-23 11:23:59,733 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 14 treesize of output 13 [2018-11-23 11:23:59,734 INFO L267 ElimStorePlain]: Start of recursive call 3: End of recursive call: and 1 xjuncts. [2018-11-23 11:23:59,739 INFO L267 ElimStorePlain]: Start of recursive call 2: 1 dim-1 vars, End of recursive call: and 1 xjuncts. [2018-11-23 11:23:59,749 INFO L267 ElimStorePlain]: Start of recursive call 1: 1 dim-2 vars, End of recursive call: and 1 xjuncts. [2018-11-23 11:23:59,750 INFO L202 ElimStorePlain]: Needed 3 recursive calls to eliminate 1 variables, input treesize:21, output treesize:17 [2018-11-23 11:24:00,525 WARN L180 SmtUtils]: Spent 116.00 ms on a formula simplification that was a NOOP. DAG size: 34 [2018-11-23 11:24:00,965 WARN L180 SmtUtils]: Spent 146.00 ms on a formula simplification. DAG size of input: 30 DAG size of output: 30 [2018-11-23 11:24:01,125 INFO L256 TraceCheckUtils]: 0: Hoare triple {3467#true} call ULTIMATE.init(); {3467#true} is VALID [2018-11-23 11:24:01,126 INFO L273 TraceCheckUtils]: 1: Hoare triple {3467#true} #NULL.base, #NULL.offset := 0bv32, 0bv32;#valid := #valid[0bv32 := 0bv1];~SIZE~0 := 0bv32; {3467#true} is VALID [2018-11-23 11:24:01,126 INFO L273 TraceCheckUtils]: 2: Hoare triple {3467#true} assume true; {3467#true} is VALID [2018-11-23 11:24:01,126 INFO L268 TraceCheckUtils]: 3: Hoare quadruple {3467#true} {3467#true} #53#return; {3467#true} is VALID [2018-11-23 11:24:01,126 INFO L256 TraceCheckUtils]: 4: Hoare triple {3467#true} call #t~ret5 := main(); {3467#true} is VALID [2018-11-23 11:24:01,128 INFO L273 TraceCheckUtils]: 5: Hoare triple {3467#true} ~SIZE~0 := ~bvadd32(1bv32, ~bvudiv32(#t~nondet3, 2bv32));havoc #t~nondet3;call ~#a~0.base, ~#a~0.offset := #Ultimate.alloc(~bvmul32(4bv32, ~SIZE~0));call write~intINTTYPE4(3bv32, ~#a~0.base, ~bvadd32(~#a~0.offset, ~bvmul32(4bv32, ~bvudiv32(~SIZE~0, 2bv32))), 4bv32); {3487#(and (= |main_~#a~0.offset| (_ bv0 32)) (= (_ bv3 32) (select (select |#memory_int| |main_~#a~0.base|) (bvadd (bvmul (_ bv4 32) (bvudiv ~SIZE~0 (_ bv2 32))) |main_~#a~0.offset|))))} is VALID [2018-11-23 11:24:03,135 INFO L256 TraceCheckUtils]: 6: Hoare triple {3487#(and (= |main_~#a~0.offset| (_ bv0 32)) (= (_ bv3 32) (select (select |#memory_int| |main_~#a~0.base|) (bvadd (bvmul (_ bv4 32) (bvudiv ~SIZE~0 (_ bv2 32))) |main_~#a~0.offset|))))} call #t~ret4 := linear_search(~#a~0.base, ~#a~0.offset, ~SIZE~0, 3bv32); {3491#(exists ((|v_main_~#a~0.base_BEFORE_CALL_10| (_ BitVec 32))) (= (_ bv3 32) (select (select |#memory_int| |v_main_~#a~0.base_BEFORE_CALL_10|) (bvmul (_ bv4 32) (bvudiv ~SIZE~0 (_ bv2 32))))))} is UNKNOWN [2018-11-23 11:24:03,136 INFO L273 TraceCheckUtils]: 7: Hoare triple {3491#(exists ((|v_main_~#a~0.base_BEFORE_CALL_10| (_ BitVec 32))) (= (_ bv3 32) (select (select |#memory_int| |v_main_~#a~0.base_BEFORE_CALL_10|) (bvmul (_ bv4 32) (bvudiv ~SIZE~0 (_ bv2 32))))))} ~a.base, ~a.offset := #in~a.base, #in~a.offset;~n := #in~n;~q := #in~q;~j~0 := 0bv32; {3495#(and (= linear_search_~n |linear_search_#in~n|) (= linear_search_~q |linear_search_#in~q|) (= linear_search_~j~0 (_ bv0 32)) (exists ((|v_main_~#a~0.base_BEFORE_CALL_10| (_ BitVec 32))) (= (_ bv3 32) (select (select |#memory_int| |v_main_~#a~0.base_BEFORE_CALL_10|) (bvmul (_ bv4 32) (bvudiv ~SIZE~0 (_ bv2 32)))))) (= linear_search_~a.offset |linear_search_#in~a.offset|) (= |linear_search_#in~a.base| linear_search_~a.base))} is VALID [2018-11-23 11:24:03,136 INFO L273 TraceCheckUtils]: 8: Hoare triple {3495#(and (= linear_search_~n |linear_search_#in~n|) (= linear_search_~q |linear_search_#in~q|) (= linear_search_~j~0 (_ bv0 32)) (exists ((|v_main_~#a~0.base_BEFORE_CALL_10| (_ BitVec 32))) (= (_ bv3 32) (select (select |#memory_int| |v_main_~#a~0.base_BEFORE_CALL_10|) (bvmul (_ bv4 32) (bvudiv ~SIZE~0 (_ bv2 32)))))) (= linear_search_~a.offset |linear_search_#in~a.offset|) (= |linear_search_#in~a.base| linear_search_~a.base))} #t~short1 := ~bvult32(~j~0, ~n); {3495#(and (= linear_search_~n |linear_search_#in~n|) (= linear_search_~q |linear_search_#in~q|) (= linear_search_~j~0 (_ bv0 32)) (exists ((|v_main_~#a~0.base_BEFORE_CALL_10| (_ BitVec 32))) (= (_ bv3 32) (select (select |#memory_int| |v_main_~#a~0.base_BEFORE_CALL_10|) (bvmul (_ bv4 32) (bvudiv ~SIZE~0 (_ bv2 32)))))) (= linear_search_~a.offset |linear_search_#in~a.offset|) (= |linear_search_#in~a.base| linear_search_~a.base))} is VALID [2018-11-23 11:24:03,137 INFO L273 TraceCheckUtils]: 9: Hoare triple {3495#(and (= linear_search_~n |linear_search_#in~n|) (= linear_search_~q |linear_search_#in~q|) (= linear_search_~j~0 (_ bv0 32)) (exists ((|v_main_~#a~0.base_BEFORE_CALL_10| (_ BitVec 32))) (= (_ bv3 32) (select (select |#memory_int| |v_main_~#a~0.base_BEFORE_CALL_10|) (bvmul (_ bv4 32) (bvudiv ~SIZE~0 (_ bv2 32)))))) (= linear_search_~a.offset |linear_search_#in~a.offset|) (= |linear_search_#in~a.base| linear_search_~a.base))} assume #t~short1;call #t~mem0 := read~intINTTYPE4(~a.base, ~bvadd32(~a.offset, ~bvmul32(4bv32, ~j~0)), 4bv32);#t~short1 := #t~mem0 != ~q; {3495#(and (= linear_search_~n |linear_search_#in~n|) (= linear_search_~q |linear_search_#in~q|) (= linear_search_~j~0 (_ bv0 32)) (exists ((|v_main_~#a~0.base_BEFORE_CALL_10| (_ BitVec 32))) (= (_ bv3 32) (select (select |#memory_int| |v_main_~#a~0.base_BEFORE_CALL_10|) (bvmul (_ bv4 32) (bvudiv ~SIZE~0 (_ bv2 32)))))) (= linear_search_~a.offset |linear_search_#in~a.offset|) (= |linear_search_#in~a.base| linear_search_~a.base))} is VALID [2018-11-23 11:24:03,138 INFO L273 TraceCheckUtils]: 10: Hoare triple {3495#(and (= linear_search_~n |linear_search_#in~n|) (= linear_search_~q |linear_search_#in~q|) (= linear_search_~j~0 (_ bv0 32)) (exists ((|v_main_~#a~0.base_BEFORE_CALL_10| (_ BitVec 32))) (= (_ bv3 32) (select (select |#memory_int| |v_main_~#a~0.base_BEFORE_CALL_10|) (bvmul (_ bv4 32) (bvudiv ~SIZE~0 (_ bv2 32)))))) (= linear_search_~a.offset |linear_search_#in~a.offset|) (= |linear_search_#in~a.base| linear_search_~a.base))} assume !!#t~short1;havoc #t~short1;havoc #t~mem0;#t~post2 := ~j~0;~j~0 := ~bvadd32(1bv32, #t~post2);havoc #t~post2; {3505#(and (= (bvadd linear_search_~j~0 (_ bv4294967295 32)) (_ bv0 32)) (= linear_search_~n |linear_search_#in~n|) (= linear_search_~q |linear_search_#in~q|) (exists ((|v_main_~#a~0.base_BEFORE_CALL_10| (_ BitVec 32))) (= (_ bv3 32) (select (select |#memory_int| |v_main_~#a~0.base_BEFORE_CALL_10|) (bvmul (_ bv4 32) (bvudiv ~SIZE~0 (_ bv2 32)))))) (= linear_search_~a.offset |linear_search_#in~a.offset|) (= |linear_search_#in~a.base| linear_search_~a.base))} is VALID [2018-11-23 11:24:03,139 INFO L273 TraceCheckUtils]: 11: Hoare triple {3505#(and (= (bvadd linear_search_~j~0 (_ bv4294967295 32)) (_ bv0 32)) (= linear_search_~n |linear_search_#in~n|) (= linear_search_~q |linear_search_#in~q|) (exists ((|v_main_~#a~0.base_BEFORE_CALL_10| (_ BitVec 32))) (= (_ bv3 32) (select (select |#memory_int| |v_main_~#a~0.base_BEFORE_CALL_10|) (bvmul (_ bv4 32) (bvudiv ~SIZE~0 (_ bv2 32)))))) (= linear_search_~a.offset |linear_search_#in~a.offset|) (= |linear_search_#in~a.base| linear_search_~a.base))} assume !(20bv32 == ~j~0); {3505#(and (= (bvadd linear_search_~j~0 (_ bv4294967295 32)) (_ bv0 32)) (= linear_search_~n |linear_search_#in~n|) (= linear_search_~q |linear_search_#in~q|) (exists ((|v_main_~#a~0.base_BEFORE_CALL_10| (_ BitVec 32))) (= (_ bv3 32) (select (select |#memory_int| |v_main_~#a~0.base_BEFORE_CALL_10|) (bvmul (_ bv4 32) (bvudiv ~SIZE~0 (_ bv2 32)))))) (= linear_search_~a.offset |linear_search_#in~a.offset|) (= |linear_search_#in~a.base| linear_search_~a.base))} is VALID [2018-11-23 11:24:03,140 INFO L273 TraceCheckUtils]: 12: Hoare triple {3505#(and (= (bvadd linear_search_~j~0 (_ bv4294967295 32)) (_ bv0 32)) (= linear_search_~n |linear_search_#in~n|) (= linear_search_~q |linear_search_#in~q|) (exists ((|v_main_~#a~0.base_BEFORE_CALL_10| (_ BitVec 32))) (= (_ bv3 32) (select (select |#memory_int| |v_main_~#a~0.base_BEFORE_CALL_10|) (bvmul (_ bv4 32) (bvudiv ~SIZE~0 (_ bv2 32)))))) (= linear_search_~a.offset |linear_search_#in~a.offset|) (= |linear_search_#in~a.base| linear_search_~a.base))} #t~short1 := ~bvult32(~j~0, ~n); {3505#(and (= (bvadd linear_search_~j~0 (_ bv4294967295 32)) (_ bv0 32)) (= linear_search_~n |linear_search_#in~n|) (= linear_search_~q |linear_search_#in~q|) (exists ((|v_main_~#a~0.base_BEFORE_CALL_10| (_ BitVec 32))) (= (_ bv3 32) (select (select |#memory_int| |v_main_~#a~0.base_BEFORE_CALL_10|) (bvmul (_ bv4 32) (bvudiv ~SIZE~0 (_ bv2 32)))))) (= linear_search_~a.offset |linear_search_#in~a.offset|) (= |linear_search_#in~a.base| linear_search_~a.base))} is VALID [2018-11-23 11:24:03,141 INFO L273 TraceCheckUtils]: 13: Hoare triple {3505#(and (= (bvadd linear_search_~j~0 (_ bv4294967295 32)) (_ bv0 32)) (= linear_search_~n |linear_search_#in~n|) (= linear_search_~q |linear_search_#in~q|) (exists ((|v_main_~#a~0.base_BEFORE_CALL_10| (_ BitVec 32))) (= (_ bv3 32) (select (select |#memory_int| |v_main_~#a~0.base_BEFORE_CALL_10|) (bvmul (_ bv4 32) (bvudiv ~SIZE~0 (_ bv2 32)))))) (= linear_search_~a.offset |linear_search_#in~a.offset|) (= |linear_search_#in~a.base| linear_search_~a.base))} assume #t~short1;call #t~mem0 := read~intINTTYPE4(~a.base, ~bvadd32(~a.offset, ~bvmul32(4bv32, ~j~0)), 4bv32);#t~short1 := #t~mem0 != ~q; {3505#(and (= (bvadd linear_search_~j~0 (_ bv4294967295 32)) (_ bv0 32)) (= linear_search_~n |linear_search_#in~n|) (= linear_search_~q |linear_search_#in~q|) (exists ((|v_main_~#a~0.base_BEFORE_CALL_10| (_ BitVec 32))) (= (_ bv3 32) (select (select |#memory_int| |v_main_~#a~0.base_BEFORE_CALL_10|) (bvmul (_ bv4 32) (bvudiv ~SIZE~0 (_ bv2 32)))))) (= linear_search_~a.offset |linear_search_#in~a.offset|) (= |linear_search_#in~a.base| linear_search_~a.base))} is VALID [2018-11-23 11:24:03,143 INFO L273 TraceCheckUtils]: 14: Hoare triple {3505#(and (= (bvadd linear_search_~j~0 (_ bv4294967295 32)) (_ bv0 32)) (= linear_search_~n |linear_search_#in~n|) (= linear_search_~q |linear_search_#in~q|) (exists ((|v_main_~#a~0.base_BEFORE_CALL_10| (_ BitVec 32))) (= (_ bv3 32) (select (select |#memory_int| |v_main_~#a~0.base_BEFORE_CALL_10|) (bvmul (_ bv4 32) (bvudiv ~SIZE~0 (_ bv2 32)))))) (= linear_search_~a.offset |linear_search_#in~a.offset|) (= |linear_search_#in~a.base| linear_search_~a.base))} assume !!#t~short1;havoc #t~short1;havoc #t~mem0;#t~post2 := ~j~0;~j~0 := ~bvadd32(1bv32, #t~post2);havoc #t~post2; {3518#(and (= (_ bv2 32) linear_search_~j~0) (= linear_search_~n |linear_search_#in~n|) (= linear_search_~q |linear_search_#in~q|) (exists ((|v_main_~#a~0.base_BEFORE_CALL_10| (_ BitVec 32))) (= (_ bv3 32) (select (select |#memory_int| |v_main_~#a~0.base_BEFORE_CALL_10|) (bvmul (_ bv4 32) (bvudiv ~SIZE~0 (_ bv2 32)))))) (= linear_search_~a.offset |linear_search_#in~a.offset|) (= |linear_search_#in~a.base| linear_search_~a.base))} is VALID [2018-11-23 11:24:03,144 INFO L273 TraceCheckUtils]: 15: Hoare triple {3518#(and (= (_ bv2 32) linear_search_~j~0) (= linear_search_~n |linear_search_#in~n|) (= linear_search_~q |linear_search_#in~q|) (exists ((|v_main_~#a~0.base_BEFORE_CALL_10| (_ BitVec 32))) (= (_ bv3 32) (select (select |#memory_int| |v_main_~#a~0.base_BEFORE_CALL_10|) (bvmul (_ bv4 32) (bvudiv ~SIZE~0 (_ bv2 32)))))) (= linear_search_~a.offset |linear_search_#in~a.offset|) (= |linear_search_#in~a.base| linear_search_~a.base))} assume !(20bv32 == ~j~0); {3518#(and (= (_ bv2 32) linear_search_~j~0) (= linear_search_~n |linear_search_#in~n|) (= linear_search_~q |linear_search_#in~q|) (exists ((|v_main_~#a~0.base_BEFORE_CALL_10| (_ BitVec 32))) (= (_ bv3 32) (select (select |#memory_int| |v_main_~#a~0.base_BEFORE_CALL_10|) (bvmul (_ bv4 32) (bvudiv ~SIZE~0 (_ bv2 32)))))) (= linear_search_~a.offset |linear_search_#in~a.offset|) (= |linear_search_#in~a.base| linear_search_~a.base))} is VALID [2018-11-23 11:24:03,146 INFO L273 TraceCheckUtils]: 16: Hoare triple {3518#(and (= (_ bv2 32) linear_search_~j~0) (= linear_search_~n |linear_search_#in~n|) (= linear_search_~q |linear_search_#in~q|) (exists ((|v_main_~#a~0.base_BEFORE_CALL_10| (_ BitVec 32))) (= (_ bv3 32) (select (select |#memory_int| |v_main_~#a~0.base_BEFORE_CALL_10|) (bvmul (_ bv4 32) (bvudiv ~SIZE~0 (_ bv2 32)))))) (= linear_search_~a.offset |linear_search_#in~a.offset|) (= |linear_search_#in~a.base| linear_search_~a.base))} #t~short1 := ~bvult32(~j~0, ~n); {3518#(and (= (_ bv2 32) linear_search_~j~0) (= linear_search_~n |linear_search_#in~n|) (= linear_search_~q |linear_search_#in~q|) (exists ((|v_main_~#a~0.base_BEFORE_CALL_10| (_ BitVec 32))) (= (_ bv3 32) (select (select |#memory_int| |v_main_~#a~0.base_BEFORE_CALL_10|) (bvmul (_ bv4 32) (bvudiv ~SIZE~0 (_ bv2 32)))))) (= linear_search_~a.offset |linear_search_#in~a.offset|) (= |linear_search_#in~a.base| linear_search_~a.base))} is VALID [2018-11-23 11:24:03,149 INFO L273 TraceCheckUtils]: 17: Hoare triple {3518#(and (= (_ bv2 32) linear_search_~j~0) (= linear_search_~n |linear_search_#in~n|) (= linear_search_~q |linear_search_#in~q|) (exists ((|v_main_~#a~0.base_BEFORE_CALL_10| (_ BitVec 32))) (= (_ bv3 32) (select (select |#memory_int| |v_main_~#a~0.base_BEFORE_CALL_10|) (bvmul (_ bv4 32) (bvudiv ~SIZE~0 (_ bv2 32)))))) (= linear_search_~a.offset |linear_search_#in~a.offset|) (= |linear_search_#in~a.base| linear_search_~a.base))} assume #t~short1;call #t~mem0 := read~intINTTYPE4(~a.base, ~bvadd32(~a.offset, ~bvmul32(4bv32, ~j~0)), 4bv32);#t~short1 := #t~mem0 != ~q; {3528#(or (and (not (= (select (select |#memory_int| |linear_search_#in~a.base|) (bvadd |linear_search_#in~a.offset| (bvmul (_ bv4 32) linear_search_~j~0))) |linear_search_#in~q|)) (= (_ bv2 32) linear_search_~j~0) (= linear_search_~n |linear_search_#in~n|) |linear_search_#t~short1| (exists ((|v_main_~#a~0.base_BEFORE_CALL_10| (_ BitVec 32))) (= (_ bv3 32) (select (select |#memory_int| |v_main_~#a~0.base_BEFORE_CALL_10|) (bvmul (_ bv4 32) (bvudiv ~SIZE~0 (_ bv2 32))))))) (and (= (_ bv2 32) linear_search_~j~0) (= linear_search_~n |linear_search_#in~n|) (not |linear_search_#t~short1|) (= (select (select |#memory_int| |linear_search_#in~a.base|) (bvadd |linear_search_#in~a.offset| (bvmul (_ bv4 32) linear_search_~j~0))) |linear_search_#in~q|) (exists ((|v_main_~#a~0.base_BEFORE_CALL_10| (_ BitVec 32))) (= (_ bv3 32) (select (select |#memory_int| |v_main_~#a~0.base_BEFORE_CALL_10|) (bvmul (_ bv4 32) (bvudiv ~SIZE~0 (_ bv2 32))))))))} is VALID [2018-11-23 11:24:03,303 INFO L273 TraceCheckUtils]: 18: Hoare triple {3528#(or (and (not (= (select (select |#memory_int| |linear_search_#in~a.base|) (bvadd |linear_search_#in~a.offset| (bvmul (_ bv4 32) linear_search_~j~0))) |linear_search_#in~q|)) (= (_ bv2 32) linear_search_~j~0) (= linear_search_~n |linear_search_#in~n|) |linear_search_#t~short1| (exists ((|v_main_~#a~0.base_BEFORE_CALL_10| (_ BitVec 32))) (= (_ bv3 32) (select (select |#memory_int| |v_main_~#a~0.base_BEFORE_CALL_10|) (bvmul (_ bv4 32) (bvudiv ~SIZE~0 (_ bv2 32))))))) (and (= (_ bv2 32) linear_search_~j~0) (= linear_search_~n |linear_search_#in~n|) (not |linear_search_#t~short1|) (= (select (select |#memory_int| |linear_search_#in~a.base|) (bvadd |linear_search_#in~a.offset| (bvmul (_ bv4 32) linear_search_~j~0))) |linear_search_#in~q|) (exists ((|v_main_~#a~0.base_BEFORE_CALL_10| (_ BitVec 32))) (= (_ bv3 32) (select (select |#memory_int| |v_main_~#a~0.base_BEFORE_CALL_10|) (bvmul (_ bv4 32) (bvudiv ~SIZE~0 (_ bv2 32))))))))} assume !!#t~short1;havoc #t~short1;havoc #t~mem0;#t~post2 := ~j~0;~j~0 := ~bvadd32(1bv32, #t~post2);havoc #t~post2; {3532#(and (= linear_search_~n |linear_search_#in~n|) (= (_ bv3 32) linear_search_~j~0) (exists ((|v_main_~#a~0.base_BEFORE_CALL_10| (_ BitVec 32))) (= (_ bv3 32) (select (select |#memory_int| |v_main_~#a~0.base_BEFORE_CALL_10|) (bvmul (_ bv4 32) (bvudiv ~SIZE~0 (_ bv2 32)))))) (not (= (select (select |#memory_int| |linear_search_#in~a.base|) (bvadd (bvmul (_ bv4 32) linear_search_~j~0) |linear_search_#in~a.offset| (_ bv4294967292 32))) |linear_search_#in~q|)))} is VALID [2018-11-23 11:24:03,304 INFO L273 TraceCheckUtils]: 19: Hoare triple {3532#(and (= linear_search_~n |linear_search_#in~n|) (= (_ bv3 32) linear_search_~j~0) (exists ((|v_main_~#a~0.base_BEFORE_CALL_10| (_ BitVec 32))) (= (_ bv3 32) (select (select |#memory_int| |v_main_~#a~0.base_BEFORE_CALL_10|) (bvmul (_ bv4 32) (bvudiv ~SIZE~0 (_ bv2 32)))))) (not (= (select (select |#memory_int| |linear_search_#in~a.base|) (bvadd (bvmul (_ bv4 32) linear_search_~j~0) |linear_search_#in~a.offset| (_ bv4294967292 32))) |linear_search_#in~q|)))} assume !(20bv32 == ~j~0); {3532#(and (= linear_search_~n |linear_search_#in~n|) (= (_ bv3 32) linear_search_~j~0) (exists ((|v_main_~#a~0.base_BEFORE_CALL_10| (_ BitVec 32))) (= (_ bv3 32) (select (select |#memory_int| |v_main_~#a~0.base_BEFORE_CALL_10|) (bvmul (_ bv4 32) (bvudiv ~SIZE~0 (_ bv2 32)))))) (not (= (select (select |#memory_int| |linear_search_#in~a.base|) (bvadd (bvmul (_ bv4 32) linear_search_~j~0) |linear_search_#in~a.offset| (_ bv4294967292 32))) |linear_search_#in~q|)))} is VALID [2018-11-23 11:24:03,306 INFO L273 TraceCheckUtils]: 20: Hoare triple {3532#(and (= linear_search_~n |linear_search_#in~n|) (= (_ bv3 32) linear_search_~j~0) (exists ((|v_main_~#a~0.base_BEFORE_CALL_10| (_ BitVec 32))) (= (_ bv3 32) (select (select |#memory_int| |v_main_~#a~0.base_BEFORE_CALL_10|) (bvmul (_ bv4 32) (bvudiv ~SIZE~0 (_ bv2 32)))))) (not (= (select (select |#memory_int| |linear_search_#in~a.base|) (bvadd (bvmul (_ bv4 32) linear_search_~j~0) |linear_search_#in~a.offset| (_ bv4294967292 32))) |linear_search_#in~q|)))} #t~short1 := ~bvult32(~j~0, ~n); {3539#(or (and (= linear_search_~n |linear_search_#in~n|) (bvult linear_search_~j~0 linear_search_~n) (= (_ bv3 32) linear_search_~j~0) |linear_search_#t~short1| (exists ((|v_main_~#a~0.base_BEFORE_CALL_10| (_ BitVec 32))) (= (_ bv3 32) (select (select |#memory_int| |v_main_~#a~0.base_BEFORE_CALL_10|) (bvmul (_ bv4 32) (bvudiv ~SIZE~0 (_ bv2 32)))))) (not (= (select (select |#memory_int| |linear_search_#in~a.base|) (bvadd (bvmul (_ bv4 32) linear_search_~j~0) |linear_search_#in~a.offset| (_ bv4294967292 32))) |linear_search_#in~q|))) (and (= linear_search_~n |linear_search_#in~n|) (not (bvult linear_search_~j~0 linear_search_~n)) (not |linear_search_#t~short1|) (= (_ bv3 32) linear_search_~j~0) (exists ((|v_main_~#a~0.base_BEFORE_CALL_10| (_ BitVec 32))) (= (_ bv3 32) (select (select |#memory_int| |v_main_~#a~0.base_BEFORE_CALL_10|) (bvmul (_ bv4 32) (bvudiv ~SIZE~0 (_ bv2 32)))))) (not (= (select (select |#memory_int| |linear_search_#in~a.base|) (bvadd (bvmul (_ bv4 32) linear_search_~j~0) |linear_search_#in~a.offset| (_ bv4294967292 32))) |linear_search_#in~q|))))} is VALID [2018-11-23 11:24:03,307 INFO L273 TraceCheckUtils]: 21: Hoare triple {3539#(or (and (= linear_search_~n |linear_search_#in~n|) (bvult linear_search_~j~0 linear_search_~n) (= (_ bv3 32) linear_search_~j~0) |linear_search_#t~short1| (exists ((|v_main_~#a~0.base_BEFORE_CALL_10| (_ BitVec 32))) (= (_ bv3 32) (select (select |#memory_int| |v_main_~#a~0.base_BEFORE_CALL_10|) (bvmul (_ bv4 32) (bvudiv ~SIZE~0 (_ bv2 32)))))) (not (= (select (select |#memory_int| |linear_search_#in~a.base|) (bvadd (bvmul (_ bv4 32) linear_search_~j~0) |linear_search_#in~a.offset| (_ bv4294967292 32))) |linear_search_#in~q|))) (and (= linear_search_~n |linear_search_#in~n|) (not (bvult linear_search_~j~0 linear_search_~n)) (not |linear_search_#t~short1|) (= (_ bv3 32) linear_search_~j~0) (exists ((|v_main_~#a~0.base_BEFORE_CALL_10| (_ BitVec 32))) (= (_ bv3 32) (select (select |#memory_int| |v_main_~#a~0.base_BEFORE_CALL_10|) (bvmul (_ bv4 32) (bvudiv ~SIZE~0 (_ bv2 32)))))) (not (= (select (select |#memory_int| |linear_search_#in~a.base|) (bvadd (bvmul (_ bv4 32) linear_search_~j~0) |linear_search_#in~a.offset| (_ bv4294967292 32))) |linear_search_#in~q|))))} assume #t~short1;call #t~mem0 := read~intINTTYPE4(~a.base, ~bvadd32(~a.offset, ~bvmul32(4bv32, ~j~0)), 4bv32);#t~short1 := #t~mem0 != ~q; {3543#(and (= linear_search_~n |linear_search_#in~n|) (bvult linear_search_~j~0 linear_search_~n) (= (_ bv3 32) linear_search_~j~0) (exists ((|v_main_~#a~0.base_BEFORE_CALL_10| (_ BitVec 32))) (= (_ bv3 32) (select (select |#memory_int| |v_main_~#a~0.base_BEFORE_CALL_10|) (bvmul (_ bv4 32) (bvudiv ~SIZE~0 (_ bv2 32)))))) (not (= (select (select |#memory_int| |linear_search_#in~a.base|) (bvadd (bvmul (_ bv4 32) linear_search_~j~0) |linear_search_#in~a.offset| (_ bv4294967292 32))) |linear_search_#in~q|)))} is VALID [2018-11-23 11:24:03,309 INFO L273 TraceCheckUtils]: 22: Hoare triple {3543#(and (= linear_search_~n |linear_search_#in~n|) (bvult linear_search_~j~0 linear_search_~n) (= (_ bv3 32) linear_search_~j~0) (exists ((|v_main_~#a~0.base_BEFORE_CALL_10| (_ BitVec 32))) (= (_ bv3 32) (select (select |#memory_int| |v_main_~#a~0.base_BEFORE_CALL_10|) (bvmul (_ bv4 32) (bvudiv ~SIZE~0 (_ bv2 32)))))) (not (= (select (select |#memory_int| |linear_search_#in~a.base|) (bvadd (bvmul (_ bv4 32) linear_search_~j~0) |linear_search_#in~a.offset| (_ bv4294967292 32))) |linear_search_#in~q|)))} assume !!#t~short1;havoc #t~short1;havoc #t~mem0;#t~post2 := ~j~0;~j~0 := ~bvadd32(1bv32, #t~post2);havoc #t~post2; {3547#(and (bvult (_ bv3 32) linear_search_~n) (= linear_search_~n |linear_search_#in~n|) (not (= (select (select |#memory_int| |linear_search_#in~a.base|) (bvadd |linear_search_#in~a.offset| (_ bv8 32))) |linear_search_#in~q|)) (= (bvadd linear_search_~j~0 (_ bv4294967292 32)) (_ bv0 32)) (exists ((|v_main_~#a~0.base_BEFORE_CALL_10| (_ BitVec 32))) (= (_ bv3 32) (select (select |#memory_int| |v_main_~#a~0.base_BEFORE_CALL_10|) (bvmul (_ bv4 32) (bvudiv ~SIZE~0 (_ bv2 32)))))))} is VALID [2018-11-23 11:24:03,311 INFO L273 TraceCheckUtils]: 23: Hoare triple {3547#(and (bvult (_ bv3 32) linear_search_~n) (= linear_search_~n |linear_search_#in~n|) (not (= (select (select |#memory_int| |linear_search_#in~a.base|) (bvadd |linear_search_#in~a.offset| (_ bv8 32))) |linear_search_#in~q|)) (= (bvadd linear_search_~j~0 (_ bv4294967292 32)) (_ bv0 32)) (exists ((|v_main_~#a~0.base_BEFORE_CALL_10| (_ BitVec 32))) (= (_ bv3 32) (select (select |#memory_int| |v_main_~#a~0.base_BEFORE_CALL_10|) (bvmul (_ bv4 32) (bvudiv ~SIZE~0 (_ bv2 32)))))))} assume !(20bv32 == ~j~0); {3547#(and (bvult (_ bv3 32) linear_search_~n) (= linear_search_~n |linear_search_#in~n|) (not (= (select (select |#memory_int| |linear_search_#in~a.base|) (bvadd |linear_search_#in~a.offset| (_ bv8 32))) |linear_search_#in~q|)) (= (bvadd linear_search_~j~0 (_ bv4294967292 32)) (_ bv0 32)) (exists ((|v_main_~#a~0.base_BEFORE_CALL_10| (_ BitVec 32))) (= (_ bv3 32) (select (select |#memory_int| |v_main_~#a~0.base_BEFORE_CALL_10|) (bvmul (_ bv4 32) (bvudiv ~SIZE~0 (_ bv2 32)))))))} is VALID [2018-11-23 11:24:03,313 INFO L273 TraceCheckUtils]: 24: Hoare triple {3547#(and (bvult (_ bv3 32) linear_search_~n) (= linear_search_~n |linear_search_#in~n|) (not (= (select (select |#memory_int| |linear_search_#in~a.base|) (bvadd |linear_search_#in~a.offset| (_ bv8 32))) |linear_search_#in~q|)) (= (bvadd linear_search_~j~0 (_ bv4294967292 32)) (_ bv0 32)) (exists ((|v_main_~#a~0.base_BEFORE_CALL_10| (_ BitVec 32))) (= (_ bv3 32) (select (select |#memory_int| |v_main_~#a~0.base_BEFORE_CALL_10|) (bvmul (_ bv4 32) (bvudiv ~SIZE~0 (_ bv2 32)))))))} #t~short1 := ~bvult32(~j~0, ~n); {3554#(or (and (bvult (_ bv4 32) |linear_search_#in~n|) (not (= (select (select |#memory_int| |linear_search_#in~a.base|) (bvadd |linear_search_#in~a.offset| (_ bv8 32))) |linear_search_#in~q|)) |linear_search_#t~short1| (exists ((|v_main_~#a~0.base_BEFORE_CALL_10| (_ BitVec 32))) (= (_ bv3 32) (select (select |#memory_int| |v_main_~#a~0.base_BEFORE_CALL_10|) (bvmul (_ bv4 32) (bvudiv ~SIZE~0 (_ bv2 32))))))) (and (bvult (_ bv3 32) |linear_search_#in~n|) (not |linear_search_#t~short1|) (not (bvult (_ bv4 32) |linear_search_#in~n|)) (not (= (select (select |#memory_int| |linear_search_#in~a.base|) (bvadd |linear_search_#in~a.offset| (_ bv8 32))) |linear_search_#in~q|)) (exists ((|v_main_~#a~0.base_BEFORE_CALL_10| (_ BitVec 32))) (= (_ bv3 32) (select (select |#memory_int| |v_main_~#a~0.base_BEFORE_CALL_10|) (bvmul (_ bv4 32) (bvudiv ~SIZE~0 (_ bv2 32))))))))} is VALID [2018-11-23 11:24:03,331 INFO L273 TraceCheckUtils]: 25: Hoare triple {3554#(or (and (bvult (_ bv4 32) |linear_search_#in~n|) (not (= (select (select |#memory_int| |linear_search_#in~a.base|) (bvadd |linear_search_#in~a.offset| (_ bv8 32))) |linear_search_#in~q|)) |linear_search_#t~short1| (exists ((|v_main_~#a~0.base_BEFORE_CALL_10| (_ BitVec 32))) (= (_ bv3 32) (select (select |#memory_int| |v_main_~#a~0.base_BEFORE_CALL_10|) (bvmul (_ bv4 32) (bvudiv ~SIZE~0 (_ bv2 32))))))) (and (bvult (_ bv3 32) |linear_search_#in~n|) (not |linear_search_#t~short1|) (not (bvult (_ bv4 32) |linear_search_#in~n|)) (not (= (select (select |#memory_int| |linear_search_#in~a.base|) (bvadd |linear_search_#in~a.offset| (_ bv8 32))) |linear_search_#in~q|)) (exists ((|v_main_~#a~0.base_BEFORE_CALL_10| (_ BitVec 32))) (= (_ bv3 32) (select (select |#memory_int| |v_main_~#a~0.base_BEFORE_CALL_10|) (bvmul (_ bv4 32) (bvudiv ~SIZE~0 (_ bv2 32))))))))} assume !#t~short1; {3558#(and (bvult (_ bv3 32) |linear_search_#in~n|) (not (bvult (_ bv4 32) |linear_search_#in~n|)) (not (= (select (select |#memory_int| |linear_search_#in~a.base|) (bvadd |linear_search_#in~a.offset| (_ bv8 32))) |linear_search_#in~q|)) (exists ((|v_main_~#a~0.base_BEFORE_CALL_10| (_ BitVec 32))) (= (_ bv3 32) (select (select |#memory_int| |v_main_~#a~0.base_BEFORE_CALL_10|) (bvmul (_ bv4 32) (bvudiv ~SIZE~0 (_ bv2 32)))))))} is VALID [2018-11-23 11:24:03,346 INFO L273 TraceCheckUtils]: 26: Hoare triple {3558#(and (bvult (_ bv3 32) |linear_search_#in~n|) (not (bvult (_ bv4 32) |linear_search_#in~n|)) (not (= (select (select |#memory_int| |linear_search_#in~a.base|) (bvadd |linear_search_#in~a.offset| (_ bv8 32))) |linear_search_#in~q|)) (exists ((|v_main_~#a~0.base_BEFORE_CALL_10| (_ BitVec 32))) (= (_ bv3 32) (select (select |#memory_int| |v_main_~#a~0.base_BEFORE_CALL_10|) (bvmul (_ bv4 32) (bvudiv ~SIZE~0 (_ bv2 32)))))))} assume !#t~short1;havoc #t~short1;havoc #t~mem0; {3558#(and (bvult (_ bv3 32) |linear_search_#in~n|) (not (bvult (_ bv4 32) |linear_search_#in~n|)) (not (= (select (select |#memory_int| |linear_search_#in~a.base|) (bvadd |linear_search_#in~a.offset| (_ bv8 32))) |linear_search_#in~q|)) (exists ((|v_main_~#a~0.base_BEFORE_CALL_10| (_ BitVec 32))) (= (_ bv3 32) (select (select |#memory_int| |v_main_~#a~0.base_BEFORE_CALL_10|) (bvmul (_ bv4 32) (bvudiv ~SIZE~0 (_ bv2 32)))))))} is VALID [2018-11-23 11:24:03,362 INFO L273 TraceCheckUtils]: 27: Hoare triple {3558#(and (bvult (_ bv3 32) |linear_search_#in~n|) (not (bvult (_ bv4 32) |linear_search_#in~n|)) (not (= (select (select |#memory_int| |linear_search_#in~a.base|) (bvadd |linear_search_#in~a.offset| (_ bv8 32))) |linear_search_#in~q|)) (exists ((|v_main_~#a~0.base_BEFORE_CALL_10| (_ BitVec 32))) (= (_ bv3 32) (select (select |#memory_int| |v_main_~#a~0.base_BEFORE_CALL_10|) (bvmul (_ bv4 32) (bvudiv ~SIZE~0 (_ bv2 32)))))))} assume !~bvult32(~j~0, ~SIZE~0);#res := 0bv32; {3558#(and (bvult (_ bv3 32) |linear_search_#in~n|) (not (bvult (_ bv4 32) |linear_search_#in~n|)) (not (= (select (select |#memory_int| |linear_search_#in~a.base|) (bvadd |linear_search_#in~a.offset| (_ bv8 32))) |linear_search_#in~q|)) (exists ((|v_main_~#a~0.base_BEFORE_CALL_10| (_ BitVec 32))) (= (_ bv3 32) (select (select |#memory_int| |v_main_~#a~0.base_BEFORE_CALL_10|) (bvmul (_ bv4 32) (bvudiv ~SIZE~0 (_ bv2 32)))))))} is VALID [2018-11-23 11:24:03,377 INFO L273 TraceCheckUtils]: 28: Hoare triple {3558#(and (bvult (_ bv3 32) |linear_search_#in~n|) (not (bvult (_ bv4 32) |linear_search_#in~n|)) (not (= (select (select |#memory_int| |linear_search_#in~a.base|) (bvadd |linear_search_#in~a.offset| (_ bv8 32))) |linear_search_#in~q|)) (exists ((|v_main_~#a~0.base_BEFORE_CALL_10| (_ BitVec 32))) (= (_ bv3 32) (select (select |#memory_int| |v_main_~#a~0.base_BEFORE_CALL_10|) (bvmul (_ bv4 32) (bvudiv ~SIZE~0 (_ bv2 32)))))))} assume true; {3558#(and (bvult (_ bv3 32) |linear_search_#in~n|) (not (bvult (_ bv4 32) |linear_search_#in~n|)) (not (= (select (select |#memory_int| |linear_search_#in~a.base|) (bvadd |linear_search_#in~a.offset| (_ bv8 32))) |linear_search_#in~q|)) (exists ((|v_main_~#a~0.base_BEFORE_CALL_10| (_ BitVec 32))) (= (_ bv3 32) (select (select |#memory_int| |v_main_~#a~0.base_BEFORE_CALL_10|) (bvmul (_ bv4 32) (bvudiv ~SIZE~0 (_ bv2 32)))))))} is VALID [2018-11-23 11:24:03,381 INFO L268 TraceCheckUtils]: 29: Hoare quadruple {3558#(and (bvult (_ bv3 32) |linear_search_#in~n|) (not (bvult (_ bv4 32) |linear_search_#in~n|)) (not (= (select (select |#memory_int| |linear_search_#in~a.base|) (bvadd |linear_search_#in~a.offset| (_ bv8 32))) |linear_search_#in~q|)) (exists ((|v_main_~#a~0.base_BEFORE_CALL_10| (_ BitVec 32))) (= (_ bv3 32) (select (select |#memory_int| |v_main_~#a~0.base_BEFORE_CALL_10|) (bvmul (_ bv4 32) (bvudiv ~SIZE~0 (_ bv2 32)))))))} {3487#(and (= |main_~#a~0.offset| (_ bv0 32)) (= (_ bv3 32) (select (select |#memory_int| |main_~#a~0.base|) (bvadd (bvmul (_ bv4 32) (bvudiv ~SIZE~0 (_ bv2 32))) |main_~#a~0.offset|))))} #57#return; {3468#false} is VALID [2018-11-23 11:24:03,381 INFO L256 TraceCheckUtils]: 30: Hoare triple {3468#false} call __VERIFIER_assert(#t~ret4); {3468#false} is VALID [2018-11-23 11:24:03,381 INFO L273 TraceCheckUtils]: 31: Hoare triple {3468#false} ~cond := #in~cond; {3468#false} is VALID [2018-11-23 11:24:03,381 INFO L273 TraceCheckUtils]: 32: Hoare triple {3468#false} assume 0bv32 == ~cond; {3468#false} is VALID [2018-11-23 11:24:03,382 INFO L273 TraceCheckUtils]: 33: Hoare triple {3468#false} assume !false; {3468#false} is VALID [2018-11-23 11:24:03,388 INFO L134 CoverageAnalysis]: Checked inductivity of 36 backedges. 0 proven. 36 refuted. 0 times theorem prover too weak. 0 trivial. 0 not checked. [2018-11-23 11:24:03,388 INFO L316 TraceCheckSpWp]: Computing backward predicates... [2018-11-23 11:24:03,691 WARN L180 SmtUtils]: Spent 298.00 ms on a formula simplification. DAG size of input: 58 DAG size of output: 46 [2018-11-23 11:24:08,977 WARN L180 SmtUtils]: Spent 131.00 ms on a formula simplification that was a NOOP. DAG size: 40 [2018-11-23 11:24:09,364 WARN L180 SmtUtils]: Spent 156.00 ms on a formula simplification that was a NOOP. DAG size: 45 [2018-11-23 11:24:09,702 WARN L180 SmtUtils]: Spent 140.00 ms on a formula simplification that was a NOOP. DAG size: 44 [2018-11-23 11:24:10,057 WARN L180 SmtUtils]: Spent 156.00 ms on a formula simplification that was a NOOP. DAG size: 43 [2018-11-23 11:24:11,282 INFO L273 TraceCheckUtils]: 33: Hoare triple {3468#false} assume !false; {3468#false} is VALID [2018-11-23 11:24:11,282 INFO L273 TraceCheckUtils]: 32: Hoare triple {3468#false} assume 0bv32 == ~cond; {3468#false} is VALID [2018-11-23 11:24:11,282 INFO L273 TraceCheckUtils]: 31: Hoare triple {3468#false} ~cond := #in~cond; {3468#false} is VALID [2018-11-23 11:24:11,282 INFO L256 TraceCheckUtils]: 30: Hoare triple {3468#false} call __VERIFIER_assert(#t~ret4); {3468#false} is VALID [2018-11-23 11:24:11,286 INFO L268 TraceCheckUtils]: 29: Hoare quadruple {3599#(or (not (= ~SIZE~0 |linear_search_#in~n|)) (and (bvult (_ bv3 32) ~SIZE~0) (not (bvult (_ bv4 32) ~SIZE~0)) (not (= (bvadd (select (select |#memory_int| |linear_search_#in~a.base|) (bvadd |linear_search_#in~a.offset| (_ bv8 32))) (_ bv4294967293 32)) (_ bv0 32)))) (not (= (_ bv3 32) |linear_search_#in~q|)))} {3595#(or (bvult (_ bv4 32) ~SIZE~0) (not (bvult (_ bv3 32) ~SIZE~0)) (= (_ bv3 32) (select (select |#memory_int| |main_~#a~0.base|) (bvadd |main_~#a~0.offset| (_ bv8 32)))))} #57#return; {3468#false} is VALID [2018-11-23 11:24:11,289 INFO L273 TraceCheckUtils]: 28: Hoare triple {3599#(or (not (= ~SIZE~0 |linear_search_#in~n|)) (and (bvult (_ bv3 32) ~SIZE~0) (not (bvult (_ bv4 32) ~SIZE~0)) (not (= (bvadd (select (select |#memory_int| |linear_search_#in~a.base|) (bvadd |linear_search_#in~a.offset| (_ bv8 32))) (_ bv4294967293 32)) (_ bv0 32)))) (not (= (_ bv3 32) |linear_search_#in~q|)))} assume true; {3599#(or (not (= ~SIZE~0 |linear_search_#in~n|)) (and (bvult (_ bv3 32) ~SIZE~0) (not (bvult (_ bv4 32) ~SIZE~0)) (not (= (bvadd (select (select |#memory_int| |linear_search_#in~a.base|) (bvadd |linear_search_#in~a.offset| (_ bv8 32))) (_ bv4294967293 32)) (_ bv0 32)))) (not (= (_ bv3 32) |linear_search_#in~q|)))} is VALID [2018-11-23 11:24:11,292 INFO L273 TraceCheckUtils]: 27: Hoare triple {3599#(or (not (= ~SIZE~0 |linear_search_#in~n|)) (and (bvult (_ bv3 32) ~SIZE~0) (not (bvult (_ bv4 32) ~SIZE~0)) (not (= (bvadd (select (select |#memory_int| |linear_search_#in~a.base|) (bvadd |linear_search_#in~a.offset| (_ bv8 32))) (_ bv4294967293 32)) (_ bv0 32)))) (not (= (_ bv3 32) |linear_search_#in~q|)))} assume !~bvult32(~j~0, ~SIZE~0);#res := 0bv32; {3599#(or (not (= ~SIZE~0 |linear_search_#in~n|)) (and (bvult (_ bv3 32) ~SIZE~0) (not (bvult (_ bv4 32) ~SIZE~0)) (not (= (bvadd (select (select |#memory_int| |linear_search_#in~a.base|) (bvadd |linear_search_#in~a.offset| (_ bv8 32))) (_ bv4294967293 32)) (_ bv0 32)))) (not (= (_ bv3 32) |linear_search_#in~q|)))} is VALID [2018-11-23 11:24:11,293 INFO L273 TraceCheckUtils]: 26: Hoare triple {3599#(or (not (= ~SIZE~0 |linear_search_#in~n|)) (and (bvult (_ bv3 32) ~SIZE~0) (not (bvult (_ bv4 32) ~SIZE~0)) (not (= (bvadd (select (select |#memory_int| |linear_search_#in~a.base|) (bvadd |linear_search_#in~a.offset| (_ bv8 32))) (_ bv4294967293 32)) (_ bv0 32)))) (not (= (_ bv3 32) |linear_search_#in~q|)))} assume !#t~short1;havoc #t~short1;havoc #t~mem0; {3599#(or (not (= ~SIZE~0 |linear_search_#in~n|)) (and (bvult (_ bv3 32) ~SIZE~0) (not (bvult (_ bv4 32) ~SIZE~0)) (not (= (bvadd (select (select |#memory_int| |linear_search_#in~a.base|) (bvadd |linear_search_#in~a.offset| (_ bv8 32))) (_ bv4294967293 32)) (_ bv0 32)))) (not (= (_ bv3 32) |linear_search_#in~q|)))} is VALID [2018-11-23 11:24:11,294 INFO L273 TraceCheckUtils]: 25: Hoare triple {3612#(or (not (= ~SIZE~0 |linear_search_#in~n|)) (and (bvult (_ bv3 32) ~SIZE~0) (not (bvult (_ bv4 32) ~SIZE~0)) (not (= (bvadd (select (select |#memory_int| |linear_search_#in~a.base|) (bvadd |linear_search_#in~a.offset| (_ bv8 32))) (_ bv4294967293 32)) (_ bv0 32)))) (not (= (_ bv3 32) |linear_search_#in~q|)) |linear_search_#t~short1|)} assume !#t~short1; {3599#(or (not (= ~SIZE~0 |linear_search_#in~n|)) (and (bvult (_ bv3 32) ~SIZE~0) (not (bvult (_ bv4 32) ~SIZE~0)) (not (= (bvadd (select (select |#memory_int| |linear_search_#in~a.base|) (bvadd |linear_search_#in~a.offset| (_ bv8 32))) (_ bv4294967293 32)) (_ bv0 32)))) (not (= (_ bv3 32) |linear_search_#in~q|)))} is VALID [2018-11-23 11:24:11,295 INFO L273 TraceCheckUtils]: 24: Hoare triple {3616#(and (or (not (= ~SIZE~0 |linear_search_#in~n|)) (not (= (_ bv3 32) |linear_search_#in~q|)) (bvult linear_search_~j~0 linear_search_~n) (not (bvult (_ bv4 32) ~SIZE~0))) (or (not (= ~SIZE~0 |linear_search_#in~n|)) (not (= (_ bv3 32) |linear_search_#in~q|)) (bvult linear_search_~j~0 linear_search_~n) (not (= (bvadd (select (select |#memory_int| |linear_search_#in~a.base|) (bvadd |linear_search_#in~a.offset| (_ bv8 32))) (_ bv4294967293 32)) (_ bv0 32)))) (or (not (= ~SIZE~0 |linear_search_#in~n|)) (bvult (_ bv3 32) ~SIZE~0) (not (= (_ bv3 32) |linear_search_#in~q|)) (bvult linear_search_~j~0 linear_search_~n)))} #t~short1 := ~bvult32(~j~0, ~n); {3612#(or (not (= ~SIZE~0 |linear_search_#in~n|)) (and (bvult (_ bv3 32) ~SIZE~0) (not (bvult (_ bv4 32) ~SIZE~0)) (not (= (bvadd (select (select |#memory_int| |linear_search_#in~a.base|) (bvadd |linear_search_#in~a.offset| (_ bv8 32))) (_ bv4294967293 32)) (_ bv0 32)))) (not (= (_ bv3 32) |linear_search_#in~q|)) |linear_search_#t~short1|)} is VALID [2018-11-23 11:24:11,296 INFO L273 TraceCheckUtils]: 23: Hoare triple {3616#(and (or (not (= ~SIZE~0 |linear_search_#in~n|)) (not (= (_ bv3 32) |linear_search_#in~q|)) (bvult linear_search_~j~0 linear_search_~n) (not (bvult (_ bv4 32) ~SIZE~0))) (or (not (= ~SIZE~0 |linear_search_#in~n|)) (not (= (_ bv3 32) |linear_search_#in~q|)) (bvult linear_search_~j~0 linear_search_~n) (not (= (bvadd (select (select |#memory_int| |linear_search_#in~a.base|) (bvadd |linear_search_#in~a.offset| (_ bv8 32))) (_ bv4294967293 32)) (_ bv0 32)))) (or (not (= ~SIZE~0 |linear_search_#in~n|)) (bvult (_ bv3 32) ~SIZE~0) (not (= (_ bv3 32) |linear_search_#in~q|)) (bvult linear_search_~j~0 linear_search_~n)))} assume !(20bv32 == ~j~0); {3616#(and (or (not (= ~SIZE~0 |linear_search_#in~n|)) (not (= (_ bv3 32) |linear_search_#in~q|)) (bvult linear_search_~j~0 linear_search_~n) (not (bvult (_ bv4 32) ~SIZE~0))) (or (not (= ~SIZE~0 |linear_search_#in~n|)) (not (= (_ bv3 32) |linear_search_#in~q|)) (bvult linear_search_~j~0 linear_search_~n) (not (= (bvadd (select (select |#memory_int| |linear_search_#in~a.base|) (bvadd |linear_search_#in~a.offset| (_ bv8 32))) (_ bv4294967293 32)) (_ bv0 32)))) (or (not (= ~SIZE~0 |linear_search_#in~n|)) (bvult (_ bv3 32) ~SIZE~0) (not (= (_ bv3 32) |linear_search_#in~q|)) (bvult linear_search_~j~0 linear_search_~n)))} is VALID [2018-11-23 11:24:11,329 INFO L273 TraceCheckUtils]: 22: Hoare triple {3623#(and (or (bvult (bvadd linear_search_~j~0 (_ bv1 32)) linear_search_~n) (not (= ~SIZE~0 |linear_search_#in~n|)) (bvult (_ bv3 32) ~SIZE~0) (not (= (_ bv3 32) |linear_search_#in~q|))) (or (bvult (bvadd linear_search_~j~0 (_ bv1 32)) linear_search_~n) (not (= ~SIZE~0 |linear_search_#in~n|)) (not (= (_ bv3 32) |linear_search_#in~q|)) (not (bvult (_ bv4 32) ~SIZE~0))) (or (bvult (bvadd linear_search_~j~0 (_ bv1 32)) linear_search_~n) (not (= ~SIZE~0 |linear_search_#in~n|)) (not (= (_ bv3 32) |linear_search_#in~q|)) (not (= (bvadd (select (select |#memory_int| |linear_search_#in~a.base|) (bvadd |linear_search_#in~a.offset| (_ bv8 32))) (_ bv4294967293 32)) (_ bv0 32)))))} assume !!#t~short1;havoc #t~short1;havoc #t~mem0;#t~post2 := ~j~0;~j~0 := ~bvadd32(1bv32, #t~post2);havoc #t~post2; {3616#(and (or (not (= ~SIZE~0 |linear_search_#in~n|)) (not (= (_ bv3 32) |linear_search_#in~q|)) (bvult linear_search_~j~0 linear_search_~n) (not (bvult (_ bv4 32) ~SIZE~0))) (or (not (= ~SIZE~0 |linear_search_#in~n|)) (not (= (_ bv3 32) |linear_search_#in~q|)) (bvult linear_search_~j~0 linear_search_~n) (not (= (bvadd (select (select |#memory_int| |linear_search_#in~a.base|) (bvadd |linear_search_#in~a.offset| (_ bv8 32))) (_ bv4294967293 32)) (_ bv0 32)))) (or (not (= ~SIZE~0 |linear_search_#in~n|)) (bvult (_ bv3 32) ~SIZE~0) (not (= (_ bv3 32) |linear_search_#in~q|)) (bvult linear_search_~j~0 linear_search_~n)))} is VALID [2018-11-23 11:24:11,330 INFO L273 TraceCheckUtils]: 21: Hoare triple {3627#(or (and (or (bvult (bvadd linear_search_~j~0 (_ bv1 32)) linear_search_~n) (not (= ~SIZE~0 |linear_search_#in~n|)) (bvult (_ bv3 32) ~SIZE~0) (not (= (_ bv3 32) |linear_search_#in~q|))) (or (bvult (bvadd linear_search_~j~0 (_ bv1 32)) linear_search_~n) (not (= ~SIZE~0 |linear_search_#in~n|)) (not (= (_ bv3 32) |linear_search_#in~q|)) (not (bvult (_ bv4 32) ~SIZE~0))) (or (bvult (bvadd linear_search_~j~0 (_ bv1 32)) linear_search_~n) (not (= ~SIZE~0 |linear_search_#in~n|)) (not (= (_ bv3 32) |linear_search_#in~q|)) (not (= (bvadd (select (select |#memory_int| |linear_search_#in~a.base|) (bvadd |linear_search_#in~a.offset| (_ bv8 32))) (_ bv4294967293 32)) (_ bv0 32))))) (not |linear_search_#t~short1|))} assume #t~short1;call #t~mem0 := read~intINTTYPE4(~a.base, ~bvadd32(~a.offset, ~bvmul32(4bv32, ~j~0)), 4bv32);#t~short1 := #t~mem0 != ~q; {3623#(and (or (bvult (bvadd linear_search_~j~0 (_ bv1 32)) linear_search_~n) (not (= ~SIZE~0 |linear_search_#in~n|)) (bvult (_ bv3 32) ~SIZE~0) (not (= (_ bv3 32) |linear_search_#in~q|))) (or (bvult (bvadd linear_search_~j~0 (_ bv1 32)) linear_search_~n) (not (= ~SIZE~0 |linear_search_#in~n|)) (not (= (_ bv3 32) |linear_search_#in~q|)) (not (bvult (_ bv4 32) ~SIZE~0))) (or (bvult (bvadd linear_search_~j~0 (_ bv1 32)) linear_search_~n) (not (= ~SIZE~0 |linear_search_#in~n|)) (not (= (_ bv3 32) |linear_search_#in~q|)) (not (= (bvadd (select (select |#memory_int| |linear_search_#in~a.base|) (bvadd |linear_search_#in~a.offset| (_ bv8 32))) (_ bv4294967293 32)) (_ bv0 32)))))} is VALID [2018-11-23 11:24:11,333 INFO L273 TraceCheckUtils]: 20: Hoare triple {3631#(and (or (bvult (bvadd linear_search_~j~0 (_ bv1 32)) linear_search_~n) (not (= ~SIZE~0 |linear_search_#in~n|)) (bvult (_ bv3 32) ~SIZE~0) (not (= (_ bv3 32) |linear_search_#in~q|)) (not (bvult linear_search_~j~0 linear_search_~n))) (or (bvult (bvadd linear_search_~j~0 (_ bv1 32)) linear_search_~n) (not (= ~SIZE~0 |linear_search_#in~n|)) (not (= (_ bv3 32) |linear_search_#in~q|)) (not (bvult linear_search_~j~0 linear_search_~n)) (not (= (bvadd (select (select |#memory_int| |linear_search_#in~a.base|) (bvadd |linear_search_#in~a.offset| (_ bv8 32))) (_ bv4294967293 32)) (_ bv0 32)))) (or (bvult (bvadd linear_search_~j~0 (_ bv1 32)) linear_search_~n) (not (= ~SIZE~0 |linear_search_#in~n|)) (not (= (_ bv3 32) |linear_search_#in~q|)) (not (bvult linear_search_~j~0 linear_search_~n)) (not (bvult (_ bv4 32) ~SIZE~0))))} #t~short1 := ~bvult32(~j~0, ~n); {3627#(or (and (or (bvult (bvadd linear_search_~j~0 (_ bv1 32)) linear_search_~n) (not (= ~SIZE~0 |linear_search_#in~n|)) (bvult (_ bv3 32) ~SIZE~0) (not (= (_ bv3 32) |linear_search_#in~q|))) (or (bvult (bvadd linear_search_~j~0 (_ bv1 32)) linear_search_~n) (not (= ~SIZE~0 |linear_search_#in~n|)) (not (= (_ bv3 32) |linear_search_#in~q|)) (not (bvult (_ bv4 32) ~SIZE~0))) (or (bvult (bvadd linear_search_~j~0 (_ bv1 32)) linear_search_~n) (not (= ~SIZE~0 |linear_search_#in~n|)) (not (= (_ bv3 32) |linear_search_#in~q|)) (not (= (bvadd (select (select |#memory_int| |linear_search_#in~a.base|) (bvadd |linear_search_#in~a.offset| (_ bv8 32))) (_ bv4294967293 32)) (_ bv0 32))))) (not |linear_search_#t~short1|))} is VALID [2018-11-23 11:24:11,334 INFO L273 TraceCheckUtils]: 19: Hoare triple {3631#(and (or (bvult (bvadd linear_search_~j~0 (_ bv1 32)) linear_search_~n) (not (= ~SIZE~0 |linear_search_#in~n|)) (bvult (_ bv3 32) ~SIZE~0) (not (= (_ bv3 32) |linear_search_#in~q|)) (not (bvult linear_search_~j~0 linear_search_~n))) (or (bvult (bvadd linear_search_~j~0 (_ bv1 32)) linear_search_~n) (not (= ~SIZE~0 |linear_search_#in~n|)) (not (= (_ bv3 32) |linear_search_#in~q|)) (not (bvult linear_search_~j~0 linear_search_~n)) (not (= (bvadd (select (select |#memory_int| |linear_search_#in~a.base|) (bvadd |linear_search_#in~a.offset| (_ bv8 32))) (_ bv4294967293 32)) (_ bv0 32)))) (or (bvult (bvadd linear_search_~j~0 (_ bv1 32)) linear_search_~n) (not (= ~SIZE~0 |linear_search_#in~n|)) (not (= (_ bv3 32) |linear_search_#in~q|)) (not (bvult linear_search_~j~0 linear_search_~n)) (not (bvult (_ bv4 32) ~SIZE~0))))} assume !(20bv32 == ~j~0); {3631#(and (or (bvult (bvadd linear_search_~j~0 (_ bv1 32)) linear_search_~n) (not (= ~SIZE~0 |linear_search_#in~n|)) (bvult (_ bv3 32) ~SIZE~0) (not (= (_ bv3 32) |linear_search_#in~q|)) (not (bvult linear_search_~j~0 linear_search_~n))) (or (bvult (bvadd linear_search_~j~0 (_ bv1 32)) linear_search_~n) (not (= ~SIZE~0 |linear_search_#in~n|)) (not (= (_ bv3 32) |linear_search_#in~q|)) (not (bvult linear_search_~j~0 linear_search_~n)) (not (= (bvadd (select (select |#memory_int| |linear_search_#in~a.base|) (bvadd |linear_search_#in~a.offset| (_ bv8 32))) (_ bv4294967293 32)) (_ bv0 32)))) (or (bvult (bvadd linear_search_~j~0 (_ bv1 32)) linear_search_~n) (not (= ~SIZE~0 |linear_search_#in~n|)) (not (= (_ bv3 32) |linear_search_#in~q|)) (not (bvult linear_search_~j~0 linear_search_~n)) (not (bvult (_ bv4 32) ~SIZE~0))))} is VALID [2018-11-23 11:24:11,385 INFO L273 TraceCheckUtils]: 18: Hoare triple {3638#(or (not |linear_search_#t~short1|) (and (or (not (= ~SIZE~0 |linear_search_#in~n|)) (bvult (bvadd linear_search_~j~0 (_ bv2 32)) linear_search_~n) (not (= (_ bv3 32) |linear_search_#in~q|)) (not (= (bvadd (select (select |#memory_int| |linear_search_#in~a.base|) (bvadd |linear_search_#in~a.offset| (_ bv8 32))) (_ bv4294967293 32)) (_ bv0 32))) (not (bvult (bvadd linear_search_~j~0 (_ bv1 32)) linear_search_~n))) (or (not (= ~SIZE~0 |linear_search_#in~n|)) (bvult (_ bv3 32) ~SIZE~0) (bvult (bvadd linear_search_~j~0 (_ bv2 32)) linear_search_~n) (not (= (_ bv3 32) |linear_search_#in~q|)) (not (bvult (bvadd linear_search_~j~0 (_ bv1 32)) linear_search_~n))) (or (not (= ~SIZE~0 |linear_search_#in~n|)) (bvult (bvadd linear_search_~j~0 (_ bv2 32)) linear_search_~n) (not (= (_ bv3 32) |linear_search_#in~q|)) (not (bvult (_ bv4 32) ~SIZE~0)) (not (bvult (bvadd linear_search_~j~0 (_ bv1 32)) linear_search_~n)))))} assume !!#t~short1;havoc #t~short1;havoc #t~mem0;#t~post2 := ~j~0;~j~0 := ~bvadd32(1bv32, #t~post2);havoc #t~post2; {3631#(and (or (bvult (bvadd linear_search_~j~0 (_ bv1 32)) linear_search_~n) (not (= ~SIZE~0 |linear_search_#in~n|)) (bvult (_ bv3 32) ~SIZE~0) (not (= (_ bv3 32) |linear_search_#in~q|)) (not (bvult linear_search_~j~0 linear_search_~n))) (or (bvult (bvadd linear_search_~j~0 (_ bv1 32)) linear_search_~n) (not (= ~SIZE~0 |linear_search_#in~n|)) (not (= (_ bv3 32) |linear_search_#in~q|)) (not (bvult linear_search_~j~0 linear_search_~n)) (not (= (bvadd (select (select |#memory_int| |linear_search_#in~a.base|) (bvadd |linear_search_#in~a.offset| (_ bv8 32))) (_ bv4294967293 32)) (_ bv0 32)))) (or (bvult (bvadd linear_search_~j~0 (_ bv1 32)) linear_search_~n) (not (= ~SIZE~0 |linear_search_#in~n|)) (not (= (_ bv3 32) |linear_search_#in~q|)) (not (bvult linear_search_~j~0 linear_search_~n)) (not (bvult (_ bv4 32) ~SIZE~0))))} is VALID [2018-11-23 11:24:11,389 INFO L273 TraceCheckUtils]: 17: Hoare triple {3642#(and (or (not (= ~SIZE~0 |linear_search_#in~n|)) (bvult (_ bv3 32) ~SIZE~0) (bvult (bvadd linear_search_~j~0 (_ bv2 32)) linear_search_~n) (not (= (_ bv3 32) |linear_search_#in~q|)) (= linear_search_~q (select (select |#memory_int| linear_search_~a.base) (bvadd linear_search_~a.offset (bvmul (_ bv4 32) linear_search_~j~0)))) (not (bvult (bvadd linear_search_~j~0 (_ bv1 32)) linear_search_~n))) (or (not (= ~SIZE~0 |linear_search_#in~n|)) (bvult (bvadd linear_search_~j~0 (_ bv2 32)) linear_search_~n) (not (= (_ bv3 32) |linear_search_#in~q|)) (not (= (bvadd (select (select |#memory_int| |linear_search_#in~a.base|) (bvadd |linear_search_#in~a.offset| (_ bv8 32))) (_ bv4294967293 32)) (_ bv0 32))) (= linear_search_~q (select (select |#memory_int| linear_search_~a.base) (bvadd linear_search_~a.offset (bvmul (_ bv4 32) linear_search_~j~0)))) (not (bvult (bvadd linear_search_~j~0 (_ bv1 32)) linear_search_~n))) (or (not (= ~SIZE~0 |linear_search_#in~n|)) (bvult (bvadd linear_search_~j~0 (_ bv2 32)) linear_search_~n) (not (= (_ bv3 32) |linear_search_#in~q|)) (not (bvult (_ bv4 32) ~SIZE~0)) (= linear_search_~q (select (select |#memory_int| linear_search_~a.base) (bvadd linear_search_~a.offset (bvmul (_ bv4 32) linear_search_~j~0)))) (not (bvult (bvadd linear_search_~j~0 (_ bv1 32)) linear_search_~n))))} assume #t~short1;call #t~mem0 := read~intINTTYPE4(~a.base, ~bvadd32(~a.offset, ~bvmul32(4bv32, ~j~0)), 4bv32);#t~short1 := #t~mem0 != ~q; {3638#(or (not |linear_search_#t~short1|) (and (or (not (= ~SIZE~0 |linear_search_#in~n|)) (bvult (bvadd linear_search_~j~0 (_ bv2 32)) linear_search_~n) (not (= (_ bv3 32) |linear_search_#in~q|)) (not (= (bvadd (select (select |#memory_int| |linear_search_#in~a.base|) (bvadd |linear_search_#in~a.offset| (_ bv8 32))) (_ bv4294967293 32)) (_ bv0 32))) (not (bvult (bvadd linear_search_~j~0 (_ bv1 32)) linear_search_~n))) (or (not (= ~SIZE~0 |linear_search_#in~n|)) (bvult (_ bv3 32) ~SIZE~0) (bvult (bvadd linear_search_~j~0 (_ bv2 32)) linear_search_~n) (not (= (_ bv3 32) |linear_search_#in~q|)) (not (bvult (bvadd linear_search_~j~0 (_ bv1 32)) linear_search_~n))) (or (not (= ~SIZE~0 |linear_search_#in~n|)) (bvult (bvadd linear_search_~j~0 (_ bv2 32)) linear_search_~n) (not (= (_ bv3 32) |linear_search_#in~q|)) (not (bvult (_ bv4 32) ~SIZE~0)) (not (bvult (bvadd linear_search_~j~0 (_ bv1 32)) linear_search_~n)))))} is VALID [2018-11-23 11:24:11,390 INFO L273 TraceCheckUtils]: 16: Hoare triple {3642#(and (or (not (= ~SIZE~0 |linear_search_#in~n|)) (bvult (_ bv3 32) ~SIZE~0) (bvult (bvadd linear_search_~j~0 (_ bv2 32)) linear_search_~n) (not (= (_ bv3 32) |linear_search_#in~q|)) (= linear_search_~q (select (select |#memory_int| linear_search_~a.base) (bvadd linear_search_~a.offset (bvmul (_ bv4 32) linear_search_~j~0)))) (not (bvult (bvadd linear_search_~j~0 (_ bv1 32)) linear_search_~n))) (or (not (= ~SIZE~0 |linear_search_#in~n|)) (bvult (bvadd linear_search_~j~0 (_ bv2 32)) linear_search_~n) (not (= (_ bv3 32) |linear_search_#in~q|)) (not (= (bvadd (select (select |#memory_int| |linear_search_#in~a.base|) (bvadd |linear_search_#in~a.offset| (_ bv8 32))) (_ bv4294967293 32)) (_ bv0 32))) (= linear_search_~q (select (select |#memory_int| linear_search_~a.base) (bvadd linear_search_~a.offset (bvmul (_ bv4 32) linear_search_~j~0)))) (not (bvult (bvadd linear_search_~j~0 (_ bv1 32)) linear_search_~n))) (or (not (= ~SIZE~0 |linear_search_#in~n|)) (bvult (bvadd linear_search_~j~0 (_ bv2 32)) linear_search_~n) (not (= (_ bv3 32) |linear_search_#in~q|)) (not (bvult (_ bv4 32) ~SIZE~0)) (= linear_search_~q (select (select |#memory_int| linear_search_~a.base) (bvadd linear_search_~a.offset (bvmul (_ bv4 32) linear_search_~j~0)))) (not (bvult (bvadd linear_search_~j~0 (_ bv1 32)) linear_search_~n))))} #t~short1 := ~bvult32(~j~0, ~n); {3642#(and (or (not (= ~SIZE~0 |linear_search_#in~n|)) (bvult (_ bv3 32) ~SIZE~0) (bvult (bvadd linear_search_~j~0 (_ bv2 32)) linear_search_~n) (not (= (_ bv3 32) |linear_search_#in~q|)) (= linear_search_~q (select (select |#memory_int| linear_search_~a.base) (bvadd linear_search_~a.offset (bvmul (_ bv4 32) linear_search_~j~0)))) (not (bvult (bvadd linear_search_~j~0 (_ bv1 32)) linear_search_~n))) (or (not (= ~SIZE~0 |linear_search_#in~n|)) (bvult (bvadd linear_search_~j~0 (_ bv2 32)) linear_search_~n) (not (= (_ bv3 32) |linear_search_#in~q|)) (not (= (bvadd (select (select |#memory_int| |linear_search_#in~a.base|) (bvadd |linear_search_#in~a.offset| (_ bv8 32))) (_ bv4294967293 32)) (_ bv0 32))) (= linear_search_~q (select (select |#memory_int| linear_search_~a.base) (bvadd linear_search_~a.offset (bvmul (_ bv4 32) linear_search_~j~0)))) (not (bvult (bvadd linear_search_~j~0 (_ bv1 32)) linear_search_~n))) (or (not (= ~SIZE~0 |linear_search_#in~n|)) (bvult (bvadd linear_search_~j~0 (_ bv2 32)) linear_search_~n) (not (= (_ bv3 32) |linear_search_#in~q|)) (not (bvult (_ bv4 32) ~SIZE~0)) (= linear_search_~q (select (select |#memory_int| linear_search_~a.base) (bvadd linear_search_~a.offset (bvmul (_ bv4 32) linear_search_~j~0)))) (not (bvult (bvadd linear_search_~j~0 (_ bv1 32)) linear_search_~n))))} is VALID [2018-11-23 11:24:11,390 INFO L273 TraceCheckUtils]: 15: Hoare triple {3642#(and (or (not (= ~SIZE~0 |linear_search_#in~n|)) (bvult (_ bv3 32) ~SIZE~0) (bvult (bvadd linear_search_~j~0 (_ bv2 32)) linear_search_~n) (not (= (_ bv3 32) |linear_search_#in~q|)) (= linear_search_~q (select (select |#memory_int| linear_search_~a.base) (bvadd linear_search_~a.offset (bvmul (_ bv4 32) linear_search_~j~0)))) (not (bvult (bvadd linear_search_~j~0 (_ bv1 32)) linear_search_~n))) (or (not (= ~SIZE~0 |linear_search_#in~n|)) (bvult (bvadd linear_search_~j~0 (_ bv2 32)) linear_search_~n) (not (= (_ bv3 32) |linear_search_#in~q|)) (not (= (bvadd (select (select |#memory_int| |linear_search_#in~a.base|) (bvadd |linear_search_#in~a.offset| (_ bv8 32))) (_ bv4294967293 32)) (_ bv0 32))) (= linear_search_~q (select (select |#memory_int| linear_search_~a.base) (bvadd linear_search_~a.offset (bvmul (_ bv4 32) linear_search_~j~0)))) (not (bvult (bvadd linear_search_~j~0 (_ bv1 32)) linear_search_~n))) (or (not (= ~SIZE~0 |linear_search_#in~n|)) (bvult (bvadd linear_search_~j~0 (_ bv2 32)) linear_search_~n) (not (= (_ bv3 32) |linear_search_#in~q|)) (not (bvult (_ bv4 32) ~SIZE~0)) (= linear_search_~q (select (select |#memory_int| linear_search_~a.base) (bvadd linear_search_~a.offset (bvmul (_ bv4 32) linear_search_~j~0)))) (not (bvult (bvadd linear_search_~j~0 (_ bv1 32)) linear_search_~n))))} assume !(20bv32 == ~j~0); {3642#(and (or (not (= ~SIZE~0 |linear_search_#in~n|)) (bvult (_ bv3 32) ~SIZE~0) (bvult (bvadd linear_search_~j~0 (_ bv2 32)) linear_search_~n) (not (= (_ bv3 32) |linear_search_#in~q|)) (= linear_search_~q (select (select |#memory_int| linear_search_~a.base) (bvadd linear_search_~a.offset (bvmul (_ bv4 32) linear_search_~j~0)))) (not (bvult (bvadd linear_search_~j~0 (_ bv1 32)) linear_search_~n))) (or (not (= ~SIZE~0 |linear_search_#in~n|)) (bvult (bvadd linear_search_~j~0 (_ bv2 32)) linear_search_~n) (not (= (_ bv3 32) |linear_search_#in~q|)) (not (= (bvadd (select (select |#memory_int| |linear_search_#in~a.base|) (bvadd |linear_search_#in~a.offset| (_ bv8 32))) (_ bv4294967293 32)) (_ bv0 32))) (= linear_search_~q (select (select |#memory_int| linear_search_~a.base) (bvadd linear_search_~a.offset (bvmul (_ bv4 32) linear_search_~j~0)))) (not (bvult (bvadd linear_search_~j~0 (_ bv1 32)) linear_search_~n))) (or (not (= ~SIZE~0 |linear_search_#in~n|)) (bvult (bvadd linear_search_~j~0 (_ bv2 32)) linear_search_~n) (not (= (_ bv3 32) |linear_search_#in~q|)) (not (bvult (_ bv4 32) ~SIZE~0)) (= linear_search_~q (select (select |#memory_int| linear_search_~a.base) (bvadd linear_search_~a.offset (bvmul (_ bv4 32) linear_search_~j~0)))) (not (bvult (bvadd linear_search_~j~0 (_ bv1 32)) linear_search_~n))))} is VALID [2018-11-23 11:24:12,099 INFO L273 TraceCheckUtils]: 14: Hoare triple {3652#(and (or (not (bvult (bvadd linear_search_~j~0 (_ bv2 32)) linear_search_~n)) (not (= ~SIZE~0 |linear_search_#in~n|)) (= (select (select |#memory_int| linear_search_~a.base) (bvadd linear_search_~a.offset (bvmul (_ bv4 32) linear_search_~j~0) (_ bv4 32))) linear_search_~q) (not (= (_ bv3 32) |linear_search_#in~q|)) (bvult (bvadd linear_search_~j~0 (_ bv3 32)) linear_search_~n) (not (bvult (_ bv4 32) ~SIZE~0))) (or (not (bvult (bvadd linear_search_~j~0 (_ bv2 32)) linear_search_~n)) (not (= ~SIZE~0 |linear_search_#in~n|)) (= (select (select |#memory_int| linear_search_~a.base) (bvadd linear_search_~a.offset (bvmul (_ bv4 32) linear_search_~j~0) (_ bv4 32))) linear_search_~q) (not (= (_ bv3 32) |linear_search_#in~q|)) (bvult (bvadd linear_search_~j~0 (_ bv3 32)) linear_search_~n) (not (= (bvadd (select (select |#memory_int| |linear_search_#in~a.base|) (bvadd |linear_search_#in~a.offset| (_ bv8 32))) (_ bv4294967293 32)) (_ bv0 32)))) (or (not (bvult (bvadd linear_search_~j~0 (_ bv2 32)) linear_search_~n)) (not (= ~SIZE~0 |linear_search_#in~n|)) (bvult (_ bv3 32) ~SIZE~0) (= (select (select |#memory_int| linear_search_~a.base) (bvadd linear_search_~a.offset (bvmul (_ bv4 32) linear_search_~j~0) (_ bv4 32))) linear_search_~q) (not (= (_ bv3 32) |linear_search_#in~q|)) (bvult (bvadd linear_search_~j~0 (_ bv3 32)) linear_search_~n)))} assume !!#t~short1;havoc #t~short1;havoc #t~mem0;#t~post2 := ~j~0;~j~0 := ~bvadd32(1bv32, #t~post2);havoc #t~post2; {3642#(and (or (not (= ~SIZE~0 |linear_search_#in~n|)) (bvult (_ bv3 32) ~SIZE~0) (bvult (bvadd linear_search_~j~0 (_ bv2 32)) linear_search_~n) (not (= (_ bv3 32) |linear_search_#in~q|)) (= linear_search_~q (select (select |#memory_int| linear_search_~a.base) (bvadd linear_search_~a.offset (bvmul (_ bv4 32) linear_search_~j~0)))) (not (bvult (bvadd linear_search_~j~0 (_ bv1 32)) linear_search_~n))) (or (not (= ~SIZE~0 |linear_search_#in~n|)) (bvult (bvadd linear_search_~j~0 (_ bv2 32)) linear_search_~n) (not (= (_ bv3 32) |linear_search_#in~q|)) (not (= (bvadd (select (select |#memory_int| |linear_search_#in~a.base|) (bvadd |linear_search_#in~a.offset| (_ bv8 32))) (_ bv4294967293 32)) (_ bv0 32))) (= linear_search_~q (select (select |#memory_int| linear_search_~a.base) (bvadd linear_search_~a.offset (bvmul (_ bv4 32) linear_search_~j~0)))) (not (bvult (bvadd linear_search_~j~0 (_ bv1 32)) linear_search_~n))) (or (not (= ~SIZE~0 |linear_search_#in~n|)) (bvult (bvadd linear_search_~j~0 (_ bv2 32)) linear_search_~n) (not (= (_ bv3 32) |linear_search_#in~q|)) (not (bvult (_ bv4 32) ~SIZE~0)) (= linear_search_~q (select (select |#memory_int| linear_search_~a.base) (bvadd linear_search_~a.offset (bvmul (_ bv4 32) linear_search_~j~0)))) (not (bvult (bvadd linear_search_~j~0 (_ bv1 32)) linear_search_~n))))} is VALID [2018-11-23 11:24:12,101 INFO L273 TraceCheckUtils]: 13: Hoare triple {3652#(and (or (not (bvult (bvadd linear_search_~j~0 (_ bv2 32)) linear_search_~n)) (not (= ~SIZE~0 |linear_search_#in~n|)) (= (select (select |#memory_int| linear_search_~a.base) (bvadd linear_search_~a.offset (bvmul (_ bv4 32) linear_search_~j~0) (_ bv4 32))) linear_search_~q) (not (= (_ bv3 32) |linear_search_#in~q|)) (bvult (bvadd linear_search_~j~0 (_ bv3 32)) linear_search_~n) (not (bvult (_ bv4 32) ~SIZE~0))) (or (not (bvult (bvadd linear_search_~j~0 (_ bv2 32)) linear_search_~n)) (not (= ~SIZE~0 |linear_search_#in~n|)) (= (select (select |#memory_int| linear_search_~a.base) (bvadd linear_search_~a.offset (bvmul (_ bv4 32) linear_search_~j~0) (_ bv4 32))) linear_search_~q) (not (= (_ bv3 32) |linear_search_#in~q|)) (bvult (bvadd linear_search_~j~0 (_ bv3 32)) linear_search_~n) (not (= (bvadd (select (select |#memory_int| |linear_search_#in~a.base|) (bvadd |linear_search_#in~a.offset| (_ bv8 32))) (_ bv4294967293 32)) (_ bv0 32)))) (or (not (bvult (bvadd linear_search_~j~0 (_ bv2 32)) linear_search_~n)) (not (= ~SIZE~0 |linear_search_#in~n|)) (bvult (_ bv3 32) ~SIZE~0) (= (select (select |#memory_int| linear_search_~a.base) (bvadd linear_search_~a.offset (bvmul (_ bv4 32) linear_search_~j~0) (_ bv4 32))) linear_search_~q) (not (= (_ bv3 32) |linear_search_#in~q|)) (bvult (bvadd linear_search_~j~0 (_ bv3 32)) linear_search_~n)))} assume #t~short1;call #t~mem0 := read~intINTTYPE4(~a.base, ~bvadd32(~a.offset, ~bvmul32(4bv32, ~j~0)), 4bv32);#t~short1 := #t~mem0 != ~q; {3652#(and (or (not (bvult (bvadd linear_search_~j~0 (_ bv2 32)) linear_search_~n)) (not (= ~SIZE~0 |linear_search_#in~n|)) (= (select (select |#memory_int| linear_search_~a.base) (bvadd linear_search_~a.offset (bvmul (_ bv4 32) linear_search_~j~0) (_ bv4 32))) linear_search_~q) (not (= (_ bv3 32) |linear_search_#in~q|)) (bvult (bvadd linear_search_~j~0 (_ bv3 32)) linear_search_~n) (not (bvult (_ bv4 32) ~SIZE~0))) (or (not (bvult (bvadd linear_search_~j~0 (_ bv2 32)) linear_search_~n)) (not (= ~SIZE~0 |linear_search_#in~n|)) (= (select (select |#memory_int| linear_search_~a.base) (bvadd linear_search_~a.offset (bvmul (_ bv4 32) linear_search_~j~0) (_ bv4 32))) linear_search_~q) (not (= (_ bv3 32) |linear_search_#in~q|)) (bvult (bvadd linear_search_~j~0 (_ bv3 32)) linear_search_~n) (not (= (bvadd (select (select |#memory_int| |linear_search_#in~a.base|) (bvadd |linear_search_#in~a.offset| (_ bv8 32))) (_ bv4294967293 32)) (_ bv0 32)))) (or (not (bvult (bvadd linear_search_~j~0 (_ bv2 32)) linear_search_~n)) (not (= ~SIZE~0 |linear_search_#in~n|)) (bvult (_ bv3 32) ~SIZE~0) (= (select (select |#memory_int| linear_search_~a.base) (bvadd linear_search_~a.offset (bvmul (_ bv4 32) linear_search_~j~0) (_ bv4 32))) linear_search_~q) (not (= (_ bv3 32) |linear_search_#in~q|)) (bvult (bvadd linear_search_~j~0 (_ bv3 32)) linear_search_~n)))} is VALID [2018-11-23 11:24:12,102 INFO L273 TraceCheckUtils]: 12: Hoare triple {3652#(and (or (not (bvult (bvadd linear_search_~j~0 (_ bv2 32)) linear_search_~n)) (not (= ~SIZE~0 |linear_search_#in~n|)) (= (select (select |#memory_int| linear_search_~a.base) (bvadd linear_search_~a.offset (bvmul (_ bv4 32) linear_search_~j~0) (_ bv4 32))) linear_search_~q) (not (= (_ bv3 32) |linear_search_#in~q|)) (bvult (bvadd linear_search_~j~0 (_ bv3 32)) linear_search_~n) (not (bvult (_ bv4 32) ~SIZE~0))) (or (not (bvult (bvadd linear_search_~j~0 (_ bv2 32)) linear_search_~n)) (not (= ~SIZE~0 |linear_search_#in~n|)) (= (select (select |#memory_int| linear_search_~a.base) (bvadd linear_search_~a.offset (bvmul (_ bv4 32) linear_search_~j~0) (_ bv4 32))) linear_search_~q) (not (= (_ bv3 32) |linear_search_#in~q|)) (bvult (bvadd linear_search_~j~0 (_ bv3 32)) linear_search_~n) (not (= (bvadd (select (select |#memory_int| |linear_search_#in~a.base|) (bvadd |linear_search_#in~a.offset| (_ bv8 32))) (_ bv4294967293 32)) (_ bv0 32)))) (or (not (bvult (bvadd linear_search_~j~0 (_ bv2 32)) linear_search_~n)) (not (= ~SIZE~0 |linear_search_#in~n|)) (bvult (_ bv3 32) ~SIZE~0) (= (select (select |#memory_int| linear_search_~a.base) (bvadd linear_search_~a.offset (bvmul (_ bv4 32) linear_search_~j~0) (_ bv4 32))) linear_search_~q) (not (= (_ bv3 32) |linear_search_#in~q|)) (bvult (bvadd linear_search_~j~0 (_ bv3 32)) linear_search_~n)))} #t~short1 := ~bvult32(~j~0, ~n); {3652#(and (or (not (bvult (bvadd linear_search_~j~0 (_ bv2 32)) linear_search_~n)) (not (= ~SIZE~0 |linear_search_#in~n|)) (= (select (select |#memory_int| linear_search_~a.base) (bvadd linear_search_~a.offset (bvmul (_ bv4 32) linear_search_~j~0) (_ bv4 32))) linear_search_~q) (not (= (_ bv3 32) |linear_search_#in~q|)) (bvult (bvadd linear_search_~j~0 (_ bv3 32)) linear_search_~n) (not (bvult (_ bv4 32) ~SIZE~0))) (or (not (bvult (bvadd linear_search_~j~0 (_ bv2 32)) linear_search_~n)) (not (= ~SIZE~0 |linear_search_#in~n|)) (= (select (select |#memory_int| linear_search_~a.base) (bvadd linear_search_~a.offset (bvmul (_ bv4 32) linear_search_~j~0) (_ bv4 32))) linear_search_~q) (not (= (_ bv3 32) |linear_search_#in~q|)) (bvult (bvadd linear_search_~j~0 (_ bv3 32)) linear_search_~n) (not (= (bvadd (select (select |#memory_int| |linear_search_#in~a.base|) (bvadd |linear_search_#in~a.offset| (_ bv8 32))) (_ bv4294967293 32)) (_ bv0 32)))) (or (not (bvult (bvadd linear_search_~j~0 (_ bv2 32)) linear_search_~n)) (not (= ~SIZE~0 |linear_search_#in~n|)) (bvult (_ bv3 32) ~SIZE~0) (= (select (select |#memory_int| linear_search_~a.base) (bvadd linear_search_~a.offset (bvmul (_ bv4 32) linear_search_~j~0) (_ bv4 32))) linear_search_~q) (not (= (_ bv3 32) |linear_search_#in~q|)) (bvult (bvadd linear_search_~j~0 (_ bv3 32)) linear_search_~n)))} is VALID [2018-11-23 11:24:12,102 INFO L273 TraceCheckUtils]: 11: Hoare triple {3652#(and (or (not (bvult (bvadd linear_search_~j~0 (_ bv2 32)) linear_search_~n)) (not (= ~SIZE~0 |linear_search_#in~n|)) (= (select (select |#memory_int| linear_search_~a.base) (bvadd linear_search_~a.offset (bvmul (_ bv4 32) linear_search_~j~0) (_ bv4 32))) linear_search_~q) (not (= (_ bv3 32) |linear_search_#in~q|)) (bvult (bvadd linear_search_~j~0 (_ bv3 32)) linear_search_~n) (not (bvult (_ bv4 32) ~SIZE~0))) (or (not (bvult (bvadd linear_search_~j~0 (_ bv2 32)) linear_search_~n)) (not (= ~SIZE~0 |linear_search_#in~n|)) (= (select (select |#memory_int| linear_search_~a.base) (bvadd linear_search_~a.offset (bvmul (_ bv4 32) linear_search_~j~0) (_ bv4 32))) linear_search_~q) (not (= (_ bv3 32) |linear_search_#in~q|)) (bvult (bvadd linear_search_~j~0 (_ bv3 32)) linear_search_~n) (not (= (bvadd (select (select |#memory_int| |linear_search_#in~a.base|) (bvadd |linear_search_#in~a.offset| (_ bv8 32))) (_ bv4294967293 32)) (_ bv0 32)))) (or (not (bvult (bvadd linear_search_~j~0 (_ bv2 32)) linear_search_~n)) (not (= ~SIZE~0 |linear_search_#in~n|)) (bvult (_ bv3 32) ~SIZE~0) (= (select (select |#memory_int| linear_search_~a.base) (bvadd linear_search_~a.offset (bvmul (_ bv4 32) linear_search_~j~0) (_ bv4 32))) linear_search_~q) (not (= (_ bv3 32) |linear_search_#in~q|)) (bvult (bvadd linear_search_~j~0 (_ bv3 32)) linear_search_~n)))} assume !(20bv32 == ~j~0); {3652#(and (or (not (bvult (bvadd linear_search_~j~0 (_ bv2 32)) linear_search_~n)) (not (= ~SIZE~0 |linear_search_#in~n|)) (= (select (select |#memory_int| linear_search_~a.base) (bvadd linear_search_~a.offset (bvmul (_ bv4 32) linear_search_~j~0) (_ bv4 32))) linear_search_~q) (not (= (_ bv3 32) |linear_search_#in~q|)) (bvult (bvadd linear_search_~j~0 (_ bv3 32)) linear_search_~n) (not (bvult (_ bv4 32) ~SIZE~0))) (or (not (bvult (bvadd linear_search_~j~0 (_ bv2 32)) linear_search_~n)) (not (= ~SIZE~0 |linear_search_#in~n|)) (= (select (select |#memory_int| linear_search_~a.base) (bvadd linear_search_~a.offset (bvmul (_ bv4 32) linear_search_~j~0) (_ bv4 32))) linear_search_~q) (not (= (_ bv3 32) |linear_search_#in~q|)) (bvult (bvadd linear_search_~j~0 (_ bv3 32)) linear_search_~n) (not (= (bvadd (select (select |#memory_int| |linear_search_#in~a.base|) (bvadd |linear_search_#in~a.offset| (_ bv8 32))) (_ bv4294967293 32)) (_ bv0 32)))) (or (not (bvult (bvadd linear_search_~j~0 (_ bv2 32)) linear_search_~n)) (not (= ~SIZE~0 |linear_search_#in~n|)) (bvult (_ bv3 32) ~SIZE~0) (= (select (select |#memory_int| linear_search_~a.base) (bvadd linear_search_~a.offset (bvmul (_ bv4 32) linear_search_~j~0) (_ bv4 32))) linear_search_~q) (not (= (_ bv3 32) |linear_search_#in~q|)) (bvult (bvadd linear_search_~j~0 (_ bv3 32)) linear_search_~n)))} is VALID [2018-11-23 11:24:13,274 INFO L273 TraceCheckUtils]: 10: Hoare triple {3665#(and (or (not (= ~SIZE~0 |linear_search_#in~n|)) (= linear_search_~q (select (select |#memory_int| linear_search_~a.base) (bvadd linear_search_~a.offset (bvmul (_ bv4 32) linear_search_~j~0) (_ bv8 32)))) (not (= (_ bv3 32) |linear_search_#in~q|)) (bvult (bvadd linear_search_~j~0 (_ bv4 32)) linear_search_~n) (not (bvult (bvadd linear_search_~j~0 (_ bv3 32)) linear_search_~n)) (not (= (bvadd (select (select |#memory_int| |linear_search_#in~a.base|) (bvadd |linear_search_#in~a.offset| (_ bv8 32))) (_ bv4294967293 32)) (_ bv0 32)))) (or (not (= ~SIZE~0 |linear_search_#in~n|)) (bvult (_ bv3 32) ~SIZE~0) (= linear_search_~q (select (select |#memory_int| linear_search_~a.base) (bvadd linear_search_~a.offset (bvmul (_ bv4 32) linear_search_~j~0) (_ bv8 32)))) (not (= (_ bv3 32) |linear_search_#in~q|)) (bvult (bvadd linear_search_~j~0 (_ bv4 32)) linear_search_~n) (not (bvult (bvadd linear_search_~j~0 (_ bv3 32)) linear_search_~n))) (or (not (= ~SIZE~0 |linear_search_#in~n|)) (= linear_search_~q (select (select |#memory_int| linear_search_~a.base) (bvadd linear_search_~a.offset (bvmul (_ bv4 32) linear_search_~j~0) (_ bv8 32)))) (not (= (_ bv3 32) |linear_search_#in~q|)) (bvult (bvadd linear_search_~j~0 (_ bv4 32)) linear_search_~n) (not (bvult (bvadd linear_search_~j~0 (_ bv3 32)) linear_search_~n)) (not (bvult (_ bv4 32) ~SIZE~0))))} assume !!#t~short1;havoc #t~short1;havoc #t~mem0;#t~post2 := ~j~0;~j~0 := ~bvadd32(1bv32, #t~post2);havoc #t~post2; {3652#(and (or (not (bvult (bvadd linear_search_~j~0 (_ bv2 32)) linear_search_~n)) (not (= ~SIZE~0 |linear_search_#in~n|)) (= (select (select |#memory_int| linear_search_~a.base) (bvadd linear_search_~a.offset (bvmul (_ bv4 32) linear_search_~j~0) (_ bv4 32))) linear_search_~q) (not (= (_ bv3 32) |linear_search_#in~q|)) (bvult (bvadd linear_search_~j~0 (_ bv3 32)) linear_search_~n) (not (bvult (_ bv4 32) ~SIZE~0))) (or (not (bvult (bvadd linear_search_~j~0 (_ bv2 32)) linear_search_~n)) (not (= ~SIZE~0 |linear_search_#in~n|)) (= (select (select |#memory_int| linear_search_~a.base) (bvadd linear_search_~a.offset (bvmul (_ bv4 32) linear_search_~j~0) (_ bv4 32))) linear_search_~q) (not (= (_ bv3 32) |linear_search_#in~q|)) (bvult (bvadd linear_search_~j~0 (_ bv3 32)) linear_search_~n) (not (= (bvadd (select (select |#memory_int| |linear_search_#in~a.base|) (bvadd |linear_search_#in~a.offset| (_ bv8 32))) (_ bv4294967293 32)) (_ bv0 32)))) (or (not (bvult (bvadd linear_search_~j~0 (_ bv2 32)) linear_search_~n)) (not (= ~SIZE~0 |linear_search_#in~n|)) (bvult (_ bv3 32) ~SIZE~0) (= (select (select |#memory_int| linear_search_~a.base) (bvadd linear_search_~a.offset (bvmul (_ bv4 32) linear_search_~j~0) (_ bv4 32))) linear_search_~q) (not (= (_ bv3 32) |linear_search_#in~q|)) (bvult (bvadd linear_search_~j~0 (_ bv3 32)) linear_search_~n)))} is VALID [2018-11-23 11:24:13,275 INFO L273 TraceCheckUtils]: 9: Hoare triple {3665#(and (or (not (= ~SIZE~0 |linear_search_#in~n|)) (= linear_search_~q (select (select |#memory_int| linear_search_~a.base) (bvadd linear_search_~a.offset (bvmul (_ bv4 32) linear_search_~j~0) (_ bv8 32)))) (not (= (_ bv3 32) |linear_search_#in~q|)) (bvult (bvadd linear_search_~j~0 (_ bv4 32)) linear_search_~n) (not (bvult (bvadd linear_search_~j~0 (_ bv3 32)) linear_search_~n)) (not (= (bvadd (select (select |#memory_int| |linear_search_#in~a.base|) (bvadd |linear_search_#in~a.offset| (_ bv8 32))) (_ bv4294967293 32)) (_ bv0 32)))) (or (not (= ~SIZE~0 |linear_search_#in~n|)) (bvult (_ bv3 32) ~SIZE~0) (= linear_search_~q (select (select |#memory_int| linear_search_~a.base) (bvadd linear_search_~a.offset (bvmul (_ bv4 32) linear_search_~j~0) (_ bv8 32)))) (not (= (_ bv3 32) |linear_search_#in~q|)) (bvult (bvadd linear_search_~j~0 (_ bv4 32)) linear_search_~n) (not (bvult (bvadd linear_search_~j~0 (_ bv3 32)) linear_search_~n))) (or (not (= ~SIZE~0 |linear_search_#in~n|)) (= linear_search_~q (select (select |#memory_int| linear_search_~a.base) (bvadd linear_search_~a.offset (bvmul (_ bv4 32) linear_search_~j~0) (_ bv8 32)))) (not (= (_ bv3 32) |linear_search_#in~q|)) (bvult (bvadd linear_search_~j~0 (_ bv4 32)) linear_search_~n) (not (bvult (bvadd linear_search_~j~0 (_ bv3 32)) linear_search_~n)) (not (bvult (_ bv4 32) ~SIZE~0))))} assume #t~short1;call #t~mem0 := read~intINTTYPE4(~a.base, ~bvadd32(~a.offset, ~bvmul32(4bv32, ~j~0)), 4bv32);#t~short1 := #t~mem0 != ~q; {3665#(and (or (not (= ~SIZE~0 |linear_search_#in~n|)) (= linear_search_~q (select (select |#memory_int| linear_search_~a.base) (bvadd linear_search_~a.offset (bvmul (_ bv4 32) linear_search_~j~0) (_ bv8 32)))) (not (= (_ bv3 32) |linear_search_#in~q|)) (bvult (bvadd linear_search_~j~0 (_ bv4 32)) linear_search_~n) (not (bvult (bvadd linear_search_~j~0 (_ bv3 32)) linear_search_~n)) (not (= (bvadd (select (select |#memory_int| |linear_search_#in~a.base|) (bvadd |linear_search_#in~a.offset| (_ bv8 32))) (_ bv4294967293 32)) (_ bv0 32)))) (or (not (= ~SIZE~0 |linear_search_#in~n|)) (bvult (_ bv3 32) ~SIZE~0) (= linear_search_~q (select (select |#memory_int| linear_search_~a.base) (bvadd linear_search_~a.offset (bvmul (_ bv4 32) linear_search_~j~0) (_ bv8 32)))) (not (= (_ bv3 32) |linear_search_#in~q|)) (bvult (bvadd linear_search_~j~0 (_ bv4 32)) linear_search_~n) (not (bvult (bvadd linear_search_~j~0 (_ bv3 32)) linear_search_~n))) (or (not (= ~SIZE~0 |linear_search_#in~n|)) (= linear_search_~q (select (select |#memory_int| linear_search_~a.base) (bvadd linear_search_~a.offset (bvmul (_ bv4 32) linear_search_~j~0) (_ bv8 32)))) (not (= (_ bv3 32) |linear_search_#in~q|)) (bvult (bvadd linear_search_~j~0 (_ bv4 32)) linear_search_~n) (not (bvult (bvadd linear_search_~j~0 (_ bv3 32)) linear_search_~n)) (not (bvult (_ bv4 32) ~SIZE~0))))} is VALID [2018-11-23 11:24:13,276 INFO L273 TraceCheckUtils]: 8: Hoare triple {3665#(and (or (not (= ~SIZE~0 |linear_search_#in~n|)) (= linear_search_~q (select (select |#memory_int| linear_search_~a.base) (bvadd linear_search_~a.offset (bvmul (_ bv4 32) linear_search_~j~0) (_ bv8 32)))) (not (= (_ bv3 32) |linear_search_#in~q|)) (bvult (bvadd linear_search_~j~0 (_ bv4 32)) linear_search_~n) (not (bvult (bvadd linear_search_~j~0 (_ bv3 32)) linear_search_~n)) (not (= (bvadd (select (select |#memory_int| |linear_search_#in~a.base|) (bvadd |linear_search_#in~a.offset| (_ bv8 32))) (_ bv4294967293 32)) (_ bv0 32)))) (or (not (= ~SIZE~0 |linear_search_#in~n|)) (bvult (_ bv3 32) ~SIZE~0) (= linear_search_~q (select (select |#memory_int| linear_search_~a.base) (bvadd linear_search_~a.offset (bvmul (_ bv4 32) linear_search_~j~0) (_ bv8 32)))) (not (= (_ bv3 32) |linear_search_#in~q|)) (bvult (bvadd linear_search_~j~0 (_ bv4 32)) linear_search_~n) (not (bvult (bvadd linear_search_~j~0 (_ bv3 32)) linear_search_~n))) (or (not (= ~SIZE~0 |linear_search_#in~n|)) (= linear_search_~q (select (select |#memory_int| linear_search_~a.base) (bvadd linear_search_~a.offset (bvmul (_ bv4 32) linear_search_~j~0) (_ bv8 32)))) (not (= (_ bv3 32) |linear_search_#in~q|)) (bvult (bvadd linear_search_~j~0 (_ bv4 32)) linear_search_~n) (not (bvult (bvadd linear_search_~j~0 (_ bv3 32)) linear_search_~n)) (not (bvult (_ bv4 32) ~SIZE~0))))} #t~short1 := ~bvult32(~j~0, ~n); {3665#(and (or (not (= ~SIZE~0 |linear_search_#in~n|)) (= linear_search_~q (select (select |#memory_int| linear_search_~a.base) (bvadd linear_search_~a.offset (bvmul (_ bv4 32) linear_search_~j~0) (_ bv8 32)))) (not (= (_ bv3 32) |linear_search_#in~q|)) (bvult (bvadd linear_search_~j~0 (_ bv4 32)) linear_search_~n) (not (bvult (bvadd linear_search_~j~0 (_ bv3 32)) linear_search_~n)) (not (= (bvadd (select (select |#memory_int| |linear_search_#in~a.base|) (bvadd |linear_search_#in~a.offset| (_ bv8 32))) (_ bv4294967293 32)) (_ bv0 32)))) (or (not (= ~SIZE~0 |linear_search_#in~n|)) (bvult (_ bv3 32) ~SIZE~0) (= linear_search_~q (select (select |#memory_int| linear_search_~a.base) (bvadd linear_search_~a.offset (bvmul (_ bv4 32) linear_search_~j~0) (_ bv8 32)))) (not (= (_ bv3 32) |linear_search_#in~q|)) (bvult (bvadd linear_search_~j~0 (_ bv4 32)) linear_search_~n) (not (bvult (bvadd linear_search_~j~0 (_ bv3 32)) linear_search_~n))) (or (not (= ~SIZE~0 |linear_search_#in~n|)) (= linear_search_~q (select (select |#memory_int| linear_search_~a.base) (bvadd linear_search_~a.offset (bvmul (_ bv4 32) linear_search_~j~0) (_ bv8 32)))) (not (= (_ bv3 32) |linear_search_#in~q|)) (bvult (bvadd linear_search_~j~0 (_ bv4 32)) linear_search_~n) (not (bvult (bvadd linear_search_~j~0 (_ bv3 32)) linear_search_~n)) (not (bvult (_ bv4 32) ~SIZE~0))))} is VALID [2018-11-23 11:24:13,279 INFO L273 TraceCheckUtils]: 7: Hoare triple {3467#true} ~a.base, ~a.offset := #in~a.base, #in~a.offset;~n := #in~n;~q := #in~q;~j~0 := 0bv32; {3665#(and (or (not (= ~SIZE~0 |linear_search_#in~n|)) (= linear_search_~q (select (select |#memory_int| linear_search_~a.base) (bvadd linear_search_~a.offset (bvmul (_ bv4 32) linear_search_~j~0) (_ bv8 32)))) (not (= (_ bv3 32) |linear_search_#in~q|)) (bvult (bvadd linear_search_~j~0 (_ bv4 32)) linear_search_~n) (not (bvult (bvadd linear_search_~j~0 (_ bv3 32)) linear_search_~n)) (not (= (bvadd (select (select |#memory_int| |linear_search_#in~a.base|) (bvadd |linear_search_#in~a.offset| (_ bv8 32))) (_ bv4294967293 32)) (_ bv0 32)))) (or (not (= ~SIZE~0 |linear_search_#in~n|)) (bvult (_ bv3 32) ~SIZE~0) (= linear_search_~q (select (select |#memory_int| linear_search_~a.base) (bvadd linear_search_~a.offset (bvmul (_ bv4 32) linear_search_~j~0) (_ bv8 32)))) (not (= (_ bv3 32) |linear_search_#in~q|)) (bvult (bvadd linear_search_~j~0 (_ bv4 32)) linear_search_~n) (not (bvult (bvadd linear_search_~j~0 (_ bv3 32)) linear_search_~n))) (or (not (= ~SIZE~0 |linear_search_#in~n|)) (= linear_search_~q (select (select |#memory_int| linear_search_~a.base) (bvadd linear_search_~a.offset (bvmul (_ bv4 32) linear_search_~j~0) (_ bv8 32)))) (not (= (_ bv3 32) |linear_search_#in~q|)) (bvult (bvadd linear_search_~j~0 (_ bv4 32)) linear_search_~n) (not (bvult (bvadd linear_search_~j~0 (_ bv3 32)) linear_search_~n)) (not (bvult (_ bv4 32) ~SIZE~0))))} is VALID [2018-11-23 11:24:13,280 INFO L256 TraceCheckUtils]: 6: Hoare triple {3595#(or (bvult (_ bv4 32) ~SIZE~0) (not (bvult (_ bv3 32) ~SIZE~0)) (= (_ bv3 32) (select (select |#memory_int| |main_~#a~0.base|) (bvadd |main_~#a~0.offset| (_ bv8 32)))))} call #t~ret4 := linear_search(~#a~0.base, ~#a~0.offset, ~SIZE~0, 3bv32); {3467#true} is VALID [2018-11-23 11:24:13,283 INFO L273 TraceCheckUtils]: 5: Hoare triple {3467#true} ~SIZE~0 := ~bvadd32(1bv32, ~bvudiv32(#t~nondet3, 2bv32));havoc #t~nondet3;call ~#a~0.base, ~#a~0.offset := #Ultimate.alloc(~bvmul32(4bv32, ~SIZE~0));call write~intINTTYPE4(3bv32, ~#a~0.base, ~bvadd32(~#a~0.offset, ~bvmul32(4bv32, ~bvudiv32(~SIZE~0, 2bv32))), 4bv32); {3595#(or (bvult (_ bv4 32) ~SIZE~0) (not (bvult (_ bv3 32) ~SIZE~0)) (= (_ bv3 32) (select (select |#memory_int| |main_~#a~0.base|) (bvadd |main_~#a~0.offset| (_ bv8 32)))))} is VALID [2018-11-23 11:24:13,283 INFO L256 TraceCheckUtils]: 4: Hoare triple {3467#true} call #t~ret5 := main(); {3467#true} is VALID [2018-11-23 11:24:13,283 INFO L268 TraceCheckUtils]: 3: Hoare quadruple {3467#true} {3467#true} #53#return; {3467#true} is VALID [2018-11-23 11:24:13,283 INFO L273 TraceCheckUtils]: 2: Hoare triple {3467#true} assume true; {3467#true} is VALID [2018-11-23 11:24:13,284 INFO L273 TraceCheckUtils]: 1: Hoare triple {3467#true} #NULL.base, #NULL.offset := 0bv32, 0bv32;#valid := #valid[0bv32 := 0bv1];~SIZE~0 := 0bv32; {3467#true} is VALID [2018-11-23 11:24:13,284 INFO L256 TraceCheckUtils]: 0: Hoare triple {3467#true} call ULTIMATE.init(); {3467#true} is VALID [2018-11-23 11:24:13,292 INFO L134 CoverageAnalysis]: Checked inductivity of 36 backedges. 4 proven. 32 refuted. 0 times theorem prover too weak. 0 trivial. 0 not checked. [2018-11-23 11:24:13,294 INFO L312 seRefinementStrategy]: Constructing automaton from 0 perfect and 2 imperfect interpolant sequences. [2018-11-23 11:24:13,294 INFO L327 seRefinementStrategy]: Number of different interpolants: perfect sequences [] imperfect sequences [14, 13] total 25 [2018-11-23 11:24:13,294 INFO L78 Accepts]: Start accepts. Automaton has 25 states. Word has length 34 [2018-11-23 11:24:13,295 INFO L84 Accepts]: Finished accepts. word is accepted. [2018-11-23 11:24:13,295 INFO L86 InductivityCheck]: Starting indutivity check of a Floyd-Hoare automaton with 25 states. [2018-11-23 11:24:15,443 INFO L119 InductivityCheck]: Floyd-Hoare automaton has 59 edges. 59 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2018-11-23 11:24:15,443 INFO L459 AbstractCegarLoop]: Interpolant automaton has 25 states [2018-11-23 11:24:15,443 INFO L142 InterpolantAutomaton]: Constructing interpolant automaton starting with 25 interpolants. [2018-11-23 11:24:15,444 INFO L144 InterpolantAutomaton]: CoverageRelationStatistics Valid=95, Invalid=505, Unknown=0, NotChecked=0, Total=600 [2018-11-23 11:24:15,444 INFO L87 Difference]: Start difference. First operand 81 states and 96 transitions. Second operand 25 states. [2018-11-23 11:24:18,018 WARN L180 SmtUtils]: Spent 255.00 ms on a formula simplification. DAG size of input: 38 DAG size of output: 38 [2018-11-23 11:24:19,498 WARN L180 SmtUtils]: Spent 163.00 ms on a formula simplification. DAG size of input: 39 DAG size of output: 38 [2018-11-23 11:24:19,924 WARN L180 SmtUtils]: Spent 120.00 ms on a formula simplification. DAG size of input: 39 DAG size of output: 35 [2018-11-23 11:24:21,053 WARN L180 SmtUtils]: Spent 447.00 ms on a formula simplification. DAG size of input: 53 DAG size of output: 52 [2018-11-23 11:24:21,755 WARN L180 SmtUtils]: Spent 170.00 ms on a formula simplification that was a NOOP. DAG size: 45 [2018-11-23 11:24:22,186 WARN L180 SmtUtils]: Spent 119.00 ms on a formula simplification that was a NOOP. DAG size: 43 [2018-11-23 11:24:24,077 WARN L180 SmtUtils]: Spent 1.54 s on a formula simplification. DAG size of input: 80 DAG size of output: 79 [2018-11-23 11:24:24,849 WARN L180 SmtUtils]: Spent 202.00 ms on a formula simplification that was a NOOP. DAG size: 50 [2018-11-23 11:24:26,679 WARN L180 SmtUtils]: Spent 1.30 s on a formula simplification. DAG size of input: 73 DAG size of output: 72 [2018-11-23 11:24:27,149 WARN L180 SmtUtils]: Spent 218.00 ms on a formula simplification that was a NOOP. DAG size: 48 [2018-11-23 11:24:28,688 WARN L180 SmtUtils]: Spent 630.00 ms on a formula simplification. DAG size of input: 58 DAG size of output: 57 [2018-11-23 11:24:31,554 WARN L180 SmtUtils]: Spent 1.15 s on a formula simplification. DAG size of input: 68 DAG size of output: 67 [2018-11-23 11:24:32,696 WARN L180 SmtUtils]: Spent 121.00 ms on a formula simplification that was a NOOP. DAG size: 42 [2018-11-23 11:24:34,408 WARN L180 SmtUtils]: Spent 1.14 s on a formula simplification. DAG size of input: 71 DAG size of output: 70 [2018-11-23 11:24:36,622 WARN L180 SmtUtils]: Spent 1.23 s on a formula simplification. DAG size of input: 75 DAG size of output: 74 [2018-11-23 11:24:38,027 WARN L180 SmtUtils]: Spent 668.00 ms on a formula simplification. DAG size of input: 59 DAG size of output: 58 [2018-11-23 11:24:39,229 WARN L180 SmtUtils]: Spent 749.00 ms on a formula simplification. DAG size of input: 62 DAG size of output: 61 [2018-11-23 11:24:40,439 WARN L180 SmtUtils]: Spent 903.00 ms on a formula simplification. DAG size of input: 66 DAG size of output: 65 [2018-11-23 11:24:41,123 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2018-11-23 11:24:41,123 INFO L93 Difference]: Finished difference Result 222 states and 275 transitions. [2018-11-23 11:24:41,124 INFO L142 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 34 states. [2018-11-23 11:24:41,124 INFO L78 Accepts]: Start accepts. Automaton has 25 states. Word has length 34 [2018-11-23 11:24:41,124 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2018-11-23 11:24:41,124 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 25 states. [2018-11-23 11:24:41,144 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 34 states to 34 states and 111 transitions. [2018-11-23 11:24:41,144 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 25 states. [2018-11-23 11:24:41,149 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 34 states to 34 states and 111 transitions. [2018-11-23 11:24:41,149 INFO L86 InductivityCheck]: Starting indutivity check of a Floyd-Hoare automaton with 34 states and 111 transitions. [2018-11-23 11:24:44,819 INFO L119 InductivityCheck]: Floyd-Hoare automaton has 111 edges. 110 inductive. 0 not inductive. 1 times theorem prover too weak to decide inductivity. [2018-11-23 11:24:44,821 INFO L225 Difference]: With dead ends: 222 [2018-11-23 11:24:44,821 INFO L226 Difference]: Without dead ends: 115 [2018-11-23 11:24:44,822 INFO L631 BasicCegarLoop]: 0 DeclaredPredicates, 89 GetRequests, 43 SyntacticMatches, 1 SemanticMatches, 45 ConstructedPredicates, 0 IntricatePredicates, 0 DeprecatedPredicates, 466 ImplicationChecksByTransitivity, 17.9s TimeCoverageRelationStatistics Valid=434, Invalid=1728, Unknown=0, NotChecked=0, Total=2162 [2018-11-23 11:24:44,823 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 115 states. [2018-11-23 11:24:45,059 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 115 to 68. [2018-11-23 11:24:45,059 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2018-11-23 11:24:45,059 INFO L82 GeneralOperation]: Start isEquivalent. First operand 115 states. Second operand 68 states. [2018-11-23 11:24:45,060 INFO L74 IsIncluded]: Start isIncluded. First operand 115 states. Second operand 68 states. [2018-11-23 11:24:45,060 INFO L87 Difference]: Start difference. First operand 115 states. Second operand 68 states. [2018-11-23 11:24:45,062 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2018-11-23 11:24:45,063 INFO L93 Difference]: Finished difference Result 115 states and 129 transitions. [2018-11-23 11:24:45,063 INFO L276 IsEmpty]: Start isEmpty. Operand 115 states and 129 transitions. [2018-11-23 11:24:45,063 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2018-11-23 11:24:45,064 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2018-11-23 11:24:45,064 INFO L74 IsIncluded]: Start isIncluded. First operand 68 states. Second operand 115 states. [2018-11-23 11:24:45,064 INFO L87 Difference]: Start difference. First operand 68 states. Second operand 115 states. [2018-11-23 11:24:45,066 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2018-11-23 11:24:45,066 INFO L93 Difference]: Finished difference Result 115 states and 129 transitions. [2018-11-23 11:24:45,066 INFO L276 IsEmpty]: Start isEmpty. Operand 115 states and 129 transitions. [2018-11-23 11:24:45,066 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2018-11-23 11:24:45,067 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2018-11-23 11:24:45,067 INFO L88 GeneralOperation]: Finished isEquivalent. [2018-11-23 11:24:45,067 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2018-11-23 11:24:45,067 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 68 states. [2018-11-23 11:24:45,068 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 68 states to 68 states and 76 transitions. [2018-11-23 11:24:45,068 INFO L78 Accepts]: Start accepts. Automaton has 68 states and 76 transitions. Word has length 34 [2018-11-23 11:24:45,069 INFO L84 Accepts]: Finished accepts. word is rejected. [2018-11-23 11:24:45,069 INFO L480 AbstractCegarLoop]: Abstraction has 68 states and 76 transitions. [2018-11-23 11:24:45,069 INFO L481 AbstractCegarLoop]: Interpolant automaton has 25 states. [2018-11-23 11:24:45,069 INFO L276 IsEmpty]: Start isEmpty. Operand 68 states and 76 transitions. [2018-11-23 11:24:45,070 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 39 [2018-11-23 11:24:45,070 INFO L394 BasicCegarLoop]: Found error trace [2018-11-23 11:24:45,070 INFO L402 BasicCegarLoop]: trace histogram [6, 5, 5, 5, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1] [2018-11-23 11:24:45,070 INFO L423 AbstractCegarLoop]: === Iteration 12 === [__VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION]=== [2018-11-23 11:24:45,070 INFO L141 PredicateUnifier]: Initialized classic predicate unifier [2018-11-23 11:24:45,070 INFO L82 PathProgramCache]: Analyzing trace with hash 1744234367, now seen corresponding path program 5 times [2018-11-23 11:24:45,071 INFO L223 ckRefinementStrategy]: Switched to mode CVC4_FPBP [2018-11-23 11:24:45,071 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 11:24:45,099 INFO L101 rtionOrderModulation]: Changing assertion order to INSIDE_LOOP_FIRST1 [2018-11-23 11:24:45,281 INFO L249 tOrderPrioritization]: Assert order INSIDE_LOOP_FIRST1 issued 6 check-sat command(s) [2018-11-23 11:24:45,282 INFO L250 tOrderPrioritization]: Conjunction of SSA is unsat [2018-11-23 11:24:45,328 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2018-11-23 11:24:45,331 INFO L273 TraceCheckSpWp]: Computing forward predicates... [2018-11-23 11:24:45,577 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 17 treesize of output 14 [2018-11-23 11:24:45,620 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 14 treesize of output 13 [2018-11-23 11:24:45,645 INFO L267 ElimStorePlain]: Start of recursive call 3: End of recursive call: and 1 xjuncts. [2018-11-23 11:24:45,677 INFO L267 ElimStorePlain]: Start of recursive call 2: 1 dim-1 vars, End of recursive call: and 1 xjuncts. [2018-11-23 11:24:45,687 INFO L267 ElimStorePlain]: Start of recursive call 1: 1 dim-2 vars, End of recursive call: and 1 xjuncts. [2018-11-23 11:24:45,688 INFO L202 ElimStorePlain]: Needed 3 recursive calls to eliminate 1 variables, input treesize:21, output treesize:17 [2018-11-23 11:24:46,392 WARN L180 SmtUtils]: Spent 101.00 ms on a formula simplification that was a NOOP. DAG size: 34 [2018-11-23 11:24:47,070 WARN L180 SmtUtils]: Spent 150.00 ms on a formula simplification. DAG size of input: 31 DAG size of output: 31 [2018-11-23 11:24:47,237 INFO L256 TraceCheckUtils]: 0: Hoare triple {4336#true} call ULTIMATE.init(); {4336#true} is VALID [2018-11-23 11:24:47,238 INFO L273 TraceCheckUtils]: 1: Hoare triple {4336#true} #NULL.base, #NULL.offset := 0bv32, 0bv32;#valid := #valid[0bv32 := 0bv1];~SIZE~0 := 0bv32; {4336#true} is VALID [2018-11-23 11:24:47,238 INFO L273 TraceCheckUtils]: 2: Hoare triple {4336#true} assume true; {4336#true} is VALID [2018-11-23 11:24:47,238 INFO L268 TraceCheckUtils]: 3: Hoare quadruple {4336#true} {4336#true} #53#return; {4336#true} is VALID [2018-11-23 11:24:47,238 INFO L256 TraceCheckUtils]: 4: Hoare triple {4336#true} call #t~ret5 := main(); {4336#true} is VALID [2018-11-23 11:24:47,240 INFO L273 TraceCheckUtils]: 5: Hoare triple {4336#true} ~SIZE~0 := ~bvadd32(1bv32, ~bvudiv32(#t~nondet3, 2bv32));havoc #t~nondet3;call ~#a~0.base, ~#a~0.offset := #Ultimate.alloc(~bvmul32(4bv32, ~SIZE~0));call write~intINTTYPE4(3bv32, ~#a~0.base, ~bvadd32(~#a~0.offset, ~bvmul32(4bv32, ~bvudiv32(~SIZE~0, 2bv32))), 4bv32); {4356#(and (= |main_~#a~0.offset| (_ bv0 32)) (= (_ bv3 32) (select (select |#memory_int| |main_~#a~0.base|) (bvadd (bvmul (_ bv4 32) (bvudiv ~SIZE~0 (_ bv2 32))) |main_~#a~0.offset|))))} is VALID [2018-11-23 11:24:49,248 INFO L256 TraceCheckUtils]: 6: Hoare triple {4356#(and (= |main_~#a~0.offset| (_ bv0 32)) (= (_ bv3 32) (select (select |#memory_int| |main_~#a~0.base|) (bvadd (bvmul (_ bv4 32) (bvudiv ~SIZE~0 (_ bv2 32))) |main_~#a~0.offset|))))} call #t~ret4 := linear_search(~#a~0.base, ~#a~0.offset, ~SIZE~0, 3bv32); {4360#(exists ((|v_main_~#a~0.base_BEFORE_CALL_13| (_ BitVec 32))) (= (_ bv3 32) (select (select |#memory_int| |v_main_~#a~0.base_BEFORE_CALL_13|) (bvmul (_ bv4 32) (bvudiv ~SIZE~0 (_ bv2 32))))))} is UNKNOWN [2018-11-23 11:24:49,250 INFO L273 TraceCheckUtils]: 7: Hoare triple {4360#(exists ((|v_main_~#a~0.base_BEFORE_CALL_13| (_ BitVec 32))) (= (_ bv3 32) (select (select |#memory_int| |v_main_~#a~0.base_BEFORE_CALL_13|) (bvmul (_ bv4 32) (bvudiv ~SIZE~0 (_ bv2 32))))))} ~a.base, ~a.offset := #in~a.base, #in~a.offset;~n := #in~n;~q := #in~q;~j~0 := 0bv32; {4364#(and (exists ((|v_main_~#a~0.base_BEFORE_CALL_13| (_ BitVec 32))) (= (_ bv3 32) (select (select |#memory_int| |v_main_~#a~0.base_BEFORE_CALL_13|) (bvmul (_ bv4 32) (bvudiv ~SIZE~0 (_ bv2 32)))))) (= linear_search_~n |linear_search_#in~n|) (= linear_search_~q |linear_search_#in~q|) (= linear_search_~j~0 (_ bv0 32)) (= linear_search_~a.offset |linear_search_#in~a.offset|) (= |linear_search_#in~a.base| linear_search_~a.base))} is VALID [2018-11-23 11:24:49,250 INFO L273 TraceCheckUtils]: 8: Hoare triple {4364#(and (exists ((|v_main_~#a~0.base_BEFORE_CALL_13| (_ BitVec 32))) (= (_ bv3 32) (select (select |#memory_int| |v_main_~#a~0.base_BEFORE_CALL_13|) (bvmul (_ bv4 32) (bvudiv ~SIZE~0 (_ bv2 32)))))) (= linear_search_~n |linear_search_#in~n|) (= linear_search_~q |linear_search_#in~q|) (= linear_search_~j~0 (_ bv0 32)) (= linear_search_~a.offset |linear_search_#in~a.offset|) (= |linear_search_#in~a.base| linear_search_~a.base))} #t~short1 := ~bvult32(~j~0, ~n); {4364#(and (exists ((|v_main_~#a~0.base_BEFORE_CALL_13| (_ BitVec 32))) (= (_ bv3 32) (select (select |#memory_int| |v_main_~#a~0.base_BEFORE_CALL_13|) (bvmul (_ bv4 32) (bvudiv ~SIZE~0 (_ bv2 32)))))) (= linear_search_~n |linear_search_#in~n|) (= linear_search_~q |linear_search_#in~q|) (= linear_search_~j~0 (_ bv0 32)) (= linear_search_~a.offset |linear_search_#in~a.offset|) (= |linear_search_#in~a.base| linear_search_~a.base))} is VALID [2018-11-23 11:24:49,251 INFO L273 TraceCheckUtils]: 9: Hoare triple {4364#(and (exists ((|v_main_~#a~0.base_BEFORE_CALL_13| (_ BitVec 32))) (= (_ bv3 32) (select (select |#memory_int| |v_main_~#a~0.base_BEFORE_CALL_13|) (bvmul (_ bv4 32) (bvudiv ~SIZE~0 (_ bv2 32)))))) (= linear_search_~n |linear_search_#in~n|) (= linear_search_~q |linear_search_#in~q|) (= linear_search_~j~0 (_ bv0 32)) (= linear_search_~a.offset |linear_search_#in~a.offset|) (= |linear_search_#in~a.base| linear_search_~a.base))} assume #t~short1;call #t~mem0 := read~intINTTYPE4(~a.base, ~bvadd32(~a.offset, ~bvmul32(4bv32, ~j~0)), 4bv32);#t~short1 := #t~mem0 != ~q; {4364#(and (exists ((|v_main_~#a~0.base_BEFORE_CALL_13| (_ BitVec 32))) (= (_ bv3 32) (select (select |#memory_int| |v_main_~#a~0.base_BEFORE_CALL_13|) (bvmul (_ bv4 32) (bvudiv ~SIZE~0 (_ bv2 32)))))) (= linear_search_~n |linear_search_#in~n|) (= linear_search_~q |linear_search_#in~q|) (= linear_search_~j~0 (_ bv0 32)) (= linear_search_~a.offset |linear_search_#in~a.offset|) (= |linear_search_#in~a.base| linear_search_~a.base))} is VALID [2018-11-23 11:24:49,253 INFO L273 TraceCheckUtils]: 10: Hoare triple {4364#(and (exists ((|v_main_~#a~0.base_BEFORE_CALL_13| (_ BitVec 32))) (= (_ bv3 32) (select (select |#memory_int| |v_main_~#a~0.base_BEFORE_CALL_13|) (bvmul (_ bv4 32) (bvudiv ~SIZE~0 (_ bv2 32)))))) (= linear_search_~n |linear_search_#in~n|) (= linear_search_~q |linear_search_#in~q|) (= linear_search_~j~0 (_ bv0 32)) (= linear_search_~a.offset |linear_search_#in~a.offset|) (= |linear_search_#in~a.base| linear_search_~a.base))} assume !!#t~short1;havoc #t~short1;havoc #t~mem0;#t~post2 := ~j~0;~j~0 := ~bvadd32(1bv32, #t~post2);havoc #t~post2; {4374#(and (exists ((|v_main_~#a~0.base_BEFORE_CALL_13| (_ BitVec 32))) (= (_ bv3 32) (select (select |#memory_int| |v_main_~#a~0.base_BEFORE_CALL_13|) (bvmul (_ bv4 32) (bvudiv ~SIZE~0 (_ bv2 32)))))) (= (bvadd linear_search_~j~0 (_ bv4294967295 32)) (_ bv0 32)) (= linear_search_~n |linear_search_#in~n|) (= linear_search_~q |linear_search_#in~q|) (= linear_search_~a.offset |linear_search_#in~a.offset|) (= |linear_search_#in~a.base| linear_search_~a.base))} is VALID [2018-11-23 11:24:49,253 INFO L273 TraceCheckUtils]: 11: Hoare triple {4374#(and (exists ((|v_main_~#a~0.base_BEFORE_CALL_13| (_ BitVec 32))) (= (_ bv3 32) (select (select |#memory_int| |v_main_~#a~0.base_BEFORE_CALL_13|) (bvmul (_ bv4 32) (bvudiv ~SIZE~0 (_ bv2 32)))))) (= (bvadd linear_search_~j~0 (_ bv4294967295 32)) (_ bv0 32)) (= linear_search_~n |linear_search_#in~n|) (= linear_search_~q |linear_search_#in~q|) (= linear_search_~a.offset |linear_search_#in~a.offset|) (= |linear_search_#in~a.base| linear_search_~a.base))} assume !(20bv32 == ~j~0); {4374#(and (exists ((|v_main_~#a~0.base_BEFORE_CALL_13| (_ BitVec 32))) (= (_ bv3 32) (select (select |#memory_int| |v_main_~#a~0.base_BEFORE_CALL_13|) (bvmul (_ bv4 32) (bvudiv ~SIZE~0 (_ bv2 32)))))) (= (bvadd linear_search_~j~0 (_ bv4294967295 32)) (_ bv0 32)) (= linear_search_~n |linear_search_#in~n|) (= linear_search_~q |linear_search_#in~q|) (= linear_search_~a.offset |linear_search_#in~a.offset|) (= |linear_search_#in~a.base| linear_search_~a.base))} is VALID [2018-11-23 11:24:49,254 INFO L273 TraceCheckUtils]: 12: Hoare triple {4374#(and (exists ((|v_main_~#a~0.base_BEFORE_CALL_13| (_ BitVec 32))) (= (_ bv3 32) (select (select |#memory_int| |v_main_~#a~0.base_BEFORE_CALL_13|) (bvmul (_ bv4 32) (bvudiv ~SIZE~0 (_ bv2 32)))))) (= (bvadd linear_search_~j~0 (_ bv4294967295 32)) (_ bv0 32)) (= linear_search_~n |linear_search_#in~n|) (= linear_search_~q |linear_search_#in~q|) (= linear_search_~a.offset |linear_search_#in~a.offset|) (= |linear_search_#in~a.base| linear_search_~a.base))} #t~short1 := ~bvult32(~j~0, ~n); {4374#(and (exists ((|v_main_~#a~0.base_BEFORE_CALL_13| (_ BitVec 32))) (= (_ bv3 32) (select (select |#memory_int| |v_main_~#a~0.base_BEFORE_CALL_13|) (bvmul (_ bv4 32) (bvudiv ~SIZE~0 (_ bv2 32)))))) (= (bvadd linear_search_~j~0 (_ bv4294967295 32)) (_ bv0 32)) (= linear_search_~n |linear_search_#in~n|) (= linear_search_~q |linear_search_#in~q|) (= linear_search_~a.offset |linear_search_#in~a.offset|) (= |linear_search_#in~a.base| linear_search_~a.base))} is VALID [2018-11-23 11:24:49,255 INFO L273 TraceCheckUtils]: 13: Hoare triple {4374#(and (exists ((|v_main_~#a~0.base_BEFORE_CALL_13| (_ BitVec 32))) (= (_ bv3 32) (select (select |#memory_int| |v_main_~#a~0.base_BEFORE_CALL_13|) (bvmul (_ bv4 32) (bvudiv ~SIZE~0 (_ bv2 32)))))) (= (bvadd linear_search_~j~0 (_ bv4294967295 32)) (_ bv0 32)) (= linear_search_~n |linear_search_#in~n|) (= linear_search_~q |linear_search_#in~q|) (= linear_search_~a.offset |linear_search_#in~a.offset|) (= |linear_search_#in~a.base| linear_search_~a.base))} assume #t~short1;call #t~mem0 := read~intINTTYPE4(~a.base, ~bvadd32(~a.offset, ~bvmul32(4bv32, ~j~0)), 4bv32);#t~short1 := #t~mem0 != ~q; {4374#(and (exists ((|v_main_~#a~0.base_BEFORE_CALL_13| (_ BitVec 32))) (= (_ bv3 32) (select (select |#memory_int| |v_main_~#a~0.base_BEFORE_CALL_13|) (bvmul (_ bv4 32) (bvudiv ~SIZE~0 (_ bv2 32)))))) (= (bvadd linear_search_~j~0 (_ bv4294967295 32)) (_ bv0 32)) (= linear_search_~n |linear_search_#in~n|) (= linear_search_~q |linear_search_#in~q|) (= linear_search_~a.offset |linear_search_#in~a.offset|) (= |linear_search_#in~a.base| linear_search_~a.base))} is VALID [2018-11-23 11:24:49,257 INFO L273 TraceCheckUtils]: 14: Hoare triple {4374#(and (exists ((|v_main_~#a~0.base_BEFORE_CALL_13| (_ BitVec 32))) (= (_ bv3 32) (select (select |#memory_int| |v_main_~#a~0.base_BEFORE_CALL_13|) (bvmul (_ bv4 32) (bvudiv ~SIZE~0 (_ bv2 32)))))) (= (bvadd linear_search_~j~0 (_ bv4294967295 32)) (_ bv0 32)) (= linear_search_~n |linear_search_#in~n|) (= linear_search_~q |linear_search_#in~q|) (= linear_search_~a.offset |linear_search_#in~a.offset|) (= |linear_search_#in~a.base| linear_search_~a.base))} assume !!#t~short1;havoc #t~short1;havoc #t~mem0;#t~post2 := ~j~0;~j~0 := ~bvadd32(1bv32, #t~post2);havoc #t~post2; {4387#(and (exists ((|v_main_~#a~0.base_BEFORE_CALL_13| (_ BitVec 32))) (= (_ bv3 32) (select (select |#memory_int| |v_main_~#a~0.base_BEFORE_CALL_13|) (bvmul (_ bv4 32) (bvudiv ~SIZE~0 (_ bv2 32)))))) (= (_ bv2 32) linear_search_~j~0) (= linear_search_~n |linear_search_#in~n|) (= linear_search_~q |linear_search_#in~q|) (= linear_search_~a.offset |linear_search_#in~a.offset|) (= |linear_search_#in~a.base| linear_search_~a.base))} is VALID [2018-11-23 11:24:49,258 INFO L273 TraceCheckUtils]: 15: Hoare triple {4387#(and (exists ((|v_main_~#a~0.base_BEFORE_CALL_13| (_ BitVec 32))) (= (_ bv3 32) (select (select |#memory_int| |v_main_~#a~0.base_BEFORE_CALL_13|) (bvmul (_ bv4 32) (bvudiv ~SIZE~0 (_ bv2 32)))))) (= (_ bv2 32) linear_search_~j~0) (= linear_search_~n |linear_search_#in~n|) (= linear_search_~q |linear_search_#in~q|) (= linear_search_~a.offset |linear_search_#in~a.offset|) (= |linear_search_#in~a.base| linear_search_~a.base))} assume !(20bv32 == ~j~0); {4387#(and (exists ((|v_main_~#a~0.base_BEFORE_CALL_13| (_ BitVec 32))) (= (_ bv3 32) (select (select |#memory_int| |v_main_~#a~0.base_BEFORE_CALL_13|) (bvmul (_ bv4 32) (bvudiv ~SIZE~0 (_ bv2 32)))))) (= (_ bv2 32) linear_search_~j~0) (= linear_search_~n |linear_search_#in~n|) (= linear_search_~q |linear_search_#in~q|) (= linear_search_~a.offset |linear_search_#in~a.offset|) (= |linear_search_#in~a.base| linear_search_~a.base))} is VALID [2018-11-23 11:24:49,259 INFO L273 TraceCheckUtils]: 16: Hoare triple {4387#(and (exists ((|v_main_~#a~0.base_BEFORE_CALL_13| (_ BitVec 32))) (= (_ bv3 32) (select (select |#memory_int| |v_main_~#a~0.base_BEFORE_CALL_13|) (bvmul (_ bv4 32) (bvudiv ~SIZE~0 (_ bv2 32)))))) (= (_ bv2 32) linear_search_~j~0) (= linear_search_~n |linear_search_#in~n|) (= linear_search_~q |linear_search_#in~q|) (= linear_search_~a.offset |linear_search_#in~a.offset|) (= |linear_search_#in~a.base| linear_search_~a.base))} #t~short1 := ~bvult32(~j~0, ~n); {4387#(and (exists ((|v_main_~#a~0.base_BEFORE_CALL_13| (_ BitVec 32))) (= (_ bv3 32) (select (select |#memory_int| |v_main_~#a~0.base_BEFORE_CALL_13|) (bvmul (_ bv4 32) (bvudiv ~SIZE~0 (_ bv2 32)))))) (= (_ bv2 32) linear_search_~j~0) (= linear_search_~n |linear_search_#in~n|) (= linear_search_~q |linear_search_#in~q|) (= linear_search_~a.offset |linear_search_#in~a.offset|) (= |linear_search_#in~a.base| linear_search_~a.base))} is VALID [2018-11-23 11:24:49,263 INFO L273 TraceCheckUtils]: 17: Hoare triple {4387#(and (exists ((|v_main_~#a~0.base_BEFORE_CALL_13| (_ BitVec 32))) (= (_ bv3 32) (select (select |#memory_int| |v_main_~#a~0.base_BEFORE_CALL_13|) (bvmul (_ bv4 32) (bvudiv ~SIZE~0 (_ bv2 32)))))) (= (_ bv2 32) linear_search_~j~0) (= linear_search_~n |linear_search_#in~n|) (= linear_search_~q |linear_search_#in~q|) (= linear_search_~a.offset |linear_search_#in~a.offset|) (= |linear_search_#in~a.base| linear_search_~a.base))} assume #t~short1;call #t~mem0 := read~intINTTYPE4(~a.base, ~bvadd32(~a.offset, ~bvmul32(4bv32, ~j~0)), 4bv32);#t~short1 := #t~mem0 != ~q; {4397#(or (and (not (= (select (select |#memory_int| |linear_search_#in~a.base|) (bvadd |linear_search_#in~a.offset| (bvmul (_ bv4 32) linear_search_~j~0))) |linear_search_#in~q|)) (exists ((|v_main_~#a~0.base_BEFORE_CALL_13| (_ BitVec 32))) (= (_ bv3 32) (select (select |#memory_int| |v_main_~#a~0.base_BEFORE_CALL_13|) (bvmul (_ bv4 32) (bvudiv ~SIZE~0 (_ bv2 32)))))) (= (_ bv2 32) linear_search_~j~0) (= linear_search_~n |linear_search_#in~n|) |linear_search_#t~short1|) (and (exists ((|v_main_~#a~0.base_BEFORE_CALL_13| (_ BitVec 32))) (= (_ bv3 32) (select (select |#memory_int| |v_main_~#a~0.base_BEFORE_CALL_13|) (bvmul (_ bv4 32) (bvudiv ~SIZE~0 (_ bv2 32)))))) (= (_ bv2 32) linear_search_~j~0) (= linear_search_~n |linear_search_#in~n|) (not |linear_search_#t~short1|) (= (select (select |#memory_int| |linear_search_#in~a.base|) (bvadd |linear_search_#in~a.offset| (bvmul (_ bv4 32) linear_search_~j~0))) |linear_search_#in~q|)))} is VALID [2018-11-23 11:24:49,764 INFO L273 TraceCheckUtils]: 18: Hoare triple {4397#(or (and (not (= (select (select |#memory_int| |linear_search_#in~a.base|) (bvadd |linear_search_#in~a.offset| (bvmul (_ bv4 32) linear_search_~j~0))) |linear_search_#in~q|)) (exists ((|v_main_~#a~0.base_BEFORE_CALL_13| (_ BitVec 32))) (= (_ bv3 32) (select (select |#memory_int| |v_main_~#a~0.base_BEFORE_CALL_13|) (bvmul (_ bv4 32) (bvudiv ~SIZE~0 (_ bv2 32)))))) (= (_ bv2 32) linear_search_~j~0) (= linear_search_~n |linear_search_#in~n|) |linear_search_#t~short1|) (and (exists ((|v_main_~#a~0.base_BEFORE_CALL_13| (_ BitVec 32))) (= (_ bv3 32) (select (select |#memory_int| |v_main_~#a~0.base_BEFORE_CALL_13|) (bvmul (_ bv4 32) (bvudiv ~SIZE~0 (_ bv2 32)))))) (= (_ bv2 32) linear_search_~j~0) (= linear_search_~n |linear_search_#in~n|) (not |linear_search_#t~short1|) (= (select (select |#memory_int| |linear_search_#in~a.base|) (bvadd |linear_search_#in~a.offset| (bvmul (_ bv4 32) linear_search_~j~0))) |linear_search_#in~q|)))} assume !!#t~short1;havoc #t~short1;havoc #t~mem0;#t~post2 := ~j~0;~j~0 := ~bvadd32(1bv32, #t~post2);havoc #t~post2; {4401#(and (exists ((|v_main_~#a~0.base_BEFORE_CALL_13| (_ BitVec 32))) (= (_ bv3 32) (select (select |#memory_int| |v_main_~#a~0.base_BEFORE_CALL_13|) (bvmul (_ bv4 32) (bvudiv ~SIZE~0 (_ bv2 32)))))) (= linear_search_~n |linear_search_#in~n|) (not (= (select (select |#memory_int| |linear_search_#in~a.base|) (bvadd |linear_search_#in~a.offset| (bvmul (_ bv4 32) linear_search_~j~0) (_ bv4294967292 32))) |linear_search_#in~q|)) (= (_ bv3 32) linear_search_~j~0))} is VALID [2018-11-23 11:24:49,765 INFO L273 TraceCheckUtils]: 19: Hoare triple {4401#(and (exists ((|v_main_~#a~0.base_BEFORE_CALL_13| (_ BitVec 32))) (= (_ bv3 32) (select (select |#memory_int| |v_main_~#a~0.base_BEFORE_CALL_13|) (bvmul (_ bv4 32) (bvudiv ~SIZE~0 (_ bv2 32)))))) (= linear_search_~n |linear_search_#in~n|) (not (= (select (select |#memory_int| |linear_search_#in~a.base|) (bvadd |linear_search_#in~a.offset| (bvmul (_ bv4 32) linear_search_~j~0) (_ bv4294967292 32))) |linear_search_#in~q|)) (= (_ bv3 32) linear_search_~j~0))} assume !(20bv32 == ~j~0); {4401#(and (exists ((|v_main_~#a~0.base_BEFORE_CALL_13| (_ BitVec 32))) (= (_ bv3 32) (select (select |#memory_int| |v_main_~#a~0.base_BEFORE_CALL_13|) (bvmul (_ bv4 32) (bvudiv ~SIZE~0 (_ bv2 32)))))) (= linear_search_~n |linear_search_#in~n|) (not (= (select (select |#memory_int| |linear_search_#in~a.base|) (bvadd |linear_search_#in~a.offset| (bvmul (_ bv4 32) linear_search_~j~0) (_ bv4294967292 32))) |linear_search_#in~q|)) (= (_ bv3 32) linear_search_~j~0))} is VALID [2018-11-23 11:24:49,768 INFO L273 TraceCheckUtils]: 20: Hoare triple {4401#(and (exists ((|v_main_~#a~0.base_BEFORE_CALL_13| (_ BitVec 32))) (= (_ bv3 32) (select (select |#memory_int| |v_main_~#a~0.base_BEFORE_CALL_13|) (bvmul (_ bv4 32) (bvudiv ~SIZE~0 (_ bv2 32)))))) (= linear_search_~n |linear_search_#in~n|) (not (= (select (select |#memory_int| |linear_search_#in~a.base|) (bvadd |linear_search_#in~a.offset| (bvmul (_ bv4 32) linear_search_~j~0) (_ bv4294967292 32))) |linear_search_#in~q|)) (= (_ bv3 32) linear_search_~j~0))} #t~short1 := ~bvult32(~j~0, ~n); {4408#(or (and (exists ((|v_main_~#a~0.base_BEFORE_CALL_13| (_ BitVec 32))) (= (_ bv3 32) (select (select |#memory_int| |v_main_~#a~0.base_BEFORE_CALL_13|) (bvmul (_ bv4 32) (bvudiv ~SIZE~0 (_ bv2 32)))))) (= linear_search_~n |linear_search_#in~n|) (not (= (select (select |#memory_int| |linear_search_#in~a.base|) (bvadd |linear_search_#in~a.offset| (bvmul (_ bv4 32) linear_search_~j~0) (_ bv4294967292 32))) |linear_search_#in~q|)) (not (bvult linear_search_~j~0 linear_search_~n)) (not |linear_search_#t~short1|) (= (_ bv3 32) linear_search_~j~0)) (and (exists ((|v_main_~#a~0.base_BEFORE_CALL_13| (_ BitVec 32))) (= (_ bv3 32) (select (select |#memory_int| |v_main_~#a~0.base_BEFORE_CALL_13|) (bvmul (_ bv4 32) (bvudiv ~SIZE~0 (_ bv2 32)))))) (= linear_search_~n |linear_search_#in~n|) (not (= (select (select |#memory_int| |linear_search_#in~a.base|) (bvadd |linear_search_#in~a.offset| (bvmul (_ bv4 32) linear_search_~j~0) (_ bv4294967292 32))) |linear_search_#in~q|)) (bvult linear_search_~j~0 linear_search_~n) (= (_ bv3 32) linear_search_~j~0) |linear_search_#t~short1|))} is VALID [2018-11-23 11:24:49,773 INFO L273 TraceCheckUtils]: 21: Hoare triple {4408#(or (and (exists ((|v_main_~#a~0.base_BEFORE_CALL_13| (_ BitVec 32))) (= (_ bv3 32) (select (select |#memory_int| |v_main_~#a~0.base_BEFORE_CALL_13|) (bvmul (_ bv4 32) (bvudiv ~SIZE~0 (_ bv2 32)))))) (= linear_search_~n |linear_search_#in~n|) (not (= (select (select |#memory_int| |linear_search_#in~a.base|) (bvadd |linear_search_#in~a.offset| (bvmul (_ bv4 32) linear_search_~j~0) (_ bv4294967292 32))) |linear_search_#in~q|)) (not (bvult linear_search_~j~0 linear_search_~n)) (not |linear_search_#t~short1|) (= (_ bv3 32) linear_search_~j~0)) (and (exists ((|v_main_~#a~0.base_BEFORE_CALL_13| (_ BitVec 32))) (= (_ bv3 32) (select (select |#memory_int| |v_main_~#a~0.base_BEFORE_CALL_13|) (bvmul (_ bv4 32) (bvudiv ~SIZE~0 (_ bv2 32)))))) (= linear_search_~n |linear_search_#in~n|) (not (= (select (select |#memory_int| |linear_search_#in~a.base|) (bvadd |linear_search_#in~a.offset| (bvmul (_ bv4 32) linear_search_~j~0) (_ bv4294967292 32))) |linear_search_#in~q|)) (bvult linear_search_~j~0 linear_search_~n) (= (_ bv3 32) linear_search_~j~0) |linear_search_#t~short1|))} assume #t~short1;call #t~mem0 := read~intINTTYPE4(~a.base, ~bvadd32(~a.offset, ~bvmul32(4bv32, ~j~0)), 4bv32);#t~short1 := #t~mem0 != ~q; {4412#(and (exists ((|v_main_~#a~0.base_BEFORE_CALL_13| (_ BitVec 32))) (= (_ bv3 32) (select (select |#memory_int| |v_main_~#a~0.base_BEFORE_CALL_13|) (bvmul (_ bv4 32) (bvudiv ~SIZE~0 (_ bv2 32)))))) (= linear_search_~n |linear_search_#in~n|) (not (= (select (select |#memory_int| |linear_search_#in~a.base|) (bvadd |linear_search_#in~a.offset| (bvmul (_ bv4 32) linear_search_~j~0) (_ bv4294967292 32))) |linear_search_#in~q|)) (bvult linear_search_~j~0 linear_search_~n) (= (_ bv3 32) linear_search_~j~0))} is VALID [2018-11-23 11:24:49,779 INFO L273 TraceCheckUtils]: 22: Hoare triple {4412#(and (exists ((|v_main_~#a~0.base_BEFORE_CALL_13| (_ BitVec 32))) (= (_ bv3 32) (select (select |#memory_int| |v_main_~#a~0.base_BEFORE_CALL_13|) (bvmul (_ bv4 32) (bvudiv ~SIZE~0 (_ bv2 32)))))) (= linear_search_~n |linear_search_#in~n|) (not (= (select (select |#memory_int| |linear_search_#in~a.base|) (bvadd |linear_search_#in~a.offset| (bvmul (_ bv4 32) linear_search_~j~0) (_ bv4294967292 32))) |linear_search_#in~q|)) (bvult linear_search_~j~0 linear_search_~n) (= (_ bv3 32) linear_search_~j~0))} assume !!#t~short1;havoc #t~short1;havoc #t~mem0;#t~post2 := ~j~0;~j~0 := ~bvadd32(1bv32, #t~post2);havoc #t~post2; {4416#(and (exists ((|v_main_~#a~0.base_BEFORE_CALL_13| (_ BitVec 32))) (= (_ bv3 32) (select (select |#memory_int| |v_main_~#a~0.base_BEFORE_CALL_13|) (bvmul (_ bv4 32) (bvudiv ~SIZE~0 (_ bv2 32)))))) (bvult (_ bv3 32) linear_search_~n) (= linear_search_~n |linear_search_#in~n|) (not (= (select (select |#memory_int| |linear_search_#in~a.base|) (bvadd |linear_search_#in~a.offset| (_ bv8 32))) |linear_search_#in~q|)) (= (bvadd linear_search_~j~0 (_ bv4294967292 32)) (_ bv0 32)))} is VALID [2018-11-23 11:24:49,779 INFO L273 TraceCheckUtils]: 23: Hoare triple {4416#(and (exists ((|v_main_~#a~0.base_BEFORE_CALL_13| (_ BitVec 32))) (= (_ bv3 32) (select (select |#memory_int| |v_main_~#a~0.base_BEFORE_CALL_13|) (bvmul (_ bv4 32) (bvudiv ~SIZE~0 (_ bv2 32)))))) (bvult (_ bv3 32) linear_search_~n) (= linear_search_~n |linear_search_#in~n|) (not (= (select (select |#memory_int| |linear_search_#in~a.base|) (bvadd |linear_search_#in~a.offset| (_ bv8 32))) |linear_search_#in~q|)) (= (bvadd linear_search_~j~0 (_ bv4294967292 32)) (_ bv0 32)))} assume !(20bv32 == ~j~0); {4416#(and (exists ((|v_main_~#a~0.base_BEFORE_CALL_13| (_ BitVec 32))) (= (_ bv3 32) (select (select |#memory_int| |v_main_~#a~0.base_BEFORE_CALL_13|) (bvmul (_ bv4 32) (bvudiv ~SIZE~0 (_ bv2 32)))))) (bvult (_ bv3 32) linear_search_~n) (= linear_search_~n |linear_search_#in~n|) (not (= (select (select |#memory_int| |linear_search_#in~a.base|) (bvadd |linear_search_#in~a.offset| (_ bv8 32))) |linear_search_#in~q|)) (= (bvadd linear_search_~j~0 (_ bv4294967292 32)) (_ bv0 32)))} is VALID [2018-11-23 11:24:49,783 INFO L273 TraceCheckUtils]: 24: Hoare triple {4416#(and (exists ((|v_main_~#a~0.base_BEFORE_CALL_13| (_ BitVec 32))) (= (_ bv3 32) (select (select |#memory_int| |v_main_~#a~0.base_BEFORE_CALL_13|) (bvmul (_ bv4 32) (bvudiv ~SIZE~0 (_ bv2 32)))))) (bvult (_ bv3 32) linear_search_~n) (= linear_search_~n |linear_search_#in~n|) (not (= (select (select |#memory_int| |linear_search_#in~a.base|) (bvadd |linear_search_#in~a.offset| (_ bv8 32))) |linear_search_#in~q|)) (= (bvadd linear_search_~j~0 (_ bv4294967292 32)) (_ bv0 32)))} #t~short1 := ~bvult32(~j~0, ~n); {4416#(and (exists ((|v_main_~#a~0.base_BEFORE_CALL_13| (_ BitVec 32))) (= (_ bv3 32) (select (select |#memory_int| |v_main_~#a~0.base_BEFORE_CALL_13|) (bvmul (_ bv4 32) (bvudiv ~SIZE~0 (_ bv2 32)))))) (bvult (_ bv3 32) linear_search_~n) (= linear_search_~n |linear_search_#in~n|) (not (= (select (select |#memory_int| |linear_search_#in~a.base|) (bvadd |linear_search_#in~a.offset| (_ bv8 32))) |linear_search_#in~q|)) (= (bvadd linear_search_~j~0 (_ bv4294967292 32)) (_ bv0 32)))} is VALID [2018-11-23 11:24:49,783 INFO L273 TraceCheckUtils]: 25: Hoare triple {4416#(and (exists ((|v_main_~#a~0.base_BEFORE_CALL_13| (_ BitVec 32))) (= (_ bv3 32) (select (select |#memory_int| |v_main_~#a~0.base_BEFORE_CALL_13|) (bvmul (_ bv4 32) (bvudiv ~SIZE~0 (_ bv2 32)))))) (bvult (_ bv3 32) linear_search_~n) (= linear_search_~n |linear_search_#in~n|) (not (= (select (select |#memory_int| |linear_search_#in~a.base|) (bvadd |linear_search_#in~a.offset| (_ bv8 32))) |linear_search_#in~q|)) (= (bvadd linear_search_~j~0 (_ bv4294967292 32)) (_ bv0 32)))} assume #t~short1;call #t~mem0 := read~intINTTYPE4(~a.base, ~bvadd32(~a.offset, ~bvmul32(4bv32, ~j~0)), 4bv32);#t~short1 := #t~mem0 != ~q; {4416#(and (exists ((|v_main_~#a~0.base_BEFORE_CALL_13| (_ BitVec 32))) (= (_ bv3 32) (select (select |#memory_int| |v_main_~#a~0.base_BEFORE_CALL_13|) (bvmul (_ bv4 32) (bvudiv ~SIZE~0 (_ bv2 32)))))) (bvult (_ bv3 32) linear_search_~n) (= linear_search_~n |linear_search_#in~n|) (not (= (select (select |#memory_int| |linear_search_#in~a.base|) (bvadd |linear_search_#in~a.offset| (_ bv8 32))) |linear_search_#in~q|)) (= (bvadd linear_search_~j~0 (_ bv4294967292 32)) (_ bv0 32)))} is VALID [2018-11-23 11:24:49,785 INFO L273 TraceCheckUtils]: 26: Hoare triple {4416#(and (exists ((|v_main_~#a~0.base_BEFORE_CALL_13| (_ BitVec 32))) (= (_ bv3 32) (select (select |#memory_int| |v_main_~#a~0.base_BEFORE_CALL_13|) (bvmul (_ bv4 32) (bvudiv ~SIZE~0 (_ bv2 32)))))) (bvult (_ bv3 32) linear_search_~n) (= linear_search_~n |linear_search_#in~n|) (not (= (select (select |#memory_int| |linear_search_#in~a.base|) (bvadd |linear_search_#in~a.offset| (_ bv8 32))) |linear_search_#in~q|)) (= (bvadd linear_search_~j~0 (_ bv4294967292 32)) (_ bv0 32)))} assume !!#t~short1;havoc #t~short1;havoc #t~mem0;#t~post2 := ~j~0;~j~0 := ~bvadd32(1bv32, #t~post2);havoc #t~post2; {4429#(and (exists ((|v_main_~#a~0.base_BEFORE_CALL_13| (_ BitVec 32))) (= (_ bv3 32) (select (select |#memory_int| |v_main_~#a~0.base_BEFORE_CALL_13|) (bvmul (_ bv4 32) (bvudiv ~SIZE~0 (_ bv2 32)))))) (bvult (_ bv3 32) linear_search_~n) (= linear_search_~n |linear_search_#in~n|) (= (bvadd linear_search_~j~0 (_ bv4294967291 32)) (_ bv0 32)) (not (= (select (select |#memory_int| |linear_search_#in~a.base|) (bvadd |linear_search_#in~a.offset| (_ bv8 32))) |linear_search_#in~q|)))} is VALID [2018-11-23 11:24:49,786 INFO L273 TraceCheckUtils]: 27: Hoare triple {4429#(and (exists ((|v_main_~#a~0.base_BEFORE_CALL_13| (_ BitVec 32))) (= (_ bv3 32) (select (select |#memory_int| |v_main_~#a~0.base_BEFORE_CALL_13|) (bvmul (_ bv4 32) (bvudiv ~SIZE~0 (_ bv2 32)))))) (bvult (_ bv3 32) linear_search_~n) (= linear_search_~n |linear_search_#in~n|) (= (bvadd linear_search_~j~0 (_ bv4294967291 32)) (_ bv0 32)) (not (= (select (select |#memory_int| |linear_search_#in~a.base|) (bvadd |linear_search_#in~a.offset| (_ bv8 32))) |linear_search_#in~q|)))} assume !(20bv32 == ~j~0); {4429#(and (exists ((|v_main_~#a~0.base_BEFORE_CALL_13| (_ BitVec 32))) (= (_ bv3 32) (select (select |#memory_int| |v_main_~#a~0.base_BEFORE_CALL_13|) (bvmul (_ bv4 32) (bvudiv ~SIZE~0 (_ bv2 32)))))) (bvult (_ bv3 32) linear_search_~n) (= linear_search_~n |linear_search_#in~n|) (= (bvadd linear_search_~j~0 (_ bv4294967291 32)) (_ bv0 32)) (not (= (select (select |#memory_int| |linear_search_#in~a.base|) (bvadd |linear_search_#in~a.offset| (_ bv8 32))) |linear_search_#in~q|)))} is VALID [2018-11-23 11:24:49,788 INFO L273 TraceCheckUtils]: 28: Hoare triple {4429#(and (exists ((|v_main_~#a~0.base_BEFORE_CALL_13| (_ BitVec 32))) (= (_ bv3 32) (select (select |#memory_int| |v_main_~#a~0.base_BEFORE_CALL_13|) (bvmul (_ bv4 32) (bvudiv ~SIZE~0 (_ bv2 32)))))) (bvult (_ bv3 32) linear_search_~n) (= linear_search_~n |linear_search_#in~n|) (= (bvadd linear_search_~j~0 (_ bv4294967291 32)) (_ bv0 32)) (not (= (select (select |#memory_int| |linear_search_#in~a.base|) (bvadd |linear_search_#in~a.offset| (_ bv8 32))) |linear_search_#in~q|)))} #t~short1 := ~bvult32(~j~0, ~n); {4436#(or (and (exists ((|v_main_~#a~0.base_BEFORE_CALL_13| (_ BitVec 32))) (= (_ bv3 32) (select (select |#memory_int| |v_main_~#a~0.base_BEFORE_CALL_13|) (bvmul (_ bv4 32) (bvudiv ~SIZE~0 (_ bv2 32)))))) (not (= (select (select |#memory_int| |linear_search_#in~a.base|) (bvadd |linear_search_#in~a.offset| (_ bv8 32))) |linear_search_#in~q|)) (bvult (_ bv5 32) |linear_search_#in~n|) |linear_search_#t~short1|) (and (exists ((|v_main_~#a~0.base_BEFORE_CALL_13| (_ BitVec 32))) (= (_ bv3 32) (select (select |#memory_int| |v_main_~#a~0.base_BEFORE_CALL_13|) (bvmul (_ bv4 32) (bvudiv ~SIZE~0 (_ bv2 32)))))) (not (bvult (_ bv5 32) |linear_search_#in~n|)) (bvult (_ bv3 32) |linear_search_#in~n|) (not |linear_search_#t~short1|) (not (= (select (select |#memory_int| |linear_search_#in~a.base|) (bvadd |linear_search_#in~a.offset| (_ bv8 32))) |linear_search_#in~q|))))} is VALID [2018-11-23 11:24:49,790 INFO L273 TraceCheckUtils]: 29: Hoare triple {4436#(or (and (exists ((|v_main_~#a~0.base_BEFORE_CALL_13| (_ BitVec 32))) (= (_ bv3 32) (select (select |#memory_int| |v_main_~#a~0.base_BEFORE_CALL_13|) (bvmul (_ bv4 32) (bvudiv ~SIZE~0 (_ bv2 32)))))) (not (= (select (select |#memory_int| |linear_search_#in~a.base|) (bvadd |linear_search_#in~a.offset| (_ bv8 32))) |linear_search_#in~q|)) (bvult (_ bv5 32) |linear_search_#in~n|) |linear_search_#t~short1|) (and (exists ((|v_main_~#a~0.base_BEFORE_CALL_13| (_ BitVec 32))) (= (_ bv3 32) (select (select |#memory_int| |v_main_~#a~0.base_BEFORE_CALL_13|) (bvmul (_ bv4 32) (bvudiv ~SIZE~0 (_ bv2 32)))))) (not (bvult (_ bv5 32) |linear_search_#in~n|)) (bvult (_ bv3 32) |linear_search_#in~n|) (not |linear_search_#t~short1|) (not (= (select (select |#memory_int| |linear_search_#in~a.base|) (bvadd |linear_search_#in~a.offset| (_ bv8 32))) |linear_search_#in~q|))))} assume !#t~short1; {4440#(and (exists ((|v_main_~#a~0.base_BEFORE_CALL_13| (_ BitVec 32))) (= (_ bv3 32) (select (select |#memory_int| |v_main_~#a~0.base_BEFORE_CALL_13|) (bvmul (_ bv4 32) (bvudiv ~SIZE~0 (_ bv2 32)))))) (not (bvult (_ bv5 32) |linear_search_#in~n|)) (bvult (_ bv3 32) |linear_search_#in~n|) (not (= (select (select |#memory_int| |linear_search_#in~a.base|) (bvadd |linear_search_#in~a.offset| (_ bv8 32))) |linear_search_#in~q|)))} is VALID [2018-11-23 11:24:49,790 INFO L273 TraceCheckUtils]: 30: Hoare triple {4440#(and (exists ((|v_main_~#a~0.base_BEFORE_CALL_13| (_ BitVec 32))) (= (_ bv3 32) (select (select |#memory_int| |v_main_~#a~0.base_BEFORE_CALL_13|) (bvmul (_ bv4 32) (bvudiv ~SIZE~0 (_ bv2 32)))))) (not (bvult (_ bv5 32) |linear_search_#in~n|)) (bvult (_ bv3 32) |linear_search_#in~n|) (not (= (select (select |#memory_int| |linear_search_#in~a.base|) (bvadd |linear_search_#in~a.offset| (_ bv8 32))) |linear_search_#in~q|)))} assume !#t~short1;havoc #t~short1;havoc #t~mem0; {4440#(and (exists ((|v_main_~#a~0.base_BEFORE_CALL_13| (_ BitVec 32))) (= (_ bv3 32) (select (select |#memory_int| |v_main_~#a~0.base_BEFORE_CALL_13|) (bvmul (_ bv4 32) (bvudiv ~SIZE~0 (_ bv2 32)))))) (not (bvult (_ bv5 32) |linear_search_#in~n|)) (bvult (_ bv3 32) |linear_search_#in~n|) (not (= (select (select |#memory_int| |linear_search_#in~a.base|) (bvadd |linear_search_#in~a.offset| (_ bv8 32))) |linear_search_#in~q|)))} is VALID [2018-11-23 11:24:49,792 INFO L273 TraceCheckUtils]: 31: Hoare triple {4440#(and (exists ((|v_main_~#a~0.base_BEFORE_CALL_13| (_ BitVec 32))) (= (_ bv3 32) (select (select |#memory_int| |v_main_~#a~0.base_BEFORE_CALL_13|) (bvmul (_ bv4 32) (bvudiv ~SIZE~0 (_ bv2 32)))))) (not (bvult (_ bv5 32) |linear_search_#in~n|)) (bvult (_ bv3 32) |linear_search_#in~n|) (not (= (select (select |#memory_int| |linear_search_#in~a.base|) (bvadd |linear_search_#in~a.offset| (_ bv8 32))) |linear_search_#in~q|)))} assume !~bvult32(~j~0, ~SIZE~0);#res := 0bv32; {4440#(and (exists ((|v_main_~#a~0.base_BEFORE_CALL_13| (_ BitVec 32))) (= (_ bv3 32) (select (select |#memory_int| |v_main_~#a~0.base_BEFORE_CALL_13|) (bvmul (_ bv4 32) (bvudiv ~SIZE~0 (_ bv2 32)))))) (not (bvult (_ bv5 32) |linear_search_#in~n|)) (bvult (_ bv3 32) |linear_search_#in~n|) (not (= (select (select |#memory_int| |linear_search_#in~a.base|) (bvadd |linear_search_#in~a.offset| (_ bv8 32))) |linear_search_#in~q|)))} is VALID [2018-11-23 11:24:49,792 INFO L273 TraceCheckUtils]: 32: Hoare triple {4440#(and (exists ((|v_main_~#a~0.base_BEFORE_CALL_13| (_ BitVec 32))) (= (_ bv3 32) (select (select |#memory_int| |v_main_~#a~0.base_BEFORE_CALL_13|) (bvmul (_ bv4 32) (bvudiv ~SIZE~0 (_ bv2 32)))))) (not (bvult (_ bv5 32) |linear_search_#in~n|)) (bvult (_ bv3 32) |linear_search_#in~n|) (not (= (select (select |#memory_int| |linear_search_#in~a.base|) (bvadd |linear_search_#in~a.offset| (_ bv8 32))) |linear_search_#in~q|)))} assume true; {4440#(and (exists ((|v_main_~#a~0.base_BEFORE_CALL_13| (_ BitVec 32))) (= (_ bv3 32) (select (select |#memory_int| |v_main_~#a~0.base_BEFORE_CALL_13|) (bvmul (_ bv4 32) (bvudiv ~SIZE~0 (_ bv2 32)))))) (not (bvult (_ bv5 32) |linear_search_#in~n|)) (bvult (_ bv3 32) |linear_search_#in~n|) (not (= (select (select |#memory_int| |linear_search_#in~a.base|) (bvadd |linear_search_#in~a.offset| (_ bv8 32))) |linear_search_#in~q|)))} is VALID [2018-11-23 11:24:49,796 INFO L268 TraceCheckUtils]: 33: Hoare quadruple {4440#(and (exists ((|v_main_~#a~0.base_BEFORE_CALL_13| (_ BitVec 32))) (= (_ bv3 32) (select (select |#memory_int| |v_main_~#a~0.base_BEFORE_CALL_13|) (bvmul (_ bv4 32) (bvudiv ~SIZE~0 (_ bv2 32)))))) (not (bvult (_ bv5 32) |linear_search_#in~n|)) (bvult (_ bv3 32) |linear_search_#in~n|) (not (= (select (select |#memory_int| |linear_search_#in~a.base|) (bvadd |linear_search_#in~a.offset| (_ bv8 32))) |linear_search_#in~q|)))} {4356#(and (= |main_~#a~0.offset| (_ bv0 32)) (= (_ bv3 32) (select (select |#memory_int| |main_~#a~0.base|) (bvadd (bvmul (_ bv4 32) (bvudiv ~SIZE~0 (_ bv2 32))) |main_~#a~0.offset|))))} #57#return; {4337#false} is VALID [2018-11-23 11:24:49,797 INFO L256 TraceCheckUtils]: 34: Hoare triple {4337#false} call __VERIFIER_assert(#t~ret4); {4337#false} is VALID [2018-11-23 11:24:49,797 INFO L273 TraceCheckUtils]: 35: Hoare triple {4337#false} ~cond := #in~cond; {4337#false} is VALID [2018-11-23 11:24:49,797 INFO L273 TraceCheckUtils]: 36: Hoare triple {4337#false} assume 0bv32 == ~cond; {4337#false} is VALID [2018-11-23 11:24:49,797 INFO L273 TraceCheckUtils]: 37: Hoare triple {4337#false} assume !false; {4337#false} is VALID [2018-11-23 11:24:49,806 INFO L134 CoverageAnalysis]: Checked inductivity of 55 backedges. 0 proven. 55 refuted. 0 times theorem prover too weak. 0 trivial. 0 not checked. [2018-11-23 11:24:49,806 INFO L316 TraceCheckSpWp]: Computing backward predicates... [2018-11-23 11:24:50,206 WARN L180 SmtUtils]: Spent 391.00 ms on a formula simplification. DAG size of input: 61 DAG size of output: 49 [2018-11-23 11:24:56,107 WARN L180 SmtUtils]: Spent 104.00 ms on a formula simplification that was a NOOP. DAG size: 39 [2018-11-23 11:24:56,555 WARN L180 SmtUtils]: Spent 161.00 ms on a formula simplification that was a NOOP. DAG size: 45 [2018-11-23 11:24:56,956 WARN L180 SmtUtils]: Spent 158.00 ms on a formula simplification that was a NOOP. DAG size: 45 [2018-11-23 11:24:57,326 WARN L180 SmtUtils]: Spent 138.00 ms on a formula simplification that was a NOOP. DAG size: 44 [2018-11-23 11:24:58,270 INFO L273 TraceCheckUtils]: 37: Hoare triple {4337#false} assume !false; {4337#false} is VALID [2018-11-23 11:24:58,270 INFO L273 TraceCheckUtils]: 36: Hoare triple {4337#false} assume 0bv32 == ~cond; {4337#false} is VALID [2018-11-23 11:24:58,271 INFO L273 TraceCheckUtils]: 35: Hoare triple {4337#false} ~cond := #in~cond; {4337#false} is VALID [2018-11-23 11:24:58,271 INFO L256 TraceCheckUtils]: 34: Hoare triple {4337#false} call __VERIFIER_assert(#t~ret4); {4337#false} is VALID [2018-11-23 11:24:58,273 INFO L268 TraceCheckUtils]: 33: Hoare quadruple {4481#(or (not (= ~SIZE~0 |linear_search_#in~n|)) (not (= (_ bv3 32) |linear_search_#in~q|)) (and (bvult (_ bv3 32) ~SIZE~0) (not (= (bvadd (select (select |#memory_int| |linear_search_#in~a.base|) (bvadd |linear_search_#in~a.offset| (_ bv8 32))) (_ bv4294967293 32)) (_ bv0 32))) (not (bvult (_ bv5 32) ~SIZE~0))))} {4477#(or (bvult (_ bv5 32) ~SIZE~0) (not (bvult (_ bv3 32) ~SIZE~0)) (= (_ bv3 32) (select (select |#memory_int| |main_~#a~0.base|) (bvadd |main_~#a~0.offset| (_ bv8 32)))))} #57#return; {4337#false} is VALID [2018-11-23 11:24:58,273 INFO L273 TraceCheckUtils]: 32: Hoare triple {4481#(or (not (= ~SIZE~0 |linear_search_#in~n|)) (not (= (_ bv3 32) |linear_search_#in~q|)) (and (bvult (_ bv3 32) ~SIZE~0) (not (= (bvadd (select (select |#memory_int| |linear_search_#in~a.base|) (bvadd |linear_search_#in~a.offset| (_ bv8 32))) (_ bv4294967293 32)) (_ bv0 32))) (not (bvult (_ bv5 32) ~SIZE~0))))} assume true; {4481#(or (not (= ~SIZE~0 |linear_search_#in~n|)) (not (= (_ bv3 32) |linear_search_#in~q|)) (and (bvult (_ bv3 32) ~SIZE~0) (not (= (bvadd (select (select |#memory_int| |linear_search_#in~a.base|) (bvadd |linear_search_#in~a.offset| (_ bv8 32))) (_ bv4294967293 32)) (_ bv0 32))) (not (bvult (_ bv5 32) ~SIZE~0))))} is VALID [2018-11-23 11:24:58,274 INFO L273 TraceCheckUtils]: 31: Hoare triple {4481#(or (not (= ~SIZE~0 |linear_search_#in~n|)) (not (= (_ bv3 32) |linear_search_#in~q|)) (and (bvult (_ bv3 32) ~SIZE~0) (not (= (bvadd (select (select |#memory_int| |linear_search_#in~a.base|) (bvadd |linear_search_#in~a.offset| (_ bv8 32))) (_ bv4294967293 32)) (_ bv0 32))) (not (bvult (_ bv5 32) ~SIZE~0))))} assume !~bvult32(~j~0, ~SIZE~0);#res := 0bv32; {4481#(or (not (= ~SIZE~0 |linear_search_#in~n|)) (not (= (_ bv3 32) |linear_search_#in~q|)) (and (bvult (_ bv3 32) ~SIZE~0) (not (= (bvadd (select (select |#memory_int| |linear_search_#in~a.base|) (bvadd |linear_search_#in~a.offset| (_ bv8 32))) (_ bv4294967293 32)) (_ bv0 32))) (not (bvult (_ bv5 32) ~SIZE~0))))} is VALID [2018-11-23 11:24:58,274 INFO L273 TraceCheckUtils]: 30: Hoare triple {4481#(or (not (= ~SIZE~0 |linear_search_#in~n|)) (not (= (_ bv3 32) |linear_search_#in~q|)) (and (bvult (_ bv3 32) ~SIZE~0) (not (= (bvadd (select (select |#memory_int| |linear_search_#in~a.base|) (bvadd |linear_search_#in~a.offset| (_ bv8 32))) (_ bv4294967293 32)) (_ bv0 32))) (not (bvult (_ bv5 32) ~SIZE~0))))} assume !#t~short1;havoc #t~short1;havoc #t~mem0; {4481#(or (not (= ~SIZE~0 |linear_search_#in~n|)) (not (= (_ bv3 32) |linear_search_#in~q|)) (and (bvult (_ bv3 32) ~SIZE~0) (not (= (bvadd (select (select |#memory_int| |linear_search_#in~a.base|) (bvadd |linear_search_#in~a.offset| (_ bv8 32))) (_ bv4294967293 32)) (_ bv0 32))) (not (bvult (_ bv5 32) ~SIZE~0))))} is VALID [2018-11-23 11:24:58,275 INFO L273 TraceCheckUtils]: 29: Hoare triple {4494#(or (not (= ~SIZE~0 |linear_search_#in~n|)) (not (= (_ bv3 32) |linear_search_#in~q|)) |linear_search_#t~short1| (and (bvult (_ bv3 32) ~SIZE~0) (not (= (bvadd (select (select |#memory_int| |linear_search_#in~a.base|) (bvadd |linear_search_#in~a.offset| (_ bv8 32))) (_ bv4294967293 32)) (_ bv0 32))) (not (bvult (_ bv5 32) ~SIZE~0))))} assume !#t~short1; {4481#(or (not (= ~SIZE~0 |linear_search_#in~n|)) (not (= (_ bv3 32) |linear_search_#in~q|)) (and (bvult (_ bv3 32) ~SIZE~0) (not (= (bvadd (select (select |#memory_int| |linear_search_#in~a.base|) (bvadd |linear_search_#in~a.offset| (_ bv8 32))) (_ bv4294967293 32)) (_ bv0 32))) (not (bvult (_ bv5 32) ~SIZE~0))))} is VALID [2018-11-23 11:24:58,278 INFO L273 TraceCheckUtils]: 28: Hoare triple {4498#(and (or (not (= ~SIZE~0 |linear_search_#in~n|)) (not (= (_ bv3 32) |linear_search_#in~q|)) (bvult linear_search_~j~0 linear_search_~n) (not (bvult (_ bv5 32) ~SIZE~0))) (or (not (= ~SIZE~0 |linear_search_#in~n|)) (not (= (_ bv3 32) |linear_search_#in~q|)) (bvult linear_search_~j~0 linear_search_~n) (not (= (bvadd (select (select |#memory_int| |linear_search_#in~a.base|) (bvadd |linear_search_#in~a.offset| (_ bv8 32))) (_ bv4294967293 32)) (_ bv0 32)))) (or (not (= ~SIZE~0 |linear_search_#in~n|)) (bvult (_ bv3 32) ~SIZE~0) (not (= (_ bv3 32) |linear_search_#in~q|)) (bvult linear_search_~j~0 linear_search_~n)))} #t~short1 := ~bvult32(~j~0, ~n); {4494#(or (not (= ~SIZE~0 |linear_search_#in~n|)) (not (= (_ bv3 32) |linear_search_#in~q|)) |linear_search_#t~short1| (and (bvult (_ bv3 32) ~SIZE~0) (not (= (bvadd (select (select |#memory_int| |linear_search_#in~a.base|) (bvadd |linear_search_#in~a.offset| (_ bv8 32))) (_ bv4294967293 32)) (_ bv0 32))) (not (bvult (_ bv5 32) ~SIZE~0))))} is VALID [2018-11-23 11:24:58,279 INFO L273 TraceCheckUtils]: 27: Hoare triple {4498#(and (or (not (= ~SIZE~0 |linear_search_#in~n|)) (not (= (_ bv3 32) |linear_search_#in~q|)) (bvult linear_search_~j~0 linear_search_~n) (not (bvult (_ bv5 32) ~SIZE~0))) (or (not (= ~SIZE~0 |linear_search_#in~n|)) (not (= (_ bv3 32) |linear_search_#in~q|)) (bvult linear_search_~j~0 linear_search_~n) (not (= (bvadd (select (select |#memory_int| |linear_search_#in~a.base|) (bvadd |linear_search_#in~a.offset| (_ bv8 32))) (_ bv4294967293 32)) (_ bv0 32)))) (or (not (= ~SIZE~0 |linear_search_#in~n|)) (bvult (_ bv3 32) ~SIZE~0) (not (= (_ bv3 32) |linear_search_#in~q|)) (bvult linear_search_~j~0 linear_search_~n)))} assume !(20bv32 == ~j~0); {4498#(and (or (not (= ~SIZE~0 |linear_search_#in~n|)) (not (= (_ bv3 32) |linear_search_#in~q|)) (bvult linear_search_~j~0 linear_search_~n) (not (bvult (_ bv5 32) ~SIZE~0))) (or (not (= ~SIZE~0 |linear_search_#in~n|)) (not (= (_ bv3 32) |linear_search_#in~q|)) (bvult linear_search_~j~0 linear_search_~n) (not (= (bvadd (select (select |#memory_int| |linear_search_#in~a.base|) (bvadd |linear_search_#in~a.offset| (_ bv8 32))) (_ bv4294967293 32)) (_ bv0 32)))) (or (not (= ~SIZE~0 |linear_search_#in~n|)) (bvult (_ bv3 32) ~SIZE~0) (not (= (_ bv3 32) |linear_search_#in~q|)) (bvult linear_search_~j~0 linear_search_~n)))} is VALID [2018-11-23 11:24:58,307 INFO L273 TraceCheckUtils]: 26: Hoare triple {4505#(and (or (bvult (bvadd linear_search_~j~0 (_ bv1 32)) linear_search_~n) (not (= ~SIZE~0 |linear_search_#in~n|)) (bvult (_ bv3 32) ~SIZE~0) (not (= (_ bv3 32) |linear_search_#in~q|))) (or (bvult (bvadd linear_search_~j~0 (_ bv1 32)) linear_search_~n) (not (= ~SIZE~0 |linear_search_#in~n|)) (not (= (_ bv3 32) |linear_search_#in~q|)) (not (bvult (_ bv5 32) ~SIZE~0))) (or (bvult (bvadd linear_search_~j~0 (_ bv1 32)) linear_search_~n) (not (= ~SIZE~0 |linear_search_#in~n|)) (not (= (_ bv3 32) |linear_search_#in~q|)) (not (= (bvadd (select (select |#memory_int| |linear_search_#in~a.base|) (bvadd |linear_search_#in~a.offset| (_ bv8 32))) (_ bv4294967293 32)) (_ bv0 32)))))} assume !!#t~short1;havoc #t~short1;havoc #t~mem0;#t~post2 := ~j~0;~j~0 := ~bvadd32(1bv32, #t~post2);havoc #t~post2; {4498#(and (or (not (= ~SIZE~0 |linear_search_#in~n|)) (not (= (_ bv3 32) |linear_search_#in~q|)) (bvult linear_search_~j~0 linear_search_~n) (not (bvult (_ bv5 32) ~SIZE~0))) (or (not (= ~SIZE~0 |linear_search_#in~n|)) (not (= (_ bv3 32) |linear_search_#in~q|)) (bvult linear_search_~j~0 linear_search_~n) (not (= (bvadd (select (select |#memory_int| |linear_search_#in~a.base|) (bvadd |linear_search_#in~a.offset| (_ bv8 32))) (_ bv4294967293 32)) (_ bv0 32)))) (or (not (= ~SIZE~0 |linear_search_#in~n|)) (bvult (_ bv3 32) ~SIZE~0) (not (= (_ bv3 32) |linear_search_#in~q|)) (bvult linear_search_~j~0 linear_search_~n)))} is VALID [2018-11-23 11:24:58,308 INFO L273 TraceCheckUtils]: 25: Hoare triple {4505#(and (or (bvult (bvadd linear_search_~j~0 (_ bv1 32)) linear_search_~n) (not (= ~SIZE~0 |linear_search_#in~n|)) (bvult (_ bv3 32) ~SIZE~0) (not (= (_ bv3 32) |linear_search_#in~q|))) (or (bvult (bvadd linear_search_~j~0 (_ bv1 32)) linear_search_~n) (not (= ~SIZE~0 |linear_search_#in~n|)) (not (= (_ bv3 32) |linear_search_#in~q|)) (not (bvult (_ bv5 32) ~SIZE~0))) (or (bvult (bvadd linear_search_~j~0 (_ bv1 32)) linear_search_~n) (not (= ~SIZE~0 |linear_search_#in~n|)) (not (= (_ bv3 32) |linear_search_#in~q|)) (not (= (bvadd (select (select |#memory_int| |linear_search_#in~a.base|) (bvadd |linear_search_#in~a.offset| (_ bv8 32))) (_ bv4294967293 32)) (_ bv0 32)))))} assume #t~short1;call #t~mem0 := read~intINTTYPE4(~a.base, ~bvadd32(~a.offset, ~bvmul32(4bv32, ~j~0)), 4bv32);#t~short1 := #t~mem0 != ~q; {4505#(and (or (bvult (bvadd linear_search_~j~0 (_ bv1 32)) linear_search_~n) (not (= ~SIZE~0 |linear_search_#in~n|)) (bvult (_ bv3 32) ~SIZE~0) (not (= (_ bv3 32) |linear_search_#in~q|))) (or (bvult (bvadd linear_search_~j~0 (_ bv1 32)) linear_search_~n) (not (= ~SIZE~0 |linear_search_#in~n|)) (not (= (_ bv3 32) |linear_search_#in~q|)) (not (bvult (_ bv5 32) ~SIZE~0))) (or (bvult (bvadd linear_search_~j~0 (_ bv1 32)) linear_search_~n) (not (= ~SIZE~0 |linear_search_#in~n|)) (not (= (_ bv3 32) |linear_search_#in~q|)) (not (= (bvadd (select (select |#memory_int| |linear_search_#in~a.base|) (bvadd |linear_search_#in~a.offset| (_ bv8 32))) (_ bv4294967293 32)) (_ bv0 32)))))} is VALID [2018-11-23 11:24:58,309 INFO L273 TraceCheckUtils]: 24: Hoare triple {4505#(and (or (bvult (bvadd linear_search_~j~0 (_ bv1 32)) linear_search_~n) (not (= ~SIZE~0 |linear_search_#in~n|)) (bvult (_ bv3 32) ~SIZE~0) (not (= (_ bv3 32) |linear_search_#in~q|))) (or (bvult (bvadd linear_search_~j~0 (_ bv1 32)) linear_search_~n) (not (= ~SIZE~0 |linear_search_#in~n|)) (not (= (_ bv3 32) |linear_search_#in~q|)) (not (bvult (_ bv5 32) ~SIZE~0))) (or (bvult (bvadd linear_search_~j~0 (_ bv1 32)) linear_search_~n) (not (= ~SIZE~0 |linear_search_#in~n|)) (not (= (_ bv3 32) |linear_search_#in~q|)) (not (= (bvadd (select (select |#memory_int| |linear_search_#in~a.base|) (bvadd |linear_search_#in~a.offset| (_ bv8 32))) (_ bv4294967293 32)) (_ bv0 32)))))} #t~short1 := ~bvult32(~j~0, ~n); {4505#(and (or (bvult (bvadd linear_search_~j~0 (_ bv1 32)) linear_search_~n) (not (= ~SIZE~0 |linear_search_#in~n|)) (bvult (_ bv3 32) ~SIZE~0) (not (= (_ bv3 32) |linear_search_#in~q|))) (or (bvult (bvadd linear_search_~j~0 (_ bv1 32)) linear_search_~n) (not (= ~SIZE~0 |linear_search_#in~n|)) (not (= (_ bv3 32) |linear_search_#in~q|)) (not (bvult (_ bv5 32) ~SIZE~0))) (or (bvult (bvadd linear_search_~j~0 (_ bv1 32)) linear_search_~n) (not (= ~SIZE~0 |linear_search_#in~n|)) (not (= (_ bv3 32) |linear_search_#in~q|)) (not (= (bvadd (select (select |#memory_int| |linear_search_#in~a.base|) (bvadd |linear_search_#in~a.offset| (_ bv8 32))) (_ bv4294967293 32)) (_ bv0 32)))))} is VALID [2018-11-23 11:24:58,309 INFO L273 TraceCheckUtils]: 23: Hoare triple {4505#(and (or (bvult (bvadd linear_search_~j~0 (_ bv1 32)) linear_search_~n) (not (= ~SIZE~0 |linear_search_#in~n|)) (bvult (_ bv3 32) ~SIZE~0) (not (= (_ bv3 32) |linear_search_#in~q|))) (or (bvult (bvadd linear_search_~j~0 (_ bv1 32)) linear_search_~n) (not (= ~SIZE~0 |linear_search_#in~n|)) (not (= (_ bv3 32) |linear_search_#in~q|)) (not (bvult (_ bv5 32) ~SIZE~0))) (or (bvult (bvadd linear_search_~j~0 (_ bv1 32)) linear_search_~n) (not (= ~SIZE~0 |linear_search_#in~n|)) (not (= (_ bv3 32) |linear_search_#in~q|)) (not (= (bvadd (select (select |#memory_int| |linear_search_#in~a.base|) (bvadd |linear_search_#in~a.offset| (_ bv8 32))) (_ bv4294967293 32)) (_ bv0 32)))))} assume !(20bv32 == ~j~0); {4505#(and (or (bvult (bvadd linear_search_~j~0 (_ bv1 32)) linear_search_~n) (not (= ~SIZE~0 |linear_search_#in~n|)) (bvult (_ bv3 32) ~SIZE~0) (not (= (_ bv3 32) |linear_search_#in~q|))) (or (bvult (bvadd linear_search_~j~0 (_ bv1 32)) linear_search_~n) (not (= ~SIZE~0 |linear_search_#in~n|)) (not (= (_ bv3 32) |linear_search_#in~q|)) (not (bvult (_ bv5 32) ~SIZE~0))) (or (bvult (bvadd linear_search_~j~0 (_ bv1 32)) linear_search_~n) (not (= ~SIZE~0 |linear_search_#in~n|)) (not (= (_ bv3 32) |linear_search_#in~q|)) (not (= (bvadd (select (select |#memory_int| |linear_search_#in~a.base|) (bvadd |linear_search_#in~a.offset| (_ bv8 32))) (_ bv4294967293 32)) (_ bv0 32)))))} is VALID [2018-11-23 11:24:58,339 INFO L273 TraceCheckUtils]: 22: Hoare triple {4518#(and (or (not (= ~SIZE~0 |linear_search_#in~n|)) (bvult (bvadd linear_search_~j~0 (_ bv2 32)) linear_search_~n) (not (= (_ bv3 32) |linear_search_#in~q|)) (not (= (bvadd (select (select |#memory_int| |linear_search_#in~a.base|) (bvadd |linear_search_#in~a.offset| (_ bv8 32))) (_ bv4294967293 32)) (_ bv0 32)))) (or (not (= ~SIZE~0 |linear_search_#in~n|)) (bvult (bvadd linear_search_~j~0 (_ bv2 32)) linear_search_~n) (not (= (_ bv3 32) |linear_search_#in~q|)) (not (bvult (_ bv5 32) ~SIZE~0))) (or (not (= ~SIZE~0 |linear_search_#in~n|)) (bvult (_ bv3 32) ~SIZE~0) (bvult (bvadd linear_search_~j~0 (_ bv2 32)) linear_search_~n) (not (= (_ bv3 32) |linear_search_#in~q|))))} assume !!#t~short1;havoc #t~short1;havoc #t~mem0;#t~post2 := ~j~0;~j~0 := ~bvadd32(1bv32, #t~post2);havoc #t~post2; {4505#(and (or (bvult (bvadd linear_search_~j~0 (_ bv1 32)) linear_search_~n) (not (= ~SIZE~0 |linear_search_#in~n|)) (bvult (_ bv3 32) ~SIZE~0) (not (= (_ bv3 32) |linear_search_#in~q|))) (or (bvult (bvadd linear_search_~j~0 (_ bv1 32)) linear_search_~n) (not (= ~SIZE~0 |linear_search_#in~n|)) (not (= (_ bv3 32) |linear_search_#in~q|)) (not (bvult (_ bv5 32) ~SIZE~0))) (or (bvult (bvadd linear_search_~j~0 (_ bv1 32)) linear_search_~n) (not (= ~SIZE~0 |linear_search_#in~n|)) (not (= (_ bv3 32) |linear_search_#in~q|)) (not (= (bvadd (select (select |#memory_int| |linear_search_#in~a.base|) (bvadd |linear_search_#in~a.offset| (_ bv8 32))) (_ bv4294967293 32)) (_ bv0 32)))))} is VALID [2018-11-23 11:24:58,340 INFO L273 TraceCheckUtils]: 21: Hoare triple {4522#(or (and (or (not (= ~SIZE~0 |linear_search_#in~n|)) (bvult (bvadd linear_search_~j~0 (_ bv2 32)) linear_search_~n) (not (= (_ bv3 32) |linear_search_#in~q|)) (not (= (bvadd (select (select |#memory_int| |linear_search_#in~a.base|) (bvadd |linear_search_#in~a.offset| (_ bv8 32))) (_ bv4294967293 32)) (_ bv0 32)))) (or (not (= ~SIZE~0 |linear_search_#in~n|)) (bvult (bvadd linear_search_~j~0 (_ bv2 32)) linear_search_~n) (not (= (_ bv3 32) |linear_search_#in~q|)) (not (bvult (_ bv5 32) ~SIZE~0))) (or (not (= ~SIZE~0 |linear_search_#in~n|)) (bvult (_ bv3 32) ~SIZE~0) (bvult (bvadd linear_search_~j~0 (_ bv2 32)) linear_search_~n) (not (= (_ bv3 32) |linear_search_#in~q|)))) (not |linear_search_#t~short1|))} assume #t~short1;call #t~mem0 := read~intINTTYPE4(~a.base, ~bvadd32(~a.offset, ~bvmul32(4bv32, ~j~0)), 4bv32);#t~short1 := #t~mem0 != ~q; {4518#(and (or (not (= ~SIZE~0 |linear_search_#in~n|)) (bvult (bvadd linear_search_~j~0 (_ bv2 32)) linear_search_~n) (not (= (_ bv3 32) |linear_search_#in~q|)) (not (= (bvadd (select (select |#memory_int| |linear_search_#in~a.base|) (bvadd |linear_search_#in~a.offset| (_ bv8 32))) (_ bv4294967293 32)) (_ bv0 32)))) (or (not (= ~SIZE~0 |linear_search_#in~n|)) (bvult (bvadd linear_search_~j~0 (_ bv2 32)) linear_search_~n) (not (= (_ bv3 32) |linear_search_#in~q|)) (not (bvult (_ bv5 32) ~SIZE~0))) (or (not (= ~SIZE~0 |linear_search_#in~n|)) (bvult (_ bv3 32) ~SIZE~0) (bvult (bvadd linear_search_~j~0 (_ bv2 32)) linear_search_~n) (not (= (_ bv3 32) |linear_search_#in~q|))))} is VALID [2018-11-23 11:24:58,341 INFO L273 TraceCheckUtils]: 20: Hoare triple {4526#(and (or (not (= ~SIZE~0 |linear_search_#in~n|)) (bvult (bvadd linear_search_~j~0 (_ bv2 32)) linear_search_~n) (not (= (_ bv3 32) |linear_search_#in~q|)) (not (bvult linear_search_~j~0 linear_search_~n)) (not (bvult (_ bv5 32) ~SIZE~0))) (or (not (= ~SIZE~0 |linear_search_#in~n|)) (bvult (_ bv3 32) ~SIZE~0) (bvult (bvadd linear_search_~j~0 (_ bv2 32)) linear_search_~n) (not (= (_ bv3 32) |linear_search_#in~q|)) (not (bvult linear_search_~j~0 linear_search_~n))) (or (not (= ~SIZE~0 |linear_search_#in~n|)) (bvult (bvadd linear_search_~j~0 (_ bv2 32)) linear_search_~n) (not (= (_ bv3 32) |linear_search_#in~q|)) (not (bvult linear_search_~j~0 linear_search_~n)) (not (= (bvadd (select (select |#memory_int| |linear_search_#in~a.base|) (bvadd |linear_search_#in~a.offset| (_ bv8 32))) (_ bv4294967293 32)) (_ bv0 32)))))} #t~short1 := ~bvult32(~j~0, ~n); {4522#(or (and (or (not (= ~SIZE~0 |linear_search_#in~n|)) (bvult (bvadd linear_search_~j~0 (_ bv2 32)) linear_search_~n) (not (= (_ bv3 32) |linear_search_#in~q|)) (not (= (bvadd (select (select |#memory_int| |linear_search_#in~a.base|) (bvadd |linear_search_#in~a.offset| (_ bv8 32))) (_ bv4294967293 32)) (_ bv0 32)))) (or (not (= ~SIZE~0 |linear_search_#in~n|)) (bvult (bvadd linear_search_~j~0 (_ bv2 32)) linear_search_~n) (not (= (_ bv3 32) |linear_search_#in~q|)) (not (bvult (_ bv5 32) ~SIZE~0))) (or (not (= ~SIZE~0 |linear_search_#in~n|)) (bvult (_ bv3 32) ~SIZE~0) (bvult (bvadd linear_search_~j~0 (_ bv2 32)) linear_search_~n) (not (= (_ bv3 32) |linear_search_#in~q|)))) (not |linear_search_#t~short1|))} is VALID [2018-11-23 11:24:58,342 INFO L273 TraceCheckUtils]: 19: Hoare triple {4526#(and (or (not (= ~SIZE~0 |linear_search_#in~n|)) (bvult (bvadd linear_search_~j~0 (_ bv2 32)) linear_search_~n) (not (= (_ bv3 32) |linear_search_#in~q|)) (not (bvult linear_search_~j~0 linear_search_~n)) (not (bvult (_ bv5 32) ~SIZE~0))) (or (not (= ~SIZE~0 |linear_search_#in~n|)) (bvult (_ bv3 32) ~SIZE~0) (bvult (bvadd linear_search_~j~0 (_ bv2 32)) linear_search_~n) (not (= (_ bv3 32) |linear_search_#in~q|)) (not (bvult linear_search_~j~0 linear_search_~n))) (or (not (= ~SIZE~0 |linear_search_#in~n|)) (bvult (bvadd linear_search_~j~0 (_ bv2 32)) linear_search_~n) (not (= (_ bv3 32) |linear_search_#in~q|)) (not (bvult linear_search_~j~0 linear_search_~n)) (not (= (bvadd (select (select |#memory_int| |linear_search_#in~a.base|) (bvadd |linear_search_#in~a.offset| (_ bv8 32))) (_ bv4294967293 32)) (_ bv0 32)))))} assume !(20bv32 == ~j~0); {4526#(and (or (not (= ~SIZE~0 |linear_search_#in~n|)) (bvult (bvadd linear_search_~j~0 (_ bv2 32)) linear_search_~n) (not (= (_ bv3 32) |linear_search_#in~q|)) (not (bvult linear_search_~j~0 linear_search_~n)) (not (bvult (_ bv5 32) ~SIZE~0))) (or (not (= ~SIZE~0 |linear_search_#in~n|)) (bvult (_ bv3 32) ~SIZE~0) (bvult (bvadd linear_search_~j~0 (_ bv2 32)) linear_search_~n) (not (= (_ bv3 32) |linear_search_#in~q|)) (not (bvult linear_search_~j~0 linear_search_~n))) (or (not (= ~SIZE~0 |linear_search_#in~n|)) (bvult (bvadd linear_search_~j~0 (_ bv2 32)) linear_search_~n) (not (= (_ bv3 32) |linear_search_#in~q|)) (not (bvult linear_search_~j~0 linear_search_~n)) (not (= (bvadd (select (select |#memory_int| |linear_search_#in~a.base|) (bvadd |linear_search_#in~a.offset| (_ bv8 32))) (_ bv4294967293 32)) (_ bv0 32)))))} is VALID [2018-11-23 11:24:58,384 INFO L273 TraceCheckUtils]: 18: Hoare triple {4533#(or (and (or (not (= ~SIZE~0 |linear_search_#in~n|)) (not (= (_ bv3 32) |linear_search_#in~q|)) (bvult (bvadd linear_search_~j~0 (_ bv3 32)) linear_search_~n) (not (bvult (_ bv5 32) ~SIZE~0)) (not (bvult (bvadd linear_search_~j~0 (_ bv1 32)) linear_search_~n))) (or (not (= ~SIZE~0 |linear_search_#in~n|)) (not (= (_ bv3 32) |linear_search_#in~q|)) (bvult (bvadd linear_search_~j~0 (_ bv3 32)) linear_search_~n) (not (= (bvadd (select (select |#memory_int| |linear_search_#in~a.base|) (bvadd |linear_search_#in~a.offset| (_ bv8 32))) (_ bv4294967293 32)) (_ bv0 32))) (not (bvult (bvadd linear_search_~j~0 (_ bv1 32)) linear_search_~n))) (or (not (= ~SIZE~0 |linear_search_#in~n|)) (bvult (_ bv3 32) ~SIZE~0) (not (= (_ bv3 32) |linear_search_#in~q|)) (bvult (bvadd linear_search_~j~0 (_ bv3 32)) linear_search_~n) (not (bvult (bvadd linear_search_~j~0 (_ bv1 32)) linear_search_~n)))) (not |linear_search_#t~short1|))} assume !!#t~short1;havoc #t~short1;havoc #t~mem0;#t~post2 := ~j~0;~j~0 := ~bvadd32(1bv32, #t~post2);havoc #t~post2; {4526#(and (or (not (= ~SIZE~0 |linear_search_#in~n|)) (bvult (bvadd linear_search_~j~0 (_ bv2 32)) linear_search_~n) (not (= (_ bv3 32) |linear_search_#in~q|)) (not (bvult linear_search_~j~0 linear_search_~n)) (not (bvult (_ bv5 32) ~SIZE~0))) (or (not (= ~SIZE~0 |linear_search_#in~n|)) (bvult (_ bv3 32) ~SIZE~0) (bvult (bvadd linear_search_~j~0 (_ bv2 32)) linear_search_~n) (not (= (_ bv3 32) |linear_search_#in~q|)) (not (bvult linear_search_~j~0 linear_search_~n))) (or (not (= ~SIZE~0 |linear_search_#in~n|)) (bvult (bvadd linear_search_~j~0 (_ bv2 32)) linear_search_~n) (not (= (_ bv3 32) |linear_search_#in~q|)) (not (bvult linear_search_~j~0 linear_search_~n)) (not (= (bvadd (select (select |#memory_int| |linear_search_#in~a.base|) (bvadd |linear_search_#in~a.offset| (_ bv8 32))) (_ bv4294967293 32)) (_ bv0 32)))))} is VALID [2018-11-23 11:24:58,387 INFO L273 TraceCheckUtils]: 17: Hoare triple {4537#(and (or (not (= ~SIZE~0 |linear_search_#in~n|)) (not (= (_ bv3 32) |linear_search_#in~q|)) (bvult (bvadd linear_search_~j~0 (_ bv3 32)) linear_search_~n) (not (= (bvadd (select (select |#memory_int| |linear_search_#in~a.base|) (bvadd |linear_search_#in~a.offset| (_ bv8 32))) (_ bv4294967293 32)) (_ bv0 32))) (= linear_search_~q (select (select |#memory_int| linear_search_~a.base) (bvadd linear_search_~a.offset (bvmul (_ bv4 32) linear_search_~j~0)))) (not (bvult (bvadd linear_search_~j~0 (_ bv1 32)) linear_search_~n))) (or (not (= ~SIZE~0 |linear_search_#in~n|)) (bvult (_ bv3 32) ~SIZE~0) (not (= (_ bv3 32) |linear_search_#in~q|)) (bvult (bvadd linear_search_~j~0 (_ bv3 32)) linear_search_~n) (= linear_search_~q (select (select |#memory_int| linear_search_~a.base) (bvadd linear_search_~a.offset (bvmul (_ bv4 32) linear_search_~j~0)))) (not (bvult (bvadd linear_search_~j~0 (_ bv1 32)) linear_search_~n))) (or (not (= ~SIZE~0 |linear_search_#in~n|)) (not (= (_ bv3 32) |linear_search_#in~q|)) (bvult (bvadd linear_search_~j~0 (_ bv3 32)) linear_search_~n) (not (bvult (_ bv5 32) ~SIZE~0)) (= linear_search_~q (select (select |#memory_int| linear_search_~a.base) (bvadd linear_search_~a.offset (bvmul (_ bv4 32) linear_search_~j~0)))) (not (bvult (bvadd linear_search_~j~0 (_ bv1 32)) linear_search_~n))))} assume #t~short1;call #t~mem0 := read~intINTTYPE4(~a.base, ~bvadd32(~a.offset, ~bvmul32(4bv32, ~j~0)), 4bv32);#t~short1 := #t~mem0 != ~q; {4533#(or (and (or (not (= ~SIZE~0 |linear_search_#in~n|)) (not (= (_ bv3 32) |linear_search_#in~q|)) (bvult (bvadd linear_search_~j~0 (_ bv3 32)) linear_search_~n) (not (bvult (_ bv5 32) ~SIZE~0)) (not (bvult (bvadd linear_search_~j~0 (_ bv1 32)) linear_search_~n))) (or (not (= ~SIZE~0 |linear_search_#in~n|)) (not (= (_ bv3 32) |linear_search_#in~q|)) (bvult (bvadd linear_search_~j~0 (_ bv3 32)) linear_search_~n) (not (= (bvadd (select (select |#memory_int| |linear_search_#in~a.base|) (bvadd |linear_search_#in~a.offset| (_ bv8 32))) (_ bv4294967293 32)) (_ bv0 32))) (not (bvult (bvadd linear_search_~j~0 (_ bv1 32)) linear_search_~n))) (or (not (= ~SIZE~0 |linear_search_#in~n|)) (bvult (_ bv3 32) ~SIZE~0) (not (= (_ bv3 32) |linear_search_#in~q|)) (bvult (bvadd linear_search_~j~0 (_ bv3 32)) linear_search_~n) (not (bvult (bvadd linear_search_~j~0 (_ bv1 32)) linear_search_~n)))) (not |linear_search_#t~short1|))} is VALID [2018-11-23 11:24:58,389 INFO L273 TraceCheckUtils]: 16: Hoare triple {4537#(and (or (not (= ~SIZE~0 |linear_search_#in~n|)) (not (= (_ bv3 32) |linear_search_#in~q|)) (bvult (bvadd linear_search_~j~0 (_ bv3 32)) linear_search_~n) (not (= (bvadd (select (select |#memory_int| |linear_search_#in~a.base|) (bvadd |linear_search_#in~a.offset| (_ bv8 32))) (_ bv4294967293 32)) (_ bv0 32))) (= linear_search_~q (select (select |#memory_int| linear_search_~a.base) (bvadd linear_search_~a.offset (bvmul (_ bv4 32) linear_search_~j~0)))) (not (bvult (bvadd linear_search_~j~0 (_ bv1 32)) linear_search_~n))) (or (not (= ~SIZE~0 |linear_search_#in~n|)) (bvult (_ bv3 32) ~SIZE~0) (not (= (_ bv3 32) |linear_search_#in~q|)) (bvult (bvadd linear_search_~j~0 (_ bv3 32)) linear_search_~n) (= linear_search_~q (select (select |#memory_int| linear_search_~a.base) (bvadd linear_search_~a.offset (bvmul (_ bv4 32) linear_search_~j~0)))) (not (bvult (bvadd linear_search_~j~0 (_ bv1 32)) linear_search_~n))) (or (not (= ~SIZE~0 |linear_search_#in~n|)) (not (= (_ bv3 32) |linear_search_#in~q|)) (bvult (bvadd linear_search_~j~0 (_ bv3 32)) linear_search_~n) (not (bvult (_ bv5 32) ~SIZE~0)) (= linear_search_~q (select (select |#memory_int| linear_search_~a.base) (bvadd linear_search_~a.offset (bvmul (_ bv4 32) linear_search_~j~0)))) (not (bvult (bvadd linear_search_~j~0 (_ bv1 32)) linear_search_~n))))} #t~short1 := ~bvult32(~j~0, ~n); {4537#(and (or (not (= ~SIZE~0 |linear_search_#in~n|)) (not (= (_ bv3 32) |linear_search_#in~q|)) (bvult (bvadd linear_search_~j~0 (_ bv3 32)) linear_search_~n) (not (= (bvadd (select (select |#memory_int| |linear_search_#in~a.base|) (bvadd |linear_search_#in~a.offset| (_ bv8 32))) (_ bv4294967293 32)) (_ bv0 32))) (= linear_search_~q (select (select |#memory_int| linear_search_~a.base) (bvadd linear_search_~a.offset (bvmul (_ bv4 32) linear_search_~j~0)))) (not (bvult (bvadd linear_search_~j~0 (_ bv1 32)) linear_search_~n))) (or (not (= ~SIZE~0 |linear_search_#in~n|)) (bvult (_ bv3 32) ~SIZE~0) (not (= (_ bv3 32) |linear_search_#in~q|)) (bvult (bvadd linear_search_~j~0 (_ bv3 32)) linear_search_~n) (= linear_search_~q (select (select |#memory_int| linear_search_~a.base) (bvadd linear_search_~a.offset (bvmul (_ bv4 32) linear_search_~j~0)))) (not (bvult (bvadd linear_search_~j~0 (_ bv1 32)) linear_search_~n))) (or (not (= ~SIZE~0 |linear_search_#in~n|)) (not (= (_ bv3 32) |linear_search_#in~q|)) (bvult (bvadd linear_search_~j~0 (_ bv3 32)) linear_search_~n) (not (bvult (_ bv5 32) ~SIZE~0)) (= linear_search_~q (select (select |#memory_int| linear_search_~a.base) (bvadd linear_search_~a.offset (bvmul (_ bv4 32) linear_search_~j~0)))) (not (bvult (bvadd linear_search_~j~0 (_ bv1 32)) linear_search_~n))))} is VALID [2018-11-23 11:24:58,390 INFO L273 TraceCheckUtils]: 15: Hoare triple {4537#(and (or (not (= ~SIZE~0 |linear_search_#in~n|)) (not (= (_ bv3 32) |linear_search_#in~q|)) (bvult (bvadd linear_search_~j~0 (_ bv3 32)) linear_search_~n) (not (= (bvadd (select (select |#memory_int| |linear_search_#in~a.base|) (bvadd |linear_search_#in~a.offset| (_ bv8 32))) (_ bv4294967293 32)) (_ bv0 32))) (= linear_search_~q (select (select |#memory_int| linear_search_~a.base) (bvadd linear_search_~a.offset (bvmul (_ bv4 32) linear_search_~j~0)))) (not (bvult (bvadd linear_search_~j~0 (_ bv1 32)) linear_search_~n))) (or (not (= ~SIZE~0 |linear_search_#in~n|)) (bvult (_ bv3 32) ~SIZE~0) (not (= (_ bv3 32) |linear_search_#in~q|)) (bvult (bvadd linear_search_~j~0 (_ bv3 32)) linear_search_~n) (= linear_search_~q (select (select |#memory_int| linear_search_~a.base) (bvadd linear_search_~a.offset (bvmul (_ bv4 32) linear_search_~j~0)))) (not (bvult (bvadd linear_search_~j~0 (_ bv1 32)) linear_search_~n))) (or (not (= ~SIZE~0 |linear_search_#in~n|)) (not (= (_ bv3 32) |linear_search_#in~q|)) (bvult (bvadd linear_search_~j~0 (_ bv3 32)) linear_search_~n) (not (bvult (_ bv5 32) ~SIZE~0)) (= linear_search_~q (select (select |#memory_int| linear_search_~a.base) (bvadd linear_search_~a.offset (bvmul (_ bv4 32) linear_search_~j~0)))) (not (bvult (bvadd linear_search_~j~0 (_ bv1 32)) linear_search_~n))))} assume !(20bv32 == ~j~0); {4537#(and (or (not (= ~SIZE~0 |linear_search_#in~n|)) (not (= (_ bv3 32) |linear_search_#in~q|)) (bvult (bvadd linear_search_~j~0 (_ bv3 32)) linear_search_~n) (not (= (bvadd (select (select |#memory_int| |linear_search_#in~a.base|) (bvadd |linear_search_#in~a.offset| (_ bv8 32))) (_ bv4294967293 32)) (_ bv0 32))) (= linear_search_~q (select (select |#memory_int| linear_search_~a.base) (bvadd linear_search_~a.offset (bvmul (_ bv4 32) linear_search_~j~0)))) (not (bvult (bvadd linear_search_~j~0 (_ bv1 32)) linear_search_~n))) (or (not (= ~SIZE~0 |linear_search_#in~n|)) (bvult (_ bv3 32) ~SIZE~0) (not (= (_ bv3 32) |linear_search_#in~q|)) (bvult (bvadd linear_search_~j~0 (_ bv3 32)) linear_search_~n) (= linear_search_~q (select (select |#memory_int| linear_search_~a.base) (bvadd linear_search_~a.offset (bvmul (_ bv4 32) linear_search_~j~0)))) (not (bvult (bvadd linear_search_~j~0 (_ bv1 32)) linear_search_~n))) (or (not (= ~SIZE~0 |linear_search_#in~n|)) (not (= (_ bv3 32) |linear_search_#in~q|)) (bvult (bvadd linear_search_~j~0 (_ bv3 32)) linear_search_~n) (not (bvult (_ bv5 32) ~SIZE~0)) (= linear_search_~q (select (select |#memory_int| linear_search_~a.base) (bvadd linear_search_~a.offset (bvmul (_ bv4 32) linear_search_~j~0)))) (not (bvult (bvadd linear_search_~j~0 (_ bv1 32)) linear_search_~n))))} is VALID [2018-11-23 11:24:59,096 INFO L273 TraceCheckUtils]: 14: Hoare triple {4547#(and (or (not (bvult (bvadd linear_search_~j~0 (_ bv2 32)) linear_search_~n)) (not (= ~SIZE~0 |linear_search_#in~n|)) (bvult (_ bv3 32) ~SIZE~0) (= (select (select |#memory_int| linear_search_~a.base) (bvadd linear_search_~a.offset (bvmul (_ bv4 32) linear_search_~j~0) (_ bv4 32))) linear_search_~q) (not (= (_ bv3 32) |linear_search_#in~q|)) (bvult (bvadd linear_search_~j~0 (_ bv4 32)) linear_search_~n)) (or (not (bvult (bvadd linear_search_~j~0 (_ bv2 32)) linear_search_~n)) (not (= ~SIZE~0 |linear_search_#in~n|)) (= (select (select |#memory_int| linear_search_~a.base) (bvadd linear_search_~a.offset (bvmul (_ bv4 32) linear_search_~j~0) (_ bv4 32))) linear_search_~q) (not (= (_ bv3 32) |linear_search_#in~q|)) (bvult (bvadd linear_search_~j~0 (_ bv4 32)) linear_search_~n) (not (= (bvadd (select (select |#memory_int| |linear_search_#in~a.base|) (bvadd |linear_search_#in~a.offset| (_ bv8 32))) (_ bv4294967293 32)) (_ bv0 32)))) (or (not (bvult (bvadd linear_search_~j~0 (_ bv2 32)) linear_search_~n)) (not (= ~SIZE~0 |linear_search_#in~n|)) (= (select (select |#memory_int| linear_search_~a.base) (bvadd linear_search_~a.offset (bvmul (_ bv4 32) linear_search_~j~0) (_ bv4 32))) linear_search_~q) (not (= (_ bv3 32) |linear_search_#in~q|)) (bvult (bvadd linear_search_~j~0 (_ bv4 32)) linear_search_~n) (not (bvult (_ bv5 32) ~SIZE~0))))} assume !!#t~short1;havoc #t~short1;havoc #t~mem0;#t~post2 := ~j~0;~j~0 := ~bvadd32(1bv32, #t~post2);havoc #t~post2; {4537#(and (or (not (= ~SIZE~0 |linear_search_#in~n|)) (not (= (_ bv3 32) |linear_search_#in~q|)) (bvult (bvadd linear_search_~j~0 (_ bv3 32)) linear_search_~n) (not (= (bvadd (select (select |#memory_int| |linear_search_#in~a.base|) (bvadd |linear_search_#in~a.offset| (_ bv8 32))) (_ bv4294967293 32)) (_ bv0 32))) (= linear_search_~q (select (select |#memory_int| linear_search_~a.base) (bvadd linear_search_~a.offset (bvmul (_ bv4 32) linear_search_~j~0)))) (not (bvult (bvadd linear_search_~j~0 (_ bv1 32)) linear_search_~n))) (or (not (= ~SIZE~0 |linear_search_#in~n|)) (bvult (_ bv3 32) ~SIZE~0) (not (= (_ bv3 32) |linear_search_#in~q|)) (bvult (bvadd linear_search_~j~0 (_ bv3 32)) linear_search_~n) (= linear_search_~q (select (select |#memory_int| linear_search_~a.base) (bvadd linear_search_~a.offset (bvmul (_ bv4 32) linear_search_~j~0)))) (not (bvult (bvadd linear_search_~j~0 (_ bv1 32)) linear_search_~n))) (or (not (= ~SIZE~0 |linear_search_#in~n|)) (not (= (_ bv3 32) |linear_search_#in~q|)) (bvult (bvadd linear_search_~j~0 (_ bv3 32)) linear_search_~n) (not (bvult (_ bv5 32) ~SIZE~0)) (= linear_search_~q (select (select |#memory_int| linear_search_~a.base) (bvadd linear_search_~a.offset (bvmul (_ bv4 32) linear_search_~j~0)))) (not (bvult (bvadd linear_search_~j~0 (_ bv1 32)) linear_search_~n))))} is VALID [2018-11-23 11:24:59,097 INFO L273 TraceCheckUtils]: 13: Hoare triple {4547#(and (or (not (bvult (bvadd linear_search_~j~0 (_ bv2 32)) linear_search_~n)) (not (= ~SIZE~0 |linear_search_#in~n|)) (bvult (_ bv3 32) ~SIZE~0) (= (select (select |#memory_int| linear_search_~a.base) (bvadd linear_search_~a.offset (bvmul (_ bv4 32) linear_search_~j~0) (_ bv4 32))) linear_search_~q) (not (= (_ bv3 32) |linear_search_#in~q|)) (bvult (bvadd linear_search_~j~0 (_ bv4 32)) linear_search_~n)) (or (not (bvult (bvadd linear_search_~j~0 (_ bv2 32)) linear_search_~n)) (not (= ~SIZE~0 |linear_search_#in~n|)) (= (select (select |#memory_int| linear_search_~a.base) (bvadd linear_search_~a.offset (bvmul (_ bv4 32) linear_search_~j~0) (_ bv4 32))) linear_search_~q) (not (= (_ bv3 32) |linear_search_#in~q|)) (bvult (bvadd linear_search_~j~0 (_ bv4 32)) linear_search_~n) (not (= (bvadd (select (select |#memory_int| |linear_search_#in~a.base|) (bvadd |linear_search_#in~a.offset| (_ bv8 32))) (_ bv4294967293 32)) (_ bv0 32)))) (or (not (bvult (bvadd linear_search_~j~0 (_ bv2 32)) linear_search_~n)) (not (= ~SIZE~0 |linear_search_#in~n|)) (= (select (select |#memory_int| linear_search_~a.base) (bvadd linear_search_~a.offset (bvmul (_ bv4 32) linear_search_~j~0) (_ bv4 32))) linear_search_~q) (not (= (_ bv3 32) |linear_search_#in~q|)) (bvult (bvadd linear_search_~j~0 (_ bv4 32)) linear_search_~n) (not (bvult (_ bv5 32) ~SIZE~0))))} assume #t~short1;call #t~mem0 := read~intINTTYPE4(~a.base, ~bvadd32(~a.offset, ~bvmul32(4bv32, ~j~0)), 4bv32);#t~short1 := #t~mem0 != ~q; {4547#(and (or (not (bvult (bvadd linear_search_~j~0 (_ bv2 32)) linear_search_~n)) (not (= ~SIZE~0 |linear_search_#in~n|)) (bvult (_ bv3 32) ~SIZE~0) (= (select (select |#memory_int| linear_search_~a.base) (bvadd linear_search_~a.offset (bvmul (_ bv4 32) linear_search_~j~0) (_ bv4 32))) linear_search_~q) (not (= (_ bv3 32) |linear_search_#in~q|)) (bvult (bvadd linear_search_~j~0 (_ bv4 32)) linear_search_~n)) (or (not (bvult (bvadd linear_search_~j~0 (_ bv2 32)) linear_search_~n)) (not (= ~SIZE~0 |linear_search_#in~n|)) (= (select (select |#memory_int| linear_search_~a.base) (bvadd linear_search_~a.offset (bvmul (_ bv4 32) linear_search_~j~0) (_ bv4 32))) linear_search_~q) (not (= (_ bv3 32) |linear_search_#in~q|)) (bvult (bvadd linear_search_~j~0 (_ bv4 32)) linear_search_~n) (not (= (bvadd (select (select |#memory_int| |linear_search_#in~a.base|) (bvadd |linear_search_#in~a.offset| (_ bv8 32))) (_ bv4294967293 32)) (_ bv0 32)))) (or (not (bvult (bvadd linear_search_~j~0 (_ bv2 32)) linear_search_~n)) (not (= ~SIZE~0 |linear_search_#in~n|)) (= (select (select |#memory_int| linear_search_~a.base) (bvadd linear_search_~a.offset (bvmul (_ bv4 32) linear_search_~j~0) (_ bv4 32))) linear_search_~q) (not (= (_ bv3 32) |linear_search_#in~q|)) (bvult (bvadd linear_search_~j~0 (_ bv4 32)) linear_search_~n) (not (bvult (_ bv5 32) ~SIZE~0))))} is VALID [2018-11-23 11:24:59,098 INFO L273 TraceCheckUtils]: 12: Hoare triple {4547#(and (or (not (bvult (bvadd linear_search_~j~0 (_ bv2 32)) linear_search_~n)) (not (= ~SIZE~0 |linear_search_#in~n|)) (bvult (_ bv3 32) ~SIZE~0) (= (select (select |#memory_int| linear_search_~a.base) (bvadd linear_search_~a.offset (bvmul (_ bv4 32) linear_search_~j~0) (_ bv4 32))) linear_search_~q) (not (= (_ bv3 32) |linear_search_#in~q|)) (bvult (bvadd linear_search_~j~0 (_ bv4 32)) linear_search_~n)) (or (not (bvult (bvadd linear_search_~j~0 (_ bv2 32)) linear_search_~n)) (not (= ~SIZE~0 |linear_search_#in~n|)) (= (select (select |#memory_int| linear_search_~a.base) (bvadd linear_search_~a.offset (bvmul (_ bv4 32) linear_search_~j~0) (_ bv4 32))) linear_search_~q) (not (= (_ bv3 32) |linear_search_#in~q|)) (bvult (bvadd linear_search_~j~0 (_ bv4 32)) linear_search_~n) (not (= (bvadd (select (select |#memory_int| |linear_search_#in~a.base|) (bvadd |linear_search_#in~a.offset| (_ bv8 32))) (_ bv4294967293 32)) (_ bv0 32)))) (or (not (bvult (bvadd linear_search_~j~0 (_ bv2 32)) linear_search_~n)) (not (= ~SIZE~0 |linear_search_#in~n|)) (= (select (select |#memory_int| linear_search_~a.base) (bvadd linear_search_~a.offset (bvmul (_ bv4 32) linear_search_~j~0) (_ bv4 32))) linear_search_~q) (not (= (_ bv3 32) |linear_search_#in~q|)) (bvult (bvadd linear_search_~j~0 (_ bv4 32)) linear_search_~n) (not (bvult (_ bv5 32) ~SIZE~0))))} #t~short1 := ~bvult32(~j~0, ~n); {4547#(and (or (not (bvult (bvadd linear_search_~j~0 (_ bv2 32)) linear_search_~n)) (not (= ~SIZE~0 |linear_search_#in~n|)) (bvult (_ bv3 32) ~SIZE~0) (= (select (select |#memory_int| linear_search_~a.base) (bvadd linear_search_~a.offset (bvmul (_ bv4 32) linear_search_~j~0) (_ bv4 32))) linear_search_~q) (not (= (_ bv3 32) |linear_search_#in~q|)) (bvult (bvadd linear_search_~j~0 (_ bv4 32)) linear_search_~n)) (or (not (bvult (bvadd linear_search_~j~0 (_ bv2 32)) linear_search_~n)) (not (= ~SIZE~0 |linear_search_#in~n|)) (= (select (select |#memory_int| linear_search_~a.base) (bvadd linear_search_~a.offset (bvmul (_ bv4 32) linear_search_~j~0) (_ bv4 32))) linear_search_~q) (not (= (_ bv3 32) |linear_search_#in~q|)) (bvult (bvadd linear_search_~j~0 (_ bv4 32)) linear_search_~n) (not (= (bvadd (select (select |#memory_int| |linear_search_#in~a.base|) (bvadd |linear_search_#in~a.offset| (_ bv8 32))) (_ bv4294967293 32)) (_ bv0 32)))) (or (not (bvult (bvadd linear_search_~j~0 (_ bv2 32)) linear_search_~n)) (not (= ~SIZE~0 |linear_search_#in~n|)) (= (select (select |#memory_int| linear_search_~a.base) (bvadd linear_search_~a.offset (bvmul (_ bv4 32) linear_search_~j~0) (_ bv4 32))) linear_search_~q) (not (= (_ bv3 32) |linear_search_#in~q|)) (bvult (bvadd linear_search_~j~0 (_ bv4 32)) linear_search_~n) (not (bvult (_ bv5 32) ~SIZE~0))))} is VALID [2018-11-23 11:24:59,099 INFO L273 TraceCheckUtils]: 11: Hoare triple {4547#(and (or (not (bvult (bvadd linear_search_~j~0 (_ bv2 32)) linear_search_~n)) (not (= ~SIZE~0 |linear_search_#in~n|)) (bvult (_ bv3 32) ~SIZE~0) (= (select (select |#memory_int| linear_search_~a.base) (bvadd linear_search_~a.offset (bvmul (_ bv4 32) linear_search_~j~0) (_ bv4 32))) linear_search_~q) (not (= (_ bv3 32) |linear_search_#in~q|)) (bvult (bvadd linear_search_~j~0 (_ bv4 32)) linear_search_~n)) (or (not (bvult (bvadd linear_search_~j~0 (_ bv2 32)) linear_search_~n)) (not (= ~SIZE~0 |linear_search_#in~n|)) (= (select (select |#memory_int| linear_search_~a.base) (bvadd linear_search_~a.offset (bvmul (_ bv4 32) linear_search_~j~0) (_ bv4 32))) linear_search_~q) (not (= (_ bv3 32) |linear_search_#in~q|)) (bvult (bvadd linear_search_~j~0 (_ bv4 32)) linear_search_~n) (not (= (bvadd (select (select |#memory_int| |linear_search_#in~a.base|) (bvadd |linear_search_#in~a.offset| (_ bv8 32))) (_ bv4294967293 32)) (_ bv0 32)))) (or (not (bvult (bvadd linear_search_~j~0 (_ bv2 32)) linear_search_~n)) (not (= ~SIZE~0 |linear_search_#in~n|)) (= (select (select |#memory_int| linear_search_~a.base) (bvadd linear_search_~a.offset (bvmul (_ bv4 32) linear_search_~j~0) (_ bv4 32))) linear_search_~q) (not (= (_ bv3 32) |linear_search_#in~q|)) (bvult (bvadd linear_search_~j~0 (_ bv4 32)) linear_search_~n) (not (bvult (_ bv5 32) ~SIZE~0))))} assume !(20bv32 == ~j~0); {4547#(and (or (not (bvult (bvadd linear_search_~j~0 (_ bv2 32)) linear_search_~n)) (not (= ~SIZE~0 |linear_search_#in~n|)) (bvult (_ bv3 32) ~SIZE~0) (= (select (select |#memory_int| linear_search_~a.base) (bvadd linear_search_~a.offset (bvmul (_ bv4 32) linear_search_~j~0) (_ bv4 32))) linear_search_~q) (not (= (_ bv3 32) |linear_search_#in~q|)) (bvult (bvadd linear_search_~j~0 (_ bv4 32)) linear_search_~n)) (or (not (bvult (bvadd linear_search_~j~0 (_ bv2 32)) linear_search_~n)) (not (= ~SIZE~0 |linear_search_#in~n|)) (= (select (select |#memory_int| linear_search_~a.base) (bvadd linear_search_~a.offset (bvmul (_ bv4 32) linear_search_~j~0) (_ bv4 32))) linear_search_~q) (not (= (_ bv3 32) |linear_search_#in~q|)) (bvult (bvadd linear_search_~j~0 (_ bv4 32)) linear_search_~n) (not (= (bvadd (select (select |#memory_int| |linear_search_#in~a.base|) (bvadd |linear_search_#in~a.offset| (_ bv8 32))) (_ bv4294967293 32)) (_ bv0 32)))) (or (not (bvult (bvadd linear_search_~j~0 (_ bv2 32)) linear_search_~n)) (not (= ~SIZE~0 |linear_search_#in~n|)) (= (select (select |#memory_int| linear_search_~a.base) (bvadd linear_search_~a.offset (bvmul (_ bv4 32) linear_search_~j~0) (_ bv4 32))) linear_search_~q) (not (= (_ bv3 32) |linear_search_#in~q|)) (bvult (bvadd linear_search_~j~0 (_ bv4 32)) linear_search_~n) (not (bvult (_ bv5 32) ~SIZE~0))))} is VALID [2018-11-23 11:25:00,514 INFO L273 TraceCheckUtils]: 10: Hoare triple {4560#(and (or (not (= ~SIZE~0 |linear_search_#in~n|)) (= linear_search_~q (select (select |#memory_int| linear_search_~a.base) (bvadd linear_search_~a.offset (bvmul (_ bv4 32) linear_search_~j~0) (_ bv8 32)))) (not (= (_ bv3 32) |linear_search_#in~q|)) (not (bvult (bvadd linear_search_~j~0 (_ bv3 32)) linear_search_~n)) (not (= (bvadd (select (select |#memory_int| |linear_search_#in~a.base|) (bvadd |linear_search_#in~a.offset| (_ bv8 32))) (_ bv4294967293 32)) (_ bv0 32))) (bvult (bvadd linear_search_~j~0 (_ bv5 32)) linear_search_~n)) (or (not (= ~SIZE~0 |linear_search_#in~n|)) (= linear_search_~q (select (select |#memory_int| linear_search_~a.base) (bvadd linear_search_~a.offset (bvmul (_ bv4 32) linear_search_~j~0) (_ bv8 32)))) (not (= (_ bv3 32) |linear_search_#in~q|)) (not (bvult (bvadd linear_search_~j~0 (_ bv3 32)) linear_search_~n)) (not (bvult (_ bv5 32) ~SIZE~0)) (bvult (bvadd linear_search_~j~0 (_ bv5 32)) linear_search_~n)) (or (not (= ~SIZE~0 |linear_search_#in~n|)) (bvult (_ bv3 32) ~SIZE~0) (= linear_search_~q (select (select |#memory_int| linear_search_~a.base) (bvadd linear_search_~a.offset (bvmul (_ bv4 32) linear_search_~j~0) (_ bv8 32)))) (not (= (_ bv3 32) |linear_search_#in~q|)) (not (bvult (bvadd linear_search_~j~0 (_ bv3 32)) linear_search_~n)) (bvult (bvadd linear_search_~j~0 (_ bv5 32)) linear_search_~n)))} assume !!#t~short1;havoc #t~short1;havoc #t~mem0;#t~post2 := ~j~0;~j~0 := ~bvadd32(1bv32, #t~post2);havoc #t~post2; {4547#(and (or (not (bvult (bvadd linear_search_~j~0 (_ bv2 32)) linear_search_~n)) (not (= ~SIZE~0 |linear_search_#in~n|)) (bvult (_ bv3 32) ~SIZE~0) (= (select (select |#memory_int| linear_search_~a.base) (bvadd linear_search_~a.offset (bvmul (_ bv4 32) linear_search_~j~0) (_ bv4 32))) linear_search_~q) (not (= (_ bv3 32) |linear_search_#in~q|)) (bvult (bvadd linear_search_~j~0 (_ bv4 32)) linear_search_~n)) (or (not (bvult (bvadd linear_search_~j~0 (_ bv2 32)) linear_search_~n)) (not (= ~SIZE~0 |linear_search_#in~n|)) (= (select (select |#memory_int| linear_search_~a.base) (bvadd linear_search_~a.offset (bvmul (_ bv4 32) linear_search_~j~0) (_ bv4 32))) linear_search_~q) (not (= (_ bv3 32) |linear_search_#in~q|)) (bvult (bvadd linear_search_~j~0 (_ bv4 32)) linear_search_~n) (not (= (bvadd (select (select |#memory_int| |linear_search_#in~a.base|) (bvadd |linear_search_#in~a.offset| (_ bv8 32))) (_ bv4294967293 32)) (_ bv0 32)))) (or (not (bvult (bvadd linear_search_~j~0 (_ bv2 32)) linear_search_~n)) (not (= ~SIZE~0 |linear_search_#in~n|)) (= (select (select |#memory_int| linear_search_~a.base) (bvadd linear_search_~a.offset (bvmul (_ bv4 32) linear_search_~j~0) (_ bv4 32))) linear_search_~q) (not (= (_ bv3 32) |linear_search_#in~q|)) (bvult (bvadd linear_search_~j~0 (_ bv4 32)) linear_search_~n) (not (bvult (_ bv5 32) ~SIZE~0))))} is VALID [2018-11-23 11:25:00,515 INFO L273 TraceCheckUtils]: 9: Hoare triple {4560#(and (or (not (= ~SIZE~0 |linear_search_#in~n|)) (= linear_search_~q (select (select |#memory_int| linear_search_~a.base) (bvadd linear_search_~a.offset (bvmul (_ bv4 32) linear_search_~j~0) (_ bv8 32)))) (not (= (_ bv3 32) |linear_search_#in~q|)) (not (bvult (bvadd linear_search_~j~0 (_ bv3 32)) linear_search_~n)) (not (= (bvadd (select (select |#memory_int| |linear_search_#in~a.base|) (bvadd |linear_search_#in~a.offset| (_ bv8 32))) (_ bv4294967293 32)) (_ bv0 32))) (bvult (bvadd linear_search_~j~0 (_ bv5 32)) linear_search_~n)) (or (not (= ~SIZE~0 |linear_search_#in~n|)) (= linear_search_~q (select (select |#memory_int| linear_search_~a.base) (bvadd linear_search_~a.offset (bvmul (_ bv4 32) linear_search_~j~0) (_ bv8 32)))) (not (= (_ bv3 32) |linear_search_#in~q|)) (not (bvult (bvadd linear_search_~j~0 (_ bv3 32)) linear_search_~n)) (not (bvult (_ bv5 32) ~SIZE~0)) (bvult (bvadd linear_search_~j~0 (_ bv5 32)) linear_search_~n)) (or (not (= ~SIZE~0 |linear_search_#in~n|)) (bvult (_ bv3 32) ~SIZE~0) (= linear_search_~q (select (select |#memory_int| linear_search_~a.base) (bvadd linear_search_~a.offset (bvmul (_ bv4 32) linear_search_~j~0) (_ bv8 32)))) (not (= (_ bv3 32) |linear_search_#in~q|)) (not (bvult (bvadd linear_search_~j~0 (_ bv3 32)) linear_search_~n)) (bvult (bvadd linear_search_~j~0 (_ bv5 32)) linear_search_~n)))} assume #t~short1;call #t~mem0 := read~intINTTYPE4(~a.base, ~bvadd32(~a.offset, ~bvmul32(4bv32, ~j~0)), 4bv32);#t~short1 := #t~mem0 != ~q; {4560#(and (or (not (= ~SIZE~0 |linear_search_#in~n|)) (= linear_search_~q (select (select |#memory_int| linear_search_~a.base) (bvadd linear_search_~a.offset (bvmul (_ bv4 32) linear_search_~j~0) (_ bv8 32)))) (not (= (_ bv3 32) |linear_search_#in~q|)) (not (bvult (bvadd linear_search_~j~0 (_ bv3 32)) linear_search_~n)) (not (= (bvadd (select (select |#memory_int| |linear_search_#in~a.base|) (bvadd |linear_search_#in~a.offset| (_ bv8 32))) (_ bv4294967293 32)) (_ bv0 32))) (bvult (bvadd linear_search_~j~0 (_ bv5 32)) linear_search_~n)) (or (not (= ~SIZE~0 |linear_search_#in~n|)) (= linear_search_~q (select (select |#memory_int| linear_search_~a.base) (bvadd linear_search_~a.offset (bvmul (_ bv4 32) linear_search_~j~0) (_ bv8 32)))) (not (= (_ bv3 32) |linear_search_#in~q|)) (not (bvult (bvadd linear_search_~j~0 (_ bv3 32)) linear_search_~n)) (not (bvult (_ bv5 32) ~SIZE~0)) (bvult (bvadd linear_search_~j~0 (_ bv5 32)) linear_search_~n)) (or (not (= ~SIZE~0 |linear_search_#in~n|)) (bvult (_ bv3 32) ~SIZE~0) (= linear_search_~q (select (select |#memory_int| linear_search_~a.base) (bvadd linear_search_~a.offset (bvmul (_ bv4 32) linear_search_~j~0) (_ bv8 32)))) (not (= (_ bv3 32) |linear_search_#in~q|)) (not (bvult (bvadd linear_search_~j~0 (_ bv3 32)) linear_search_~n)) (bvult (bvadd linear_search_~j~0 (_ bv5 32)) linear_search_~n)))} is VALID [2018-11-23 11:25:00,516 INFO L273 TraceCheckUtils]: 8: Hoare triple {4560#(and (or (not (= ~SIZE~0 |linear_search_#in~n|)) (= linear_search_~q (select (select |#memory_int| linear_search_~a.base) (bvadd linear_search_~a.offset (bvmul (_ bv4 32) linear_search_~j~0) (_ bv8 32)))) (not (= (_ bv3 32) |linear_search_#in~q|)) (not (bvult (bvadd linear_search_~j~0 (_ bv3 32)) linear_search_~n)) (not (= (bvadd (select (select |#memory_int| |linear_search_#in~a.base|) (bvadd |linear_search_#in~a.offset| (_ bv8 32))) (_ bv4294967293 32)) (_ bv0 32))) (bvult (bvadd linear_search_~j~0 (_ bv5 32)) linear_search_~n)) (or (not (= ~SIZE~0 |linear_search_#in~n|)) (= linear_search_~q (select (select |#memory_int| linear_search_~a.base) (bvadd linear_search_~a.offset (bvmul (_ bv4 32) linear_search_~j~0) (_ bv8 32)))) (not (= (_ bv3 32) |linear_search_#in~q|)) (not (bvult (bvadd linear_search_~j~0 (_ bv3 32)) linear_search_~n)) (not (bvult (_ bv5 32) ~SIZE~0)) (bvult (bvadd linear_search_~j~0 (_ bv5 32)) linear_search_~n)) (or (not (= ~SIZE~0 |linear_search_#in~n|)) (bvult (_ bv3 32) ~SIZE~0) (= linear_search_~q (select (select |#memory_int| linear_search_~a.base) (bvadd linear_search_~a.offset (bvmul (_ bv4 32) linear_search_~j~0) (_ bv8 32)))) (not (= (_ bv3 32) |linear_search_#in~q|)) (not (bvult (bvadd linear_search_~j~0 (_ bv3 32)) linear_search_~n)) (bvult (bvadd linear_search_~j~0 (_ bv5 32)) linear_search_~n)))} #t~short1 := ~bvult32(~j~0, ~n); {4560#(and (or (not (= ~SIZE~0 |linear_search_#in~n|)) (= linear_search_~q (select (select |#memory_int| linear_search_~a.base) (bvadd linear_search_~a.offset (bvmul (_ bv4 32) linear_search_~j~0) (_ bv8 32)))) (not (= (_ bv3 32) |linear_search_#in~q|)) (not (bvult (bvadd linear_search_~j~0 (_ bv3 32)) linear_search_~n)) (not (= (bvadd (select (select |#memory_int| |linear_search_#in~a.base|) (bvadd |linear_search_#in~a.offset| (_ bv8 32))) (_ bv4294967293 32)) (_ bv0 32))) (bvult (bvadd linear_search_~j~0 (_ bv5 32)) linear_search_~n)) (or (not (= ~SIZE~0 |linear_search_#in~n|)) (= linear_search_~q (select (select |#memory_int| linear_search_~a.base) (bvadd linear_search_~a.offset (bvmul (_ bv4 32) linear_search_~j~0) (_ bv8 32)))) (not (= (_ bv3 32) |linear_search_#in~q|)) (not (bvult (bvadd linear_search_~j~0 (_ bv3 32)) linear_search_~n)) (not (bvult (_ bv5 32) ~SIZE~0)) (bvult (bvadd linear_search_~j~0 (_ bv5 32)) linear_search_~n)) (or (not (= ~SIZE~0 |linear_search_#in~n|)) (bvult (_ bv3 32) ~SIZE~0) (= linear_search_~q (select (select |#memory_int| linear_search_~a.base) (bvadd linear_search_~a.offset (bvmul (_ bv4 32) linear_search_~j~0) (_ bv8 32)))) (not (= (_ bv3 32) |linear_search_#in~q|)) (not (bvult (bvadd linear_search_~j~0 (_ bv3 32)) linear_search_~n)) (bvult (bvadd linear_search_~j~0 (_ bv5 32)) linear_search_~n)))} is VALID [2018-11-23 11:25:00,520 INFO L273 TraceCheckUtils]: 7: Hoare triple {4336#true} ~a.base, ~a.offset := #in~a.base, #in~a.offset;~n := #in~n;~q := #in~q;~j~0 := 0bv32; {4560#(and (or (not (= ~SIZE~0 |linear_search_#in~n|)) (= linear_search_~q (select (select |#memory_int| linear_search_~a.base) (bvadd linear_search_~a.offset (bvmul (_ bv4 32) linear_search_~j~0) (_ bv8 32)))) (not (= (_ bv3 32) |linear_search_#in~q|)) (not (bvult (bvadd linear_search_~j~0 (_ bv3 32)) linear_search_~n)) (not (= (bvadd (select (select |#memory_int| |linear_search_#in~a.base|) (bvadd |linear_search_#in~a.offset| (_ bv8 32))) (_ bv4294967293 32)) (_ bv0 32))) (bvult (bvadd linear_search_~j~0 (_ bv5 32)) linear_search_~n)) (or (not (= ~SIZE~0 |linear_search_#in~n|)) (= linear_search_~q (select (select |#memory_int| linear_search_~a.base) (bvadd linear_search_~a.offset (bvmul (_ bv4 32) linear_search_~j~0) (_ bv8 32)))) (not (= (_ bv3 32) |linear_search_#in~q|)) (not (bvult (bvadd linear_search_~j~0 (_ bv3 32)) linear_search_~n)) (not (bvult (_ bv5 32) ~SIZE~0)) (bvult (bvadd linear_search_~j~0 (_ bv5 32)) linear_search_~n)) (or (not (= ~SIZE~0 |linear_search_#in~n|)) (bvult (_ bv3 32) ~SIZE~0) (= linear_search_~q (select (select |#memory_int| linear_search_~a.base) (bvadd linear_search_~a.offset (bvmul (_ bv4 32) linear_search_~j~0) (_ bv8 32)))) (not (= (_ bv3 32) |linear_search_#in~q|)) (not (bvult (bvadd linear_search_~j~0 (_ bv3 32)) linear_search_~n)) (bvult (bvadd linear_search_~j~0 (_ bv5 32)) linear_search_~n)))} is VALID [2018-11-23 11:25:00,521 INFO L256 TraceCheckUtils]: 6: Hoare triple {4477#(or (bvult (_ bv5 32) ~SIZE~0) (not (bvult (_ bv3 32) ~SIZE~0)) (= (_ bv3 32) (select (select |#memory_int| |main_~#a~0.base|) (bvadd |main_~#a~0.offset| (_ bv8 32)))))} call #t~ret4 := linear_search(~#a~0.base, ~#a~0.offset, ~SIZE~0, 3bv32); {4336#true} is VALID [2018-11-23 11:25:00,523 INFO L273 TraceCheckUtils]: 5: Hoare triple {4336#true} ~SIZE~0 := ~bvadd32(1bv32, ~bvudiv32(#t~nondet3, 2bv32));havoc #t~nondet3;call ~#a~0.base, ~#a~0.offset := #Ultimate.alloc(~bvmul32(4bv32, ~SIZE~0));call write~intINTTYPE4(3bv32, ~#a~0.base, ~bvadd32(~#a~0.offset, ~bvmul32(4bv32, ~bvudiv32(~SIZE~0, 2bv32))), 4bv32); {4477#(or (bvult (_ bv5 32) ~SIZE~0) (not (bvult (_ bv3 32) ~SIZE~0)) (= (_ bv3 32) (select (select |#memory_int| |main_~#a~0.base|) (bvadd |main_~#a~0.offset| (_ bv8 32)))))} is VALID [2018-11-23 11:25:00,523 INFO L256 TraceCheckUtils]: 4: Hoare triple {4336#true} call #t~ret5 := main(); {4336#true} is VALID [2018-11-23 11:25:00,523 INFO L268 TraceCheckUtils]: 3: Hoare quadruple {4336#true} {4336#true} #53#return; {4336#true} is VALID [2018-11-23 11:25:00,523 INFO L273 TraceCheckUtils]: 2: Hoare triple {4336#true} assume true; {4336#true} is VALID [2018-11-23 11:25:00,524 INFO L273 TraceCheckUtils]: 1: Hoare triple {4336#true} #NULL.base, #NULL.offset := 0bv32, 0bv32;#valid := #valid[0bv32 := 0bv1];~SIZE~0 := 0bv32; {4336#true} is VALID [2018-11-23 11:25:00,524 INFO L256 TraceCheckUtils]: 0: Hoare triple {4336#true} call ULTIMATE.init(); {4336#true} is VALID [2018-11-23 11:25:00,534 INFO L134 CoverageAnalysis]: Checked inductivity of 55 backedges. 5 proven. 50 refuted. 0 times theorem prover too weak. 0 trivial. 0 not checked. [2018-11-23 11:25:00,536 INFO L312 seRefinementStrategy]: Constructing automaton from 0 perfect and 2 imperfect interpolant sequences. [2018-11-23 11:25:00,537 INFO L327 seRefinementStrategy]: Number of different interpolants: perfect sequences [] imperfect sequences [15, 14] total 27 [2018-11-23 11:25:00,538 INFO L78 Accepts]: Start accepts. Automaton has 27 states. Word has length 38 [2018-11-23 11:25:00,538 INFO L84 Accepts]: Finished accepts. word is accepted. [2018-11-23 11:25:00,538 INFO L86 InductivityCheck]: Starting indutivity check of a Floyd-Hoare automaton with 27 states. [2018-11-23 11:25:03,108 INFO L119 InductivityCheck]: Floyd-Hoare automaton has 67 edges. 67 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2018-11-23 11:25:03,108 INFO L459 AbstractCegarLoop]: Interpolant automaton has 27 states [2018-11-23 11:25:03,109 INFO L142 InterpolantAutomaton]: Constructing interpolant automaton starting with 27 interpolants. [2018-11-23 11:25:03,109 INFO L144 InterpolantAutomaton]: CoverageRelationStatistics Valid=105, Invalid=597, Unknown=0, NotChecked=0, Total=702 [2018-11-23 11:25:03,109 INFO L87 Difference]: Start difference. First operand 68 states and 76 transitions. Second operand 27 states. [2018-11-23 11:25:06,132 WARN L180 SmtUtils]: Spent 180.00 ms on a formula simplification. DAG size of input: 38 DAG size of output: 38 [2018-11-23 11:25:07,784 WARN L180 SmtUtils]: Spent 117.00 ms on a formula simplification. DAG size of input: 46 DAG size of output: 40 [2018-11-23 11:25:08,732 WARN L180 SmtUtils]: Spent 191.00 ms on a formula simplification. DAG size of input: 40 DAG size of output: 39 [2018-11-23 11:25:09,210 WARN L180 SmtUtils]: Spent 133.00 ms on a formula simplification. DAG size of input: 40 DAG size of output: 37 [2018-11-23 11:25:10,015 WARN L180 SmtUtils]: Spent 102.00 ms on a formula simplification that was a NOOP. DAG size: 43 [2018-11-23 11:25:10,658 WARN L180 SmtUtils]: Spent 203.00 ms on a formula simplification that was a NOOP. DAG size: 50 [2018-11-23 11:25:11,711 WARN L180 SmtUtils]: Spent 367.00 ms on a formula simplification that was a NOOP. DAG size: 61 [2018-11-23 11:25:12,108 WARN L180 SmtUtils]: Spent 247.00 ms on a formula simplification that was a NOOP. DAG size: 56 [2018-11-23 11:25:13,431 WARN L180 SmtUtils]: Spent 221.00 ms on a formula simplification that was a NOOP. DAG size: 49 [2018-11-23 11:25:16,536 WARN L180 SmtUtils]: Spent 1.74 s on a formula simplification. DAG size of input: 86 DAG size of output: 84 [2018-11-23 11:25:17,503 WARN L180 SmtUtils]: Spent 323.00 ms on a formula simplification that was a NOOP. DAG size: 56 [2018-11-23 11:25:19,709 WARN L180 SmtUtils]: Spent 1.51 s on a formula simplification. DAG size of input: 79 DAG size of output: 77 [2018-11-23 11:25:20,481 WARN L180 SmtUtils]: Spent 243.00 ms on a formula simplification that was a NOOP. DAG size: 47 [2018-11-23 11:25:21,849 WARN L180 SmtUtils]: Spent 189.00 ms on a formula simplification that was a NOOP. DAG size: 46 [2018-11-23 11:25:24,084 WARN L180 SmtUtils]: Spent 1.40 s on a formula simplification. DAG size of input: 74 DAG size of output: 72 [2018-11-23 11:25:25,259 WARN L180 SmtUtils]: Spent 120.00 ms on a formula simplification that was a NOOP. DAG size: 43 [2018-11-23 11:25:25,636 WARN L180 SmtUtils]: Spent 237.00 ms on a formula simplification that was a NOOP. DAG size: 49 [2018-11-23 11:25:27,672 WARN L180 SmtUtils]: Spent 1.45 s on a formula simplification. DAG size of input: 77 DAG size of output: 75 [2018-11-23 11:25:30,367 WARN L180 SmtUtils]: Spent 1.78 s on a formula simplification. DAG size of input: 81 DAG size of output: 79 [2018-11-23 11:25:32,446 WARN L180 SmtUtils]: Spent 1.04 s on a formula simplification. DAG size of input: 65 DAG size of output: 64 [2018-11-23 11:25:34,213 WARN L180 SmtUtils]: Spent 1.12 s on a formula simplification. DAG size of input: 68 DAG size of output: 67 [2018-11-23 11:25:35,873 WARN L180 SmtUtils]: Spent 1.24 s on a formula simplification. DAG size of input: 72 DAG size of output: 71 [2018-11-23 11:25:36,593 WARN L180 SmtUtils]: Spent 311.00 ms on a formula simplification that was a NOOP. DAG size: 51 [2018-11-23 11:25:37,307 WARN L180 SmtUtils]: Spent 390.00 ms on a formula simplification that was a NOOP. DAG size: 54 [2018-11-23 11:25:37,458 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2018-11-23 11:25:37,459 INFO L93 Difference]: Finished difference Result 209 states and 246 transitions. [2018-11-23 11:25:37,459 INFO L142 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 42 states. [2018-11-23 11:25:37,459 INFO L78 Accepts]: Start accepts. Automaton has 27 states. Word has length 38 [2018-11-23 11:25:37,459 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2018-11-23 11:25:37,459 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 27 states. [2018-11-23 11:25:37,462 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 42 states to 42 states and 129 transitions. [2018-11-23 11:25:37,462 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 27 states. [2018-11-23 11:25:37,464 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 42 states to 42 states and 129 transitions. [2018-11-23 11:25:37,464 INFO L86 InductivityCheck]: Starting indutivity check of a Floyd-Hoare automaton with 42 states and 129 transitions. [2018-11-23 11:25:42,561 INFO L119 InductivityCheck]: Floyd-Hoare automaton has 129 edges. 128 inductive. 0 not inductive. 1 times theorem prover too weak to decide inductivity. [2018-11-23 11:25:42,563 INFO L225 Difference]: With dead ends: 209 [2018-11-23 11:25:42,564 INFO L226 Difference]: Without dead ends: 118 [2018-11-23 11:25:42,565 INFO L631 BasicCegarLoop]: 0 DeclaredPredicates, 104 GetRequests, 49 SyntacticMatches, 1 SemanticMatches, 54 ConstructedPredicates, 0 IntricatePredicates, 0 DeprecatedPredicates, 610 ImplicationChecksByTransitivity, 23.4s TimeCoverageRelationStatistics Valid=603, Invalid=2477, Unknown=0, NotChecked=0, Total=3080 [2018-11-23 11:25:42,565 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 118 states. [2018-11-23 11:25:42,801 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 118 to 72. [2018-11-23 11:25:42,802 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2018-11-23 11:25:42,802 INFO L82 GeneralOperation]: Start isEquivalent. First operand 118 states. Second operand 72 states. [2018-11-23 11:25:42,802 INFO L74 IsIncluded]: Start isIncluded. First operand 118 states. Second operand 72 states. [2018-11-23 11:25:42,802 INFO L87 Difference]: Start difference. First operand 118 states. Second operand 72 states. [2018-11-23 11:25:42,806 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2018-11-23 11:25:42,806 INFO L93 Difference]: Finished difference Result 118 states and 132 transitions. [2018-11-23 11:25:42,806 INFO L276 IsEmpty]: Start isEmpty. Operand 118 states and 132 transitions. [2018-11-23 11:25:42,807 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2018-11-23 11:25:42,807 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2018-11-23 11:25:42,807 INFO L74 IsIncluded]: Start isIncluded. First operand 72 states. Second operand 118 states. [2018-11-23 11:25:42,807 INFO L87 Difference]: Start difference. First operand 72 states. Second operand 118 states. [2018-11-23 11:25:42,810 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2018-11-23 11:25:42,810 INFO L93 Difference]: Finished difference Result 118 states and 132 transitions. [2018-11-23 11:25:42,810 INFO L276 IsEmpty]: Start isEmpty. Operand 118 states and 132 transitions. [2018-11-23 11:25:42,811 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2018-11-23 11:25:42,811 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2018-11-23 11:25:42,811 INFO L88 GeneralOperation]: Finished isEquivalent. [2018-11-23 11:25:42,811 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2018-11-23 11:25:42,811 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 72 states. [2018-11-23 11:25:42,813 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 72 states to 72 states and 81 transitions. [2018-11-23 11:25:42,813 INFO L78 Accepts]: Start accepts. Automaton has 72 states and 81 transitions. Word has length 38 [2018-11-23 11:25:42,813 INFO L84 Accepts]: Finished accepts. word is rejected. [2018-11-23 11:25:42,813 INFO L480 AbstractCegarLoop]: Abstraction has 72 states and 81 transitions. [2018-11-23 11:25:42,813 INFO L481 AbstractCegarLoop]: Interpolant automaton has 27 states. [2018-11-23 11:25:42,814 INFO L276 IsEmpty]: Start isEmpty. Operand 72 states and 81 transitions. [2018-11-23 11:25:42,814 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 43 [2018-11-23 11:25:42,814 INFO L394 BasicCegarLoop]: Found error trace [2018-11-23 11:25:42,814 INFO L402 BasicCegarLoop]: trace histogram [7, 6, 6, 5, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1] [2018-11-23 11:25:42,815 INFO L423 AbstractCegarLoop]: === Iteration 13 === [__VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION]=== [2018-11-23 11:25:42,815 INFO L141 PredicateUnifier]: Initialized classic predicate unifier [2018-11-23 11:25:42,815 INFO L82 PathProgramCache]: Analyzing trace with hash 472813157, now seen corresponding path program 2 times [2018-11-23 11:25:42,815 INFO L223 ckRefinementStrategy]: Switched to mode CVC4_FPBP [2018-11-23 11:25:42,816 INFO L69 tionRefinementEngine]: Using refinement strategy WolfRefinementStrategy No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/cvc4nyu Starting monitored process 14 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 14 with cvc4nyu --tear-down-incremental --print-success --lang smt --rewrite-divk [2018-11-23 11:25:42,844 INFO L101 rtionOrderModulation]: Changing assertion order to OUTSIDE_LOOP_FIRST1 [2018-11-23 11:25:42,907 INFO L249 tOrderPrioritization]: Assert order OUTSIDE_LOOP_FIRST1 issued 2 check-sat command(s) [2018-11-23 11:25:42,908 INFO L250 tOrderPrioritization]: Conjunction of SSA is unsat [2018-11-23 11:25:42,936 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2018-11-23 11:25:42,937 INFO L273 TraceCheckSpWp]: Computing forward predicates... [2018-11-23 11:25:43,505 INFO L256 TraceCheckUtils]: 0: Hoare triple {5239#true} call ULTIMATE.init(); {5239#true} is VALID [2018-11-23 11:25:43,505 INFO L273 TraceCheckUtils]: 1: Hoare triple {5239#true} #NULL.base, #NULL.offset := 0bv32, 0bv32;#valid := #valid[0bv32 := 0bv1];~SIZE~0 := 0bv32; {5239#true} is VALID [2018-11-23 11:25:43,505 INFO L273 TraceCheckUtils]: 2: Hoare triple {5239#true} assume true; {5239#true} is VALID [2018-11-23 11:25:43,506 INFO L268 TraceCheckUtils]: 3: Hoare quadruple {5239#true} {5239#true} #53#return; {5239#true} is VALID [2018-11-23 11:25:43,506 INFO L256 TraceCheckUtils]: 4: Hoare triple {5239#true} call #t~ret5 := main(); {5239#true} is VALID [2018-11-23 11:25:43,506 INFO L273 TraceCheckUtils]: 5: Hoare triple {5239#true} ~SIZE~0 := ~bvadd32(1bv32, ~bvudiv32(#t~nondet3, 2bv32));havoc #t~nondet3;call ~#a~0.base, ~#a~0.offset := #Ultimate.alloc(~bvmul32(4bv32, ~SIZE~0));call write~intINTTYPE4(3bv32, ~#a~0.base, ~bvadd32(~#a~0.offset, ~bvmul32(4bv32, ~bvudiv32(~SIZE~0, 2bv32))), 4bv32); {5239#true} is VALID [2018-11-23 11:25:43,506 INFO L256 TraceCheckUtils]: 6: Hoare triple {5239#true} call #t~ret4 := linear_search(~#a~0.base, ~#a~0.offset, ~SIZE~0, 3bv32); {5239#true} is VALID [2018-11-23 11:25:43,507 INFO L273 TraceCheckUtils]: 7: Hoare triple {5239#true} ~a.base, ~a.offset := #in~a.base, #in~a.offset;~n := #in~n;~q := #in~q;~j~0 := 0bv32; {5265#(= linear_search_~j~0 (_ bv0 32))} is VALID [2018-11-23 11:25:43,508 INFO L273 TraceCheckUtils]: 8: Hoare triple {5265#(= linear_search_~j~0 (_ bv0 32))} #t~short1 := ~bvult32(~j~0, ~n); {5265#(= linear_search_~j~0 (_ bv0 32))} is VALID [2018-11-23 11:25:43,508 INFO L273 TraceCheckUtils]: 9: Hoare triple {5265#(= linear_search_~j~0 (_ bv0 32))} assume #t~short1;call #t~mem0 := read~intINTTYPE4(~a.base, ~bvadd32(~a.offset, ~bvmul32(4bv32, ~j~0)), 4bv32);#t~short1 := #t~mem0 != ~q; {5265#(= linear_search_~j~0 (_ bv0 32))} is VALID [2018-11-23 11:25:43,509 INFO L273 TraceCheckUtils]: 10: Hoare triple {5265#(= linear_search_~j~0 (_ bv0 32))} assume !!#t~short1;havoc #t~short1;havoc #t~mem0;#t~post2 := ~j~0;~j~0 := ~bvadd32(1bv32, #t~post2);havoc #t~post2; {5275#(= (bvadd linear_search_~j~0 (_ bv4294967295 32)) (_ bv0 32))} is VALID [2018-11-23 11:25:43,509 INFO L273 TraceCheckUtils]: 11: Hoare triple {5275#(= (bvadd linear_search_~j~0 (_ bv4294967295 32)) (_ bv0 32))} assume !(20bv32 == ~j~0); {5275#(= (bvadd linear_search_~j~0 (_ bv4294967295 32)) (_ bv0 32))} is VALID [2018-11-23 11:25:43,509 INFO L273 TraceCheckUtils]: 12: Hoare triple {5275#(= (bvadd linear_search_~j~0 (_ bv4294967295 32)) (_ bv0 32))} #t~short1 := ~bvult32(~j~0, ~n); {5275#(= (bvadd linear_search_~j~0 (_ bv4294967295 32)) (_ bv0 32))} is VALID [2018-11-23 11:25:43,510 INFO L273 TraceCheckUtils]: 13: Hoare triple {5275#(= (bvadd linear_search_~j~0 (_ bv4294967295 32)) (_ bv0 32))} assume #t~short1;call #t~mem0 := read~intINTTYPE4(~a.base, ~bvadd32(~a.offset, ~bvmul32(4bv32, ~j~0)), 4bv32);#t~short1 := #t~mem0 != ~q; {5275#(= (bvadd linear_search_~j~0 (_ bv4294967295 32)) (_ bv0 32))} is VALID [2018-11-23 11:25:43,511 INFO L273 TraceCheckUtils]: 14: Hoare triple {5275#(= (bvadd linear_search_~j~0 (_ bv4294967295 32)) (_ bv0 32))} assume !!#t~short1;havoc #t~short1;havoc #t~mem0;#t~post2 := ~j~0;~j~0 := ~bvadd32(1bv32, #t~post2);havoc #t~post2; {5288#(= (_ bv2 32) linear_search_~j~0)} is VALID [2018-11-23 11:25:43,511 INFO L273 TraceCheckUtils]: 15: Hoare triple {5288#(= (_ bv2 32) linear_search_~j~0)} assume !(20bv32 == ~j~0); {5288#(= (_ bv2 32) linear_search_~j~0)} is VALID [2018-11-23 11:25:43,512 INFO L273 TraceCheckUtils]: 16: Hoare triple {5288#(= (_ bv2 32) linear_search_~j~0)} #t~short1 := ~bvult32(~j~0, ~n); {5288#(= (_ bv2 32) linear_search_~j~0)} is VALID [2018-11-23 11:25:43,512 INFO L273 TraceCheckUtils]: 17: Hoare triple {5288#(= (_ bv2 32) linear_search_~j~0)} assume #t~short1;call #t~mem0 := read~intINTTYPE4(~a.base, ~bvadd32(~a.offset, ~bvmul32(4bv32, ~j~0)), 4bv32);#t~short1 := #t~mem0 != ~q; {5288#(= (_ bv2 32) linear_search_~j~0)} is VALID [2018-11-23 11:25:43,513 INFO L273 TraceCheckUtils]: 18: Hoare triple {5288#(= (_ bv2 32) linear_search_~j~0)} assume !!#t~short1;havoc #t~short1;havoc #t~mem0;#t~post2 := ~j~0;~j~0 := ~bvadd32(1bv32, #t~post2);havoc #t~post2; {5301#(= (bvadd linear_search_~j~0 (_ bv4294967293 32)) (_ bv0 32))} is VALID [2018-11-23 11:25:43,514 INFO L273 TraceCheckUtils]: 19: Hoare triple {5301#(= (bvadd linear_search_~j~0 (_ bv4294967293 32)) (_ bv0 32))} assume !(20bv32 == ~j~0); {5301#(= (bvadd linear_search_~j~0 (_ bv4294967293 32)) (_ bv0 32))} is VALID [2018-11-23 11:25:43,514 INFO L273 TraceCheckUtils]: 20: Hoare triple {5301#(= (bvadd linear_search_~j~0 (_ bv4294967293 32)) (_ bv0 32))} #t~short1 := ~bvult32(~j~0, ~n); {5301#(= (bvadd linear_search_~j~0 (_ bv4294967293 32)) (_ bv0 32))} is VALID [2018-11-23 11:25:43,515 INFO L273 TraceCheckUtils]: 21: Hoare triple {5301#(= (bvadd linear_search_~j~0 (_ bv4294967293 32)) (_ bv0 32))} assume #t~short1;call #t~mem0 := read~intINTTYPE4(~a.base, ~bvadd32(~a.offset, ~bvmul32(4bv32, ~j~0)), 4bv32);#t~short1 := #t~mem0 != ~q; {5301#(= (bvadd linear_search_~j~0 (_ bv4294967293 32)) (_ bv0 32))} is VALID [2018-11-23 11:25:43,516 INFO L273 TraceCheckUtils]: 22: Hoare triple {5301#(= (bvadd linear_search_~j~0 (_ bv4294967293 32)) (_ bv0 32))} assume !!#t~short1;havoc #t~short1;havoc #t~mem0;#t~post2 := ~j~0;~j~0 := ~bvadd32(1bv32, #t~post2);havoc #t~post2; {5314#(= (_ bv4 32) linear_search_~j~0)} is VALID [2018-11-23 11:25:43,516 INFO L273 TraceCheckUtils]: 23: Hoare triple {5314#(= (_ bv4 32) linear_search_~j~0)} assume !(20bv32 == ~j~0); {5314#(= (_ bv4 32) linear_search_~j~0)} is VALID [2018-11-23 11:25:43,534 INFO L273 TraceCheckUtils]: 24: Hoare triple {5314#(= (_ bv4 32) linear_search_~j~0)} #t~short1 := ~bvult32(~j~0, ~n); {5314#(= (_ bv4 32) linear_search_~j~0)} is VALID [2018-11-23 11:25:43,538 INFO L273 TraceCheckUtils]: 25: Hoare triple {5314#(= (_ bv4 32) linear_search_~j~0)} assume #t~short1;call #t~mem0 := read~intINTTYPE4(~a.base, ~bvadd32(~a.offset, ~bvmul32(4bv32, ~j~0)), 4bv32);#t~short1 := #t~mem0 != ~q; {5314#(= (_ bv4 32) linear_search_~j~0)} is VALID [2018-11-23 11:25:43,538 INFO L273 TraceCheckUtils]: 26: Hoare triple {5314#(= (_ bv4 32) linear_search_~j~0)} assume !!#t~short1;havoc #t~short1;havoc #t~mem0;#t~post2 := ~j~0;~j~0 := ~bvadd32(1bv32, #t~post2);havoc #t~post2; {5327#(= (bvadd linear_search_~j~0 (_ bv4294967291 32)) (_ bv0 32))} is VALID [2018-11-23 11:25:43,539 INFO L273 TraceCheckUtils]: 27: Hoare triple {5327#(= (bvadd linear_search_~j~0 (_ bv4294967291 32)) (_ bv0 32))} assume !(20bv32 == ~j~0); {5327#(= (bvadd linear_search_~j~0 (_ bv4294967291 32)) (_ bv0 32))} is VALID [2018-11-23 11:25:43,539 INFO L273 TraceCheckUtils]: 28: Hoare triple {5327#(= (bvadd linear_search_~j~0 (_ bv4294967291 32)) (_ bv0 32))} #t~short1 := ~bvult32(~j~0, ~n); {5327#(= (bvadd linear_search_~j~0 (_ bv4294967291 32)) (_ bv0 32))} is VALID [2018-11-23 11:25:43,539 INFO L273 TraceCheckUtils]: 29: Hoare triple {5327#(= (bvadd linear_search_~j~0 (_ bv4294967291 32)) (_ bv0 32))} assume #t~short1;call #t~mem0 := read~intINTTYPE4(~a.base, ~bvadd32(~a.offset, ~bvmul32(4bv32, ~j~0)), 4bv32);#t~short1 := #t~mem0 != ~q; {5327#(= (bvadd linear_search_~j~0 (_ bv4294967291 32)) (_ bv0 32))} is VALID [2018-11-23 11:25:43,540 INFO L273 TraceCheckUtils]: 30: Hoare triple {5327#(= (bvadd linear_search_~j~0 (_ bv4294967291 32)) (_ bv0 32))} assume !!#t~short1;havoc #t~short1;havoc #t~mem0;#t~post2 := ~j~0;~j~0 := ~bvadd32(1bv32, #t~post2);havoc #t~post2; {5340#(= (bvadd linear_search_~j~0 (_ bv4294967290 32)) (_ bv0 32))} is VALID [2018-11-23 11:25:43,540 INFO L273 TraceCheckUtils]: 31: Hoare triple {5340#(= (bvadd linear_search_~j~0 (_ bv4294967290 32)) (_ bv0 32))} assume 20bv32 == ~j~0;~j~0 := 4294967295bv32; {5240#false} is VALID [2018-11-23 11:25:43,540 INFO L273 TraceCheckUtils]: 32: Hoare triple {5240#false} #t~short1 := ~bvult32(~j~0, ~n); {5240#false} is VALID [2018-11-23 11:25:43,541 INFO L273 TraceCheckUtils]: 33: Hoare triple {5240#false} assume !#t~short1; {5240#false} is VALID [2018-11-23 11:25:43,541 INFO L273 TraceCheckUtils]: 34: Hoare triple {5240#false} assume !#t~short1;havoc #t~short1;havoc #t~mem0; {5240#false} is VALID [2018-11-23 11:25:43,541 INFO L273 TraceCheckUtils]: 35: Hoare triple {5240#false} assume !~bvult32(~j~0, ~SIZE~0);#res := 0bv32; {5240#false} is VALID [2018-11-23 11:25:43,541 INFO L273 TraceCheckUtils]: 36: Hoare triple {5240#false} assume true; {5240#false} is VALID [2018-11-23 11:25:43,541 INFO L268 TraceCheckUtils]: 37: Hoare quadruple {5240#false} {5239#true} #57#return; {5240#false} is VALID [2018-11-23 11:25:43,541 INFO L256 TraceCheckUtils]: 38: Hoare triple {5240#false} call __VERIFIER_assert(#t~ret4); {5240#false} is VALID [2018-11-23 11:25:43,541 INFO L273 TraceCheckUtils]: 39: Hoare triple {5240#false} ~cond := #in~cond; {5240#false} is VALID [2018-11-23 11:25:43,541 INFO L273 TraceCheckUtils]: 40: Hoare triple {5240#false} assume 0bv32 == ~cond; {5240#false} is VALID [2018-11-23 11:25:43,542 INFO L273 TraceCheckUtils]: 41: Hoare triple {5240#false} assume !false; {5240#false} is VALID [2018-11-23 11:25:43,543 INFO L134 CoverageAnalysis]: Checked inductivity of 78 backedges. 18 proven. 60 refuted. 0 times theorem prover too weak. 0 trivial. 0 not checked. [2018-11-23 11:25:43,543 INFO L316 TraceCheckSpWp]: Computing backward predicates... [2018-11-23 11:25:44,192 INFO L273 TraceCheckUtils]: 41: Hoare triple {5240#false} assume !false; {5240#false} is VALID [2018-11-23 11:25:44,192 INFO L273 TraceCheckUtils]: 40: Hoare triple {5240#false} assume 0bv32 == ~cond; {5240#false} is VALID [2018-11-23 11:25:44,192 INFO L273 TraceCheckUtils]: 39: Hoare triple {5240#false} ~cond := #in~cond; {5240#false} is VALID [2018-11-23 11:25:44,193 INFO L256 TraceCheckUtils]: 38: Hoare triple {5240#false} call __VERIFIER_assert(#t~ret4); {5240#false} is VALID [2018-11-23 11:25:44,193 INFO L268 TraceCheckUtils]: 37: Hoare quadruple {5240#false} {5239#true} #57#return; {5240#false} is VALID [2018-11-23 11:25:44,193 INFO L273 TraceCheckUtils]: 36: Hoare triple {5240#false} assume true; {5240#false} is VALID [2018-11-23 11:25:44,193 INFO L273 TraceCheckUtils]: 35: Hoare triple {5240#false} assume !~bvult32(~j~0, ~SIZE~0);#res := 0bv32; {5240#false} is VALID [2018-11-23 11:25:44,193 INFO L273 TraceCheckUtils]: 34: Hoare triple {5240#false} assume !#t~short1;havoc #t~short1;havoc #t~mem0; {5240#false} is VALID [2018-11-23 11:25:44,193 INFO L273 TraceCheckUtils]: 33: Hoare triple {5240#false} assume !#t~short1; {5240#false} is VALID [2018-11-23 11:25:44,193 INFO L273 TraceCheckUtils]: 32: Hoare triple {5240#false} #t~short1 := ~bvult32(~j~0, ~n); {5240#false} is VALID [2018-11-23 11:25:44,194 INFO L273 TraceCheckUtils]: 31: Hoare triple {5407#(not (= (bvadd linear_search_~j~0 (_ bv4294967276 32)) (_ bv0 32)))} assume 20bv32 == ~j~0;~j~0 := 4294967295bv32; {5240#false} is VALID [2018-11-23 11:25:44,194 INFO L273 TraceCheckUtils]: 30: Hoare triple {5411#(not (= (_ bv19 32) linear_search_~j~0))} assume !!#t~short1;havoc #t~short1;havoc #t~mem0;#t~post2 := ~j~0;~j~0 := ~bvadd32(1bv32, #t~post2);havoc #t~post2; {5407#(not (= (bvadd linear_search_~j~0 (_ bv4294967276 32)) (_ bv0 32)))} is VALID [2018-11-23 11:25:44,195 INFO L273 TraceCheckUtils]: 29: Hoare triple {5411#(not (= (_ bv19 32) linear_search_~j~0))} assume #t~short1;call #t~mem0 := read~intINTTYPE4(~a.base, ~bvadd32(~a.offset, ~bvmul32(4bv32, ~j~0)), 4bv32);#t~short1 := #t~mem0 != ~q; {5411#(not (= (_ bv19 32) linear_search_~j~0))} is VALID [2018-11-23 11:25:44,195 INFO L273 TraceCheckUtils]: 28: Hoare triple {5411#(not (= (_ bv19 32) linear_search_~j~0))} #t~short1 := ~bvult32(~j~0, ~n); {5411#(not (= (_ bv19 32) linear_search_~j~0))} is VALID [2018-11-23 11:25:44,195 INFO L273 TraceCheckUtils]: 27: Hoare triple {5411#(not (= (_ bv19 32) linear_search_~j~0))} assume !(20bv32 == ~j~0); {5411#(not (= (_ bv19 32) linear_search_~j~0))} is VALID [2018-11-23 11:25:44,196 INFO L273 TraceCheckUtils]: 26: Hoare triple {5424#(not (= (bvadd linear_search_~j~0 (_ bv4294967278 32)) (_ bv0 32)))} assume !!#t~short1;havoc #t~short1;havoc #t~mem0;#t~post2 := ~j~0;~j~0 := ~bvadd32(1bv32, #t~post2);havoc #t~post2; {5411#(not (= (_ bv19 32) linear_search_~j~0))} is VALID [2018-11-23 11:25:44,197 INFO L273 TraceCheckUtils]: 25: Hoare triple {5424#(not (= (bvadd linear_search_~j~0 (_ bv4294967278 32)) (_ bv0 32)))} assume #t~short1;call #t~mem0 := read~intINTTYPE4(~a.base, ~bvadd32(~a.offset, ~bvmul32(4bv32, ~j~0)), 4bv32);#t~short1 := #t~mem0 != ~q; {5424#(not (= (bvadd linear_search_~j~0 (_ bv4294967278 32)) (_ bv0 32)))} is VALID [2018-11-23 11:25:44,197 INFO L273 TraceCheckUtils]: 24: Hoare triple {5424#(not (= (bvadd linear_search_~j~0 (_ bv4294967278 32)) (_ bv0 32)))} #t~short1 := ~bvult32(~j~0, ~n); {5424#(not (= (bvadd linear_search_~j~0 (_ bv4294967278 32)) (_ bv0 32)))} is VALID [2018-11-23 11:25:44,198 INFO L273 TraceCheckUtils]: 23: Hoare triple {5424#(not (= (bvadd linear_search_~j~0 (_ bv4294967278 32)) (_ bv0 32)))} assume !(20bv32 == ~j~0); {5424#(not (= (bvadd linear_search_~j~0 (_ bv4294967278 32)) (_ bv0 32)))} is VALID [2018-11-23 11:25:44,198 INFO L273 TraceCheckUtils]: 22: Hoare triple {5437#(not (= (_ bv17 32) linear_search_~j~0))} assume !!#t~short1;havoc #t~short1;havoc #t~mem0;#t~post2 := ~j~0;~j~0 := ~bvadd32(1bv32, #t~post2);havoc #t~post2; {5424#(not (= (bvadd linear_search_~j~0 (_ bv4294967278 32)) (_ bv0 32)))} is VALID [2018-11-23 11:25:44,199 INFO L273 TraceCheckUtils]: 21: Hoare triple {5437#(not (= (_ bv17 32) linear_search_~j~0))} assume #t~short1;call #t~mem0 := read~intINTTYPE4(~a.base, ~bvadd32(~a.offset, ~bvmul32(4bv32, ~j~0)), 4bv32);#t~short1 := #t~mem0 != ~q; {5437#(not (= (_ bv17 32) linear_search_~j~0))} is VALID [2018-11-23 11:25:44,199 INFO L273 TraceCheckUtils]: 20: Hoare triple {5437#(not (= (_ bv17 32) linear_search_~j~0))} #t~short1 := ~bvult32(~j~0, ~n); {5437#(not (= (_ bv17 32) linear_search_~j~0))} is VALID [2018-11-23 11:25:44,200 INFO L273 TraceCheckUtils]: 19: Hoare triple {5437#(not (= (_ bv17 32) linear_search_~j~0))} assume !(20bv32 == ~j~0); {5437#(not (= (_ bv17 32) linear_search_~j~0))} is VALID [2018-11-23 11:25:44,201 INFO L273 TraceCheckUtils]: 18: Hoare triple {5450#(not (= (bvadd linear_search_~j~0 (_ bv4294967280 32)) (_ bv0 32)))} assume !!#t~short1;havoc #t~short1;havoc #t~mem0;#t~post2 := ~j~0;~j~0 := ~bvadd32(1bv32, #t~post2);havoc #t~post2; {5437#(not (= (_ bv17 32) linear_search_~j~0))} is VALID [2018-11-23 11:25:44,201 INFO L273 TraceCheckUtils]: 17: Hoare triple {5450#(not (= (bvadd linear_search_~j~0 (_ bv4294967280 32)) (_ bv0 32)))} assume #t~short1;call #t~mem0 := read~intINTTYPE4(~a.base, ~bvadd32(~a.offset, ~bvmul32(4bv32, ~j~0)), 4bv32);#t~short1 := #t~mem0 != ~q; {5450#(not (= (bvadd linear_search_~j~0 (_ bv4294967280 32)) (_ bv0 32)))} is VALID [2018-11-23 11:25:44,202 INFO L273 TraceCheckUtils]: 16: Hoare triple {5450#(not (= (bvadd linear_search_~j~0 (_ bv4294967280 32)) (_ bv0 32)))} #t~short1 := ~bvult32(~j~0, ~n); {5450#(not (= (bvadd linear_search_~j~0 (_ bv4294967280 32)) (_ bv0 32)))} is VALID [2018-11-23 11:25:44,202 INFO L273 TraceCheckUtils]: 15: Hoare triple {5450#(not (= (bvadd linear_search_~j~0 (_ bv4294967280 32)) (_ bv0 32)))} assume !(20bv32 == ~j~0); {5450#(not (= (bvadd linear_search_~j~0 (_ bv4294967280 32)) (_ bv0 32)))} is VALID [2018-11-23 11:25:44,208 INFO L273 TraceCheckUtils]: 14: Hoare triple {5463#(not (= (_ bv15 32) linear_search_~j~0))} assume !!#t~short1;havoc #t~short1;havoc #t~mem0;#t~post2 := ~j~0;~j~0 := ~bvadd32(1bv32, #t~post2);havoc #t~post2; {5450#(not (= (bvadd linear_search_~j~0 (_ bv4294967280 32)) (_ bv0 32)))} is VALID [2018-11-23 11:25:44,208 INFO L273 TraceCheckUtils]: 13: Hoare triple {5463#(not (= (_ bv15 32) linear_search_~j~0))} assume #t~short1;call #t~mem0 := read~intINTTYPE4(~a.base, ~bvadd32(~a.offset, ~bvmul32(4bv32, ~j~0)), 4bv32);#t~short1 := #t~mem0 != ~q; {5463#(not (= (_ bv15 32) linear_search_~j~0))} is VALID [2018-11-23 11:25:44,209 INFO L273 TraceCheckUtils]: 12: Hoare triple {5463#(not (= (_ bv15 32) linear_search_~j~0))} #t~short1 := ~bvult32(~j~0, ~n); {5463#(not (= (_ bv15 32) linear_search_~j~0))} is VALID [2018-11-23 11:25:44,209 INFO L273 TraceCheckUtils]: 11: Hoare triple {5463#(not (= (_ bv15 32) linear_search_~j~0))} assume !(20bv32 == ~j~0); {5463#(not (= (_ bv15 32) linear_search_~j~0))} is VALID [2018-11-23 11:25:44,209 INFO L273 TraceCheckUtils]: 10: Hoare triple {5476#(not (= (bvadd linear_search_~j~0 (_ bv4294967282 32)) (_ bv0 32)))} assume !!#t~short1;havoc #t~short1;havoc #t~mem0;#t~post2 := ~j~0;~j~0 := ~bvadd32(1bv32, #t~post2);havoc #t~post2; {5463#(not (= (_ bv15 32) linear_search_~j~0))} is VALID [2018-11-23 11:25:44,210 INFO L273 TraceCheckUtils]: 9: Hoare triple {5476#(not (= (bvadd linear_search_~j~0 (_ bv4294967282 32)) (_ bv0 32)))} assume #t~short1;call #t~mem0 := read~intINTTYPE4(~a.base, ~bvadd32(~a.offset, ~bvmul32(4bv32, ~j~0)), 4bv32);#t~short1 := #t~mem0 != ~q; {5476#(not (= (bvadd linear_search_~j~0 (_ bv4294967282 32)) (_ bv0 32)))} is VALID [2018-11-23 11:25:44,210 INFO L273 TraceCheckUtils]: 8: Hoare triple {5476#(not (= (bvadd linear_search_~j~0 (_ bv4294967282 32)) (_ bv0 32)))} #t~short1 := ~bvult32(~j~0, ~n); {5476#(not (= (bvadd linear_search_~j~0 (_ bv4294967282 32)) (_ bv0 32)))} is VALID [2018-11-23 11:25:44,210 INFO L273 TraceCheckUtils]: 7: Hoare triple {5239#true} ~a.base, ~a.offset := #in~a.base, #in~a.offset;~n := #in~n;~q := #in~q;~j~0 := 0bv32; {5476#(not (= (bvadd linear_search_~j~0 (_ bv4294967282 32)) (_ bv0 32)))} is VALID [2018-11-23 11:25:44,211 INFO L256 TraceCheckUtils]: 6: Hoare triple {5239#true} call #t~ret4 := linear_search(~#a~0.base, ~#a~0.offset, ~SIZE~0, 3bv32); {5239#true} is VALID [2018-11-23 11:25:44,211 INFO L273 TraceCheckUtils]: 5: Hoare triple {5239#true} ~SIZE~0 := ~bvadd32(1bv32, ~bvudiv32(#t~nondet3, 2bv32));havoc #t~nondet3;call ~#a~0.base, ~#a~0.offset := #Ultimate.alloc(~bvmul32(4bv32, ~SIZE~0));call write~intINTTYPE4(3bv32, ~#a~0.base, ~bvadd32(~#a~0.offset, ~bvmul32(4bv32, ~bvudiv32(~SIZE~0, 2bv32))), 4bv32); {5239#true} is VALID [2018-11-23 11:25:44,211 INFO L256 TraceCheckUtils]: 4: Hoare triple {5239#true} call #t~ret5 := main(); {5239#true} is VALID [2018-11-23 11:25:44,211 INFO L268 TraceCheckUtils]: 3: Hoare quadruple {5239#true} {5239#true} #53#return; {5239#true} is VALID [2018-11-23 11:25:44,211 INFO L273 TraceCheckUtils]: 2: Hoare triple {5239#true} assume true; {5239#true} is VALID [2018-11-23 11:25:44,212 INFO L273 TraceCheckUtils]: 1: Hoare triple {5239#true} #NULL.base, #NULL.offset := 0bv32, 0bv32;#valid := #valid[0bv32 := 0bv1];~SIZE~0 := 0bv32; {5239#true} is VALID [2018-11-23 11:25:44,212 INFO L256 TraceCheckUtils]: 0: Hoare triple {5239#true} call ULTIMATE.init(); {5239#true} is VALID [2018-11-23 11:25:44,214 INFO L134 CoverageAnalysis]: Checked inductivity of 78 backedges. 18 proven. 60 refuted. 0 times theorem prover too weak. 0 trivial. 0 not checked. [2018-11-23 11:25:44,216 INFO L312 seRefinementStrategy]: Constructing automaton from 0 perfect and 2 imperfect interpolant sequences. [2018-11-23 11:25:44,216 INFO L327 seRefinementStrategy]: Number of different interpolants: perfect sequences [] imperfect sequences [9, 9] total 16 [2018-11-23 11:25:44,216 INFO L78 Accepts]: Start accepts. Automaton has 16 states. Word has length 42 [2018-11-23 11:25:44,216 INFO L84 Accepts]: Finished accepts. word is accepted. [2018-11-23 11:25:44,217 INFO L86 InductivityCheck]: Starting indutivity check of a Floyd-Hoare automaton with 16 states. [2018-11-23 11:25:44,318 INFO L119 InductivityCheck]: Floyd-Hoare automaton has 67 edges. 67 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2018-11-23 11:25:44,319 INFO L459 AbstractCegarLoop]: Interpolant automaton has 16 states [2018-11-23 11:25:44,319 INFO L142 InterpolantAutomaton]: Constructing interpolant automaton starting with 16 interpolants. [2018-11-23 11:25:44,319 INFO L144 InterpolantAutomaton]: CoverageRelationStatistics Valid=78, Invalid=162, Unknown=0, NotChecked=0, Total=240 [2018-11-23 11:25:44,319 INFO L87 Difference]: Start difference. First operand 72 states and 81 transitions. Second operand 16 states. [2018-11-23 11:25:46,744 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2018-11-23 11:25:46,745 INFO L93 Difference]: Finished difference Result 247 states and 305 transitions. [2018-11-23 11:25:46,745 INFO L142 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 16 states. [2018-11-23 11:25:46,745 INFO L78 Accepts]: Start accepts. Automaton has 16 states. Word has length 42 [2018-11-23 11:25:46,745 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2018-11-23 11:25:46,745 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 16 states. [2018-11-23 11:25:46,748 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 16 states to 16 states and 131 transitions. [2018-11-23 11:25:46,748 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 16 states. [2018-11-23 11:25:46,750 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 16 states to 16 states and 131 transitions. [2018-11-23 11:25:46,750 INFO L86 InductivityCheck]: Starting indutivity check of a Floyd-Hoare automaton with 16 states and 131 transitions. [2018-11-23 11:25:47,363 INFO L119 InductivityCheck]: Floyd-Hoare automaton has 131 edges. 131 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2018-11-23 11:25:47,373 INFO L225 Difference]: With dead ends: 247 [2018-11-23 11:25:47,373 INFO L226 Difference]: Without dead ends: 197 [2018-11-23 11:25:47,374 INFO L631 BasicCegarLoop]: 0 DeclaredPredicates, 89 GetRequests, 69 SyntacticMatches, 0 SemanticMatches, 20 ConstructedPredicates, 0 IntricatePredicates, 0 DeprecatedPredicates, 15 ImplicationChecksByTransitivity, 0.6s TimeCoverageRelationStatistics Valid=174, Invalid=288, Unknown=0, NotChecked=0, Total=462 [2018-11-23 11:25:47,374 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 197 states. [2018-11-23 11:25:48,099 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 197 to 164. [2018-11-23 11:25:48,099 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2018-11-23 11:25:48,099 INFO L82 GeneralOperation]: Start isEquivalent. First operand 197 states. Second operand 164 states. [2018-11-23 11:25:48,099 INFO L74 IsIncluded]: Start isIncluded. First operand 197 states. Second operand 164 states. [2018-11-23 11:25:48,100 INFO L87 Difference]: Start difference. First operand 197 states. Second operand 164 states. [2018-11-23 11:25:48,105 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2018-11-23 11:25:48,105 INFO L93 Difference]: Finished difference Result 197 states and 220 transitions. [2018-11-23 11:25:48,105 INFO L276 IsEmpty]: Start isEmpty. Operand 197 states and 220 transitions. [2018-11-23 11:25:48,106 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2018-11-23 11:25:48,106 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2018-11-23 11:25:48,106 INFO L74 IsIncluded]: Start isIncluded. First operand 164 states. Second operand 197 states. [2018-11-23 11:25:48,106 INFO L87 Difference]: Start difference. First operand 164 states. Second operand 197 states. [2018-11-23 11:25:48,111 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2018-11-23 11:25:48,111 INFO L93 Difference]: Finished difference Result 197 states and 220 transitions. [2018-11-23 11:25:48,111 INFO L276 IsEmpty]: Start isEmpty. Operand 197 states and 220 transitions. [2018-11-23 11:25:48,112 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2018-11-23 11:25:48,112 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2018-11-23 11:25:48,112 INFO L88 GeneralOperation]: Finished isEquivalent. [2018-11-23 11:25:48,112 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2018-11-23 11:25:48,112 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 164 states. [2018-11-23 11:25:48,115 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 164 states to 164 states and 186 transitions. [2018-11-23 11:25:48,116 INFO L78 Accepts]: Start accepts. Automaton has 164 states and 186 transitions. Word has length 42 [2018-11-23 11:25:48,116 INFO L84 Accepts]: Finished accepts. word is rejected. [2018-11-23 11:25:48,116 INFO L480 AbstractCegarLoop]: Abstraction has 164 states and 186 transitions. [2018-11-23 11:25:48,116 INFO L481 AbstractCegarLoop]: Interpolant automaton has 16 states. [2018-11-23 11:25:48,116 INFO L276 IsEmpty]: Start isEmpty. Operand 164 states and 186 transitions. [2018-11-23 11:25:48,117 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 43 [2018-11-23 11:25:48,117 INFO L394 BasicCegarLoop]: Found error trace [2018-11-23 11:25:48,117 INFO L402 BasicCegarLoop]: trace histogram [7, 6, 6, 6, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1] [2018-11-23 11:25:48,117 INFO L423 AbstractCegarLoop]: === Iteration 14 === [__VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION]=== [2018-11-23 11:25:48,118 INFO L141 PredicateUnifier]: Initialized classic predicate unifier [2018-11-23 11:25:48,118 INFO L82 PathProgramCache]: Analyzing trace with hash 1173877735, now seen corresponding path program 6 times [2018-11-23 11:25:48,118 INFO L223 ckRefinementStrategy]: Switched to mode CVC4_FPBP [2018-11-23 11:25:48,118 INFO L69 tionRefinementEngine]: Using refinement strategy WolfRefinementStrategy No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/cvc4nyu Starting monitored process 15 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 15 with cvc4nyu --tear-down-incremental --print-success --lang smt --rewrite-divk [2018-11-23 11:25:48,142 INFO L101 rtionOrderModulation]: Changing assertion order to MIX_INSIDE_OUTSIDE [2018-11-23 11:25:48,450 INFO L249 tOrderPrioritization]: Assert order MIX_INSIDE_OUTSIDE issued 7 check-sat command(s) [2018-11-23 11:25:48,451 INFO L250 tOrderPrioritization]: Conjunction of SSA is unsat [2018-11-23 11:25:48,481 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2018-11-23 11:25:48,483 INFO L273 TraceCheckSpWp]: Computing forward predicates... [2018-11-23 11:25:48,515 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 17 treesize of output 14 [2018-11-23 11:25:48,521 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 14 treesize of output 13 [2018-11-23 11:25:48,523 INFO L267 ElimStorePlain]: Start of recursive call 3: End of recursive call: and 1 xjuncts. [2018-11-23 11:25:48,528 INFO L267 ElimStorePlain]: Start of recursive call 2: 1 dim-1 vars, End of recursive call: and 1 xjuncts. [2018-11-23 11:25:48,540 INFO L267 ElimStorePlain]: Start of recursive call 1: 1 dim-2 vars, End of recursive call: and 1 xjuncts. [2018-11-23 11:25:48,541 INFO L202 ElimStorePlain]: Needed 3 recursive calls to eliminate 1 variables, input treesize:21, output treesize:17 [2018-11-23 11:25:49,260 WARN L180 SmtUtils]: Spent 119.00 ms on a formula simplification that was a NOOP. DAG size: 36 [2018-11-23 11:25:49,475 WARN L180 SmtUtils]: Spent 110.00 ms on a formula simplification that was a NOOP. DAG size: 41 [2018-11-23 11:25:50,142 WARN L180 SmtUtils]: Spent 224.00 ms on a formula simplification. DAG size of input: 39 DAG size of output: 39 [2018-11-23 11:25:50,854 WARN L180 SmtUtils]: Spent 183.00 ms on a formula simplification. DAG size of input: 37 DAG size of output: 37 [2018-11-23 11:25:51,245 INFO L256 TraceCheckUtils]: 0: Hoare triple {6425#true} call ULTIMATE.init(); {6425#true} is VALID [2018-11-23 11:25:51,245 INFO L273 TraceCheckUtils]: 1: Hoare triple {6425#true} #NULL.base, #NULL.offset := 0bv32, 0bv32;#valid := #valid[0bv32 := 0bv1];~SIZE~0 := 0bv32; {6425#true} is VALID [2018-11-23 11:25:51,245 INFO L273 TraceCheckUtils]: 2: Hoare triple {6425#true} assume true; {6425#true} is VALID [2018-11-23 11:25:51,245 INFO L268 TraceCheckUtils]: 3: Hoare quadruple {6425#true} {6425#true} #53#return; {6425#true} is VALID [2018-11-23 11:25:51,246 INFO L256 TraceCheckUtils]: 4: Hoare triple {6425#true} call #t~ret5 := main(); {6425#true} is VALID [2018-11-23 11:25:51,247 INFO L273 TraceCheckUtils]: 5: Hoare triple {6425#true} ~SIZE~0 := ~bvadd32(1bv32, ~bvudiv32(#t~nondet3, 2bv32));havoc #t~nondet3;call ~#a~0.base, ~#a~0.offset := #Ultimate.alloc(~bvmul32(4bv32, ~SIZE~0));call write~intINTTYPE4(3bv32, ~#a~0.base, ~bvadd32(~#a~0.offset, ~bvmul32(4bv32, ~bvudiv32(~SIZE~0, 2bv32))), 4bv32); {6445#(and (= |main_~#a~0.offset| (_ bv0 32)) (= (_ bv3 32) (select (select |#memory_int| |main_~#a~0.base|) (bvadd (bvmul (_ bv4 32) (bvudiv ~SIZE~0 (_ bv2 32))) |main_~#a~0.offset|))))} is VALID [2018-11-23 11:25:53,255 INFO L256 TraceCheckUtils]: 6: Hoare triple {6445#(and (= |main_~#a~0.offset| (_ bv0 32)) (= (_ bv3 32) (select (select |#memory_int| |main_~#a~0.base|) (bvadd (bvmul (_ bv4 32) (bvudiv ~SIZE~0 (_ bv2 32))) |main_~#a~0.offset|))))} call #t~ret4 := linear_search(~#a~0.base, ~#a~0.offset, ~SIZE~0, 3bv32); {6449#(exists ((|v_main_~#a~0.base_BEFORE_CALL_16| (_ BitVec 32))) (= (bvadd (select (select |#memory_int| |v_main_~#a~0.base_BEFORE_CALL_16|) (bvmul (_ bv4 32) (bvudiv ~SIZE~0 (_ bv2 32)))) (_ bv4294967293 32)) (_ bv0 32)))} is UNKNOWN [2018-11-23 11:25:53,256 INFO L273 TraceCheckUtils]: 7: Hoare triple {6449#(exists ((|v_main_~#a~0.base_BEFORE_CALL_16| (_ BitVec 32))) (= (bvadd (select (select |#memory_int| |v_main_~#a~0.base_BEFORE_CALL_16|) (bvmul (_ bv4 32) (bvudiv ~SIZE~0 (_ bv2 32)))) (_ bv4294967293 32)) (_ bv0 32)))} ~a.base, ~a.offset := #in~a.base, #in~a.offset;~n := #in~n;~q := #in~q;~j~0 := 0bv32; {6453#(and (exists ((|v_main_~#a~0.base_BEFORE_CALL_16| (_ BitVec 32))) (= (bvadd (select (select |#memory_int| |v_main_~#a~0.base_BEFORE_CALL_16|) (bvmul (_ bv4 32) (bvudiv ~SIZE~0 (_ bv2 32)))) (_ bv4294967293 32)) (_ bv0 32))) (= linear_search_~n |linear_search_#in~n|) (= linear_search_~q |linear_search_#in~q|) (= linear_search_~j~0 (_ bv0 32)) (= linear_search_~a.offset |linear_search_#in~a.offset|) (= |linear_search_#in~a.base| linear_search_~a.base))} is VALID [2018-11-23 11:25:53,257 INFO L273 TraceCheckUtils]: 8: Hoare triple {6453#(and (exists ((|v_main_~#a~0.base_BEFORE_CALL_16| (_ BitVec 32))) (= (bvadd (select (select |#memory_int| |v_main_~#a~0.base_BEFORE_CALL_16|) (bvmul (_ bv4 32) (bvudiv ~SIZE~0 (_ bv2 32)))) (_ bv4294967293 32)) (_ bv0 32))) (= linear_search_~n |linear_search_#in~n|) (= linear_search_~q |linear_search_#in~q|) (= linear_search_~j~0 (_ bv0 32)) (= linear_search_~a.offset |linear_search_#in~a.offset|) (= |linear_search_#in~a.base| linear_search_~a.base))} #t~short1 := ~bvult32(~j~0, ~n); {6453#(and (exists ((|v_main_~#a~0.base_BEFORE_CALL_16| (_ BitVec 32))) (= (bvadd (select (select |#memory_int| |v_main_~#a~0.base_BEFORE_CALL_16|) (bvmul (_ bv4 32) (bvudiv ~SIZE~0 (_ bv2 32)))) (_ bv4294967293 32)) (_ bv0 32))) (= linear_search_~n |linear_search_#in~n|) (= linear_search_~q |linear_search_#in~q|) (= linear_search_~j~0 (_ bv0 32)) (= linear_search_~a.offset |linear_search_#in~a.offset|) (= |linear_search_#in~a.base| linear_search_~a.base))} is VALID [2018-11-23 11:25:53,258 INFO L273 TraceCheckUtils]: 9: Hoare triple {6453#(and (exists ((|v_main_~#a~0.base_BEFORE_CALL_16| (_ BitVec 32))) (= (bvadd (select (select |#memory_int| |v_main_~#a~0.base_BEFORE_CALL_16|) (bvmul (_ bv4 32) (bvudiv ~SIZE~0 (_ bv2 32)))) (_ bv4294967293 32)) (_ bv0 32))) (= linear_search_~n |linear_search_#in~n|) (= linear_search_~q |linear_search_#in~q|) (= linear_search_~j~0 (_ bv0 32)) (= linear_search_~a.offset |linear_search_#in~a.offset|) (= |linear_search_#in~a.base| linear_search_~a.base))} assume #t~short1;call #t~mem0 := read~intINTTYPE4(~a.base, ~bvadd32(~a.offset, ~bvmul32(4bv32, ~j~0)), 4bv32);#t~short1 := #t~mem0 != ~q; {6453#(and (exists ((|v_main_~#a~0.base_BEFORE_CALL_16| (_ BitVec 32))) (= (bvadd (select (select |#memory_int| |v_main_~#a~0.base_BEFORE_CALL_16|) (bvmul (_ bv4 32) (bvudiv ~SIZE~0 (_ bv2 32)))) (_ bv4294967293 32)) (_ bv0 32))) (= linear_search_~n |linear_search_#in~n|) (= linear_search_~q |linear_search_#in~q|) (= linear_search_~j~0 (_ bv0 32)) (= linear_search_~a.offset |linear_search_#in~a.offset|) (= |linear_search_#in~a.base| linear_search_~a.base))} is VALID [2018-11-23 11:25:53,260 INFO L273 TraceCheckUtils]: 10: Hoare triple {6453#(and (exists ((|v_main_~#a~0.base_BEFORE_CALL_16| (_ BitVec 32))) (= (bvadd (select (select |#memory_int| |v_main_~#a~0.base_BEFORE_CALL_16|) (bvmul (_ bv4 32) (bvudiv ~SIZE~0 (_ bv2 32)))) (_ bv4294967293 32)) (_ bv0 32))) (= linear_search_~n |linear_search_#in~n|) (= linear_search_~q |linear_search_#in~q|) (= linear_search_~j~0 (_ bv0 32)) (= linear_search_~a.offset |linear_search_#in~a.offset|) (= |linear_search_#in~a.base| linear_search_~a.base))} assume !!#t~short1;havoc #t~short1;havoc #t~mem0;#t~post2 := ~j~0;~j~0 := ~bvadd32(1bv32, #t~post2);havoc #t~post2; {6463#(and (exists ((|v_main_~#a~0.base_BEFORE_CALL_16| (_ BitVec 32))) (= (bvadd (select (select |#memory_int| |v_main_~#a~0.base_BEFORE_CALL_16|) (bvmul (_ bv4 32) (bvudiv ~SIZE~0 (_ bv2 32)))) (_ bv4294967293 32)) (_ bv0 32))) (= (bvadd linear_search_~j~0 (_ bv4294967295 32)) (_ bv0 32)) (= linear_search_~n |linear_search_#in~n|) (= linear_search_~q |linear_search_#in~q|) (= linear_search_~a.offset |linear_search_#in~a.offset|) (= |linear_search_#in~a.base| linear_search_~a.base))} is VALID [2018-11-23 11:25:53,261 INFO L273 TraceCheckUtils]: 11: Hoare triple {6463#(and (exists ((|v_main_~#a~0.base_BEFORE_CALL_16| (_ BitVec 32))) (= (bvadd (select (select |#memory_int| |v_main_~#a~0.base_BEFORE_CALL_16|) (bvmul (_ bv4 32) (bvudiv ~SIZE~0 (_ bv2 32)))) (_ bv4294967293 32)) (_ bv0 32))) (= (bvadd linear_search_~j~0 (_ bv4294967295 32)) (_ bv0 32)) (= linear_search_~n |linear_search_#in~n|) (= linear_search_~q |linear_search_#in~q|) (= linear_search_~a.offset |linear_search_#in~a.offset|) (= |linear_search_#in~a.base| linear_search_~a.base))} assume !(20bv32 == ~j~0); {6463#(and (exists ((|v_main_~#a~0.base_BEFORE_CALL_16| (_ BitVec 32))) (= (bvadd (select (select |#memory_int| |v_main_~#a~0.base_BEFORE_CALL_16|) (bvmul (_ bv4 32) (bvudiv ~SIZE~0 (_ bv2 32)))) (_ bv4294967293 32)) (_ bv0 32))) (= (bvadd linear_search_~j~0 (_ bv4294967295 32)) (_ bv0 32)) (= linear_search_~n |linear_search_#in~n|) (= linear_search_~q |linear_search_#in~q|) (= linear_search_~a.offset |linear_search_#in~a.offset|) (= |linear_search_#in~a.base| linear_search_~a.base))} is VALID [2018-11-23 11:25:53,262 INFO L273 TraceCheckUtils]: 12: Hoare triple {6463#(and (exists ((|v_main_~#a~0.base_BEFORE_CALL_16| (_ BitVec 32))) (= (bvadd (select (select |#memory_int| |v_main_~#a~0.base_BEFORE_CALL_16|) (bvmul (_ bv4 32) (bvudiv ~SIZE~0 (_ bv2 32)))) (_ bv4294967293 32)) (_ bv0 32))) (= (bvadd linear_search_~j~0 (_ bv4294967295 32)) (_ bv0 32)) (= linear_search_~n |linear_search_#in~n|) (= linear_search_~q |linear_search_#in~q|) (= linear_search_~a.offset |linear_search_#in~a.offset|) (= |linear_search_#in~a.base| linear_search_~a.base))} #t~short1 := ~bvult32(~j~0, ~n); {6463#(and (exists ((|v_main_~#a~0.base_BEFORE_CALL_16| (_ BitVec 32))) (= (bvadd (select (select |#memory_int| |v_main_~#a~0.base_BEFORE_CALL_16|) (bvmul (_ bv4 32) (bvudiv ~SIZE~0 (_ bv2 32)))) (_ bv4294967293 32)) (_ bv0 32))) (= (bvadd linear_search_~j~0 (_ bv4294967295 32)) (_ bv0 32)) (= linear_search_~n |linear_search_#in~n|) (= linear_search_~q |linear_search_#in~q|) (= linear_search_~a.offset |linear_search_#in~a.offset|) (= |linear_search_#in~a.base| linear_search_~a.base))} is VALID [2018-11-23 11:25:53,263 INFO L273 TraceCheckUtils]: 13: Hoare triple {6463#(and (exists ((|v_main_~#a~0.base_BEFORE_CALL_16| (_ BitVec 32))) (= (bvadd (select (select |#memory_int| |v_main_~#a~0.base_BEFORE_CALL_16|) (bvmul (_ bv4 32) (bvudiv ~SIZE~0 (_ bv2 32)))) (_ bv4294967293 32)) (_ bv0 32))) (= (bvadd linear_search_~j~0 (_ bv4294967295 32)) (_ bv0 32)) (= linear_search_~n |linear_search_#in~n|) (= linear_search_~q |linear_search_#in~q|) (= linear_search_~a.offset |linear_search_#in~a.offset|) (= |linear_search_#in~a.base| linear_search_~a.base))} assume #t~short1;call #t~mem0 := read~intINTTYPE4(~a.base, ~bvadd32(~a.offset, ~bvmul32(4bv32, ~j~0)), 4bv32);#t~short1 := #t~mem0 != ~q; {6463#(and (exists ((|v_main_~#a~0.base_BEFORE_CALL_16| (_ BitVec 32))) (= (bvadd (select (select |#memory_int| |v_main_~#a~0.base_BEFORE_CALL_16|) (bvmul (_ bv4 32) (bvudiv ~SIZE~0 (_ bv2 32)))) (_ bv4294967293 32)) (_ bv0 32))) (= (bvadd linear_search_~j~0 (_ bv4294967295 32)) (_ bv0 32)) (= linear_search_~n |linear_search_#in~n|) (= linear_search_~q |linear_search_#in~q|) (= linear_search_~a.offset |linear_search_#in~a.offset|) (= |linear_search_#in~a.base| linear_search_~a.base))} is VALID [2018-11-23 11:25:53,263 INFO L273 TraceCheckUtils]: 14: Hoare triple {6463#(and (exists ((|v_main_~#a~0.base_BEFORE_CALL_16| (_ BitVec 32))) (= (bvadd (select (select |#memory_int| |v_main_~#a~0.base_BEFORE_CALL_16|) (bvmul (_ bv4 32) (bvudiv ~SIZE~0 (_ bv2 32)))) (_ bv4294967293 32)) (_ bv0 32))) (= (bvadd linear_search_~j~0 (_ bv4294967295 32)) (_ bv0 32)) (= linear_search_~n |linear_search_#in~n|) (= linear_search_~q |linear_search_#in~q|) (= linear_search_~a.offset |linear_search_#in~a.offset|) (= |linear_search_#in~a.base| linear_search_~a.base))} assume !!#t~short1;havoc #t~short1;havoc #t~mem0;#t~post2 := ~j~0;~j~0 := ~bvadd32(1bv32, #t~post2);havoc #t~post2; {6476#(and (exists ((|v_main_~#a~0.base_BEFORE_CALL_16| (_ BitVec 32))) (= (bvadd (select (select |#memory_int| |v_main_~#a~0.base_BEFORE_CALL_16|) (bvmul (_ bv4 32) (bvudiv ~SIZE~0 (_ bv2 32)))) (_ bv4294967293 32)) (_ bv0 32))) (= (_ bv2 32) linear_search_~j~0) (= linear_search_~n |linear_search_#in~n|) (= linear_search_~q |linear_search_#in~q|) (= linear_search_~a.offset |linear_search_#in~a.offset|) (= |linear_search_#in~a.base| linear_search_~a.base))} is VALID [2018-11-23 11:25:53,264 INFO L273 TraceCheckUtils]: 15: Hoare triple {6476#(and (exists ((|v_main_~#a~0.base_BEFORE_CALL_16| (_ BitVec 32))) (= (bvadd (select (select |#memory_int| |v_main_~#a~0.base_BEFORE_CALL_16|) (bvmul (_ bv4 32) (bvudiv ~SIZE~0 (_ bv2 32)))) (_ bv4294967293 32)) (_ bv0 32))) (= (_ bv2 32) linear_search_~j~0) (= linear_search_~n |linear_search_#in~n|) (= linear_search_~q |linear_search_#in~q|) (= linear_search_~a.offset |linear_search_#in~a.offset|) (= |linear_search_#in~a.base| linear_search_~a.base))} assume !(20bv32 == ~j~0); {6476#(and (exists ((|v_main_~#a~0.base_BEFORE_CALL_16| (_ BitVec 32))) (= (bvadd (select (select |#memory_int| |v_main_~#a~0.base_BEFORE_CALL_16|) (bvmul (_ bv4 32) (bvudiv ~SIZE~0 (_ bv2 32)))) (_ bv4294967293 32)) (_ bv0 32))) (= (_ bv2 32) linear_search_~j~0) (= linear_search_~n |linear_search_#in~n|) (= linear_search_~q |linear_search_#in~q|) (= linear_search_~a.offset |linear_search_#in~a.offset|) (= |linear_search_#in~a.base| linear_search_~a.base))} is VALID [2018-11-23 11:25:53,264 INFO L273 TraceCheckUtils]: 16: Hoare triple {6476#(and (exists ((|v_main_~#a~0.base_BEFORE_CALL_16| (_ BitVec 32))) (= (bvadd (select (select |#memory_int| |v_main_~#a~0.base_BEFORE_CALL_16|) (bvmul (_ bv4 32) (bvudiv ~SIZE~0 (_ bv2 32)))) (_ bv4294967293 32)) (_ bv0 32))) (= (_ bv2 32) linear_search_~j~0) (= linear_search_~n |linear_search_#in~n|) (= linear_search_~q |linear_search_#in~q|) (= linear_search_~a.offset |linear_search_#in~a.offset|) (= |linear_search_#in~a.base| linear_search_~a.base))} #t~short1 := ~bvult32(~j~0, ~n); {6476#(and (exists ((|v_main_~#a~0.base_BEFORE_CALL_16| (_ BitVec 32))) (= (bvadd (select (select |#memory_int| |v_main_~#a~0.base_BEFORE_CALL_16|) (bvmul (_ bv4 32) (bvudiv ~SIZE~0 (_ bv2 32)))) (_ bv4294967293 32)) (_ bv0 32))) (= (_ bv2 32) linear_search_~j~0) (= linear_search_~n |linear_search_#in~n|) (= linear_search_~q |linear_search_#in~q|) (= linear_search_~a.offset |linear_search_#in~a.offset|) (= |linear_search_#in~a.base| linear_search_~a.base))} is VALID [2018-11-23 11:25:53,265 INFO L273 TraceCheckUtils]: 17: Hoare triple {6476#(and (exists ((|v_main_~#a~0.base_BEFORE_CALL_16| (_ BitVec 32))) (= (bvadd (select (select |#memory_int| |v_main_~#a~0.base_BEFORE_CALL_16|) (bvmul (_ bv4 32) (bvudiv ~SIZE~0 (_ bv2 32)))) (_ bv4294967293 32)) (_ bv0 32))) (= (_ bv2 32) linear_search_~j~0) (= linear_search_~n |linear_search_#in~n|) (= linear_search_~q |linear_search_#in~q|) (= linear_search_~a.offset |linear_search_#in~a.offset|) (= |linear_search_#in~a.base| linear_search_~a.base))} assume #t~short1;call #t~mem0 := read~intINTTYPE4(~a.base, ~bvadd32(~a.offset, ~bvmul32(4bv32, ~j~0)), 4bv32);#t~short1 := #t~mem0 != ~q; {6476#(and (exists ((|v_main_~#a~0.base_BEFORE_CALL_16| (_ BitVec 32))) (= (bvadd (select (select |#memory_int| |v_main_~#a~0.base_BEFORE_CALL_16|) (bvmul (_ bv4 32) (bvudiv ~SIZE~0 (_ bv2 32)))) (_ bv4294967293 32)) (_ bv0 32))) (= (_ bv2 32) linear_search_~j~0) (= linear_search_~n |linear_search_#in~n|) (= linear_search_~q |linear_search_#in~q|) (= linear_search_~a.offset |linear_search_#in~a.offset|) (= |linear_search_#in~a.base| linear_search_~a.base))} is VALID [2018-11-23 11:25:53,266 INFO L273 TraceCheckUtils]: 18: Hoare triple {6476#(and (exists ((|v_main_~#a~0.base_BEFORE_CALL_16| (_ BitVec 32))) (= (bvadd (select (select |#memory_int| |v_main_~#a~0.base_BEFORE_CALL_16|) (bvmul (_ bv4 32) (bvudiv ~SIZE~0 (_ bv2 32)))) (_ bv4294967293 32)) (_ bv0 32))) (= (_ bv2 32) linear_search_~j~0) (= linear_search_~n |linear_search_#in~n|) (= linear_search_~q |linear_search_#in~q|) (= linear_search_~a.offset |linear_search_#in~a.offset|) (= |linear_search_#in~a.base| linear_search_~a.base))} assume !!#t~short1;havoc #t~short1;havoc #t~mem0;#t~post2 := ~j~0;~j~0 := ~bvadd32(1bv32, #t~post2);havoc #t~post2; {6489#(and (exists ((|v_main_~#a~0.base_BEFORE_CALL_16| (_ BitVec 32))) (= (bvadd (select (select |#memory_int| |v_main_~#a~0.base_BEFORE_CALL_16|) (bvmul (_ bv4 32) (bvudiv ~SIZE~0 (_ bv2 32)))) (_ bv4294967293 32)) (_ bv0 32))) (= (bvadd linear_search_~j~0 (_ bv4294967293 32)) (_ bv0 32)) (= linear_search_~n |linear_search_#in~n|) (= linear_search_~q |linear_search_#in~q|) (= linear_search_~a.offset |linear_search_#in~a.offset|) (= |linear_search_#in~a.base| linear_search_~a.base))} is VALID [2018-11-23 11:25:53,267 INFO L273 TraceCheckUtils]: 19: Hoare triple {6489#(and (exists ((|v_main_~#a~0.base_BEFORE_CALL_16| (_ BitVec 32))) (= (bvadd (select (select |#memory_int| |v_main_~#a~0.base_BEFORE_CALL_16|) (bvmul (_ bv4 32) (bvudiv ~SIZE~0 (_ bv2 32)))) (_ bv4294967293 32)) (_ bv0 32))) (= (bvadd linear_search_~j~0 (_ bv4294967293 32)) (_ bv0 32)) (= linear_search_~n |linear_search_#in~n|) (= linear_search_~q |linear_search_#in~q|) (= linear_search_~a.offset |linear_search_#in~a.offset|) (= |linear_search_#in~a.base| linear_search_~a.base))} assume !(20bv32 == ~j~0); {6489#(and (exists ((|v_main_~#a~0.base_BEFORE_CALL_16| (_ BitVec 32))) (= (bvadd (select (select |#memory_int| |v_main_~#a~0.base_BEFORE_CALL_16|) (bvmul (_ bv4 32) (bvudiv ~SIZE~0 (_ bv2 32)))) (_ bv4294967293 32)) (_ bv0 32))) (= (bvadd linear_search_~j~0 (_ bv4294967293 32)) (_ bv0 32)) (= linear_search_~n |linear_search_#in~n|) (= linear_search_~q |linear_search_#in~q|) (= linear_search_~a.offset |linear_search_#in~a.offset|) (= |linear_search_#in~a.base| linear_search_~a.base))} is VALID [2018-11-23 11:25:53,270 INFO L273 TraceCheckUtils]: 20: Hoare triple {6489#(and (exists ((|v_main_~#a~0.base_BEFORE_CALL_16| (_ BitVec 32))) (= (bvadd (select (select |#memory_int| |v_main_~#a~0.base_BEFORE_CALL_16|) (bvmul (_ bv4 32) (bvudiv ~SIZE~0 (_ bv2 32)))) (_ bv4294967293 32)) (_ bv0 32))) (= (bvadd linear_search_~j~0 (_ bv4294967293 32)) (_ bv0 32)) (= linear_search_~n |linear_search_#in~n|) (= linear_search_~q |linear_search_#in~q|) (= linear_search_~a.offset |linear_search_#in~a.offset|) (= |linear_search_#in~a.base| linear_search_~a.base))} #t~short1 := ~bvult32(~j~0, ~n); {6496#(or (and (exists ((|v_main_~#a~0.base_BEFORE_CALL_16| (_ BitVec 32))) (= (bvadd (select (select |#memory_int| |v_main_~#a~0.base_BEFORE_CALL_16|) (bvmul (_ bv4 32) (bvudiv ~SIZE~0 (_ bv2 32)))) (_ bv4294967293 32)) (_ bv0 32))) (= (bvadd linear_search_~j~0 (_ bv4294967293 32)) (_ bv0 32)) (= linear_search_~n |linear_search_#in~n|) (bvult linear_search_~j~0 linear_search_~n) (= linear_search_~q |linear_search_#in~q|) |linear_search_#t~short1| (= linear_search_~a.offset |linear_search_#in~a.offset|) (= |linear_search_#in~a.base| linear_search_~a.base)) (and (exists ((|v_main_~#a~0.base_BEFORE_CALL_16| (_ BitVec 32))) (= (bvadd (select (select |#memory_int| |v_main_~#a~0.base_BEFORE_CALL_16|) (bvmul (_ bv4 32) (bvudiv ~SIZE~0 (_ bv2 32)))) (_ bv4294967293 32)) (_ bv0 32))) (= (bvadd linear_search_~j~0 (_ bv4294967293 32)) (_ bv0 32)) (= linear_search_~n |linear_search_#in~n|) (= linear_search_~q |linear_search_#in~q|) (not (bvult linear_search_~j~0 linear_search_~n)) (not |linear_search_#t~short1|) (= linear_search_~a.offset |linear_search_#in~a.offset|) (= |linear_search_#in~a.base| linear_search_~a.base)))} is VALID [2018-11-23 11:25:53,386 INFO L273 TraceCheckUtils]: 21: Hoare triple {6496#(or (and (exists ((|v_main_~#a~0.base_BEFORE_CALL_16| (_ BitVec 32))) (= (bvadd (select (select |#memory_int| |v_main_~#a~0.base_BEFORE_CALL_16|) (bvmul (_ bv4 32) (bvudiv ~SIZE~0 (_ bv2 32)))) (_ bv4294967293 32)) (_ bv0 32))) (= (bvadd linear_search_~j~0 (_ bv4294967293 32)) (_ bv0 32)) (= linear_search_~n |linear_search_#in~n|) (bvult linear_search_~j~0 linear_search_~n) (= linear_search_~q |linear_search_#in~q|) |linear_search_#t~short1| (= linear_search_~a.offset |linear_search_#in~a.offset|) (= |linear_search_#in~a.base| linear_search_~a.base)) (and (exists ((|v_main_~#a~0.base_BEFORE_CALL_16| (_ BitVec 32))) (= (bvadd (select (select |#memory_int| |v_main_~#a~0.base_BEFORE_CALL_16|) (bvmul (_ bv4 32) (bvudiv ~SIZE~0 (_ bv2 32)))) (_ bv4294967293 32)) (_ bv0 32))) (= (bvadd linear_search_~j~0 (_ bv4294967293 32)) (_ bv0 32)) (= linear_search_~n |linear_search_#in~n|) (= linear_search_~q |linear_search_#in~q|) (not (bvult linear_search_~j~0 linear_search_~n)) (not |linear_search_#t~short1|) (= linear_search_~a.offset |linear_search_#in~a.offset|) (= |linear_search_#in~a.base| linear_search_~a.base)))} assume #t~short1;call #t~mem0 := read~intINTTYPE4(~a.base, ~bvadd32(~a.offset, ~bvmul32(4bv32, ~j~0)), 4bv32);#t~short1 := #t~mem0 != ~q; {6500#(or (and (= (bvadd linear_search_~j~0 (_ bv4294967293 32)) (_ bv0 32)) (exists ((v_prenex_4 (_ BitVec 32))) (= (bvadd (select (select |#memory_int| v_prenex_4) (bvmul (_ bv4 32) (bvudiv ~SIZE~0 (_ bv2 32)))) (_ bv4294967293 32)) (_ bv0 32))) (= linear_search_~n |linear_search_#in~n|) (bvult linear_search_~j~0 linear_search_~n) (not |linear_search_#t~short1|) (= (select (select |#memory_int| |linear_search_#in~a.base|) (bvadd |linear_search_#in~a.offset| (bvmul (_ bv4 32) linear_search_~j~0))) |linear_search_#in~q|)) (and (exists ((|v_main_~#a~0.base_BEFORE_CALL_16| (_ BitVec 32))) (= (bvadd (select (select |#memory_int| |v_main_~#a~0.base_BEFORE_CALL_16|) (bvmul (_ bv4 32) (bvudiv ~SIZE~0 (_ bv2 32)))) (_ bv4294967293 32)) (_ bv0 32))) (not (= (select (select |#memory_int| |linear_search_#in~a.base|) (bvadd |linear_search_#in~a.offset| (bvmul (_ bv4 32) linear_search_~j~0))) |linear_search_#in~q|)) (= (bvadd linear_search_~j~0 (_ bv4294967293 32)) (_ bv0 32)) (= linear_search_~n |linear_search_#in~n|) (bvult linear_search_~j~0 linear_search_~n) |linear_search_#t~short1|))} is VALID [2018-11-23 11:25:53,426 INFO L273 TraceCheckUtils]: 22: Hoare triple {6500#(or (and (= (bvadd linear_search_~j~0 (_ bv4294967293 32)) (_ bv0 32)) (exists ((v_prenex_4 (_ BitVec 32))) (= (bvadd (select (select |#memory_int| v_prenex_4) (bvmul (_ bv4 32) (bvudiv ~SIZE~0 (_ bv2 32)))) (_ bv4294967293 32)) (_ bv0 32))) (= linear_search_~n |linear_search_#in~n|) (bvult linear_search_~j~0 linear_search_~n) (not |linear_search_#t~short1|) (= (select (select |#memory_int| |linear_search_#in~a.base|) (bvadd |linear_search_#in~a.offset| (bvmul (_ bv4 32) linear_search_~j~0))) |linear_search_#in~q|)) (and (exists ((|v_main_~#a~0.base_BEFORE_CALL_16| (_ BitVec 32))) (= (bvadd (select (select |#memory_int| |v_main_~#a~0.base_BEFORE_CALL_16|) (bvmul (_ bv4 32) (bvudiv ~SIZE~0 (_ bv2 32)))) (_ bv4294967293 32)) (_ bv0 32))) (not (= (select (select |#memory_int| |linear_search_#in~a.base|) (bvadd |linear_search_#in~a.offset| (bvmul (_ bv4 32) linear_search_~j~0))) |linear_search_#in~q|)) (= (bvadd linear_search_~j~0 (_ bv4294967293 32)) (_ bv0 32)) (= linear_search_~n |linear_search_#in~n|) (bvult linear_search_~j~0 linear_search_~n) |linear_search_#t~short1|))} assume !!#t~short1;havoc #t~short1;havoc #t~mem0;#t~post2 := ~j~0;~j~0 := ~bvadd32(1bv32, #t~post2);havoc #t~post2; {6504#(and (exists ((|v_main_~#a~0.base_BEFORE_CALL_16| (_ BitVec 32))) (= (bvadd (select (select |#memory_int| |v_main_~#a~0.base_BEFORE_CALL_16|) (bvmul (_ bv4 32) (bvudiv ~SIZE~0 (_ bv2 32)))) (_ bv4294967293 32)) (_ bv0 32))) (bvult (bvadd linear_search_~j~0 (_ bv4294967295 32)) linear_search_~n) (= linear_search_~n |linear_search_#in~n|) (not (= (select (select |#memory_int| |linear_search_#in~a.base|) (bvadd |linear_search_#in~a.offset| (bvmul (_ bv4 32) linear_search_~j~0) (_ bv4294967292 32))) |linear_search_#in~q|)) (= (_ bv4 32) linear_search_~j~0))} is VALID [2018-11-23 11:25:53,427 INFO L273 TraceCheckUtils]: 23: Hoare triple {6504#(and (exists ((|v_main_~#a~0.base_BEFORE_CALL_16| (_ BitVec 32))) (= (bvadd (select (select |#memory_int| |v_main_~#a~0.base_BEFORE_CALL_16|) (bvmul (_ bv4 32) (bvudiv ~SIZE~0 (_ bv2 32)))) (_ bv4294967293 32)) (_ bv0 32))) (bvult (bvadd linear_search_~j~0 (_ bv4294967295 32)) linear_search_~n) (= linear_search_~n |linear_search_#in~n|) (not (= (select (select |#memory_int| |linear_search_#in~a.base|) (bvadd |linear_search_#in~a.offset| (bvmul (_ bv4 32) linear_search_~j~0) (_ bv4294967292 32))) |linear_search_#in~q|)) (= (_ bv4 32) linear_search_~j~0))} assume !(20bv32 == ~j~0); {6504#(and (exists ((|v_main_~#a~0.base_BEFORE_CALL_16| (_ BitVec 32))) (= (bvadd (select (select |#memory_int| |v_main_~#a~0.base_BEFORE_CALL_16|) (bvmul (_ bv4 32) (bvudiv ~SIZE~0 (_ bv2 32)))) (_ bv4294967293 32)) (_ bv0 32))) (bvult (bvadd linear_search_~j~0 (_ bv4294967295 32)) linear_search_~n) (= linear_search_~n |linear_search_#in~n|) (not (= (select (select |#memory_int| |linear_search_#in~a.base|) (bvadd |linear_search_#in~a.offset| (bvmul (_ bv4 32) linear_search_~j~0) (_ bv4294967292 32))) |linear_search_#in~q|)) (= (_ bv4 32) linear_search_~j~0))} is VALID [2018-11-23 11:25:53,429 INFO L273 TraceCheckUtils]: 24: Hoare triple {6504#(and (exists ((|v_main_~#a~0.base_BEFORE_CALL_16| (_ BitVec 32))) (= (bvadd (select (select |#memory_int| |v_main_~#a~0.base_BEFORE_CALL_16|) (bvmul (_ bv4 32) (bvudiv ~SIZE~0 (_ bv2 32)))) (_ bv4294967293 32)) (_ bv0 32))) (bvult (bvadd linear_search_~j~0 (_ bv4294967295 32)) linear_search_~n) (= linear_search_~n |linear_search_#in~n|) (not (= (select (select |#memory_int| |linear_search_#in~a.base|) (bvadd |linear_search_#in~a.offset| (bvmul (_ bv4 32) linear_search_~j~0) (_ bv4294967292 32))) |linear_search_#in~q|)) (= (_ bv4 32) linear_search_~j~0))} #t~short1 := ~bvult32(~j~0, ~n); {6504#(and (exists ((|v_main_~#a~0.base_BEFORE_CALL_16| (_ BitVec 32))) (= (bvadd (select (select |#memory_int| |v_main_~#a~0.base_BEFORE_CALL_16|) (bvmul (_ bv4 32) (bvudiv ~SIZE~0 (_ bv2 32)))) (_ bv4294967293 32)) (_ bv0 32))) (bvult (bvadd linear_search_~j~0 (_ bv4294967295 32)) linear_search_~n) (= linear_search_~n |linear_search_#in~n|) (not (= (select (select |#memory_int| |linear_search_#in~a.base|) (bvadd |linear_search_#in~a.offset| (bvmul (_ bv4 32) linear_search_~j~0) (_ bv4294967292 32))) |linear_search_#in~q|)) (= (_ bv4 32) linear_search_~j~0))} is VALID [2018-11-23 11:25:53,431 INFO L273 TraceCheckUtils]: 25: Hoare triple {6504#(and (exists ((|v_main_~#a~0.base_BEFORE_CALL_16| (_ BitVec 32))) (= (bvadd (select (select |#memory_int| |v_main_~#a~0.base_BEFORE_CALL_16|) (bvmul (_ bv4 32) (bvudiv ~SIZE~0 (_ bv2 32)))) (_ bv4294967293 32)) (_ bv0 32))) (bvult (bvadd linear_search_~j~0 (_ bv4294967295 32)) linear_search_~n) (= linear_search_~n |linear_search_#in~n|) (not (= (select (select |#memory_int| |linear_search_#in~a.base|) (bvadd |linear_search_#in~a.offset| (bvmul (_ bv4 32) linear_search_~j~0) (_ bv4294967292 32))) |linear_search_#in~q|)) (= (_ bv4 32) linear_search_~j~0))} assume #t~short1;call #t~mem0 := read~intINTTYPE4(~a.base, ~bvadd32(~a.offset, ~bvmul32(4bv32, ~j~0)), 4bv32);#t~short1 := #t~mem0 != ~q; {6504#(and (exists ((|v_main_~#a~0.base_BEFORE_CALL_16| (_ BitVec 32))) (= (bvadd (select (select |#memory_int| |v_main_~#a~0.base_BEFORE_CALL_16|) (bvmul (_ bv4 32) (bvudiv ~SIZE~0 (_ bv2 32)))) (_ bv4294967293 32)) (_ bv0 32))) (bvult (bvadd linear_search_~j~0 (_ bv4294967295 32)) linear_search_~n) (= linear_search_~n |linear_search_#in~n|) (not (= (select (select |#memory_int| |linear_search_#in~a.base|) (bvadd |linear_search_#in~a.offset| (bvmul (_ bv4 32) linear_search_~j~0) (_ bv4294967292 32))) |linear_search_#in~q|)) (= (_ bv4 32) linear_search_~j~0))} is VALID [2018-11-23 11:25:53,434 INFO L273 TraceCheckUtils]: 26: Hoare triple {6504#(and (exists ((|v_main_~#a~0.base_BEFORE_CALL_16| (_ BitVec 32))) (= (bvadd (select (select |#memory_int| |v_main_~#a~0.base_BEFORE_CALL_16|) (bvmul (_ bv4 32) (bvudiv ~SIZE~0 (_ bv2 32)))) (_ bv4294967293 32)) (_ bv0 32))) (bvult (bvadd linear_search_~j~0 (_ bv4294967295 32)) linear_search_~n) (= linear_search_~n |linear_search_#in~n|) (not (= (select (select |#memory_int| |linear_search_#in~a.base|) (bvadd |linear_search_#in~a.offset| (bvmul (_ bv4 32) linear_search_~j~0) (_ bv4294967292 32))) |linear_search_#in~q|)) (= (_ bv4 32) linear_search_~j~0))} assume !!#t~short1;havoc #t~short1;havoc #t~mem0;#t~post2 := ~j~0;~j~0 := ~bvadd32(1bv32, #t~post2);havoc #t~post2; {6517#(and (exists ((|v_main_~#a~0.base_BEFORE_CALL_16| (_ BitVec 32))) (= (bvadd (select (select |#memory_int| |v_main_~#a~0.base_BEFORE_CALL_16|) (bvmul (_ bv4 32) (bvudiv ~SIZE~0 (_ bv2 32)))) (_ bv4294967293 32)) (_ bv0 32))) (not (= (select (select |#memory_int| |linear_search_#in~a.base|) (bvadd |linear_search_#in~a.offset| (_ bv12 32))) |linear_search_#in~q|)) (bvult (_ bv3 32) linear_search_~n) (= linear_search_~n |linear_search_#in~n|) (= (bvadd linear_search_~j~0 (_ bv4294967291 32)) (_ bv0 32)))} is VALID [2018-11-23 11:25:53,435 INFO L273 TraceCheckUtils]: 27: Hoare triple {6517#(and (exists ((|v_main_~#a~0.base_BEFORE_CALL_16| (_ BitVec 32))) (= (bvadd (select (select |#memory_int| |v_main_~#a~0.base_BEFORE_CALL_16|) (bvmul (_ bv4 32) (bvudiv ~SIZE~0 (_ bv2 32)))) (_ bv4294967293 32)) (_ bv0 32))) (not (= (select (select |#memory_int| |linear_search_#in~a.base|) (bvadd |linear_search_#in~a.offset| (_ bv12 32))) |linear_search_#in~q|)) (bvult (_ bv3 32) linear_search_~n) (= linear_search_~n |linear_search_#in~n|) (= (bvadd linear_search_~j~0 (_ bv4294967291 32)) (_ bv0 32)))} assume !(20bv32 == ~j~0); {6517#(and (exists ((|v_main_~#a~0.base_BEFORE_CALL_16| (_ BitVec 32))) (= (bvadd (select (select |#memory_int| |v_main_~#a~0.base_BEFORE_CALL_16|) (bvmul (_ bv4 32) (bvudiv ~SIZE~0 (_ bv2 32)))) (_ bv4294967293 32)) (_ bv0 32))) (not (= (select (select |#memory_int| |linear_search_#in~a.base|) (bvadd |linear_search_#in~a.offset| (_ bv12 32))) |linear_search_#in~q|)) (bvult (_ bv3 32) linear_search_~n) (= linear_search_~n |linear_search_#in~n|) (= (bvadd linear_search_~j~0 (_ bv4294967291 32)) (_ bv0 32)))} is VALID [2018-11-23 11:25:53,437 INFO L273 TraceCheckUtils]: 28: Hoare triple {6517#(and (exists ((|v_main_~#a~0.base_BEFORE_CALL_16| (_ BitVec 32))) (= (bvadd (select (select |#memory_int| |v_main_~#a~0.base_BEFORE_CALL_16|) (bvmul (_ bv4 32) (bvudiv ~SIZE~0 (_ bv2 32)))) (_ bv4294967293 32)) (_ bv0 32))) (not (= (select (select |#memory_int| |linear_search_#in~a.base|) (bvadd |linear_search_#in~a.offset| (_ bv12 32))) |linear_search_#in~q|)) (bvult (_ bv3 32) linear_search_~n) (= linear_search_~n |linear_search_#in~n|) (= (bvadd linear_search_~j~0 (_ bv4294967291 32)) (_ bv0 32)))} #t~short1 := ~bvult32(~j~0, ~n); {6524#(or (and (exists ((|v_main_~#a~0.base_BEFORE_CALL_16| (_ BitVec 32))) (= (bvadd (select (select |#memory_int| |v_main_~#a~0.base_BEFORE_CALL_16|) (bvmul (_ bv4 32) (bvudiv ~SIZE~0 (_ bv2 32)))) (_ bv4294967293 32)) (_ bv0 32))) (not (= (select (select |#memory_int| |linear_search_#in~a.base|) (bvadd |linear_search_#in~a.offset| (_ bv12 32))) |linear_search_#in~q|)) (bvult (_ bv3 32) linear_search_~n) (= linear_search_~n |linear_search_#in~n|) (= (bvadd linear_search_~j~0 (_ bv4294967291 32)) (_ bv0 32)) (not (bvult linear_search_~j~0 linear_search_~n)) (not |linear_search_#t~short1|)) (and (exists ((|v_main_~#a~0.base_BEFORE_CALL_16| (_ BitVec 32))) (= (bvadd (select (select |#memory_int| |v_main_~#a~0.base_BEFORE_CALL_16|) (bvmul (_ bv4 32) (bvudiv ~SIZE~0 (_ bv2 32)))) (_ bv4294967293 32)) (_ bv0 32))) (not (= (select (select |#memory_int| |linear_search_#in~a.base|) (bvadd |linear_search_#in~a.offset| (_ bv12 32))) |linear_search_#in~q|)) (= linear_search_~n |linear_search_#in~n|) (= (bvadd linear_search_~j~0 (_ bv4294967291 32)) (_ bv0 32)) (bvult linear_search_~j~0 linear_search_~n) |linear_search_#t~short1|))} is VALID [2018-11-23 11:25:53,440 INFO L273 TraceCheckUtils]: 29: Hoare triple {6524#(or (and (exists ((|v_main_~#a~0.base_BEFORE_CALL_16| (_ BitVec 32))) (= (bvadd (select (select |#memory_int| |v_main_~#a~0.base_BEFORE_CALL_16|) (bvmul (_ bv4 32) (bvudiv ~SIZE~0 (_ bv2 32)))) (_ bv4294967293 32)) (_ bv0 32))) (not (= (select (select |#memory_int| |linear_search_#in~a.base|) (bvadd |linear_search_#in~a.offset| (_ bv12 32))) |linear_search_#in~q|)) (bvult (_ bv3 32) linear_search_~n) (= linear_search_~n |linear_search_#in~n|) (= (bvadd linear_search_~j~0 (_ bv4294967291 32)) (_ bv0 32)) (not (bvult linear_search_~j~0 linear_search_~n)) (not |linear_search_#t~short1|)) (and (exists ((|v_main_~#a~0.base_BEFORE_CALL_16| (_ BitVec 32))) (= (bvadd (select (select |#memory_int| |v_main_~#a~0.base_BEFORE_CALL_16|) (bvmul (_ bv4 32) (bvudiv ~SIZE~0 (_ bv2 32)))) (_ bv4294967293 32)) (_ bv0 32))) (not (= (select (select |#memory_int| |linear_search_#in~a.base|) (bvadd |linear_search_#in~a.offset| (_ bv12 32))) |linear_search_#in~q|)) (= linear_search_~n |linear_search_#in~n|) (= (bvadd linear_search_~j~0 (_ bv4294967291 32)) (_ bv0 32)) (bvult linear_search_~j~0 linear_search_~n) |linear_search_#t~short1|))} assume #t~short1;call #t~mem0 := read~intINTTYPE4(~a.base, ~bvadd32(~a.offset, ~bvmul32(4bv32, ~j~0)), 4bv32);#t~short1 := #t~mem0 != ~q; {6528#(and (exists ((|v_main_~#a~0.base_BEFORE_CALL_16| (_ BitVec 32))) (= (bvadd (select (select |#memory_int| |v_main_~#a~0.base_BEFORE_CALL_16|) (bvmul (_ bv4 32) (bvudiv ~SIZE~0 (_ bv2 32)))) (_ bv4294967293 32)) (_ bv0 32))) (not (= (select (select |#memory_int| |linear_search_#in~a.base|) (bvadd |linear_search_#in~a.offset| (_ bv12 32))) |linear_search_#in~q|)) (= linear_search_~n |linear_search_#in~n|) (= (bvadd linear_search_~j~0 (_ bv4294967291 32)) (_ bv0 32)) (bvult linear_search_~j~0 linear_search_~n))} is VALID [2018-11-23 11:25:53,442 INFO L273 TraceCheckUtils]: 30: Hoare triple {6528#(and (exists ((|v_main_~#a~0.base_BEFORE_CALL_16| (_ BitVec 32))) (= (bvadd (select (select |#memory_int| |v_main_~#a~0.base_BEFORE_CALL_16|) (bvmul (_ bv4 32) (bvudiv ~SIZE~0 (_ bv2 32)))) (_ bv4294967293 32)) (_ bv0 32))) (not (= (select (select |#memory_int| |linear_search_#in~a.base|) (bvadd |linear_search_#in~a.offset| (_ bv12 32))) |linear_search_#in~q|)) (= linear_search_~n |linear_search_#in~n|) (= (bvadd linear_search_~j~0 (_ bv4294967291 32)) (_ bv0 32)) (bvult linear_search_~j~0 linear_search_~n))} assume !!#t~short1;havoc #t~short1;havoc #t~mem0;#t~post2 := ~j~0;~j~0 := ~bvadd32(1bv32, #t~post2);havoc #t~post2; {6532#(and (exists ((|v_main_~#a~0.base_BEFORE_CALL_16| (_ BitVec 32))) (= (bvadd (select (select |#memory_int| |v_main_~#a~0.base_BEFORE_CALL_16|) (bvmul (_ bv4 32) (bvudiv ~SIZE~0 (_ bv2 32)))) (_ bv4294967293 32)) (_ bv0 32))) (not (= (select (select |#memory_int| |linear_search_#in~a.base|) (bvadd |linear_search_#in~a.offset| (_ bv12 32))) |linear_search_#in~q|)) (bvult (_ bv5 32) linear_search_~n) (= linear_search_~n |linear_search_#in~n|) (= (bvadd linear_search_~j~0 (_ bv4294967290 32)) (_ bv0 32)))} is VALID [2018-11-23 11:25:53,444 INFO L273 TraceCheckUtils]: 31: Hoare triple {6532#(and (exists ((|v_main_~#a~0.base_BEFORE_CALL_16| (_ BitVec 32))) (= (bvadd (select (select |#memory_int| |v_main_~#a~0.base_BEFORE_CALL_16|) (bvmul (_ bv4 32) (bvudiv ~SIZE~0 (_ bv2 32)))) (_ bv4294967293 32)) (_ bv0 32))) (not (= (select (select |#memory_int| |linear_search_#in~a.base|) (bvadd |linear_search_#in~a.offset| (_ bv12 32))) |linear_search_#in~q|)) (bvult (_ bv5 32) linear_search_~n) (= linear_search_~n |linear_search_#in~n|) (= (bvadd linear_search_~j~0 (_ bv4294967290 32)) (_ bv0 32)))} assume !(20bv32 == ~j~0); {6532#(and (exists ((|v_main_~#a~0.base_BEFORE_CALL_16| (_ BitVec 32))) (= (bvadd (select (select |#memory_int| |v_main_~#a~0.base_BEFORE_CALL_16|) (bvmul (_ bv4 32) (bvudiv ~SIZE~0 (_ bv2 32)))) (_ bv4294967293 32)) (_ bv0 32))) (not (= (select (select |#memory_int| |linear_search_#in~a.base|) (bvadd |linear_search_#in~a.offset| (_ bv12 32))) |linear_search_#in~q|)) (bvult (_ bv5 32) linear_search_~n) (= linear_search_~n |linear_search_#in~n|) (= (bvadd linear_search_~j~0 (_ bv4294967290 32)) (_ bv0 32)))} is VALID [2018-11-23 11:25:53,446 INFO L273 TraceCheckUtils]: 32: Hoare triple {6532#(and (exists ((|v_main_~#a~0.base_BEFORE_CALL_16| (_ BitVec 32))) (= (bvadd (select (select |#memory_int| |v_main_~#a~0.base_BEFORE_CALL_16|) (bvmul (_ bv4 32) (bvudiv ~SIZE~0 (_ bv2 32)))) (_ bv4294967293 32)) (_ bv0 32))) (not (= (select (select |#memory_int| |linear_search_#in~a.base|) (bvadd |linear_search_#in~a.offset| (_ bv12 32))) |linear_search_#in~q|)) (bvult (_ bv5 32) linear_search_~n) (= linear_search_~n |linear_search_#in~n|) (= (bvadd linear_search_~j~0 (_ bv4294967290 32)) (_ bv0 32)))} #t~short1 := ~bvult32(~j~0, ~n); {6539#(or (and (exists ((|v_main_~#a~0.base_BEFORE_CALL_16| (_ BitVec 32))) (= (bvadd (select (select |#memory_int| |v_main_~#a~0.base_BEFORE_CALL_16|) (bvmul (_ bv4 32) (bvudiv ~SIZE~0 (_ bv2 32)))) (_ bv4294967293 32)) (_ bv0 32))) (not (= (select (select |#memory_int| |linear_search_#in~a.base|) (bvadd |linear_search_#in~a.offset| (_ bv12 32))) |linear_search_#in~q|)) (not (bvult linear_search_~j~0 |linear_search_#in~n|)) (not |linear_search_#t~short1|) (= (bvadd linear_search_~j~0 (_ bv4294967290 32)) (_ bv0 32)) (bvult (_ bv5 32) |linear_search_#in~n|)) (and (exists ((|v_main_~#a~0.base_BEFORE_CALL_16| (_ BitVec 32))) (= (bvadd (select (select |#memory_int| |v_main_~#a~0.base_BEFORE_CALL_16|) (bvmul (_ bv4 32) (bvudiv ~SIZE~0 (_ bv2 32)))) (_ bv4294967293 32)) (_ bv0 32))) (not (= (select (select |#memory_int| |linear_search_#in~a.base|) (bvadd |linear_search_#in~a.offset| (_ bv12 32))) |linear_search_#in~q|)) (= (bvadd linear_search_~j~0 (_ bv4294967290 32)) (_ bv0 32)) (bvult linear_search_~j~0 |linear_search_#in~n|) |linear_search_#t~short1|))} is VALID [2018-11-23 11:25:53,447 INFO L273 TraceCheckUtils]: 33: Hoare triple {6539#(or (and (exists ((|v_main_~#a~0.base_BEFORE_CALL_16| (_ BitVec 32))) (= (bvadd (select (select |#memory_int| |v_main_~#a~0.base_BEFORE_CALL_16|) (bvmul (_ bv4 32) (bvudiv ~SIZE~0 (_ bv2 32)))) (_ bv4294967293 32)) (_ bv0 32))) (not (= (select (select |#memory_int| |linear_search_#in~a.base|) (bvadd |linear_search_#in~a.offset| (_ bv12 32))) |linear_search_#in~q|)) (not (bvult linear_search_~j~0 |linear_search_#in~n|)) (not |linear_search_#t~short1|) (= (bvadd linear_search_~j~0 (_ bv4294967290 32)) (_ bv0 32)) (bvult (_ bv5 32) |linear_search_#in~n|)) (and (exists ((|v_main_~#a~0.base_BEFORE_CALL_16| (_ BitVec 32))) (= (bvadd (select (select |#memory_int| |v_main_~#a~0.base_BEFORE_CALL_16|) (bvmul (_ bv4 32) (bvudiv ~SIZE~0 (_ bv2 32)))) (_ bv4294967293 32)) (_ bv0 32))) (not (= (select (select |#memory_int| |linear_search_#in~a.base|) (bvadd |linear_search_#in~a.offset| (_ bv12 32))) |linear_search_#in~q|)) (= (bvadd linear_search_~j~0 (_ bv4294967290 32)) (_ bv0 32)) (bvult linear_search_~j~0 |linear_search_#in~n|) |linear_search_#t~short1|))} assume !#t~short1; {6543#(and (exists ((|v_main_~#a~0.base_BEFORE_CALL_16| (_ BitVec 32))) (= (bvadd (select (select |#memory_int| |v_main_~#a~0.base_BEFORE_CALL_16|) (bvmul (_ bv4 32) (bvudiv ~SIZE~0 (_ bv2 32)))) (_ bv4294967293 32)) (_ bv0 32))) (not (= (select (select |#memory_int| |linear_search_#in~a.base|) (bvadd |linear_search_#in~a.offset| (_ bv12 32))) |linear_search_#in~q|)) (not (bvult linear_search_~j~0 |linear_search_#in~n|)) (= (bvadd linear_search_~j~0 (_ bv4294967290 32)) (_ bv0 32)) (bvult (_ bv5 32) |linear_search_#in~n|))} is VALID [2018-11-23 11:25:53,448 INFO L273 TraceCheckUtils]: 34: Hoare triple {6543#(and (exists ((|v_main_~#a~0.base_BEFORE_CALL_16| (_ BitVec 32))) (= (bvadd (select (select |#memory_int| |v_main_~#a~0.base_BEFORE_CALL_16|) (bvmul (_ bv4 32) (bvudiv ~SIZE~0 (_ bv2 32)))) (_ bv4294967293 32)) (_ bv0 32))) (not (= (select (select |#memory_int| |linear_search_#in~a.base|) (bvadd |linear_search_#in~a.offset| (_ bv12 32))) |linear_search_#in~q|)) (not (bvult linear_search_~j~0 |linear_search_#in~n|)) (= (bvadd linear_search_~j~0 (_ bv4294967290 32)) (_ bv0 32)) (bvult (_ bv5 32) |linear_search_#in~n|))} assume !#t~short1;havoc #t~short1;havoc #t~mem0; {6543#(and (exists ((|v_main_~#a~0.base_BEFORE_CALL_16| (_ BitVec 32))) (= (bvadd (select (select |#memory_int| |v_main_~#a~0.base_BEFORE_CALL_16|) (bvmul (_ bv4 32) (bvudiv ~SIZE~0 (_ bv2 32)))) (_ bv4294967293 32)) (_ bv0 32))) (not (= (select (select |#memory_int| |linear_search_#in~a.base|) (bvadd |linear_search_#in~a.offset| (_ bv12 32))) |linear_search_#in~q|)) (not (bvult linear_search_~j~0 |linear_search_#in~n|)) (= (bvadd linear_search_~j~0 (_ bv4294967290 32)) (_ bv0 32)) (bvult (_ bv5 32) |linear_search_#in~n|))} is VALID [2018-11-23 11:25:53,450 INFO L273 TraceCheckUtils]: 35: Hoare triple {6543#(and (exists ((|v_main_~#a~0.base_BEFORE_CALL_16| (_ BitVec 32))) (= (bvadd (select (select |#memory_int| |v_main_~#a~0.base_BEFORE_CALL_16|) (bvmul (_ bv4 32) (bvudiv ~SIZE~0 (_ bv2 32)))) (_ bv4294967293 32)) (_ bv0 32))) (not (= (select (select |#memory_int| |linear_search_#in~a.base|) (bvadd |linear_search_#in~a.offset| (_ bv12 32))) |linear_search_#in~q|)) (not (bvult linear_search_~j~0 |linear_search_#in~n|)) (= (bvadd linear_search_~j~0 (_ bv4294967290 32)) (_ bv0 32)) (bvult (_ bv5 32) |linear_search_#in~n|))} assume !~bvult32(~j~0, ~SIZE~0);#res := 0bv32; {6550#(and (exists ((|v_main_~#a~0.base_BEFORE_CALL_16| (_ BitVec 32))) (= (bvadd (select (select |#memory_int| |v_main_~#a~0.base_BEFORE_CALL_16|) (bvmul (_ bv4 32) (bvudiv ~SIZE~0 (_ bv2 32)))) (_ bv4294967293 32)) (_ bv0 32))) (not (= (select (select |#memory_int| |linear_search_#in~a.base|) (bvadd |linear_search_#in~a.offset| (_ bv12 32))) |linear_search_#in~q|)) (not (bvult (_ bv6 32) ~SIZE~0)) (not (bvult (_ bv6 32) |linear_search_#in~n|)) (bvult (_ bv5 32) |linear_search_#in~n|))} is VALID [2018-11-23 11:25:53,452 INFO L273 TraceCheckUtils]: 36: Hoare triple {6550#(and (exists ((|v_main_~#a~0.base_BEFORE_CALL_16| (_ BitVec 32))) (= (bvadd (select (select |#memory_int| |v_main_~#a~0.base_BEFORE_CALL_16|) (bvmul (_ bv4 32) (bvudiv ~SIZE~0 (_ bv2 32)))) (_ bv4294967293 32)) (_ bv0 32))) (not (= (select (select |#memory_int| |linear_search_#in~a.base|) (bvadd |linear_search_#in~a.offset| (_ bv12 32))) |linear_search_#in~q|)) (not (bvult (_ bv6 32) ~SIZE~0)) (not (bvult (_ bv6 32) |linear_search_#in~n|)) (bvult (_ bv5 32) |linear_search_#in~n|))} assume true; {6550#(and (exists ((|v_main_~#a~0.base_BEFORE_CALL_16| (_ BitVec 32))) (= (bvadd (select (select |#memory_int| |v_main_~#a~0.base_BEFORE_CALL_16|) (bvmul (_ bv4 32) (bvudiv ~SIZE~0 (_ bv2 32)))) (_ bv4294967293 32)) (_ bv0 32))) (not (= (select (select |#memory_int| |linear_search_#in~a.base|) (bvadd |linear_search_#in~a.offset| (_ bv12 32))) |linear_search_#in~q|)) (not (bvult (_ bv6 32) ~SIZE~0)) (not (bvult (_ bv6 32) |linear_search_#in~n|)) (bvult (_ bv5 32) |linear_search_#in~n|))} is VALID [2018-11-23 11:25:53,457 INFO L268 TraceCheckUtils]: 37: Hoare quadruple {6550#(and (exists ((|v_main_~#a~0.base_BEFORE_CALL_16| (_ BitVec 32))) (= (bvadd (select (select |#memory_int| |v_main_~#a~0.base_BEFORE_CALL_16|) (bvmul (_ bv4 32) (bvudiv ~SIZE~0 (_ bv2 32)))) (_ bv4294967293 32)) (_ bv0 32))) (not (= (select (select |#memory_int| |linear_search_#in~a.base|) (bvadd |linear_search_#in~a.offset| (_ bv12 32))) |linear_search_#in~q|)) (not (bvult (_ bv6 32) ~SIZE~0)) (not (bvult (_ bv6 32) |linear_search_#in~n|)) (bvult (_ bv5 32) |linear_search_#in~n|))} {6445#(and (= |main_~#a~0.offset| (_ bv0 32)) (= (_ bv3 32) (select (select |#memory_int| |main_~#a~0.base|) (bvadd (bvmul (_ bv4 32) (bvudiv ~SIZE~0 (_ bv2 32))) |main_~#a~0.offset|))))} #57#return; {6426#false} is VALID [2018-11-23 11:25:53,457 INFO L256 TraceCheckUtils]: 38: Hoare triple {6426#false} call __VERIFIER_assert(#t~ret4); {6426#false} is VALID [2018-11-23 11:25:53,457 INFO L273 TraceCheckUtils]: 39: Hoare triple {6426#false} ~cond := #in~cond; {6426#false} is VALID [2018-11-23 11:25:53,458 INFO L273 TraceCheckUtils]: 40: Hoare triple {6426#false} assume 0bv32 == ~cond; {6426#false} is VALID [2018-11-23 11:25:53,458 INFO L273 TraceCheckUtils]: 41: Hoare triple {6426#false} assume !false; {6426#false} is VALID [2018-11-23 11:25:53,468 INFO L134 CoverageAnalysis]: Checked inductivity of 78 backedges. 0 proven. 78 refuted. 0 times theorem prover too weak. 0 trivial. 0 not checked. [2018-11-23 11:25:53,469 INFO L316 TraceCheckSpWp]: Computing backward predicates... [2018-11-23 11:25:53,945 WARN L180 SmtUtils]: Spent 473.00 ms on a formula simplification. DAG size of input: 74 DAG size of output: 56 [2018-11-23 11:25:54,181 WARN L180 SmtUtils]: Spent 157.00 ms on a formula simplification. DAG size of input: 42 DAG size of output: 40