java -ea -Xmx8000000000 -jar /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/plugins/org.eclipse.equinox.launcher_1.3.100.v20150511-1540.jar -data @noDefault -ultimatedata /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/data -tc ../../../trunk/examples/toolchains/AutomizerC.xml -s ../../../trunk/examples/settings/default/automizer/svcomp-Reach-32bit-Automizer_Bitvector-Const.epf -i ../../../trunk/examples/svcomp/loops/linear_search_false-unreach-call.i -------------------------------------------------------------------------------- This is Ultimate 0.1.23-370d6ab [2018-11-14 18:25:45,929 INFO L170 SettingsManager]: Resetting all preferences to default values... [2018-11-14 18:25:45,932 INFO L174 SettingsManager]: Resetting UltimateCore preferences to default values [2018-11-14 18:25:45,949 INFO L177 SettingsManager]: Ultimate Commandline Interface provides no preferences, ignoring... [2018-11-14 18:25:45,950 INFO L174 SettingsManager]: Resetting Boogie Preprocessor preferences to default values [2018-11-14 18:25:45,951 INFO L174 SettingsManager]: Resetting Boogie Procedure Inliner preferences to default values [2018-11-14 18:25:45,952 INFO L174 SettingsManager]: Resetting Abstract Interpretation preferences to default values [2018-11-14 18:25:45,954 INFO L174 SettingsManager]: Resetting LassoRanker preferences to default values [2018-11-14 18:25:45,956 INFO L174 SettingsManager]: Resetting Reaching Definitions preferences to default values [2018-11-14 18:25:45,956 INFO L174 SettingsManager]: Resetting SyntaxChecker preferences to default values [2018-11-14 18:25:45,957 INFO L177 SettingsManager]: Büchi Program Product provides no preferences, ignoring... [2018-11-14 18:25:45,958 INFO L174 SettingsManager]: Resetting LTL2Aut preferences to default values [2018-11-14 18:25:45,959 INFO L174 SettingsManager]: Resetting PEA to Boogie preferences to default values [2018-11-14 18:25:45,960 INFO L174 SettingsManager]: Resetting BlockEncodingV2 preferences to default values [2018-11-14 18:25:45,961 INFO L174 SettingsManager]: Resetting ChcToBoogie preferences to default values [2018-11-14 18:25:45,962 INFO L174 SettingsManager]: Resetting AutomataScriptInterpreter preferences to default values [2018-11-14 18:25:45,963 INFO L174 SettingsManager]: Resetting BuchiAutomizer preferences to default values [2018-11-14 18:25:45,964 INFO L174 SettingsManager]: Resetting CACSL2BoogieTranslator preferences to default values [2018-11-14 18:25:45,967 INFO L174 SettingsManager]: Resetting CodeCheck preferences to default values [2018-11-14 18:25:45,968 INFO L174 SettingsManager]: Resetting InvariantSynthesis preferences to default values [2018-11-14 18:25:45,969 INFO L174 SettingsManager]: Resetting RCFGBuilder preferences to default values [2018-11-14 18:25:45,971 INFO L174 SettingsManager]: Resetting TraceAbstraction preferences to default values [2018-11-14 18:25:45,973 INFO L177 SettingsManager]: TraceAbstractionConcurrent provides no preferences, ignoring... [2018-11-14 18:25:45,974 INFO L177 SettingsManager]: TraceAbstractionWithAFAs provides no preferences, ignoring... [2018-11-14 18:25:45,974 INFO L174 SettingsManager]: Resetting TreeAutomizer preferences to default values [2018-11-14 18:25:45,975 INFO L174 SettingsManager]: Resetting IcfgTransformer preferences to default values [2018-11-14 18:25:45,981 INFO L174 SettingsManager]: Resetting Boogie Printer preferences to default values [2018-11-14 18:25:45,982 INFO L174 SettingsManager]: Resetting ReqPrinter preferences to default values [2018-11-14 18:25:45,982 INFO L174 SettingsManager]: Resetting Witness Printer preferences to default values [2018-11-14 18:25:45,983 INFO L177 SettingsManager]: Boogie PL CUP Parser provides no preferences, ignoring... [2018-11-14 18:25:45,984 INFO L174 SettingsManager]: Resetting CDTParser preferences to default values [2018-11-14 18:25:45,984 INFO L177 SettingsManager]: AutomataScriptParser provides no preferences, ignoring... [2018-11-14 18:25:45,985 INFO L177 SettingsManager]: ReqParser provides no preferences, ignoring... [2018-11-14 18:25:45,985 INFO L174 SettingsManager]: Resetting SmtParser preferences to default values [2018-11-14 18:25:45,989 INFO L174 SettingsManager]: Resetting Witness Parser preferences to default values [2018-11-14 18:25:45,990 INFO L181 SettingsManager]: Finished resetting all preferences to default values... [2018-11-14 18:25:45,990 INFO L98 SettingsManager]: Beginning loading settings from /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/../../../trunk/examples/settings/default/automizer/svcomp-Reach-32bit-Automizer_Bitvector-Const.epf [2018-11-14 18:25:46,015 INFO L110 SettingsManager]: Loading preferences was successful [2018-11-14 18:25:46,015 INFO L112 SettingsManager]: Preferences different from defaults after loading the file: [2018-11-14 18:25:46,016 INFO L131 SettingsManager]: Preferences of Boogie Procedure Inliner differ from their defaults: [2018-11-14 18:25:46,016 INFO L133 SettingsManager]: * to procedures, called more than once=true [2018-11-14 18:25:46,017 INFO L131 SettingsManager]: Preferences of BlockEncodingV2 differ from their defaults: [2018-11-14 18:25:46,017 INFO L133 SettingsManager]: * Create parallel compositions if possible=false [2018-11-14 18:25:46,017 INFO L133 SettingsManager]: * Use SBE=true [2018-11-14 18:25:46,018 INFO L131 SettingsManager]: Preferences of CACSL2BoogieTranslator differ from their defaults: [2018-11-14 18:25:46,018 INFO L133 SettingsManager]: * sizeof long=4 [2018-11-14 18:25:46,018 INFO L133 SettingsManager]: * sizeof POINTER=4 [2018-11-14 18:25:46,018 INFO L133 SettingsManager]: * Check division by zero=IGNORE [2018-11-14 18:25:46,018 INFO L133 SettingsManager]: * Pointer to allocated memory at dereference=IGNORE [2018-11-14 18:25:46,019 INFO L133 SettingsManager]: * If two pointers are subtracted or compared they have the same base address=IGNORE [2018-11-14 18:25:46,019 INFO L133 SettingsManager]: * Check array bounds for arrays that are off heap=IGNORE [2018-11-14 18:25:46,019 INFO L133 SettingsManager]: * Use bitvectors instead of ints=true [2018-11-14 18:25:46,019 INFO L133 SettingsManager]: * Memory model=HoenickeLindenmann_4ByteResolution [2018-11-14 18:25:46,019 INFO L133 SettingsManager]: * sizeof long double=12 [2018-11-14 18:25:46,020 INFO L133 SettingsManager]: * Check if freed pointer was valid=false [2018-11-14 18:25:46,020 INFO L133 SettingsManager]: * Use constant arrays=true [2018-11-14 18:25:46,020 INFO L133 SettingsManager]: * Pointer base address is valid at dereference=IGNORE [2018-11-14 18:25:46,020 INFO L131 SettingsManager]: Preferences of RCFGBuilder differ from their defaults: [2018-11-14 18:25:46,020 INFO L133 SettingsManager]: * Size of a code block=SequenceOfStatements [2018-11-14 18:25:46,021 INFO L133 SettingsManager]: * To the following directory=./dump/ [2018-11-14 18:25:46,021 INFO L133 SettingsManager]: * SMT solver=External_DefaultMode [2018-11-14 18:25:46,021 INFO L133 SettingsManager]: * Command for external solver=z3 SMTLIB2_COMPLIANT=true -memory:2024 -smt2 -in -t:2000 [2018-11-14 18:25:46,021 INFO L131 SettingsManager]: Preferences of TraceAbstraction differ from their defaults: [2018-11-14 18:25:46,021 INFO L133 SettingsManager]: * Compute Interpolants along a Counterexample=FPandBP [2018-11-14 18:25:46,022 INFO L133 SettingsManager]: * Positions where we compute the Hoare Annotation=LoopsAndPotentialCycles [2018-11-14 18:25:46,022 INFO L133 SettingsManager]: * Trace refinement strategy=WOLF [2018-11-14 18:25:46,022 INFO L133 SettingsManager]: * SMT solver=External_ModelsAndUnsatCoreMode [2018-11-14 18:25:46,022 INFO L133 SettingsManager]: * Command for external solver=cvc4nyu --tear-down-incremental --rewrite-divk --print-success --lang smt [2018-11-14 18:25:46,022 INFO L133 SettingsManager]: * Logic for external solver=AUFBV [2018-11-14 18:25:46,023 INFO L133 SettingsManager]: * Compute Hoare Annotation of negated interpolant automaton, abstraction and CFG=true [2018-11-14 18:25:46,092 INFO L81 nceAwareModelManager]: Repository-Root is: /tmp [2018-11-14 18:25:46,105 INFO L258 ainManager$Toolchain]: [Toolchain 1]: Applicable parser(s) successfully (re)initialized [2018-11-14 18:25:46,109 INFO L214 ainManager$Toolchain]: [Toolchain 1]: Toolchain selected. [2018-11-14 18:25:46,110 INFO L271 PluginConnector]: Initializing CDTParser... [2018-11-14 18:25:46,111 INFO L276 PluginConnector]: CDTParser initialized [2018-11-14 18:25:46,111 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-14 18:25:46,170 INFO L218 CDTParser]: Created temporary CDT project at /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/data/0ea867557/07f58871614e4465bedfa388a1dc11d0/FLAG162bb3a2f [2018-11-14 18:25:46,615 INFO L298 CDTParser]: Found 1 translation units. [2018-11-14 18:25:46,616 INFO L158 CDTParser]: Scanning /storage/repos/ultimate/trunk/examples/svcomp/loops/linear_search_false-unreach-call.i [2018-11-14 18:25:46,622 INFO L346 CDTParser]: About to delete temporary CDT project at /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/data/0ea867557/07f58871614e4465bedfa388a1dc11d0/FLAG162bb3a2f [2018-11-14 18:25:46,638 INFO L354 CDTParser]: Successfully deleted /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/data/0ea867557/07f58871614e4465bedfa388a1dc11d0 [2018-11-14 18:25:46,649 INFO L296 ainManager$Toolchain]: ####################### [Toolchain 1] ####################### [2018-11-14 18:25:46,650 INFO L131 ToolchainWalker]: Walking toolchain with 4 elements. [2018-11-14 18:25:46,651 INFO L113 PluginConnector]: ------------------------CACSL2BoogieTranslator---------------------------- [2018-11-14 18:25:46,652 INFO L271 PluginConnector]: Initializing CACSL2BoogieTranslator... [2018-11-14 18:25:46,655 INFO L276 PluginConnector]: CACSL2BoogieTranslator initialized [2018-11-14 18:25:46,657 INFO L185 PluginConnector]: Executing the observer ACSLObjectContainerObserver from plugin CACSL2BoogieTranslator for "CDTParser AST 14.11 06:25:46" (1/1) ... [2018-11-14 18:25:46,661 INFO L205 PluginConnector]: Invalid model from CACSL2BoogieTranslator for observer de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator.ACSLObjectContainerObserver@4748c70d and model type de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 14.11 06:25:46, skipping insertion in model container [2018-11-14 18:25:46,661 INFO L185 PluginConnector]: Executing the observer CACSL2BoogieTranslatorObserver from plugin CACSL2BoogieTranslator for "CDTParser AST 14.11 06:25:46" (1/1) ... [2018-11-14 18:25:46,673 INFO L145 MainTranslator]: Starting translation in SV-COMP mode [2018-11-14 18:25:46,703 INFO L176 MainTranslator]: Built tables and reachable declarations [2018-11-14 18:25:46,970 INFO L201 PostProcessor]: Analyzing one entry point: main [2018-11-14 18:25:46,985 INFO L191 MainTranslator]: Completed pre-run [2018-11-14 18:25:47,008 INFO L201 PostProcessor]: Analyzing one entry point: main [2018-11-14 18:25:47,028 INFO L195 MainTranslator]: Completed translation [2018-11-14 18:25:47,028 INFO L202 PluginConnector]: Adding new model de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 14.11 06:25:47 WrapperNode [2018-11-14 18:25:47,028 INFO L132 PluginConnector]: ------------------------ END CACSL2BoogieTranslator---------------------------- [2018-11-14 18:25:47,029 INFO L113 PluginConnector]: ------------------------Boogie Preprocessor---------------------------- [2018-11-14 18:25:47,029 INFO L271 PluginConnector]: Initializing Boogie Preprocessor... [2018-11-14 18:25:47,030 INFO L276 PluginConnector]: Boogie Preprocessor initialized [2018-11-14 18:25:47,044 INFO L185 PluginConnector]: Executing the observer EnsureBoogieModelObserver from plugin Boogie Preprocessor for "de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 14.11 06:25:47" (1/1) ... [2018-11-14 18:25:47,045 INFO L185 PluginConnector]: Executing the observer TypeChecker from plugin Boogie Preprocessor for "de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 14.11 06:25:47" (1/1) ... [2018-11-14 18:25:47,055 INFO L185 PluginConnector]: Executing the observer ConstExpander from plugin Boogie Preprocessor for "de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 14.11 06:25:47" (1/1) ... [2018-11-14 18:25:47,055 INFO L185 PluginConnector]: Executing the observer StructExpander from plugin Boogie Preprocessor for "de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 14.11 06:25:47" (1/1) ... [2018-11-14 18:25:47,073 INFO L185 PluginConnector]: Executing the observer UnstructureCode from plugin Boogie Preprocessor for "de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 14.11 06:25:47" (1/1) ... [2018-11-14 18:25:47,082 INFO L185 PluginConnector]: Executing the observer FunctionInliner from plugin Boogie Preprocessor for "de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 14.11 06:25:47" (1/1) ... [2018-11-14 18:25:47,083 INFO L185 PluginConnector]: Executing the observer BoogieSymbolTableConstructor from plugin Boogie Preprocessor for "de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 14.11 06:25:47" (1/1) ... [2018-11-14 18:25:47,086 INFO L132 PluginConnector]: ------------------------ END Boogie Preprocessor---------------------------- [2018-11-14 18:25:47,087 INFO L113 PluginConnector]: ------------------------RCFGBuilder---------------------------- [2018-11-14 18:25:47,087 INFO L271 PluginConnector]: Initializing RCFGBuilder... [2018-11-14 18:25:47,087 INFO L276 PluginConnector]: RCFGBuilder initialized [2018-11-14 18:25:47,088 INFO L185 PluginConnector]: Executing the observer RCFGBuilderObserver from plugin RCFGBuilder for "de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 14.11 06:25:47" (1/1) ... No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 Starting monitored process 1 with z3 SMTLIB2_COMPLIANT=true -memory:2024 -smt2 -in -t:2000 (exit command is (exit), workingDir is null) Waiting until toolchain timeout for monitored process 1 with z3 SMTLIB2_COMPLIANT=true -memory:2024 -smt2 -in -t:2000 [2018-11-14 18:25:47,221 INFO L138 BoogieDeclarations]: Found implementation of procedure ULTIMATE.init [2018-11-14 18:25:47,221 INFO L138 BoogieDeclarations]: Found implementation of procedure ULTIMATE.start [2018-11-14 18:25:47,221 INFO L138 BoogieDeclarations]: Found implementation of procedure __VERIFIER_assert [2018-11-14 18:25:47,221 INFO L138 BoogieDeclarations]: Found implementation of procedure linear_search [2018-11-14 18:25:47,221 INFO L138 BoogieDeclarations]: Found implementation of procedure main [2018-11-14 18:25:47,222 INFO L130 BoogieDeclarations]: Found specification of procedure __VERIFIER_error [2018-11-14 18:25:47,222 INFO L130 BoogieDeclarations]: Found specification of procedure __VERIFIER_assert [2018-11-14 18:25:47,222 INFO L130 BoogieDeclarations]: Found specification of procedure __VERIFIER_nondet_uint [2018-11-14 18:25:47,222 INFO L130 BoogieDeclarations]: Found specification of procedure linear_search [2018-11-14 18:25:47,222 INFO L130 BoogieDeclarations]: Found specification of procedure read~intINTTYPE4 [2018-11-14 18:25:47,222 INFO L130 BoogieDeclarations]: Found specification of procedure main [2018-11-14 18:25:47,223 INFO L130 BoogieDeclarations]: Found specification of procedure #Ultimate.alloc [2018-11-14 18:25:47,223 INFO L130 BoogieDeclarations]: Found specification of procedure write~intINTTYPE4 [2018-11-14 18:25:47,223 INFO L130 BoogieDeclarations]: Found specification of procedure ULTIMATE.dealloc [2018-11-14 18:25:47,223 INFO L130 BoogieDeclarations]: Found specification of procedure ULTIMATE.init [2018-11-14 18:25:47,223 INFO L130 BoogieDeclarations]: Found specification of procedure ULTIMATE.start [2018-11-14 18:25:47,223 INFO L130 BoogieDeclarations]: Found specification of procedure write~unchecked~intINTTYPE4 [2018-11-14 18:25:47,756 INFO L278 CfgBuilder]: Using the 1 location(s) as analysis (start of procedure ULTIMATE.start) [2018-11-14 18:25:47,758 INFO L202 PluginConnector]: Adding new model de.uni_freiburg.informatik.ultimate.plugins.generator.rcfgbuilder CFG 14.11 06:25:47 BoogieIcfgContainer [2018-11-14 18:25:47,758 INFO L132 PluginConnector]: ------------------------ END RCFGBuilder---------------------------- [2018-11-14 18:25:47,759 INFO L113 PluginConnector]: ------------------------TraceAbstraction---------------------------- [2018-11-14 18:25:47,759 INFO L271 PluginConnector]: Initializing TraceAbstraction... [2018-11-14 18:25:47,762 INFO L276 PluginConnector]: TraceAbstraction initialized [2018-11-14 18:25:47,763 INFO L185 PluginConnector]: Executing the observer TraceAbstractionObserver from plugin TraceAbstraction for "CDTParser AST 14.11 06:25:46" (1/3) ... [2018-11-14 18:25:47,764 INFO L205 PluginConnector]: Invalid model from TraceAbstraction for observer de.uni_freiburg.informatik.ultimate.plugins.generator.traceabstraction.TraceAbstractionObserver@63a1e02b and model type de.uni_freiburg.informatik.ultimate.plugins.generator.traceabstraction AST 14.11 06:25:47, skipping insertion in model container [2018-11-14 18:25:47,764 INFO L185 PluginConnector]: Executing the observer TraceAbstractionObserver from plugin TraceAbstraction for "de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 14.11 06:25:47" (2/3) ... [2018-11-14 18:25:47,764 INFO L205 PluginConnector]: Invalid model from TraceAbstraction for observer de.uni_freiburg.informatik.ultimate.plugins.generator.traceabstraction.TraceAbstractionObserver@63a1e02b and model type de.uni_freiburg.informatik.ultimate.plugins.generator.traceabstraction AST 14.11 06:25:47, skipping insertion in model container [2018-11-14 18:25:47,764 INFO L185 PluginConnector]: Executing the observer TraceAbstractionObserver from plugin TraceAbstraction for "de.uni_freiburg.informatik.ultimate.plugins.generator.rcfgbuilder CFG 14.11 06:25:47" (3/3) ... [2018-11-14 18:25:47,766 INFO L112 eAbstractionObserver]: Analyzing ICFG linear_search_false-unreach-call.i [2018-11-14 18:25:47,777 INFO L136 ceAbstractionStarter]: Automizer settings: Hoare:true NWA Interpolation:FPandBP Determinization: PREDICATE_ABSTRACTION [2018-11-14 18:25:47,786 INFO L148 ceAbstractionStarter]: Appying trace abstraction to program that has 1 error locations. [2018-11-14 18:25:47,803 INFO L257 AbstractCegarLoop]: Starting to check reachability of 1 error locations. [2018-11-14 18:25:47,837 INFO L133 ementStrategyFactory]: Using default assertion order modulation [2018-11-14 18:25:47,837 INFO L382 AbstractCegarLoop]: Interprodecural is true [2018-11-14 18:25:47,838 INFO L383 AbstractCegarLoop]: Hoare is true [2018-11-14 18:25:47,838 INFO L384 AbstractCegarLoop]: Compute interpolants for FPandBP [2018-11-14 18:25:47,838 INFO L385 AbstractCegarLoop]: Backedges is STRAIGHT_LINE [2018-11-14 18:25:47,838 INFO L386 AbstractCegarLoop]: Determinization is PREDICATE_ABSTRACTION [2018-11-14 18:25:47,838 INFO L387 AbstractCegarLoop]: Difference is false [2018-11-14 18:25:47,839 INFO L388 AbstractCegarLoop]: Minimize is MINIMIZE_SEVPA [2018-11-14 18:25:47,839 INFO L393 AbstractCegarLoop]: ======== Iteration 0==of CEGAR loop == AllErrorsAtOnce======== [2018-11-14 18:25:47,858 INFO L276 IsEmpty]: Start isEmpty. Operand 28 states. [2018-11-14 18:25:47,864 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 17 [2018-11-14 18:25:47,865 INFO L367 BasicCegarLoop]: Found error trace [2018-11-14 18:25:47,866 INFO L375 BasicCegarLoop]: trace histogram [1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1] [2018-11-14 18:25:47,869 INFO L423 AbstractCegarLoop]: === Iteration 1 === [__VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION]=== [2018-11-14 18:25:47,875 INFO L141 PredicateUnifier]: Initialized classic predicate unifier [2018-11-14 18:25:47,875 INFO L82 PathProgramCache]: Analyzing trace with hash -1738794234, now seen corresponding path program 1 times [2018-11-14 18:25:47,880 INFO L223 ckRefinementStrategy]: Switched to mode CVC4_FPBP [2018-11-14 18:25:47,881 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-14 18:25:47,904 INFO L103 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2018-11-14 18:25:47,954 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2018-11-14 18:25:47,991 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2018-11-14 18:25:47,996 INFO L273 TraceCheckSpWp]: Computing forward predicates... [2018-11-14 18:25:48,292 INFO L256 TraceCheckUtils]: 0: Hoare triple {31#true} call ULTIMATE.init(); {31#true} is VALID [2018-11-14 18:25:48,295 INFO L273 TraceCheckUtils]: 1: Hoare triple {31#true} #NULL.base, #NULL.offset := 0bv32, 0bv32;#valid := #valid[0bv32 := 0bv1];~SIZE~0 := 0bv32; {31#true} is VALID [2018-11-14 18:25:48,296 INFO L273 TraceCheckUtils]: 2: Hoare triple {31#true} assume true; {31#true} is VALID [2018-11-14 18:25:48,296 INFO L268 TraceCheckUtils]: 3: Hoare quadruple {31#true} {31#true} #54#return; {31#true} is VALID [2018-11-14 18:25:48,296 INFO L256 TraceCheckUtils]: 4: Hoare triple {31#true} call #t~ret5 := main(); {31#true} is VALID [2018-11-14 18:25:48,297 INFO L273 TraceCheckUtils]: 5: Hoare triple {31#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); {31#true} is VALID [2018-11-14 18:25:48,297 INFO L256 TraceCheckUtils]: 6: Hoare triple {31#true} call #t~ret4 := linear_search(~#a~0.base, ~#a~0.offset, ~SIZE~0, 3bv32); {31#true} is VALID [2018-11-14 18:25:48,297 INFO L273 TraceCheckUtils]: 7: Hoare triple {31#true} ~a.base, ~a.offset := #in~a.base, #in~a.offset;~n := #in~n;~q := #in~q;~j~0 := 0bv32; {31#true} is VALID [2018-11-14 18:25:48,298 INFO L273 TraceCheckUtils]: 8: Hoare triple {31#true} assume !true; {32#false} is VALID [2018-11-14 18:25:48,298 INFO L273 TraceCheckUtils]: 9: Hoare triple {32#false} assume ~bvult32(~j~0, ~SIZE~0);#res := 1bv32; {32#false} is VALID [2018-11-14 18:25:48,299 INFO L273 TraceCheckUtils]: 10: Hoare triple {32#false} assume true; {32#false} is VALID [2018-11-14 18:25:48,299 INFO L268 TraceCheckUtils]: 11: Hoare quadruple {32#false} {31#true} #58#return; {32#false} is VALID [2018-11-14 18:25:48,299 INFO L256 TraceCheckUtils]: 12: Hoare triple {32#false} call __VERIFIER_assert(#t~ret4); {32#false} is VALID [2018-11-14 18:25:48,300 INFO L273 TraceCheckUtils]: 13: Hoare triple {32#false} ~cond := #in~cond; {32#false} is VALID [2018-11-14 18:25:48,300 INFO L273 TraceCheckUtils]: 14: Hoare triple {32#false} assume ~cond == 0bv32; {32#false} is VALID [2018-11-14 18:25:48,303 INFO L273 TraceCheckUtils]: 15: Hoare triple {32#false} assume !false; {32#false} is VALID [2018-11-14 18:25:48,308 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-14 18:25:48,309 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 (2)] Exception during sending of exit command (exit): Broken pipe [2018-11-14 18:25:48,314 INFO L312 seRefinementStrategy]: Constructing automaton from 1 perfect and 0 imperfect interpolant sequences. [2018-11-14 18:25:48,316 INFO L327 seRefinementStrategy]: Number of different interpolants: perfect sequences [2] imperfect sequences [] total 2 [2018-11-14 18:25:48,322 INFO L78 Accepts]: Start accepts. Automaton has 2 states. Word has length 16 [2018-11-14 18:25:48,326 INFO L84 Accepts]: Finished accepts. word is accepted. [2018-11-14 18:25:48,330 INFO L86 InductivityCheck]: Starting indutivity check of a Floyd-Hoare automaton with 2 states. [2018-11-14 18:25:48,444 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-14 18:25:48,444 INFO L459 AbstractCegarLoop]: Interpolant automaton has 2 states [2018-11-14 18:25:48,453 INFO L142 InterpolantAutomaton]: Constructing interpolant automaton starting with 2 interpolants. [2018-11-14 18:25:48,453 INFO L144 InterpolantAutomaton]: CoverageRelationStatistics Valid=1, Invalid=1, Unknown=0, NotChecked=0, Total=2 [2018-11-14 18:25:48,456 INFO L87 Difference]: Start difference. First operand 28 states. Second operand 2 states. [2018-11-14 18:25:48,609 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2018-11-14 18:25:48,609 INFO L93 Difference]: Finished difference Result 43 states and 50 transitions. [2018-11-14 18:25:48,609 INFO L142 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 2 states. [2018-11-14 18:25:48,609 INFO L78 Accepts]: Start accepts. Automaton has 2 states. Word has length 16 [2018-11-14 18:25:48,610 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2018-11-14 18:25:48,611 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 2 states. [2018-11-14 18:25:48,622 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 2 states to 2 states and 50 transitions. [2018-11-14 18:25:48,622 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 2 states. [2018-11-14 18:25:48,628 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 2 states to 2 states and 50 transitions. [2018-11-14 18:25:48,628 INFO L86 InductivityCheck]: Starting indutivity check of a Floyd-Hoare automaton with 2 states and 50 transitions. [2018-11-14 18:25:48,910 INFO L119 InductivityCheck]: Floyd-Hoare automaton has 50 edges. 50 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2018-11-14 18:25:48,922 INFO L225 Difference]: With dead ends: 43 [2018-11-14 18:25:48,922 INFO L226 Difference]: Without dead ends: 21 [2018-11-14 18:25:48,926 INFO L604 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-14 18:25:48,943 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 21 states. [2018-11-14 18:25:48,962 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 21 to 21. [2018-11-14 18:25:48,962 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2018-11-14 18:25:48,963 INFO L82 GeneralOperation]: Start isEquivalent. First operand 21 states. Second operand 21 states. [2018-11-14 18:25:48,963 INFO L74 IsIncluded]: Start isIncluded. First operand 21 states. Second operand 21 states. [2018-11-14 18:25:48,964 INFO L87 Difference]: Start difference. First operand 21 states. Second operand 21 states. [2018-11-14 18:25:48,967 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2018-11-14 18:25:48,968 INFO L93 Difference]: Finished difference Result 21 states and 24 transitions. [2018-11-14 18:25:48,968 INFO L276 IsEmpty]: Start isEmpty. Operand 21 states and 24 transitions. [2018-11-14 18:25:48,968 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2018-11-14 18:25:48,968 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2018-11-14 18:25:48,969 INFO L74 IsIncluded]: Start isIncluded. First operand 21 states. Second operand 21 states. [2018-11-14 18:25:48,969 INFO L87 Difference]: Start difference. First operand 21 states. Second operand 21 states. [2018-11-14 18:25:48,972 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2018-11-14 18:25:48,973 INFO L93 Difference]: Finished difference Result 21 states and 24 transitions. [2018-11-14 18:25:48,973 INFO L276 IsEmpty]: Start isEmpty. Operand 21 states and 24 transitions. [2018-11-14 18:25:48,973 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2018-11-14 18:25:48,974 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2018-11-14 18:25:48,974 INFO L88 GeneralOperation]: Finished isEquivalent. [2018-11-14 18:25:48,974 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2018-11-14 18:25:48,974 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 21 states. [2018-11-14 18:25:48,976 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 21 states to 21 states and 24 transitions. [2018-11-14 18:25:48,979 INFO L78 Accepts]: Start accepts. Automaton has 21 states and 24 transitions. Word has length 16 [2018-11-14 18:25:48,980 INFO L84 Accepts]: Finished accepts. word is rejected. [2018-11-14 18:25:48,980 INFO L480 AbstractCegarLoop]: Abstraction has 21 states and 24 transitions. [2018-11-14 18:25:48,980 INFO L481 AbstractCegarLoop]: Interpolant automaton has 2 states. [2018-11-14 18:25:48,980 INFO L276 IsEmpty]: Start isEmpty. Operand 21 states and 24 transitions. [2018-11-14 18:25:48,981 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 20 [2018-11-14 18:25:48,981 INFO L367 BasicCegarLoop]: Found error trace [2018-11-14 18:25:48,981 INFO L375 BasicCegarLoop]: trace histogram [1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1] [2018-11-14 18:25:48,982 INFO L423 AbstractCegarLoop]: === Iteration 2 === [__VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION]=== [2018-11-14 18:25:48,982 INFO L141 PredicateUnifier]: Initialized classic predicate unifier [2018-11-14 18:25:48,982 INFO L82 PathProgramCache]: Analyzing trace with hash -1487281941, now seen corresponding path program 1 times [2018-11-14 18:25:48,984 INFO L223 ckRefinementStrategy]: Switched to mode CVC4_FPBP [2018-11-14 18:25:48,984 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-14 18:25:49,002 INFO L103 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2018-11-14 18:25:49,028 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2018-11-14 18:25:49,045 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2018-11-14 18:25:49,048 INFO L273 TraceCheckSpWp]: Computing forward predicates... [2018-11-14 18:25:49,183 INFO L256 TraceCheckUtils]: 0: Hoare triple {206#true} call ULTIMATE.init(); {206#true} is VALID [2018-11-14 18:25:49,184 INFO L273 TraceCheckUtils]: 1: Hoare triple {206#true} #NULL.base, #NULL.offset := 0bv32, 0bv32;#valid := #valid[0bv32 := 0bv1];~SIZE~0 := 0bv32; {206#true} is VALID [2018-11-14 18:25:49,184 INFO L273 TraceCheckUtils]: 2: Hoare triple {206#true} assume true; {206#true} is VALID [2018-11-14 18:25:49,184 INFO L268 TraceCheckUtils]: 3: Hoare quadruple {206#true} {206#true} #54#return; {206#true} is VALID [2018-11-14 18:25:49,185 INFO L256 TraceCheckUtils]: 4: Hoare triple {206#true} call #t~ret5 := main(); {206#true} is VALID [2018-11-14 18:25:49,185 INFO L273 TraceCheckUtils]: 5: Hoare triple {206#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); {206#true} is VALID [2018-11-14 18:25:49,185 INFO L256 TraceCheckUtils]: 6: Hoare triple {206#true} call #t~ret4 := linear_search(~#a~0.base, ~#a~0.offset, ~SIZE~0, 3bv32); {206#true} is VALID [2018-11-14 18:25:49,185 INFO L273 TraceCheckUtils]: 7: Hoare triple {206#true} ~a.base, ~a.offset := #in~a.base, #in~a.offset;~n := #in~n;~q := #in~q;~j~0 := 0bv32; {206#true} is VALID [2018-11-14 18:25:49,186 INFO L273 TraceCheckUtils]: 8: Hoare triple {206#true} assume true; {206#true} is VALID [2018-11-14 18:25:49,186 INFO L273 TraceCheckUtils]: 9: Hoare triple {206#true} #t~short1 := ~bvult32(~j~0, ~n); {206#true} is VALID [2018-11-14 18:25:49,187 INFO L273 TraceCheckUtils]: 10: Hoare triple {206#true} assume #t~short1;call #t~mem0 := read~intINTTYPE4(~a.base, ~bvadd32(~a.offset, ~bvmul32(4bv32, ~j~0)), 4bv32);#t~short1 := #t~mem0 != ~q; {206#true} is VALID [2018-11-14 18:25:49,187 INFO L273 TraceCheckUtils]: 11: Hoare triple {206#true} assume !#t~short1;havoc #t~short1;havoc #t~mem0; {206#true} is VALID [2018-11-14 18:25:49,191 INFO L273 TraceCheckUtils]: 12: Hoare triple {206#true} assume ~bvult32(~j~0, ~SIZE~0);#res := 1bv32; {247#(= (bvadd |linear_search_#res| (_ bv4294967295 32)) (_ bv0 32))} is VALID [2018-11-14 18:25:49,196 INFO L273 TraceCheckUtils]: 13: Hoare triple {247#(= (bvadd |linear_search_#res| (_ bv4294967295 32)) (_ bv0 32))} assume true; {247#(= (bvadd |linear_search_#res| (_ bv4294967295 32)) (_ bv0 32))} is VALID [2018-11-14 18:25:49,203 INFO L268 TraceCheckUtils]: 14: Hoare quadruple {247#(= (bvadd |linear_search_#res| (_ bv4294967295 32)) (_ bv0 32))} {206#true} #58#return; {254#(= (bvadd |main_#t~ret4| (_ bv4294967295 32)) (_ bv0 32))} is VALID [2018-11-14 18:25:49,207 INFO L256 TraceCheckUtils]: 15: Hoare triple {254#(= (bvadd |main_#t~ret4| (_ bv4294967295 32)) (_ bv0 32))} call __VERIFIER_assert(#t~ret4); {258#(= (bvadd |__VERIFIER_assert_#in~cond| (_ bv4294967295 32)) (_ bv0 32))} is VALID [2018-11-14 18:25:49,212 INFO L273 TraceCheckUtils]: 16: Hoare triple {258#(= (bvadd |__VERIFIER_assert_#in~cond| (_ bv4294967295 32)) (_ bv0 32))} ~cond := #in~cond; {262#(= (bvadd __VERIFIER_assert_~cond (_ bv4294967295 32)) (_ bv0 32))} is VALID [2018-11-14 18:25:49,214 INFO L273 TraceCheckUtils]: 17: Hoare triple {262#(= (bvadd __VERIFIER_assert_~cond (_ bv4294967295 32)) (_ bv0 32))} assume ~cond == 0bv32; {207#false} is VALID [2018-11-14 18:25:49,214 INFO L273 TraceCheckUtils]: 18: Hoare triple {207#false} assume !false; {207#false} is VALID [2018-11-14 18:25:49,216 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-14 18:25:49,217 INFO L312 TraceCheckSpWp]: Omiting computation of backward sequence because forward sequence was already perfect [2018-11-14 18:25:49,221 INFO L312 seRefinementStrategy]: Constructing automaton from 1 perfect and 0 imperfect interpolant sequences. [2018-11-14 18:25:49,221 INFO L327 seRefinementStrategy]: Number of different interpolants: perfect sequences [6] imperfect sequences [] total 6 [2018-11-14 18:25:49,223 INFO L78 Accepts]: Start accepts. Automaton has 6 states. Word has length 19 [2018-11-14 18:25:49,223 INFO L84 Accepts]: Finished accepts. word is accepted. [2018-11-14 18:25:49,224 INFO L86 InductivityCheck]: Starting indutivity check of a Floyd-Hoare automaton with 6 states. [2018-11-14 18:25:49,456 INFO L119 InductivityCheck]: Floyd-Hoare automaton has 19 edges. 19 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2018-11-14 18:25:49,457 INFO L459 AbstractCegarLoop]: Interpolant automaton has 6 states [2018-11-14 18:25:49,457 INFO L142 InterpolantAutomaton]: Constructing interpolant automaton starting with 6 interpolants. [2018-11-14 18:25:49,457 INFO L144 InterpolantAutomaton]: CoverageRelationStatistics Valid=9, Invalid=21, Unknown=0, NotChecked=0, Total=30 [2018-11-14 18:25:49,458 INFO L87 Difference]: Start difference. First operand 21 states and 24 transitions. Second operand 6 states. [2018-11-14 18:25:50,137 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2018-11-14 18:25:50,138 INFO L93 Difference]: Finished difference Result 28 states and 30 transitions. [2018-11-14 18:25:50,138 INFO L142 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 6 states. [2018-11-14 18:25:50,138 INFO L78 Accepts]: Start accepts. Automaton has 6 states. Word has length 19 [2018-11-14 18:25:50,139 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2018-11-14 18:25:50,139 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 6 states. [2018-11-14 18:25:50,142 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 6 states to 6 states and 30 transitions. [2018-11-14 18:25:50,142 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 6 states. [2018-11-14 18:25:50,144 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 6 states to 6 states and 30 transitions. [2018-11-14 18:25:50,145 INFO L86 InductivityCheck]: Starting indutivity check of a Floyd-Hoare automaton with 6 states and 30 transitions. [2018-11-14 18:25:50,226 INFO L119 InductivityCheck]: Floyd-Hoare automaton has 30 edges. 30 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2018-11-14 18:25:50,228 INFO L225 Difference]: With dead ends: 28 [2018-11-14 18:25:50,229 INFO L226 Difference]: Without dead ends: 21 [2018-11-14 18:25:50,230 INFO L604 BasicCegarLoop]: 0 DeclaredPredicates, 19 GetRequests, 14 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-14 18:25:50,230 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 21 states. [2018-11-14 18:25:50,262 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 21 to 21. [2018-11-14 18:25:50,262 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2018-11-14 18:25:50,262 INFO L82 GeneralOperation]: Start isEquivalent. First operand 21 states. Second operand 21 states. [2018-11-14 18:25:50,262 INFO L74 IsIncluded]: Start isIncluded. First operand 21 states. Second operand 21 states. [2018-11-14 18:25:50,262 INFO L87 Difference]: Start difference. First operand 21 states. Second operand 21 states. [2018-11-14 18:25:50,264 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2018-11-14 18:25:50,265 INFO L93 Difference]: Finished difference Result 21 states and 23 transitions. [2018-11-14 18:25:50,265 INFO L276 IsEmpty]: Start isEmpty. Operand 21 states and 23 transitions. [2018-11-14 18:25:50,265 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2018-11-14 18:25:50,266 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2018-11-14 18:25:50,266 INFO L74 IsIncluded]: Start isIncluded. First operand 21 states. Second operand 21 states. [2018-11-14 18:25:50,266 INFO L87 Difference]: Start difference. First operand 21 states. Second operand 21 states. [2018-11-14 18:25:50,268 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2018-11-14 18:25:50,268 INFO L93 Difference]: Finished difference Result 21 states and 23 transitions. [2018-11-14 18:25:50,268 INFO L276 IsEmpty]: Start isEmpty. Operand 21 states and 23 transitions. [2018-11-14 18:25:50,269 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2018-11-14 18:25:50,269 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2018-11-14 18:25:50,269 INFO L88 GeneralOperation]: Finished isEquivalent. [2018-11-14 18:25:50,269 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2018-11-14 18:25:50,270 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 21 states. [2018-11-14 18:25:50,271 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 21 states to 21 states and 23 transitions. [2018-11-14 18:25:50,272 INFO L78 Accepts]: Start accepts. Automaton has 21 states and 23 transitions. Word has length 19 [2018-11-14 18:25:50,272 INFO L84 Accepts]: Finished accepts. word is rejected. [2018-11-14 18:25:50,272 INFO L480 AbstractCegarLoop]: Abstraction has 21 states and 23 transitions. [2018-11-14 18:25:50,272 INFO L481 AbstractCegarLoop]: Interpolant automaton has 6 states. [2018-11-14 18:25:50,272 INFO L276 IsEmpty]: Start isEmpty. Operand 21 states and 23 transitions. [2018-11-14 18:25:50,273 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 20 [2018-11-14 18:25:50,273 INFO L367 BasicCegarLoop]: Found error trace [2018-11-14 18:25:50,273 INFO L375 BasicCegarLoop]: trace histogram [1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1] [2018-11-14 18:25:50,274 INFO L423 AbstractCegarLoop]: === Iteration 3 === [__VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION]=== [2018-11-14 18:25:50,274 INFO L141 PredicateUnifier]: Initialized classic predicate unifier [2018-11-14 18:25:50,274 INFO L82 PathProgramCache]: Analyzing trace with hash -599778260, now seen corresponding path program 1 times [2018-11-14 18:25:50,275 INFO L223 ckRefinementStrategy]: Switched to mode CVC4_FPBP [2018-11-14 18:25:50,275 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-14 18:25:50,293 INFO L103 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2018-11-14 18:25:50,330 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2018-11-14 18:25:50,361 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2018-11-14 18:25:50,362 INFO L273 TraceCheckSpWp]: Computing forward predicates... [2018-11-14 18:25:50,600 INFO L256 TraceCheckUtils]: 0: Hoare triple {381#true} call ULTIMATE.init(); {381#true} is VALID [2018-11-14 18:25:50,600 INFO L273 TraceCheckUtils]: 1: Hoare triple {381#true} #NULL.base, #NULL.offset := 0bv32, 0bv32;#valid := #valid[0bv32 := 0bv1];~SIZE~0 := 0bv32; {381#true} is VALID [2018-11-14 18:25:50,601 INFO L273 TraceCheckUtils]: 2: Hoare triple {381#true} assume true; {381#true} is VALID [2018-11-14 18:25:50,601 INFO L268 TraceCheckUtils]: 3: Hoare quadruple {381#true} {381#true} #54#return; {381#true} is VALID [2018-11-14 18:25:50,602 INFO L256 TraceCheckUtils]: 4: Hoare triple {381#true} call #t~ret5 := main(); {381#true} is VALID [2018-11-14 18:25:50,602 INFO L273 TraceCheckUtils]: 5: Hoare triple {381#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); {381#true} is VALID [2018-11-14 18:25:50,603 INFO L256 TraceCheckUtils]: 6: Hoare triple {381#true} call #t~ret4 := linear_search(~#a~0.base, ~#a~0.offset, ~SIZE~0, 3bv32); {381#true} is VALID [2018-11-14 18:25:50,604 INFO L273 TraceCheckUtils]: 7: Hoare triple {381#true} ~a.base, ~a.offset := #in~a.base, #in~a.offset;~n := #in~n;~q := #in~q;~j~0 := 0bv32; {407#(and (= linear_search_~n |linear_search_#in~n|) (= linear_search_~j~0 (_ bv0 32)))} is VALID [2018-11-14 18:25:50,605 INFO L273 TraceCheckUtils]: 8: Hoare triple {407#(and (= linear_search_~n |linear_search_#in~n|) (= linear_search_~j~0 (_ bv0 32)))} assume true; {407#(and (= linear_search_~n |linear_search_#in~n|) (= linear_search_~j~0 (_ bv0 32)))} is VALID [2018-11-14 18:25:50,606 INFO L273 TraceCheckUtils]: 9: Hoare triple {407#(and (= linear_search_~n |linear_search_#in~n|) (= linear_search_~j~0 (_ bv0 32)))} #t~short1 := ~bvult32(~j~0, ~n); {414#(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-14 18:25:50,608 INFO L273 TraceCheckUtils]: 10: Hoare triple {414#(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; {418#(and (= linear_search_~j~0 (_ bv0 32)) (bvult linear_search_~j~0 |linear_search_#in~n|))} is VALID [2018-11-14 18:25:50,609 INFO L273 TraceCheckUtils]: 11: Hoare triple {418#(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; {418#(and (= linear_search_~j~0 (_ bv0 32)) (bvult linear_search_~j~0 |linear_search_#in~n|))} is VALID [2018-11-14 18:25:50,610 INFO L273 TraceCheckUtils]: 12: Hoare triple {418#(and (= linear_search_~j~0 (_ bv0 32)) (bvult linear_search_~j~0 |linear_search_#in~n|))} assume !~bvult32(~j~0, ~SIZE~0);#res := 0bv32; {425#(and (bvult (_ bv0 32) |linear_search_#in~n|) (not (bvult (_ bv0 32) ~SIZE~0)))} is VALID [2018-11-14 18:25:50,611 INFO L273 TraceCheckUtils]: 13: Hoare triple {425#(and (bvult (_ bv0 32) |linear_search_#in~n|) (not (bvult (_ bv0 32) ~SIZE~0)))} assume true; {425#(and (bvult (_ bv0 32) |linear_search_#in~n|) (not (bvult (_ bv0 32) ~SIZE~0)))} is VALID [2018-11-14 18:25:50,613 INFO L268 TraceCheckUtils]: 14: Hoare quadruple {425#(and (bvult (_ bv0 32) |linear_search_#in~n|) (not (bvult (_ bv0 32) ~SIZE~0)))} {381#true} #58#return; {382#false} is VALID [2018-11-14 18:25:50,614 INFO L256 TraceCheckUtils]: 15: Hoare triple {382#false} call __VERIFIER_assert(#t~ret4); {382#false} is VALID [2018-11-14 18:25:50,615 INFO L273 TraceCheckUtils]: 16: Hoare triple {382#false} ~cond := #in~cond; {382#false} is VALID [2018-11-14 18:25:50,615 INFO L273 TraceCheckUtils]: 17: Hoare triple {382#false} assume ~cond == 0bv32; {382#false} is VALID [2018-11-14 18:25:50,615 INFO L273 TraceCheckUtils]: 18: Hoare triple {382#false} assume !false; {382#false} is VALID [2018-11-14 18:25:50,617 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-14 18:25:50,618 INFO L312 TraceCheckSpWp]: Omiting computation of backward sequence because forward sequence was already perfect [2018-11-14 18:25:50,625 INFO L312 seRefinementStrategy]: Constructing automaton from 1 perfect and 0 imperfect interpolant sequences. [2018-11-14 18:25:50,625 INFO L327 seRefinementStrategy]: Number of different interpolants: perfect sequences [6] imperfect sequences [] total 6 [2018-11-14 18:25:50,626 INFO L78 Accepts]: Start accepts. Automaton has 6 states. Word has length 19 [2018-11-14 18:25:50,626 INFO L84 Accepts]: Finished accepts. word is accepted. [2018-11-14 18:25:50,626 INFO L86 InductivityCheck]: Starting indutivity check of a Floyd-Hoare automaton with 6 states. [2018-11-14 18:25:50,746 INFO L119 InductivityCheck]: Floyd-Hoare automaton has 19 edges. 19 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2018-11-14 18:25:50,746 INFO L459 AbstractCegarLoop]: Interpolant automaton has 6 states [2018-11-14 18:25:50,746 INFO L142 InterpolantAutomaton]: Constructing interpolant automaton starting with 6 interpolants. [2018-11-14 18:25:50,747 INFO L144 InterpolantAutomaton]: CoverageRelationStatistics Valid=9, Invalid=21, Unknown=0, NotChecked=0, Total=30 [2018-11-14 18:25:50,747 INFO L87 Difference]: Start difference. First operand 21 states and 23 transitions. Second operand 6 states. [2018-11-14 18:25:51,468 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2018-11-14 18:25:51,468 INFO L93 Difference]: Finished difference Result 37 states and 41 transitions. [2018-11-14 18:25:51,468 INFO L142 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 6 states. [2018-11-14 18:25:51,469 INFO L78 Accepts]: Start accepts. Automaton has 6 states. Word has length 19 [2018-11-14 18:25:51,469 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2018-11-14 18:25:51,469 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 6 states. [2018-11-14 18:25:51,472 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 6 states to 6 states and 41 transitions. [2018-11-14 18:25:51,472 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 6 states. [2018-11-14 18:25:51,475 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 6 states to 6 states and 41 transitions. [2018-11-14 18:25:51,475 INFO L86 InductivityCheck]: Starting indutivity check of a Floyd-Hoare automaton with 6 states and 41 transitions. [2018-11-14 18:25:51,669 INFO L119 InductivityCheck]: Floyd-Hoare automaton has 41 edges. 41 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2018-11-14 18:25:51,671 INFO L225 Difference]: With dead ends: 37 [2018-11-14 18:25:51,671 INFO L226 Difference]: Without dead ends: 29 [2018-11-14 18:25:51,671 INFO L604 BasicCegarLoop]: 0 DeclaredPredicates, 21 GetRequests, 14 SyntacticMatches, 0 SemanticMatches, 7 ConstructedPredicates, 0 IntricatePredicates, 0 DeprecatedPredicates, 2 ImplicationChecksByTransitivity, 0.3s TimeCoverageRelationStatistics Valid=23, Invalid=49, Unknown=0, NotChecked=0, Total=72 [2018-11-14 18:25:51,672 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 29 states. [2018-11-14 18:25:51,691 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 29 to 25. [2018-11-14 18:25:51,691 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2018-11-14 18:25:51,691 INFO L82 GeneralOperation]: Start isEquivalent. First operand 29 states. Second operand 25 states. [2018-11-14 18:25:51,692 INFO L74 IsIncluded]: Start isIncluded. First operand 29 states. Second operand 25 states. [2018-11-14 18:25:51,692 INFO L87 Difference]: Start difference. First operand 29 states. Second operand 25 states. [2018-11-14 18:25:51,694 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2018-11-14 18:25:51,695 INFO L93 Difference]: Finished difference Result 29 states and 33 transitions. [2018-11-14 18:25:51,695 INFO L276 IsEmpty]: Start isEmpty. Operand 29 states and 33 transitions. [2018-11-14 18:25:51,695 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2018-11-14 18:25:51,696 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2018-11-14 18:25:51,696 INFO L74 IsIncluded]: Start isIncluded. First operand 25 states. Second operand 29 states. [2018-11-14 18:25:51,696 INFO L87 Difference]: Start difference. First operand 25 states. Second operand 29 states. [2018-11-14 18:25:51,699 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2018-11-14 18:25:51,699 INFO L93 Difference]: Finished difference Result 29 states and 33 transitions. [2018-11-14 18:25:51,699 INFO L276 IsEmpty]: Start isEmpty. Operand 29 states and 33 transitions. [2018-11-14 18:25:51,700 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2018-11-14 18:25:51,700 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2018-11-14 18:25:51,700 INFO L88 GeneralOperation]: Finished isEquivalent. [2018-11-14 18:25:51,700 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2018-11-14 18:25:51,701 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 25 states. [2018-11-14 18:25:51,702 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 25 states to 25 states and 28 transitions. [2018-11-14 18:25:51,702 INFO L78 Accepts]: Start accepts. Automaton has 25 states and 28 transitions. Word has length 19 [2018-11-14 18:25:51,703 INFO L84 Accepts]: Finished accepts. word is rejected. [2018-11-14 18:25:51,703 INFO L480 AbstractCegarLoop]: Abstraction has 25 states and 28 transitions. [2018-11-14 18:25:51,703 INFO L481 AbstractCegarLoop]: Interpolant automaton has 6 states. [2018-11-14 18:25:51,703 INFO L276 IsEmpty]: Start isEmpty. Operand 25 states and 28 transitions. [2018-11-14 18:25:51,704 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 20 [2018-11-14 18:25:51,704 INFO L367 BasicCegarLoop]: Found error trace [2018-11-14 18:25:51,704 INFO L375 BasicCegarLoop]: trace histogram [1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1] [2018-11-14 18:25:51,704 INFO L423 AbstractCegarLoop]: === Iteration 4 === [__VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION]=== [2018-11-14 18:25:51,705 INFO L141 PredicateUnifier]: Initialized classic predicate unifier [2018-11-14 18:25:51,705 INFO L82 PathProgramCache]: Analyzing trace with hash 80280110, now seen corresponding path program 1 times [2018-11-14 18:25:51,705 INFO L223 ckRefinementStrategy]: Switched to mode CVC4_FPBP [2018-11-14 18:25:51,705 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-14 18:25:51,728 INFO L103 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2018-11-14 18:25:51,762 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2018-11-14 18:25:51,781 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2018-11-14 18:25:51,782 INFO L273 TraceCheckSpWp]: Computing forward predicates... [2018-11-14 18:25:52,435 WARN L179 SmtUtils]: Spent 185.00 ms on a formula simplification that was a NOOP. DAG size: 17 [2018-11-14 18:25:52,575 INFO L256 TraceCheckUtils]: 0: Hoare triple {591#true} call ULTIMATE.init(); {591#true} is VALID [2018-11-14 18:25:52,576 INFO L273 TraceCheckUtils]: 1: Hoare triple {591#true} #NULL.base, #NULL.offset := 0bv32, 0bv32;#valid := #valid[0bv32 := 0bv1];~SIZE~0 := 0bv32; {591#true} is VALID [2018-11-14 18:25:52,576 INFO L273 TraceCheckUtils]: 2: Hoare triple {591#true} assume true; {591#true} is VALID [2018-11-14 18:25:52,576 INFO L268 TraceCheckUtils]: 3: Hoare quadruple {591#true} {591#true} #54#return; {591#true} is VALID [2018-11-14 18:25:52,576 INFO L256 TraceCheckUtils]: 4: Hoare triple {591#true} call #t~ret5 := main(); {591#true} is VALID [2018-11-14 18:25:52,582 INFO L273 TraceCheckUtils]: 5: Hoare triple {591#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); {611#(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-14 18:25:52,583 INFO L256 TraceCheckUtils]: 6: Hoare triple {611#(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); {611#(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-14 18:25:52,584 INFO L273 TraceCheckUtils]: 7: Hoare triple {611#(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; {618#(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-14 18:25:52,587 INFO L273 TraceCheckUtils]: 8: Hoare triple {618#(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)))} assume true; {618#(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-14 18:25:52,589 INFO L273 TraceCheckUtils]: 9: Hoare triple {618#(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); {625#(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-14 18:25:52,591 INFO L273 TraceCheckUtils]: 10: Hoare triple {625#(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; {629#(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-14 18:25:52,593 INFO L273 TraceCheckUtils]: 11: Hoare triple {629#(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; {629#(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-14 18:25:52,596 INFO L273 TraceCheckUtils]: 12: Hoare triple {629#(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; {629#(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-14 18:25:52,597 INFO L273 TraceCheckUtils]: 13: Hoare triple {629#(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; {629#(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-14 18:25:52,598 INFO L268 TraceCheckUtils]: 14: Hoare quadruple {629#(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|)))} {611#(exists ((|v_main_#t~nondet3_3| (_ BitVec 32))) (= (bvadd ~SIZE~0 (_ bv4294967295 32)) (bvudiv |v_main_#t~nondet3_3| (_ bv2 32))))} #58#return; {592#false} is VALID [2018-11-14 18:25:52,599 INFO L256 TraceCheckUtils]: 15: Hoare triple {592#false} call __VERIFIER_assert(#t~ret4); {592#false} is VALID [2018-11-14 18:25:52,599 INFO L273 TraceCheckUtils]: 16: Hoare triple {592#false} ~cond := #in~cond; {592#false} is VALID [2018-11-14 18:25:52,599 INFO L273 TraceCheckUtils]: 17: Hoare triple {592#false} assume ~cond == 0bv32; {592#false} is VALID [2018-11-14 18:25:52,599 INFO L273 TraceCheckUtils]: 18: Hoare triple {592#false} assume !false; {592#false} is VALID [2018-11-14 18:25:52,601 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-14 18:25:52,601 INFO L312 TraceCheckSpWp]: Omiting computation of backward sequence because forward sequence was already perfect [2018-11-14 18:25:52,604 INFO L312 seRefinementStrategy]: Constructing automaton from 1 perfect and 0 imperfect interpolant sequences. [2018-11-14 18:25:52,604 INFO L327 seRefinementStrategy]: Number of different interpolants: perfect sequences [6] imperfect sequences [] total 6 [2018-11-14 18:25:52,604 INFO L78 Accepts]: Start accepts. Automaton has 6 states. Word has length 19 [2018-11-14 18:25:52,604 INFO L84 Accepts]: Finished accepts. word is accepted. [2018-11-14 18:25:52,605 INFO L86 InductivityCheck]: Starting indutivity check of a Floyd-Hoare automaton with 6 states. [2018-11-14 18:25:52,651 INFO L119 InductivityCheck]: Floyd-Hoare automaton has 19 edges. 19 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2018-11-14 18:25:52,651 INFO L459 AbstractCegarLoop]: Interpolant automaton has 6 states [2018-11-14 18:25:52,652 INFO L142 InterpolantAutomaton]: Constructing interpolant automaton starting with 6 interpolants. [2018-11-14 18:25:52,652 INFO L144 InterpolantAutomaton]: CoverageRelationStatistics Valid=12, Invalid=18, Unknown=0, NotChecked=0, Total=30 [2018-11-14 18:25:52,652 INFO L87 Difference]: Start difference. First operand 25 states and 28 transitions. Second operand 6 states. [2018-11-14 18:25:52,934 WARN L179 SmtUtils]: Spent 100.00 ms on a formula simplification. DAG size of input: 22 DAG size of output: 22 [2018-11-14 18:25:53,308 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2018-11-14 18:25:53,308 INFO L93 Difference]: Finished difference Result 40 states and 46 transitions. [2018-11-14 18:25:53,308 INFO L142 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 7 states. [2018-11-14 18:25:53,309 INFO L78 Accepts]: Start accepts. Automaton has 6 states. Word has length 19 [2018-11-14 18:25:53,309 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2018-11-14 18:25:53,309 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 6 states. [2018-11-14 18:25:53,312 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 7 states to 7 states and 46 transitions. [2018-11-14 18:25:53,312 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 6 states. [2018-11-14 18:25:53,315 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 7 states to 7 states and 46 transitions. [2018-11-14 18:25:53,315 INFO L86 InductivityCheck]: Starting indutivity check of a Floyd-Hoare automaton with 7 states and 46 transitions. [2018-11-14 18:25:53,468 INFO L119 InductivityCheck]: Floyd-Hoare automaton has 46 edges. 46 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2018-11-14 18:25:53,470 INFO L225 Difference]: With dead ends: 40 [2018-11-14 18:25:53,470 INFO L226 Difference]: Without dead ends: 25 [2018-11-14 18:25:53,471 INFO L604 BasicCegarLoop]: 0 DeclaredPredicates, 21 GetRequests, 14 SyntacticMatches, 0 SemanticMatches, 7 ConstructedPredicates, 0 IntricatePredicates, 0 DeprecatedPredicates, 2 ImplicationChecksByTransitivity, 0.6s TimeCoverageRelationStatistics Valid=30, Invalid=42, Unknown=0, NotChecked=0, Total=72 [2018-11-14 18:25:53,471 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 25 states. [2018-11-14 18:25:53,489 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 25 to 25. [2018-11-14 18:25:53,489 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2018-11-14 18:25:53,489 INFO L82 GeneralOperation]: Start isEquivalent. First operand 25 states. Second operand 25 states. [2018-11-14 18:25:53,490 INFO L74 IsIncluded]: Start isIncluded. First operand 25 states. Second operand 25 states. [2018-11-14 18:25:53,490 INFO L87 Difference]: Start difference. First operand 25 states. Second operand 25 states. [2018-11-14 18:25:53,492 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2018-11-14 18:25:53,492 INFO L93 Difference]: Finished difference Result 25 states and 27 transitions. [2018-11-14 18:25:53,492 INFO L276 IsEmpty]: Start isEmpty. Operand 25 states and 27 transitions. [2018-11-14 18:25:53,493 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2018-11-14 18:25:53,493 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2018-11-14 18:25:53,493 INFO L74 IsIncluded]: Start isIncluded. First operand 25 states. Second operand 25 states. [2018-11-14 18:25:53,493 INFO L87 Difference]: Start difference. First operand 25 states. Second operand 25 states. [2018-11-14 18:25:53,495 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2018-11-14 18:25:53,495 INFO L93 Difference]: Finished difference Result 25 states and 27 transitions. [2018-11-14 18:25:53,495 INFO L276 IsEmpty]: Start isEmpty. Operand 25 states and 27 transitions. [2018-11-14 18:25:53,496 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2018-11-14 18:25:53,496 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2018-11-14 18:25:53,496 INFO L88 GeneralOperation]: Finished isEquivalent. [2018-11-14 18:25:53,496 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2018-11-14 18:25:53,497 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 25 states. [2018-11-14 18:25:53,498 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 25 states to 25 states and 27 transitions. [2018-11-14 18:25:53,498 INFO L78 Accepts]: Start accepts. Automaton has 25 states and 27 transitions. Word has length 19 [2018-11-14 18:25:53,499 INFO L84 Accepts]: Finished accepts. word is rejected. [2018-11-14 18:25:53,499 INFO L480 AbstractCegarLoop]: Abstraction has 25 states and 27 transitions. [2018-11-14 18:25:53,499 INFO L481 AbstractCegarLoop]: Interpolant automaton has 6 states. [2018-11-14 18:25:53,499 INFO L276 IsEmpty]: Start isEmpty. Operand 25 states and 27 transitions. [2018-11-14 18:25:53,500 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 25 [2018-11-14 18:25:53,500 INFO L367 BasicCegarLoop]: Found error trace [2018-11-14 18:25:53,500 INFO L375 BasicCegarLoop]: trace histogram [2, 2, 2, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1] [2018-11-14 18:25:53,500 INFO L423 AbstractCegarLoop]: === Iteration 5 === [__VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION]=== [2018-11-14 18:25:53,501 INFO L141 PredicateUnifier]: Initialized classic predicate unifier [2018-11-14 18:25:53,501 INFO L82 PathProgramCache]: Analyzing trace with hash -606738, now seen corresponding path program 1 times [2018-11-14 18:25:53,501 INFO L223 ckRefinementStrategy]: Switched to mode CVC4_FPBP [2018-11-14 18:25:53,501 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-14 18:25:53,520 INFO L103 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2018-11-14 18:25:53,546 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2018-11-14 18:25:53,565 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2018-11-14 18:25:53,566 INFO L273 TraceCheckSpWp]: Computing forward predicates... [2018-11-14 18:25:53,624 INFO L256 TraceCheckUtils]: 0: Hoare triple {797#true} call ULTIMATE.init(); {797#true} is VALID [2018-11-14 18:25:53,625 INFO L273 TraceCheckUtils]: 1: Hoare triple {797#true} #NULL.base, #NULL.offset := 0bv32, 0bv32;#valid := #valid[0bv32 := 0bv1];~SIZE~0 := 0bv32; {797#true} is VALID [2018-11-14 18:25:53,625 INFO L273 TraceCheckUtils]: 2: Hoare triple {797#true} assume true; {797#true} is VALID [2018-11-14 18:25:53,626 INFO L268 TraceCheckUtils]: 3: Hoare quadruple {797#true} {797#true} #54#return; {797#true} is VALID [2018-11-14 18:25:53,626 INFO L256 TraceCheckUtils]: 4: Hoare triple {797#true} call #t~ret5 := main(); {797#true} is VALID [2018-11-14 18:25:53,627 INFO L273 TraceCheckUtils]: 5: Hoare triple {797#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); {797#true} is VALID [2018-11-14 18:25:53,627 INFO L256 TraceCheckUtils]: 6: Hoare triple {797#true} call #t~ret4 := linear_search(~#a~0.base, ~#a~0.offset, ~SIZE~0, 3bv32); {797#true} is VALID [2018-11-14 18:25:53,628 INFO L273 TraceCheckUtils]: 7: Hoare triple {797#true} ~a.base, ~a.offset := #in~a.base, #in~a.offset;~n := #in~n;~q := #in~q;~j~0 := 0bv32; {823#(= linear_search_~j~0 (_ bv0 32))} is VALID [2018-11-14 18:25:53,629 INFO L273 TraceCheckUtils]: 8: Hoare triple {823#(= linear_search_~j~0 (_ bv0 32))} assume true; {823#(= linear_search_~j~0 (_ bv0 32))} is VALID [2018-11-14 18:25:53,629 INFO L273 TraceCheckUtils]: 9: Hoare triple {823#(= linear_search_~j~0 (_ bv0 32))} #t~short1 := ~bvult32(~j~0, ~n); {823#(= linear_search_~j~0 (_ bv0 32))} is VALID [2018-11-14 18:25:53,630 INFO L273 TraceCheckUtils]: 10: Hoare triple {823#(= 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; {823#(= linear_search_~j~0 (_ bv0 32))} is VALID [2018-11-14 18:25:53,631 INFO L273 TraceCheckUtils]: 11: Hoare triple {823#(= 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; {836#(= (bvadd linear_search_~j~0 (_ bv4294967295 32)) (_ bv0 32))} is VALID [2018-11-14 18:25:53,634 INFO L273 TraceCheckUtils]: 12: Hoare triple {836#(= (bvadd linear_search_~j~0 (_ bv4294967295 32)) (_ bv0 32))} assume ~j~0 == 20bv32;~j~0 := 4294967295bv32; {798#false} is VALID [2018-11-14 18:25:53,634 INFO L273 TraceCheckUtils]: 13: Hoare triple {798#false} assume true; {798#false} is VALID [2018-11-14 18:25:53,634 INFO L273 TraceCheckUtils]: 14: Hoare triple {798#false} #t~short1 := ~bvult32(~j~0, ~n); {798#false} is VALID [2018-11-14 18:25:53,635 INFO L273 TraceCheckUtils]: 15: Hoare triple {798#false} assume #t~short1;call #t~mem0 := read~intINTTYPE4(~a.base, ~bvadd32(~a.offset, ~bvmul32(4bv32, ~j~0)), 4bv32);#t~short1 := #t~mem0 != ~q; {798#false} is VALID [2018-11-14 18:25:53,635 INFO L273 TraceCheckUtils]: 16: Hoare triple {798#false} assume !#t~short1;havoc #t~short1;havoc #t~mem0; {798#false} is VALID [2018-11-14 18:25:53,635 INFO L273 TraceCheckUtils]: 17: Hoare triple {798#false} assume !~bvult32(~j~0, ~SIZE~0);#res := 0bv32; {798#false} is VALID [2018-11-14 18:25:53,635 INFO L273 TraceCheckUtils]: 18: Hoare triple {798#false} assume true; {798#false} is VALID [2018-11-14 18:25:53,636 INFO L268 TraceCheckUtils]: 19: Hoare quadruple {798#false} {797#true} #58#return; {798#false} is VALID [2018-11-14 18:25:53,636 INFO L256 TraceCheckUtils]: 20: Hoare triple {798#false} call __VERIFIER_assert(#t~ret4); {798#false} is VALID [2018-11-14 18:25:53,636 INFO L273 TraceCheckUtils]: 21: Hoare triple {798#false} ~cond := #in~cond; {798#false} is VALID [2018-11-14 18:25:53,636 INFO L273 TraceCheckUtils]: 22: Hoare triple {798#false} assume ~cond == 0bv32; {798#false} is VALID [2018-11-14 18:25:53,636 INFO L273 TraceCheckUtils]: 23: Hoare triple {798#false} assume !false; {798#false} is VALID [2018-11-14 18:25:53,638 INFO L134 CoverageAnalysis]: Checked inductivity of 4 backedges. 4 proven. 0 refuted. 0 times theorem prover too weak. 0 trivial. 0 not checked. [2018-11-14 18:25:53,638 INFO L312 TraceCheckSpWp]: Omiting computation of backward sequence because forward sequence was already perfect [2018-11-14 18:25:53,640 INFO L312 seRefinementStrategy]: Constructing automaton from 1 perfect and 0 imperfect interpolant sequences. [2018-11-14 18:25:53,640 INFO L327 seRefinementStrategy]: Number of different interpolants: perfect sequences [4] imperfect sequences [] total 4 [2018-11-14 18:25:53,640 INFO L78 Accepts]: Start accepts. Automaton has 4 states. Word has length 24 [2018-11-14 18:25:53,641 INFO L84 Accepts]: Finished accepts. word is accepted. [2018-11-14 18:25:53,641 INFO L86 InductivityCheck]: Starting indutivity check of a Floyd-Hoare automaton with 4 states. [2018-11-14 18:25:53,675 INFO L119 InductivityCheck]: Floyd-Hoare automaton has 24 edges. 24 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2018-11-14 18:25:53,675 INFO L459 AbstractCegarLoop]: Interpolant automaton has 4 states [2018-11-14 18:25:53,676 INFO L142 InterpolantAutomaton]: Constructing interpolant automaton starting with 4 interpolants. [2018-11-14 18:25:53,676 INFO L144 InterpolantAutomaton]: CoverageRelationStatistics Valid=5, Invalid=7, Unknown=0, NotChecked=0, Total=12 [2018-11-14 18:25:53,676 INFO L87 Difference]: Start difference. First operand 25 states and 27 transitions. Second operand 4 states. [2018-11-14 18:25:53,864 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2018-11-14 18:25:53,864 INFO L93 Difference]: Finished difference Result 46 states and 53 transitions. [2018-11-14 18:25:53,864 INFO L142 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 4 states. [2018-11-14 18:25:53,865 INFO L78 Accepts]: Start accepts. Automaton has 4 states. Word has length 24 [2018-11-14 18:25:53,865 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2018-11-14 18:25:53,865 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 4 states. [2018-11-14 18:25:53,868 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 4 states to 4 states and 53 transitions. [2018-11-14 18:25:53,868 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 4 states. [2018-11-14 18:25:53,870 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 4 states to 4 states and 53 transitions. [2018-11-14 18:25:53,870 INFO L86 InductivityCheck]: Starting indutivity check of a Floyd-Hoare automaton with 4 states and 53 transitions. [2018-11-14 18:25:53,967 INFO L119 InductivityCheck]: Floyd-Hoare automaton has 53 edges. 53 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2018-11-14 18:25:53,969 INFO L225 Difference]: With dead ends: 46 [2018-11-14 18:25:53,969 INFO L226 Difference]: Without dead ends: 33 [2018-11-14 18:25:53,970 INFO L604 BasicCegarLoop]: 0 DeclaredPredicates, 23 GetRequests, 21 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-14 18:25:53,970 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 33 states. [2018-11-14 18:25:53,986 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 33 to 26. [2018-11-14 18:25:53,987 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2018-11-14 18:25:53,987 INFO L82 GeneralOperation]: Start isEquivalent. First operand 33 states. Second operand 26 states. [2018-11-14 18:25:53,987 INFO L74 IsIncluded]: Start isIncluded. First operand 33 states. Second operand 26 states. [2018-11-14 18:25:53,988 INFO L87 Difference]: Start difference. First operand 33 states. Second operand 26 states. [2018-11-14 18:25:53,990 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2018-11-14 18:25:53,991 INFO L93 Difference]: Finished difference Result 33 states and 37 transitions. [2018-11-14 18:25:53,991 INFO L276 IsEmpty]: Start isEmpty. Operand 33 states and 37 transitions. [2018-11-14 18:25:53,991 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2018-11-14 18:25:53,991 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2018-11-14 18:25:53,992 INFO L74 IsIncluded]: Start isIncluded. First operand 26 states. Second operand 33 states. [2018-11-14 18:25:53,992 INFO L87 Difference]: Start difference. First operand 26 states. Second operand 33 states. [2018-11-14 18:25:53,994 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2018-11-14 18:25:53,994 INFO L93 Difference]: Finished difference Result 33 states and 37 transitions. [2018-11-14 18:25:53,994 INFO L276 IsEmpty]: Start isEmpty. Operand 33 states and 37 transitions. [2018-11-14 18:25:53,995 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2018-11-14 18:25:53,995 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2018-11-14 18:25:53,995 INFO L88 GeneralOperation]: Finished isEquivalent. [2018-11-14 18:25:53,996 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2018-11-14 18:25:53,996 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 26 states. [2018-11-14 18:25:53,997 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 26 states to 26 states and 28 transitions. [2018-11-14 18:25:53,997 INFO L78 Accepts]: Start accepts. Automaton has 26 states and 28 transitions. Word has length 24 [2018-11-14 18:25:53,998 INFO L84 Accepts]: Finished accepts. word is rejected. [2018-11-14 18:25:53,998 INFO L480 AbstractCegarLoop]: Abstraction has 26 states and 28 transitions. [2018-11-14 18:25:53,998 INFO L481 AbstractCegarLoop]: Interpolant automaton has 4 states. [2018-11-14 18:25:53,998 INFO L276 IsEmpty]: Start isEmpty. Operand 26 states and 28 transitions. [2018-11-14 18:25:53,999 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 25 [2018-11-14 18:25:53,999 INFO L367 BasicCegarLoop]: Found error trace [2018-11-14 18:25:53,999 INFO L375 BasicCegarLoop]: trace histogram [2, 2, 2, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1] [2018-11-14 18:25:53,999 INFO L423 AbstractCegarLoop]: === Iteration 6 === [__VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION]=== [2018-11-14 18:25:54,000 INFO L141 PredicateUnifier]: Initialized classic predicate unifier [2018-11-14 18:25:54,000 INFO L82 PathProgramCache]: Analyzing trace with hash 257558700, now seen corresponding path program 1 times [2018-11-14 18:25:54,000 INFO L223 ckRefinementStrategy]: Switched to mode CVC4_FPBP [2018-11-14 18:25:54,000 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-14 18:25:54,031 INFO L103 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2018-11-14 18:25:54,056 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2018-11-14 18:25:54,067 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2018-11-14 18:25:54,069 INFO L273 TraceCheckSpWp]: Computing forward predicates... [2018-11-14 18:25:54,204 INFO L256 TraceCheckUtils]: 0: Hoare triple {1034#true} call ULTIMATE.init(); {1034#true} is VALID [2018-11-14 18:25:54,205 INFO L273 TraceCheckUtils]: 1: Hoare triple {1034#true} #NULL.base, #NULL.offset := 0bv32, 0bv32;#valid := #valid[0bv32 := 0bv1];~SIZE~0 := 0bv32; {1034#true} is VALID [2018-11-14 18:25:54,205 INFO L273 TraceCheckUtils]: 2: Hoare triple {1034#true} assume true; {1034#true} is VALID [2018-11-14 18:25:54,206 INFO L268 TraceCheckUtils]: 3: Hoare quadruple {1034#true} {1034#true} #54#return; {1034#true} is VALID [2018-11-14 18:25:54,206 INFO L256 TraceCheckUtils]: 4: Hoare triple {1034#true} call #t~ret5 := main(); {1034#true} is VALID [2018-11-14 18:25:54,207 INFO L273 TraceCheckUtils]: 5: Hoare triple {1034#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); {1034#true} is VALID [2018-11-14 18:25:54,207 INFO L256 TraceCheckUtils]: 6: Hoare triple {1034#true} call #t~ret4 := linear_search(~#a~0.base, ~#a~0.offset, ~SIZE~0, 3bv32); {1034#true} is VALID [2018-11-14 18:25:54,211 INFO L273 TraceCheckUtils]: 7: Hoare triple {1034#true} ~a.base, ~a.offset := #in~a.base, #in~a.offset;~n := #in~n;~q := #in~q;~j~0 := 0bv32; {1060#(= linear_search_~n |linear_search_#in~n|)} is VALID [2018-11-14 18:25:54,213 INFO L273 TraceCheckUtils]: 8: Hoare triple {1060#(= linear_search_~n |linear_search_#in~n|)} assume true; {1060#(= linear_search_~n |linear_search_#in~n|)} is VALID [2018-11-14 18:25:54,213 INFO L273 TraceCheckUtils]: 9: Hoare triple {1060#(= linear_search_~n |linear_search_#in~n|)} #t~short1 := ~bvult32(~j~0, ~n); {1060#(= linear_search_~n |linear_search_#in~n|)} is VALID [2018-11-14 18:25:54,214 INFO L273 TraceCheckUtils]: 10: Hoare triple {1060#(= 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; {1060#(= linear_search_~n |linear_search_#in~n|)} is VALID [2018-11-14 18:25:54,214 INFO L273 TraceCheckUtils]: 11: Hoare triple {1060#(= 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; {1060#(= linear_search_~n |linear_search_#in~n|)} is VALID [2018-11-14 18:25:54,215 INFO L273 TraceCheckUtils]: 12: Hoare triple {1060#(= linear_search_~n |linear_search_#in~n|)} assume !(~j~0 == 20bv32); {1060#(= linear_search_~n |linear_search_#in~n|)} is VALID [2018-11-14 18:25:54,215 INFO L273 TraceCheckUtils]: 13: Hoare triple {1060#(= linear_search_~n |linear_search_#in~n|)} assume true; {1060#(= linear_search_~n |linear_search_#in~n|)} is VALID [2018-11-14 18:25:54,217 INFO L273 TraceCheckUtils]: 14: Hoare triple {1060#(= linear_search_~n |linear_search_#in~n|)} #t~short1 := ~bvult32(~j~0, ~n); {1082#(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-14 18:25:54,220 INFO L273 TraceCheckUtils]: 15: Hoare triple {1082#(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; {1086#(bvult linear_search_~j~0 |linear_search_#in~n|)} is VALID [2018-11-14 18:25:54,221 INFO L273 TraceCheckUtils]: 16: Hoare triple {1086#(bvult linear_search_~j~0 |linear_search_#in~n|)} assume !#t~short1;havoc #t~short1;havoc #t~mem0; {1086#(bvult linear_search_~j~0 |linear_search_#in~n|)} is VALID [2018-11-14 18:25:54,229 INFO L273 TraceCheckUtils]: 17: Hoare triple {1086#(bvult linear_search_~j~0 |linear_search_#in~n|)} assume !~bvult32(~j~0, ~SIZE~0);#res := 0bv32; {1093#(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-14 18:25:54,230 INFO L273 TraceCheckUtils]: 18: Hoare triple {1093#(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; {1093#(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-14 18:25:54,251 INFO L268 TraceCheckUtils]: 19: Hoare quadruple {1093#(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|)))} {1034#true} #58#return; {1035#false} is VALID [2018-11-14 18:25:54,251 INFO L256 TraceCheckUtils]: 20: Hoare triple {1035#false} call __VERIFIER_assert(#t~ret4); {1035#false} is VALID [2018-11-14 18:25:54,252 INFO L273 TraceCheckUtils]: 21: Hoare triple {1035#false} ~cond := #in~cond; {1035#false} is VALID [2018-11-14 18:25:54,252 INFO L273 TraceCheckUtils]: 22: Hoare triple {1035#false} assume ~cond == 0bv32; {1035#false} is VALID [2018-11-14 18:25:54,252 INFO L273 TraceCheckUtils]: 23: Hoare triple {1035#false} assume !false; {1035#false} is VALID [2018-11-14 18:25:54,254 INFO L134 CoverageAnalysis]: Checked inductivity of 4 backedges. 0 proven. 2 refuted. 0 times theorem prover too weak. 2 trivial. 0 not checked. [2018-11-14 18:25:54,254 INFO L316 TraceCheckSpWp]: Computing backward predicates... [2018-11-14 18:25:54,546 INFO L273 TraceCheckUtils]: 23: Hoare triple {1035#false} assume !false; {1035#false} is VALID [2018-11-14 18:25:54,547 INFO L273 TraceCheckUtils]: 22: Hoare triple {1035#false} assume ~cond == 0bv32; {1035#false} is VALID [2018-11-14 18:25:54,547 INFO L273 TraceCheckUtils]: 21: Hoare triple {1035#false} ~cond := #in~cond; {1035#false} is VALID [2018-11-14 18:25:54,548 INFO L256 TraceCheckUtils]: 20: Hoare triple {1035#false} call __VERIFIER_assert(#t~ret4); {1035#false} is VALID [2018-11-14 18:25:54,552 INFO L268 TraceCheckUtils]: 19: Hoare quadruple {1127#(not (= ~SIZE~0 |linear_search_#in~n|))} {1034#true} #58#return; {1035#false} is VALID [2018-11-14 18:25:54,553 INFO L273 TraceCheckUtils]: 18: Hoare triple {1127#(not (= ~SIZE~0 |linear_search_#in~n|))} assume true; {1127#(not (= ~SIZE~0 |linear_search_#in~n|))} is VALID [2018-11-14 18:25:54,554 INFO L273 TraceCheckUtils]: 17: Hoare triple {1086#(bvult linear_search_~j~0 |linear_search_#in~n|)} assume !~bvult32(~j~0, ~SIZE~0);#res := 0bv32; {1127#(not (= ~SIZE~0 |linear_search_#in~n|))} is VALID [2018-11-14 18:25:54,558 INFO L273 TraceCheckUtils]: 16: Hoare triple {1086#(bvult linear_search_~j~0 |linear_search_#in~n|)} assume !#t~short1;havoc #t~short1;havoc #t~mem0; {1086#(bvult linear_search_~j~0 |linear_search_#in~n|)} is VALID [2018-11-14 18:25:54,559 INFO L273 TraceCheckUtils]: 15: Hoare triple {1140#(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; {1086#(bvult linear_search_~j~0 |linear_search_#in~n|)} is VALID [2018-11-14 18:25:54,567 INFO L273 TraceCheckUtils]: 14: Hoare triple {1144#(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); {1140#(or (not |linear_search_#t~short1|) (bvult linear_search_~j~0 |linear_search_#in~n|))} is VALID [2018-11-14 18:25:54,568 INFO L273 TraceCheckUtils]: 13: Hoare triple {1144#(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 true; {1144#(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-14 18:25:54,569 INFO L273 TraceCheckUtils]: 12: Hoare triple {1144#(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 !(~j~0 == 20bv32); {1144#(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-14 18:25:54,570 INFO L273 TraceCheckUtils]: 11: Hoare triple {1144#(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; {1144#(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-14 18:25:54,570 INFO L273 TraceCheckUtils]: 10: Hoare triple {1144#(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; {1144#(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-14 18:25:54,571 INFO L273 TraceCheckUtils]: 9: Hoare triple {1144#(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); {1144#(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-14 18:25:54,571 INFO L273 TraceCheckUtils]: 8: Hoare triple {1144#(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 true; {1144#(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-14 18:25:54,572 INFO L273 TraceCheckUtils]: 7: Hoare triple {1034#true} ~a.base, ~a.offset := #in~a.base, #in~a.offset;~n := #in~n;~q := #in~q;~j~0 := 0bv32; {1144#(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-14 18:25:54,572 INFO L256 TraceCheckUtils]: 6: Hoare triple {1034#true} call #t~ret4 := linear_search(~#a~0.base, ~#a~0.offset, ~SIZE~0, 3bv32); {1034#true} is VALID [2018-11-14 18:25:54,573 INFO L273 TraceCheckUtils]: 5: Hoare triple {1034#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); {1034#true} is VALID [2018-11-14 18:25:54,573 INFO L256 TraceCheckUtils]: 4: Hoare triple {1034#true} call #t~ret5 := main(); {1034#true} is VALID [2018-11-14 18:25:54,573 INFO L268 TraceCheckUtils]: 3: Hoare quadruple {1034#true} {1034#true} #54#return; {1034#true} is VALID [2018-11-14 18:25:54,574 INFO L273 TraceCheckUtils]: 2: Hoare triple {1034#true} assume true; {1034#true} is VALID [2018-11-14 18:25:54,574 INFO L273 TraceCheckUtils]: 1: Hoare triple {1034#true} #NULL.base, #NULL.offset := 0bv32, 0bv32;#valid := #valid[0bv32 := 0bv1];~SIZE~0 := 0bv32; {1034#true} is VALID [2018-11-14 18:25:54,574 INFO L256 TraceCheckUtils]: 0: Hoare triple {1034#true} call ULTIMATE.init(); {1034#true} is VALID [2018-11-14 18:25:54,577 INFO L134 CoverageAnalysis]: Checked inductivity of 4 backedges. 0 proven. 2 refuted. 0 times theorem prover too weak. 2 trivial. 0 not checked. [2018-11-14 18:25:54,582 INFO L312 seRefinementStrategy]: Constructing automaton from 0 perfect and 2 imperfect interpolant sequences. [2018-11-14 18:25:54,582 INFO L327 seRefinementStrategy]: Number of different interpolants: perfect sequences [] imperfect sequences [6, 6] total 9 [2018-11-14 18:25:54,583 INFO L78 Accepts]: Start accepts. Automaton has 9 states. Word has length 24 [2018-11-14 18:25:54,583 INFO L84 Accepts]: Finished accepts. word is accepted. [2018-11-14 18:25:54,584 INFO L86 InductivityCheck]: Starting indutivity check of a Floyd-Hoare automaton with 9 states. [2018-11-14 18:25:54,714 INFO L119 InductivityCheck]: Floyd-Hoare automaton has 34 edges. 34 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2018-11-14 18:25:54,715 INFO L459 AbstractCegarLoop]: Interpolant automaton has 9 states [2018-11-14 18:25:54,715 INFO L142 InterpolantAutomaton]: Constructing interpolant automaton starting with 9 interpolants. [2018-11-14 18:25:54,715 INFO L144 InterpolantAutomaton]: CoverageRelationStatistics Valid=19, Invalid=53, Unknown=0, NotChecked=0, Total=72 [2018-11-14 18:25:54,715 INFO L87 Difference]: Start difference. First operand 26 states and 28 transitions. Second operand 9 states. [2018-11-14 18:25:55,369 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2018-11-14 18:25:55,369 INFO L93 Difference]: Finished difference Result 35 states and 37 transitions. [2018-11-14 18:25:55,370 INFO L142 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 6 states. [2018-11-14 18:25:55,370 INFO L78 Accepts]: Start accepts. Automaton has 9 states. Word has length 24 [2018-11-14 18:25:55,370 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2018-11-14 18:25:55,371 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 9 states. [2018-11-14 18:25:55,372 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 6 states to 6 states and 32 transitions. [2018-11-14 18:25:55,373 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 9 states. [2018-11-14 18:25:55,374 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 6 states to 6 states and 32 transitions. [2018-11-14 18:25:55,374 INFO L86 InductivityCheck]: Starting indutivity check of a Floyd-Hoare automaton with 6 states and 32 transitions. [2018-11-14 18:25:55,464 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-14 18:25:55,465 INFO L225 Difference]: With dead ends: 35 [2018-11-14 18:25:55,465 INFO L226 Difference]: Without dead ends: 27 [2018-11-14 18:25:55,466 INFO L604 BasicCegarLoop]: 0 DeclaredPredicates, 50 GetRequests, 40 SyntacticMatches, 0 SemanticMatches, 10 ConstructedPredicates, 0 IntricatePredicates, 0 DeprecatedPredicates, 5 ImplicationChecksByTransitivity, 0.2s TimeCoverageRelationStatistics Valid=40, Invalid=92, Unknown=0, NotChecked=0, Total=132 [2018-11-14 18:25:55,466 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 27 states. [2018-11-14 18:25:55,523 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 27 to 27. [2018-11-14 18:25:55,524 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2018-11-14 18:25:55,524 INFO L82 GeneralOperation]: Start isEquivalent. First operand 27 states. Second operand 27 states. [2018-11-14 18:25:55,524 INFO L74 IsIncluded]: Start isIncluded. First operand 27 states. Second operand 27 states. [2018-11-14 18:25:55,524 INFO L87 Difference]: Start difference. First operand 27 states. Second operand 27 states. [2018-11-14 18:25:55,525 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2018-11-14 18:25:55,525 INFO L93 Difference]: Finished difference Result 27 states and 29 transitions. [2018-11-14 18:25:55,526 INFO L276 IsEmpty]: Start isEmpty. Operand 27 states and 29 transitions. [2018-11-14 18:25:55,526 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2018-11-14 18:25:55,527 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2018-11-14 18:25:55,527 INFO L74 IsIncluded]: Start isIncluded. First operand 27 states. Second operand 27 states. [2018-11-14 18:25:55,527 INFO L87 Difference]: Start difference. First operand 27 states. Second operand 27 states. [2018-11-14 18:25:55,529 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2018-11-14 18:25:55,529 INFO L93 Difference]: Finished difference Result 27 states and 29 transitions. [2018-11-14 18:25:55,529 INFO L276 IsEmpty]: Start isEmpty. Operand 27 states and 29 transitions. [2018-11-14 18:25:55,530 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2018-11-14 18:25:55,530 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2018-11-14 18:25:55,530 INFO L88 GeneralOperation]: Finished isEquivalent. [2018-11-14 18:25:55,530 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2018-11-14 18:25:55,530 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 27 states. [2018-11-14 18:25:55,531 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 27 states to 27 states and 29 transitions. [2018-11-14 18:25:55,532 INFO L78 Accepts]: Start accepts. Automaton has 27 states and 29 transitions. Word has length 24 [2018-11-14 18:25:55,532 INFO L84 Accepts]: Finished accepts. word is rejected. [2018-11-14 18:25:55,532 INFO L480 AbstractCegarLoop]: Abstraction has 27 states and 29 transitions. [2018-11-14 18:25:55,532 INFO L481 AbstractCegarLoop]: Interpolant automaton has 9 states. [2018-11-14 18:25:55,532 INFO L276 IsEmpty]: Start isEmpty. Operand 27 states and 29 transitions. [2018-11-14 18:25:55,533 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 25 [2018-11-14 18:25:55,533 INFO L367 BasicCegarLoop]: Found error trace [2018-11-14 18:25:55,533 INFO L375 BasicCegarLoop]: trace histogram [2, 2, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1] [2018-11-14 18:25:55,533 INFO L423 AbstractCegarLoop]: === Iteration 7 === [__VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION]=== [2018-11-14 18:25:55,534 INFO L141 PredicateUnifier]: Initialized classic predicate unifier [2018-11-14 18:25:55,534 INFO L82 PathProgramCache]: Analyzing trace with hash 937617070, now seen corresponding path program 1 times [2018-11-14 18:25:55,534 INFO L223 ckRefinementStrategy]: Switched to mode CVC4_FPBP [2018-11-14 18:25:55,534 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-14 18:25:55,550 INFO L103 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2018-11-14 18:25:55,584 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2018-11-14 18:25:55,604 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2018-11-14 18:25:55,606 INFO L273 TraceCheckSpWp]: Computing forward predicates... [2018-11-14 18:25:55,662 INFO L477 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-14 18:25:55,675 INFO L477 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-14 18:25:55,677 INFO L267 ElimStorePlain]: Start of recursive call 3: End of recursive call: and 1 xjuncts. [2018-11-14 18:25:55,682 INFO L267 ElimStorePlain]: Start of recursive call 2: 1 dim-1 vars, End of recursive call: and 1 xjuncts. [2018-11-14 18:25:55,693 INFO L267 ElimStorePlain]: Start of recursive call 1: 1 dim-2 vars, End of recursive call: and 1 xjuncts. [2018-11-14 18:25:55,693 INFO L202 ElimStorePlain]: Needed 3 recursive calls to eliminate 1 variables, input treesize:21, output treesize:17 [2018-11-14 18:25:56,504 INFO L256 TraceCheckUtils]: 0: Hoare triple {1330#true} call ULTIMATE.init(); {1330#true} is VALID [2018-11-14 18:25:56,504 INFO L273 TraceCheckUtils]: 1: Hoare triple {1330#true} #NULL.base, #NULL.offset := 0bv32, 0bv32;#valid := #valid[0bv32 := 0bv1];~SIZE~0 := 0bv32; {1330#true} is VALID [2018-11-14 18:25:56,504 INFO L273 TraceCheckUtils]: 2: Hoare triple {1330#true} assume true; {1330#true} is VALID [2018-11-14 18:25:56,505 INFO L268 TraceCheckUtils]: 3: Hoare quadruple {1330#true} {1330#true} #54#return; {1330#true} is VALID [2018-11-14 18:25:56,505 INFO L256 TraceCheckUtils]: 4: Hoare triple {1330#true} call #t~ret5 := main(); {1330#true} is VALID [2018-11-14 18:25:56,525 INFO L273 TraceCheckUtils]: 5: Hoare triple {1330#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); {1350#(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-14 18:25:56,540 INFO L256 TraceCheckUtils]: 6: Hoare triple {1350#(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); {1354#(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-14 18:25:56,546 INFO L273 TraceCheckUtils]: 7: Hoare triple {1354#(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; {1358#(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-14 18:25:56,547 INFO L273 TraceCheckUtils]: 8: Hoare triple {1358#(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 true; {1358#(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-14 18:25:56,548 INFO L273 TraceCheckUtils]: 9: Hoare triple {1358#(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); {1358#(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-14 18:25:56,550 INFO L273 TraceCheckUtils]: 10: Hoare triple {1358#(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; {1368#(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-14 18:25:56,776 INFO L273 TraceCheckUtils]: 11: Hoare triple {1368#(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; {1372#(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-14 18:25:56,777 INFO L273 TraceCheckUtils]: 12: Hoare triple {1372#(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 !(~j~0 == 20bv32); {1372#(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-14 18:25:56,778 INFO L273 TraceCheckUtils]: 13: Hoare triple {1372#(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 true; {1372#(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-14 18:25:56,781 INFO L273 TraceCheckUtils]: 14: Hoare triple {1372#(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); {1382#(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-14 18:25:56,782 INFO L273 TraceCheckUtils]: 15: Hoare triple {1382#(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; {1386#(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-14 18:25:56,783 INFO L273 TraceCheckUtils]: 16: Hoare triple {1386#(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; {1386#(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-14 18:25:56,785 INFO L273 TraceCheckUtils]: 17: Hoare triple {1386#(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; {1386#(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-14 18:25:56,785 INFO L273 TraceCheckUtils]: 18: Hoare triple {1386#(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; {1386#(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-14 18:25:56,790 INFO L268 TraceCheckUtils]: 19: Hoare quadruple {1386#(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)))))))} {1350#(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|))))} #58#return; {1331#false} is VALID [2018-11-14 18:25:56,790 INFO L256 TraceCheckUtils]: 20: Hoare triple {1331#false} call __VERIFIER_assert(#t~ret4); {1331#false} is VALID [2018-11-14 18:25:56,791 INFO L273 TraceCheckUtils]: 21: Hoare triple {1331#false} ~cond := #in~cond; {1331#false} is VALID [2018-11-14 18:25:56,791 INFO L273 TraceCheckUtils]: 22: Hoare triple {1331#false} assume ~cond == 0bv32; {1331#false} is VALID [2018-11-14 18:25:56,791 INFO L273 TraceCheckUtils]: 23: Hoare triple {1331#false} assume !false; {1331#false} is VALID [2018-11-14 18:25:56,795 INFO L134 CoverageAnalysis]: Checked inductivity of 4 backedges. 0 proven. 4 refuted. 0 times theorem prover too weak. 0 trivial. 0 not checked. [2018-11-14 18:25:56,795 INFO L316 TraceCheckSpWp]: Computing backward predicates... [2018-11-14 18:25:56,971 WARN L179 SmtUtils]: Spent 172.00 ms on a formula simplification. DAG size of input: 42 DAG size of output: 35 [2018-11-14 18:25:58,396 INFO L273 TraceCheckUtils]: 23: Hoare triple {1331#false} assume !false; {1331#false} is VALID [2018-11-14 18:25:58,397 INFO L273 TraceCheckUtils]: 22: Hoare triple {1331#false} assume ~cond == 0bv32; {1331#false} is VALID [2018-11-14 18:25:58,397 INFO L273 TraceCheckUtils]: 21: Hoare triple {1331#false} ~cond := #in~cond; {1331#false} is VALID [2018-11-14 18:25:58,397 INFO L256 TraceCheckUtils]: 20: Hoare triple {1331#false} call __VERIFIER_assert(#t~ret4); {1331#false} is VALID [2018-11-14 18:25:58,399 INFO L268 TraceCheckUtils]: 19: Hoare quadruple {1427#(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|)))} {1423#(or (= (bvadd (select (select |#memory_int| |main_~#a~0.base|) |main_~#a~0.offset|) (_ bv4294967293 32)) (_ bv0 32)) (bvult (_ bv1 32) ~SIZE~0))} #58#return; {1331#false} is VALID [2018-11-14 18:25:58,400 INFO L273 TraceCheckUtils]: 18: Hoare triple {1427#(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; {1427#(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-14 18:25:58,400 INFO L273 TraceCheckUtils]: 17: Hoare triple {1427#(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; {1427#(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-14 18:25:58,401 INFO L273 TraceCheckUtils]: 16: Hoare triple {1427#(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; {1427#(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-14 18:25:58,402 INFO L273 TraceCheckUtils]: 15: Hoare triple {1440#(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; {1427#(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-14 18:25:58,404 INFO L273 TraceCheckUtils]: 14: Hoare triple {1444#(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); {1440#(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-14 18:25:58,405 INFO L273 TraceCheckUtils]: 13: Hoare triple {1444#(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 true; {1444#(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-14 18:25:58,406 INFO L273 TraceCheckUtils]: 12: Hoare triple {1444#(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 !(~j~0 == 20bv32); {1444#(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-14 18:25:58,433 INFO L273 TraceCheckUtils]: 11: Hoare triple {1454#(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; {1444#(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-14 18:25:58,436 INFO L273 TraceCheckUtils]: 10: Hoare triple {1458#(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; {1454#(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-14 18:25:58,437 INFO L273 TraceCheckUtils]: 9: Hoare triple {1458#(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); {1458#(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-14 18:25:58,438 INFO L273 TraceCheckUtils]: 8: Hoare triple {1458#(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 true; {1458#(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-14 18:25:58,441 INFO L273 TraceCheckUtils]: 7: Hoare triple {1330#true} ~a.base, ~a.offset := #in~a.base, #in~a.offset;~n := #in~n;~q := #in~q;~j~0 := 0bv32; {1458#(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-14 18:25:58,442 INFO L256 TraceCheckUtils]: 6: Hoare triple {1423#(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); {1330#true} is VALID [2018-11-14 18:25:58,443 INFO L273 TraceCheckUtils]: 5: Hoare triple {1330#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); {1423#(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-14 18:25:58,443 INFO L256 TraceCheckUtils]: 4: Hoare triple {1330#true} call #t~ret5 := main(); {1330#true} is VALID [2018-11-14 18:25:58,444 INFO L268 TraceCheckUtils]: 3: Hoare quadruple {1330#true} {1330#true} #54#return; {1330#true} is VALID [2018-11-14 18:25:58,444 INFO L273 TraceCheckUtils]: 2: Hoare triple {1330#true} assume true; {1330#true} is VALID [2018-11-14 18:25:58,444 INFO L273 TraceCheckUtils]: 1: Hoare triple {1330#true} #NULL.base, #NULL.offset := 0bv32, 0bv32;#valid := #valid[0bv32 := 0bv1];~SIZE~0 := 0bv32; {1330#true} is VALID [2018-11-14 18:25:58,444 INFO L256 TraceCheckUtils]: 0: Hoare triple {1330#true} call ULTIMATE.init(); {1330#true} is VALID [2018-11-14 18:25:58,448 INFO L134 CoverageAnalysis]: Checked inductivity of 4 backedges. 1 proven. 3 refuted. 0 times theorem prover too weak. 0 trivial. 0 not checked. [2018-11-14 18:25:58,449 INFO L312 seRefinementStrategy]: Constructing automaton from 0 perfect and 2 imperfect interpolant sequences. [2018-11-14 18:25:58,450 INFO L327 seRefinementStrategy]: Number of different interpolants: perfect sequences [] imperfect sequences [9, 8] total 15 [2018-11-14 18:25:58,450 INFO L78 Accepts]: Start accepts. Automaton has 15 states. Word has length 24 [2018-11-14 18:25:58,450 INFO L84 Accepts]: Finished accepts. word is accepted. [2018-11-14 18:25:58,450 INFO L86 InductivityCheck]: Starting indutivity check of a Floyd-Hoare automaton with 15 states. [2018-11-14 18:25:58,767 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-14 18:25:58,767 INFO L459 AbstractCegarLoop]: Interpolant automaton has 15 states [2018-11-14 18:25:58,768 INFO L142 InterpolantAutomaton]: Constructing interpolant automaton starting with 15 interpolants. [2018-11-14 18:25:58,768 INFO L144 InterpolantAutomaton]: CoverageRelationStatistics Valid=47, Invalid=163, Unknown=0, NotChecked=0, Total=210 [2018-11-14 18:25:58,768 INFO L87 Difference]: Start difference. First operand 27 states and 29 transitions. Second operand 15 states. [2018-11-14 18:25:59,400 WARN L179 SmtUtils]: Spent 212.00 ms on a formula simplification. DAG size of input: 39 DAG size of output: 39 [2018-11-14 18:26:01,769 WARN L179 SmtUtils]: Spent 2.15 s on a formula simplification. DAG size of input: 39 DAG size of output: 33 [2018-11-14 18:26:02,108 WARN L179 SmtUtils]: Spent 134.00 ms on a formula simplification. DAG size of input: 39 DAG size of output: 31 [2018-11-14 18:26:05,071 WARN L179 SmtUtils]: Spent 145.00 ms on a formula simplification that was a NOOP. DAG size: 48 [2018-11-14 18:26:06,806 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2018-11-14 18:26:06,807 INFO L93 Difference]: Finished difference Result 71 states and 84 transitions. [2018-11-14 18:26:06,807 INFO L142 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 16 states. [2018-11-14 18:26:06,807 INFO L78 Accepts]: Start accepts. Automaton has 15 states. Word has length 24 [2018-11-14 18:26:06,807 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2018-11-14 18:26:06,807 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 15 states. [2018-11-14 18:26:06,811 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 16 states to 16 states and 81 transitions. [2018-11-14 18:26:06,811 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 15 states. [2018-11-14 18:26:06,814 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 16 states to 16 states and 81 transitions. [2018-11-14 18:26:06,814 INFO L86 InductivityCheck]: Starting indutivity check of a Floyd-Hoare automaton with 16 states and 81 transitions. [2018-11-14 18:26:07,110 INFO L119 InductivityCheck]: Floyd-Hoare automaton has 81 edges. 81 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2018-11-14 18:26:07,112 INFO L225 Difference]: With dead ends: 71 [2018-11-14 18:26:07,113 INFO L226 Difference]: Without dead ends: 44 [2018-11-14 18:26:07,114 INFO L604 BasicCegarLoop]: 0 DeclaredPredicates, 57 GetRequests, 33 SyntacticMatches, 1 SemanticMatches, 23 ConstructedPredicates, 0 IntricatePredicates, 0 DeprecatedPredicates, 104 ImplicationChecksByTransitivity, 6.7s TimeCoverageRelationStatistics Valid=147, Invalid=452, Unknown=1, NotChecked=0, Total=600 [2018-11-14 18:26:07,114 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 44 states. [2018-11-14 18:26:07,170 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 44 to 35. [2018-11-14 18:26:07,170 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2018-11-14 18:26:07,170 INFO L82 GeneralOperation]: Start isEquivalent. First operand 44 states. Second operand 35 states. [2018-11-14 18:26:07,170 INFO L74 IsIncluded]: Start isIncluded. First operand 44 states. Second operand 35 states. [2018-11-14 18:26:07,170 INFO L87 Difference]: Start difference. First operand 44 states. Second operand 35 states. [2018-11-14 18:26:07,173 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2018-11-14 18:26:07,173 INFO L93 Difference]: Finished difference Result 44 states and 49 transitions. [2018-11-14 18:26:07,173 INFO L276 IsEmpty]: Start isEmpty. Operand 44 states and 49 transitions. [2018-11-14 18:26:07,174 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2018-11-14 18:26:07,174 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2018-11-14 18:26:07,174 INFO L74 IsIncluded]: Start isIncluded. First operand 35 states. Second operand 44 states. [2018-11-14 18:26:07,174 INFO L87 Difference]: Start difference. First operand 35 states. Second operand 44 states. [2018-11-14 18:26:07,176 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2018-11-14 18:26:07,176 INFO L93 Difference]: Finished difference Result 44 states and 49 transitions. [2018-11-14 18:26:07,177 INFO L276 IsEmpty]: Start isEmpty. Operand 44 states and 49 transitions. [2018-11-14 18:26:07,177 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2018-11-14 18:26:07,177 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2018-11-14 18:26:07,177 INFO L88 GeneralOperation]: Finished isEquivalent. [2018-11-14 18:26:07,178 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2018-11-14 18:26:07,178 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 35 states. [2018-11-14 18:26:07,179 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 35 states to 35 states and 39 transitions. [2018-11-14 18:26:07,179 INFO L78 Accepts]: Start accepts. Automaton has 35 states and 39 transitions. Word has length 24 [2018-11-14 18:26:07,180 INFO L84 Accepts]: Finished accepts. word is rejected. [2018-11-14 18:26:07,180 INFO L480 AbstractCegarLoop]: Abstraction has 35 states and 39 transitions. [2018-11-14 18:26:07,180 INFO L481 AbstractCegarLoop]: Interpolant automaton has 15 states. [2018-11-14 18:26:07,180 INFO L276 IsEmpty]: Start isEmpty. Operand 35 states and 39 transitions. [2018-11-14 18:26:07,181 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 30 [2018-11-14 18:26:07,181 INFO L367 BasicCegarLoop]: Found error trace [2018-11-14 18:26:07,181 INFO L375 BasicCegarLoop]: trace histogram [3, 3, 2, 2, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1] [2018-11-14 18:26:07,181 INFO L423 AbstractCegarLoop]: === Iteration 8 === [__VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION]=== [2018-11-14 18:26:07,181 INFO L141 PredicateUnifier]: Initialized classic predicate unifier [2018-11-14 18:26:07,181 INFO L82 PathProgramCache]: Analyzing trace with hash -1893367952, now seen corresponding path program 1 times [2018-11-14 18:26:07,182 INFO L223 ckRefinementStrategy]: Switched to mode CVC4_FPBP [2018-11-14 18:26:07,182 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-14 18:26:07,209 INFO L103 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2018-11-14 18:26:07,237 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2018-11-14 18:26:07,251 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2018-11-14 18:26:07,252 INFO L273 TraceCheckSpWp]: Computing forward predicates... [2018-11-14 18:26:07,349 INFO L256 TraceCheckUtils]: 0: Hoare triple {1731#true} call ULTIMATE.init(); {1731#true} is VALID [2018-11-14 18:26:07,349 INFO L273 TraceCheckUtils]: 1: Hoare triple {1731#true} #NULL.base, #NULL.offset := 0bv32, 0bv32;#valid := #valid[0bv32 := 0bv1];~SIZE~0 := 0bv32; {1731#true} is VALID [2018-11-14 18:26:07,350 INFO L273 TraceCheckUtils]: 2: Hoare triple {1731#true} assume true; {1731#true} is VALID [2018-11-14 18:26:07,350 INFO L268 TraceCheckUtils]: 3: Hoare quadruple {1731#true} {1731#true} #54#return; {1731#true} is VALID [2018-11-14 18:26:07,350 INFO L256 TraceCheckUtils]: 4: Hoare triple {1731#true} call #t~ret5 := main(); {1731#true} is VALID [2018-11-14 18:26:07,351 INFO L273 TraceCheckUtils]: 5: Hoare triple {1731#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); {1731#true} is VALID [2018-11-14 18:26:07,351 INFO L256 TraceCheckUtils]: 6: Hoare triple {1731#true} call #t~ret4 := linear_search(~#a~0.base, ~#a~0.offset, ~SIZE~0, 3bv32); {1731#true} is VALID [2018-11-14 18:26:07,354 INFO L273 TraceCheckUtils]: 7: Hoare triple {1731#true} ~a.base, ~a.offset := #in~a.base, #in~a.offset;~n := #in~n;~q := #in~q;~j~0 := 0bv32; {1757#(= linear_search_~j~0 (_ bv0 32))} is VALID [2018-11-14 18:26:07,360 INFO L273 TraceCheckUtils]: 8: Hoare triple {1757#(= linear_search_~j~0 (_ bv0 32))} assume true; {1757#(= linear_search_~j~0 (_ bv0 32))} is VALID [2018-11-14 18:26:07,360 INFO L273 TraceCheckUtils]: 9: Hoare triple {1757#(= linear_search_~j~0 (_ bv0 32))} #t~short1 := ~bvult32(~j~0, ~n); {1757#(= linear_search_~j~0 (_ bv0 32))} is VALID [2018-11-14 18:26:07,361 INFO L273 TraceCheckUtils]: 10: Hoare triple {1757#(= 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; {1757#(= linear_search_~j~0 (_ bv0 32))} is VALID [2018-11-14 18:26:07,370 INFO L273 TraceCheckUtils]: 11: Hoare triple {1757#(= 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; {1770#(= (bvadd linear_search_~j~0 (_ bv4294967295 32)) (_ bv0 32))} is VALID [2018-11-14 18:26:07,377 INFO L273 TraceCheckUtils]: 12: Hoare triple {1770#(= (bvadd linear_search_~j~0 (_ bv4294967295 32)) (_ bv0 32))} assume !(~j~0 == 20bv32); {1770#(= (bvadd linear_search_~j~0 (_ bv4294967295 32)) (_ bv0 32))} is VALID [2018-11-14 18:26:07,378 INFO L273 TraceCheckUtils]: 13: Hoare triple {1770#(= (bvadd linear_search_~j~0 (_ bv4294967295 32)) (_ bv0 32))} assume true; {1770#(= (bvadd linear_search_~j~0 (_ bv4294967295 32)) (_ bv0 32))} is VALID [2018-11-14 18:26:07,382 INFO L273 TraceCheckUtils]: 14: Hoare triple {1770#(= (bvadd linear_search_~j~0 (_ bv4294967295 32)) (_ bv0 32))} #t~short1 := ~bvult32(~j~0, ~n); {1770#(= (bvadd linear_search_~j~0 (_ bv4294967295 32)) (_ bv0 32))} is VALID [2018-11-14 18:26:07,382 INFO L273 TraceCheckUtils]: 15: Hoare triple {1770#(= (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; {1770#(= (bvadd linear_search_~j~0 (_ bv4294967295 32)) (_ bv0 32))} is VALID [2018-11-14 18:26:07,383 INFO L273 TraceCheckUtils]: 16: Hoare triple {1770#(= (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; {1786#(= (_ bv2 32) linear_search_~j~0)} is VALID [2018-11-14 18:26:07,383 INFO L273 TraceCheckUtils]: 17: Hoare triple {1786#(= (_ bv2 32) linear_search_~j~0)} assume ~j~0 == 20bv32;~j~0 := 4294967295bv32; {1732#false} is VALID [2018-11-14 18:26:07,384 INFO L273 TraceCheckUtils]: 18: Hoare triple {1732#false} assume true; {1732#false} is VALID [2018-11-14 18:26:07,384 INFO L273 TraceCheckUtils]: 19: Hoare triple {1732#false} #t~short1 := ~bvult32(~j~0, ~n); {1732#false} is VALID [2018-11-14 18:26:07,384 INFO L273 TraceCheckUtils]: 20: Hoare triple {1732#false} assume !#t~short1; {1732#false} is VALID [2018-11-14 18:26:07,384 INFO L273 TraceCheckUtils]: 21: Hoare triple {1732#false} assume !#t~short1;havoc #t~short1;havoc #t~mem0; {1732#false} is VALID [2018-11-14 18:26:07,384 INFO L273 TraceCheckUtils]: 22: Hoare triple {1732#false} assume !~bvult32(~j~0, ~SIZE~0);#res := 0bv32; {1732#false} is VALID [2018-11-14 18:26:07,384 INFO L273 TraceCheckUtils]: 23: Hoare triple {1732#false} assume true; {1732#false} is VALID [2018-11-14 18:26:07,384 INFO L268 TraceCheckUtils]: 24: Hoare quadruple {1732#false} {1731#true} #58#return; {1732#false} is VALID [2018-11-14 18:26:07,385 INFO L256 TraceCheckUtils]: 25: Hoare triple {1732#false} call __VERIFIER_assert(#t~ret4); {1732#false} is VALID [2018-11-14 18:26:07,385 INFO L273 TraceCheckUtils]: 26: Hoare triple {1732#false} ~cond := #in~cond; {1732#false} is VALID [2018-11-14 18:26:07,385 INFO L273 TraceCheckUtils]: 27: Hoare triple {1732#false} assume ~cond == 0bv32; {1732#false} is VALID [2018-11-14 18:26:07,385 INFO L273 TraceCheckUtils]: 28: Hoare triple {1732#false} assume !false; {1732#false} is VALID [2018-11-14 18:26:07,386 INFO L134 CoverageAnalysis]: Checked inductivity of 13 backedges. 8 proven. 5 refuted. 0 times theorem prover too weak. 0 trivial. 0 not checked. [2018-11-14 18:26:07,386 INFO L316 TraceCheckSpWp]: Computing backward predicates... [2018-11-14 18:26:07,473 INFO L273 TraceCheckUtils]: 28: Hoare triple {1732#false} assume !false; {1732#false} is VALID [2018-11-14 18:26:07,474 INFO L273 TraceCheckUtils]: 27: Hoare triple {1732#false} assume ~cond == 0bv32; {1732#false} is VALID [2018-11-14 18:26:07,474 INFO L273 TraceCheckUtils]: 26: Hoare triple {1732#false} ~cond := #in~cond; {1732#false} is VALID [2018-11-14 18:26:07,474 INFO L256 TraceCheckUtils]: 25: Hoare triple {1732#false} call __VERIFIER_assert(#t~ret4); {1732#false} is VALID [2018-11-14 18:26:07,474 INFO L268 TraceCheckUtils]: 24: Hoare quadruple {1732#false} {1731#true} #58#return; {1732#false} is VALID [2018-11-14 18:26:07,474 INFO L273 TraceCheckUtils]: 23: Hoare triple {1732#false} assume true; {1732#false} is VALID [2018-11-14 18:26:07,475 INFO L273 TraceCheckUtils]: 22: Hoare triple {1732#false} assume !~bvult32(~j~0, ~SIZE~0);#res := 0bv32; {1732#false} is VALID [2018-11-14 18:26:07,475 INFO L273 TraceCheckUtils]: 21: Hoare triple {1732#false} assume !#t~short1;havoc #t~short1;havoc #t~mem0; {1732#false} is VALID [2018-11-14 18:26:07,475 INFO L273 TraceCheckUtils]: 20: Hoare triple {1732#false} assume !#t~short1; {1732#false} is VALID [2018-11-14 18:26:07,475 INFO L273 TraceCheckUtils]: 19: Hoare triple {1732#false} #t~short1 := ~bvult32(~j~0, ~n); {1732#false} is VALID [2018-11-14 18:26:07,475 INFO L273 TraceCheckUtils]: 18: Hoare triple {1732#false} assume true; {1732#false} is VALID [2018-11-14 18:26:07,476 INFO L273 TraceCheckUtils]: 17: Hoare triple {1859#(not (= (bvadd linear_search_~j~0 (_ bv4294967276 32)) (_ bv0 32)))} assume ~j~0 == 20bv32;~j~0 := 4294967295bv32; {1732#false} is VALID [2018-11-14 18:26:07,477 INFO L273 TraceCheckUtils]: 16: Hoare triple {1863#(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; {1859#(not (= (bvadd linear_search_~j~0 (_ bv4294967276 32)) (_ bv0 32)))} is VALID [2018-11-14 18:26:07,477 INFO L273 TraceCheckUtils]: 15: Hoare triple {1863#(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; {1863#(not (= (_ bv19 32) linear_search_~j~0))} is VALID [2018-11-14 18:26:07,477 INFO L273 TraceCheckUtils]: 14: Hoare triple {1863#(not (= (_ bv19 32) linear_search_~j~0))} #t~short1 := ~bvult32(~j~0, ~n); {1863#(not (= (_ bv19 32) linear_search_~j~0))} is VALID [2018-11-14 18:26:07,478 INFO L273 TraceCheckUtils]: 13: Hoare triple {1863#(not (= (_ bv19 32) linear_search_~j~0))} assume true; {1863#(not (= (_ bv19 32) linear_search_~j~0))} is VALID [2018-11-14 18:26:07,478 INFO L273 TraceCheckUtils]: 12: Hoare triple {1863#(not (= (_ bv19 32) linear_search_~j~0))} assume !(~j~0 == 20bv32); {1863#(not (= (_ bv19 32) linear_search_~j~0))} is VALID [2018-11-14 18:26:07,479 INFO L273 TraceCheckUtils]: 11: Hoare triple {1879#(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; {1863#(not (= (_ bv19 32) linear_search_~j~0))} is VALID [2018-11-14 18:26:07,480 INFO L273 TraceCheckUtils]: 10: Hoare triple {1879#(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; {1879#(not (= (bvadd linear_search_~j~0 (_ bv4294967278 32)) (_ bv0 32)))} is VALID [2018-11-14 18:26:07,480 INFO L273 TraceCheckUtils]: 9: Hoare triple {1879#(not (= (bvadd linear_search_~j~0 (_ bv4294967278 32)) (_ bv0 32)))} #t~short1 := ~bvult32(~j~0, ~n); {1879#(not (= (bvadd linear_search_~j~0 (_ bv4294967278 32)) (_ bv0 32)))} is VALID [2018-11-14 18:26:07,481 INFO L273 TraceCheckUtils]: 8: Hoare triple {1879#(not (= (bvadd linear_search_~j~0 (_ bv4294967278 32)) (_ bv0 32)))} assume true; {1879#(not (= (bvadd linear_search_~j~0 (_ bv4294967278 32)) (_ bv0 32)))} is VALID [2018-11-14 18:26:07,482 INFO L273 TraceCheckUtils]: 7: Hoare triple {1731#true} ~a.base, ~a.offset := #in~a.base, #in~a.offset;~n := #in~n;~q := #in~q;~j~0 := 0bv32; {1879#(not (= (bvadd linear_search_~j~0 (_ bv4294967278 32)) (_ bv0 32)))} is VALID [2018-11-14 18:26:07,482 INFO L256 TraceCheckUtils]: 6: Hoare triple {1731#true} call #t~ret4 := linear_search(~#a~0.base, ~#a~0.offset, ~SIZE~0, 3bv32); {1731#true} is VALID [2018-11-14 18:26:07,482 INFO L273 TraceCheckUtils]: 5: Hoare triple {1731#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); {1731#true} is VALID [2018-11-14 18:26:07,482 INFO L256 TraceCheckUtils]: 4: Hoare triple {1731#true} call #t~ret5 := main(); {1731#true} is VALID [2018-11-14 18:26:07,483 INFO L268 TraceCheckUtils]: 3: Hoare quadruple {1731#true} {1731#true} #54#return; {1731#true} is VALID [2018-11-14 18:26:07,483 INFO L273 TraceCheckUtils]: 2: Hoare triple {1731#true} assume true; {1731#true} is VALID [2018-11-14 18:26:07,483 INFO L273 TraceCheckUtils]: 1: Hoare triple {1731#true} #NULL.base, #NULL.offset := 0bv32, 0bv32;#valid := #valid[0bv32 := 0bv1];~SIZE~0 := 0bv32; {1731#true} is VALID [2018-11-14 18:26:07,484 INFO L256 TraceCheckUtils]: 0: Hoare triple {1731#true} call ULTIMATE.init(); {1731#true} is VALID [2018-11-14 18:26:07,485 INFO L134 CoverageAnalysis]: Checked inductivity of 13 backedges. 8 proven. 5 refuted. 0 times theorem prover too weak. 0 trivial. 0 not checked. [2018-11-14 18:26:07,487 INFO L312 seRefinementStrategy]: Constructing automaton from 0 perfect and 2 imperfect interpolant sequences. [2018-11-14 18:26:07,488 INFO L327 seRefinementStrategy]: Number of different interpolants: perfect sequences [] imperfect sequences [5, 5] total 8 [2018-11-14 18:26:07,489 INFO L78 Accepts]: Start accepts. Automaton has 8 states. Word has length 29 [2018-11-14 18:26:07,489 INFO L84 Accepts]: Finished accepts. word is accepted. [2018-11-14 18:26:07,489 INFO L86 InductivityCheck]: Starting indutivity check of a Floyd-Hoare automaton with 8 states. [2018-11-14 18:26:07,555 INFO L119 InductivityCheck]: Floyd-Hoare automaton has 40 edges. 40 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2018-11-14 18:26:07,555 INFO L459 AbstractCegarLoop]: Interpolant automaton has 8 states [2018-11-14 18:26:07,555 INFO L142 InterpolantAutomaton]: Constructing interpolant automaton starting with 8 interpolants. [2018-11-14 18:26:07,555 INFO L144 InterpolantAutomaton]: CoverageRelationStatistics Valid=22, Invalid=34, Unknown=0, NotChecked=0, Total=56 [2018-11-14 18:26:07,556 INFO L87 Difference]: Start difference. First operand 35 states and 39 transitions. Second operand 8 states. [2018-11-14 18:26:08,009 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2018-11-14 18:26:08,010 INFO L93 Difference]: Finished difference Result 98 states and 119 transitions. [2018-11-14 18:26:08,010 INFO L142 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 8 states. [2018-11-14 18:26:08,010 INFO L78 Accepts]: Start accepts. Automaton has 8 states. Word has length 29 [2018-11-14 18:26:08,010 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2018-11-14 18:26:08,010 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 8 states. [2018-11-14 18:26:08,013 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 8 states to 8 states and 82 transitions. [2018-11-14 18:26:08,013 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 8 states. [2018-11-14 18:26:08,016 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 8 states to 8 states and 82 transitions. [2018-11-14 18:26:08,016 INFO L86 InductivityCheck]: Starting indutivity check of a Floyd-Hoare automaton with 8 states and 82 transitions. [2018-11-14 18:26:08,126 INFO L119 InductivityCheck]: Floyd-Hoare automaton has 82 edges. 82 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2018-11-14 18:26:08,132 INFO L225 Difference]: With dead ends: 98 [2018-11-14 18:26:08,132 INFO L226 Difference]: Without dead ends: 76 [2018-11-14 18:26:08,133 INFO L604 BasicCegarLoop]: 0 DeclaredPredicates, 59 GetRequests, 51 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-14 18:26:08,133 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 76 states. [2018-11-14 18:26:08,218 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 76 to 67. [2018-11-14 18:26:08,218 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2018-11-14 18:26:08,219 INFO L82 GeneralOperation]: Start isEquivalent. First operand 76 states. Second operand 67 states. [2018-11-14 18:26:08,219 INFO L74 IsIncluded]: Start isIncluded. First operand 76 states. Second operand 67 states. [2018-11-14 18:26:08,219 INFO L87 Difference]: Start difference. First operand 76 states. Second operand 67 states. [2018-11-14 18:26:08,223 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2018-11-14 18:26:08,223 INFO L93 Difference]: Finished difference Result 76 states and 86 transitions. [2018-11-14 18:26:08,223 INFO L276 IsEmpty]: Start isEmpty. Operand 76 states and 86 transitions. [2018-11-14 18:26:08,224 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2018-11-14 18:26:08,224 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2018-11-14 18:26:08,224 INFO L74 IsIncluded]: Start isIncluded. First operand 67 states. Second operand 76 states. [2018-11-14 18:26:08,224 INFO L87 Difference]: Start difference. First operand 67 states. Second operand 76 states. [2018-11-14 18:26:08,228 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2018-11-14 18:26:08,228 INFO L93 Difference]: Finished difference Result 76 states and 86 transitions. [2018-11-14 18:26:08,228 INFO L276 IsEmpty]: Start isEmpty. Operand 76 states and 86 transitions. [2018-11-14 18:26:08,228 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2018-11-14 18:26:08,229 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2018-11-14 18:26:08,229 INFO L88 GeneralOperation]: Finished isEquivalent. [2018-11-14 18:26:08,229 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2018-11-14 18:26:08,229 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 67 states. [2018-11-14 18:26:08,231 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 67 states to 67 states and 77 transitions. [2018-11-14 18:26:08,232 INFO L78 Accepts]: Start accepts. Automaton has 67 states and 77 transitions. Word has length 29 [2018-11-14 18:26:08,232 INFO L84 Accepts]: Finished accepts. word is rejected. [2018-11-14 18:26:08,232 INFO L480 AbstractCegarLoop]: Abstraction has 67 states and 77 transitions. [2018-11-14 18:26:08,232 INFO L481 AbstractCegarLoop]: Interpolant automaton has 8 states. [2018-11-14 18:26:08,232 INFO L276 IsEmpty]: Start isEmpty. Operand 67 states and 77 transitions. [2018-11-14 18:26:08,233 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 30 [2018-11-14 18:26:08,233 INFO L367 BasicCegarLoop]: Found error trace [2018-11-14 18:26:08,233 INFO L375 BasicCegarLoop]: trace histogram [3, 3, 2, 2, 2, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1] [2018-11-14 18:26:08,233 INFO L423 AbstractCegarLoop]: === Iteration 9 === [__VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION]=== [2018-11-14 18:26:08,233 INFO L141 PredicateUnifier]: Initialized classic predicate unifier [2018-11-14 18:26:08,234 INFO L82 PathProgramCache]: Analyzing trace with hash -1635202514, now seen corresponding path program 2 times [2018-11-14 18:26:08,234 INFO L223 ckRefinementStrategy]: Switched to mode CVC4_FPBP [2018-11-14 18:26:08,234 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-14 18:26:08,258 INFO L101 rtionOrderModulation]: Changing assertion order to OUTSIDE_LOOP_FIRST1 [2018-11-14 18:26:08,321 INFO L249 tOrderPrioritization]: Assert order OUTSIDE_LOOP_FIRST1 issued 2 check-sat command(s) [2018-11-14 18:26:08,322 INFO L250 tOrderPrioritization]: Conjunction of SSA is unsat [2018-11-14 18:26:08,338 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2018-11-14 18:26:08,340 INFO L273 TraceCheckSpWp]: Computing forward predicates... [2018-11-14 18:26:08,374 INFO L477 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-14 18:26:08,379 INFO L477 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-14 18:26:08,382 INFO L267 ElimStorePlain]: Start of recursive call 3: End of recursive call: and 1 xjuncts. [2018-11-14 18:26:08,391 INFO L267 ElimStorePlain]: Start of recursive call 2: 1 dim-1 vars, End of recursive call: and 1 xjuncts. [2018-11-14 18:26:08,401 INFO L267 ElimStorePlain]: Start of recursive call 1: 1 dim-2 vars, End of recursive call: and 1 xjuncts. [2018-11-14 18:26:08,402 INFO L202 ElimStorePlain]: Needed 3 recursive calls to eliminate 1 variables, input treesize:21, output treesize:17 [2018-11-14 18:26:08,875 WARN L179 SmtUtils]: Spent 118.00 ms on a formula simplification that was a NOOP. DAG size: 37 [2018-11-14 18:26:09,659 WARN L179 SmtUtils]: Spent 233.00 ms on a formula simplification. DAG size of input: 37 DAG size of output: 37 [2018-11-14 18:26:10,000 INFO L256 TraceCheckUtils]: 0: Hoare triple {2274#true} call ULTIMATE.init(); {2274#true} is VALID [2018-11-14 18:26:10,000 INFO L273 TraceCheckUtils]: 1: Hoare triple {2274#true} #NULL.base, #NULL.offset := 0bv32, 0bv32;#valid := #valid[0bv32 := 0bv1];~SIZE~0 := 0bv32; {2274#true} is VALID [2018-11-14 18:26:10,000 INFO L273 TraceCheckUtils]: 2: Hoare triple {2274#true} assume true; {2274#true} is VALID [2018-11-14 18:26:10,001 INFO L268 TraceCheckUtils]: 3: Hoare quadruple {2274#true} {2274#true} #54#return; {2274#true} is VALID [2018-11-14 18:26:10,001 INFO L256 TraceCheckUtils]: 4: Hoare triple {2274#true} call #t~ret5 := main(); {2274#true} is VALID [2018-11-14 18:26:10,004 INFO L273 TraceCheckUtils]: 5: Hoare triple {2274#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); {2294#(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-14 18:26:12,019 INFO L256 TraceCheckUtils]: 6: Hoare triple {2294#(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); {2298#(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-14 18:26:12,021 INFO L273 TraceCheckUtils]: 7: Hoare triple {2298#(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; {2302#(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-14 18:26:12,021 INFO L273 TraceCheckUtils]: 8: Hoare triple {2302#(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 true; {2302#(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-14 18:26:12,026 INFO L273 TraceCheckUtils]: 9: Hoare triple {2302#(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); {2302#(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-14 18:26:12,027 INFO L273 TraceCheckUtils]: 10: Hoare triple {2302#(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; {2302#(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-14 18:26:12,028 INFO L273 TraceCheckUtils]: 11: Hoare triple {2302#(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; {2315#(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-14 18:26:12,029 INFO L273 TraceCheckUtils]: 12: Hoare triple {2315#(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 !(~j~0 == 20bv32); {2315#(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-14 18:26:12,030 INFO L273 TraceCheckUtils]: 13: Hoare triple {2315#(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 true; {2315#(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-14 18:26:12,032 INFO L273 TraceCheckUtils]: 14: Hoare triple {2315#(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); {2325#(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-14 18:26:12,094 INFO L273 TraceCheckUtils]: 15: Hoare triple {2325#(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; {2329#(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-14 18:26:12,145 INFO L273 TraceCheckUtils]: 16: Hoare triple {2329#(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; {2333#(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-14 18:26:12,148 INFO L273 TraceCheckUtils]: 17: Hoare triple {2333#(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 !(~j~0 == 20bv32); {2333#(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-14 18:26:12,155 INFO L273 TraceCheckUtils]: 18: Hoare triple {2333#(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 true; {2333#(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-14 18:26:12,171 INFO L273 TraceCheckUtils]: 19: Hoare triple {2333#(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); {2343#(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-14 18:26:12,186 INFO L273 TraceCheckUtils]: 20: Hoare triple {2343#(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; {2347#(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-14 18:26:12,201 INFO L273 TraceCheckUtils]: 21: Hoare triple {2347#(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; {2347#(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-14 18:26:12,217 INFO L273 TraceCheckUtils]: 22: Hoare triple {2347#(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; {2354#(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-14 18:26:12,232 INFO L273 TraceCheckUtils]: 23: Hoare triple {2354#(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; {2354#(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-14 18:26:12,243 INFO L268 TraceCheckUtils]: 24: Hoare quadruple {2354#(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|))} {2294#(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|))))} #58#return; {2275#false} is VALID [2018-11-14 18:26:12,244 INFO L256 TraceCheckUtils]: 25: Hoare triple {2275#false} call __VERIFIER_assert(#t~ret4); {2275#false} is VALID [2018-11-14 18:26:12,244 INFO L273 TraceCheckUtils]: 26: Hoare triple {2275#false} ~cond := #in~cond; {2275#false} is VALID [2018-11-14 18:26:12,244 INFO L273 TraceCheckUtils]: 27: Hoare triple {2275#false} assume ~cond == 0bv32; {2275#false} is VALID [2018-11-14 18:26:12,244 INFO L273 TraceCheckUtils]: 28: Hoare triple {2275#false} assume !false; {2275#false} is VALID [2018-11-14 18:26:12,267 INFO L134 CoverageAnalysis]: Checked inductivity of 13 backedges. 0 proven. 13 refuted. 0 times theorem prover too weak. 0 trivial. 0 not checked. [2018-11-14 18:26:12,275 INFO L316 TraceCheckSpWp]: Computing backward predicates... [2018-11-14 18:26:12,547 WARN L179 SmtUtils]: Spent 244.00 ms on a formula simplification. DAG size of input: 55 DAG size of output: 43 [2018-11-14 18:26:12,764 WARN L179 SmtUtils]: Spent 147.00 ms on a formula simplification. DAG size of input: 43 DAG size of output: 41 [2018-11-14 18:26:15,516 WARN L179 SmtUtils]: Spent 150.00 ms on a formula simplification that was a NOOP. DAG size: 24 [2018-11-14 18:26:16,257 WARN L179 SmtUtils]: Spent 126.00 ms on a formula simplification that was a NOOP. DAG size: 34 [2018-11-14 18:26:16,705 WARN L179 SmtUtils]: Spent 139.00 ms on a formula simplification that was a NOOP. DAG size: 41 [2018-11-14 18:26:17,156 WARN L179 SmtUtils]: Spent 306.00 ms on a formula simplification. DAG size of input: 41 DAG size of output: 41 [2018-11-14 18:26:17,479 WARN L179 SmtUtils]: Spent 173.00 ms on a formula simplification that was a NOOP. DAG size: 42 [2018-11-14 18:26:18,307 INFO L273 TraceCheckUtils]: 28: Hoare triple {2275#false} assume !false; {2275#false} is VALID [2018-11-14 18:26:18,307 INFO L273 TraceCheckUtils]: 27: Hoare triple {2275#false} assume ~cond == 0bv32; {2275#false} is VALID [2018-11-14 18:26:18,307 INFO L273 TraceCheckUtils]: 26: Hoare triple {2275#false} ~cond := #in~cond; {2275#false} is VALID [2018-11-14 18:26:18,307 INFO L256 TraceCheckUtils]: 25: Hoare triple {2275#false} call __VERIFIER_assert(#t~ret4); {2275#false} is VALID [2018-11-14 18:26:18,309 INFO L268 TraceCheckUtils]: 24: Hoare quadruple {2389#(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)))))))} {2385#(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)))} #58#return; {2275#false} is VALID [2018-11-14 18:26:18,309 INFO L273 TraceCheckUtils]: 23: Hoare triple {2389#(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; {2389#(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-14 18:26:18,310 INFO L273 TraceCheckUtils]: 22: Hoare triple {2396#(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; {2389#(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-14 18:26:18,311 INFO L273 TraceCheckUtils]: 21: Hoare triple {2396#(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; {2396#(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-14 18:26:18,312 INFO L273 TraceCheckUtils]: 20: Hoare triple {2403#(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; {2396#(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-14 18:26:18,314 INFO L273 TraceCheckUtils]: 19: Hoare triple {2407#(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); {2403#(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-14 18:26:18,315 INFO L273 TraceCheckUtils]: 18: Hoare triple {2407#(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 true; {2407#(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-14 18:26:18,322 INFO L273 TraceCheckUtils]: 17: Hoare triple {2407#(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 !(~j~0 == 20bv32); {2407#(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-14 18:26:18,367 INFO L273 TraceCheckUtils]: 16: Hoare triple {2417#(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; {2407#(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-14 18:26:18,369 INFO L273 TraceCheckUtils]: 15: Hoare triple {2421#(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; {2417#(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-14 18:26:18,373 INFO L273 TraceCheckUtils]: 14: Hoare triple {2425#(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); {2421#(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-14 18:26:18,374 INFO L273 TraceCheckUtils]: 13: Hoare triple {2425#(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 true; {2425#(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-14 18:26:18,374 INFO L273 TraceCheckUtils]: 12: Hoare triple {2425#(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 !(~j~0 == 20bv32); {2425#(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-14 18:26:18,911 INFO L273 TraceCheckUtils]: 11: Hoare triple {2435#(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; {2425#(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-14 18:26:18,913 INFO L273 TraceCheckUtils]: 10: Hoare triple {2435#(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; {2435#(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-14 18:26:18,913 INFO L273 TraceCheckUtils]: 9: Hoare triple {2435#(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); {2435#(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-14 18:26:18,914 INFO L273 TraceCheckUtils]: 8: Hoare triple {2435#(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 true; {2435#(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-14 18:26:18,918 INFO L273 TraceCheckUtils]: 7: Hoare triple {2274#true} ~a.base, ~a.offset := #in~a.base, #in~a.offset;~n := #in~n;~q := #in~q;~j~0 := 0bv32; {2435#(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-14 18:26:18,919 INFO L256 TraceCheckUtils]: 6: Hoare triple {2385#(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); {2274#true} is VALID [2018-11-14 18:26:18,921 INFO L273 TraceCheckUtils]: 5: Hoare triple {2274#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); {2385#(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-14 18:26:18,921 INFO L256 TraceCheckUtils]: 4: Hoare triple {2274#true} call #t~ret5 := main(); {2274#true} is VALID [2018-11-14 18:26:18,921 INFO L268 TraceCheckUtils]: 3: Hoare quadruple {2274#true} {2274#true} #54#return; {2274#true} is VALID [2018-11-14 18:26:18,921 INFO L273 TraceCheckUtils]: 2: Hoare triple {2274#true} assume true; {2274#true} is VALID [2018-11-14 18:26:18,921 INFO L273 TraceCheckUtils]: 1: Hoare triple {2274#true} #NULL.base, #NULL.offset := 0bv32, 0bv32;#valid := #valid[0bv32 := 0bv1];~SIZE~0 := 0bv32; {2274#true} is VALID [2018-11-14 18:26:18,922 INFO L256 TraceCheckUtils]: 0: Hoare triple {2274#true} call ULTIMATE.init(); {2274#true} is VALID [2018-11-14 18:26:18,929 INFO L134 CoverageAnalysis]: Checked inductivity of 13 backedges. 0 proven. 13 refuted. 0 times theorem prover too weak. 0 trivial. 0 not checked. [2018-11-14 18:26:18,930 INFO L312 seRefinementStrategy]: Constructing automaton from 0 perfect and 2 imperfect interpolant sequences. [2018-11-14 18:26:18,930 INFO L327 seRefinementStrategy]: Number of different interpolants: perfect sequences [] imperfect sequences [12, 11] total 21 [2018-11-14 18:26:18,931 INFO L78 Accepts]: Start accepts. Automaton has 21 states. Word has length 29 [2018-11-14 18:26:18,931 INFO L84 Accepts]: Finished accepts. word is accepted. [2018-11-14 18:26:18,931 INFO L86 InductivityCheck]: Starting indutivity check of a Floyd-Hoare automaton with 21 states. [2018-11-14 18:26:20,075 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-14 18:26:20,075 INFO L459 AbstractCegarLoop]: Interpolant automaton has 21 states [2018-11-14 18:26:20,076 INFO L142 InterpolantAutomaton]: Constructing interpolant automaton starting with 21 interpolants. [2018-11-14 18:26:20,076 INFO L144 InterpolantAutomaton]: CoverageRelationStatistics Valid=91, Invalid=329, Unknown=0, NotChecked=0, Total=420 [2018-11-14 18:26:20,076 INFO L87 Difference]: Start difference. First operand 67 states and 77 transitions. Second operand 21 states. [2018-11-14 18:26:21,548 WARN L179 SmtUtils]: Spent 286.00 ms on a formula simplification. DAG size of input: 49 DAG size of output: 49 [2018-11-14 18:26:22,323 WARN L179 SmtUtils]: Spent 265.00 ms on a formula simplification. DAG size of input: 41 DAG size of output: 40 [2018-11-14 18:26:23,076 WARN L179 SmtUtils]: Spent 527.00 ms on a formula simplification. DAG size of input: 41 DAG size of output: 38 [2018-11-14 18:26:23,438 WARN L179 SmtUtils]: Spent 101.00 ms on a formula simplification. DAG size of input: 36 DAG size of output: 35 [2018-11-14 18:26:24,129 WARN L179 SmtUtils]: Spent 564.00 ms on a formula simplification. DAG size of input: 46 DAG size of output: 37 [2018-11-14 18:26:24,499 WARN L179 SmtUtils]: Spent 120.00 ms on a formula simplification that was a NOOP. DAG size: 45 [2018-11-14 18:26:25,087 WARN L179 SmtUtils]: Spent 101.00 ms on a formula simplification that was a NOOP. DAG size: 40 [2018-11-14 18:26:25,619 WARN L179 SmtUtils]: Spent 168.00 ms on a formula simplification that was a NOOP. DAG size: 43 [2018-11-14 18:26:26,372 WARN L179 SmtUtils]: Spent 186.00 ms on a formula simplification that was a NOOP. DAG size: 51 [2018-11-14 18:26:27,106 WARN L179 SmtUtils]: Spent 507.00 ms on a formula simplification that was a NOOP. DAG size: 68 [2018-11-14 18:26:28,555 WARN L179 SmtUtils]: Spent 332.00 ms on a formula simplification that was a NOOP. DAG size: 56 [2018-11-14 18:26:29,430 WARN L179 SmtUtils]: Spent 532.00 ms on a formula simplification that was a NOOP. DAG size: 66 [2018-11-14 18:26:29,906 WARN L179 SmtUtils]: Spent 265.00 ms on a formula simplification that was a NOOP. DAG size: 58 [2018-11-14 18:26:30,854 WARN L179 SmtUtils]: Spent 301.00 ms on a formula simplification that was a NOOP. DAG size: 55 [2018-11-14 18:26:31,481 WARN L179 SmtUtils]: Spent 404.00 ms on a formula simplification that was a NOOP. DAG size: 61 [2018-11-14 18:26:33,436 WARN L179 SmtUtils]: Spent 1.08 s on a formula simplification. DAG size of input: 62 DAG size of output: 62 [2018-11-14 18:26:34,198 WARN L179 SmtUtils]: Spent 355.00 ms on a formula simplification. DAG size of input: 48 DAG size of output: 48 [2018-11-14 18:26:35,498 WARN L179 SmtUtils]: Spent 882.00 ms on a formula simplification. DAG size of input: 62 DAG size of output: 62 [2018-11-14 18:26:36,056 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2018-11-14 18:26:36,057 INFO L93 Difference]: Finished difference Result 141 states and 166 transitions. [2018-11-14 18:26:36,057 INFO L142 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 29 states. [2018-11-14 18:26:36,057 INFO L78 Accepts]: Start accepts. Automaton has 21 states. Word has length 29 [2018-11-14 18:26:36,057 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2018-11-14 18:26:36,060 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 21 states. [2018-11-14 18:26:36,064 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 29 states to 29 states and 94 transitions. [2018-11-14 18:26:36,064 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 21 states. [2018-11-14 18:26:36,074 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 29 states to 29 states and 94 transitions. [2018-11-14 18:26:36,075 INFO L86 InductivityCheck]: Starting indutivity check of a Floyd-Hoare automaton with 29 states and 94 transitions. [2018-11-14 18:26:37,887 INFO L119 InductivityCheck]: Floyd-Hoare automaton has 94 edges. 94 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2018-11-14 18:26:37,890 INFO L225 Difference]: With dead ends: 141 [2018-11-14 18:26:37,890 INFO L226 Difference]: Without dead ends: 91 [2018-11-14 18:26:37,891 INFO L604 BasicCegarLoop]: 0 DeclaredPredicates, 77 GetRequests, 37 SyntacticMatches, 1 SemanticMatches, 39 ConstructedPredicates, 0 IntricatePredicates, 0 DeprecatedPredicates, 344 ImplicationChecksByTransitivity, 14.2s TimeCoverageRelationStatistics Valid=396, Invalid=1244, Unknown=0, NotChecked=0, Total=1640 [2018-11-14 18:26:37,892 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 91 states. [2018-11-14 18:26:38,090 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 91 to 82. [2018-11-14 18:26:38,090 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2018-11-14 18:26:38,090 INFO L82 GeneralOperation]: Start isEquivalent. First operand 91 states. Second operand 82 states. [2018-11-14 18:26:38,091 INFO L74 IsIncluded]: Start isIncluded. First operand 91 states. Second operand 82 states. [2018-11-14 18:26:38,091 INFO L87 Difference]: Start difference. First operand 91 states. Second operand 82 states. [2018-11-14 18:26:38,096 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2018-11-14 18:26:38,096 INFO L93 Difference]: Finished difference Result 91 states and 104 transitions. [2018-11-14 18:26:38,097 INFO L276 IsEmpty]: Start isEmpty. Operand 91 states and 104 transitions. [2018-11-14 18:26:38,097 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2018-11-14 18:26:38,097 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2018-11-14 18:26:38,098 INFO L74 IsIncluded]: Start isIncluded. First operand 82 states. Second operand 91 states. [2018-11-14 18:26:38,098 INFO L87 Difference]: Start difference. First operand 82 states. Second operand 91 states. [2018-11-14 18:26:38,101 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2018-11-14 18:26:38,101 INFO L93 Difference]: Finished difference Result 91 states and 104 transitions. [2018-11-14 18:26:38,101 INFO L276 IsEmpty]: Start isEmpty. Operand 91 states and 104 transitions. [2018-11-14 18:26:38,101 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2018-11-14 18:26:38,102 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2018-11-14 18:26:38,102 INFO L88 GeneralOperation]: Finished isEquivalent. [2018-11-14 18:26:38,102 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2018-11-14 18:26:38,102 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 82 states. [2018-11-14 18:26:38,104 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 82 states to 82 states and 94 transitions. [2018-11-14 18:26:38,104 INFO L78 Accepts]: Start accepts. Automaton has 82 states and 94 transitions. Word has length 29 [2018-11-14 18:26:38,105 INFO L84 Accepts]: Finished accepts. word is rejected. [2018-11-14 18:26:38,105 INFO L480 AbstractCegarLoop]: Abstraction has 82 states and 94 transitions. [2018-11-14 18:26:38,105 INFO L481 AbstractCegarLoop]: Interpolant automaton has 21 states. [2018-11-14 18:26:38,105 INFO L276 IsEmpty]: Start isEmpty. Operand 82 states and 94 transitions. [2018-11-14 18:26:38,106 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 35 [2018-11-14 18:26:38,106 INFO L367 BasicCegarLoop]: Found error trace [2018-11-14 18:26:38,106 INFO L375 BasicCegarLoop]: trace histogram [4, 4, 3, 3, 3, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1] [2018-11-14 18:26:38,107 INFO L423 AbstractCegarLoop]: === Iteration 10 === [__VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION]=== [2018-11-14 18:26:38,107 INFO L141 PredicateUnifier]: Initialized classic predicate unifier [2018-11-14 18:26:38,107 INFO L82 PathProgramCache]: Analyzing trace with hash -846915922, now seen corresponding path program 3 times [2018-11-14 18:26:38,107 INFO L223 ckRefinementStrategy]: Switched to mode CVC4_FPBP [2018-11-14 18:26:38,107 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-14 18:26:38,136 INFO L101 rtionOrderModulation]: Changing assertion order to OUTSIDE_LOOP_FIRST2 [2018-11-14 18:26:38,267 INFO L249 tOrderPrioritization]: Assert order OUTSIDE_LOOP_FIRST2 issued 4 check-sat command(s) [2018-11-14 18:26:38,267 INFO L250 tOrderPrioritization]: Conjunction of SSA is unsat [2018-11-14 18:26:38,307 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2018-11-14 18:26:38,309 INFO L273 TraceCheckSpWp]: Computing forward predicates... [2018-11-14 18:26:38,387 INFO L477 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-14 18:26:38,393 INFO L477 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-14 18:26:38,395 INFO L267 ElimStorePlain]: Start of recursive call 3: End of recursive call: and 1 xjuncts. [2018-11-14 18:26:38,401 INFO L267 ElimStorePlain]: Start of recursive call 2: 1 dim-1 vars, End of recursive call: and 1 xjuncts. [2018-11-14 18:26:38,410 INFO L267 ElimStorePlain]: Start of recursive call 1: 1 dim-2 vars, End of recursive call: and 1 xjuncts. [2018-11-14 18:26:38,411 INFO L202 ElimStorePlain]: Needed 3 recursive calls to eliminate 1 variables, input treesize:21, output treesize:17 [2018-11-14 18:26:38,816 WARN L179 SmtUtils]: Spent 196.00 ms on a formula simplification that was a NOOP. DAG size: 28 [2018-11-14 18:26:39,414 WARN L179 SmtUtils]: Spent 112.00 ms on a formula simplification that was a NOOP. DAG size: 34 [2018-11-14 18:26:39,905 WARN L179 SmtUtils]: Spent 185.00 ms on a formula simplification. DAG size of input: 34 DAG size of output: 34 [2018-11-14 18:26:40,280 INFO L256 TraceCheckUtils]: 0: Hoare triple {2964#true} call ULTIMATE.init(); {2964#true} is VALID [2018-11-14 18:26:40,281 INFO L273 TraceCheckUtils]: 1: Hoare triple {2964#true} #NULL.base, #NULL.offset := 0bv32, 0bv32;#valid := #valid[0bv32 := 0bv1];~SIZE~0 := 0bv32; {2964#true} is VALID [2018-11-14 18:26:40,281 INFO L273 TraceCheckUtils]: 2: Hoare triple {2964#true} assume true; {2964#true} is VALID [2018-11-14 18:26:40,281 INFO L268 TraceCheckUtils]: 3: Hoare quadruple {2964#true} {2964#true} #54#return; {2964#true} is VALID [2018-11-14 18:26:40,281 INFO L256 TraceCheckUtils]: 4: Hoare triple {2964#true} call #t~ret5 := main(); {2964#true} is VALID [2018-11-14 18:26:40,283 INFO L273 TraceCheckUtils]: 5: Hoare triple {2964#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); {2984#(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-14 18:26:42,296 INFO L256 TraceCheckUtils]: 6: Hoare triple {2984#(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); {2988#(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-14 18:26:42,297 INFO L273 TraceCheckUtils]: 7: Hoare triple {2988#(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; {2992#(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-14 18:26:42,298 INFO L273 TraceCheckUtils]: 8: Hoare triple {2992#(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 true; {2992#(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-14 18:26:42,299 INFO L273 TraceCheckUtils]: 9: Hoare triple {2992#(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); {2992#(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-14 18:26:42,299 INFO L273 TraceCheckUtils]: 10: Hoare triple {2992#(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; {2992#(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-14 18:26:42,301 INFO L273 TraceCheckUtils]: 11: Hoare triple {2992#(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; {3005#(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-14 18:26:42,301 INFO L273 TraceCheckUtils]: 12: Hoare triple {3005#(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 !(~j~0 == 20bv32); {3005#(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-14 18:26:42,302 INFO L273 TraceCheckUtils]: 13: Hoare triple {3005#(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 true; {3005#(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-14 18:26:42,319 INFO L273 TraceCheckUtils]: 14: Hoare triple {3005#(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); {3005#(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-14 18:26:42,335 INFO L273 TraceCheckUtils]: 15: Hoare triple {3005#(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; {3018#(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-14 18:26:42,527 INFO L273 TraceCheckUtils]: 16: Hoare triple {3018#(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; {3022#(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-14 18:26:42,528 INFO L273 TraceCheckUtils]: 17: Hoare triple {3022#(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 !(~j~0 == 20bv32); {3022#(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-14 18:26:42,529 INFO L273 TraceCheckUtils]: 18: Hoare triple {3022#(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 true; {3022#(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-14 18:26:42,531 INFO L273 TraceCheckUtils]: 19: Hoare triple {3022#(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); {3032#(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-14 18:26:42,532 INFO L273 TraceCheckUtils]: 20: Hoare triple {3032#(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; {3036#(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-14 18:26:42,533 INFO L273 TraceCheckUtils]: 21: Hoare triple {3036#(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; {3040#(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-14 18:26:42,534 INFO L273 TraceCheckUtils]: 22: Hoare triple {3040#(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 !(~j~0 == 20bv32); {3040#(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-14 18:26:42,535 INFO L273 TraceCheckUtils]: 23: Hoare triple {3040#(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 true; {3040#(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-14 18:26:42,540 INFO L273 TraceCheckUtils]: 24: Hoare triple {3040#(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); {3050#(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-14 18:26:42,542 INFO L273 TraceCheckUtils]: 25: Hoare triple {3050#(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; {3054#(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-14 18:26:42,543 INFO L273 TraceCheckUtils]: 26: Hoare triple {3054#(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; {3054#(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-14 18:26:42,546 INFO L273 TraceCheckUtils]: 27: Hoare triple {3054#(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; {3061#(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-14 18:26:42,547 INFO L273 TraceCheckUtils]: 28: Hoare triple {3061#(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; {3061#(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-14 18:26:42,551 INFO L268 TraceCheckUtils]: 29: Hoare quadruple {3061#(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)))} {2984#(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|))))} #58#return; {2965#false} is VALID [2018-11-14 18:26:42,551 INFO L256 TraceCheckUtils]: 30: Hoare triple {2965#false} call __VERIFIER_assert(#t~ret4); {2965#false} is VALID [2018-11-14 18:26:42,551 INFO L273 TraceCheckUtils]: 31: Hoare triple {2965#false} ~cond := #in~cond; {2965#false} is VALID [2018-11-14 18:26:42,551 INFO L273 TraceCheckUtils]: 32: Hoare triple {2965#false} assume ~cond == 0bv32; {2965#false} is VALID [2018-11-14 18:26:42,552 INFO L273 TraceCheckUtils]: 33: Hoare triple {2965#false} assume !false; {2965#false} is VALID [2018-11-14 18:26:42,558 INFO L134 CoverageAnalysis]: Checked inductivity of 27 backedges. 0 proven. 27 refuted. 0 times theorem prover too weak. 0 trivial. 0 not checked. [2018-11-14 18:26:42,558 INFO L316 TraceCheckSpWp]: Computing backward predicates... [2018-11-14 18:26:42,838 WARN L179 SmtUtils]: Spent 276.00 ms on a formula simplification. DAG size of input: 58 DAG size of output: 46 [2018-11-14 18:26:43,048 WARN L179 SmtUtils]: Spent 142.00 ms on a formula simplification. DAG size of input: 46 DAG size of output: 44 [2018-11-14 18:26:45,995 WARN L179 SmtUtils]: Spent 103.00 ms on a formula simplification that was a NOOP. DAG size: 34 [2018-11-14 18:26:46,253 WARN L179 SmtUtils]: Spent 117.00 ms on a formula simplification that was a NOOP. DAG size: 33 [2018-11-14 18:26:46,783 WARN L179 SmtUtils]: Spent 148.00 ms on a formula simplification that was a NOOP. DAG size: 37 [2018-11-14 18:26:47,179 WARN L179 SmtUtils]: Spent 193.00 ms on a formula simplification that was a NOOP. DAG size: 42 [2018-11-14 18:26:47,559 WARN L179 SmtUtils]: Spent 170.00 ms on a formula simplification that was a NOOP. DAG size: 41 [2018-11-14 18:26:49,651 INFO L273 TraceCheckUtils]: 33: Hoare triple {2965#false} assume !false; {2965#false} is VALID [2018-11-14 18:26:49,652 INFO L273 TraceCheckUtils]: 32: Hoare triple {2965#false} assume ~cond == 0bv32; {2965#false} is VALID [2018-11-14 18:26:49,652 INFO L273 TraceCheckUtils]: 31: Hoare triple {2965#false} ~cond := #in~cond; {2965#false} is VALID [2018-11-14 18:26:49,652 INFO L256 TraceCheckUtils]: 30: Hoare triple {2965#false} call __VERIFIER_assert(#t~ret4); {2965#false} is VALID [2018-11-14 18:26:49,654 INFO L268 TraceCheckUtils]: 29: Hoare quadruple {3096#(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))))} {3092#(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)))} #58#return; {2965#false} is VALID [2018-11-14 18:26:49,654 INFO L273 TraceCheckUtils]: 28: Hoare triple {3096#(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; {3096#(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-14 18:26:49,655 INFO L273 TraceCheckUtils]: 27: Hoare triple {3103#(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; {3096#(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-14 18:26:49,656 INFO L273 TraceCheckUtils]: 26: Hoare triple {3103#(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; {3103#(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-14 18:26:49,657 INFO L273 TraceCheckUtils]: 25: Hoare triple {3110#(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; {3103#(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-14 18:26:49,659 INFO L273 TraceCheckUtils]: 24: Hoare triple {3114#(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); {3110#(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-14 18:26:49,660 INFO L273 TraceCheckUtils]: 23: Hoare triple {3114#(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 true; {3114#(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-14 18:26:49,661 INFO L273 TraceCheckUtils]: 22: Hoare triple {3114#(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 !(~j~0 == 20bv32); {3114#(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-14 18:26:49,717 INFO L273 TraceCheckUtils]: 21: Hoare triple {3124#(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; {3114#(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-14 18:26:49,719 INFO L273 TraceCheckUtils]: 20: Hoare triple {3128#(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; {3124#(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-14 18:26:49,721 INFO L273 TraceCheckUtils]: 19: Hoare triple {3132#(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); {3128#(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-14 18:26:49,721 INFO L273 TraceCheckUtils]: 18: Hoare triple {3132#(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 true; {3132#(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-14 18:26:49,722 INFO L273 TraceCheckUtils]: 17: Hoare triple {3132#(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 !(~j~0 == 20bv32); {3132#(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-14 18:26:49,797 INFO L273 TraceCheckUtils]: 16: Hoare triple {3142#(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; {3132#(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-14 18:26:49,800 INFO L273 TraceCheckUtils]: 15: Hoare triple {3146#(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; {3142#(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-14 18:26:49,802 INFO L273 TraceCheckUtils]: 14: Hoare triple {3146#(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); {3146#(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-14 18:26:49,803 INFO L273 TraceCheckUtils]: 13: Hoare triple {3146#(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 true; {3146#(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-14 18:26:49,804 INFO L273 TraceCheckUtils]: 12: Hoare triple {3146#(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 !(~j~0 == 20bv32); {3146#(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-14 18:26:50,673 INFO L273 TraceCheckUtils]: 11: Hoare triple {3159#(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; {3146#(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-14 18:26:50,674 INFO L273 TraceCheckUtils]: 10: Hoare triple {3159#(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; {3159#(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-14 18:26:50,675 INFO L273 TraceCheckUtils]: 9: Hoare triple {3159#(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); {3159#(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-14 18:26:50,676 INFO L273 TraceCheckUtils]: 8: Hoare triple {3159#(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 true; {3159#(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-14 18:26:50,680 INFO L273 TraceCheckUtils]: 7: Hoare triple {2964#true} ~a.base, ~a.offset := #in~a.base, #in~a.offset;~n := #in~n;~q := #in~q;~j~0 := 0bv32; {3159#(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-14 18:26:50,681 INFO L256 TraceCheckUtils]: 6: Hoare triple {3092#(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); {2964#true} is VALID [2018-11-14 18:26:50,685 INFO L273 TraceCheckUtils]: 5: Hoare triple {2964#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); {3092#(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-14 18:26:50,685 INFO L256 TraceCheckUtils]: 4: Hoare triple {2964#true} call #t~ret5 := main(); {2964#true} is VALID [2018-11-14 18:26:50,685 INFO L268 TraceCheckUtils]: 3: Hoare quadruple {2964#true} {2964#true} #54#return; {2964#true} is VALID [2018-11-14 18:26:50,685 INFO L273 TraceCheckUtils]: 2: Hoare triple {2964#true} assume true; {2964#true} is VALID [2018-11-14 18:26:50,685 INFO L273 TraceCheckUtils]: 1: Hoare triple {2964#true} #NULL.base, #NULL.offset := 0bv32, 0bv32;#valid := #valid[0bv32 := 0bv1];~SIZE~0 := 0bv32; {2964#true} is VALID [2018-11-14 18:26:50,686 INFO L256 TraceCheckUtils]: 0: Hoare triple {2964#true} call ULTIMATE.init(); {2964#true} is VALID [2018-11-14 18:26:50,694 INFO L134 CoverageAnalysis]: Checked inductivity of 27 backedges. 0 proven. 27 refuted. 0 times theorem prover too weak. 0 trivial. 0 not checked. [2018-11-14 18:26:50,696 INFO L312 seRefinementStrategy]: Constructing automaton from 0 perfect and 2 imperfect interpolant sequences. [2018-11-14 18:26:50,697 INFO L327 seRefinementStrategy]: Number of different interpolants: perfect sequences [] imperfect sequences [14, 13] total 25 [2018-11-14 18:26:50,697 INFO L78 Accepts]: Start accepts. Automaton has 25 states. Word has length 34 [2018-11-14 18:26:50,697 INFO L84 Accepts]: Finished accepts. word is accepted. [2018-11-14 18:26:50,698 INFO L86 InductivityCheck]: Starting indutivity check of a Floyd-Hoare automaton with 25 states. [2018-11-14 18:26:51,943 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-14 18:26:51,943 INFO L459 AbstractCegarLoop]: Interpolant automaton has 25 states [2018-11-14 18:26:51,943 INFO L142 InterpolantAutomaton]: Constructing interpolant automaton starting with 25 interpolants. [2018-11-14 18:26:51,943 INFO L144 InterpolantAutomaton]: CoverageRelationStatistics Valid=112, Invalid=488, Unknown=0, NotChecked=0, Total=600 [2018-11-14 18:26:51,944 INFO L87 Difference]: Start difference. First operand 82 states and 94 transitions. Second operand 25 states. [2018-11-14 18:26:53,808 WARN L179 SmtUtils]: Spent 278.00 ms on a formula simplification. DAG size of input: 41 DAG size of output: 41 [2018-11-14 18:26:55,229 WARN L179 SmtUtils]: Spent 206.00 ms on a formula simplification. DAG size of input: 38 DAG size of output: 37 [2018-11-14 18:26:55,681 WARN L179 SmtUtils]: Spent 134.00 ms on a formula simplification. DAG size of input: 38 DAG size of output: 35 [2018-11-14 18:26:56,761 WARN L179 SmtUtils]: Spent 290.00 ms on a formula simplification that was a NOOP. DAG size: 51 [2018-11-14 18:26:57,537 WARN L179 SmtUtils]: Spent 276.00 ms on a formula simplification that was a NOOP. DAG size: 44 [2018-11-14 18:26:58,776 WARN L179 SmtUtils]: Spent 546.00 ms on a formula simplification that was a NOOP. DAG size: 53 [2018-11-14 18:26:59,513 WARN L179 SmtUtils]: Spent 309.00 ms on a formula simplification that was a NOOP. DAG size: 43 [2018-11-14 18:27:00,274 WARN L179 SmtUtils]: Spent 142.00 ms on a formula simplification that was a NOOP. DAG size: 40 [2018-11-14 18:27:02,138 WARN L179 SmtUtils]: Spent 1.53 s on a formula simplification. DAG size of input: 70 DAG size of output: 70 [2018-11-14 18:27:02,925 WARN L179 SmtUtils]: Spent 253.00 ms on a formula simplification that was a NOOP. DAG size: 47 [2018-11-14 18:27:04,704 WARN L179 SmtUtils]: Spent 1.29 s on a formula simplification. DAG size of input: 63 DAG size of output: 63 [2018-11-14 18:27:04,969 WARN L179 SmtUtils]: Spent 150.00 ms on a formula simplification that was a NOOP. DAG size: 39 [2018-11-14 18:27:05,294 WARN L179 SmtUtils]: Spent 117.00 ms on a formula simplification that was a NOOP. DAG size: 38 [2018-11-14 18:27:06,044 WARN L179 SmtUtils]: Spent 458.00 ms on a formula simplification that was a NOOP. DAG size: 56 [2018-11-14 18:27:07,472 WARN L179 SmtUtils]: Spent 747.00 ms on a formula simplification. DAG size of input: 54 DAG size of output: 54 [2018-11-14 18:27:09,171 WARN L179 SmtUtils]: Spent 1.01 s on a formula simplification. DAG size of input: 59 DAG size of output: 59 [2018-11-14 18:27:12,973 WARN L179 SmtUtils]: Spent 1.75 s on a formula simplification. DAG size of input: 68 DAG size of output: 68 [2018-11-14 18:27:15,076 WARN L179 SmtUtils]: Spent 1.44 s on a formula simplification. DAG size of input: 65 DAG size of output: 65 [2018-11-14 18:27:16,983 WARN L179 SmtUtils]: Spent 1.54 s on a formula simplification. DAG size of input: 70 DAG size of output: 70 [2018-11-14 18:27:18,727 WARN L179 SmtUtils]: Spent 1.07 s on a formula simplification. DAG size of input: 59 DAG size of output: 59 [2018-11-14 18:27:19,130 WARN L179 SmtUtils]: Spent 190.00 ms on a formula simplification that was a NOOP. DAG size: 43 [2018-11-14 18:27:19,194 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2018-11-14 18:27:19,194 INFO L93 Difference]: Finished difference Result 176 states and 206 transitions. [2018-11-14 18:27:19,194 INFO L142 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 37 states. [2018-11-14 18:27:19,194 INFO L78 Accepts]: Start accepts. Automaton has 25 states. Word has length 34 [2018-11-14 18:27:19,194 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2018-11-14 18:27:19,194 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 25 states. [2018-11-14 18:27:19,197 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 37 states to 37 states and 112 transitions. [2018-11-14 18:27:19,198 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 25 states. [2018-11-14 18:27:19,200 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 37 states to 37 states and 112 transitions. [2018-11-14 18:27:19,200 INFO L86 InductivityCheck]: Starting indutivity check of a Floyd-Hoare automaton with 37 states and 112 transitions. [2018-11-14 18:27:24,615 INFO L119 InductivityCheck]: Floyd-Hoare automaton has 112 edges. 111 inductive. 0 not inductive. 1 times theorem prover too weak to decide inductivity. [2018-11-14 18:27:24,617 INFO L225 Difference]: With dead ends: 176 [2018-11-14 18:27:24,617 INFO L226 Difference]: Without dead ends: 118 [2018-11-14 18:27:24,618 INFO L604 BasicCegarLoop]: 0 DeclaredPredicates, 93 GetRequests, 43 SyntacticMatches, 1 SemanticMatches, 49 ConstructedPredicates, 0 IntricatePredicates, 0 DeprecatedPredicates, 578 ImplicationChecksByTransitivity, 20.7s TimeCoverageRelationStatistics Valid=554, Invalid=1996, Unknown=0, NotChecked=0, Total=2550 [2018-11-14 18:27:24,619 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 118 states. [2018-11-14 18:27:24,789 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 118 to 97. [2018-11-14 18:27:24,789 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2018-11-14 18:27:24,789 INFO L82 GeneralOperation]: Start isEquivalent. First operand 118 states. Second operand 97 states. [2018-11-14 18:27:24,789 INFO L74 IsIncluded]: Start isIncluded. First operand 118 states. Second operand 97 states. [2018-11-14 18:27:24,789 INFO L87 Difference]: Start difference. First operand 118 states. Second operand 97 states. [2018-11-14 18:27:24,793 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2018-11-14 18:27:24,793 INFO L93 Difference]: Finished difference Result 118 states and 135 transitions. [2018-11-14 18:27:24,793 INFO L276 IsEmpty]: Start isEmpty. Operand 118 states and 135 transitions. [2018-11-14 18:27:24,793 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2018-11-14 18:27:24,793 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2018-11-14 18:27:24,794 INFO L74 IsIncluded]: Start isIncluded. First operand 97 states. Second operand 118 states. [2018-11-14 18:27:24,794 INFO L87 Difference]: Start difference. First operand 97 states. Second operand 118 states. [2018-11-14 18:27:24,796 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2018-11-14 18:27:24,797 INFO L93 Difference]: Finished difference Result 118 states and 135 transitions. [2018-11-14 18:27:24,797 INFO L276 IsEmpty]: Start isEmpty. Operand 118 states and 135 transitions. [2018-11-14 18:27:24,797 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2018-11-14 18:27:24,797 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2018-11-14 18:27:24,798 INFO L88 GeneralOperation]: Finished isEquivalent. [2018-11-14 18:27:24,798 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2018-11-14 18:27:24,798 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 97 states. [2018-11-14 18:27:24,800 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 97 states to 97 states and 112 transitions. [2018-11-14 18:27:24,800 INFO L78 Accepts]: Start accepts. Automaton has 97 states and 112 transitions. Word has length 34 [2018-11-14 18:27:24,800 INFO L84 Accepts]: Finished accepts. word is rejected. [2018-11-14 18:27:24,800 INFO L480 AbstractCegarLoop]: Abstraction has 97 states and 112 transitions. [2018-11-14 18:27:24,800 INFO L481 AbstractCegarLoop]: Interpolant automaton has 25 states. [2018-11-14 18:27:24,800 INFO L276 IsEmpty]: Start isEmpty. Operand 97 states and 112 transitions. [2018-11-14 18:27:24,801 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 40 [2018-11-14 18:27:24,801 INFO L367 BasicCegarLoop]: Found error trace [2018-11-14 18:27:24,801 INFO L375 BasicCegarLoop]: trace histogram [5, 5, 4, 4, 4, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1] [2018-11-14 18:27:24,802 INFO L423 AbstractCegarLoop]: === Iteration 11 === [__VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION]=== [2018-11-14 18:27:24,802 INFO L141 PredicateUnifier]: Initialized classic predicate unifier [2018-11-14 18:27:24,802 INFO L82 PathProgramCache]: Analyzing trace with hash 650418734, now seen corresponding path program 4 times [2018-11-14 18:27:24,802 INFO L223 ckRefinementStrategy]: Switched to mode CVC4_FPBP [2018-11-14 18:27:24,802 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-14 18:27:24,820 INFO L101 rtionOrderModulation]: Changing assertion order to TERMS_WITH_SMALL_CONSTANTS_FIRST [2018-11-14 18:27:24,882 INFO L249 tOrderPrioritization]: Assert order TERMS_WITH_SMALL_CONSTANTS_FIRST issued 0 check-sat command(s) [2018-11-14 18:27:24,882 INFO L250 tOrderPrioritization]: Conjunction of SSA is unsat [2018-11-14 18:27:24,903 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2018-11-14 18:27:24,905 INFO L273 TraceCheckSpWp]: Computing forward predicates... [2018-11-14 18:27:24,934 INFO L477 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-14 18:27:24,940 INFO L477 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-14 18:27:24,942 INFO L267 ElimStorePlain]: Start of recursive call 3: End of recursive call: and 1 xjuncts. [2018-11-14 18:27:24,946 INFO L267 ElimStorePlain]: Start of recursive call 2: 1 dim-1 vars, End of recursive call: and 1 xjuncts. [2018-11-14 18:27:24,960 INFO L267 ElimStorePlain]: Start of recursive call 1: 1 dim-2 vars, End of recursive call: and 1 xjuncts. [2018-11-14 18:27:24,960 INFO L202 ElimStorePlain]: Needed 3 recursive calls to eliminate 1 variables, input treesize:21, output treesize:17 [2018-11-14 18:27:25,806 WARN L179 SmtUtils]: Spent 121.00 ms on a formula simplification that was a NOOP. DAG size: 34 [2018-11-14 18:27:26,308 WARN L179 SmtUtils]: Spent 148.00 ms on a formula simplification. DAG size of input: 30 DAG size of output: 30 [2018-11-14 18:27:26,483 INFO L256 TraceCheckUtils]: 0: Hoare triple {3813#true} call ULTIMATE.init(); {3813#true} is VALID [2018-11-14 18:27:26,483 INFO L273 TraceCheckUtils]: 1: Hoare triple {3813#true} #NULL.base, #NULL.offset := 0bv32, 0bv32;#valid := #valid[0bv32 := 0bv1];~SIZE~0 := 0bv32; {3813#true} is VALID [2018-11-14 18:27:26,483 INFO L273 TraceCheckUtils]: 2: Hoare triple {3813#true} assume true; {3813#true} is VALID [2018-11-14 18:27:26,484 INFO L268 TraceCheckUtils]: 3: Hoare quadruple {3813#true} {3813#true} #54#return; {3813#true} is VALID [2018-11-14 18:27:26,484 INFO L256 TraceCheckUtils]: 4: Hoare triple {3813#true} call #t~ret5 := main(); {3813#true} is VALID [2018-11-14 18:27:26,486 INFO L273 TraceCheckUtils]: 5: Hoare triple {3813#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); {3833#(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-14 18:27:28,503 INFO L256 TraceCheckUtils]: 6: Hoare triple {3833#(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); {3837#(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-14 18:27:28,506 INFO L273 TraceCheckUtils]: 7: Hoare triple {3837#(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; {3841#(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-14 18:27:28,507 INFO L273 TraceCheckUtils]: 8: Hoare triple {3841#(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 true; {3841#(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-14 18:27:28,508 INFO L273 TraceCheckUtils]: 9: Hoare triple {3841#(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); {3841#(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-14 18:27:28,510 INFO L273 TraceCheckUtils]: 10: Hoare triple {3841#(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; {3841#(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-14 18:27:28,511 INFO L273 TraceCheckUtils]: 11: Hoare triple {3841#(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; {3854#(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-14 18:27:28,512 INFO L273 TraceCheckUtils]: 12: Hoare triple {3854#(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 !(~j~0 == 20bv32); {3854#(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-14 18:27:28,513 INFO L273 TraceCheckUtils]: 13: Hoare triple {3854#(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 true; {3854#(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-14 18:27:28,514 INFO L273 TraceCheckUtils]: 14: Hoare triple {3854#(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); {3854#(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-14 18:27:28,516 INFO L273 TraceCheckUtils]: 15: Hoare triple {3854#(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; {3854#(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-14 18:27:28,518 INFO L273 TraceCheckUtils]: 16: Hoare triple {3854#(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; {3870#(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-14 18:27:28,519 INFO L273 TraceCheckUtils]: 17: Hoare triple {3870#(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 !(~j~0 == 20bv32); {3870#(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-14 18:27:28,520 INFO L273 TraceCheckUtils]: 18: Hoare triple {3870#(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 true; {3870#(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-14 18:27:28,521 INFO L273 TraceCheckUtils]: 19: Hoare triple {3870#(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); {3870#(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-14 18:27:28,525 INFO L273 TraceCheckUtils]: 20: Hoare triple {3870#(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; {3883#(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-14 18:27:28,559 INFO L273 TraceCheckUtils]: 21: Hoare triple {3883#(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; {3887#(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-14 18:27:28,560 INFO L273 TraceCheckUtils]: 22: Hoare triple {3887#(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 !(~j~0 == 20bv32); {3887#(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-14 18:27:28,561 INFO L273 TraceCheckUtils]: 23: Hoare triple {3887#(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 true; {3887#(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-14 18:27:28,564 INFO L273 TraceCheckUtils]: 24: Hoare triple {3887#(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); {3897#(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-14 18:27:28,566 INFO L273 TraceCheckUtils]: 25: Hoare triple {3897#(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; {3901#(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-14 18:27:28,568 INFO L273 TraceCheckUtils]: 26: Hoare triple {3901#(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; {3905#(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-14 18:27:28,569 INFO L273 TraceCheckUtils]: 27: Hoare triple {3905#(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 !(~j~0 == 20bv32); {3905#(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-14 18:27:28,570 INFO L273 TraceCheckUtils]: 28: Hoare triple {3905#(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 true; {3905#(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-14 18:27:28,574 INFO L273 TraceCheckUtils]: 29: Hoare triple {3905#(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); {3915#(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-14 18:27:28,575 INFO L273 TraceCheckUtils]: 30: Hoare triple {3915#(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; {3919#(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-14 18:27:28,576 INFO L273 TraceCheckUtils]: 31: Hoare triple {3919#(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; {3919#(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-14 18:27:28,577 INFO L273 TraceCheckUtils]: 32: Hoare triple {3919#(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; {3919#(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-14 18:27:28,578 INFO L273 TraceCheckUtils]: 33: Hoare triple {3919#(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; {3919#(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-14 18:27:28,582 INFO L268 TraceCheckUtils]: 34: Hoare quadruple {3919#(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)))))))} {3833#(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|))))} #58#return; {3814#false} is VALID [2018-11-14 18:27:28,582 INFO L256 TraceCheckUtils]: 35: Hoare triple {3814#false} call __VERIFIER_assert(#t~ret4); {3814#false} is VALID [2018-11-14 18:27:28,582 INFO L273 TraceCheckUtils]: 36: Hoare triple {3814#false} ~cond := #in~cond; {3814#false} is VALID [2018-11-14 18:27:28,582 INFO L273 TraceCheckUtils]: 37: Hoare triple {3814#false} assume ~cond == 0bv32; {3814#false} is VALID [2018-11-14 18:27:28,583 INFO L273 TraceCheckUtils]: 38: Hoare triple {3814#false} assume !false; {3814#false} is VALID [2018-11-14 18:27:28,609 INFO L134 CoverageAnalysis]: Checked inductivity of 46 backedges. 0 proven. 46 refuted. 0 times theorem prover too weak. 0 trivial. 0 not checked. [2018-11-14 18:27:28,609 INFO L316 TraceCheckSpWp]: Computing backward predicates... [2018-11-14 18:27:28,929 WARN L179 SmtUtils]: Spent 315.00 ms on a formula simplification. DAG size of input: 58 DAG size of output: 46