java -ea -Xmx8000000000 -jar /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/plugins/org.eclipse.equinox.launcher_1.3.100.v20150511-1540.jar -data @noDefault -ultimatedata /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/data -tc ../../../trunk/examples/toolchains/AutomizerCInline_WitnessPrinter.xml -s ../../../trunk/examples/settings/default/automizer/svcomp-Reach-32bit-Automizer_Default.epf -i ../../../trunk/examples/svcomp/array-industry-pattern/check_removal_from_set_after_insertion_false-unreach-call.i -------------------------------------------------------------------------------- This is Ultimate 0.1.23-61f4311 [2018-11-23 12:10:05,157 INFO L170 SettingsManager]: Resetting all preferences to default values... [2018-11-23 12:10:05,159 INFO L174 SettingsManager]: Resetting UltimateCore preferences to default values [2018-11-23 12:10:05,172 INFO L177 SettingsManager]: Ultimate Commandline Interface provides no preferences, ignoring... [2018-11-23 12:10:05,173 INFO L174 SettingsManager]: Resetting Boogie Preprocessor preferences to default values [2018-11-23 12:10:05,174 INFO L174 SettingsManager]: Resetting Boogie Procedure Inliner preferences to default values [2018-11-23 12:10:05,175 INFO L174 SettingsManager]: Resetting Abstract Interpretation preferences to default values [2018-11-23 12:10:05,177 INFO L174 SettingsManager]: Resetting LassoRanker preferences to default values [2018-11-23 12:10:05,179 INFO L174 SettingsManager]: Resetting Reaching Definitions preferences to default values [2018-11-23 12:10:05,179 INFO L174 SettingsManager]: Resetting SyntaxChecker preferences to default values [2018-11-23 12:10:05,180 INFO L177 SettingsManager]: Büchi Program Product provides no preferences, ignoring... [2018-11-23 12:10:05,181 INFO L174 SettingsManager]: Resetting LTL2Aut preferences to default values [2018-11-23 12:10:05,182 INFO L174 SettingsManager]: Resetting PEA to Boogie preferences to default values [2018-11-23 12:10:05,183 INFO L174 SettingsManager]: Resetting BlockEncodingV2 preferences to default values [2018-11-23 12:10:05,184 INFO L174 SettingsManager]: Resetting ChcToBoogie preferences to default values [2018-11-23 12:10:05,185 INFO L174 SettingsManager]: Resetting AutomataScriptInterpreter preferences to default values [2018-11-23 12:10:05,186 INFO L174 SettingsManager]: Resetting BuchiAutomizer preferences to default values [2018-11-23 12:10:05,187 INFO L174 SettingsManager]: Resetting CACSL2BoogieTranslator preferences to default values [2018-11-23 12:10:05,190 INFO L174 SettingsManager]: Resetting CodeCheck preferences to default values [2018-11-23 12:10:05,191 INFO L174 SettingsManager]: Resetting InvariantSynthesis preferences to default values [2018-11-23 12:10:05,196 INFO L174 SettingsManager]: Resetting RCFGBuilder preferences to default values [2018-11-23 12:10:05,197 INFO L174 SettingsManager]: Resetting TraceAbstraction preferences to default values [2018-11-23 12:10:05,202 INFO L177 SettingsManager]: TraceAbstractionConcurrent provides no preferences, ignoring... [2018-11-23 12:10:05,203 INFO L177 SettingsManager]: TraceAbstractionWithAFAs provides no preferences, ignoring... [2018-11-23 12:10:05,203 INFO L174 SettingsManager]: Resetting TreeAutomizer preferences to default values [2018-11-23 12:10:05,204 INFO L174 SettingsManager]: Resetting IcfgTransformer preferences to default values [2018-11-23 12:10:05,205 INFO L174 SettingsManager]: Resetting Boogie Printer preferences to default values [2018-11-23 12:10:05,209 INFO L174 SettingsManager]: Resetting ReqPrinter preferences to default values [2018-11-23 12:10:05,210 INFO L174 SettingsManager]: Resetting Witness Printer preferences to default values [2018-11-23 12:10:05,211 INFO L177 SettingsManager]: Boogie PL CUP Parser provides no preferences, ignoring... [2018-11-23 12:10:05,211 INFO L174 SettingsManager]: Resetting CDTParser preferences to default values [2018-11-23 12:10:05,214 INFO L177 SettingsManager]: AutomataScriptParser provides no preferences, ignoring... [2018-11-23 12:10:05,214 INFO L177 SettingsManager]: ReqParser provides no preferences, ignoring... [2018-11-23 12:10:05,214 INFO L174 SettingsManager]: Resetting SmtParser preferences to default values [2018-11-23 12:10:05,217 INFO L174 SettingsManager]: Resetting Witness Parser preferences to default values [2018-11-23 12:10:05,218 INFO L181 SettingsManager]: Finished resetting all preferences to default values... [2018-11-23 12:10:05,218 INFO L98 SettingsManager]: Beginning loading settings from /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/../../../trunk/examples/settings/default/automizer/svcomp-Reach-32bit-Automizer_Default.epf [2018-11-23 12:10:05,244 INFO L110 SettingsManager]: Loading preferences was successful [2018-11-23 12:10:05,244 INFO L112 SettingsManager]: Preferences different from defaults after loading the file: [2018-11-23 12:10:05,245 INFO L131 SettingsManager]: Preferences of Boogie Procedure Inliner differ from their defaults: [2018-11-23 12:10:05,245 INFO L133 SettingsManager]: * ... calls to implemented procedures=ONLY_FOR_CONCURRENT_PROGRAMS [2018-11-23 12:10:05,250 INFO L131 SettingsManager]: Preferences of BlockEncodingV2 differ from their defaults: [2018-11-23 12:10:05,250 INFO L133 SettingsManager]: * Create parallel compositions if possible=false [2018-11-23 12:10:05,250 INFO L133 SettingsManager]: * Use SBE=true [2018-11-23 12:10:05,250 INFO L131 SettingsManager]: Preferences of CACSL2BoogieTranslator differ from their defaults: [2018-11-23 12:10:05,251 INFO L133 SettingsManager]: * sizeof long=4 [2018-11-23 12:10:05,251 INFO L133 SettingsManager]: * Overapproximate operations on floating types=true [2018-11-23 12:10:05,251 INFO L133 SettingsManager]: * sizeof POINTER=4 [2018-11-23 12:10:05,251 INFO L133 SettingsManager]: * Check division by zero=IGNORE [2018-11-23 12:10:05,251 INFO L133 SettingsManager]: * Pointer to allocated memory at dereference=IGNORE [2018-11-23 12:10:05,251 INFO L133 SettingsManager]: * If two pointers are subtracted or compared they have the same base address=IGNORE [2018-11-23 12:10:05,252 INFO L133 SettingsManager]: * Check array bounds for arrays that are off heap=IGNORE [2018-11-23 12:10:05,252 INFO L133 SettingsManager]: * sizeof long double=12 [2018-11-23 12:10:05,252 INFO L133 SettingsManager]: * Check if freed pointer was valid=false [2018-11-23 12:10:05,252 INFO L133 SettingsManager]: * Use constant arrays=true [2018-11-23 12:10:05,252 INFO L133 SettingsManager]: * Pointer base address is valid at dereference=IGNORE [2018-11-23 12:10:05,253 INFO L131 SettingsManager]: Preferences of RCFGBuilder differ from their defaults: [2018-11-23 12:10:05,253 INFO L133 SettingsManager]: * Size of a code block=SequenceOfStatements [2018-11-23 12:10:05,253 INFO L133 SettingsManager]: * To the following directory=./dump/ [2018-11-23 12:10:05,253 INFO L133 SettingsManager]: * SMT solver=External_DefaultMode [2018-11-23 12:10:05,253 INFO L133 SettingsManager]: * Command for external solver=z3 SMTLIB2_COMPLIANT=true -memory:2024 -smt2 -in -t:2000 [2018-11-23 12:10:05,254 INFO L131 SettingsManager]: Preferences of TraceAbstraction differ from their defaults: [2018-11-23 12:10:05,254 INFO L133 SettingsManager]: * Compute Interpolants along a Counterexample=FPandBP [2018-11-23 12:10:05,254 INFO L133 SettingsManager]: * Positions where we compute the Hoare Annotation=LoopsAndPotentialCycles [2018-11-23 12:10:05,254 INFO L133 SettingsManager]: * Trace refinement strategy=CAMEL [2018-11-23 12:10:05,254 INFO L133 SettingsManager]: * SMT solver=External_ModelsAndUnsatCoreMode [2018-11-23 12:10:05,255 INFO L133 SettingsManager]: * Command for external solver=z3 SMTLIB2_COMPLIANT=true -memory:2024 -smt2 -in [2018-11-23 12:10:05,255 INFO L133 SettingsManager]: * Compute Hoare Annotation of negated interpolant automaton, abstraction and CFG=true [2018-11-23 12:10:05,298 INFO L81 nceAwareModelManager]: Repository-Root is: /tmp [2018-11-23 12:10:05,310 INFO L258 ainManager$Toolchain]: [Toolchain 1]: Applicable parser(s) successfully (re)initialized [2018-11-23 12:10:05,313 INFO L214 ainManager$Toolchain]: [Toolchain 1]: Toolchain selected. [2018-11-23 12:10:05,314 INFO L271 PluginConnector]: Initializing CDTParser... [2018-11-23 12:10:05,315 INFO L276 PluginConnector]: CDTParser initialized [2018-11-23 12:10:05,315 INFO L418 ainManager$Toolchain]: [Toolchain 1]: Parsing single file: /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/../../../trunk/examples/svcomp/array-industry-pattern/check_removal_from_set_after_insertion_false-unreach-call.i [2018-11-23 12:10:05,379 INFO L221 CDTParser]: Created temporary CDT project at /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/data/2d53f54a0/e789df3437f94879ad917cd54b72dee4/FLAG38a1ed545 [2018-11-23 12:10:05,877 INFO L307 CDTParser]: Found 1 translation units. [2018-11-23 12:10:05,878 INFO L161 CDTParser]: Scanning /storage/repos/ultimate/trunk/examples/svcomp/array-industry-pattern/check_removal_from_set_after_insertion_false-unreach-call.i [2018-11-23 12:10:05,886 INFO L355 CDTParser]: About to delete temporary CDT project at /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/data/2d53f54a0/e789df3437f94879ad917cd54b72dee4/FLAG38a1ed545 [2018-11-23 12:10:06,243 INFO L363 CDTParser]: Successfully deleted /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/data/2d53f54a0/e789df3437f94879ad917cd54b72dee4 [2018-11-23 12:10:06,253 INFO L296 ainManager$Toolchain]: ####################### [Toolchain 1] ####################### [2018-11-23 12:10:06,254 INFO L131 ToolchainWalker]: Walking toolchain with 6 elements. [2018-11-23 12:10:06,256 INFO L113 PluginConnector]: ------------------------CACSL2BoogieTranslator---------------------------- [2018-11-23 12:10:06,256 INFO L271 PluginConnector]: Initializing CACSL2BoogieTranslator... [2018-11-23 12:10:06,260 INFO L276 PluginConnector]: CACSL2BoogieTranslator initialized [2018-11-23 12:10:06,262 INFO L185 PluginConnector]: Executing the observer ACSLObjectContainerObserver from plugin CACSL2BoogieTranslator for "CDTParser AST 23.11 12:10:06" (1/1) ... [2018-11-23 12:10:06,265 INFO L205 PluginConnector]: Invalid model from CACSL2BoogieTranslator for observer de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator.ACSLObjectContainerObserver@3a75136c and model type de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 23.11 12:10:06, skipping insertion in model container [2018-11-23 12:10:06,265 INFO L185 PluginConnector]: Executing the observer CACSL2BoogieTranslatorObserver from plugin CACSL2BoogieTranslator for "CDTParser AST 23.11 12:10:06" (1/1) ... [2018-11-23 12:10:06,277 INFO L145 MainTranslator]: Starting translation in SV-COMP mode [2018-11-23 12:10:06,308 INFO L176 MainTranslator]: Built tables and reachable declarations [2018-11-23 12:10:06,526 INFO L201 PostProcessor]: Analyzing one entry point: main [2018-11-23 12:10:06,538 INFO L191 MainTranslator]: Completed pre-run [2018-11-23 12:10:06,569 INFO L201 PostProcessor]: Analyzing one entry point: main [2018-11-23 12:10:06,588 INFO L195 MainTranslator]: Completed translation [2018-11-23 12:10:06,589 INFO L202 PluginConnector]: Adding new model de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 23.11 12:10:06 WrapperNode [2018-11-23 12:10:06,589 INFO L132 PluginConnector]: ------------------------ END CACSL2BoogieTranslator---------------------------- [2018-11-23 12:10:06,590 INFO L113 PluginConnector]: ------------------------Boogie Procedure Inliner---------------------------- [2018-11-23 12:10:06,590 INFO L271 PluginConnector]: Initializing Boogie Procedure Inliner... [2018-11-23 12:10:06,590 INFO L276 PluginConnector]: Boogie Procedure Inliner initialized [2018-11-23 12:10:06,600 INFO L185 PluginConnector]: Executing the observer TypeChecker from plugin Boogie Procedure Inliner for "de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 23.11 12:10:06" (1/1) ... [2018-11-23 12:10:06,613 INFO L185 PluginConnector]: Executing the observer Inliner from plugin Boogie Procedure Inliner for "de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 23.11 12:10:06" (1/1) ... [2018-11-23 12:10:06,622 INFO L132 PluginConnector]: ------------------------ END Boogie Procedure Inliner---------------------------- [2018-11-23 12:10:06,623 INFO L113 PluginConnector]: ------------------------Boogie Preprocessor---------------------------- [2018-11-23 12:10:06,623 INFO L271 PluginConnector]: Initializing Boogie Preprocessor... [2018-11-23 12:10:06,623 INFO L276 PluginConnector]: Boogie Preprocessor initialized [2018-11-23 12:10:06,634 INFO L185 PluginConnector]: Executing the observer EnsureBoogieModelObserver from plugin Boogie Preprocessor for "de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 23.11 12:10:06" (1/1) ... [2018-11-23 12:10:06,635 INFO L185 PluginConnector]: Executing the observer TypeChecker from plugin Boogie Preprocessor for "de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 23.11 12:10:06" (1/1) ... [2018-11-23 12:10:06,637 INFO L185 PluginConnector]: Executing the observer ConstExpander from plugin Boogie Preprocessor for "de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 23.11 12:10:06" (1/1) ... [2018-11-23 12:10:06,638 INFO L185 PluginConnector]: Executing the observer StructExpander from plugin Boogie Preprocessor for "de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 23.11 12:10:06" (1/1) ... [2018-11-23 12:10:06,652 INFO L185 PluginConnector]: Executing the observer UnstructureCode from plugin Boogie Preprocessor for "de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 23.11 12:10:06" (1/1) ... [2018-11-23 12:10:06,661 INFO L185 PluginConnector]: Executing the observer FunctionInliner from plugin Boogie Preprocessor for "de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 23.11 12:10:06" (1/1) ... [2018-11-23 12:10:06,663 INFO L185 PluginConnector]: Executing the observer BoogieSymbolTableConstructor from plugin Boogie Preprocessor for "de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 23.11 12:10:06" (1/1) ... [2018-11-23 12:10:06,667 INFO L132 PluginConnector]: ------------------------ END Boogie Preprocessor---------------------------- [2018-11-23 12:10:06,667 INFO L113 PluginConnector]: ------------------------RCFGBuilder---------------------------- [2018-11-23 12:10:06,668 INFO L271 PluginConnector]: Initializing RCFGBuilder... [2018-11-23 12:10:06,668 INFO L276 PluginConnector]: RCFGBuilder initialized [2018-11-23 12:10:06,669 INFO L185 PluginConnector]: Executing the observer RCFGBuilderObserver from plugin RCFGBuilder for "de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 23.11 12:10:06" (1/1) ... No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 Starting monitored process 1 with z3 SMTLIB2_COMPLIANT=true -memory:2024 -smt2 -in -t:2000 (exit command is (exit), workingDir is null) Waiting until toolchain timeout for monitored process 1 with z3 SMTLIB2_COMPLIANT=true -memory:2024 -smt2 -in -t:2000 [2018-11-23 12:10:06,799 INFO L130 BoogieDeclarations]: Found specification of procedure elem_exists [2018-11-23 12:10:06,800 INFO L138 BoogieDeclarations]: Found implementation of procedure elem_exists [2018-11-23 12:10:06,800 INFO L130 BoogieDeclarations]: Found specification of procedure write~int [2018-11-23 12:10:06,800 INFO L130 BoogieDeclarations]: Found specification of procedure ULTIMATE.init [2018-11-23 12:10:06,800 INFO L138 BoogieDeclarations]: Found implementation of procedure ULTIMATE.init [2018-11-23 12:10:06,801 INFO L130 BoogieDeclarations]: Found specification of procedure #Ultimate.alloc [2018-11-23 12:10:06,801 INFO L130 BoogieDeclarations]: Found specification of procedure insert [2018-11-23 12:10:06,801 INFO L138 BoogieDeclarations]: Found implementation of procedure insert [2018-11-23 12:10:06,801 INFO L130 BoogieDeclarations]: Found specification of procedure ULTIMATE.start [2018-11-23 12:10:06,801 INFO L138 BoogieDeclarations]: Found implementation of procedure ULTIMATE.start [2018-11-23 12:10:06,802 INFO L130 BoogieDeclarations]: Found specification of procedure read~int [2018-11-23 12:10:06,802 INFO L130 BoogieDeclarations]: Found specification of procedure main [2018-11-23 12:10:06,802 INFO L138 BoogieDeclarations]: Found implementation of procedure main [2018-11-23 12:10:06,802 INFO L130 BoogieDeclarations]: Found specification of procedure __VERIFIER_assert [2018-11-23 12:10:06,802 INFO L138 BoogieDeclarations]: Found implementation of procedure __VERIFIER_assert [2018-11-23 12:10:06,802 INFO L130 BoogieDeclarations]: Found specification of procedure ULTIMATE.dealloc [2018-11-23 12:10:07,687 INFO L275 CfgBuilder]: Using the 1 location(s) as analysis (start of procedure ULTIMATE.start) [2018-11-23 12:10:07,687 INFO L280 CfgBuilder]: Removed 5 assue(true) statements. [2018-11-23 12:10:07,688 INFO L202 PluginConnector]: Adding new model de.uni_freiburg.informatik.ultimate.plugins.generator.rcfgbuilder CFG 23.11 12:10:07 BoogieIcfgContainer [2018-11-23 12:10:07,688 INFO L132 PluginConnector]: ------------------------ END RCFGBuilder---------------------------- [2018-11-23 12:10:07,689 INFO L113 PluginConnector]: ------------------------TraceAbstraction---------------------------- [2018-11-23 12:10:07,689 INFO L271 PluginConnector]: Initializing TraceAbstraction... [2018-11-23 12:10:07,692 INFO L276 PluginConnector]: TraceAbstraction initialized [2018-11-23 12:10:07,693 INFO L185 PluginConnector]: Executing the observer TraceAbstractionObserver from plugin TraceAbstraction for "CDTParser AST 23.11 12:10:06" (1/3) ... [2018-11-23 12:10:07,694 INFO L205 PluginConnector]: Invalid model from TraceAbstraction for observer de.uni_freiburg.informatik.ultimate.plugins.generator.traceabstraction.TraceAbstractionObserver@4dfc3555 and model type de.uni_freiburg.informatik.ultimate.plugins.generator.traceabstraction AST 23.11 12:10:07, skipping insertion in model container [2018-11-23 12:10:07,694 INFO L185 PluginConnector]: Executing the observer TraceAbstractionObserver from plugin TraceAbstraction for "de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 23.11 12:10:06" (2/3) ... [2018-11-23 12:10:07,695 INFO L205 PluginConnector]: Invalid model from TraceAbstraction for observer de.uni_freiburg.informatik.ultimate.plugins.generator.traceabstraction.TraceAbstractionObserver@4dfc3555 and model type de.uni_freiburg.informatik.ultimate.plugins.generator.traceabstraction AST 23.11 12:10:07, skipping insertion in model container [2018-11-23 12:10:07,695 INFO L185 PluginConnector]: Executing the observer TraceAbstractionObserver from plugin TraceAbstraction for "de.uni_freiburg.informatik.ultimate.plugins.generator.rcfgbuilder CFG 23.11 12:10:07" (3/3) ... [2018-11-23 12:10:07,697 INFO L112 eAbstractionObserver]: Analyzing ICFG check_removal_from_set_after_insertion_false-unreach-call.i [2018-11-23 12:10:07,707 INFO L156 ceAbstractionStarter]: Automizer settings: Hoare:true NWA Interpolation:FPandBP Determinization: PREDICATE_ABSTRACTION [2018-11-23 12:10:07,717 INFO L168 ceAbstractionStarter]: Appying trace abstraction to program that has 1 error locations. [2018-11-23 12:10:07,735 INFO L257 AbstractCegarLoop]: Starting to check reachability of 1 error locations. [2018-11-23 12:10:07,774 INFO L133 ementStrategyFactory]: Using default assertion order modulation [2018-11-23 12:10:07,776 INFO L382 AbstractCegarLoop]: Interprodecural is true [2018-11-23 12:10:07,776 INFO L383 AbstractCegarLoop]: Hoare is true [2018-11-23 12:10:07,776 INFO L384 AbstractCegarLoop]: Compute interpolants for FPandBP [2018-11-23 12:10:07,776 INFO L385 AbstractCegarLoop]: Backedges is STRAIGHT_LINE [2018-11-23 12:10:07,777 INFO L386 AbstractCegarLoop]: Determinization is PREDICATE_ABSTRACTION [2018-11-23 12:10:07,777 INFO L387 AbstractCegarLoop]: Difference is false [2018-11-23 12:10:07,777 INFO L388 AbstractCegarLoop]: Minimize is MINIMIZE_SEVPA [2018-11-23 12:10:07,777 INFO L393 AbstractCegarLoop]: ======== Iteration 0==of CEGAR loop == AllErrorsAtOnce======== [2018-11-23 12:10:07,800 INFO L276 IsEmpty]: Start isEmpty. Operand 46 states. [2018-11-23 12:10:07,808 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 17 [2018-11-23 12:10:07,808 INFO L394 BasicCegarLoop]: Found error trace [2018-11-23 12:10:07,811 INFO L402 BasicCegarLoop]: trace histogram [1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1] [2018-11-23 12:10:07,814 INFO L423 AbstractCegarLoop]: === Iteration 1 === [__VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION]=== [2018-11-23 12:10:07,822 INFO L141 PredicateUnifier]: Initialized classic predicate unifier [2018-11-23 12:10:07,823 INFO L82 PathProgramCache]: Analyzing trace with hash -1153302932, now seen corresponding path program 1 times [2018-11-23 12:10:07,825 INFO L223 ckRefinementStrategy]: Switched to mode SMTINTERPOL_TREE_INTERPOLANTS [2018-11-23 12:10:07,826 INFO L69 tionRefinementEngine]: Using refinement strategy CamelRefinementStrategy [2018-11-23 12:10:07,877 INFO L119 rtionOrderModulation]: Craig_TreeInterpolation forces the order to NOT_INCREMENTALLY [2018-11-23 12:10:07,877 INFO L103 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2018-11-23 12:10:07,878 INFO L119 rtionOrderModulation]: Craig_TreeInterpolation forces the order to NOT_INCREMENTALLY [2018-11-23 12:10:07,923 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2018-11-23 12:10:07,976 INFO L256 TraceCheckUtils]: 0: Hoare triple {49#true} call ULTIMATE.init(); {49#true} is VALID [2018-11-23 12:10:07,981 INFO L273 TraceCheckUtils]: 1: Hoare triple {49#true} #NULL.base, #NULL.offset := 0, 0;#valid := #valid[0 := 0];~SIZE~0 := 100000; {49#true} is VALID [2018-11-23 12:10:07,982 INFO L273 TraceCheckUtils]: 2: Hoare triple {49#true} assume true; {49#true} is VALID [2018-11-23 12:10:07,983 INFO L268 TraceCheckUtils]: 3: Hoare quadruple {49#true} {49#true} #123#return; {49#true} is VALID [2018-11-23 12:10:07,983 INFO L256 TraceCheckUtils]: 4: Hoare triple {49#true} call #t~ret13 := main(); {49#true} is VALID [2018-11-23 12:10:07,983 INFO L273 TraceCheckUtils]: 5: Hoare triple {49#true} havoc ~i~1;havoc ~pos~0;~n~0 := 0;~found~0 := 0;call ~#set~0.base, ~#set~0.offset := #Ultimate.alloc(4 * ~SIZE~0);call ~#values~0.base, ~#values~0.offset := #Ultimate.alloc(4 * ~SIZE~0);havoc ~element~0;havoc ~v~0;~v~0 := 0; {49#true} is VALID [2018-11-23 12:10:07,985 INFO L273 TraceCheckUtils]: 6: Hoare triple {49#true} assume !true; {50#false} is VALID [2018-11-23 12:10:07,985 INFO L273 TraceCheckUtils]: 7: Hoare triple {50#false} ~i~1 := 0; {50#false} is VALID [2018-11-23 12:10:07,985 INFO L273 TraceCheckUtils]: 8: Hoare triple {50#false} assume !true; {50#false} is VALID [2018-11-23 12:10:07,986 INFO L273 TraceCheckUtils]: 9: Hoare triple {50#false} assume !(1 == ~found~0); {50#false} is VALID [2018-11-23 12:10:07,986 INFO L273 TraceCheckUtils]: 10: Hoare triple {50#false} assume 1 == ~found~0;~i~1 := 0; {50#false} is VALID [2018-11-23 12:10:07,986 INFO L273 TraceCheckUtils]: 11: Hoare triple {50#false} assume !!(~i~1 < ~SIZE~0 - 1);call #t~mem12 := read~int(~#set~0.base, ~#set~0.offset + 4 * ~i~1, 4); {50#false} is VALID [2018-11-23 12:10:07,987 INFO L256 TraceCheckUtils]: 12: Hoare triple {50#false} call __VERIFIER_assert((if #t~mem12 != ~element~0 then 1 else 0)); {50#false} is VALID [2018-11-23 12:10:07,987 INFO L273 TraceCheckUtils]: 13: Hoare triple {50#false} ~cond := #in~cond; {50#false} is VALID [2018-11-23 12:10:07,987 INFO L273 TraceCheckUtils]: 14: Hoare triple {50#false} assume 0 == ~cond; {50#false} is VALID [2018-11-23 12:10:07,988 INFO L273 TraceCheckUtils]: 15: Hoare triple {50#false} assume !false; {50#false} is VALID [2018-11-23 12:10:07,991 INFO L134 CoverageAnalysis]: Checked inductivity of 0 backedges. 0 proven. 0 refuted. 0 times theorem prover too weak. 0 trivial. 0 not checked. [2018-11-23 12:10:07,994 INFO L312 seRefinementStrategy]: Constructing automaton from 1 perfect and 0 imperfect interpolant sequences. [2018-11-23 12:10:07,994 INFO L327 seRefinementStrategy]: Number of different interpolants: perfect sequences [2] imperfect sequences [] total 2 [2018-11-23 12:10:08,000 INFO L78 Accepts]: Start accepts. Automaton has 2 states. Word has length 16 [2018-11-23 12:10:08,003 INFO L84 Accepts]: Finished accepts. word is accepted. [2018-11-23 12:10:08,007 INFO L86 InductivityCheck]: Starting indutivity check of a Floyd-Hoare automaton with 2 states. [2018-11-23 12:10:08,119 INFO L119 InductivityCheck]: Floyd-Hoare automaton has 16 edges. 16 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2018-11-23 12:10:08,120 INFO L459 AbstractCegarLoop]: Interpolant automaton has 2 states [2018-11-23 12:10:08,131 INFO L142 InterpolantAutomaton]: Constructing interpolant automaton starting with 2 interpolants. [2018-11-23 12:10:08,132 INFO L144 InterpolantAutomaton]: CoverageRelationStatistics Valid=1, Invalid=1, Unknown=0, NotChecked=0, Total=2 [2018-11-23 12:10:08,135 INFO L87 Difference]: Start difference. First operand 46 states. Second operand 2 states. [2018-11-23 12:10:08,594 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2018-11-23 12:10:08,595 INFO L93 Difference]: Finished difference Result 86 states and 118 transitions. [2018-11-23 12:10:08,595 INFO L142 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 2 states. [2018-11-23 12:10:08,595 INFO L78 Accepts]: Start accepts. Automaton has 2 states. Word has length 16 [2018-11-23 12:10:08,595 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2018-11-23 12:10:08,597 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 2 states. [2018-11-23 12:10:08,611 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 2 states to 2 states and 118 transitions. [2018-11-23 12:10:08,611 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 2 states. [2018-11-23 12:10:08,619 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 2 states to 2 states and 118 transitions. [2018-11-23 12:10:08,619 INFO L86 InductivityCheck]: Starting indutivity check of a Floyd-Hoare automaton with 2 states and 118 transitions. [2018-11-23 12:10:09,256 INFO L119 InductivityCheck]: Floyd-Hoare automaton has 118 edges. 118 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2018-11-23 12:10:09,278 INFO L225 Difference]: With dead ends: 86 [2018-11-23 12:10:09,280 INFO L226 Difference]: Without dead ends: 41 [2018-11-23 12:10:09,287 INFO L631 BasicCegarLoop]: 0 DeclaredPredicates, 2 GetRequests, 2 SyntacticMatches, 0 SemanticMatches, 0 ConstructedPredicates, 0 IntricatePredicates, 0 DeprecatedPredicates, 0 ImplicationChecksByTransitivity, 0.0s TimeCoverageRelationStatistics Valid=1, Invalid=1, Unknown=0, NotChecked=0, Total=2 [2018-11-23 12:10:09,306 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 41 states. [2018-11-23 12:10:09,361 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 41 to 41. [2018-11-23 12:10:09,361 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2018-11-23 12:10:09,362 INFO L82 GeneralOperation]: Start isEquivalent. First operand 41 states. Second operand 41 states. [2018-11-23 12:10:09,362 INFO L74 IsIncluded]: Start isIncluded. First operand 41 states. Second operand 41 states. [2018-11-23 12:10:09,362 INFO L87 Difference]: Start difference. First operand 41 states. Second operand 41 states. [2018-11-23 12:10:09,368 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2018-11-23 12:10:09,368 INFO L93 Difference]: Finished difference Result 41 states and 49 transitions. [2018-11-23 12:10:09,368 INFO L276 IsEmpty]: Start isEmpty. Operand 41 states and 49 transitions. [2018-11-23 12:10:09,369 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2018-11-23 12:10:09,369 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2018-11-23 12:10:09,370 INFO L74 IsIncluded]: Start isIncluded. First operand 41 states. Second operand 41 states. [2018-11-23 12:10:09,370 INFO L87 Difference]: Start difference. First operand 41 states. Second operand 41 states. [2018-11-23 12:10:09,375 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2018-11-23 12:10:09,376 INFO L93 Difference]: Finished difference Result 41 states and 49 transitions. [2018-11-23 12:10:09,376 INFO L276 IsEmpty]: Start isEmpty. Operand 41 states and 49 transitions. [2018-11-23 12:10:09,377 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2018-11-23 12:10:09,377 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2018-11-23 12:10:09,377 INFO L88 GeneralOperation]: Finished isEquivalent. [2018-11-23 12:10:09,377 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2018-11-23 12:10:09,378 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 41 states. [2018-11-23 12:10:09,382 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 41 states to 41 states and 49 transitions. [2018-11-23 12:10:09,384 INFO L78 Accepts]: Start accepts. Automaton has 41 states and 49 transitions. Word has length 16 [2018-11-23 12:10:09,384 INFO L84 Accepts]: Finished accepts. word is rejected. [2018-11-23 12:10:09,384 INFO L480 AbstractCegarLoop]: Abstraction has 41 states and 49 transitions. [2018-11-23 12:10:09,385 INFO L481 AbstractCegarLoop]: Interpolant automaton has 2 states. [2018-11-23 12:10:09,385 INFO L276 IsEmpty]: Start isEmpty. Operand 41 states and 49 transitions. [2018-11-23 12:10:09,386 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 17 [2018-11-23 12:10:09,386 INFO L394 BasicCegarLoop]: Found error trace [2018-11-23 12:10:09,386 INFO L402 BasicCegarLoop]: trace histogram [1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1] [2018-11-23 12:10:09,387 INFO L423 AbstractCegarLoop]: === Iteration 2 === [__VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION]=== [2018-11-23 12:10:09,387 INFO L141 PredicateUnifier]: Initialized classic predicate unifier [2018-11-23 12:10:09,387 INFO L82 PathProgramCache]: Analyzing trace with hash -196644858, now seen corresponding path program 1 times [2018-11-23 12:10:09,387 INFO L223 ckRefinementStrategy]: Switched to mode SMTINTERPOL_TREE_INTERPOLANTS [2018-11-23 12:10:09,388 INFO L69 tionRefinementEngine]: Using refinement strategy CamelRefinementStrategy [2018-11-23 12:10:09,389 INFO L119 rtionOrderModulation]: Craig_TreeInterpolation forces the order to NOT_INCREMENTALLY [2018-11-23 12:10:09,389 INFO L103 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2018-11-23 12:10:09,389 INFO L119 rtionOrderModulation]: Craig_TreeInterpolation forces the order to NOT_INCREMENTALLY [2018-11-23 12:10:09,417 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2018-11-23 12:10:09,498 INFO L256 TraceCheckUtils]: 0: Hoare triple {303#true} call ULTIMATE.init(); {303#true} is VALID [2018-11-23 12:10:09,499 INFO L273 TraceCheckUtils]: 1: Hoare triple {303#true} #NULL.base, #NULL.offset := 0, 0;#valid := #valid[0 := 0];~SIZE~0 := 100000; {303#true} is VALID [2018-11-23 12:10:09,499 INFO L273 TraceCheckUtils]: 2: Hoare triple {303#true} assume true; {303#true} is VALID [2018-11-23 12:10:09,500 INFO L268 TraceCheckUtils]: 3: Hoare quadruple {303#true} {303#true} #123#return; {303#true} is VALID [2018-11-23 12:10:09,500 INFO L256 TraceCheckUtils]: 4: Hoare triple {303#true} call #t~ret13 := main(); {303#true} is VALID [2018-11-23 12:10:09,500 INFO L273 TraceCheckUtils]: 5: Hoare triple {303#true} havoc ~i~1;havoc ~pos~0;~n~0 := 0;~found~0 := 0;call ~#set~0.base, ~#set~0.offset := #Ultimate.alloc(4 * ~SIZE~0);call ~#values~0.base, ~#values~0.offset := #Ultimate.alloc(4 * ~SIZE~0);havoc ~element~0;havoc ~v~0;~v~0 := 0; {303#true} is VALID [2018-11-23 12:10:09,501 INFO L273 TraceCheckUtils]: 6: Hoare triple {303#true} assume !(~v~0 < ~SIZE~0); {303#true} is VALID [2018-11-23 12:10:09,501 INFO L273 TraceCheckUtils]: 7: Hoare triple {303#true} ~i~1 := 0; {303#true} is VALID [2018-11-23 12:10:09,501 INFO L273 TraceCheckUtils]: 8: Hoare triple {303#true} assume !(~i~1 < ~SIZE~0 && 1 != ~found~0); {303#true} is VALID [2018-11-23 12:10:09,518 INFO L273 TraceCheckUtils]: 9: Hoare triple {303#true} assume !(1 == ~found~0); {305#(not (= 1 main_~found~0))} is VALID [2018-11-23 12:10:09,534 INFO L273 TraceCheckUtils]: 10: Hoare triple {305#(not (= 1 main_~found~0))} assume 1 == ~found~0;~i~1 := 0; {304#false} is VALID [2018-11-23 12:10:09,535 INFO L273 TraceCheckUtils]: 11: Hoare triple {304#false} assume !!(~i~1 < ~SIZE~0 - 1);call #t~mem12 := read~int(~#set~0.base, ~#set~0.offset + 4 * ~i~1, 4); {304#false} is VALID [2018-11-23 12:10:09,535 INFO L256 TraceCheckUtils]: 12: Hoare triple {304#false} call __VERIFIER_assert((if #t~mem12 != ~element~0 then 1 else 0)); {304#false} is VALID [2018-11-23 12:10:09,535 INFO L273 TraceCheckUtils]: 13: Hoare triple {304#false} ~cond := #in~cond; {304#false} is VALID [2018-11-23 12:10:09,536 INFO L273 TraceCheckUtils]: 14: Hoare triple {304#false} assume 0 == ~cond; {304#false} is VALID [2018-11-23 12:10:09,536 INFO L273 TraceCheckUtils]: 15: Hoare triple {304#false} assume !false; {304#false} is VALID [2018-11-23 12:10:09,537 INFO L134 CoverageAnalysis]: Checked inductivity of 0 backedges. 0 proven. 0 refuted. 0 times theorem prover too weak. 0 trivial. 0 not checked. [2018-11-23 12:10:09,538 INFO L312 seRefinementStrategy]: Constructing automaton from 1 perfect and 0 imperfect interpolant sequences. [2018-11-23 12:10:09,538 INFO L327 seRefinementStrategy]: Number of different interpolants: perfect sequences [3] imperfect sequences [] total 3 [2018-11-23 12:10:09,540 INFO L78 Accepts]: Start accepts. Automaton has 3 states. Word has length 16 [2018-11-23 12:10:09,540 INFO L84 Accepts]: Finished accepts. word is accepted. [2018-11-23 12:10:09,540 INFO L86 InductivityCheck]: Starting indutivity check of a Floyd-Hoare automaton with 3 states. [2018-11-23 12:10:09,658 INFO L119 InductivityCheck]: Floyd-Hoare automaton has 16 edges. 16 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2018-11-23 12:10:09,658 INFO L459 AbstractCegarLoop]: Interpolant automaton has 3 states [2018-11-23 12:10:09,659 INFO L142 InterpolantAutomaton]: Constructing interpolant automaton starting with 3 interpolants. [2018-11-23 12:10:09,659 INFO L144 InterpolantAutomaton]: CoverageRelationStatistics Valid=3, Invalid=3, Unknown=0, NotChecked=0, Total=6 [2018-11-23 12:10:09,659 INFO L87 Difference]: Start difference. First operand 41 states and 49 transitions. Second operand 3 states. [2018-11-23 12:10:09,904 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2018-11-23 12:10:09,904 INFO L93 Difference]: Finished difference Result 58 states and 69 transitions. [2018-11-23 12:10:09,904 INFO L142 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 3 states. [2018-11-23 12:10:09,905 INFO L78 Accepts]: Start accepts. Automaton has 3 states. Word has length 16 [2018-11-23 12:10:09,905 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2018-11-23 12:10:09,905 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 3 states. [2018-11-23 12:10:09,911 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 3 states to 3 states and 69 transitions. [2018-11-23 12:10:09,911 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 3 states. [2018-11-23 12:10:09,917 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 3 states to 3 states and 69 transitions. [2018-11-23 12:10:09,918 INFO L86 InductivityCheck]: Starting indutivity check of a Floyd-Hoare automaton with 3 states and 69 transitions. [2018-11-23 12:10:10,073 INFO L119 InductivityCheck]: Floyd-Hoare automaton has 69 edges. 69 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2018-11-23 12:10:10,076 INFO L225 Difference]: With dead ends: 58 [2018-11-23 12:10:10,076 INFO L226 Difference]: Without dead ends: 43 [2018-11-23 12:10:10,077 INFO L631 BasicCegarLoop]: 0 DeclaredPredicates, 3 GetRequests, 2 SyntacticMatches, 0 SemanticMatches, 1 ConstructedPredicates, 0 IntricatePredicates, 0 DeprecatedPredicates, 0 ImplicationChecksByTransitivity, 0.0s TimeCoverageRelationStatistics Valid=3, Invalid=3, Unknown=0, NotChecked=0, Total=6 [2018-11-23 12:10:10,078 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 43 states. [2018-11-23 12:10:10,102 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 43 to 43. [2018-11-23 12:10:10,102 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2018-11-23 12:10:10,102 INFO L82 GeneralOperation]: Start isEquivalent. First operand 43 states. Second operand 43 states. [2018-11-23 12:10:10,102 INFO L74 IsIncluded]: Start isIncluded. First operand 43 states. Second operand 43 states. [2018-11-23 12:10:10,102 INFO L87 Difference]: Start difference. First operand 43 states. Second operand 43 states. [2018-11-23 12:10:10,106 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2018-11-23 12:10:10,107 INFO L93 Difference]: Finished difference Result 43 states and 50 transitions. [2018-11-23 12:10:10,107 INFO L276 IsEmpty]: Start isEmpty. Operand 43 states and 50 transitions. [2018-11-23 12:10:10,108 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2018-11-23 12:10:10,108 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2018-11-23 12:10:10,108 INFO L74 IsIncluded]: Start isIncluded. First operand 43 states. Second operand 43 states. [2018-11-23 12:10:10,108 INFO L87 Difference]: Start difference. First operand 43 states. Second operand 43 states. [2018-11-23 12:10:10,111 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2018-11-23 12:10:10,112 INFO L93 Difference]: Finished difference Result 43 states and 50 transitions. [2018-11-23 12:10:10,112 INFO L276 IsEmpty]: Start isEmpty. Operand 43 states and 50 transitions. [2018-11-23 12:10:10,112 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2018-11-23 12:10:10,113 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2018-11-23 12:10:10,113 INFO L88 GeneralOperation]: Finished isEquivalent. [2018-11-23 12:10:10,113 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2018-11-23 12:10:10,113 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 43 states. [2018-11-23 12:10:10,116 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 43 states to 43 states and 50 transitions. [2018-11-23 12:10:10,117 INFO L78 Accepts]: Start accepts. Automaton has 43 states and 50 transitions. Word has length 16 [2018-11-23 12:10:10,117 INFO L84 Accepts]: Finished accepts. word is rejected. [2018-11-23 12:10:10,117 INFO L480 AbstractCegarLoop]: Abstraction has 43 states and 50 transitions. [2018-11-23 12:10:10,117 INFO L481 AbstractCegarLoop]: Interpolant automaton has 3 states. [2018-11-23 12:10:10,117 INFO L276 IsEmpty]: Start isEmpty. Operand 43 states and 50 transitions. [2018-11-23 12:10:10,118 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 21 [2018-11-23 12:10:10,119 INFO L394 BasicCegarLoop]: Found error trace [2018-11-23 12:10:10,119 INFO L402 BasicCegarLoop]: trace histogram [1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1] [2018-11-23 12:10:10,119 INFO L423 AbstractCegarLoop]: === Iteration 3 === [__VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION]=== [2018-11-23 12:10:10,119 INFO L141 PredicateUnifier]: Initialized classic predicate unifier [2018-11-23 12:10:10,119 INFO L82 PathProgramCache]: Analyzing trace with hash -656593944, now seen corresponding path program 1 times [2018-11-23 12:10:10,120 INFO L223 ckRefinementStrategy]: Switched to mode SMTINTERPOL_TREE_INTERPOLANTS [2018-11-23 12:10:10,120 INFO L69 tionRefinementEngine]: Using refinement strategy CamelRefinementStrategy [2018-11-23 12:10:10,121 INFO L119 rtionOrderModulation]: Craig_TreeInterpolation forces the order to NOT_INCREMENTALLY [2018-11-23 12:10:10,121 INFO L103 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2018-11-23 12:10:10,121 INFO L119 rtionOrderModulation]: Craig_TreeInterpolation forces the order to NOT_INCREMENTALLY [2018-11-23 12:10:10,146 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2018-11-23 12:10:10,325 INFO L256 TraceCheckUtils]: 0: Hoare triple {531#true} call ULTIMATE.init(); {531#true} is VALID [2018-11-23 12:10:10,326 INFO L273 TraceCheckUtils]: 1: Hoare triple {531#true} #NULL.base, #NULL.offset := 0, 0;#valid := #valid[0 := 0];~SIZE~0 := 100000; {533#(<= 100000 ~SIZE~0)} is VALID [2018-11-23 12:10:10,327 INFO L273 TraceCheckUtils]: 2: Hoare triple {533#(<= 100000 ~SIZE~0)} assume true; {533#(<= 100000 ~SIZE~0)} is VALID [2018-11-23 12:10:10,329 INFO L268 TraceCheckUtils]: 3: Hoare quadruple {533#(<= 100000 ~SIZE~0)} {531#true} #123#return; {533#(<= 100000 ~SIZE~0)} is VALID [2018-11-23 12:10:10,330 INFO L256 TraceCheckUtils]: 4: Hoare triple {533#(<= 100000 ~SIZE~0)} call #t~ret13 := main(); {533#(<= 100000 ~SIZE~0)} is VALID [2018-11-23 12:10:10,331 INFO L273 TraceCheckUtils]: 5: Hoare triple {533#(<= 100000 ~SIZE~0)} havoc ~i~1;havoc ~pos~0;~n~0 := 0;~found~0 := 0;call ~#set~0.base, ~#set~0.offset := #Ultimate.alloc(4 * ~SIZE~0);call ~#values~0.base, ~#values~0.offset := #Ultimate.alloc(4 * ~SIZE~0);havoc ~element~0;havoc ~v~0;~v~0 := 0; {533#(<= 100000 ~SIZE~0)} is VALID [2018-11-23 12:10:10,331 INFO L273 TraceCheckUtils]: 6: Hoare triple {533#(<= 100000 ~SIZE~0)} assume !(~v~0 < ~SIZE~0); {533#(<= 100000 ~SIZE~0)} is VALID [2018-11-23 12:10:10,334 INFO L273 TraceCheckUtils]: 7: Hoare triple {533#(<= 100000 ~SIZE~0)} ~i~1 := 0; {534#(and (= 0 main_~i~1) (<= 100000 ~SIZE~0))} is VALID [2018-11-23 12:10:10,351 INFO L273 TraceCheckUtils]: 8: Hoare triple {534#(and (= 0 main_~i~1) (<= 100000 ~SIZE~0))} assume !!(~i~1 < ~SIZE~0 && 1 != ~found~0);call #t~mem8 := read~int(~#set~0.base, ~#set~0.offset + 4 * ~i~1, 4); {534#(and (= 0 main_~i~1) (<= 100000 ~SIZE~0))} is VALID [2018-11-23 12:10:10,367 INFO L273 TraceCheckUtils]: 9: Hoare triple {534#(and (= 0 main_~i~1) (<= 100000 ~SIZE~0))} assume #t~mem8 == ~element~0;havoc #t~mem8;~found~0 := 1;~pos~0 := ~i~1; {535#(and (= 0 main_~pos~0) (<= 100000 ~SIZE~0))} is VALID [2018-11-23 12:10:10,368 INFO L273 TraceCheckUtils]: 10: Hoare triple {535#(and (= 0 main_~pos~0) (<= 100000 ~SIZE~0))} #t~post7 := ~i~1;~i~1 := 1 + #t~post7;havoc #t~post7; {535#(and (= 0 main_~pos~0) (<= 100000 ~SIZE~0))} is VALID [2018-11-23 12:10:10,370 INFO L273 TraceCheckUtils]: 11: Hoare triple {535#(and (= 0 main_~pos~0) (<= 100000 ~SIZE~0))} assume !(~i~1 < ~SIZE~0 && 1 != ~found~0); {535#(and (= 0 main_~pos~0) (<= 100000 ~SIZE~0))} is VALID [2018-11-23 12:10:10,371 INFO L273 TraceCheckUtils]: 12: Hoare triple {535#(and (= 0 main_~pos~0) (<= 100000 ~SIZE~0))} assume 1 == ~found~0;~i~1 := ~pos~0; {534#(and (= 0 main_~i~1) (<= 100000 ~SIZE~0))} is VALID [2018-11-23 12:10:10,371 INFO L273 TraceCheckUtils]: 13: Hoare triple {534#(and (= 0 main_~i~1) (<= 100000 ~SIZE~0))} assume !(~i~1 < ~SIZE~0 - 1); {532#false} is VALID [2018-11-23 12:10:10,372 INFO L273 TraceCheckUtils]: 14: Hoare triple {532#false} assume 1 == ~found~0;~i~1 := 0; {532#false} is VALID [2018-11-23 12:10:10,372 INFO L273 TraceCheckUtils]: 15: Hoare triple {532#false} assume !!(~i~1 < ~SIZE~0 - 1);call #t~mem12 := read~int(~#set~0.base, ~#set~0.offset + 4 * ~i~1, 4); {532#false} is VALID [2018-11-23 12:10:10,372 INFO L256 TraceCheckUtils]: 16: Hoare triple {532#false} call __VERIFIER_assert((if #t~mem12 != ~element~0 then 1 else 0)); {532#false} is VALID [2018-11-23 12:10:10,373 INFO L273 TraceCheckUtils]: 17: Hoare triple {532#false} ~cond := #in~cond; {532#false} is VALID [2018-11-23 12:10:10,373 INFO L273 TraceCheckUtils]: 18: Hoare triple {532#false} assume 0 == ~cond; {532#false} is VALID [2018-11-23 12:10:10,374 INFO L273 TraceCheckUtils]: 19: Hoare triple {532#false} assume !false; {532#false} is VALID [2018-11-23 12:10:10,376 INFO L134 CoverageAnalysis]: Checked inductivity of 1 backedges. 0 proven. 1 refuted. 0 times theorem prover too weak. 0 trivial. 0 not checked. [2018-11-23 12:10:10,376 INFO L300 seRefinementStrategy]: The current sequences of interpolants are not accepted, trying to find more. [2018-11-23 12:10:10,376 INFO L223 ckRefinementStrategy]: Switched to mode Z3_FP No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 Starting monitored process 2 with z3 -smt2 -in SMTLIB2_COMPLIANT=true -t:12000 (exit command is (exit), workingDir is null) Waiting until toolchain timeout for monitored process 2 with z3 -smt2 -in SMTLIB2_COMPLIANT=true -t:12000 [2018-11-23 12:10:10,389 INFO L103 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2018-11-23 12:10:10,432 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2018-11-23 12:10:10,458 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2018-11-23 12:10:10,464 INFO L273 TraceCheckSpWp]: Computing forward predicates... [2018-11-23 12:10:10,617 INFO L256 TraceCheckUtils]: 0: Hoare triple {531#true} call ULTIMATE.init(); {531#true} is VALID [2018-11-23 12:10:10,618 INFO L273 TraceCheckUtils]: 1: Hoare triple {531#true} #NULL.base, #NULL.offset := 0, 0;#valid := #valid[0 := 0];~SIZE~0 := 100000; {533#(<= 100000 ~SIZE~0)} is VALID [2018-11-23 12:10:10,619 INFO L273 TraceCheckUtils]: 2: Hoare triple {533#(<= 100000 ~SIZE~0)} assume true; {533#(<= 100000 ~SIZE~0)} is VALID [2018-11-23 12:10:10,620 INFO L268 TraceCheckUtils]: 3: Hoare quadruple {533#(<= 100000 ~SIZE~0)} {531#true} #123#return; {533#(<= 100000 ~SIZE~0)} is VALID [2018-11-23 12:10:10,621 INFO L256 TraceCheckUtils]: 4: Hoare triple {533#(<= 100000 ~SIZE~0)} call #t~ret13 := main(); {533#(<= 100000 ~SIZE~0)} is VALID [2018-11-23 12:10:10,622 INFO L273 TraceCheckUtils]: 5: Hoare triple {533#(<= 100000 ~SIZE~0)} havoc ~i~1;havoc ~pos~0;~n~0 := 0;~found~0 := 0;call ~#set~0.base, ~#set~0.offset := #Ultimate.alloc(4 * ~SIZE~0);call ~#values~0.base, ~#values~0.offset := #Ultimate.alloc(4 * ~SIZE~0);havoc ~element~0;havoc ~v~0;~v~0 := 0; {554#(and (<= main_~v~0 0) (<= 100000 ~SIZE~0))} is VALID [2018-11-23 12:10:10,624 INFO L273 TraceCheckUtils]: 6: Hoare triple {554#(and (<= main_~v~0 0) (<= 100000 ~SIZE~0))} assume !(~v~0 < ~SIZE~0); {532#false} is VALID [2018-11-23 12:10:10,624 INFO L273 TraceCheckUtils]: 7: Hoare triple {532#false} ~i~1 := 0; {532#false} is VALID [2018-11-23 12:10:10,625 INFO L273 TraceCheckUtils]: 8: Hoare triple {532#false} assume !!(~i~1 < ~SIZE~0 && 1 != ~found~0);call #t~mem8 := read~int(~#set~0.base, ~#set~0.offset + 4 * ~i~1, 4); {532#false} is VALID [2018-11-23 12:10:10,625 INFO L273 TraceCheckUtils]: 9: Hoare triple {532#false} assume #t~mem8 == ~element~0;havoc #t~mem8;~found~0 := 1;~pos~0 := ~i~1; {532#false} is VALID [2018-11-23 12:10:10,626 INFO L273 TraceCheckUtils]: 10: Hoare triple {532#false} #t~post7 := ~i~1;~i~1 := 1 + #t~post7;havoc #t~post7; {532#false} is VALID [2018-11-23 12:10:10,626 INFO L273 TraceCheckUtils]: 11: Hoare triple {532#false} assume !(~i~1 < ~SIZE~0 && 1 != ~found~0); {532#false} is VALID [2018-11-23 12:10:10,627 INFO L273 TraceCheckUtils]: 12: Hoare triple {532#false} assume 1 == ~found~0;~i~1 := ~pos~0; {532#false} is VALID [2018-11-23 12:10:10,627 INFO L273 TraceCheckUtils]: 13: Hoare triple {532#false} assume !(~i~1 < ~SIZE~0 - 1); {532#false} is VALID [2018-11-23 12:10:10,627 INFO L273 TraceCheckUtils]: 14: Hoare triple {532#false} assume 1 == ~found~0;~i~1 := 0; {532#false} is VALID [2018-11-23 12:10:10,628 INFO L273 TraceCheckUtils]: 15: Hoare triple {532#false} assume !!(~i~1 < ~SIZE~0 - 1);call #t~mem12 := read~int(~#set~0.base, ~#set~0.offset + 4 * ~i~1, 4); {532#false} is VALID [2018-11-23 12:10:10,628 INFO L256 TraceCheckUtils]: 16: Hoare triple {532#false} call __VERIFIER_assert((if #t~mem12 != ~element~0 then 1 else 0)); {532#false} is VALID [2018-11-23 12:10:10,628 INFO L273 TraceCheckUtils]: 17: Hoare triple {532#false} ~cond := #in~cond; {532#false} is VALID [2018-11-23 12:10:10,629 INFO L273 TraceCheckUtils]: 18: Hoare triple {532#false} assume 0 == ~cond; {532#false} is VALID [2018-11-23 12:10:10,629 INFO L273 TraceCheckUtils]: 19: Hoare triple {532#false} assume !false; {532#false} is VALID [2018-11-23 12:10:10,630 INFO L134 CoverageAnalysis]: Checked inductivity of 1 backedges. 0 proven. 0 refuted. 0 times theorem prover too weak. 1 trivial. 0 not checked. [2018-11-23 12:10:10,650 INFO L312 seRefinementStrategy]: Constructing automaton from 1 perfect and 1 imperfect interpolant sequences. [2018-11-23 12:10:10,651 INFO L327 seRefinementStrategy]: Number of different interpolants: perfect sequences [4] imperfect sequences [5] total 6 [2018-11-23 12:10:10,652 INFO L78 Accepts]: Start accepts. Automaton has 6 states. Word has length 20 [2018-11-23 12:10:10,652 INFO L84 Accepts]: Finished accepts. word is accepted. [2018-11-23 12:10:10,652 INFO L86 InductivityCheck]: Starting indutivity check of a Floyd-Hoare automaton with 6 states. [2018-11-23 12:10:10,712 INFO L119 InductivityCheck]: Floyd-Hoare automaton has 29 edges. 29 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2018-11-23 12:10:10,712 INFO L459 AbstractCegarLoop]: Interpolant automaton has 6 states [2018-11-23 12:10:10,713 INFO L142 InterpolantAutomaton]: Constructing interpolant automaton starting with 6 interpolants. [2018-11-23 12:10:10,713 INFO L144 InterpolantAutomaton]: CoverageRelationStatistics Valid=12, Invalid=18, Unknown=0, NotChecked=0, Total=30 [2018-11-23 12:10:10,713 INFO L87 Difference]: Start difference. First operand 43 states and 50 transitions. Second operand 6 states. [2018-11-23 12:10:11,732 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2018-11-23 12:10:11,732 INFO L93 Difference]: Finished difference Result 96 states and 118 transitions. [2018-11-23 12:10:11,732 INFO L142 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 7 states. [2018-11-23 12:10:11,733 INFO L78 Accepts]: Start accepts. Automaton has 6 states. Word has length 20 [2018-11-23 12:10:11,733 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2018-11-23 12:10:11,733 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 6 states. [2018-11-23 12:10:11,738 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 7 states to 7 states and 113 transitions. [2018-11-23 12:10:11,738 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 6 states. [2018-11-23 12:10:11,743 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 7 states to 7 states and 113 transitions. [2018-11-23 12:10:11,743 INFO L86 InductivityCheck]: Starting indutivity check of a Floyd-Hoare automaton with 7 states and 113 transitions. [2018-11-23 12:10:12,057 INFO L119 InductivityCheck]: Floyd-Hoare automaton has 113 edges. 113 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2018-11-23 12:10:12,062 INFO L225 Difference]: With dead ends: 96 [2018-11-23 12:10:12,063 INFO L226 Difference]: Without dead ends: 76 [2018-11-23 12:10:12,063 INFO L631 BasicCegarLoop]: 0 DeclaredPredicates, 26 GetRequests, 20 SyntacticMatches, 1 SemanticMatches, 5 ConstructedPredicates, 0 IntricatePredicates, 0 DeprecatedPredicates, 0 ImplicationChecksByTransitivity, 0.1s TimeCoverageRelationStatistics Valid=17, Invalid=25, Unknown=0, NotChecked=0, Total=42 [2018-11-23 12:10:12,064 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 76 states. [2018-11-23 12:10:12,145 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 76 to 50. [2018-11-23 12:10:12,145 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2018-11-23 12:10:12,146 INFO L82 GeneralOperation]: Start isEquivalent. First operand 76 states. Second operand 50 states. [2018-11-23 12:10:12,146 INFO L74 IsIncluded]: Start isIncluded. First operand 76 states. Second operand 50 states. [2018-11-23 12:10:12,146 INFO L87 Difference]: Start difference. First operand 76 states. Second operand 50 states. [2018-11-23 12:10:12,153 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2018-11-23 12:10:12,153 INFO L93 Difference]: Finished difference Result 76 states and 93 transitions. [2018-11-23 12:10:12,153 INFO L276 IsEmpty]: Start isEmpty. Operand 76 states and 93 transitions. [2018-11-23 12:10:12,155 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2018-11-23 12:10:12,155 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2018-11-23 12:10:12,155 INFO L74 IsIncluded]: Start isIncluded. First operand 50 states. Second operand 76 states. [2018-11-23 12:10:12,156 INFO L87 Difference]: Start difference. First operand 50 states. Second operand 76 states. [2018-11-23 12:10:12,160 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2018-11-23 12:10:12,161 INFO L93 Difference]: Finished difference Result 76 states and 93 transitions. [2018-11-23 12:10:12,161 INFO L276 IsEmpty]: Start isEmpty. Operand 76 states and 93 transitions. [2018-11-23 12:10:12,162 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2018-11-23 12:10:12,162 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2018-11-23 12:10:12,163 INFO L88 GeneralOperation]: Finished isEquivalent. [2018-11-23 12:10:12,163 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2018-11-23 12:10:12,163 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 50 states. [2018-11-23 12:10:12,166 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 50 states to 50 states and 59 transitions. [2018-11-23 12:10:12,166 INFO L78 Accepts]: Start accepts. Automaton has 50 states and 59 transitions. Word has length 20 [2018-11-23 12:10:12,166 INFO L84 Accepts]: Finished accepts. word is rejected. [2018-11-23 12:10:12,166 INFO L480 AbstractCegarLoop]: Abstraction has 50 states and 59 transitions. [2018-11-23 12:10:12,166 INFO L481 AbstractCegarLoop]: Interpolant automaton has 6 states. [2018-11-23 12:10:12,167 INFO L276 IsEmpty]: Start isEmpty. Operand 50 states and 59 transitions. [2018-11-23 12:10:12,168 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 33 [2018-11-23 12:10:12,168 INFO L394 BasicCegarLoop]: Found error trace [2018-11-23 12:10:12,168 INFO L402 BasicCegarLoop]: trace histogram [1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1] [2018-11-23 12:10:12,169 INFO L423 AbstractCegarLoop]: === Iteration 4 === [__VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION]=== [2018-11-23 12:10:12,169 INFO L141 PredicateUnifier]: Initialized classic predicate unifier [2018-11-23 12:10:12,169 INFO L82 PathProgramCache]: Analyzing trace with hash 213693776, now seen corresponding path program 1 times [2018-11-23 12:10:12,169 INFO L223 ckRefinementStrategy]: Switched to mode SMTINTERPOL_TREE_INTERPOLANTS [2018-11-23 12:10:12,169 INFO L69 tionRefinementEngine]: Using refinement strategy CamelRefinementStrategy [2018-11-23 12:10:12,170 INFO L119 rtionOrderModulation]: Craig_TreeInterpolation forces the order to NOT_INCREMENTALLY [2018-11-23 12:10:12,171 INFO L103 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2018-11-23 12:10:12,171 INFO L119 rtionOrderModulation]: Craig_TreeInterpolation forces the order to NOT_INCREMENTALLY [2018-11-23 12:10:12,190 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2018-11-23 12:10:12,275 INFO L256 TraceCheckUtils]: 0: Hoare triple {952#true} call ULTIMATE.init(); {952#true} is VALID [2018-11-23 12:10:12,275 INFO L273 TraceCheckUtils]: 1: Hoare triple {952#true} #NULL.base, #NULL.offset := 0, 0;#valid := #valid[0 := 0];~SIZE~0 := 100000; {952#true} is VALID [2018-11-23 12:10:12,276 INFO L273 TraceCheckUtils]: 2: Hoare triple {952#true} assume true; {952#true} is VALID [2018-11-23 12:10:12,276 INFO L268 TraceCheckUtils]: 3: Hoare quadruple {952#true} {952#true} #123#return; {952#true} is VALID [2018-11-23 12:10:12,276 INFO L256 TraceCheckUtils]: 4: Hoare triple {952#true} call #t~ret13 := main(); {952#true} is VALID [2018-11-23 12:10:12,276 INFO L273 TraceCheckUtils]: 5: Hoare triple {952#true} havoc ~i~1;havoc ~pos~0;~n~0 := 0;~found~0 := 0;call ~#set~0.base, ~#set~0.offset := #Ultimate.alloc(4 * ~SIZE~0);call ~#values~0.base, ~#values~0.offset := #Ultimate.alloc(4 * ~SIZE~0);havoc ~element~0;havoc ~v~0;~v~0 := 0; {952#true} is VALID [2018-11-23 12:10:12,277 INFO L273 TraceCheckUtils]: 6: Hoare triple {952#true} assume !!(~v~0 < ~SIZE~0);call #t~mem3 := read~int(~#values~0.base, ~#values~0.offset + 4 * ~v~0, 4); {952#true} is VALID [2018-11-23 12:10:12,277 INFO L256 TraceCheckUtils]: 7: Hoare triple {952#true} call #t~ret4 := elem_exists(~#set~0.base, ~#set~0.offset, ~n~0, #t~mem3); {952#true} is VALID [2018-11-23 12:10:12,277 INFO L273 TraceCheckUtils]: 8: Hoare triple {952#true} ~set.base, ~set.offset := #in~set.base, #in~set.offset;~size := #in~size;~value := #in~value;havoc ~i~0;~i~0 := 0; {952#true} is VALID [2018-11-23 12:10:12,277 INFO L273 TraceCheckUtils]: 9: Hoare triple {952#true} assume !(~i~0 < ~size); {952#true} is VALID [2018-11-23 12:10:12,279 INFO L273 TraceCheckUtils]: 10: Hoare triple {952#true} #res := 0; {954#(= 0 |elem_exists_#res|)} is VALID [2018-11-23 12:10:12,280 INFO L273 TraceCheckUtils]: 11: Hoare triple {954#(= 0 |elem_exists_#res|)} assume true; {954#(= 0 |elem_exists_#res|)} is VALID [2018-11-23 12:10:12,281 INFO L268 TraceCheckUtils]: 12: Hoare quadruple {954#(= 0 |elem_exists_#res|)} {952#true} #127#return; {955#(= |main_#t~ret4| 0)} is VALID [2018-11-23 12:10:12,285 INFO L273 TraceCheckUtils]: 13: Hoare triple {955#(= |main_#t~ret4| 0)} assume -2147483648 <= #t~ret4 && #t~ret4 <= 2147483647; {955#(= |main_#t~ret4| 0)} is VALID [2018-11-23 12:10:12,286 INFO L273 TraceCheckUtils]: 14: Hoare triple {955#(= |main_#t~ret4| 0)} assume !(1 != #t~ret4);havoc #t~ret4;havoc #t~mem3; {953#false} is VALID [2018-11-23 12:10:12,286 INFO L273 TraceCheckUtils]: 15: Hoare triple {953#false} #t~post2 := ~v~0;~v~0 := 1 + #t~post2;havoc #t~post2; {953#false} is VALID [2018-11-23 12:10:12,287 INFO L273 TraceCheckUtils]: 16: Hoare triple {953#false} assume !(~v~0 < ~SIZE~0); {953#false} is VALID [2018-11-23 12:10:12,287 INFO L273 TraceCheckUtils]: 17: Hoare triple {953#false} ~i~1 := 0; {953#false} is VALID [2018-11-23 12:10:12,287 INFO L273 TraceCheckUtils]: 18: Hoare triple {953#false} assume !!(~i~1 < ~SIZE~0 && 1 != ~found~0);call #t~mem8 := read~int(~#set~0.base, ~#set~0.offset + 4 * ~i~1, 4); {953#false} is VALID [2018-11-23 12:10:12,288 INFO L273 TraceCheckUtils]: 19: Hoare triple {953#false} assume #t~mem8 == ~element~0;havoc #t~mem8;~found~0 := 1;~pos~0 := ~i~1; {953#false} is VALID [2018-11-23 12:10:12,288 INFO L273 TraceCheckUtils]: 20: Hoare triple {953#false} #t~post7 := ~i~1;~i~1 := 1 + #t~post7;havoc #t~post7; {953#false} is VALID [2018-11-23 12:10:12,288 INFO L273 TraceCheckUtils]: 21: Hoare triple {953#false} assume !(~i~1 < ~SIZE~0 && 1 != ~found~0); {953#false} is VALID [2018-11-23 12:10:12,288 INFO L273 TraceCheckUtils]: 22: Hoare triple {953#false} assume 1 == ~found~0;~i~1 := ~pos~0; {953#false} is VALID [2018-11-23 12:10:12,288 INFO L273 TraceCheckUtils]: 23: Hoare triple {953#false} assume !!(~i~1 < ~SIZE~0 - 1);call #t~mem10 := read~int(~#set~0.base, ~#set~0.offset + 4 * (1 + ~i~1), 4);call write~int(#t~mem10, ~#set~0.base, ~#set~0.offset + 4 * ~i~1, 4);havoc #t~mem10; {953#false} is VALID [2018-11-23 12:10:12,289 INFO L273 TraceCheckUtils]: 24: Hoare triple {953#false} #t~post9 := ~i~1;~i~1 := 1 + #t~post9;havoc #t~post9; {953#false} is VALID [2018-11-23 12:10:12,289 INFO L273 TraceCheckUtils]: 25: Hoare triple {953#false} assume !(~i~1 < ~SIZE~0 - 1); {953#false} is VALID [2018-11-23 12:10:12,289 INFO L273 TraceCheckUtils]: 26: Hoare triple {953#false} assume 1 == ~found~0;~i~1 := 0; {953#false} is VALID [2018-11-23 12:10:12,289 INFO L273 TraceCheckUtils]: 27: Hoare triple {953#false} assume !!(~i~1 < ~SIZE~0 - 1);call #t~mem12 := read~int(~#set~0.base, ~#set~0.offset + 4 * ~i~1, 4); {953#false} is VALID [2018-11-23 12:10:12,290 INFO L256 TraceCheckUtils]: 28: Hoare triple {953#false} call __VERIFIER_assert((if #t~mem12 != ~element~0 then 1 else 0)); {953#false} is VALID [2018-11-23 12:10:12,290 INFO L273 TraceCheckUtils]: 29: Hoare triple {953#false} ~cond := #in~cond; {953#false} is VALID [2018-11-23 12:10:12,290 INFO L273 TraceCheckUtils]: 30: Hoare triple {953#false} assume 0 == ~cond; {953#false} is VALID [2018-11-23 12:10:12,291 INFO L273 TraceCheckUtils]: 31: Hoare triple {953#false} assume !false; {953#false} is VALID [2018-11-23 12:10:12,292 INFO L134 CoverageAnalysis]: Checked inductivity of 3 backedges. 1 proven. 0 refuted. 0 times theorem prover too weak. 2 trivial. 0 not checked. [2018-11-23 12:10:12,293 INFO L312 seRefinementStrategy]: Constructing automaton from 1 perfect and 0 imperfect interpolant sequences. [2018-11-23 12:10:12,293 INFO L327 seRefinementStrategy]: Number of different interpolants: perfect sequences [4] imperfect sequences [] total 4 [2018-11-23 12:10:12,293 INFO L78 Accepts]: Start accepts. Automaton has 4 states. Word has length 32 [2018-11-23 12:10:12,294 INFO L84 Accepts]: Finished accepts. word is accepted. [2018-11-23 12:10:12,294 INFO L86 InductivityCheck]: Starting indutivity check of a Floyd-Hoare automaton with 4 states. [2018-11-23 12:10:12,333 INFO L119 InductivityCheck]: Floyd-Hoare automaton has 32 edges. 32 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2018-11-23 12:10:12,334 INFO L459 AbstractCegarLoop]: Interpolant automaton has 4 states [2018-11-23 12:10:12,334 INFO L142 InterpolantAutomaton]: Constructing interpolant automaton starting with 4 interpolants. [2018-11-23 12:10:12,334 INFO L144 InterpolantAutomaton]: CoverageRelationStatistics Valid=5, Invalid=7, Unknown=0, NotChecked=0, Total=12 [2018-11-23 12:10:12,335 INFO L87 Difference]: Start difference. First operand 50 states and 59 transitions. Second operand 4 states. [2018-11-23 12:10:12,554 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2018-11-23 12:10:12,554 INFO L93 Difference]: Finished difference Result 97 states and 116 transitions. [2018-11-23 12:10:12,554 INFO L142 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 4 states. [2018-11-23 12:10:12,554 INFO L78 Accepts]: Start accepts. Automaton has 4 states. Word has length 32 [2018-11-23 12:10:12,555 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2018-11-23 12:10:12,555 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 4 states. [2018-11-23 12:10:12,558 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 4 states to 4 states and 95 transitions. [2018-11-23 12:10:12,558 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 4 states. [2018-11-23 12:10:12,561 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 4 states to 4 states and 95 transitions. [2018-11-23 12:10:12,561 INFO L86 InductivityCheck]: Starting indutivity check of a Floyd-Hoare automaton with 4 states and 95 transitions. [2018-11-23 12:10:12,716 INFO L119 InductivityCheck]: Floyd-Hoare automaton has 95 edges. 95 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2018-11-23 12:10:12,718 INFO L225 Difference]: With dead ends: 97 [2018-11-23 12:10:12,718 INFO L226 Difference]: Without dead ends: 54 [2018-11-23 12:10:12,719 INFO L631 BasicCegarLoop]: 0 DeclaredPredicates, 4 GetRequests, 2 SyntacticMatches, 0 SemanticMatches, 2 ConstructedPredicates, 0 IntricatePredicates, 0 DeprecatedPredicates, 0 ImplicationChecksByTransitivity, 0.0s TimeCoverageRelationStatistics Valid=5, Invalid=7, Unknown=0, NotChecked=0, Total=12 [2018-11-23 12:10:12,719 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 54 states. [2018-11-23 12:10:12,772 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 54 to 54. [2018-11-23 12:10:12,772 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2018-11-23 12:10:12,772 INFO L82 GeneralOperation]: Start isEquivalent. First operand 54 states. Second operand 54 states. [2018-11-23 12:10:12,772 INFO L74 IsIncluded]: Start isIncluded. First operand 54 states. Second operand 54 states. [2018-11-23 12:10:12,773 INFO L87 Difference]: Start difference. First operand 54 states. Second operand 54 states. [2018-11-23 12:10:12,775 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2018-11-23 12:10:12,775 INFO L93 Difference]: Finished difference Result 54 states and 63 transitions. [2018-11-23 12:10:12,776 INFO L276 IsEmpty]: Start isEmpty. Operand 54 states and 63 transitions. [2018-11-23 12:10:12,776 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2018-11-23 12:10:12,776 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2018-11-23 12:10:12,776 INFO L74 IsIncluded]: Start isIncluded. First operand 54 states. Second operand 54 states. [2018-11-23 12:10:12,777 INFO L87 Difference]: Start difference. First operand 54 states. Second operand 54 states. [2018-11-23 12:10:12,779 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2018-11-23 12:10:12,780 INFO L93 Difference]: Finished difference Result 54 states and 63 transitions. [2018-11-23 12:10:12,780 INFO L276 IsEmpty]: Start isEmpty. Operand 54 states and 63 transitions. [2018-11-23 12:10:12,780 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2018-11-23 12:10:12,781 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2018-11-23 12:10:12,781 INFO L88 GeneralOperation]: Finished isEquivalent. [2018-11-23 12:10:12,781 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2018-11-23 12:10:12,781 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 54 states. [2018-11-23 12:10:12,784 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 54 states to 54 states and 63 transitions. [2018-11-23 12:10:12,784 INFO L78 Accepts]: Start accepts. Automaton has 54 states and 63 transitions. Word has length 32 [2018-11-23 12:10:12,784 INFO L84 Accepts]: Finished accepts. word is rejected. [2018-11-23 12:10:12,784 INFO L480 AbstractCegarLoop]: Abstraction has 54 states and 63 transitions. [2018-11-23 12:10:12,784 INFO L481 AbstractCegarLoop]: Interpolant automaton has 4 states. [2018-11-23 12:10:12,785 INFO L276 IsEmpty]: Start isEmpty. Operand 54 states and 63 transitions. [2018-11-23 12:10:12,785 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 33 [2018-11-23 12:10:12,786 INFO L394 BasicCegarLoop]: Found error trace [2018-11-23 12:10:12,786 INFO L402 BasicCegarLoop]: trace histogram [1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1] [2018-11-23 12:10:12,786 INFO L423 AbstractCegarLoop]: === Iteration 5 === [__VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION]=== [2018-11-23 12:10:12,786 INFO L141 PredicateUnifier]: Initialized classic predicate unifier [2018-11-23 12:10:12,787 INFO L82 PathProgramCache]: Analyzing trace with hash -210252423, now seen corresponding path program 1 times [2018-11-23 12:10:12,787 INFO L223 ckRefinementStrategy]: Switched to mode SMTINTERPOL_TREE_INTERPOLANTS [2018-11-23 12:10:12,787 INFO L69 tionRefinementEngine]: Using refinement strategy CamelRefinementStrategy [2018-11-23 12:10:12,788 INFO L119 rtionOrderModulation]: Craig_TreeInterpolation forces the order to NOT_INCREMENTALLY [2018-11-23 12:10:12,788 INFO L103 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2018-11-23 12:10:12,788 INFO L119 rtionOrderModulation]: Craig_TreeInterpolation forces the order to NOT_INCREMENTALLY [2018-11-23 12:10:12,809 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2018-11-23 12:10:12,992 INFO L256 TraceCheckUtils]: 0: Hoare triple {1272#true} call ULTIMATE.init(); {1272#true} is VALID [2018-11-23 12:10:12,993 INFO L273 TraceCheckUtils]: 1: Hoare triple {1272#true} #NULL.base, #NULL.offset := 0, 0;#valid := #valid[0 := 0];~SIZE~0 := 100000; {1274#(<= 100000 ~SIZE~0)} is VALID [2018-11-23 12:10:12,999 INFO L273 TraceCheckUtils]: 2: Hoare triple {1274#(<= 100000 ~SIZE~0)} assume true; {1274#(<= 100000 ~SIZE~0)} is VALID [2018-11-23 12:10:13,000 INFO L268 TraceCheckUtils]: 3: Hoare quadruple {1274#(<= 100000 ~SIZE~0)} {1272#true} #123#return; {1274#(<= 100000 ~SIZE~0)} is VALID [2018-11-23 12:10:13,000 INFO L256 TraceCheckUtils]: 4: Hoare triple {1274#(<= 100000 ~SIZE~0)} call #t~ret13 := main(); {1274#(<= 100000 ~SIZE~0)} is VALID [2018-11-23 12:10:13,001 INFO L273 TraceCheckUtils]: 5: Hoare triple {1274#(<= 100000 ~SIZE~0)} havoc ~i~1;havoc ~pos~0;~n~0 := 0;~found~0 := 0;call ~#set~0.base, ~#set~0.offset := #Ultimate.alloc(4 * ~SIZE~0);call ~#values~0.base, ~#values~0.offset := #Ultimate.alloc(4 * ~SIZE~0);havoc ~element~0;havoc ~v~0;~v~0 := 0; {1274#(<= 100000 ~SIZE~0)} is VALID [2018-11-23 12:10:13,001 INFO L273 TraceCheckUtils]: 6: Hoare triple {1274#(<= 100000 ~SIZE~0)} assume !!(~v~0 < ~SIZE~0);call #t~mem3 := read~int(~#values~0.base, ~#values~0.offset + 4 * ~v~0, 4); {1274#(<= 100000 ~SIZE~0)} is VALID [2018-11-23 12:10:13,002 INFO L256 TraceCheckUtils]: 7: Hoare triple {1274#(<= 100000 ~SIZE~0)} call #t~ret4 := elem_exists(~#set~0.base, ~#set~0.offset, ~n~0, #t~mem3); {1272#true} is VALID [2018-11-23 12:10:13,002 INFO L273 TraceCheckUtils]: 8: Hoare triple {1272#true} ~set.base, ~set.offset := #in~set.base, #in~set.offset;~size := #in~size;~value := #in~value;havoc ~i~0;~i~0 := 0; {1272#true} is VALID [2018-11-23 12:10:13,002 INFO L273 TraceCheckUtils]: 9: Hoare triple {1272#true} assume !!(~i~0 < ~size);call #t~mem1 := read~int(~set.base, ~set.offset + 4 * ~i~0, 4); {1272#true} is VALID [2018-11-23 12:10:13,002 INFO L273 TraceCheckUtils]: 10: Hoare triple {1272#true} assume #t~mem1 == ~value;havoc #t~mem1;#res := 1; {1272#true} is VALID [2018-11-23 12:10:13,003 INFO L273 TraceCheckUtils]: 11: Hoare triple {1272#true} assume true; {1272#true} is VALID [2018-11-23 12:10:13,004 INFO L268 TraceCheckUtils]: 12: Hoare quadruple {1272#true} {1274#(<= 100000 ~SIZE~0)} #127#return; {1274#(<= 100000 ~SIZE~0)} is VALID [2018-11-23 12:10:13,004 INFO L273 TraceCheckUtils]: 13: Hoare triple {1274#(<= 100000 ~SIZE~0)} assume -2147483648 <= #t~ret4 && #t~ret4 <= 2147483647; {1274#(<= 100000 ~SIZE~0)} is VALID [2018-11-23 12:10:13,005 INFO L273 TraceCheckUtils]: 14: Hoare triple {1274#(<= 100000 ~SIZE~0)} assume !(1 != #t~ret4);havoc #t~ret4;havoc #t~mem3; {1274#(<= 100000 ~SIZE~0)} is VALID [2018-11-23 12:10:13,006 INFO L273 TraceCheckUtils]: 15: Hoare triple {1274#(<= 100000 ~SIZE~0)} #t~post2 := ~v~0;~v~0 := 1 + #t~post2;havoc #t~post2; {1274#(<= 100000 ~SIZE~0)} is VALID [2018-11-23 12:10:13,007 INFO L273 TraceCheckUtils]: 16: Hoare triple {1274#(<= 100000 ~SIZE~0)} assume !(~v~0 < ~SIZE~0); {1274#(<= 100000 ~SIZE~0)} is VALID [2018-11-23 12:10:13,023 INFO L273 TraceCheckUtils]: 17: Hoare triple {1274#(<= 100000 ~SIZE~0)} ~i~1 := 0; {1275#(and (= 0 main_~i~1) (<= 100000 ~SIZE~0))} is VALID [2018-11-23 12:10:13,025 INFO L273 TraceCheckUtils]: 18: Hoare triple {1275#(and (= 0 main_~i~1) (<= 100000 ~SIZE~0))} assume !!(~i~1 < ~SIZE~0 && 1 != ~found~0);call #t~mem8 := read~int(~#set~0.base, ~#set~0.offset + 4 * ~i~1, 4); {1275#(and (= 0 main_~i~1) (<= 100000 ~SIZE~0))} is VALID [2018-11-23 12:10:13,028 INFO L273 TraceCheckUtils]: 19: Hoare triple {1275#(and (= 0 main_~i~1) (<= 100000 ~SIZE~0))} assume #t~mem8 == ~element~0;havoc #t~mem8;~found~0 := 1;~pos~0 := ~i~1; {1276#(and (= 0 main_~pos~0) (<= 100000 ~SIZE~0))} is VALID [2018-11-23 12:10:13,029 INFO L273 TraceCheckUtils]: 20: Hoare triple {1276#(and (= 0 main_~pos~0) (<= 100000 ~SIZE~0))} #t~post7 := ~i~1;~i~1 := 1 + #t~post7;havoc #t~post7; {1276#(and (= 0 main_~pos~0) (<= 100000 ~SIZE~0))} is VALID [2018-11-23 12:10:13,030 INFO L273 TraceCheckUtils]: 21: Hoare triple {1276#(and (= 0 main_~pos~0) (<= 100000 ~SIZE~0))} assume !(~i~1 < ~SIZE~0 && 1 != ~found~0); {1276#(and (= 0 main_~pos~0) (<= 100000 ~SIZE~0))} is VALID [2018-11-23 12:10:13,030 INFO L273 TraceCheckUtils]: 22: Hoare triple {1276#(and (= 0 main_~pos~0) (<= 100000 ~SIZE~0))} assume 1 == ~found~0;~i~1 := ~pos~0; {1275#(and (= 0 main_~i~1) (<= 100000 ~SIZE~0))} is VALID [2018-11-23 12:10:13,035 INFO L273 TraceCheckUtils]: 23: Hoare triple {1275#(and (= 0 main_~i~1) (<= 100000 ~SIZE~0))} assume !!(~i~1 < ~SIZE~0 - 1);call #t~mem10 := read~int(~#set~0.base, ~#set~0.offset + 4 * (1 + ~i~1), 4);call write~int(#t~mem10, ~#set~0.base, ~#set~0.offset + 4 * ~i~1, 4);havoc #t~mem10; {1275#(and (= 0 main_~i~1) (<= 100000 ~SIZE~0))} is VALID [2018-11-23 12:10:13,039 INFO L273 TraceCheckUtils]: 24: Hoare triple {1275#(and (= 0 main_~i~1) (<= 100000 ~SIZE~0))} #t~post9 := ~i~1;~i~1 := 1 + #t~post9;havoc #t~post9; {1277#(<= (+ main_~i~1 99999) ~SIZE~0)} is VALID [2018-11-23 12:10:13,040 INFO L273 TraceCheckUtils]: 25: Hoare triple {1277#(<= (+ main_~i~1 99999) ~SIZE~0)} assume !(~i~1 < ~SIZE~0 - 1); {1273#false} is VALID [2018-11-23 12:10:13,040 INFO L273 TraceCheckUtils]: 26: Hoare triple {1273#false} assume 1 == ~found~0;~i~1 := 0; {1273#false} is VALID [2018-11-23 12:10:13,040 INFO L273 TraceCheckUtils]: 27: Hoare triple {1273#false} assume !!(~i~1 < ~SIZE~0 - 1);call #t~mem12 := read~int(~#set~0.base, ~#set~0.offset + 4 * ~i~1, 4); {1273#false} is VALID [2018-11-23 12:10:13,040 INFO L256 TraceCheckUtils]: 28: Hoare triple {1273#false} call __VERIFIER_assert((if #t~mem12 != ~element~0 then 1 else 0)); {1273#false} is VALID [2018-11-23 12:10:13,041 INFO L273 TraceCheckUtils]: 29: Hoare triple {1273#false} ~cond := #in~cond; {1273#false} is VALID [2018-11-23 12:10:13,041 INFO L273 TraceCheckUtils]: 30: Hoare triple {1273#false} assume 0 == ~cond; {1273#false} is VALID [2018-11-23 12:10:13,041 INFO L273 TraceCheckUtils]: 31: Hoare triple {1273#false} assume !false; {1273#false} is VALID [2018-11-23 12:10:13,044 INFO L134 CoverageAnalysis]: Checked inductivity of 3 backedges. 0 proven. 2 refuted. 0 times theorem prover too weak. 1 trivial. 0 not checked. [2018-11-23 12:10:13,045 INFO L300 seRefinementStrategy]: The current sequences of interpolants are not accepted, trying to find more. [2018-11-23 12:10:13,045 INFO L223 ckRefinementStrategy]: Switched to mode Z3_FP No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 Starting monitored process 3 with z3 -smt2 -in SMTLIB2_COMPLIANT=true -t:12000 (exit command is (exit), workingDir is null) Waiting until toolchain timeout for monitored process 3 with z3 -smt2 -in SMTLIB2_COMPLIANT=true -t:12000 [2018-11-23 12:10:13,065 INFO L103 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2018-11-23 12:10:13,091 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2018-11-23 12:10:13,122 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2018-11-23 12:10:13,123 INFO L273 TraceCheckSpWp]: Computing forward predicates... [2018-11-23 12:10:13,442 INFO L256 TraceCheckUtils]: 0: Hoare triple {1272#true} call ULTIMATE.init(); {1272#true} is VALID [2018-11-23 12:10:13,443 INFO L273 TraceCheckUtils]: 1: Hoare triple {1272#true} #NULL.base, #NULL.offset := 0, 0;#valid := #valid[0 := 0];~SIZE~0 := 100000; {1272#true} is VALID [2018-11-23 12:10:13,443 INFO L273 TraceCheckUtils]: 2: Hoare triple {1272#true} assume true; {1272#true} is VALID [2018-11-23 12:10:13,443 INFO L268 TraceCheckUtils]: 3: Hoare quadruple {1272#true} {1272#true} #123#return; {1272#true} is VALID [2018-11-23 12:10:13,444 INFO L256 TraceCheckUtils]: 4: Hoare triple {1272#true} call #t~ret13 := main(); {1272#true} is VALID [2018-11-23 12:10:13,445 INFO L273 TraceCheckUtils]: 5: Hoare triple {1272#true} havoc ~i~1;havoc ~pos~0;~n~0 := 0;~found~0 := 0;call ~#set~0.base, ~#set~0.offset := #Ultimate.alloc(4 * ~SIZE~0);call ~#values~0.base, ~#values~0.offset := #Ultimate.alloc(4 * ~SIZE~0);havoc ~element~0;havoc ~v~0;~v~0 := 0; {1296#(<= main_~n~0 0)} is VALID [2018-11-23 12:10:13,445 INFO L273 TraceCheckUtils]: 6: Hoare triple {1296#(<= main_~n~0 0)} assume !!(~v~0 < ~SIZE~0);call #t~mem3 := read~int(~#values~0.base, ~#values~0.offset + 4 * ~v~0, 4); {1296#(<= main_~n~0 0)} is VALID [2018-11-23 12:10:13,445 INFO L256 TraceCheckUtils]: 7: Hoare triple {1296#(<= main_~n~0 0)} call #t~ret4 := elem_exists(~#set~0.base, ~#set~0.offset, ~n~0, #t~mem3); {1272#true} is VALID [2018-11-23 12:10:13,446 INFO L273 TraceCheckUtils]: 8: Hoare triple {1272#true} ~set.base, ~set.offset := #in~set.base, #in~set.offset;~size := #in~size;~value := #in~value;havoc ~i~0;~i~0 := 0; {1306#(and (<= elem_exists_~size |elem_exists_#in~size|) (<= 0 elem_exists_~i~0))} is VALID [2018-11-23 12:10:13,447 INFO L273 TraceCheckUtils]: 9: Hoare triple {1306#(and (<= elem_exists_~size |elem_exists_#in~size|) (<= 0 elem_exists_~i~0))} assume !!(~i~0 < ~size);call #t~mem1 := read~int(~set.base, ~set.offset + 4 * ~i~0, 4); {1310#(<= 1 |elem_exists_#in~size|)} is VALID [2018-11-23 12:10:13,447 INFO L273 TraceCheckUtils]: 10: Hoare triple {1310#(<= 1 |elem_exists_#in~size|)} assume #t~mem1 == ~value;havoc #t~mem1;#res := 1; {1310#(<= 1 |elem_exists_#in~size|)} is VALID [2018-11-23 12:10:13,448 INFO L273 TraceCheckUtils]: 11: Hoare triple {1310#(<= 1 |elem_exists_#in~size|)} assume true; {1310#(<= 1 |elem_exists_#in~size|)} is VALID [2018-11-23 12:10:13,450 INFO L268 TraceCheckUtils]: 12: Hoare quadruple {1310#(<= 1 |elem_exists_#in~size|)} {1296#(<= main_~n~0 0)} #127#return; {1273#false} is VALID [2018-11-23 12:10:13,450 INFO L273 TraceCheckUtils]: 13: Hoare triple {1273#false} assume -2147483648 <= #t~ret4 && #t~ret4 <= 2147483647; {1273#false} is VALID [2018-11-23 12:10:13,450 INFO L273 TraceCheckUtils]: 14: Hoare triple {1273#false} assume !(1 != #t~ret4);havoc #t~ret4;havoc #t~mem3; {1273#false} is VALID [2018-11-23 12:10:13,451 INFO L273 TraceCheckUtils]: 15: Hoare triple {1273#false} #t~post2 := ~v~0;~v~0 := 1 + #t~post2;havoc #t~post2; {1273#false} is VALID [2018-11-23 12:10:13,451 INFO L273 TraceCheckUtils]: 16: Hoare triple {1273#false} assume !(~v~0 < ~SIZE~0); {1273#false} is VALID [2018-11-23 12:10:13,451 INFO L273 TraceCheckUtils]: 17: Hoare triple {1273#false} ~i~1 := 0; {1273#false} is VALID [2018-11-23 12:10:13,452 INFO L273 TraceCheckUtils]: 18: Hoare triple {1273#false} assume !!(~i~1 < ~SIZE~0 && 1 != ~found~0);call #t~mem8 := read~int(~#set~0.base, ~#set~0.offset + 4 * ~i~1, 4); {1273#false} is VALID [2018-11-23 12:10:13,452 INFO L273 TraceCheckUtils]: 19: Hoare triple {1273#false} assume #t~mem8 == ~element~0;havoc #t~mem8;~found~0 := 1;~pos~0 := ~i~1; {1273#false} is VALID [2018-11-23 12:10:13,452 INFO L273 TraceCheckUtils]: 20: Hoare triple {1273#false} #t~post7 := ~i~1;~i~1 := 1 + #t~post7;havoc #t~post7; {1273#false} is VALID [2018-11-23 12:10:13,453 INFO L273 TraceCheckUtils]: 21: Hoare triple {1273#false} assume !(~i~1 < ~SIZE~0 && 1 != ~found~0); {1273#false} is VALID [2018-11-23 12:10:13,453 INFO L273 TraceCheckUtils]: 22: Hoare triple {1273#false} assume 1 == ~found~0;~i~1 := ~pos~0; {1273#false} is VALID [2018-11-23 12:10:13,453 INFO L273 TraceCheckUtils]: 23: Hoare triple {1273#false} assume !!(~i~1 < ~SIZE~0 - 1);call #t~mem10 := read~int(~#set~0.base, ~#set~0.offset + 4 * (1 + ~i~1), 4);call write~int(#t~mem10, ~#set~0.base, ~#set~0.offset + 4 * ~i~1, 4);havoc #t~mem10; {1273#false} is VALID [2018-11-23 12:10:13,453 INFO L273 TraceCheckUtils]: 24: Hoare triple {1273#false} #t~post9 := ~i~1;~i~1 := 1 + #t~post9;havoc #t~post9; {1273#false} is VALID [2018-11-23 12:10:13,453 INFO L273 TraceCheckUtils]: 25: Hoare triple {1273#false} assume !(~i~1 < ~SIZE~0 - 1); {1273#false} is VALID [2018-11-23 12:10:13,454 INFO L273 TraceCheckUtils]: 26: Hoare triple {1273#false} assume 1 == ~found~0;~i~1 := 0; {1273#false} is VALID [2018-11-23 12:10:13,454 INFO L273 TraceCheckUtils]: 27: Hoare triple {1273#false} assume !!(~i~1 < ~SIZE~0 - 1);call #t~mem12 := read~int(~#set~0.base, ~#set~0.offset + 4 * ~i~1, 4); {1273#false} is VALID [2018-11-23 12:10:13,454 INFO L256 TraceCheckUtils]: 28: Hoare triple {1273#false} call __VERIFIER_assert((if #t~mem12 != ~element~0 then 1 else 0)); {1273#false} is VALID [2018-11-23 12:10:13,454 INFO L273 TraceCheckUtils]: 29: Hoare triple {1273#false} ~cond := #in~cond; {1273#false} is VALID [2018-11-23 12:10:13,454 INFO L273 TraceCheckUtils]: 30: Hoare triple {1273#false} assume 0 == ~cond; {1273#false} is VALID [2018-11-23 12:10:13,455 INFO L273 TraceCheckUtils]: 31: Hoare triple {1273#false} assume !false; {1273#false} is VALID [2018-11-23 12:10:13,456 INFO L134 CoverageAnalysis]: Checked inductivity of 3 backedges. 1 proven. 0 refuted. 0 times theorem prover too weak. 2 trivial. 0 not checked. [2018-11-23 12:10:13,476 INFO L312 seRefinementStrategy]: Constructing automaton from 1 perfect and 1 imperfect interpolant sequences. [2018-11-23 12:10:13,476 INFO L327 seRefinementStrategy]: Number of different interpolants: perfect sequences [5] imperfect sequences [6] total 9 [2018-11-23 12:10:13,477 INFO L78 Accepts]: Start accepts. Automaton has 9 states. Word has length 32 [2018-11-23 12:10:13,477 INFO L84 Accepts]: Finished accepts. word is accepted. [2018-11-23 12:10:13,477 INFO L86 InductivityCheck]: Starting indutivity check of a Floyd-Hoare automaton with 9 states. [2018-11-23 12:10:13,573 INFO L119 InductivityCheck]: Floyd-Hoare automaton has 57 edges. 57 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2018-11-23 12:10:13,573 INFO L459 AbstractCegarLoop]: Interpolant automaton has 9 states [2018-11-23 12:10:13,573 INFO L142 InterpolantAutomaton]: Constructing interpolant automaton starting with 9 interpolants. [2018-11-23 12:10:13,573 INFO L144 InterpolantAutomaton]: CoverageRelationStatistics Valid=18, Invalid=54, Unknown=0, NotChecked=0, Total=72 [2018-11-23 12:10:13,574 INFO L87 Difference]: Start difference. First operand 54 states and 63 transitions. Second operand 9 states. [2018-11-23 12:10:15,532 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2018-11-23 12:10:15,532 INFO L93 Difference]: Finished difference Result 146 states and 179 transitions. [2018-11-23 12:10:15,532 INFO L142 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 11 states. [2018-11-23 12:10:15,532 INFO L78 Accepts]: Start accepts. Automaton has 9 states. Word has length 32 [2018-11-23 12:10:15,533 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2018-11-23 12:10:15,533 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 9 states. [2018-11-23 12:10:15,538 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 11 states to 11 states and 157 transitions. [2018-11-23 12:10:15,538 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 9 states. [2018-11-23 12:10:15,543 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 11 states to 11 states and 157 transitions. [2018-11-23 12:10:15,543 INFO L86 InductivityCheck]: Starting indutivity check of a Floyd-Hoare automaton with 11 states and 157 transitions. [2018-11-23 12:10:15,791 INFO L119 InductivityCheck]: Floyd-Hoare automaton has 157 edges. 157 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2018-11-23 12:10:15,797 INFO L225 Difference]: With dead ends: 146 [2018-11-23 12:10:15,798 INFO L226 Difference]: Without dead ends: 99 [2018-11-23 12:10:15,799 INFO L631 BasicCegarLoop]: 0 DeclaredPredicates, 46 GetRequests, 32 SyntacticMatches, 1 SemanticMatches, 13 ConstructedPredicates, 0 IntricatePredicates, 0 DeprecatedPredicates, 26 ImplicationChecksByTransitivity, 0.3s TimeCoverageRelationStatistics Valid=51, Invalid=159, Unknown=0, NotChecked=0, Total=210 [2018-11-23 12:10:15,799 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 99 states. [2018-11-23 12:10:15,952 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 99 to 61. [2018-11-23 12:10:15,952 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2018-11-23 12:10:15,952 INFO L82 GeneralOperation]: Start isEquivalent. First operand 99 states. Second operand 61 states. [2018-11-23 12:10:15,953 INFO L74 IsIncluded]: Start isIncluded. First operand 99 states. Second operand 61 states. [2018-11-23 12:10:15,953 INFO L87 Difference]: Start difference. First operand 99 states. Second operand 61 states. [2018-11-23 12:10:15,963 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2018-11-23 12:10:15,963 INFO L93 Difference]: Finished difference Result 99 states and 120 transitions. [2018-11-23 12:10:15,963 INFO L276 IsEmpty]: Start isEmpty. Operand 99 states and 120 transitions. [2018-11-23 12:10:15,967 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2018-11-23 12:10:15,967 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2018-11-23 12:10:15,968 INFO L74 IsIncluded]: Start isIncluded. First operand 61 states. Second operand 99 states. [2018-11-23 12:10:15,968 INFO L87 Difference]: Start difference. First operand 61 states. Second operand 99 states. [2018-11-23 12:10:15,977 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2018-11-23 12:10:15,977 INFO L93 Difference]: Finished difference Result 99 states and 120 transitions. [2018-11-23 12:10:15,978 INFO L276 IsEmpty]: Start isEmpty. Operand 99 states and 120 transitions. [2018-11-23 12:10:15,978 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2018-11-23 12:10:15,979 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2018-11-23 12:10:15,979 INFO L88 GeneralOperation]: Finished isEquivalent. [2018-11-23 12:10:15,979 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2018-11-23 12:10:15,979 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 61 states. [2018-11-23 12:10:15,985 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 61 states to 61 states and 72 transitions. [2018-11-23 12:10:15,985 INFO L78 Accepts]: Start accepts. Automaton has 61 states and 72 transitions. Word has length 32 [2018-11-23 12:10:15,985 INFO L84 Accepts]: Finished accepts. word is rejected. [2018-11-23 12:10:15,985 INFO L480 AbstractCegarLoop]: Abstraction has 61 states and 72 transitions. [2018-11-23 12:10:15,985 INFO L481 AbstractCegarLoop]: Interpolant automaton has 9 states. [2018-11-23 12:10:15,987 INFO L276 IsEmpty]: Start isEmpty. Operand 61 states and 72 transitions. [2018-11-23 12:10:15,988 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 39 [2018-11-23 12:10:15,988 INFO L394 BasicCegarLoop]: Found error trace [2018-11-23 12:10:15,988 INFO L402 BasicCegarLoop]: trace histogram [2, 2, 2, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1] [2018-11-23 12:10:15,988 INFO L423 AbstractCegarLoop]: === Iteration 6 === [__VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION]=== [2018-11-23 12:10:15,991 INFO L141 PredicateUnifier]: Initialized classic predicate unifier [2018-11-23 12:10:15,991 INFO L82 PathProgramCache]: Analyzing trace with hash -923060992, now seen corresponding path program 1 times [2018-11-23 12:10:15,991 INFO L223 ckRefinementStrategy]: Switched to mode SMTINTERPOL_TREE_INTERPOLANTS [2018-11-23 12:10:15,991 INFO L69 tionRefinementEngine]: Using refinement strategy CamelRefinementStrategy [2018-11-23 12:10:15,993 INFO L119 rtionOrderModulation]: Craig_TreeInterpolation forces the order to NOT_INCREMENTALLY [2018-11-23 12:10:15,993 INFO L103 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2018-11-23 12:10:15,993 INFO L119 rtionOrderModulation]: Craig_TreeInterpolation forces the order to NOT_INCREMENTALLY [2018-11-23 12:10:16,028 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2018-11-23 12:10:16,145 INFO L256 TraceCheckUtils]: 0: Hoare triple {1870#true} call ULTIMATE.init(); {1870#true} is VALID [2018-11-23 12:10:16,145 INFO L273 TraceCheckUtils]: 1: Hoare triple {1870#true} #NULL.base, #NULL.offset := 0, 0;#valid := #valid[0 := 0];~SIZE~0 := 100000; {1870#true} is VALID [2018-11-23 12:10:16,145 INFO L273 TraceCheckUtils]: 2: Hoare triple {1870#true} assume true; {1870#true} is VALID [2018-11-23 12:10:16,146 INFO L268 TraceCheckUtils]: 3: Hoare quadruple {1870#true} {1870#true} #123#return; {1870#true} is VALID [2018-11-23 12:10:16,146 INFO L256 TraceCheckUtils]: 4: Hoare triple {1870#true} call #t~ret13 := main(); {1870#true} is VALID [2018-11-23 12:10:16,146 INFO L273 TraceCheckUtils]: 5: Hoare triple {1870#true} havoc ~i~1;havoc ~pos~0;~n~0 := 0;~found~0 := 0;call ~#set~0.base, ~#set~0.offset := #Ultimate.alloc(4 * ~SIZE~0);call ~#values~0.base, ~#values~0.offset := #Ultimate.alloc(4 * ~SIZE~0);havoc ~element~0;havoc ~v~0;~v~0 := 0; {1870#true} is VALID [2018-11-23 12:10:16,146 INFO L273 TraceCheckUtils]: 6: Hoare triple {1870#true} assume !!(~v~0 < ~SIZE~0);call #t~mem3 := read~int(~#values~0.base, ~#values~0.offset + 4 * ~v~0, 4); {1870#true} is VALID [2018-11-23 12:10:16,146 INFO L256 TraceCheckUtils]: 7: Hoare triple {1870#true} call #t~ret4 := elem_exists(~#set~0.base, ~#set~0.offset, ~n~0, #t~mem3); {1870#true} is VALID [2018-11-23 12:10:16,146 INFO L273 TraceCheckUtils]: 8: Hoare triple {1870#true} ~set.base, ~set.offset := #in~set.base, #in~set.offset;~size := #in~size;~value := #in~value;havoc ~i~0;~i~0 := 0; {1870#true} is VALID [2018-11-23 12:10:16,147 INFO L273 TraceCheckUtils]: 9: Hoare triple {1870#true} assume !(~i~0 < ~size); {1870#true} is VALID [2018-11-23 12:10:16,147 INFO L273 TraceCheckUtils]: 10: Hoare triple {1870#true} #res := 0; {1870#true} is VALID [2018-11-23 12:10:16,147 INFO L273 TraceCheckUtils]: 11: Hoare triple {1870#true} assume true; {1870#true} is VALID [2018-11-23 12:10:16,147 INFO L268 TraceCheckUtils]: 12: Hoare quadruple {1870#true} {1870#true} #127#return; {1870#true} is VALID [2018-11-23 12:10:16,147 INFO L273 TraceCheckUtils]: 13: Hoare triple {1870#true} assume -2147483648 <= #t~ret4 && #t~ret4 <= 2147483647; {1870#true} is VALID [2018-11-23 12:10:16,147 INFO L273 TraceCheckUtils]: 14: Hoare triple {1870#true} assume 1 != #t~ret4;havoc #t~ret4;havoc #t~mem3;call #t~mem5 := read~int(~#values~0.base, ~#values~0.offset + 4 * ~v~0, 4); {1870#true} is VALID [2018-11-23 12:10:16,148 INFO L256 TraceCheckUtils]: 15: Hoare triple {1870#true} call #t~ret6 := insert(~#set~0.base, ~#set~0.offset, ~n~0, #t~mem5); {1870#true} is VALID [2018-11-23 12:10:16,148 INFO L273 TraceCheckUtils]: 16: Hoare triple {1870#true} ~set.base, ~set.offset := #in~set.base, #in~set.offset;~size := #in~size;~value := #in~value;call write~int(~value, ~set.base, ~set.offset + 4 * ~size, 4);#res := 1 + ~size; {1870#true} is VALID [2018-11-23 12:10:16,148 INFO L273 TraceCheckUtils]: 17: Hoare triple {1870#true} assume true; {1870#true} is VALID [2018-11-23 12:10:16,148 INFO L268 TraceCheckUtils]: 18: Hoare quadruple {1870#true} {1870#true} #129#return; {1870#true} is VALID [2018-11-23 12:10:16,148 INFO L273 TraceCheckUtils]: 19: Hoare triple {1870#true} assume -2147483648 <= #t~ret6 && #t~ret6 <= 2147483647;~n~0 := #t~ret6;havoc #t~mem5;havoc #t~ret6; {1870#true} is VALID [2018-11-23 12:10:16,149 INFO L273 TraceCheckUtils]: 20: Hoare triple {1870#true} #t~post2 := ~v~0;~v~0 := 1 + #t~post2;havoc #t~post2; {1870#true} is VALID [2018-11-23 12:10:16,149 INFO L273 TraceCheckUtils]: 21: Hoare triple {1870#true} assume !(~v~0 < ~SIZE~0); {1870#true} is VALID [2018-11-23 12:10:16,149 INFO L273 TraceCheckUtils]: 22: Hoare triple {1870#true} ~i~1 := 0; {1870#true} is VALID [2018-11-23 12:10:16,149 INFO L273 TraceCheckUtils]: 23: Hoare triple {1870#true} assume !!(~i~1 < ~SIZE~0 && 1 != ~found~0);call #t~mem8 := read~int(~#set~0.base, ~#set~0.offset + 4 * ~i~1, 4); {1870#true} is VALID [2018-11-23 12:10:16,154 INFO L273 TraceCheckUtils]: 24: Hoare triple {1870#true} assume #t~mem8 == ~element~0;havoc #t~mem8;~found~0 := 1;~pos~0 := ~i~1; {1872#(= main_~found~0 1)} is VALID [2018-11-23 12:10:16,154 INFO L273 TraceCheckUtils]: 25: Hoare triple {1872#(= main_~found~0 1)} #t~post7 := ~i~1;~i~1 := 1 + #t~post7;havoc #t~post7; {1872#(= main_~found~0 1)} is VALID [2018-11-23 12:10:16,156 INFO L273 TraceCheckUtils]: 26: Hoare triple {1872#(= main_~found~0 1)} assume !!(~i~1 < ~SIZE~0 && 1 != ~found~0);call #t~mem8 := read~int(~#set~0.base, ~#set~0.offset + 4 * ~i~1, 4); {1871#false} is VALID [2018-11-23 12:10:16,156 INFO L273 TraceCheckUtils]: 27: Hoare triple {1871#false} assume #t~mem8 == ~element~0;havoc #t~mem8;~found~0 := 1;~pos~0 := ~i~1; {1871#false} is VALID [2018-11-23 12:10:16,156 INFO L273 TraceCheckUtils]: 28: Hoare triple {1871#false} #t~post7 := ~i~1;~i~1 := 1 + #t~post7;havoc #t~post7; {1871#false} is VALID [2018-11-23 12:10:16,156 INFO L273 TraceCheckUtils]: 29: Hoare triple {1871#false} assume !(~i~1 < ~SIZE~0 && 1 != ~found~0); {1871#false} is VALID [2018-11-23 12:10:16,156 INFO L273 TraceCheckUtils]: 30: Hoare triple {1871#false} assume 1 == ~found~0;~i~1 := ~pos~0; {1871#false} is VALID [2018-11-23 12:10:16,157 INFO L273 TraceCheckUtils]: 31: Hoare triple {1871#false} assume !(~i~1 < ~SIZE~0 - 1); {1871#false} is VALID [2018-11-23 12:10:16,157 INFO L273 TraceCheckUtils]: 32: Hoare triple {1871#false} assume 1 == ~found~0;~i~1 := 0; {1871#false} is VALID [2018-11-23 12:10:16,157 INFO L273 TraceCheckUtils]: 33: Hoare triple {1871#false} assume !!(~i~1 < ~SIZE~0 - 1);call #t~mem12 := read~int(~#set~0.base, ~#set~0.offset + 4 * ~i~1, 4); {1871#false} is VALID [2018-11-23 12:10:16,157 INFO L256 TraceCheckUtils]: 34: Hoare triple {1871#false} call __VERIFIER_assert((if #t~mem12 != ~element~0 then 1 else 0)); {1871#false} is VALID [2018-11-23 12:10:16,158 INFO L273 TraceCheckUtils]: 35: Hoare triple {1871#false} ~cond := #in~cond; {1871#false} is VALID [2018-11-23 12:10:16,158 INFO L273 TraceCheckUtils]: 36: Hoare triple {1871#false} assume 0 == ~cond; {1871#false} is VALID [2018-11-23 12:10:16,158 INFO L273 TraceCheckUtils]: 37: Hoare triple {1871#false} assume !false; {1871#false} is VALID [2018-11-23 12:10:16,160 INFO L134 CoverageAnalysis]: Checked inductivity of 6 backedges. 5 proven. 0 refuted. 0 times theorem prover too weak. 1 trivial. 0 not checked. [2018-11-23 12:10:16,160 INFO L312 seRefinementStrategy]: Constructing automaton from 1 perfect and 0 imperfect interpolant sequences. [2018-11-23 12:10:16,160 INFO L327 seRefinementStrategy]: Number of different interpolants: perfect sequences [3] imperfect sequences [] total 3 [2018-11-23 12:10:16,161 INFO L78 Accepts]: Start accepts. Automaton has 3 states. Word has length 38 [2018-11-23 12:10:16,161 INFO L84 Accepts]: Finished accepts. word is accepted. [2018-11-23 12:10:16,161 INFO L86 InductivityCheck]: Starting indutivity check of a Floyd-Hoare automaton with 3 states. [2018-11-23 12:10:16,201 INFO L119 InductivityCheck]: Floyd-Hoare automaton has 38 edges. 38 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2018-11-23 12:10:16,201 INFO L459 AbstractCegarLoop]: Interpolant automaton has 3 states [2018-11-23 12:10:16,201 INFO L142 InterpolantAutomaton]: Constructing interpolant automaton starting with 3 interpolants. [2018-11-23 12:10:16,201 INFO L144 InterpolantAutomaton]: CoverageRelationStatistics Valid=3, Invalid=3, Unknown=0, NotChecked=0, Total=6 [2018-11-23 12:10:16,202 INFO L87 Difference]: Start difference. First operand 61 states and 72 transitions. Second operand 3 states. [2018-11-23 12:10:16,350 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2018-11-23 12:10:16,351 INFO L93 Difference]: Finished difference Result 80 states and 94 transitions. [2018-11-23 12:10:16,351 INFO L142 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 3 states. [2018-11-23 12:10:16,351 INFO L78 Accepts]: Start accepts. Automaton has 3 states. Word has length 38 [2018-11-23 12:10:16,351 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2018-11-23 12:10:16,352 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 3 states. [2018-11-23 12:10:16,353 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 3 states to 3 states and 70 transitions. [2018-11-23 12:10:16,354 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 3 states. [2018-11-23 12:10:16,357 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 3 states to 3 states and 70 transitions. [2018-11-23 12:10:16,357 INFO L86 InductivityCheck]: Starting indutivity check of a Floyd-Hoare automaton with 3 states and 70 transitions. [2018-11-23 12:10:16,568 INFO L119 InductivityCheck]: Floyd-Hoare automaton has 70 edges. 70 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2018-11-23 12:10:16,571 INFO L225 Difference]: With dead ends: 80 [2018-11-23 12:10:16,571 INFO L226 Difference]: Without dead ends: 61 [2018-11-23 12:10:16,572 INFO L631 BasicCegarLoop]: 0 DeclaredPredicates, 3 GetRequests, 2 SyntacticMatches, 0 SemanticMatches, 1 ConstructedPredicates, 0 IntricatePredicates, 0 DeprecatedPredicates, 0 ImplicationChecksByTransitivity, 0.0s TimeCoverageRelationStatistics Valid=3, Invalid=3, Unknown=0, NotChecked=0, Total=6 [2018-11-23 12:10:16,572 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 61 states. [2018-11-23 12:10:16,703 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 61 to 61. [2018-11-23 12:10:16,704 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2018-11-23 12:10:16,704 INFO L82 GeneralOperation]: Start isEquivalent. First operand 61 states. Second operand 61 states. [2018-11-23 12:10:16,704 INFO L74 IsIncluded]: Start isIncluded. First operand 61 states. Second operand 61 states. [2018-11-23 12:10:16,704 INFO L87 Difference]: Start difference. First operand 61 states. Second operand 61 states. [2018-11-23 12:10:16,707 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2018-11-23 12:10:16,708 INFO L93 Difference]: Finished difference Result 61 states and 70 transitions. [2018-11-23 12:10:16,708 INFO L276 IsEmpty]: Start isEmpty. Operand 61 states and 70 transitions. [2018-11-23 12:10:16,708 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2018-11-23 12:10:16,708 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2018-11-23 12:10:16,709 INFO L74 IsIncluded]: Start isIncluded. First operand 61 states. Second operand 61 states. [2018-11-23 12:10:16,709 INFO L87 Difference]: Start difference. First operand 61 states. Second operand 61 states. [2018-11-23 12:10:16,711 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2018-11-23 12:10:16,712 INFO L93 Difference]: Finished difference Result 61 states and 70 transitions. [2018-11-23 12:10:16,712 INFO L276 IsEmpty]: Start isEmpty. Operand 61 states and 70 transitions. [2018-11-23 12:10:16,712 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2018-11-23 12:10:16,712 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2018-11-23 12:10:16,712 INFO L88 GeneralOperation]: Finished isEquivalent. [2018-11-23 12:10:16,713 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2018-11-23 12:10:16,713 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 61 states. [2018-11-23 12:10:16,715 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 61 states to 61 states and 70 transitions. [2018-11-23 12:10:16,715 INFO L78 Accepts]: Start accepts. Automaton has 61 states and 70 transitions. Word has length 38 [2018-11-23 12:10:16,716 INFO L84 Accepts]: Finished accepts. word is rejected. [2018-11-23 12:10:16,716 INFO L480 AbstractCegarLoop]: Abstraction has 61 states and 70 transitions. [2018-11-23 12:10:16,716 INFO L481 AbstractCegarLoop]: Interpolant automaton has 3 states. [2018-11-23 12:10:16,716 INFO L276 IsEmpty]: Start isEmpty. Operand 61 states and 70 transitions. [2018-11-23 12:10:16,717 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 39 [2018-11-23 12:10:16,717 INFO L394 BasicCegarLoop]: Found error trace [2018-11-23 12:10:16,717 INFO L402 BasicCegarLoop]: trace histogram [2, 2, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1] [2018-11-23 12:10:16,717 INFO L423 AbstractCegarLoop]: === Iteration 7 === [__VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION]=== [2018-11-23 12:10:16,717 INFO L141 PredicateUnifier]: Initialized classic predicate unifier [2018-11-23 12:10:16,718 INFO L82 PathProgramCache]: Analyzing trace with hash -1934178242, now seen corresponding path program 1 times [2018-11-23 12:10:16,718 INFO L223 ckRefinementStrategy]: Switched to mode SMTINTERPOL_TREE_INTERPOLANTS [2018-11-23 12:10:16,718 INFO L69 tionRefinementEngine]: Using refinement strategy CamelRefinementStrategy [2018-11-23 12:10:16,719 INFO L119 rtionOrderModulation]: Craig_TreeInterpolation forces the order to NOT_INCREMENTALLY [2018-11-23 12:10:16,719 INFO L103 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2018-11-23 12:10:16,719 INFO L119 rtionOrderModulation]: Craig_TreeInterpolation forces the order to NOT_INCREMENTALLY [2018-11-23 12:10:16,736 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2018-11-23 12:10:16,841 INFO L256 TraceCheckUtils]: 0: Hoare triple {2190#true} call ULTIMATE.init(); {2190#true} is VALID [2018-11-23 12:10:16,851 INFO L273 TraceCheckUtils]: 1: Hoare triple {2190#true} #NULL.base, #NULL.offset := 0, 0;#valid := #valid[0 := 0];~SIZE~0 := 100000; {2192#(<= 100000 ~SIZE~0)} is VALID [2018-11-23 12:10:16,852 INFO L273 TraceCheckUtils]: 2: Hoare triple {2192#(<= 100000 ~SIZE~0)} assume true; {2192#(<= 100000 ~SIZE~0)} is VALID [2018-11-23 12:10:16,853 INFO L268 TraceCheckUtils]: 3: Hoare quadruple {2192#(<= 100000 ~SIZE~0)} {2190#true} #123#return; {2192#(<= 100000 ~SIZE~0)} is VALID [2018-11-23 12:10:16,853 INFO L256 TraceCheckUtils]: 4: Hoare triple {2192#(<= 100000 ~SIZE~0)} call #t~ret13 := main(); {2192#(<= 100000 ~SIZE~0)} is VALID [2018-11-23 12:10:16,854 INFO L273 TraceCheckUtils]: 5: Hoare triple {2192#(<= 100000 ~SIZE~0)} havoc ~i~1;havoc ~pos~0;~n~0 := 0;~found~0 := 0;call ~#set~0.base, ~#set~0.offset := #Ultimate.alloc(4 * ~SIZE~0);call ~#values~0.base, ~#values~0.offset := #Ultimate.alloc(4 * ~SIZE~0);havoc ~element~0;havoc ~v~0;~v~0 := 0; {2193#(and (= main_~v~0 0) (<= 100000 ~SIZE~0))} is VALID [2018-11-23 12:10:16,854 INFO L273 TraceCheckUtils]: 6: Hoare triple {2193#(and (= main_~v~0 0) (<= 100000 ~SIZE~0))} assume !!(~v~0 < ~SIZE~0);call #t~mem3 := read~int(~#values~0.base, ~#values~0.offset + 4 * ~v~0, 4); {2193#(and (= main_~v~0 0) (<= 100000 ~SIZE~0))} is VALID [2018-11-23 12:10:16,854 INFO L256 TraceCheckUtils]: 7: Hoare triple {2193#(and (= main_~v~0 0) (<= 100000 ~SIZE~0))} call #t~ret4 := elem_exists(~#set~0.base, ~#set~0.offset, ~n~0, #t~mem3); {2190#true} is VALID [2018-11-23 12:10:16,855 INFO L273 TraceCheckUtils]: 8: Hoare triple {2190#true} ~set.base, ~set.offset := #in~set.base, #in~set.offset;~size := #in~size;~value := #in~value;havoc ~i~0;~i~0 := 0; {2190#true} is VALID [2018-11-23 12:10:16,855 INFO L273 TraceCheckUtils]: 9: Hoare triple {2190#true} assume !(~i~0 < ~size); {2190#true} is VALID [2018-11-23 12:10:16,855 INFO L273 TraceCheckUtils]: 10: Hoare triple {2190#true} #res := 0; {2190#true} is VALID [2018-11-23 12:10:16,856 INFO L273 TraceCheckUtils]: 11: Hoare triple {2190#true} assume true; {2190#true} is VALID [2018-11-23 12:10:16,857 INFO L268 TraceCheckUtils]: 12: Hoare quadruple {2190#true} {2193#(and (= main_~v~0 0) (<= 100000 ~SIZE~0))} #127#return; {2193#(and (= main_~v~0 0) (<= 100000 ~SIZE~0))} is VALID [2018-11-23 12:10:16,858 INFO L273 TraceCheckUtils]: 13: Hoare triple {2193#(and (= main_~v~0 0) (<= 100000 ~SIZE~0))} assume -2147483648 <= #t~ret4 && #t~ret4 <= 2147483647; {2193#(and (= main_~v~0 0) (<= 100000 ~SIZE~0))} is VALID [2018-11-23 12:10:16,858 INFO L273 TraceCheckUtils]: 14: Hoare triple {2193#(and (= main_~v~0 0) (<= 100000 ~SIZE~0))} assume 1 != #t~ret4;havoc #t~ret4;havoc #t~mem3;call #t~mem5 := read~int(~#values~0.base, ~#values~0.offset + 4 * ~v~0, 4); {2193#(and (= main_~v~0 0) (<= 100000 ~SIZE~0))} is VALID [2018-11-23 12:10:16,858 INFO L256 TraceCheckUtils]: 15: Hoare triple {2193#(and (= main_~v~0 0) (<= 100000 ~SIZE~0))} call #t~ret6 := insert(~#set~0.base, ~#set~0.offset, ~n~0, #t~mem5); {2190#true} is VALID [2018-11-23 12:10:16,859 INFO L273 TraceCheckUtils]: 16: Hoare triple {2190#true} ~set.base, ~set.offset := #in~set.base, #in~set.offset;~size := #in~size;~value := #in~value;call write~int(~value, ~set.base, ~set.offset + 4 * ~size, 4);#res := 1 + ~size; {2190#true} is VALID [2018-11-23 12:10:16,859 INFO L273 TraceCheckUtils]: 17: Hoare triple {2190#true} assume true; {2190#true} is VALID [2018-11-23 12:10:16,861 INFO L268 TraceCheckUtils]: 18: Hoare quadruple {2190#true} {2193#(and (= main_~v~0 0) (<= 100000 ~SIZE~0))} #129#return; {2193#(and (= main_~v~0 0) (<= 100000 ~SIZE~0))} is VALID [2018-11-23 12:10:16,862 INFO L273 TraceCheckUtils]: 19: Hoare triple {2193#(and (= main_~v~0 0) (<= 100000 ~SIZE~0))} assume -2147483648 <= #t~ret6 && #t~ret6 <= 2147483647;~n~0 := #t~ret6;havoc #t~mem5;havoc #t~ret6; {2193#(and (= main_~v~0 0) (<= 100000 ~SIZE~0))} is VALID [2018-11-23 12:10:16,863 INFO L273 TraceCheckUtils]: 20: Hoare triple {2193#(and (= main_~v~0 0) (<= 100000 ~SIZE~0))} #t~post2 := ~v~0;~v~0 := 1 + #t~post2;havoc #t~post2; {2194#(<= (+ main_~v~0 99999) ~SIZE~0)} is VALID [2018-11-23 12:10:16,863 INFO L273 TraceCheckUtils]: 21: Hoare triple {2194#(<= (+ main_~v~0 99999) ~SIZE~0)} assume !(~v~0 < ~SIZE~0); {2191#false} is VALID [2018-11-23 12:10:16,863 INFO L273 TraceCheckUtils]: 22: Hoare triple {2191#false} ~i~1 := 0; {2191#false} is VALID [2018-11-23 12:10:16,864 INFO L273 TraceCheckUtils]: 23: Hoare triple {2191#false} assume !!(~i~1 < ~SIZE~0 && 1 != ~found~0);call #t~mem8 := read~int(~#set~0.base, ~#set~0.offset + 4 * ~i~1, 4); {2191#false} is VALID [2018-11-23 12:10:16,864 INFO L273 TraceCheckUtils]: 24: Hoare triple {2191#false} assume !(#t~mem8 == ~element~0);havoc #t~mem8; {2191#false} is VALID [2018-11-23 12:10:16,864 INFO L273 TraceCheckUtils]: 25: Hoare triple {2191#false} #t~post7 := ~i~1;~i~1 := 1 + #t~post7;havoc #t~post7; {2191#false} is VALID [2018-11-23 12:10:16,864 INFO L273 TraceCheckUtils]: 26: Hoare triple {2191#false} assume !!(~i~1 < ~SIZE~0 && 1 != ~found~0);call #t~mem8 := read~int(~#set~0.base, ~#set~0.offset + 4 * ~i~1, 4); {2191#false} is VALID [2018-11-23 12:10:16,864 INFO L273 TraceCheckUtils]: 27: Hoare triple {2191#false} assume #t~mem8 == ~element~0;havoc #t~mem8;~found~0 := 1;~pos~0 := ~i~1; {2191#false} is VALID [2018-11-23 12:10:16,864 INFO L273 TraceCheckUtils]: 28: Hoare triple {2191#false} #t~post7 := ~i~1;~i~1 := 1 + #t~post7;havoc #t~post7; {2191#false} is VALID [2018-11-23 12:10:16,865 INFO L273 TraceCheckUtils]: 29: Hoare triple {2191#false} assume !(~i~1 < ~SIZE~0 && 1 != ~found~0); {2191#false} is VALID [2018-11-23 12:10:16,865 INFO L273 TraceCheckUtils]: 30: Hoare triple {2191#false} assume 1 == ~found~0;~i~1 := ~pos~0; {2191#false} is VALID [2018-11-23 12:10:16,865 INFO L273 TraceCheckUtils]: 31: Hoare triple {2191#false} assume !(~i~1 < ~SIZE~0 - 1); {2191#false} is VALID [2018-11-23 12:10:16,866 INFO L273 TraceCheckUtils]: 32: Hoare triple {2191#false} assume 1 == ~found~0;~i~1 := 0; {2191#false} is VALID [2018-11-23 12:10:16,866 INFO L273 TraceCheckUtils]: 33: Hoare triple {2191#false} assume !!(~i~1 < ~SIZE~0 - 1);call #t~mem12 := read~int(~#set~0.base, ~#set~0.offset + 4 * ~i~1, 4); {2191#false} is VALID [2018-11-23 12:10:16,866 INFO L256 TraceCheckUtils]: 34: Hoare triple {2191#false} call __VERIFIER_assert((if #t~mem12 != ~element~0 then 1 else 0)); {2191#false} is VALID [2018-11-23 12:10:16,867 INFO L273 TraceCheckUtils]: 35: Hoare triple {2191#false} ~cond := #in~cond; {2191#false} is VALID [2018-11-23 12:10:16,867 INFO L273 TraceCheckUtils]: 36: Hoare triple {2191#false} assume 0 == ~cond; {2191#false} is VALID [2018-11-23 12:10:16,867 INFO L273 TraceCheckUtils]: 37: Hoare triple {2191#false} assume !false; {2191#false} is VALID [2018-11-23 12:10:16,869 INFO L134 CoverageAnalysis]: Checked inductivity of 6 backedges. 0 proven. 1 refuted. 0 times theorem prover too weak. 5 trivial. 0 not checked. [2018-11-23 12:10:16,869 INFO L300 seRefinementStrategy]: The current sequences of interpolants are not accepted, trying to find more. [2018-11-23 12:10:16,869 INFO L223 ckRefinementStrategy]: Switched to mode Z3_FP No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 Starting monitored process 4 with z3 -smt2 -in SMTLIB2_COMPLIANT=true -t:12000 (exit command is (exit), workingDir is null) Waiting until toolchain timeout for monitored process 4 with z3 -smt2 -in SMTLIB2_COMPLIANT=true -t:12000 [2018-11-23 12:10:16,887 INFO L103 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2018-11-23 12:10:16,915 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2018-11-23 12:10:16,926 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2018-11-23 12:10:16,928 INFO L273 TraceCheckSpWp]: Computing forward predicates... [2018-11-23 12:10:17,029 INFO L256 TraceCheckUtils]: 0: Hoare triple {2190#true} call ULTIMATE.init(); {2190#true} is VALID [2018-11-23 12:10:17,030 INFO L273 TraceCheckUtils]: 1: Hoare triple {2190#true} #NULL.base, #NULL.offset := 0, 0;#valid := #valid[0 := 0];~SIZE~0 := 100000; {2192#(<= 100000 ~SIZE~0)} is VALID [2018-11-23 12:10:17,031 INFO L273 TraceCheckUtils]: 2: Hoare triple {2192#(<= 100000 ~SIZE~0)} assume true; {2192#(<= 100000 ~SIZE~0)} is VALID [2018-11-23 12:10:17,032 INFO L268 TraceCheckUtils]: 3: Hoare quadruple {2192#(<= 100000 ~SIZE~0)} {2190#true} #123#return; {2192#(<= 100000 ~SIZE~0)} is VALID [2018-11-23 12:10:17,032 INFO L256 TraceCheckUtils]: 4: Hoare triple {2192#(<= 100000 ~SIZE~0)} call #t~ret13 := main(); {2192#(<= 100000 ~SIZE~0)} is VALID [2018-11-23 12:10:17,054 INFO L273 TraceCheckUtils]: 5: Hoare triple {2192#(<= 100000 ~SIZE~0)} havoc ~i~1;havoc ~pos~0;~n~0 := 0;~found~0 := 0;call ~#set~0.base, ~#set~0.offset := #Ultimate.alloc(4 * ~SIZE~0);call ~#values~0.base, ~#values~0.offset := #Ultimate.alloc(4 * ~SIZE~0);havoc ~element~0;havoc ~v~0;~v~0 := 0; {2213#(and (<= main_~v~0 0) (<= 100000 ~SIZE~0))} is VALID [2018-11-23 12:10:17,070 INFO L273 TraceCheckUtils]: 6: Hoare triple {2213#(and (<= main_~v~0 0) (<= 100000 ~SIZE~0))} assume !!(~v~0 < ~SIZE~0);call #t~mem3 := read~int(~#values~0.base, ~#values~0.offset + 4 * ~v~0, 4); {2213#(and (<= main_~v~0 0) (<= 100000 ~SIZE~0))} is VALID [2018-11-23 12:10:17,077 INFO L256 TraceCheckUtils]: 7: Hoare triple {2213#(and (<= main_~v~0 0) (<= 100000 ~SIZE~0))} call #t~ret4 := elem_exists(~#set~0.base, ~#set~0.offset, ~n~0, #t~mem3); {2192#(<= 100000 ~SIZE~0)} is VALID [2018-11-23 12:10:17,078 INFO L273 TraceCheckUtils]: 8: Hoare triple {2192#(<= 100000 ~SIZE~0)} ~set.base, ~set.offset := #in~set.base, #in~set.offset;~size := #in~size;~value := #in~value;havoc ~i~0;~i~0 := 0; {2192#(<= 100000 ~SIZE~0)} is VALID [2018-11-23 12:10:17,082 INFO L273 TraceCheckUtils]: 9: Hoare triple {2192#(<= 100000 ~SIZE~0)} assume !(~i~0 < ~size); {2192#(<= 100000 ~SIZE~0)} is VALID [2018-11-23 12:10:17,084 INFO L273 TraceCheckUtils]: 10: Hoare triple {2192#(<= 100000 ~SIZE~0)} #res := 0; {2192#(<= 100000 ~SIZE~0)} is VALID [2018-11-23 12:10:17,088 INFO L273 TraceCheckUtils]: 11: Hoare triple {2192#(<= 100000 ~SIZE~0)} assume true; {2192#(<= 100000 ~SIZE~0)} is VALID [2018-11-23 12:10:17,090 INFO L268 TraceCheckUtils]: 12: Hoare quadruple {2192#(<= 100000 ~SIZE~0)} {2213#(and (<= main_~v~0 0) (<= 100000 ~SIZE~0))} #127#return; {2213#(and (<= main_~v~0 0) (<= 100000 ~SIZE~0))} is VALID [2018-11-23 12:10:17,091 INFO L273 TraceCheckUtils]: 13: Hoare triple {2213#(and (<= main_~v~0 0) (<= 100000 ~SIZE~0))} assume -2147483648 <= #t~ret4 && #t~ret4 <= 2147483647; {2213#(and (<= main_~v~0 0) (<= 100000 ~SIZE~0))} is VALID [2018-11-23 12:10:17,091 INFO L273 TraceCheckUtils]: 14: Hoare triple {2213#(and (<= main_~v~0 0) (<= 100000 ~SIZE~0))} assume 1 != #t~ret4;havoc #t~ret4;havoc #t~mem3;call #t~mem5 := read~int(~#values~0.base, ~#values~0.offset + 4 * ~v~0, 4); {2213#(and (<= main_~v~0 0) (<= 100000 ~SIZE~0))} is VALID [2018-11-23 12:10:17,093 INFO L256 TraceCheckUtils]: 15: Hoare triple {2213#(and (<= main_~v~0 0) (<= 100000 ~SIZE~0))} call #t~ret6 := insert(~#set~0.base, ~#set~0.offset, ~n~0, #t~mem5); {2192#(<= 100000 ~SIZE~0)} is VALID [2018-11-23 12:10:17,093 INFO L273 TraceCheckUtils]: 16: Hoare triple {2192#(<= 100000 ~SIZE~0)} ~set.base, ~set.offset := #in~set.base, #in~set.offset;~size := #in~size;~value := #in~value;call write~int(~value, ~set.base, ~set.offset + 4 * ~size, 4);#res := 1 + ~size; {2192#(<= 100000 ~SIZE~0)} is VALID [2018-11-23 12:10:17,094 INFO L273 TraceCheckUtils]: 17: Hoare triple {2192#(<= 100000 ~SIZE~0)} assume true; {2192#(<= 100000 ~SIZE~0)} is VALID [2018-11-23 12:10:17,095 INFO L268 TraceCheckUtils]: 18: Hoare quadruple {2192#(<= 100000 ~SIZE~0)} {2213#(and (<= main_~v~0 0) (<= 100000 ~SIZE~0))} #129#return; {2213#(and (<= main_~v~0 0) (<= 100000 ~SIZE~0))} is VALID [2018-11-23 12:10:17,096 INFO L273 TraceCheckUtils]: 19: Hoare triple {2213#(and (<= main_~v~0 0) (<= 100000 ~SIZE~0))} assume -2147483648 <= #t~ret6 && #t~ret6 <= 2147483647;~n~0 := #t~ret6;havoc #t~mem5;havoc #t~ret6; {2213#(and (<= main_~v~0 0) (<= 100000 ~SIZE~0))} is VALID [2018-11-23 12:10:17,097 INFO L273 TraceCheckUtils]: 20: Hoare triple {2213#(and (<= main_~v~0 0) (<= 100000 ~SIZE~0))} #t~post2 := ~v~0;~v~0 := 1 + #t~post2;havoc #t~post2; {2259#(and (<= main_~v~0 1) (<= 100000 ~SIZE~0))} is VALID [2018-11-23 12:10:17,098 INFO L273 TraceCheckUtils]: 21: Hoare triple {2259#(and (<= main_~v~0 1) (<= 100000 ~SIZE~0))} assume !(~v~0 < ~SIZE~0); {2191#false} is VALID [2018-11-23 12:10:17,098 INFO L273 TraceCheckUtils]: 22: Hoare triple {2191#false} ~i~1 := 0; {2191#false} is VALID [2018-11-23 12:10:17,098 INFO L273 TraceCheckUtils]: 23: Hoare triple {2191#false} assume !!(~i~1 < ~SIZE~0 && 1 != ~found~0);call #t~mem8 := read~int(~#set~0.base, ~#set~0.offset + 4 * ~i~1, 4); {2191#false} is VALID [2018-11-23 12:10:17,099 INFO L273 TraceCheckUtils]: 24: Hoare triple {2191#false} assume !(#t~mem8 == ~element~0);havoc #t~mem8; {2191#false} is VALID [2018-11-23 12:10:17,099 INFO L273 TraceCheckUtils]: 25: Hoare triple {2191#false} #t~post7 := ~i~1;~i~1 := 1 + #t~post7;havoc #t~post7; {2191#false} is VALID [2018-11-23 12:10:17,099 INFO L273 TraceCheckUtils]: 26: Hoare triple {2191#false} assume !!(~i~1 < ~SIZE~0 && 1 != ~found~0);call #t~mem8 := read~int(~#set~0.base, ~#set~0.offset + 4 * ~i~1, 4); {2191#false} is VALID [2018-11-23 12:10:17,100 INFO L273 TraceCheckUtils]: 27: Hoare triple {2191#false} assume #t~mem8 == ~element~0;havoc #t~mem8;~found~0 := 1;~pos~0 := ~i~1; {2191#false} is VALID [2018-11-23 12:10:17,100 INFO L273 TraceCheckUtils]: 28: Hoare triple {2191#false} #t~post7 := ~i~1;~i~1 := 1 + #t~post7;havoc #t~post7; {2191#false} is VALID [2018-11-23 12:10:17,100 INFO L273 TraceCheckUtils]: 29: Hoare triple {2191#false} assume !(~i~1 < ~SIZE~0 && 1 != ~found~0); {2191#false} is VALID [2018-11-23 12:10:17,100 INFO L273 TraceCheckUtils]: 30: Hoare triple {2191#false} assume 1 == ~found~0;~i~1 := ~pos~0; {2191#false} is VALID [2018-11-23 12:10:17,101 INFO L273 TraceCheckUtils]: 31: Hoare triple {2191#false} assume !(~i~1 < ~SIZE~0 - 1); {2191#false} is VALID [2018-11-23 12:10:17,101 INFO L273 TraceCheckUtils]: 32: Hoare triple {2191#false} assume 1 == ~found~0;~i~1 := 0; {2191#false} is VALID [2018-11-23 12:10:17,101 INFO L273 TraceCheckUtils]: 33: Hoare triple {2191#false} assume !!(~i~1 < ~SIZE~0 - 1);call #t~mem12 := read~int(~#set~0.base, ~#set~0.offset + 4 * ~i~1, 4); {2191#false} is VALID [2018-11-23 12:10:17,102 INFO L256 TraceCheckUtils]: 34: Hoare triple {2191#false} call __VERIFIER_assert((if #t~mem12 != ~element~0 then 1 else 0)); {2191#false} is VALID [2018-11-23 12:10:17,102 INFO L273 TraceCheckUtils]: 35: Hoare triple {2191#false} ~cond := #in~cond; {2191#false} is VALID [2018-11-23 12:10:17,102 INFO L273 TraceCheckUtils]: 36: Hoare triple {2191#false} assume 0 == ~cond; {2191#false} is VALID [2018-11-23 12:10:17,102 INFO L273 TraceCheckUtils]: 37: Hoare triple {2191#false} assume !false; {2191#false} is VALID [2018-11-23 12:10:17,104 INFO L134 CoverageAnalysis]: Checked inductivity of 6 backedges. 0 proven. 1 refuted. 0 times theorem prover too weak. 5 trivial. 0 not checked. [2018-11-23 12:10:17,123 INFO L312 seRefinementStrategy]: Constructing automaton from 0 perfect and 2 imperfect interpolant sequences. [2018-11-23 12:10:17,124 INFO L327 seRefinementStrategy]: Number of different interpolants: perfect sequences [] imperfect sequences [5, 5] total 7 [2018-11-23 12:10:17,125 INFO L78 Accepts]: Start accepts. Automaton has 7 states. Word has length 38 [2018-11-23 12:10:17,126 INFO L84 Accepts]: Finished accepts. word is accepted. [2018-11-23 12:10:17,126 INFO L86 InductivityCheck]: Starting indutivity check of a Floyd-Hoare automaton with 7 states. [2018-11-23 12:10:17,277 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-23 12:10:17,278 INFO L459 AbstractCegarLoop]: Interpolant automaton has 7 states [2018-11-23 12:10:17,278 INFO L142 InterpolantAutomaton]: Constructing interpolant automaton starting with 7 interpolants. [2018-11-23 12:10:17,278 INFO L144 InterpolantAutomaton]: CoverageRelationStatistics Valid=20, Invalid=22, Unknown=0, NotChecked=0, Total=42 [2018-11-23 12:10:17,279 INFO L87 Difference]: Start difference. First operand 61 states and 70 transitions. Second operand 7 states. [2018-11-23 12:10:17,829 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2018-11-23 12:10:17,829 INFO L93 Difference]: Finished difference Result 103 states and 122 transitions. [2018-11-23 12:10:17,829 INFO L142 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 5 states. [2018-11-23 12:10:17,829 INFO L78 Accepts]: Start accepts. Automaton has 7 states. Word has length 38 [2018-11-23 12:10:17,829 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2018-11-23 12:10:17,830 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 7 states. [2018-11-23 12:10:17,832 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 5 states to 5 states and 89 transitions. [2018-11-23 12:10:17,832 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 7 states. [2018-11-23 12:10:17,834 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 5 states to 5 states and 89 transitions. [2018-11-23 12:10:17,834 INFO L86 InductivityCheck]: Starting indutivity check of a Floyd-Hoare automaton with 5 states and 89 transitions. [2018-11-23 12:10:18,010 INFO L119 InductivityCheck]: Floyd-Hoare automaton has 89 edges. 89 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2018-11-23 12:10:18,012 INFO L225 Difference]: With dead ends: 103 [2018-11-23 12:10:18,012 INFO L226 Difference]: Without dead ends: 75 [2018-11-23 12:10:18,013 INFO L631 BasicCegarLoop]: 0 DeclaredPredicates, 42 GetRequests, 37 SyntacticMatches, 0 SemanticMatches, 5 ConstructedPredicates, 0 IntricatePredicates, 0 DeprecatedPredicates, 1 ImplicationChecksByTransitivity, 0.0s TimeCoverageRelationStatistics Valid=20, Invalid=22, Unknown=0, NotChecked=0, Total=42 [2018-11-23 12:10:18,014 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 75 states. [2018-11-23 12:10:18,072 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 75 to 67. [2018-11-23 12:10:18,072 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2018-11-23 12:10:18,072 INFO L82 GeneralOperation]: Start isEquivalent. First operand 75 states. Second operand 67 states. [2018-11-23 12:10:18,072 INFO L74 IsIncluded]: Start isIncluded. First operand 75 states. Second operand 67 states. [2018-11-23 12:10:18,072 INFO L87 Difference]: Start difference. First operand 75 states. Second operand 67 states. [2018-11-23 12:10:18,076 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2018-11-23 12:10:18,076 INFO L93 Difference]: Finished difference Result 75 states and 90 transitions. [2018-11-23 12:10:18,077 INFO L276 IsEmpty]: Start isEmpty. Operand 75 states and 90 transitions. [2018-11-23 12:10:18,077 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2018-11-23 12:10:18,077 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2018-11-23 12:10:18,077 INFO L74 IsIncluded]: Start isIncluded. First operand 67 states. Second operand 75 states. [2018-11-23 12:10:18,077 INFO L87 Difference]: Start difference. First operand 67 states. Second operand 75 states. [2018-11-23 12:10:18,080 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2018-11-23 12:10:18,080 INFO L93 Difference]: Finished difference Result 75 states and 90 transitions. [2018-11-23 12:10:18,080 INFO L276 IsEmpty]: Start isEmpty. Operand 75 states and 90 transitions. [2018-11-23 12:10:18,081 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2018-11-23 12:10:18,081 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2018-11-23 12:10:18,081 INFO L88 GeneralOperation]: Finished isEquivalent. [2018-11-23 12:10:18,081 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2018-11-23 12:10:18,081 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 67 states. [2018-11-23 12:10:18,083 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 67 states to 67 states and 77 transitions. [2018-11-23 12:10:18,083 INFO L78 Accepts]: Start accepts. Automaton has 67 states and 77 transitions. Word has length 38 [2018-11-23 12:10:18,083 INFO L84 Accepts]: Finished accepts. word is rejected. [2018-11-23 12:10:18,083 INFO L480 AbstractCegarLoop]: Abstraction has 67 states and 77 transitions. [2018-11-23 12:10:18,083 INFO L481 AbstractCegarLoop]: Interpolant automaton has 7 states. [2018-11-23 12:10:18,084 INFO L276 IsEmpty]: Start isEmpty. Operand 67 states and 77 transitions. [2018-11-23 12:10:18,084 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 49 [2018-11-23 12:10:18,084 INFO L394 BasicCegarLoop]: Found error trace [2018-11-23 12:10:18,085 INFO L402 BasicCegarLoop]: trace histogram [2, 2, 2, 2, 2, 2, 2, 2, 2, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1] [2018-11-23 12:10:18,085 INFO L423 AbstractCegarLoop]: === Iteration 8 === [__VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION]=== [2018-11-23 12:10:18,085 INFO L141 PredicateUnifier]: Initialized classic predicate unifier [2018-11-23 12:10:18,085 INFO L82 PathProgramCache]: Analyzing trace with hash 896953579, now seen corresponding path program 1 times [2018-11-23 12:10:18,085 INFO L223 ckRefinementStrategy]: Switched to mode SMTINTERPOL_TREE_INTERPOLANTS [2018-11-23 12:10:18,086 INFO L69 tionRefinementEngine]: Using refinement strategy CamelRefinementStrategy [2018-11-23 12:10:18,086 INFO L119 rtionOrderModulation]: Craig_TreeInterpolation forces the order to NOT_INCREMENTALLY [2018-11-23 12:10:18,086 INFO L103 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2018-11-23 12:10:18,087 INFO L119 rtionOrderModulation]: Craig_TreeInterpolation forces the order to NOT_INCREMENTALLY [2018-11-23 12:10:18,106 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2018-11-23 12:10:18,616 INFO L256 TraceCheckUtils]: 0: Hoare triple {2692#true} call ULTIMATE.init(); {2692#true} is VALID [2018-11-23 12:10:18,616 INFO L273 TraceCheckUtils]: 1: Hoare triple {2692#true} #NULL.base, #NULL.offset := 0, 0;#valid := #valid[0 := 0];~SIZE~0 := 100000; {2694#(<= 100000 ~SIZE~0)} is VALID [2018-11-23 12:10:18,619 INFO L273 TraceCheckUtils]: 2: Hoare triple {2694#(<= 100000 ~SIZE~0)} assume true; {2694#(<= 100000 ~SIZE~0)} is VALID [2018-11-23 12:10:18,619 INFO L268 TraceCheckUtils]: 3: Hoare quadruple {2694#(<= 100000 ~SIZE~0)} {2692#true} #123#return; {2694#(<= 100000 ~SIZE~0)} is VALID [2018-11-23 12:10:18,619 INFO L256 TraceCheckUtils]: 4: Hoare triple {2694#(<= 100000 ~SIZE~0)} call #t~ret13 := main(); {2694#(<= 100000 ~SIZE~0)} is VALID [2018-11-23 12:10:18,624 INFO L273 TraceCheckUtils]: 5: Hoare triple {2694#(<= 100000 ~SIZE~0)} havoc ~i~1;havoc ~pos~0;~n~0 := 0;~found~0 := 0;call ~#set~0.base, ~#set~0.offset := #Ultimate.alloc(4 * ~SIZE~0);call ~#values~0.base, ~#values~0.offset := #Ultimate.alloc(4 * ~SIZE~0);havoc ~element~0;havoc ~v~0;~v~0 := 0; {2695#(and (= main_~v~0 0) (<= 100000 ~SIZE~0))} is VALID [2018-11-23 12:10:18,624 INFO L273 TraceCheckUtils]: 6: Hoare triple {2695#(and (= main_~v~0 0) (<= 100000 ~SIZE~0))} assume !!(~v~0 < ~SIZE~0);call #t~mem3 := read~int(~#values~0.base, ~#values~0.offset + 4 * ~v~0, 4); {2695#(and (= main_~v~0 0) (<= 100000 ~SIZE~0))} is VALID [2018-11-23 12:10:18,624 INFO L256 TraceCheckUtils]: 7: Hoare triple {2695#(and (= main_~v~0 0) (<= 100000 ~SIZE~0))} call #t~ret4 := elem_exists(~#set~0.base, ~#set~0.offset, ~n~0, #t~mem3); {2692#true} is VALID [2018-11-23 12:10:18,624 INFO L273 TraceCheckUtils]: 8: Hoare triple {2692#true} ~set.base, ~set.offset := #in~set.base, #in~set.offset;~size := #in~size;~value := #in~value;havoc ~i~0;~i~0 := 0; {2692#true} is VALID [2018-11-23 12:10:18,625 INFO L273 TraceCheckUtils]: 9: Hoare triple {2692#true} assume !(~i~0 < ~size); {2692#true} is VALID [2018-11-23 12:10:18,625 INFO L273 TraceCheckUtils]: 10: Hoare triple {2692#true} #res := 0; {2692#true} is VALID [2018-11-23 12:10:18,625 INFO L273 TraceCheckUtils]: 11: Hoare triple {2692#true} assume true; {2692#true} is VALID [2018-11-23 12:10:18,626 INFO L268 TraceCheckUtils]: 12: Hoare quadruple {2692#true} {2695#(and (= main_~v~0 0) (<= 100000 ~SIZE~0))} #127#return; {2695#(and (= main_~v~0 0) (<= 100000 ~SIZE~0))} is VALID [2018-11-23 12:10:18,626 INFO L273 TraceCheckUtils]: 13: Hoare triple {2695#(and (= main_~v~0 0) (<= 100000 ~SIZE~0))} assume -2147483648 <= #t~ret4 && #t~ret4 <= 2147483647; {2695#(and (= main_~v~0 0) (<= 100000 ~SIZE~0))} is VALID [2018-11-23 12:10:18,631 INFO L273 TraceCheckUtils]: 14: Hoare triple {2695#(and (= main_~v~0 0) (<= 100000 ~SIZE~0))} assume 1 != #t~ret4;havoc #t~ret4;havoc #t~mem3;call #t~mem5 := read~int(~#values~0.base, ~#values~0.offset + 4 * ~v~0, 4); {2695#(and (= main_~v~0 0) (<= 100000 ~SIZE~0))} is VALID [2018-11-23 12:10:18,631 INFO L256 TraceCheckUtils]: 15: Hoare triple {2695#(and (= main_~v~0 0) (<= 100000 ~SIZE~0))} call #t~ret6 := insert(~#set~0.base, ~#set~0.offset, ~n~0, #t~mem5); {2692#true} is VALID [2018-11-23 12:10:18,631 INFO L273 TraceCheckUtils]: 16: Hoare triple {2692#true} ~set.base, ~set.offset := #in~set.base, #in~set.offset;~size := #in~size;~value := #in~value;call write~int(~value, ~set.base, ~set.offset + 4 * ~size, 4);#res := 1 + ~size; {2692#true} is VALID [2018-11-23 12:10:18,631 INFO L273 TraceCheckUtils]: 17: Hoare triple {2692#true} assume true; {2692#true} is VALID [2018-11-23 12:10:18,633 INFO L268 TraceCheckUtils]: 18: Hoare quadruple {2692#true} {2695#(and (= main_~v~0 0) (<= 100000 ~SIZE~0))} #129#return; {2695#(and (= main_~v~0 0) (<= 100000 ~SIZE~0))} is VALID [2018-11-23 12:10:18,633 INFO L273 TraceCheckUtils]: 19: Hoare triple {2695#(and (= main_~v~0 0) (<= 100000 ~SIZE~0))} assume -2147483648 <= #t~ret6 && #t~ret6 <= 2147483647;~n~0 := #t~ret6;havoc #t~mem5;havoc #t~ret6; {2695#(and (= main_~v~0 0) (<= 100000 ~SIZE~0))} is VALID [2018-11-23 12:10:18,636 INFO L273 TraceCheckUtils]: 20: Hoare triple {2695#(and (= main_~v~0 0) (<= 100000 ~SIZE~0))} #t~post2 := ~v~0;~v~0 := 1 + #t~post2;havoc #t~post2; {2696#(<= (+ main_~v~0 99999) ~SIZE~0)} is VALID [2018-11-23 12:10:18,636 INFO L273 TraceCheckUtils]: 21: Hoare triple {2696#(<= (+ main_~v~0 99999) ~SIZE~0)} assume !!(~v~0 < ~SIZE~0);call #t~mem3 := read~int(~#values~0.base, ~#values~0.offset + 4 * ~v~0, 4); {2696#(<= (+ main_~v~0 99999) ~SIZE~0)} is VALID [2018-11-23 12:10:18,636 INFO L256 TraceCheckUtils]: 22: Hoare triple {2696#(<= (+ main_~v~0 99999) ~SIZE~0)} call #t~ret4 := elem_exists(~#set~0.base, ~#set~0.offset, ~n~0, #t~mem3); {2692#true} is VALID [2018-11-23 12:10:18,636 INFO L273 TraceCheckUtils]: 23: Hoare triple {2692#true} ~set.base, ~set.offset := #in~set.base, #in~set.offset;~size := #in~size;~value := #in~value;havoc ~i~0;~i~0 := 0; {2692#true} is VALID [2018-11-23 12:10:18,636 INFO L273 TraceCheckUtils]: 24: Hoare triple {2692#true} assume !!(~i~0 < ~size);call #t~mem1 := read~int(~set.base, ~set.offset + 4 * ~i~0, 4); {2692#true} is VALID [2018-11-23 12:10:18,637 INFO L273 TraceCheckUtils]: 25: Hoare triple {2692#true} assume #t~mem1 == ~value;havoc #t~mem1;#res := 1; {2692#true} is VALID [2018-11-23 12:10:18,637 INFO L273 TraceCheckUtils]: 26: Hoare triple {2692#true} assume true; {2692#true} is VALID [2018-11-23 12:10:18,638 INFO L268 TraceCheckUtils]: 27: Hoare quadruple {2692#true} {2696#(<= (+ main_~v~0 99999) ~SIZE~0)} #127#return; {2696#(<= (+ main_~v~0 99999) ~SIZE~0)} is VALID [2018-11-23 12:10:18,639 INFO L273 TraceCheckUtils]: 28: Hoare triple {2696#(<= (+ main_~v~0 99999) ~SIZE~0)} assume -2147483648 <= #t~ret4 && #t~ret4 <= 2147483647; {2696#(<= (+ main_~v~0 99999) ~SIZE~0)} is VALID [2018-11-23 12:10:18,639 INFO L273 TraceCheckUtils]: 29: Hoare triple {2696#(<= (+ main_~v~0 99999) ~SIZE~0)} assume !(1 != #t~ret4);havoc #t~ret4;havoc #t~mem3; {2696#(<= (+ main_~v~0 99999) ~SIZE~0)} is VALID [2018-11-23 12:10:18,642 INFO L273 TraceCheckUtils]: 30: Hoare triple {2696#(<= (+ main_~v~0 99999) ~SIZE~0)} #t~post2 := ~v~0;~v~0 := 1 + #t~post2;havoc #t~post2; {2697#(<= (+ main_~v~0 99998) ~SIZE~0)} is VALID [2018-11-23 12:10:18,642 INFO L273 TraceCheckUtils]: 31: Hoare triple {2697#(<= (+ main_~v~0 99998) ~SIZE~0)} assume !(~v~0 < ~SIZE~0); {2693#false} is VALID [2018-11-23 12:10:18,642 INFO L273 TraceCheckUtils]: 32: Hoare triple {2693#false} ~i~1 := 0; {2693#false} is VALID [2018-11-23 12:10:18,642 INFO L273 TraceCheckUtils]: 33: Hoare triple {2693#false} assume !!(~i~1 < ~SIZE~0 && 1 != ~found~0);call #t~mem8 := read~int(~#set~0.base, ~#set~0.offset + 4 * ~i~1, 4); {2693#false} is VALID [2018-11-23 12:10:18,643 INFO L273 TraceCheckUtils]: 34: Hoare triple {2693#false} assume !(#t~mem8 == ~element~0);havoc #t~mem8; {2693#false} is VALID [2018-11-23 12:10:18,643 INFO L273 TraceCheckUtils]: 35: Hoare triple {2693#false} #t~post7 := ~i~1;~i~1 := 1 + #t~post7;havoc #t~post7; {2693#false} is VALID [2018-11-23 12:10:18,643 INFO L273 TraceCheckUtils]: 36: Hoare triple {2693#false} assume !!(~i~1 < ~SIZE~0 && 1 != ~found~0);call #t~mem8 := read~int(~#set~0.base, ~#set~0.offset + 4 * ~i~1, 4); {2693#false} is VALID [2018-11-23 12:10:18,643 INFO L273 TraceCheckUtils]: 37: Hoare triple {2693#false} assume #t~mem8 == ~element~0;havoc #t~mem8;~found~0 := 1;~pos~0 := ~i~1; {2693#false} is VALID [2018-11-23 12:10:18,643 INFO L273 TraceCheckUtils]: 38: Hoare triple {2693#false} #t~post7 := ~i~1;~i~1 := 1 + #t~post7;havoc #t~post7; {2693#false} is VALID [2018-11-23 12:10:18,643 INFO L273 TraceCheckUtils]: 39: Hoare triple {2693#false} assume !(~i~1 < ~SIZE~0 && 1 != ~found~0); {2693#false} is VALID [2018-11-23 12:10:18,644 INFO L273 TraceCheckUtils]: 40: Hoare triple {2693#false} assume 1 == ~found~0;~i~1 := ~pos~0; {2693#false} is VALID [2018-11-23 12:10:18,644 INFO L273 TraceCheckUtils]: 41: Hoare triple {2693#false} assume !(~i~1 < ~SIZE~0 - 1); {2693#false} is VALID [2018-11-23 12:10:18,644 INFO L273 TraceCheckUtils]: 42: Hoare triple {2693#false} assume 1 == ~found~0;~i~1 := 0; {2693#false} is VALID [2018-11-23 12:10:18,644 INFO L273 TraceCheckUtils]: 43: Hoare triple {2693#false} assume !!(~i~1 < ~SIZE~0 - 1);call #t~mem12 := read~int(~#set~0.base, ~#set~0.offset + 4 * ~i~1, 4); {2693#false} is VALID [2018-11-23 12:10:18,645 INFO L256 TraceCheckUtils]: 44: Hoare triple {2693#false} call __VERIFIER_assert((if #t~mem12 != ~element~0 then 1 else 0)); {2693#false} is VALID [2018-11-23 12:10:18,645 INFO L273 TraceCheckUtils]: 45: Hoare triple {2693#false} ~cond := #in~cond; {2693#false} is VALID [2018-11-23 12:10:18,645 INFO L273 TraceCheckUtils]: 46: Hoare triple {2693#false} assume 0 == ~cond; {2693#false} is VALID [2018-11-23 12:10:18,645 INFO L273 TraceCheckUtils]: 47: Hoare triple {2693#false} assume !false; {2693#false} is VALID [2018-11-23 12:10:18,647 INFO L134 CoverageAnalysis]: Checked inductivity of 16 backedges. 0 proven. 7 refuted. 0 times theorem prover too weak. 9 trivial. 0 not checked. [2018-11-23 12:10:18,647 INFO L300 seRefinementStrategy]: The current sequences of interpolants are not accepted, trying to find more. [2018-11-23 12:10:18,647 INFO L223 ckRefinementStrategy]: Switched to mode Z3_FP No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 Starting monitored process 5 with z3 -smt2 -in SMTLIB2_COMPLIANT=true -t:12000 (exit command is (exit), workingDir is null) Waiting until toolchain timeout for monitored process 5 with z3 -smt2 -in SMTLIB2_COMPLIANT=true -t:12000 [2018-11-23 12:10:18,657 INFO L103 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2018-11-23 12:10:18,693 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2018-11-23 12:10:18,724 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2018-11-23 12:10:18,726 INFO L273 TraceCheckSpWp]: Computing forward predicates... [2018-11-23 12:10:19,031 INFO L256 TraceCheckUtils]: 0: Hoare triple {2692#true} call ULTIMATE.init(); {2692#true} is VALID [2018-11-23 12:10:19,031 INFO L273 TraceCheckUtils]: 1: Hoare triple {2692#true} #NULL.base, #NULL.offset := 0, 0;#valid := #valid[0 := 0];~SIZE~0 := 100000; {2694#(<= 100000 ~SIZE~0)} is VALID [2018-11-23 12:10:19,032 INFO L273 TraceCheckUtils]: 2: Hoare triple {2694#(<= 100000 ~SIZE~0)} assume true; {2694#(<= 100000 ~SIZE~0)} is VALID [2018-11-23 12:10:19,033 INFO L268 TraceCheckUtils]: 3: Hoare quadruple {2694#(<= 100000 ~SIZE~0)} {2692#true} #123#return; {2694#(<= 100000 ~SIZE~0)} is VALID [2018-11-23 12:10:19,034 INFO L256 TraceCheckUtils]: 4: Hoare triple {2694#(<= 100000 ~SIZE~0)} call #t~ret13 := main(); {2694#(<= 100000 ~SIZE~0)} is VALID [2018-11-23 12:10:19,036 INFO L273 TraceCheckUtils]: 5: Hoare triple {2694#(<= 100000 ~SIZE~0)} havoc ~i~1;havoc ~pos~0;~n~0 := 0;~found~0 := 0;call ~#set~0.base, ~#set~0.offset := #Ultimate.alloc(4 * ~SIZE~0);call ~#values~0.base, ~#values~0.offset := #Ultimate.alloc(4 * ~SIZE~0);havoc ~element~0;havoc ~v~0;~v~0 := 0; {2716#(and (<= main_~v~0 0) (<= 100000 ~SIZE~0))} is VALID [2018-11-23 12:10:19,036 INFO L273 TraceCheckUtils]: 6: Hoare triple {2716#(and (<= main_~v~0 0) (<= 100000 ~SIZE~0))} assume !!(~v~0 < ~SIZE~0);call #t~mem3 := read~int(~#values~0.base, ~#values~0.offset + 4 * ~v~0, 4); {2716#(and (<= main_~v~0 0) (<= 100000 ~SIZE~0))} is VALID [2018-11-23 12:10:19,037 INFO L256 TraceCheckUtils]: 7: Hoare triple {2716#(and (<= main_~v~0 0) (<= 100000 ~SIZE~0))} call #t~ret4 := elem_exists(~#set~0.base, ~#set~0.offset, ~n~0, #t~mem3); {2694#(<= 100000 ~SIZE~0)} is VALID [2018-11-23 12:10:19,038 INFO L273 TraceCheckUtils]: 8: Hoare triple {2694#(<= 100000 ~SIZE~0)} ~set.base, ~set.offset := #in~set.base, #in~set.offset;~size := #in~size;~value := #in~value;havoc ~i~0;~i~0 := 0; {2694#(<= 100000 ~SIZE~0)} is VALID [2018-11-23 12:10:19,038 INFO L273 TraceCheckUtils]: 9: Hoare triple {2694#(<= 100000 ~SIZE~0)} assume !(~i~0 < ~size); {2694#(<= 100000 ~SIZE~0)} is VALID [2018-11-23 12:10:19,038 INFO L273 TraceCheckUtils]: 10: Hoare triple {2694#(<= 100000 ~SIZE~0)} #res := 0; {2694#(<= 100000 ~SIZE~0)} is VALID [2018-11-23 12:10:19,039 INFO L273 TraceCheckUtils]: 11: Hoare triple {2694#(<= 100000 ~SIZE~0)} assume true; {2694#(<= 100000 ~SIZE~0)} is VALID [2018-11-23 12:10:19,040 INFO L268 TraceCheckUtils]: 12: Hoare quadruple {2694#(<= 100000 ~SIZE~0)} {2716#(and (<= main_~v~0 0) (<= 100000 ~SIZE~0))} #127#return; {2716#(and (<= main_~v~0 0) (<= 100000 ~SIZE~0))} is VALID [2018-11-23 12:10:19,041 INFO L273 TraceCheckUtils]: 13: Hoare triple {2716#(and (<= main_~v~0 0) (<= 100000 ~SIZE~0))} assume -2147483648 <= #t~ret4 && #t~ret4 <= 2147483647; {2716#(and (<= main_~v~0 0) (<= 100000 ~SIZE~0))} is VALID [2018-11-23 12:10:19,042 INFO L273 TraceCheckUtils]: 14: Hoare triple {2716#(and (<= main_~v~0 0) (<= 100000 ~SIZE~0))} assume 1 != #t~ret4;havoc #t~ret4;havoc #t~mem3;call #t~mem5 := read~int(~#values~0.base, ~#values~0.offset + 4 * ~v~0, 4); {2716#(and (<= main_~v~0 0) (<= 100000 ~SIZE~0))} is VALID [2018-11-23 12:10:19,043 INFO L256 TraceCheckUtils]: 15: Hoare triple {2716#(and (<= main_~v~0 0) (<= 100000 ~SIZE~0))} call #t~ret6 := insert(~#set~0.base, ~#set~0.offset, ~n~0, #t~mem5); {2694#(<= 100000 ~SIZE~0)} is VALID [2018-11-23 12:10:19,043 INFO L273 TraceCheckUtils]: 16: Hoare triple {2694#(<= 100000 ~SIZE~0)} ~set.base, ~set.offset := #in~set.base, #in~set.offset;~size := #in~size;~value := #in~value;call write~int(~value, ~set.base, ~set.offset + 4 * ~size, 4);#res := 1 + ~size; {2694#(<= 100000 ~SIZE~0)} is VALID [2018-11-23 12:10:19,044 INFO L273 TraceCheckUtils]: 17: Hoare triple {2694#(<= 100000 ~SIZE~0)} assume true; {2694#(<= 100000 ~SIZE~0)} is VALID [2018-11-23 12:10:19,045 INFO L268 TraceCheckUtils]: 18: Hoare quadruple {2694#(<= 100000 ~SIZE~0)} {2716#(and (<= main_~v~0 0) (<= 100000 ~SIZE~0))} #129#return; {2716#(and (<= main_~v~0 0) (<= 100000 ~SIZE~0))} is VALID [2018-11-23 12:10:19,046 INFO L273 TraceCheckUtils]: 19: Hoare triple {2716#(and (<= main_~v~0 0) (<= 100000 ~SIZE~0))} assume -2147483648 <= #t~ret6 && #t~ret6 <= 2147483647;~n~0 := #t~ret6;havoc #t~mem5;havoc #t~ret6; {2716#(and (<= main_~v~0 0) (<= 100000 ~SIZE~0))} is VALID [2018-11-23 12:10:19,047 INFO L273 TraceCheckUtils]: 20: Hoare triple {2716#(and (<= main_~v~0 0) (<= 100000 ~SIZE~0))} #t~post2 := ~v~0;~v~0 := 1 + #t~post2;havoc #t~post2; {2762#(and (<= main_~v~0 1) (<= 100000 ~SIZE~0))} is VALID [2018-11-23 12:10:19,048 INFO L273 TraceCheckUtils]: 21: Hoare triple {2762#(and (<= main_~v~0 1) (<= 100000 ~SIZE~0))} assume !!(~v~0 < ~SIZE~0);call #t~mem3 := read~int(~#values~0.base, ~#values~0.offset + 4 * ~v~0, 4); {2762#(and (<= main_~v~0 1) (<= 100000 ~SIZE~0))} is VALID [2018-11-23 12:10:19,049 INFO L256 TraceCheckUtils]: 22: Hoare triple {2762#(and (<= main_~v~0 1) (<= 100000 ~SIZE~0))} call #t~ret4 := elem_exists(~#set~0.base, ~#set~0.offset, ~n~0, #t~mem3); {2694#(<= 100000 ~SIZE~0)} is VALID [2018-11-23 12:10:19,056 INFO L273 TraceCheckUtils]: 23: Hoare triple {2694#(<= 100000 ~SIZE~0)} ~set.base, ~set.offset := #in~set.base, #in~set.offset;~size := #in~size;~value := #in~value;havoc ~i~0;~i~0 := 0; {2694#(<= 100000 ~SIZE~0)} is VALID [2018-11-23 12:10:19,057 INFO L273 TraceCheckUtils]: 24: Hoare triple {2694#(<= 100000 ~SIZE~0)} assume !!(~i~0 < ~size);call #t~mem1 := read~int(~set.base, ~set.offset + 4 * ~i~0, 4); {2694#(<= 100000 ~SIZE~0)} is VALID [2018-11-23 12:10:19,057 INFO L273 TraceCheckUtils]: 25: Hoare triple {2694#(<= 100000 ~SIZE~0)} assume #t~mem1 == ~value;havoc #t~mem1;#res := 1; {2694#(<= 100000 ~SIZE~0)} is VALID [2018-11-23 12:10:19,057 INFO L273 TraceCheckUtils]: 26: Hoare triple {2694#(<= 100000 ~SIZE~0)} assume true; {2694#(<= 100000 ~SIZE~0)} is VALID [2018-11-23 12:10:19,058 INFO L268 TraceCheckUtils]: 27: Hoare quadruple {2694#(<= 100000 ~SIZE~0)} {2762#(and (<= main_~v~0 1) (<= 100000 ~SIZE~0))} #127#return; {2762#(and (<= main_~v~0 1) (<= 100000 ~SIZE~0))} is VALID [2018-11-23 12:10:19,059 INFO L273 TraceCheckUtils]: 28: Hoare triple {2762#(and (<= main_~v~0 1) (<= 100000 ~SIZE~0))} assume -2147483648 <= #t~ret4 && #t~ret4 <= 2147483647; {2762#(and (<= main_~v~0 1) (<= 100000 ~SIZE~0))} is VALID [2018-11-23 12:10:19,059 INFO L273 TraceCheckUtils]: 29: Hoare triple {2762#(and (<= main_~v~0 1) (<= 100000 ~SIZE~0))} assume !(1 != #t~ret4);havoc #t~ret4;havoc #t~mem3; {2762#(and (<= main_~v~0 1) (<= 100000 ~SIZE~0))} is VALID [2018-11-23 12:10:19,060 INFO L273 TraceCheckUtils]: 30: Hoare triple {2762#(and (<= main_~v~0 1) (<= 100000 ~SIZE~0))} #t~post2 := ~v~0;~v~0 := 1 + #t~post2;havoc #t~post2; {2793#(and (<= main_~v~0 2) (<= 100000 ~SIZE~0))} is VALID [2018-11-23 12:10:19,060 INFO L273 TraceCheckUtils]: 31: Hoare triple {2793#(and (<= main_~v~0 2) (<= 100000 ~SIZE~0))} assume !(~v~0 < ~SIZE~0); {2693#false} is VALID [2018-11-23 12:10:19,061 INFO L273 TraceCheckUtils]: 32: Hoare triple {2693#false} ~i~1 := 0; {2693#false} is VALID [2018-11-23 12:10:19,061 INFO L273 TraceCheckUtils]: 33: Hoare triple {2693#false} assume !!(~i~1 < ~SIZE~0 && 1 != ~found~0);call #t~mem8 := read~int(~#set~0.base, ~#set~0.offset + 4 * ~i~1, 4); {2693#false} is VALID [2018-11-23 12:10:19,061 INFO L273 TraceCheckUtils]: 34: Hoare triple {2693#false} assume !(#t~mem8 == ~element~0);havoc #t~mem8; {2693#false} is VALID [2018-11-23 12:10:19,061 INFO L273 TraceCheckUtils]: 35: Hoare triple {2693#false} #t~post7 := ~i~1;~i~1 := 1 + #t~post7;havoc #t~post7; {2693#false} is VALID [2018-11-23 12:10:19,062 INFO L273 TraceCheckUtils]: 36: Hoare triple {2693#false} assume !!(~i~1 < ~SIZE~0 && 1 != ~found~0);call #t~mem8 := read~int(~#set~0.base, ~#set~0.offset + 4 * ~i~1, 4); {2693#false} is VALID [2018-11-23 12:10:19,062 INFO L273 TraceCheckUtils]: 37: Hoare triple {2693#false} assume #t~mem8 == ~element~0;havoc #t~mem8;~found~0 := 1;~pos~0 := ~i~1; {2693#false} is VALID [2018-11-23 12:10:19,062 INFO L273 TraceCheckUtils]: 38: Hoare triple {2693#false} #t~post7 := ~i~1;~i~1 := 1 + #t~post7;havoc #t~post7; {2693#false} is VALID [2018-11-23 12:10:19,062 INFO L273 TraceCheckUtils]: 39: Hoare triple {2693#false} assume !(~i~1 < ~SIZE~0 && 1 != ~found~0); {2693#false} is VALID [2018-11-23 12:10:19,062 INFO L273 TraceCheckUtils]: 40: Hoare triple {2693#false} assume 1 == ~found~0;~i~1 := ~pos~0; {2693#false} is VALID [2018-11-23 12:10:19,063 INFO L273 TraceCheckUtils]: 41: Hoare triple {2693#false} assume !(~i~1 < ~SIZE~0 - 1); {2693#false} is VALID [2018-11-23 12:10:19,063 INFO L273 TraceCheckUtils]: 42: Hoare triple {2693#false} assume 1 == ~found~0;~i~1 := 0; {2693#false} is VALID [2018-11-23 12:10:19,063 INFO L273 TraceCheckUtils]: 43: Hoare triple {2693#false} assume !!(~i~1 < ~SIZE~0 - 1);call #t~mem12 := read~int(~#set~0.base, ~#set~0.offset + 4 * ~i~1, 4); {2693#false} is VALID [2018-11-23 12:10:19,063 INFO L256 TraceCheckUtils]: 44: Hoare triple {2693#false} call __VERIFIER_assert((if #t~mem12 != ~element~0 then 1 else 0)); {2693#false} is VALID [2018-11-23 12:10:19,064 INFO L273 TraceCheckUtils]: 45: Hoare triple {2693#false} ~cond := #in~cond; {2693#false} is VALID [2018-11-23 12:10:19,064 INFO L273 TraceCheckUtils]: 46: Hoare triple {2693#false} assume 0 == ~cond; {2693#false} is VALID [2018-11-23 12:10:19,064 INFO L273 TraceCheckUtils]: 47: Hoare triple {2693#false} assume !false; {2693#false} is VALID [2018-11-23 12:10:19,067 INFO L134 CoverageAnalysis]: Checked inductivity of 16 backedges. 0 proven. 7 refuted. 0 times theorem prover too weak. 9 trivial. 0 not checked. [2018-11-23 12:10:19,085 INFO L312 seRefinementStrategy]: Constructing automaton from 0 perfect and 2 imperfect interpolant sequences. [2018-11-23 12:10:19,086 INFO L327 seRefinementStrategy]: Number of different interpolants: perfect sequences [] imperfect sequences [6, 6] total 9 [2018-11-23 12:10:19,086 INFO L78 Accepts]: Start accepts. Automaton has 9 states. Word has length 48 [2018-11-23 12:10:19,086 INFO L84 Accepts]: Finished accepts. word is accepted. [2018-11-23 12:10:19,086 INFO L86 InductivityCheck]: Starting indutivity check of a Floyd-Hoare automaton with 9 states. [2018-11-23 12:10:19,151 INFO L119 InductivityCheck]: Floyd-Hoare automaton has 69 edges. 69 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2018-11-23 12:10:19,151 INFO L459 AbstractCegarLoop]: Interpolant automaton has 9 states [2018-11-23 12:10:19,151 INFO L142 InterpolantAutomaton]: Constructing interpolant automaton starting with 9 interpolants. [2018-11-23 12:10:19,152 INFO L144 InterpolantAutomaton]: CoverageRelationStatistics Valid=33, Invalid=39, Unknown=0, NotChecked=0, Total=72 [2018-11-23 12:10:19,152 INFO L87 Difference]: Start difference. First operand 67 states and 77 transitions. Second operand 9 states. [2018-11-23 12:10:19,647 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2018-11-23 12:10:19,648 INFO L93 Difference]: Finished difference Result 112 states and 136 transitions. [2018-11-23 12:10:19,648 INFO L142 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 6 states. [2018-11-23 12:10:19,648 INFO L78 Accepts]: Start accepts. Automaton has 9 states. Word has length 48 [2018-11-23 12:10:19,648 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2018-11-23 12:10:19,648 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 9 states. [2018-11-23 12:10:19,650 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 6 states to 6 states and 99 transitions. [2018-11-23 12:10:19,651 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 9 states. [2018-11-23 12:10:19,653 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 6 states to 6 states and 99 transitions. [2018-11-23 12:10:19,653 INFO L86 InductivityCheck]: Starting indutivity check of a Floyd-Hoare automaton with 6 states and 99 transitions. [2018-11-23 12:10:19,770 INFO L119 InductivityCheck]: Floyd-Hoare automaton has 99 edges. 99 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2018-11-23 12:10:19,773 INFO L225 Difference]: With dead ends: 112 [2018-11-23 12:10:19,773 INFO L226 Difference]: Without dead ends: 84 [2018-11-23 12:10:19,774 INFO L631 BasicCegarLoop]: 0 DeclaredPredicates, 53 GetRequests, 46 SyntacticMatches, 0 SemanticMatches, 7 ConstructedPredicates, 0 IntricatePredicates, 0 DeprecatedPredicates, 9 ImplicationChecksByTransitivity, 0.4s TimeCoverageRelationStatistics Valid=33, Invalid=39, Unknown=0, NotChecked=0, Total=72 [2018-11-23 12:10:19,775 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 84 states. [2018-11-23 12:10:19,891 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 84 to 76. [2018-11-23 12:10:19,891 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2018-11-23 12:10:19,891 INFO L82 GeneralOperation]: Start isEquivalent. First operand 84 states. Second operand 76 states. [2018-11-23 12:10:19,891 INFO L74 IsIncluded]: Start isIncluded. First operand 84 states. Second operand 76 states. [2018-11-23 12:10:19,891 INFO L87 Difference]: Start difference. First operand 84 states. Second operand 76 states. [2018-11-23 12:10:19,895 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2018-11-23 12:10:19,895 INFO L93 Difference]: Finished difference Result 84 states and 104 transitions. [2018-11-23 12:10:19,895 INFO L276 IsEmpty]: Start isEmpty. Operand 84 states and 104 transitions. [2018-11-23 12:10:19,896 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2018-11-23 12:10:19,896 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2018-11-23 12:10:19,896 INFO L74 IsIncluded]: Start isIncluded. First operand 76 states. Second operand 84 states. [2018-11-23 12:10:19,896 INFO L87 Difference]: Start difference. First operand 76 states. Second operand 84 states. [2018-11-23 12:10:19,899 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2018-11-23 12:10:19,900 INFO L93 Difference]: Finished difference Result 84 states and 104 transitions. [2018-11-23 12:10:19,900 INFO L276 IsEmpty]: Start isEmpty. Operand 84 states and 104 transitions. [2018-11-23 12:10:19,900 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2018-11-23 12:10:19,900 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2018-11-23 12:10:19,900 INFO L88 GeneralOperation]: Finished isEquivalent. [2018-11-23 12:10:19,900 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2018-11-23 12:10:19,900 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 76 states. [2018-11-23 12:10:19,903 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 76 states to 76 states and 91 transitions. [2018-11-23 12:10:19,903 INFO L78 Accepts]: Start accepts. Automaton has 76 states and 91 transitions. Word has length 48 [2018-11-23 12:10:19,904 INFO L84 Accepts]: Finished accepts. word is rejected. [2018-11-23 12:10:19,904 INFO L480 AbstractCegarLoop]: Abstraction has 76 states and 91 transitions. [2018-11-23 12:10:19,904 INFO L481 AbstractCegarLoop]: Interpolant automaton has 9 states. [2018-11-23 12:10:19,904 INFO L276 IsEmpty]: Start isEmpty. Operand 76 states and 91 transitions. [2018-11-23 12:10:19,905 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 59 [2018-11-23 12:10:19,905 INFO L394 BasicCegarLoop]: Found error trace [2018-11-23 12:10:19,905 INFO L402 BasicCegarLoop]: trace histogram [3, 3, 3, 3, 3, 3, 3, 2, 2, 2, 2, 2, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1] [2018-11-23 12:10:19,905 INFO L423 AbstractCegarLoop]: === Iteration 9 === [__VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION]=== [2018-11-23 12:10:19,905 INFO L141 PredicateUnifier]: Initialized classic predicate unifier [2018-11-23 12:10:19,906 INFO L82 PathProgramCache]: Analyzing trace with hash 1552276824, now seen corresponding path program 2 times [2018-11-23 12:10:19,906 INFO L223 ckRefinementStrategy]: Switched to mode SMTINTERPOL_TREE_INTERPOLANTS [2018-11-23 12:10:19,906 INFO L69 tionRefinementEngine]: Using refinement strategy CamelRefinementStrategy [2018-11-23 12:10:19,906 INFO L119 rtionOrderModulation]: Craig_TreeInterpolation forces the order to NOT_INCREMENTALLY [2018-11-23 12:10:19,906 INFO L103 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2018-11-23 12:10:19,907 INFO L119 rtionOrderModulation]: Craig_TreeInterpolation forces the order to NOT_INCREMENTALLY [2018-11-23 12:10:19,938 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2018-11-23 12:10:20,122 INFO L256 TraceCheckUtils]: 0: Hoare triple {3268#true} call ULTIMATE.init(); {3268#true} is VALID [2018-11-23 12:10:20,123 INFO L273 TraceCheckUtils]: 1: Hoare triple {3268#true} #NULL.base, #NULL.offset := 0, 0;#valid := #valid[0 := 0];~SIZE~0 := 100000; {3270#(<= 100000 ~SIZE~0)} is VALID [2018-11-23 12:10:20,123 INFO L273 TraceCheckUtils]: 2: Hoare triple {3270#(<= 100000 ~SIZE~0)} assume true; {3270#(<= 100000 ~SIZE~0)} is VALID [2018-11-23 12:10:20,124 INFO L268 TraceCheckUtils]: 3: Hoare quadruple {3270#(<= 100000 ~SIZE~0)} {3268#true} #123#return; {3270#(<= 100000 ~SIZE~0)} is VALID [2018-11-23 12:10:20,126 INFO L256 TraceCheckUtils]: 4: Hoare triple {3270#(<= 100000 ~SIZE~0)} call #t~ret13 := main(); {3270#(<= 100000 ~SIZE~0)} is VALID [2018-11-23 12:10:20,127 INFO L273 TraceCheckUtils]: 5: Hoare triple {3270#(<= 100000 ~SIZE~0)} havoc ~i~1;havoc ~pos~0;~n~0 := 0;~found~0 := 0;call ~#set~0.base, ~#set~0.offset := #Ultimate.alloc(4 * ~SIZE~0);call ~#values~0.base, ~#values~0.offset := #Ultimate.alloc(4 * ~SIZE~0);havoc ~element~0;havoc ~v~0;~v~0 := 0; {3271#(and (= main_~v~0 0) (<= 100000 ~SIZE~0))} is VALID [2018-11-23 12:10:20,143 INFO L273 TraceCheckUtils]: 6: Hoare triple {3271#(and (= main_~v~0 0) (<= 100000 ~SIZE~0))} assume !!(~v~0 < ~SIZE~0);call #t~mem3 := read~int(~#values~0.base, ~#values~0.offset + 4 * ~v~0, 4); {3271#(and (= main_~v~0 0) (<= 100000 ~SIZE~0))} is VALID [2018-11-23 12:10:20,143 INFO L256 TraceCheckUtils]: 7: Hoare triple {3271#(and (= main_~v~0 0) (<= 100000 ~SIZE~0))} call #t~ret4 := elem_exists(~#set~0.base, ~#set~0.offset, ~n~0, #t~mem3); {3268#true} is VALID [2018-11-23 12:10:20,143 INFO L273 TraceCheckUtils]: 8: Hoare triple {3268#true} ~set.base, ~set.offset := #in~set.base, #in~set.offset;~size := #in~size;~value := #in~value;havoc ~i~0;~i~0 := 0; {3268#true} is VALID [2018-11-23 12:10:20,143 INFO L273 TraceCheckUtils]: 9: Hoare triple {3268#true} assume !(~i~0 < ~size); {3268#true} is VALID [2018-11-23 12:10:20,144 INFO L273 TraceCheckUtils]: 10: Hoare triple {3268#true} #res := 0; {3268#true} is VALID [2018-11-23 12:10:20,144 INFO L273 TraceCheckUtils]: 11: Hoare triple {3268#true} assume true; {3268#true} is VALID [2018-11-23 12:10:20,145 INFO L268 TraceCheckUtils]: 12: Hoare quadruple {3268#true} {3271#(and (= main_~v~0 0) (<= 100000 ~SIZE~0))} #127#return; {3271#(and (= main_~v~0 0) (<= 100000 ~SIZE~0))} is VALID [2018-11-23 12:10:20,145 INFO L273 TraceCheckUtils]: 13: Hoare triple {3271#(and (= main_~v~0 0) (<= 100000 ~SIZE~0))} assume -2147483648 <= #t~ret4 && #t~ret4 <= 2147483647; {3271#(and (= main_~v~0 0) (<= 100000 ~SIZE~0))} is VALID [2018-11-23 12:10:20,146 INFO L273 TraceCheckUtils]: 14: Hoare triple {3271#(and (= main_~v~0 0) (<= 100000 ~SIZE~0))} assume 1 != #t~ret4;havoc #t~ret4;havoc #t~mem3;call #t~mem5 := read~int(~#values~0.base, ~#values~0.offset + 4 * ~v~0, 4); {3271#(and (= main_~v~0 0) (<= 100000 ~SIZE~0))} is VALID [2018-11-23 12:10:20,146 INFO L256 TraceCheckUtils]: 15: Hoare triple {3271#(and (= main_~v~0 0) (<= 100000 ~SIZE~0))} call #t~ret6 := insert(~#set~0.base, ~#set~0.offset, ~n~0, #t~mem5); {3268#true} is VALID [2018-11-23 12:10:20,146 INFO L273 TraceCheckUtils]: 16: Hoare triple {3268#true} ~set.base, ~set.offset := #in~set.base, #in~set.offset;~size := #in~size;~value := #in~value;call write~int(~value, ~set.base, ~set.offset + 4 * ~size, 4);#res := 1 + ~size; {3268#true} is VALID [2018-11-23 12:10:20,146 INFO L273 TraceCheckUtils]: 17: Hoare triple {3268#true} assume true; {3268#true} is VALID [2018-11-23 12:10:20,147 INFO L268 TraceCheckUtils]: 18: Hoare quadruple {3268#true} {3271#(and (= main_~v~0 0) (<= 100000 ~SIZE~0))} #129#return; {3271#(and (= main_~v~0 0) (<= 100000 ~SIZE~0))} is VALID [2018-11-23 12:10:20,148 INFO L273 TraceCheckUtils]: 19: Hoare triple {3271#(and (= main_~v~0 0) (<= 100000 ~SIZE~0))} assume -2147483648 <= #t~ret6 && #t~ret6 <= 2147483647;~n~0 := #t~ret6;havoc #t~mem5;havoc #t~ret6; {3271#(and (= main_~v~0 0) (<= 100000 ~SIZE~0))} is VALID [2018-11-23 12:10:20,149 INFO L273 TraceCheckUtils]: 20: Hoare triple {3271#(and (= main_~v~0 0) (<= 100000 ~SIZE~0))} #t~post2 := ~v~0;~v~0 := 1 + #t~post2;havoc #t~post2; {3272#(<= (+ main_~v~0 99999) ~SIZE~0)} is VALID [2018-11-23 12:10:20,149 INFO L273 TraceCheckUtils]: 21: Hoare triple {3272#(<= (+ main_~v~0 99999) ~SIZE~0)} assume !!(~v~0 < ~SIZE~0);call #t~mem3 := read~int(~#values~0.base, ~#values~0.offset + 4 * ~v~0, 4); {3272#(<= (+ main_~v~0 99999) ~SIZE~0)} is VALID [2018-11-23 12:10:20,149 INFO L256 TraceCheckUtils]: 22: Hoare triple {3272#(<= (+ main_~v~0 99999) ~SIZE~0)} call #t~ret4 := elem_exists(~#set~0.base, ~#set~0.offset, ~n~0, #t~mem3); {3268#true} is VALID [2018-11-23 12:10:20,150 INFO L273 TraceCheckUtils]: 23: Hoare triple {3268#true} ~set.base, ~set.offset := #in~set.base, #in~set.offset;~size := #in~size;~value := #in~value;havoc ~i~0;~i~0 := 0; {3268#true} is VALID [2018-11-23 12:10:20,150 INFO L273 TraceCheckUtils]: 24: Hoare triple {3268#true} assume !!(~i~0 < ~size);call #t~mem1 := read~int(~set.base, ~set.offset + 4 * ~i~0, 4); {3268#true} is VALID [2018-11-23 12:10:20,150 INFO L273 TraceCheckUtils]: 25: Hoare triple {3268#true} assume #t~mem1 == ~value;havoc #t~mem1;#res := 1; {3268#true} is VALID [2018-11-23 12:10:20,150 INFO L273 TraceCheckUtils]: 26: Hoare triple {3268#true} assume true; {3268#true} is VALID [2018-11-23 12:10:20,152 INFO L268 TraceCheckUtils]: 27: Hoare quadruple {3268#true} {3272#(<= (+ main_~v~0 99999) ~SIZE~0)} #127#return; {3272#(<= (+ main_~v~0 99999) ~SIZE~0)} is VALID [2018-11-23 12:10:20,152 INFO L273 TraceCheckUtils]: 28: Hoare triple {3272#(<= (+ main_~v~0 99999) ~SIZE~0)} assume -2147483648 <= #t~ret4 && #t~ret4 <= 2147483647; {3272#(<= (+ main_~v~0 99999) ~SIZE~0)} is VALID [2018-11-23 12:10:20,152 INFO L273 TraceCheckUtils]: 29: Hoare triple {3272#(<= (+ main_~v~0 99999) ~SIZE~0)} assume !(1 != #t~ret4);havoc #t~ret4;havoc #t~mem3; {3272#(<= (+ main_~v~0 99999) ~SIZE~0)} is VALID [2018-11-23 12:10:20,153 INFO L273 TraceCheckUtils]: 30: Hoare triple {3272#(<= (+ main_~v~0 99999) ~SIZE~0)} #t~post2 := ~v~0;~v~0 := 1 + #t~post2;havoc #t~post2; {3273#(<= (+ main_~v~0 99998) ~SIZE~0)} is VALID [2018-11-23 12:10:20,153 INFO L273 TraceCheckUtils]: 31: Hoare triple {3273#(<= (+ main_~v~0 99998) ~SIZE~0)} assume !!(~v~0 < ~SIZE~0);call #t~mem3 := read~int(~#values~0.base, ~#values~0.offset + 4 * ~v~0, 4); {3273#(<= (+ main_~v~0 99998) ~SIZE~0)} is VALID [2018-11-23 12:10:20,153 INFO L256 TraceCheckUtils]: 32: Hoare triple {3273#(<= (+ main_~v~0 99998) ~SIZE~0)} call #t~ret4 := elem_exists(~#set~0.base, ~#set~0.offset, ~n~0, #t~mem3); {3268#true} is VALID [2018-11-23 12:10:20,154 INFO L273 TraceCheckUtils]: 33: Hoare triple {3268#true} ~set.base, ~set.offset := #in~set.base, #in~set.offset;~size := #in~size;~value := #in~value;havoc ~i~0;~i~0 := 0; {3268#true} is VALID [2018-11-23 12:10:20,154 INFO L273 TraceCheckUtils]: 34: Hoare triple {3268#true} assume !!(~i~0 < ~size);call #t~mem1 := read~int(~set.base, ~set.offset + 4 * ~i~0, 4); {3268#true} is VALID [2018-11-23 12:10:20,154 INFO L273 TraceCheckUtils]: 35: Hoare triple {3268#true} assume #t~mem1 == ~value;havoc #t~mem1;#res := 1; {3268#true} is VALID [2018-11-23 12:10:20,154 INFO L273 TraceCheckUtils]: 36: Hoare triple {3268#true} assume true; {3268#true} is VALID [2018-11-23 12:10:20,173 INFO L268 TraceCheckUtils]: 37: Hoare quadruple {3268#true} {3273#(<= (+ main_~v~0 99998) ~SIZE~0)} #127#return; {3273#(<= (+ main_~v~0 99998) ~SIZE~0)} is VALID [2018-11-23 12:10:20,182 INFO L273 TraceCheckUtils]: 38: Hoare triple {3273#(<= (+ main_~v~0 99998) ~SIZE~0)} assume -2147483648 <= #t~ret4 && #t~ret4 <= 2147483647; {3273#(<= (+ main_~v~0 99998) ~SIZE~0)} is VALID [2018-11-23 12:10:20,197 INFO L273 TraceCheckUtils]: 39: Hoare triple {3273#(<= (+ main_~v~0 99998) ~SIZE~0)} assume !(1 != #t~ret4);havoc #t~ret4;havoc #t~mem3; {3273#(<= (+ main_~v~0 99998) ~SIZE~0)} is VALID [2018-11-23 12:10:20,206 INFO L273 TraceCheckUtils]: 40: Hoare triple {3273#(<= (+ main_~v~0 99998) ~SIZE~0)} #t~post2 := ~v~0;~v~0 := 1 + #t~post2;havoc #t~post2; {3274#(<= (+ main_~v~0 99997) ~SIZE~0)} is VALID [2018-11-23 12:10:20,219 INFO L273 TraceCheckUtils]: 41: Hoare triple {3274#(<= (+ main_~v~0 99997) ~SIZE~0)} assume !(~v~0 < ~SIZE~0); {3269#false} is VALID [2018-11-23 12:10:20,219 INFO L273 TraceCheckUtils]: 42: Hoare triple {3269#false} ~i~1 := 0; {3269#false} is VALID [2018-11-23 12:10:20,219 INFO L273 TraceCheckUtils]: 43: Hoare triple {3269#false} assume !!(~i~1 < ~SIZE~0 && 1 != ~found~0);call #t~mem8 := read~int(~#set~0.base, ~#set~0.offset + 4 * ~i~1, 4); {3269#false} is VALID [2018-11-23 12:10:20,220 INFO L273 TraceCheckUtils]: 44: Hoare triple {3269#false} assume !(#t~mem8 == ~element~0);havoc #t~mem8; {3269#false} is VALID [2018-11-23 12:10:20,220 INFO L273 TraceCheckUtils]: 45: Hoare triple {3269#false} #t~post7 := ~i~1;~i~1 := 1 + #t~post7;havoc #t~post7; {3269#false} is VALID [2018-11-23 12:10:20,220 INFO L273 TraceCheckUtils]: 46: Hoare triple {3269#false} assume !!(~i~1 < ~SIZE~0 && 1 != ~found~0);call #t~mem8 := read~int(~#set~0.base, ~#set~0.offset + 4 * ~i~1, 4); {3269#false} is VALID [2018-11-23 12:10:20,220 INFO L273 TraceCheckUtils]: 47: Hoare triple {3269#false} assume #t~mem8 == ~element~0;havoc #t~mem8;~found~0 := 1;~pos~0 := ~i~1; {3269#false} is VALID [2018-11-23 12:10:20,220 INFO L273 TraceCheckUtils]: 48: Hoare triple {3269#false} #t~post7 := ~i~1;~i~1 := 1 + #t~post7;havoc #t~post7; {3269#false} is VALID [2018-11-23 12:10:20,221 INFO L273 TraceCheckUtils]: 49: Hoare triple {3269#false} assume !(~i~1 < ~SIZE~0 && 1 != ~found~0); {3269#false} is VALID [2018-11-23 12:10:20,221 INFO L273 TraceCheckUtils]: 50: Hoare triple {3269#false} assume 1 == ~found~0;~i~1 := ~pos~0; {3269#false} is VALID [2018-11-23 12:10:20,221 INFO L273 TraceCheckUtils]: 51: Hoare triple {3269#false} assume !(~i~1 < ~SIZE~0 - 1); {3269#false} is VALID [2018-11-23 12:10:20,221 INFO L273 TraceCheckUtils]: 52: Hoare triple {3269#false} assume 1 == ~found~0;~i~1 := 0; {3269#false} is VALID [2018-11-23 12:10:20,221 INFO L273 TraceCheckUtils]: 53: Hoare triple {3269#false} assume !!(~i~1 < ~SIZE~0 - 1);call #t~mem12 := read~int(~#set~0.base, ~#set~0.offset + 4 * ~i~1, 4); {3269#false} is VALID [2018-11-23 12:10:20,221 INFO L256 TraceCheckUtils]: 54: Hoare triple {3269#false} call __VERIFIER_assert((if #t~mem12 != ~element~0 then 1 else 0)); {3269#false} is VALID [2018-11-23 12:10:20,222 INFO L273 TraceCheckUtils]: 55: Hoare triple {3269#false} ~cond := #in~cond; {3269#false} is VALID [2018-11-23 12:10:20,222 INFO L273 TraceCheckUtils]: 56: Hoare triple {3269#false} assume 0 == ~cond; {3269#false} is VALID [2018-11-23 12:10:20,222 INFO L273 TraceCheckUtils]: 57: Hoare triple {3269#false} assume !false; {3269#false} is VALID [2018-11-23 12:10:20,225 INFO L134 CoverageAnalysis]: Checked inductivity of 36 backedges. 0 proven. 18 refuted. 0 times theorem prover too weak. 18 trivial. 0 not checked. [2018-11-23 12:10:20,226 INFO L300 seRefinementStrategy]: The current sequences of interpolants are not accepted, trying to find more. [2018-11-23 12:10:20,226 INFO L223 ckRefinementStrategy]: Switched to mode Z3_FP No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 Starting monitored process 6 with z3 -smt2 -in SMTLIB2_COMPLIANT=true -t:12000 (exit command is (exit), workingDir is null) Waiting until toolchain timeout for monitored process 6 with z3 -smt2 -in SMTLIB2_COMPLIANT=true -t:12000 [2018-11-23 12:10:20,237 INFO L103 rtionOrderModulation]: Keeping assertion order OUTSIDE_LOOP_FIRST1 [2018-11-23 12:10:20,278 INFO L249 tOrderPrioritization]: Assert order OUTSIDE_LOOP_FIRST1 issued 2 check-sat command(s) [2018-11-23 12:10:20,278 INFO L250 tOrderPrioritization]: Conjunction of SSA is unsat [2018-11-23 12:10:20,296 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2018-11-23 12:10:20,298 INFO L273 TraceCheckSpWp]: Computing forward predicates... [2018-11-23 12:10:20,478 INFO L256 TraceCheckUtils]: 0: Hoare triple {3268#true} call ULTIMATE.init(); {3268#true} is VALID [2018-11-23 12:10:20,479 INFO L273 TraceCheckUtils]: 1: Hoare triple {3268#true} #NULL.base, #NULL.offset := 0, 0;#valid := #valid[0 := 0];~SIZE~0 := 100000; {3270#(<= 100000 ~SIZE~0)} is VALID [2018-11-23 12:10:20,479 INFO L273 TraceCheckUtils]: 2: Hoare triple {3270#(<= 100000 ~SIZE~0)} assume true; {3270#(<= 100000 ~SIZE~0)} is VALID [2018-11-23 12:10:20,480 INFO L268 TraceCheckUtils]: 3: Hoare quadruple {3270#(<= 100000 ~SIZE~0)} {3268#true} #123#return; {3270#(<= 100000 ~SIZE~0)} is VALID [2018-11-23 12:10:20,481 INFO L256 TraceCheckUtils]: 4: Hoare triple {3270#(<= 100000 ~SIZE~0)} call #t~ret13 := main(); {3270#(<= 100000 ~SIZE~0)} is VALID [2018-11-23 12:10:20,482 INFO L273 TraceCheckUtils]: 5: Hoare triple {3270#(<= 100000 ~SIZE~0)} havoc ~i~1;havoc ~pos~0;~n~0 := 0;~found~0 := 0;call ~#set~0.base, ~#set~0.offset := #Ultimate.alloc(4 * ~SIZE~0);call ~#values~0.base, ~#values~0.offset := #Ultimate.alloc(4 * ~SIZE~0);havoc ~element~0;havoc ~v~0;~v~0 := 0; {3293#(and (<= main_~v~0 0) (<= 100000 ~SIZE~0))} is VALID [2018-11-23 12:10:20,482 INFO L273 TraceCheckUtils]: 6: Hoare triple {3293#(and (<= main_~v~0 0) (<= 100000 ~SIZE~0))} assume !!(~v~0 < ~SIZE~0);call #t~mem3 := read~int(~#values~0.base, ~#values~0.offset + 4 * ~v~0, 4); {3293#(and (<= main_~v~0 0) (<= 100000 ~SIZE~0))} is VALID [2018-11-23 12:10:20,484 INFO L256 TraceCheckUtils]: 7: Hoare triple {3293#(and (<= main_~v~0 0) (<= 100000 ~SIZE~0))} call #t~ret4 := elem_exists(~#set~0.base, ~#set~0.offset, ~n~0, #t~mem3); {3270#(<= 100000 ~SIZE~0)} is VALID [2018-11-23 12:10:20,484 INFO L273 TraceCheckUtils]: 8: Hoare triple {3270#(<= 100000 ~SIZE~0)} ~set.base, ~set.offset := #in~set.base, #in~set.offset;~size := #in~size;~value := #in~value;havoc ~i~0;~i~0 := 0; {3270#(<= 100000 ~SIZE~0)} is VALID [2018-11-23 12:10:20,485 INFO L273 TraceCheckUtils]: 9: Hoare triple {3270#(<= 100000 ~SIZE~0)} assume !(~i~0 < ~size); {3270#(<= 100000 ~SIZE~0)} is VALID [2018-11-23 12:10:20,486 INFO L273 TraceCheckUtils]: 10: Hoare triple {3270#(<= 100000 ~SIZE~0)} #res := 0; {3270#(<= 100000 ~SIZE~0)} is VALID [2018-11-23 12:10:20,486 INFO L273 TraceCheckUtils]: 11: Hoare triple {3270#(<= 100000 ~SIZE~0)} assume true; {3270#(<= 100000 ~SIZE~0)} is VALID [2018-11-23 12:10:20,487 INFO L268 TraceCheckUtils]: 12: Hoare quadruple {3270#(<= 100000 ~SIZE~0)} {3293#(and (<= main_~v~0 0) (<= 100000 ~SIZE~0))} #127#return; {3293#(and (<= main_~v~0 0) (<= 100000 ~SIZE~0))} is VALID [2018-11-23 12:10:20,488 INFO L273 TraceCheckUtils]: 13: Hoare triple {3293#(and (<= main_~v~0 0) (<= 100000 ~SIZE~0))} assume -2147483648 <= #t~ret4 && #t~ret4 <= 2147483647; {3293#(and (<= main_~v~0 0) (<= 100000 ~SIZE~0))} is VALID [2018-11-23 12:10:20,489 INFO L273 TraceCheckUtils]: 14: Hoare triple {3293#(and (<= main_~v~0 0) (<= 100000 ~SIZE~0))} assume 1 != #t~ret4;havoc #t~ret4;havoc #t~mem3;call #t~mem5 := read~int(~#values~0.base, ~#values~0.offset + 4 * ~v~0, 4); {3293#(and (<= main_~v~0 0) (<= 100000 ~SIZE~0))} is VALID [2018-11-23 12:10:20,490 INFO L256 TraceCheckUtils]: 15: Hoare triple {3293#(and (<= main_~v~0 0) (<= 100000 ~SIZE~0))} call #t~ret6 := insert(~#set~0.base, ~#set~0.offset, ~n~0, #t~mem5); {3270#(<= 100000 ~SIZE~0)} is VALID [2018-11-23 12:10:20,491 INFO L273 TraceCheckUtils]: 16: Hoare triple {3270#(<= 100000 ~SIZE~0)} ~set.base, ~set.offset := #in~set.base, #in~set.offset;~size := #in~size;~value := #in~value;call write~int(~value, ~set.base, ~set.offset + 4 * ~size, 4);#res := 1 + ~size; {3270#(<= 100000 ~SIZE~0)} is VALID [2018-11-23 12:10:20,492 INFO L273 TraceCheckUtils]: 17: Hoare triple {3270#(<= 100000 ~SIZE~0)} assume true; {3270#(<= 100000 ~SIZE~0)} is VALID [2018-11-23 12:10:20,493 INFO L268 TraceCheckUtils]: 18: Hoare quadruple {3270#(<= 100000 ~SIZE~0)} {3293#(and (<= main_~v~0 0) (<= 100000 ~SIZE~0))} #129#return; {3293#(and (<= main_~v~0 0) (<= 100000 ~SIZE~0))} is VALID [2018-11-23 12:10:20,494 INFO L273 TraceCheckUtils]: 19: Hoare triple {3293#(and (<= main_~v~0 0) (<= 100000 ~SIZE~0))} assume -2147483648 <= #t~ret6 && #t~ret6 <= 2147483647;~n~0 := #t~ret6;havoc #t~mem5;havoc #t~ret6; {3293#(and (<= main_~v~0 0) (<= 100000 ~SIZE~0))} is VALID [2018-11-23 12:10:20,494 INFO L273 TraceCheckUtils]: 20: Hoare triple {3293#(and (<= main_~v~0 0) (<= 100000 ~SIZE~0))} #t~post2 := ~v~0;~v~0 := 1 + #t~post2;havoc #t~post2; {3339#(and (<= main_~v~0 1) (<= 100000 ~SIZE~0))} is VALID [2018-11-23 12:10:20,495 INFO L273 TraceCheckUtils]: 21: Hoare triple {3339#(and (<= main_~v~0 1) (<= 100000 ~SIZE~0))} assume !!(~v~0 < ~SIZE~0);call #t~mem3 := read~int(~#values~0.base, ~#values~0.offset + 4 * ~v~0, 4); {3339#(and (<= main_~v~0 1) (<= 100000 ~SIZE~0))} is VALID [2018-11-23 12:10:20,497 INFO L256 TraceCheckUtils]: 22: Hoare triple {3339#(and (<= main_~v~0 1) (<= 100000 ~SIZE~0))} call #t~ret4 := elem_exists(~#set~0.base, ~#set~0.offset, ~n~0, #t~mem3); {3270#(<= 100000 ~SIZE~0)} is VALID [2018-11-23 12:10:20,497 INFO L273 TraceCheckUtils]: 23: Hoare triple {3270#(<= 100000 ~SIZE~0)} ~set.base, ~set.offset := #in~set.base, #in~set.offset;~size := #in~size;~value := #in~value;havoc ~i~0;~i~0 := 0; {3270#(<= 100000 ~SIZE~0)} is VALID [2018-11-23 12:10:20,498 INFO L273 TraceCheckUtils]: 24: Hoare triple {3270#(<= 100000 ~SIZE~0)} assume !!(~i~0 < ~size);call #t~mem1 := read~int(~set.base, ~set.offset + 4 * ~i~0, 4); {3270#(<= 100000 ~SIZE~0)} is VALID [2018-11-23 12:10:20,498 INFO L273 TraceCheckUtils]: 25: Hoare triple {3270#(<= 100000 ~SIZE~0)} assume #t~mem1 == ~value;havoc #t~mem1;#res := 1; {3270#(<= 100000 ~SIZE~0)} is VALID [2018-11-23 12:10:20,499 INFO L273 TraceCheckUtils]: 26: Hoare triple {3270#(<= 100000 ~SIZE~0)} assume true; {3270#(<= 100000 ~SIZE~0)} is VALID [2018-11-23 12:10:20,500 INFO L268 TraceCheckUtils]: 27: Hoare quadruple {3270#(<= 100000 ~SIZE~0)} {3339#(and (<= main_~v~0 1) (<= 100000 ~SIZE~0))} #127#return; {3339#(and (<= main_~v~0 1) (<= 100000 ~SIZE~0))} is VALID [2018-11-23 12:10:20,501 INFO L273 TraceCheckUtils]: 28: Hoare triple {3339#(and (<= main_~v~0 1) (<= 100000 ~SIZE~0))} assume -2147483648 <= #t~ret4 && #t~ret4 <= 2147483647; {3339#(and (<= main_~v~0 1) (<= 100000 ~SIZE~0))} is VALID [2018-11-23 12:10:20,502 INFO L273 TraceCheckUtils]: 29: Hoare triple {3339#(and (<= main_~v~0 1) (<= 100000 ~SIZE~0))} assume !(1 != #t~ret4);havoc #t~ret4;havoc #t~mem3; {3339#(and (<= main_~v~0 1) (<= 100000 ~SIZE~0))} is VALID [2018-11-23 12:10:20,503 INFO L273 TraceCheckUtils]: 30: Hoare triple {3339#(and (<= main_~v~0 1) (<= 100000 ~SIZE~0))} #t~post2 := ~v~0;~v~0 := 1 + #t~post2;havoc #t~post2; {3370#(and (<= main_~v~0 2) (<= 100000 ~SIZE~0))} is VALID [2018-11-23 12:10:20,504 INFO L273 TraceCheckUtils]: 31: Hoare triple {3370#(and (<= main_~v~0 2) (<= 100000 ~SIZE~0))} assume !!(~v~0 < ~SIZE~0);call #t~mem3 := read~int(~#values~0.base, ~#values~0.offset + 4 * ~v~0, 4); {3370#(and (<= main_~v~0 2) (<= 100000 ~SIZE~0))} is VALID [2018-11-23 12:10:20,505 INFO L256 TraceCheckUtils]: 32: Hoare triple {3370#(and (<= main_~v~0 2) (<= 100000 ~SIZE~0))} call #t~ret4 := elem_exists(~#set~0.base, ~#set~0.offset, ~n~0, #t~mem3); {3270#(<= 100000 ~SIZE~0)} is VALID [2018-11-23 12:10:20,506 INFO L273 TraceCheckUtils]: 33: Hoare triple {3270#(<= 100000 ~SIZE~0)} ~set.base, ~set.offset := #in~set.base, #in~set.offset;~size := #in~size;~value := #in~value;havoc ~i~0;~i~0 := 0; {3270#(<= 100000 ~SIZE~0)} is VALID [2018-11-23 12:10:20,506 INFO L273 TraceCheckUtils]: 34: Hoare triple {3270#(<= 100000 ~SIZE~0)} assume !!(~i~0 < ~size);call #t~mem1 := read~int(~set.base, ~set.offset + 4 * ~i~0, 4); {3270#(<= 100000 ~SIZE~0)} is VALID [2018-11-23 12:10:20,507 INFO L273 TraceCheckUtils]: 35: Hoare triple {3270#(<= 100000 ~SIZE~0)} assume #t~mem1 == ~value;havoc #t~mem1;#res := 1; {3270#(<= 100000 ~SIZE~0)} is VALID [2018-11-23 12:10:20,507 INFO L273 TraceCheckUtils]: 36: Hoare triple {3270#(<= 100000 ~SIZE~0)} assume true; {3270#(<= 100000 ~SIZE~0)} is VALID [2018-11-23 12:10:20,509 INFO L268 TraceCheckUtils]: 37: Hoare quadruple {3270#(<= 100000 ~SIZE~0)} {3370#(and (<= main_~v~0 2) (<= 100000 ~SIZE~0))} #127#return; {3370#(and (<= main_~v~0 2) (<= 100000 ~SIZE~0))} is VALID [2018-11-23 12:10:20,510 INFO L273 TraceCheckUtils]: 38: Hoare triple {3370#(and (<= main_~v~0 2) (<= 100000 ~SIZE~0))} assume -2147483648 <= #t~ret4 && #t~ret4 <= 2147483647; {3370#(and (<= main_~v~0 2) (<= 100000 ~SIZE~0))} is VALID [2018-11-23 12:10:20,510 INFO L273 TraceCheckUtils]: 39: Hoare triple {3370#(and (<= main_~v~0 2) (<= 100000 ~SIZE~0))} assume !(1 != #t~ret4);havoc #t~ret4;havoc #t~mem3; {3370#(and (<= main_~v~0 2) (<= 100000 ~SIZE~0))} is VALID [2018-11-23 12:10:20,511 INFO L273 TraceCheckUtils]: 40: Hoare triple {3370#(and (<= main_~v~0 2) (<= 100000 ~SIZE~0))} #t~post2 := ~v~0;~v~0 := 1 + #t~post2;havoc #t~post2; {3401#(and (<= main_~v~0 3) (<= 100000 ~SIZE~0))} is VALID [2018-11-23 12:10:20,514 INFO L273 TraceCheckUtils]: 41: Hoare triple {3401#(and (<= main_~v~0 3) (<= 100000 ~SIZE~0))} assume !(~v~0 < ~SIZE~0); {3269#false} is VALID [2018-11-23 12:10:20,515 INFO L273 TraceCheckUtils]: 42: Hoare triple {3269#false} ~i~1 := 0; {3269#false} is VALID [2018-11-23 12:10:20,515 INFO L273 TraceCheckUtils]: 43: Hoare triple {3269#false} assume !!(~i~1 < ~SIZE~0 && 1 != ~found~0);call #t~mem8 := read~int(~#set~0.base, ~#set~0.offset + 4 * ~i~1, 4); {3269#false} is VALID [2018-11-23 12:10:20,515 INFO L273 TraceCheckUtils]: 44: Hoare triple {3269#false} assume !(#t~mem8 == ~element~0);havoc #t~mem8; {3269#false} is VALID [2018-11-23 12:10:20,516 INFO L273 TraceCheckUtils]: 45: Hoare triple {3269#false} #t~post7 := ~i~1;~i~1 := 1 + #t~post7;havoc #t~post7; {3269#false} is VALID [2018-11-23 12:10:20,516 INFO L273 TraceCheckUtils]: 46: Hoare triple {3269#false} assume !!(~i~1 < ~SIZE~0 && 1 != ~found~0);call #t~mem8 := read~int(~#set~0.base, ~#set~0.offset + 4 * ~i~1, 4); {3269#false} is VALID [2018-11-23 12:10:20,516 INFO L273 TraceCheckUtils]: 47: Hoare triple {3269#false} assume #t~mem8 == ~element~0;havoc #t~mem8;~found~0 := 1;~pos~0 := ~i~1; {3269#false} is VALID [2018-11-23 12:10:20,517 INFO L273 TraceCheckUtils]: 48: Hoare triple {3269#false} #t~post7 := ~i~1;~i~1 := 1 + #t~post7;havoc #t~post7; {3269#false} is VALID [2018-11-23 12:10:20,517 INFO L273 TraceCheckUtils]: 49: Hoare triple {3269#false} assume !(~i~1 < ~SIZE~0 && 1 != ~found~0); {3269#false} is VALID [2018-11-23 12:10:20,517 INFO L273 TraceCheckUtils]: 50: Hoare triple {3269#false} assume 1 == ~found~0;~i~1 := ~pos~0; {3269#false} is VALID [2018-11-23 12:10:20,517 INFO L273 TraceCheckUtils]: 51: Hoare triple {3269#false} assume !(~i~1 < ~SIZE~0 - 1); {3269#false} is VALID [2018-11-23 12:10:20,518 INFO L273 TraceCheckUtils]: 52: Hoare triple {3269#false} assume 1 == ~found~0;~i~1 := 0; {3269#false} is VALID [2018-11-23 12:10:20,518 INFO L273 TraceCheckUtils]: 53: Hoare triple {3269#false} assume !!(~i~1 < ~SIZE~0 - 1);call #t~mem12 := read~int(~#set~0.base, ~#set~0.offset + 4 * ~i~1, 4); {3269#false} is VALID [2018-11-23 12:10:20,518 INFO L256 TraceCheckUtils]: 54: Hoare triple {3269#false} call __VERIFIER_assert((if #t~mem12 != ~element~0 then 1 else 0)); {3269#false} is VALID [2018-11-23 12:10:20,518 INFO L273 TraceCheckUtils]: 55: Hoare triple {3269#false} ~cond := #in~cond; {3269#false} is VALID [2018-11-23 12:10:20,518 INFO L273 TraceCheckUtils]: 56: Hoare triple {3269#false} assume 0 == ~cond; {3269#false} is VALID [2018-11-23 12:10:20,518 INFO L273 TraceCheckUtils]: 57: Hoare triple {3269#false} assume !false; {3269#false} is VALID [2018-11-23 12:10:20,522 INFO L134 CoverageAnalysis]: Checked inductivity of 36 backedges. 0 proven. 18 refuted. 0 times theorem prover too weak. 18 trivial. 0 not checked. [2018-11-23 12:10:20,542 INFO L312 seRefinementStrategy]: Constructing automaton from 0 perfect and 2 imperfect interpolant sequences. [2018-11-23 12:10:20,542 INFO L327 seRefinementStrategy]: Number of different interpolants: perfect sequences [] imperfect sequences [7, 7] total 11 [2018-11-23 12:10:20,542 INFO L78 Accepts]: Start accepts. Automaton has 11 states. Word has length 58 [2018-11-23 12:10:20,543 INFO L84 Accepts]: Finished accepts. word is accepted. [2018-11-23 12:10:20,543 INFO L86 InductivityCheck]: Starting indutivity check of a Floyd-Hoare automaton with 11 states. [2018-11-23 12:10:20,630 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-23 12:10:20,630 INFO L459 AbstractCegarLoop]: Interpolant automaton has 11 states [2018-11-23 12:10:20,630 INFO L142 InterpolantAutomaton]: Constructing interpolant automaton starting with 11 interpolants. [2018-11-23 12:10:20,630 INFO L144 InterpolantAutomaton]: CoverageRelationStatistics Valid=49, Invalid=61, Unknown=0, NotChecked=0, Total=110 [2018-11-23 12:10:20,631 INFO L87 Difference]: Start difference. First operand 76 states and 91 transitions. Second operand 11 states. [2018-11-23 12:10:21,381 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2018-11-23 12:10:21,382 INFO L93 Difference]: Finished difference Result 121 states and 150 transitions. [2018-11-23 12:10:21,382 INFO L142 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 7 states. [2018-11-23 12:10:21,382 INFO L78 Accepts]: Start accepts. Automaton has 11 states. Word has length 58 [2018-11-23 12:10:21,382 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2018-11-23 12:10:21,383 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 11 states. [2018-11-23 12:10:21,385 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 7 states to 7 states and 109 transitions. [2018-11-23 12:10:21,385 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 11 states. [2018-11-23 12:10:21,388 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 7 states to 7 states and 109 transitions. [2018-11-23 12:10:21,388 INFO L86 InductivityCheck]: Starting indutivity check of a Floyd-Hoare automaton with 7 states and 109 transitions. [2018-11-23 12:10:21,527 INFO L119 InductivityCheck]: Floyd-Hoare automaton has 109 edges. 109 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2018-11-23 12:10:21,531 INFO L225 Difference]: With dead ends: 121 [2018-11-23 12:10:21,531 INFO L226 Difference]: Without dead ends: 93 [2018-11-23 12:10:21,532 INFO L631 BasicCegarLoop]: 0 DeclaredPredicates, 64 GetRequests, 55 SyntacticMatches, 0 SemanticMatches, 9 ConstructedPredicates, 0 IntricatePredicates, 0 DeprecatedPredicates, 21 ImplicationChecksByTransitivity, 0.1s TimeCoverageRelationStatistics Valid=49, Invalid=61, Unknown=0, NotChecked=0, Total=110 [2018-11-23 12:10:21,532 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 93 states. [2018-11-23 12:10:21,627 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 93 to 85. [2018-11-23 12:10:21,628 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2018-11-23 12:10:21,628 INFO L82 GeneralOperation]: Start isEquivalent. First operand 93 states. Second operand 85 states. [2018-11-23 12:10:21,628 INFO L74 IsIncluded]: Start isIncluded. First operand 93 states. Second operand 85 states. [2018-11-23 12:10:21,628 INFO L87 Difference]: Start difference. First operand 93 states. Second operand 85 states. [2018-11-23 12:10:21,634 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2018-11-23 12:10:21,634 INFO L93 Difference]: Finished difference Result 93 states and 118 transitions. [2018-11-23 12:10:21,634 INFO L276 IsEmpty]: Start isEmpty. Operand 93 states and 118 transitions. [2018-11-23 12:10:21,635 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2018-11-23 12:10:21,635 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2018-11-23 12:10:21,635 INFO L74 IsIncluded]: Start isIncluded. First operand 85 states. Second operand 93 states. [2018-11-23 12:10:21,636 INFO L87 Difference]: Start difference. First operand 85 states. Second operand 93 states. [2018-11-23 12:10:21,641 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2018-11-23 12:10:21,641 INFO L93 Difference]: Finished difference Result 93 states and 118 transitions. [2018-11-23 12:10:21,641 INFO L276 IsEmpty]: Start isEmpty. Operand 93 states and 118 transitions. [2018-11-23 12:10:21,642 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2018-11-23 12:10:21,642 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2018-11-23 12:10:21,642 INFO L88 GeneralOperation]: Finished isEquivalent. [2018-11-23 12:10:21,642 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2018-11-23 12:10:21,642 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 85 states. [2018-11-23 12:10:21,646 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 85 states to 85 states and 105 transitions. [2018-11-23 12:10:21,646 INFO L78 Accepts]: Start accepts. Automaton has 85 states and 105 transitions. Word has length 58 [2018-11-23 12:10:21,647 INFO L84 Accepts]: Finished accepts. word is rejected. [2018-11-23 12:10:21,647 INFO L480 AbstractCegarLoop]: Abstraction has 85 states and 105 transitions. [2018-11-23 12:10:21,647 INFO L481 AbstractCegarLoop]: Interpolant automaton has 11 states. [2018-11-23 12:10:21,647 INFO L276 IsEmpty]: Start isEmpty. Operand 85 states and 105 transitions. [2018-11-23 12:10:21,648 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 69 [2018-11-23 12:10:21,648 INFO L394 BasicCegarLoop]: Found error trace [2018-11-23 12:10:21,649 INFO L402 BasicCegarLoop]: trace histogram [4, 4, 4, 4, 4, 4, 4, 3, 3, 3, 2, 2, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1] [2018-11-23 12:10:21,649 INFO L423 AbstractCegarLoop]: === Iteration 10 === [__VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION]=== [2018-11-23 12:10:21,649 INFO L141 PredicateUnifier]: Initialized classic predicate unifier [2018-11-23 12:10:21,649 INFO L82 PathProgramCache]: Analyzing trace with hash -1335268987, now seen corresponding path program 3 times [2018-11-23 12:10:21,649 INFO L223 ckRefinementStrategy]: Switched to mode SMTINTERPOL_TREE_INTERPOLANTS [2018-11-23 12:10:21,650 INFO L69 tionRefinementEngine]: Using refinement strategy CamelRefinementStrategy [2018-11-23 12:10:21,650 INFO L119 rtionOrderModulation]: Craig_TreeInterpolation forces the order to NOT_INCREMENTALLY [2018-11-23 12:10:21,650 INFO L101 rtionOrderModulation]: Changing assertion order to NOT_INCREMENTALLY [2018-11-23 12:10:21,651 INFO L119 rtionOrderModulation]: Craig_TreeInterpolation forces the order to NOT_INCREMENTALLY [2018-11-23 12:10:21,670 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2018-11-23 12:10:21,866 INFO L256 TraceCheckUtils]: 0: Hoare triple {3918#true} call ULTIMATE.init(); {3918#true} is VALID [2018-11-23 12:10:21,867 INFO L273 TraceCheckUtils]: 1: Hoare triple {3918#true} #NULL.base, #NULL.offset := 0, 0;#valid := #valid[0 := 0];~SIZE~0 := 100000; {3920#(<= 100000 ~SIZE~0)} is VALID [2018-11-23 12:10:21,868 INFO L273 TraceCheckUtils]: 2: Hoare triple {3920#(<= 100000 ~SIZE~0)} assume true; {3920#(<= 100000 ~SIZE~0)} is VALID [2018-11-23 12:10:21,869 INFO L268 TraceCheckUtils]: 3: Hoare quadruple {3920#(<= 100000 ~SIZE~0)} {3918#true} #123#return; {3920#(<= 100000 ~SIZE~0)} is VALID [2018-11-23 12:10:21,869 INFO L256 TraceCheckUtils]: 4: Hoare triple {3920#(<= 100000 ~SIZE~0)} call #t~ret13 := main(); {3920#(<= 100000 ~SIZE~0)} is VALID [2018-11-23 12:10:21,871 INFO L273 TraceCheckUtils]: 5: Hoare triple {3920#(<= 100000 ~SIZE~0)} havoc ~i~1;havoc ~pos~0;~n~0 := 0;~found~0 := 0;call ~#set~0.base, ~#set~0.offset := #Ultimate.alloc(4 * ~SIZE~0);call ~#values~0.base, ~#values~0.offset := #Ultimate.alloc(4 * ~SIZE~0);havoc ~element~0;havoc ~v~0;~v~0 := 0; {3921#(and (= main_~v~0 0) (<= 100000 ~SIZE~0))} is VALID [2018-11-23 12:10:21,872 INFO L273 TraceCheckUtils]: 6: Hoare triple {3921#(and (= main_~v~0 0) (<= 100000 ~SIZE~0))} assume !!(~v~0 < ~SIZE~0);call #t~mem3 := read~int(~#values~0.base, ~#values~0.offset + 4 * ~v~0, 4); {3921#(and (= main_~v~0 0) (<= 100000 ~SIZE~0))} is VALID [2018-11-23 12:10:21,872 INFO L256 TraceCheckUtils]: 7: Hoare triple {3921#(and (= main_~v~0 0) (<= 100000 ~SIZE~0))} call #t~ret4 := elem_exists(~#set~0.base, ~#set~0.offset, ~n~0, #t~mem3); {3918#true} is VALID [2018-11-23 12:10:21,872 INFO L273 TraceCheckUtils]: 8: Hoare triple {3918#true} ~set.base, ~set.offset := #in~set.base, #in~set.offset;~size := #in~size;~value := #in~value;havoc ~i~0;~i~0 := 0; {3918#true} is VALID [2018-11-23 12:10:21,872 INFO L273 TraceCheckUtils]: 9: Hoare triple {3918#true} assume !(~i~0 < ~size); {3918#true} is VALID [2018-11-23 12:10:21,873 INFO L273 TraceCheckUtils]: 10: Hoare triple {3918#true} #res := 0; {3918#true} is VALID [2018-11-23 12:10:21,873 INFO L273 TraceCheckUtils]: 11: Hoare triple {3918#true} assume true; {3918#true} is VALID [2018-11-23 12:10:21,875 INFO L268 TraceCheckUtils]: 12: Hoare quadruple {3918#true} {3921#(and (= main_~v~0 0) (<= 100000 ~SIZE~0))} #127#return; {3921#(and (= main_~v~0 0) (<= 100000 ~SIZE~0))} is VALID [2018-11-23 12:10:21,876 INFO L273 TraceCheckUtils]: 13: Hoare triple {3921#(and (= main_~v~0 0) (<= 100000 ~SIZE~0))} assume -2147483648 <= #t~ret4 && #t~ret4 <= 2147483647; {3921#(and (= main_~v~0 0) (<= 100000 ~SIZE~0))} is VALID [2018-11-23 12:10:21,876 INFO L273 TraceCheckUtils]: 14: Hoare triple {3921#(and (= main_~v~0 0) (<= 100000 ~SIZE~0))} assume 1 != #t~ret4;havoc #t~ret4;havoc #t~mem3;call #t~mem5 := read~int(~#values~0.base, ~#values~0.offset + 4 * ~v~0, 4); {3921#(and (= main_~v~0 0) (<= 100000 ~SIZE~0))} is VALID [2018-11-23 12:10:21,877 INFO L256 TraceCheckUtils]: 15: Hoare triple {3921#(and (= main_~v~0 0) (<= 100000 ~SIZE~0))} call #t~ret6 := insert(~#set~0.base, ~#set~0.offset, ~n~0, #t~mem5); {3918#true} is VALID [2018-11-23 12:10:21,877 INFO L273 TraceCheckUtils]: 16: Hoare triple {3918#true} ~set.base, ~set.offset := #in~set.base, #in~set.offset;~size := #in~size;~value := #in~value;call write~int(~value, ~set.base, ~set.offset + 4 * ~size, 4);#res := 1 + ~size; {3918#true} is VALID [2018-11-23 12:10:21,877 INFO L273 TraceCheckUtils]: 17: Hoare triple {3918#true} assume true; {3918#true} is VALID [2018-11-23 12:10:21,881 INFO L268 TraceCheckUtils]: 18: Hoare quadruple {3918#true} {3921#(and (= main_~v~0 0) (<= 100000 ~SIZE~0))} #129#return; {3921#(and (= main_~v~0 0) (<= 100000 ~SIZE~0))} is VALID [2018-11-23 12:10:21,881 INFO L273 TraceCheckUtils]: 19: Hoare triple {3921#(and (= main_~v~0 0) (<= 100000 ~SIZE~0))} assume -2147483648 <= #t~ret6 && #t~ret6 <= 2147483647;~n~0 := #t~ret6;havoc #t~mem5;havoc #t~ret6; {3921#(and (= main_~v~0 0) (<= 100000 ~SIZE~0))} is VALID [2018-11-23 12:10:21,882 INFO L273 TraceCheckUtils]: 20: Hoare triple {3921#(and (= main_~v~0 0) (<= 100000 ~SIZE~0))} #t~post2 := ~v~0;~v~0 := 1 + #t~post2;havoc #t~post2; {3922#(<= (+ main_~v~0 99999) ~SIZE~0)} is VALID [2018-11-23 12:10:21,883 INFO L273 TraceCheckUtils]: 21: Hoare triple {3922#(<= (+ main_~v~0 99999) ~SIZE~0)} assume !!(~v~0 < ~SIZE~0);call #t~mem3 := read~int(~#values~0.base, ~#values~0.offset + 4 * ~v~0, 4); {3922#(<= (+ main_~v~0 99999) ~SIZE~0)} is VALID [2018-11-23 12:10:21,883 INFO L256 TraceCheckUtils]: 22: Hoare triple {3922#(<= (+ main_~v~0 99999) ~SIZE~0)} call #t~ret4 := elem_exists(~#set~0.base, ~#set~0.offset, ~n~0, #t~mem3); {3918#true} is VALID [2018-11-23 12:10:21,884 INFO L273 TraceCheckUtils]: 23: Hoare triple {3918#true} ~set.base, ~set.offset := #in~set.base, #in~set.offset;~size := #in~size;~value := #in~value;havoc ~i~0;~i~0 := 0; {3918#true} is VALID [2018-11-23 12:10:21,884 INFO L273 TraceCheckUtils]: 24: Hoare triple {3918#true} assume !!(~i~0 < ~size);call #t~mem1 := read~int(~set.base, ~set.offset + 4 * ~i~0, 4); {3918#true} is VALID [2018-11-23 12:10:21,884 INFO L273 TraceCheckUtils]: 25: Hoare triple {3918#true} assume #t~mem1 == ~value;havoc #t~mem1;#res := 1; {3918#true} is VALID [2018-11-23 12:10:21,884 INFO L273 TraceCheckUtils]: 26: Hoare triple {3918#true} assume true; {3918#true} is VALID [2018-11-23 12:10:21,886 INFO L268 TraceCheckUtils]: 27: Hoare quadruple {3918#true} {3922#(<= (+ main_~v~0 99999) ~SIZE~0)} #127#return; {3922#(<= (+ main_~v~0 99999) ~SIZE~0)} is VALID [2018-11-23 12:10:21,887 INFO L273 TraceCheckUtils]: 28: Hoare triple {3922#(<= (+ main_~v~0 99999) ~SIZE~0)} assume -2147483648 <= #t~ret4 && #t~ret4 <= 2147483647; {3922#(<= (+ main_~v~0 99999) ~SIZE~0)} is VALID [2018-11-23 12:10:21,887 INFO L273 TraceCheckUtils]: 29: Hoare triple {3922#(<= (+ main_~v~0 99999) ~SIZE~0)} assume !(1 != #t~ret4);havoc #t~ret4;havoc #t~mem3; {3922#(<= (+ main_~v~0 99999) ~SIZE~0)} is VALID [2018-11-23 12:10:21,888 INFO L273 TraceCheckUtils]: 30: Hoare triple {3922#(<= (+ main_~v~0 99999) ~SIZE~0)} #t~post2 := ~v~0;~v~0 := 1 + #t~post2;havoc #t~post2; {3923#(<= (+ main_~v~0 99998) ~SIZE~0)} is VALID [2018-11-23 12:10:21,888 INFO L273 TraceCheckUtils]: 31: Hoare triple {3923#(<= (+ main_~v~0 99998) ~SIZE~0)} assume !!(~v~0 < ~SIZE~0);call #t~mem3 := read~int(~#values~0.base, ~#values~0.offset + 4 * ~v~0, 4); {3923#(<= (+ main_~v~0 99998) ~SIZE~0)} is VALID [2018-11-23 12:10:21,889 INFO L256 TraceCheckUtils]: 32: Hoare triple {3923#(<= (+ main_~v~0 99998) ~SIZE~0)} call #t~ret4 := elem_exists(~#set~0.base, ~#set~0.offset, ~n~0, #t~mem3); {3918#true} is VALID [2018-11-23 12:10:21,889 INFO L273 TraceCheckUtils]: 33: Hoare triple {3918#true} ~set.base, ~set.offset := #in~set.base, #in~set.offset;~size := #in~size;~value := #in~value;havoc ~i~0;~i~0 := 0; {3918#true} is VALID [2018-11-23 12:10:21,889 INFO L273 TraceCheckUtils]: 34: Hoare triple {3918#true} assume !!(~i~0 < ~size);call #t~mem1 := read~int(~set.base, ~set.offset + 4 * ~i~0, 4); {3918#true} is VALID [2018-11-23 12:10:21,889 INFO L273 TraceCheckUtils]: 35: Hoare triple {3918#true} assume #t~mem1 == ~value;havoc #t~mem1;#res := 1; {3918#true} is VALID [2018-11-23 12:10:21,889 INFO L273 TraceCheckUtils]: 36: Hoare triple {3918#true} assume true; {3918#true} is VALID [2018-11-23 12:10:21,891 INFO L268 TraceCheckUtils]: 37: Hoare quadruple {3918#true} {3923#(<= (+ main_~v~0 99998) ~SIZE~0)} #127#return; {3923#(<= (+ main_~v~0 99998) ~SIZE~0)} is VALID [2018-11-23 12:10:21,892 INFO L273 TraceCheckUtils]: 38: Hoare triple {3923#(<= (+ main_~v~0 99998) ~SIZE~0)} assume -2147483648 <= #t~ret4 && #t~ret4 <= 2147483647; {3923#(<= (+ main_~v~0 99998) ~SIZE~0)} is VALID [2018-11-23 12:10:21,892 INFO L273 TraceCheckUtils]: 39: Hoare triple {3923#(<= (+ main_~v~0 99998) ~SIZE~0)} assume !(1 != #t~ret4);havoc #t~ret4;havoc #t~mem3; {3923#(<= (+ main_~v~0 99998) ~SIZE~0)} is VALID [2018-11-23 12:10:21,893 INFO L273 TraceCheckUtils]: 40: Hoare triple {3923#(<= (+ main_~v~0 99998) ~SIZE~0)} #t~post2 := ~v~0;~v~0 := 1 + #t~post2;havoc #t~post2; {3924#(<= (+ main_~v~0 99997) ~SIZE~0)} is VALID [2018-11-23 12:10:21,893 INFO L273 TraceCheckUtils]: 41: Hoare triple {3924#(<= (+ main_~v~0 99997) ~SIZE~0)} assume !!(~v~0 < ~SIZE~0);call #t~mem3 := read~int(~#values~0.base, ~#values~0.offset + 4 * ~v~0, 4); {3924#(<= (+ main_~v~0 99997) ~SIZE~0)} is VALID [2018-11-23 12:10:21,893 INFO L256 TraceCheckUtils]: 42: Hoare triple {3924#(<= (+ main_~v~0 99997) ~SIZE~0)} call #t~ret4 := elem_exists(~#set~0.base, ~#set~0.offset, ~n~0, #t~mem3); {3918#true} is VALID [2018-11-23 12:10:21,894 INFO L273 TraceCheckUtils]: 43: Hoare triple {3918#true} ~set.base, ~set.offset := #in~set.base, #in~set.offset;~size := #in~size;~value := #in~value;havoc ~i~0;~i~0 := 0; {3918#true} is VALID [2018-11-23 12:10:21,894 INFO L273 TraceCheckUtils]: 44: Hoare triple {3918#true} assume !!(~i~0 < ~size);call #t~mem1 := read~int(~set.base, ~set.offset + 4 * ~i~0, 4); {3918#true} is VALID [2018-11-23 12:10:21,894 INFO L273 TraceCheckUtils]: 45: Hoare triple {3918#true} assume #t~mem1 == ~value;havoc #t~mem1;#res := 1; {3918#true} is VALID [2018-11-23 12:10:21,894 INFO L273 TraceCheckUtils]: 46: Hoare triple {3918#true} assume true; {3918#true} is VALID [2018-11-23 12:10:21,896 INFO L268 TraceCheckUtils]: 47: Hoare quadruple {3918#true} {3924#(<= (+ main_~v~0 99997) ~SIZE~0)} #127#return; {3924#(<= (+ main_~v~0 99997) ~SIZE~0)} is VALID [2018-11-23 12:10:21,896 INFO L273 TraceCheckUtils]: 48: Hoare triple {3924#(<= (+ main_~v~0 99997) ~SIZE~0)} assume -2147483648 <= #t~ret4 && #t~ret4 <= 2147483647; {3924#(<= (+ main_~v~0 99997) ~SIZE~0)} is VALID [2018-11-23 12:10:21,897 INFO L273 TraceCheckUtils]: 49: Hoare triple {3924#(<= (+ main_~v~0 99997) ~SIZE~0)} assume !(1 != #t~ret4);havoc #t~ret4;havoc #t~mem3; {3924#(<= (+ main_~v~0 99997) ~SIZE~0)} is VALID [2018-11-23 12:10:21,898 INFO L273 TraceCheckUtils]: 50: Hoare triple {3924#(<= (+ main_~v~0 99997) ~SIZE~0)} #t~post2 := ~v~0;~v~0 := 1 + #t~post2;havoc #t~post2; {3925#(<= (+ main_~v~0 99996) ~SIZE~0)} is VALID [2018-11-23 12:10:21,898 INFO L273 TraceCheckUtils]: 51: Hoare triple {3925#(<= (+ main_~v~0 99996) ~SIZE~0)} assume !(~v~0 < ~SIZE~0); {3919#false} is VALID [2018-11-23 12:10:21,899 INFO L273 TraceCheckUtils]: 52: Hoare triple {3919#false} ~i~1 := 0; {3919#false} is VALID [2018-11-23 12:10:21,899 INFO L273 TraceCheckUtils]: 53: Hoare triple {3919#false} assume !!(~i~1 < ~SIZE~0 && 1 != ~found~0);call #t~mem8 := read~int(~#set~0.base, ~#set~0.offset + 4 * ~i~1, 4); {3919#false} is VALID [2018-11-23 12:10:21,899 INFO L273 TraceCheckUtils]: 54: Hoare triple {3919#false} assume !(#t~mem8 == ~element~0);havoc #t~mem8; {3919#false} is VALID [2018-11-23 12:10:21,900 INFO L273 TraceCheckUtils]: 55: Hoare triple {3919#false} #t~post7 := ~i~1;~i~1 := 1 + #t~post7;havoc #t~post7; {3919#false} is VALID [2018-11-23 12:10:21,900 INFO L273 TraceCheckUtils]: 56: Hoare triple {3919#false} assume !!(~i~1 < ~SIZE~0 && 1 != ~found~0);call #t~mem8 := read~int(~#set~0.base, ~#set~0.offset + 4 * ~i~1, 4); {3919#false} is VALID [2018-11-23 12:10:21,900 INFO L273 TraceCheckUtils]: 57: Hoare triple {3919#false} assume #t~mem8 == ~element~0;havoc #t~mem8;~found~0 := 1;~pos~0 := ~i~1; {3919#false} is VALID [2018-11-23 12:10:21,900 INFO L273 TraceCheckUtils]: 58: Hoare triple {3919#false} #t~post7 := ~i~1;~i~1 := 1 + #t~post7;havoc #t~post7; {3919#false} is VALID [2018-11-23 12:10:21,901 INFO L273 TraceCheckUtils]: 59: Hoare triple {3919#false} assume !(~i~1 < ~SIZE~0 && 1 != ~found~0); {3919#false} is VALID [2018-11-23 12:10:21,901 INFO L273 TraceCheckUtils]: 60: Hoare triple {3919#false} assume 1 == ~found~0;~i~1 := ~pos~0; {3919#false} is VALID [2018-11-23 12:10:21,901 INFO L273 TraceCheckUtils]: 61: Hoare triple {3919#false} assume !(~i~1 < ~SIZE~0 - 1); {3919#false} is VALID [2018-11-23 12:10:21,901 INFO L273 TraceCheckUtils]: 62: Hoare triple {3919#false} assume 1 == ~found~0;~i~1 := 0; {3919#false} is VALID [2018-11-23 12:10:21,902 INFO L273 TraceCheckUtils]: 63: Hoare triple {3919#false} assume !!(~i~1 < ~SIZE~0 - 1);call #t~mem12 := read~int(~#set~0.base, ~#set~0.offset + 4 * ~i~1, 4); {3919#false} is VALID [2018-11-23 12:10:21,902 INFO L256 TraceCheckUtils]: 64: Hoare triple {3919#false} call __VERIFIER_assert((if #t~mem12 != ~element~0 then 1 else 0)); {3919#false} is VALID [2018-11-23 12:10:21,902 INFO L273 TraceCheckUtils]: 65: Hoare triple {3919#false} ~cond := #in~cond; {3919#false} is VALID [2018-11-23 12:10:21,902 INFO L273 TraceCheckUtils]: 66: Hoare triple {3919#false} assume 0 == ~cond; {3919#false} is VALID [2018-11-23 12:10:21,903 INFO L273 TraceCheckUtils]: 67: Hoare triple {3919#false} assume !false; {3919#false} is VALID [2018-11-23 12:10:21,908 INFO L134 CoverageAnalysis]: Checked inductivity of 66 backedges. 0 proven. 34 refuted. 0 times theorem prover too weak. 32 trivial. 0 not checked. [2018-11-23 12:10:21,909 INFO L300 seRefinementStrategy]: The current sequences of interpolants are not accepted, trying to find more. [2018-11-23 12:10:21,909 INFO L223 ckRefinementStrategy]: Switched to mode Z3_FP No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 Starting monitored process 7 with z3 -smt2 -in SMTLIB2_COMPLIANT=true -t:12000 (exit command is (exit), workingDir is null) Waiting until toolchain timeout for monitored process 7 with z3 -smt2 -in SMTLIB2_COMPLIANT=true -t:12000 [2018-11-23 12:10:21,918 INFO L103 rtionOrderModulation]: Keeping assertion order OUTSIDE_LOOP_FIRST2 [2018-11-23 12:10:21,949 INFO L249 tOrderPrioritization]: Assert order OUTSIDE_LOOP_FIRST2 issued 3 check-sat command(s) [2018-11-23 12:10:21,949 INFO L250 tOrderPrioritization]: Conjunction of SSA is unsat [2018-11-23 12:10:21,974 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2018-11-23 12:10:21,976 INFO L273 TraceCheckSpWp]: Computing forward predicates... [2018-11-23 12:10:22,169 INFO L256 TraceCheckUtils]: 0: Hoare triple {3918#true} call ULTIMATE.init(); {3918#true} is VALID [2018-11-23 12:10:22,169 INFO L273 TraceCheckUtils]: 1: Hoare triple {3918#true} #NULL.base, #NULL.offset := 0, 0;#valid := #valid[0 := 0];~SIZE~0 := 100000; {3920#(<= 100000 ~SIZE~0)} is VALID [2018-11-23 12:10:22,170 INFO L273 TraceCheckUtils]: 2: Hoare triple {3920#(<= 100000 ~SIZE~0)} assume true; {3920#(<= 100000 ~SIZE~0)} is VALID [2018-11-23 12:10:22,170 INFO L268 TraceCheckUtils]: 3: Hoare quadruple {3920#(<= 100000 ~SIZE~0)} {3918#true} #123#return; {3920#(<= 100000 ~SIZE~0)} is VALID [2018-11-23 12:10:22,171 INFO L256 TraceCheckUtils]: 4: Hoare triple {3920#(<= 100000 ~SIZE~0)} call #t~ret13 := main(); {3920#(<= 100000 ~SIZE~0)} is VALID [2018-11-23 12:10:22,171 INFO L273 TraceCheckUtils]: 5: Hoare triple {3920#(<= 100000 ~SIZE~0)} havoc ~i~1;havoc ~pos~0;~n~0 := 0;~found~0 := 0;call ~#set~0.base, ~#set~0.offset := #Ultimate.alloc(4 * ~SIZE~0);call ~#values~0.base, ~#values~0.offset := #Ultimate.alloc(4 * ~SIZE~0);havoc ~element~0;havoc ~v~0;~v~0 := 0; {3920#(<= 100000 ~SIZE~0)} is VALID [2018-11-23 12:10:22,171 INFO L273 TraceCheckUtils]: 6: Hoare triple {3920#(<= 100000 ~SIZE~0)} assume !!(~v~0 < ~SIZE~0);call #t~mem3 := read~int(~#values~0.base, ~#values~0.offset + 4 * ~v~0, 4); {3920#(<= 100000 ~SIZE~0)} is VALID [2018-11-23 12:10:22,172 INFO L256 TraceCheckUtils]: 7: Hoare triple {3920#(<= 100000 ~SIZE~0)} call #t~ret4 := elem_exists(~#set~0.base, ~#set~0.offset, ~n~0, #t~mem3); {3920#(<= 100000 ~SIZE~0)} is VALID [2018-11-23 12:10:22,172 INFO L273 TraceCheckUtils]: 8: Hoare triple {3920#(<= 100000 ~SIZE~0)} ~set.base, ~set.offset := #in~set.base, #in~set.offset;~size := #in~size;~value := #in~value;havoc ~i~0;~i~0 := 0; {3920#(<= 100000 ~SIZE~0)} is VALID [2018-11-23 12:10:22,172 INFO L273 TraceCheckUtils]: 9: Hoare triple {3920#(<= 100000 ~SIZE~0)} assume !(~i~0 < ~size); {3920#(<= 100000 ~SIZE~0)} is VALID [2018-11-23 12:10:22,173 INFO L273 TraceCheckUtils]: 10: Hoare triple {3920#(<= 100000 ~SIZE~0)} #res := 0; {3920#(<= 100000 ~SIZE~0)} is VALID [2018-11-23 12:10:22,173 INFO L273 TraceCheckUtils]: 11: Hoare triple {3920#(<= 100000 ~SIZE~0)} assume true; {3920#(<= 100000 ~SIZE~0)} is VALID [2018-11-23 12:10:22,175 INFO L268 TraceCheckUtils]: 12: Hoare quadruple {3920#(<= 100000 ~SIZE~0)} {3920#(<= 100000 ~SIZE~0)} #127#return; {3920#(<= 100000 ~SIZE~0)} is VALID [2018-11-23 12:10:22,175 INFO L273 TraceCheckUtils]: 13: Hoare triple {3920#(<= 100000 ~SIZE~0)} assume -2147483648 <= #t~ret4 && #t~ret4 <= 2147483647; {3920#(<= 100000 ~SIZE~0)} is VALID [2018-11-23 12:10:22,176 INFO L273 TraceCheckUtils]: 14: Hoare triple {3920#(<= 100000 ~SIZE~0)} assume 1 != #t~ret4;havoc #t~ret4;havoc #t~mem3;call #t~mem5 := read~int(~#values~0.base, ~#values~0.offset + 4 * ~v~0, 4); {3920#(<= 100000 ~SIZE~0)} is VALID [2018-11-23 12:10:22,177 INFO L256 TraceCheckUtils]: 15: Hoare triple {3920#(<= 100000 ~SIZE~0)} call #t~ret6 := insert(~#set~0.base, ~#set~0.offset, ~n~0, #t~mem5); {3920#(<= 100000 ~SIZE~0)} is VALID [2018-11-23 12:10:22,177 INFO L273 TraceCheckUtils]: 16: Hoare triple {3920#(<= 100000 ~SIZE~0)} ~set.base, ~set.offset := #in~set.base, #in~set.offset;~size := #in~size;~value := #in~value;call write~int(~value, ~set.base, ~set.offset + 4 * ~size, 4);#res := 1 + ~size; {3920#(<= 100000 ~SIZE~0)} is VALID [2018-11-23 12:10:22,178 INFO L273 TraceCheckUtils]: 17: Hoare triple {3920#(<= 100000 ~SIZE~0)} assume true; {3920#(<= 100000 ~SIZE~0)} is VALID [2018-11-23 12:10:22,179 INFO L268 TraceCheckUtils]: 18: Hoare quadruple {3920#(<= 100000 ~SIZE~0)} {3920#(<= 100000 ~SIZE~0)} #129#return; {3920#(<= 100000 ~SIZE~0)} is VALID [2018-11-23 12:10:22,179 INFO L273 TraceCheckUtils]: 19: Hoare triple {3920#(<= 100000 ~SIZE~0)} assume -2147483648 <= #t~ret6 && #t~ret6 <= 2147483647;~n~0 := #t~ret6;havoc #t~mem5;havoc #t~ret6; {3920#(<= 100000 ~SIZE~0)} is VALID [2018-11-23 12:10:22,180 INFO L273 TraceCheckUtils]: 20: Hoare triple {3920#(<= 100000 ~SIZE~0)} #t~post2 := ~v~0;~v~0 := 1 + #t~post2;havoc #t~post2; {3920#(<= 100000 ~SIZE~0)} is VALID [2018-11-23 12:10:22,180 INFO L273 TraceCheckUtils]: 21: Hoare triple {3920#(<= 100000 ~SIZE~0)} assume !!(~v~0 < ~SIZE~0);call #t~mem3 := read~int(~#values~0.base, ~#values~0.offset + 4 * ~v~0, 4); {3920#(<= 100000 ~SIZE~0)} is VALID [2018-11-23 12:10:22,181 INFO L256 TraceCheckUtils]: 22: Hoare triple {3920#(<= 100000 ~SIZE~0)} call #t~ret4 := elem_exists(~#set~0.base, ~#set~0.offset, ~n~0, #t~mem3); {3920#(<= 100000 ~SIZE~0)} is VALID [2018-11-23 12:10:22,182 INFO L273 TraceCheckUtils]: 23: Hoare triple {3920#(<= 100000 ~SIZE~0)} ~set.base, ~set.offset := #in~set.base, #in~set.offset;~size := #in~size;~value := #in~value;havoc ~i~0;~i~0 := 0; {3920#(<= 100000 ~SIZE~0)} is VALID [2018-11-23 12:10:22,182 INFO L273 TraceCheckUtils]: 24: Hoare triple {3920#(<= 100000 ~SIZE~0)} assume !!(~i~0 < ~size);call #t~mem1 := read~int(~set.base, ~set.offset + 4 * ~i~0, 4); {3920#(<= 100000 ~SIZE~0)} is VALID [2018-11-23 12:10:22,183 INFO L273 TraceCheckUtils]: 25: Hoare triple {3920#(<= 100000 ~SIZE~0)} assume #t~mem1 == ~value;havoc #t~mem1;#res := 1; {3920#(<= 100000 ~SIZE~0)} is VALID [2018-11-23 12:10:22,183 INFO L273 TraceCheckUtils]: 26: Hoare triple {3920#(<= 100000 ~SIZE~0)} assume true; {3920#(<= 100000 ~SIZE~0)} is VALID [2018-11-23 12:10:22,184 INFO L268 TraceCheckUtils]: 27: Hoare quadruple {3920#(<= 100000 ~SIZE~0)} {3920#(<= 100000 ~SIZE~0)} #127#return; {3920#(<= 100000 ~SIZE~0)} is VALID [2018-11-23 12:10:22,185 INFO L273 TraceCheckUtils]: 28: Hoare triple {3920#(<= 100000 ~SIZE~0)} assume -2147483648 <= #t~ret4 && #t~ret4 <= 2147483647; {3920#(<= 100000 ~SIZE~0)} is VALID [2018-11-23 12:10:22,185 INFO L273 TraceCheckUtils]: 29: Hoare triple {3920#(<= 100000 ~SIZE~0)} assume !(1 != #t~ret4);havoc #t~ret4;havoc #t~mem3; {3920#(<= 100000 ~SIZE~0)} is VALID [2018-11-23 12:10:22,186 INFO L273 TraceCheckUtils]: 30: Hoare triple {3920#(<= 100000 ~SIZE~0)} #t~post2 := ~v~0;~v~0 := 1 + #t~post2;havoc #t~post2; {3920#(<= 100000 ~SIZE~0)} is VALID [2018-11-23 12:10:22,186 INFO L273 TraceCheckUtils]: 31: Hoare triple {3920#(<= 100000 ~SIZE~0)} assume !!(~v~0 < ~SIZE~0);call #t~mem3 := read~int(~#values~0.base, ~#values~0.offset + 4 * ~v~0, 4); {3920#(<= 100000 ~SIZE~0)} is VALID [2018-11-23 12:10:22,187 INFO L256 TraceCheckUtils]: 32: Hoare triple {3920#(<= 100000 ~SIZE~0)} call #t~ret4 := elem_exists(~#set~0.base, ~#set~0.offset, ~n~0, #t~mem3); {3920#(<= 100000 ~SIZE~0)} is VALID [2018-11-23 12:10:22,188 INFO L273 TraceCheckUtils]: 33: Hoare triple {3920#(<= 100000 ~SIZE~0)} ~set.base, ~set.offset := #in~set.base, #in~set.offset;~size := #in~size;~value := #in~value;havoc ~i~0;~i~0 := 0; {3920#(<= 100000 ~SIZE~0)} is VALID [2018-11-23 12:10:22,188 INFO L273 TraceCheckUtils]: 34: Hoare triple {3920#(<= 100000 ~SIZE~0)} assume !!(~i~0 < ~size);call #t~mem1 := read~int(~set.base, ~set.offset + 4 * ~i~0, 4); {3920#(<= 100000 ~SIZE~0)} is VALID [2018-11-23 12:10:22,189 INFO L273 TraceCheckUtils]: 35: Hoare triple {3920#(<= 100000 ~SIZE~0)} assume #t~mem1 == ~value;havoc #t~mem1;#res := 1; {3920#(<= 100000 ~SIZE~0)} is VALID [2018-11-23 12:10:22,189 INFO L273 TraceCheckUtils]: 36: Hoare triple {3920#(<= 100000 ~SIZE~0)} assume true; {3920#(<= 100000 ~SIZE~0)} is VALID [2018-11-23 12:10:22,190 INFO L268 TraceCheckUtils]: 37: Hoare quadruple {3920#(<= 100000 ~SIZE~0)} {3920#(<= 100000 ~SIZE~0)} #127#return; {3920#(<= 100000 ~SIZE~0)} is VALID [2018-11-23 12:10:22,191 INFO L273 TraceCheckUtils]: 38: Hoare triple {3920#(<= 100000 ~SIZE~0)} assume -2147483648 <= #t~ret4 && #t~ret4 <= 2147483647; {3920#(<= 100000 ~SIZE~0)} is VALID [2018-11-23 12:10:22,191 INFO L273 TraceCheckUtils]: 39: Hoare triple {3920#(<= 100000 ~SIZE~0)} assume !(1 != #t~ret4);havoc #t~ret4;havoc #t~mem3; {3920#(<= 100000 ~SIZE~0)} is VALID [2018-11-23 12:10:22,192 INFO L273 TraceCheckUtils]: 40: Hoare triple {3920#(<= 100000 ~SIZE~0)} #t~post2 := ~v~0;~v~0 := 1 + #t~post2;havoc #t~post2; {3920#(<= 100000 ~SIZE~0)} is VALID [2018-11-23 12:10:22,192 INFO L273 TraceCheckUtils]: 41: Hoare triple {3920#(<= 100000 ~SIZE~0)} assume !!(~v~0 < ~SIZE~0);call #t~mem3 := read~int(~#values~0.base, ~#values~0.offset + 4 * ~v~0, 4); {3920#(<= 100000 ~SIZE~0)} is VALID [2018-11-23 12:10:22,193 INFO L256 TraceCheckUtils]: 42: Hoare triple {3920#(<= 100000 ~SIZE~0)} call #t~ret4 := elem_exists(~#set~0.base, ~#set~0.offset, ~n~0, #t~mem3); {3920#(<= 100000 ~SIZE~0)} is VALID [2018-11-23 12:10:22,194 INFO L273 TraceCheckUtils]: 43: Hoare triple {3920#(<= 100000 ~SIZE~0)} ~set.base, ~set.offset := #in~set.base, #in~set.offset;~size := #in~size;~value := #in~value;havoc ~i~0;~i~0 := 0; {3920#(<= 100000 ~SIZE~0)} is VALID [2018-11-23 12:10:22,194 INFO L273 TraceCheckUtils]: 44: Hoare triple {3920#(<= 100000 ~SIZE~0)} assume !!(~i~0 < ~size);call #t~mem1 := read~int(~set.base, ~set.offset + 4 * ~i~0, 4); {3920#(<= 100000 ~SIZE~0)} is VALID [2018-11-23 12:10:22,195 INFO L273 TraceCheckUtils]: 45: Hoare triple {3920#(<= 100000 ~SIZE~0)} assume #t~mem1 == ~value;havoc #t~mem1;#res := 1; {3920#(<= 100000 ~SIZE~0)} is VALID [2018-11-23 12:10:22,195 INFO L273 TraceCheckUtils]: 46: Hoare triple {3920#(<= 100000 ~SIZE~0)} assume true; {3920#(<= 100000 ~SIZE~0)} is VALID [2018-11-23 12:10:22,197 INFO L268 TraceCheckUtils]: 47: Hoare quadruple {3920#(<= 100000 ~SIZE~0)} {3920#(<= 100000 ~SIZE~0)} #127#return; {3920#(<= 100000 ~SIZE~0)} is VALID [2018-11-23 12:10:22,197 INFO L273 TraceCheckUtils]: 48: Hoare triple {3920#(<= 100000 ~SIZE~0)} assume -2147483648 <= #t~ret4 && #t~ret4 <= 2147483647; {3920#(<= 100000 ~SIZE~0)} is VALID [2018-11-23 12:10:22,198 INFO L273 TraceCheckUtils]: 49: Hoare triple {3920#(<= 100000 ~SIZE~0)} assume !(1 != #t~ret4);havoc #t~ret4;havoc #t~mem3; {3920#(<= 100000 ~SIZE~0)} is VALID [2018-11-23 12:10:22,198 INFO L273 TraceCheckUtils]: 50: Hoare triple {3920#(<= 100000 ~SIZE~0)} #t~post2 := ~v~0;~v~0 := 1 + #t~post2;havoc #t~post2; {3920#(<= 100000 ~SIZE~0)} is VALID [2018-11-23 12:10:22,199 INFO L273 TraceCheckUtils]: 51: Hoare triple {3920#(<= 100000 ~SIZE~0)} assume !(~v~0 < ~SIZE~0); {3920#(<= 100000 ~SIZE~0)} is VALID [2018-11-23 12:10:22,199 INFO L273 TraceCheckUtils]: 52: Hoare triple {3920#(<= 100000 ~SIZE~0)} ~i~1 := 0; {4085#(and (<= main_~i~1 0) (<= 100000 ~SIZE~0))} is VALID [2018-11-23 12:10:22,200 INFO L273 TraceCheckUtils]: 53: Hoare triple {4085#(and (<= main_~i~1 0) (<= 100000 ~SIZE~0))} assume !!(~i~1 < ~SIZE~0 && 1 != ~found~0);call #t~mem8 := read~int(~#set~0.base, ~#set~0.offset + 4 * ~i~1, 4); {4085#(and (<= main_~i~1 0) (<= 100000 ~SIZE~0))} is VALID [2018-11-23 12:10:22,201 INFO L273 TraceCheckUtils]: 54: Hoare triple {4085#(and (<= main_~i~1 0) (<= 100000 ~SIZE~0))} assume !(#t~mem8 == ~element~0);havoc #t~mem8; {4085#(and (<= main_~i~1 0) (<= 100000 ~SIZE~0))} is VALID [2018-11-23 12:10:22,201 INFO L273 TraceCheckUtils]: 55: Hoare triple {4085#(and (<= main_~i~1 0) (<= 100000 ~SIZE~0))} #t~post7 := ~i~1;~i~1 := 1 + #t~post7;havoc #t~post7; {4095#(and (<= main_~i~1 1) (<= 100000 ~SIZE~0))} is VALID [2018-11-23 12:10:22,207 INFO L273 TraceCheckUtils]: 56: Hoare triple {4095#(and (<= main_~i~1 1) (<= 100000 ~SIZE~0))} assume !!(~i~1 < ~SIZE~0 && 1 != ~found~0);call #t~mem8 := read~int(~#set~0.base, ~#set~0.offset + 4 * ~i~1, 4); {4095#(and (<= main_~i~1 1) (<= 100000 ~SIZE~0))} is VALID [2018-11-23 12:10:22,207 INFO L273 TraceCheckUtils]: 57: Hoare triple {4095#(and (<= main_~i~1 1) (<= 100000 ~SIZE~0))} assume #t~mem8 == ~element~0;havoc #t~mem8;~found~0 := 1;~pos~0 := ~i~1; {4102#(and (<= main_~pos~0 1) (<= 100000 ~SIZE~0))} is VALID [2018-11-23 12:10:22,208 INFO L273 TraceCheckUtils]: 58: Hoare triple {4102#(and (<= main_~pos~0 1) (<= 100000 ~SIZE~0))} #t~post7 := ~i~1;~i~1 := 1 + #t~post7;havoc #t~post7; {4102#(and (<= main_~pos~0 1) (<= 100000 ~SIZE~0))} is VALID [2018-11-23 12:10:22,208 INFO L273 TraceCheckUtils]: 59: Hoare triple {4102#(and (<= main_~pos~0 1) (<= 100000 ~SIZE~0))} assume !(~i~1 < ~SIZE~0 && 1 != ~found~0); {4102#(and (<= main_~pos~0 1) (<= 100000 ~SIZE~0))} is VALID [2018-11-23 12:10:22,208 INFO L273 TraceCheckUtils]: 60: Hoare triple {4102#(and (<= main_~pos~0 1) (<= 100000 ~SIZE~0))} assume 1 == ~found~0;~i~1 := ~pos~0; {4095#(and (<= main_~i~1 1) (<= 100000 ~SIZE~0))} is VALID [2018-11-23 12:10:22,209 INFO L273 TraceCheckUtils]: 61: Hoare triple {4095#(and (<= main_~i~1 1) (<= 100000 ~SIZE~0))} assume !(~i~1 < ~SIZE~0 - 1); {3919#false} is VALID [2018-11-23 12:10:22,209 INFO L273 TraceCheckUtils]: 62: Hoare triple {3919#false} assume 1 == ~found~0;~i~1 := 0; {3919#false} is VALID [2018-11-23 12:10:22,209 INFO L273 TraceCheckUtils]: 63: Hoare triple {3919#false} assume !!(~i~1 < ~SIZE~0 - 1);call #t~mem12 := read~int(~#set~0.base, ~#set~0.offset + 4 * ~i~1, 4); {3919#false} is VALID [2018-11-23 12:10:22,209 INFO L256 TraceCheckUtils]: 64: Hoare triple {3919#false} call __VERIFIER_assert((if #t~mem12 != ~element~0 then 1 else 0)); {3919#false} is VALID [2018-11-23 12:10:22,209 INFO L273 TraceCheckUtils]: 65: Hoare triple {3919#false} ~cond := #in~cond; {3919#false} is VALID [2018-11-23 12:10:22,209 INFO L273 TraceCheckUtils]: 66: Hoare triple {3919#false} assume 0 == ~cond; {3919#false} is VALID [2018-11-23 12:10:22,210 INFO L273 TraceCheckUtils]: 67: Hoare triple {3919#false} assume !false; {3919#false} is VALID [2018-11-23 12:10:22,214 INFO L134 CoverageAnalysis]: Checked inductivity of 66 backedges. 0 proven. 5 refuted. 0 times theorem prover too weak. 61 trivial. 0 not checked. [2018-11-23 12:10:22,232 INFO L312 seRefinementStrategy]: Constructing automaton from 0 perfect and 2 imperfect interpolant sequences. [2018-11-23 12:10:22,232 INFO L327 seRefinementStrategy]: Number of different interpolants: perfect sequences [] imperfect sequences [8, 6] total 11 [2018-11-23 12:10:22,233 INFO L78 Accepts]: Start accepts. Automaton has 11 states. Word has length 68 [2018-11-23 12:10:22,233 INFO L84 Accepts]: Finished accepts. word is accepted. [2018-11-23 12:10:22,233 INFO L86 InductivityCheck]: Starting indutivity check of a Floyd-Hoare automaton with 11 states. [2018-11-23 12:10:22,321 INFO L119 InductivityCheck]: Floyd-Hoare automaton has 86 edges. 86 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2018-11-23 12:10:22,321 INFO L459 AbstractCegarLoop]: Interpolant automaton has 11 states [2018-11-23 12:10:22,321 INFO L142 InterpolantAutomaton]: Constructing interpolant automaton starting with 11 interpolants. [2018-11-23 12:10:22,322 INFO L144 InterpolantAutomaton]: CoverageRelationStatistics Valid=34, Invalid=76, Unknown=0, NotChecked=0, Total=110 [2018-11-23 12:10:22,322 INFO L87 Difference]: Start difference. First operand 85 states and 105 transitions. Second operand 11 states. [2018-11-23 12:10:23,616 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2018-11-23 12:10:23,616 INFO L93 Difference]: Finished difference Result 162 states and 204 transitions. [2018-11-23 12:10:23,616 INFO L142 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 13 states. [2018-11-23 12:10:23,616 INFO L78 Accepts]: Start accepts. Automaton has 11 states. Word has length 68 [2018-11-23 12:10:23,617 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2018-11-23 12:10:23,617 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 11 states. [2018-11-23 12:10:23,620 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 13 states to 13 states and 165 transitions. [2018-11-23 12:10:23,620 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 11 states. [2018-11-23 12:10:23,623 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 13 states to 13 states and 165 transitions. [2018-11-23 12:10:23,623 INFO L86 InductivityCheck]: Starting indutivity check of a Floyd-Hoare automaton with 13 states and 165 transitions. [2018-11-23 12:10:23,872 INFO L119 InductivityCheck]: Floyd-Hoare automaton has 165 edges. 165 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2018-11-23 12:10:23,876 INFO L225 Difference]: With dead ends: 162 [2018-11-23 12:10:23,876 INFO L226 Difference]: Without dead ends: 134 [2018-11-23 12:10:23,877 INFO L631 BasicCegarLoop]: 0 DeclaredPredicates, 81 GetRequests, 66 SyntacticMatches, 0 SemanticMatches, 15 ConstructedPredicates, 0 IntricatePredicates, 0 DeprecatedPredicates, 32 ImplicationChecksByTransitivity, 0.2s TimeCoverageRelationStatistics Valid=78, Invalid=194, Unknown=0, NotChecked=0, Total=272 [2018-11-23 12:10:23,877 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 134 states. [2018-11-23 12:10:24,185 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 134 to 100. [2018-11-23 12:10:24,185 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2018-11-23 12:10:24,186 INFO L82 GeneralOperation]: Start isEquivalent. First operand 134 states. Second operand 100 states. [2018-11-23 12:10:24,186 INFO L74 IsIncluded]: Start isIncluded. First operand 134 states. Second operand 100 states. [2018-11-23 12:10:24,186 INFO L87 Difference]: Start difference. First operand 134 states. Second operand 100 states. [2018-11-23 12:10:24,192 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2018-11-23 12:10:24,192 INFO L93 Difference]: Finished difference Result 134 states and 171 transitions. [2018-11-23 12:10:24,192 INFO L276 IsEmpty]: Start isEmpty. Operand 134 states and 171 transitions. [2018-11-23 12:10:24,193 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2018-11-23 12:10:24,193 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2018-11-23 12:10:24,193 INFO L74 IsIncluded]: Start isIncluded. First operand 100 states. Second operand 134 states. [2018-11-23 12:10:24,193 INFO L87 Difference]: Start difference. First operand 100 states. Second operand 134 states. [2018-11-23 12:10:24,199 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2018-11-23 12:10:24,199 INFO L93 Difference]: Finished difference Result 134 states and 171 transitions. [2018-11-23 12:10:24,199 INFO L276 IsEmpty]: Start isEmpty. Operand 134 states and 171 transitions. [2018-11-23 12:10:24,200 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2018-11-23 12:10:24,200 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2018-11-23 12:10:24,200 INFO L88 GeneralOperation]: Finished isEquivalent. [2018-11-23 12:10:24,200 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2018-11-23 12:10:24,200 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 100 states. [2018-11-23 12:10:24,203 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 100 states to 100 states and 126 transitions. [2018-11-23 12:10:24,204 INFO L78 Accepts]: Start accepts. Automaton has 100 states and 126 transitions. Word has length 68 [2018-11-23 12:10:24,204 INFO L84 Accepts]: Finished accepts. word is rejected. [2018-11-23 12:10:24,204 INFO L480 AbstractCegarLoop]: Abstraction has 100 states and 126 transitions. [2018-11-23 12:10:24,204 INFO L481 AbstractCegarLoop]: Interpolant automaton has 11 states. [2018-11-23 12:10:24,204 INFO L276 IsEmpty]: Start isEmpty. Operand 100 states and 126 transitions. [2018-11-23 12:10:24,206 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 80 [2018-11-23 12:10:24,206 INFO L394 BasicCegarLoop]: Found error trace [2018-11-23 12:10:24,206 INFO L402 BasicCegarLoop]: trace histogram [5, 5, 5, 5, 5, 5, 5, 4, 4, 4, 2, 2, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1] [2018-11-23 12:10:24,206 INFO L423 AbstractCegarLoop]: === Iteration 11 === [__VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION]=== [2018-11-23 12:10:24,206 INFO L141 PredicateUnifier]: Initialized classic predicate unifier [2018-11-23 12:10:24,206 INFO L82 PathProgramCache]: Analyzing trace with hash -1943912524, now seen corresponding path program 1 times [2018-11-23 12:10:24,207 INFO L223 ckRefinementStrategy]: Switched to mode SMTINTERPOL_TREE_INTERPOLANTS [2018-11-23 12:10:24,207 INFO L69 tionRefinementEngine]: Using refinement strategy CamelRefinementStrategy [2018-11-23 12:10:24,207 INFO L119 rtionOrderModulation]: Craig_TreeInterpolation forces the order to NOT_INCREMENTALLY [2018-11-23 12:10:24,208 INFO L101 rtionOrderModulation]: Changing assertion order to NOT_INCREMENTALLY [2018-11-23 12:10:24,208 INFO L119 rtionOrderModulation]: Craig_TreeInterpolation forces the order to NOT_INCREMENTALLY [2018-11-23 12:10:24,226 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2018-11-23 12:10:24,409 INFO L256 TraceCheckUtils]: 0: Hoare triple {4770#true} call ULTIMATE.init(); {4770#true} is VALID [2018-11-23 12:10:24,410 INFO L273 TraceCheckUtils]: 1: Hoare triple {4770#true} #NULL.base, #NULL.offset := 0, 0;#valid := #valid[0 := 0];~SIZE~0 := 100000; {4772#(<= 100000 ~SIZE~0)} is VALID [2018-11-23 12:10:24,410 INFO L273 TraceCheckUtils]: 2: Hoare triple {4772#(<= 100000 ~SIZE~0)} assume true; {4772#(<= 100000 ~SIZE~0)} is VALID [2018-11-23 12:10:24,411 INFO L268 TraceCheckUtils]: 3: Hoare quadruple {4772#(<= 100000 ~SIZE~0)} {4770#true} #123#return; {4772#(<= 100000 ~SIZE~0)} is VALID [2018-11-23 12:10:24,412 INFO L256 TraceCheckUtils]: 4: Hoare triple {4772#(<= 100000 ~SIZE~0)} call #t~ret13 := main(); {4772#(<= 100000 ~SIZE~0)} is VALID [2018-11-23 12:10:24,412 INFO L273 TraceCheckUtils]: 5: Hoare triple {4772#(<= 100000 ~SIZE~0)} havoc ~i~1;havoc ~pos~0;~n~0 := 0;~found~0 := 0;call ~#set~0.base, ~#set~0.offset := #Ultimate.alloc(4 * ~SIZE~0);call ~#values~0.base, ~#values~0.offset := #Ultimate.alloc(4 * ~SIZE~0);havoc ~element~0;havoc ~v~0;~v~0 := 0; {4772#(<= 100000 ~SIZE~0)} is VALID [2018-11-23 12:10:24,413 INFO L273 TraceCheckUtils]: 6: Hoare triple {4772#(<= 100000 ~SIZE~0)} assume !!(~v~0 < ~SIZE~0);call #t~mem3 := read~int(~#values~0.base, ~#values~0.offset + 4 * ~v~0, 4); {4772#(<= 100000 ~SIZE~0)} is VALID [2018-11-23 12:10:24,413 INFO L256 TraceCheckUtils]: 7: Hoare triple {4772#(<= 100000 ~SIZE~0)} call #t~ret4 := elem_exists(~#set~0.base, ~#set~0.offset, ~n~0, #t~mem3); {4770#true} is VALID [2018-11-23 12:10:24,413 INFO L273 TraceCheckUtils]: 8: Hoare triple {4770#true} ~set.base, ~set.offset := #in~set.base, #in~set.offset;~size := #in~size;~value := #in~value;havoc ~i~0;~i~0 := 0; {4770#true} is VALID [2018-11-23 12:10:24,413 INFO L273 TraceCheckUtils]: 9: Hoare triple {4770#true} assume !(~i~0 < ~size); {4770#true} is VALID [2018-11-23 12:10:24,414 INFO L273 TraceCheckUtils]: 10: Hoare triple {4770#true} #res := 0; {4770#true} is VALID [2018-11-23 12:10:24,414 INFO L273 TraceCheckUtils]: 11: Hoare triple {4770#true} assume true; {4770#true} is VALID [2018-11-23 12:10:24,415 INFO L268 TraceCheckUtils]: 12: Hoare quadruple {4770#true} {4772#(<= 100000 ~SIZE~0)} #127#return; {4772#(<= 100000 ~SIZE~0)} is VALID [2018-11-23 12:10:24,415 INFO L273 TraceCheckUtils]: 13: Hoare triple {4772#(<= 100000 ~SIZE~0)} assume -2147483648 <= #t~ret4 && #t~ret4 <= 2147483647; {4772#(<= 100000 ~SIZE~0)} is VALID [2018-11-23 12:10:24,416 INFO L273 TraceCheckUtils]: 14: Hoare triple {4772#(<= 100000 ~SIZE~0)} assume 1 != #t~ret4;havoc #t~ret4;havoc #t~mem3;call #t~mem5 := read~int(~#values~0.base, ~#values~0.offset + 4 * ~v~0, 4); {4772#(<= 100000 ~SIZE~0)} is VALID [2018-11-23 12:10:24,416 INFO L256 TraceCheckUtils]: 15: Hoare triple {4772#(<= 100000 ~SIZE~0)} call #t~ret6 := insert(~#set~0.base, ~#set~0.offset, ~n~0, #t~mem5); {4770#true} is VALID [2018-11-23 12:10:24,416 INFO L273 TraceCheckUtils]: 16: Hoare triple {4770#true} ~set.base, ~set.offset := #in~set.base, #in~set.offset;~size := #in~size;~value := #in~value;call write~int(~value, ~set.base, ~set.offset + 4 * ~size, 4);#res := 1 + ~size; {4770#true} is VALID [2018-11-23 12:10:24,416 INFO L273 TraceCheckUtils]: 17: Hoare triple {4770#true} assume true; {4770#true} is VALID [2018-11-23 12:10:24,417 INFO L268 TraceCheckUtils]: 18: Hoare quadruple {4770#true} {4772#(<= 100000 ~SIZE~0)} #129#return; {4772#(<= 100000 ~SIZE~0)} is VALID [2018-11-23 12:10:24,417 INFO L273 TraceCheckUtils]: 19: Hoare triple {4772#(<= 100000 ~SIZE~0)} assume -2147483648 <= #t~ret6 && #t~ret6 <= 2147483647;~n~0 := #t~ret6;havoc #t~mem5;havoc #t~ret6; {4772#(<= 100000 ~SIZE~0)} is VALID [2018-11-23 12:10:24,418 INFO L273 TraceCheckUtils]: 20: Hoare triple {4772#(<= 100000 ~SIZE~0)} #t~post2 := ~v~0;~v~0 := 1 + #t~post2;havoc #t~post2; {4772#(<= 100000 ~SIZE~0)} is VALID [2018-11-23 12:10:24,418 INFO L273 TraceCheckUtils]: 21: Hoare triple {4772#(<= 100000 ~SIZE~0)} assume !!(~v~0 < ~SIZE~0);call #t~mem3 := read~int(~#values~0.base, ~#values~0.offset + 4 * ~v~0, 4); {4772#(<= 100000 ~SIZE~0)} is VALID [2018-11-23 12:10:24,418 INFO L256 TraceCheckUtils]: 22: Hoare triple {4772#(<= 100000 ~SIZE~0)} call #t~ret4 := elem_exists(~#set~0.base, ~#set~0.offset, ~n~0, #t~mem3); {4770#true} is VALID [2018-11-23 12:10:24,418 INFO L273 TraceCheckUtils]: 23: Hoare triple {4770#true} ~set.base, ~set.offset := #in~set.base, #in~set.offset;~size := #in~size;~value := #in~value;havoc ~i~0;~i~0 := 0; {4770#true} is VALID [2018-11-23 12:10:24,418 INFO L273 TraceCheckUtils]: 24: Hoare triple {4770#true} assume !!(~i~0 < ~size);call #t~mem1 := read~int(~set.base, ~set.offset + 4 * ~i~0, 4); {4770#true} is VALID [2018-11-23 12:10:24,418 INFO L273 TraceCheckUtils]: 25: Hoare triple {4770#true} assume #t~mem1 == ~value;havoc #t~mem1;#res := 1; {4770#true} is VALID [2018-11-23 12:10:24,418 INFO L273 TraceCheckUtils]: 26: Hoare triple {4770#true} assume true; {4770#true} is VALID [2018-11-23 12:10:24,439 INFO L268 TraceCheckUtils]: 27: Hoare quadruple {4770#true} {4772#(<= 100000 ~SIZE~0)} #127#return; {4772#(<= 100000 ~SIZE~0)} is VALID [2018-11-23 12:10:24,442 INFO L273 TraceCheckUtils]: 28: Hoare triple {4772#(<= 100000 ~SIZE~0)} assume -2147483648 <= #t~ret4 && #t~ret4 <= 2147483647; {4772#(<= 100000 ~SIZE~0)} is VALID [2018-11-23 12:10:24,442 INFO L273 TraceCheckUtils]: 29: Hoare triple {4772#(<= 100000 ~SIZE~0)} assume !(1 != #t~ret4);havoc #t~ret4;havoc #t~mem3; {4772#(<= 100000 ~SIZE~0)} is VALID [2018-11-23 12:10:24,442 INFO L273 TraceCheckUtils]: 30: Hoare triple {4772#(<= 100000 ~SIZE~0)} #t~post2 := ~v~0;~v~0 := 1 + #t~post2;havoc #t~post2; {4772#(<= 100000 ~SIZE~0)} is VALID [2018-11-23 12:10:24,443 INFO L273 TraceCheckUtils]: 31: Hoare triple {4772#(<= 100000 ~SIZE~0)} assume !!(~v~0 < ~SIZE~0);call #t~mem3 := read~int(~#values~0.base, ~#values~0.offset + 4 * ~v~0, 4); {4772#(<= 100000 ~SIZE~0)} is VALID [2018-11-23 12:10:24,443 INFO L256 TraceCheckUtils]: 32: Hoare triple {4772#(<= 100000 ~SIZE~0)} call #t~ret4 := elem_exists(~#set~0.base, ~#set~0.offset, ~n~0, #t~mem3); {4770#true} is VALID [2018-11-23 12:10:24,443 INFO L273 TraceCheckUtils]: 33: Hoare triple {4770#true} ~set.base, ~set.offset := #in~set.base, #in~set.offset;~size := #in~size;~value := #in~value;havoc ~i~0;~i~0 := 0; {4770#true} is VALID [2018-11-23 12:10:24,443 INFO L273 TraceCheckUtils]: 34: Hoare triple {4770#true} assume !!(~i~0 < ~size);call #t~mem1 := read~int(~set.base, ~set.offset + 4 * ~i~0, 4); {4770#true} is VALID [2018-11-23 12:10:24,443 INFO L273 TraceCheckUtils]: 35: Hoare triple {4770#true} assume #t~mem1 == ~value;havoc #t~mem1;#res := 1; {4770#true} is VALID [2018-11-23 12:10:24,443 INFO L273 TraceCheckUtils]: 36: Hoare triple {4770#true} assume true; {4770#true} is VALID [2018-11-23 12:10:24,444 INFO L268 TraceCheckUtils]: 37: Hoare quadruple {4770#true} {4772#(<= 100000 ~SIZE~0)} #127#return; {4772#(<= 100000 ~SIZE~0)} is VALID [2018-11-23 12:10:24,445 INFO L273 TraceCheckUtils]: 38: Hoare triple {4772#(<= 100000 ~SIZE~0)} assume -2147483648 <= #t~ret4 && #t~ret4 <= 2147483647; {4772#(<= 100000 ~SIZE~0)} is VALID [2018-11-23 12:10:24,445 INFO L273 TraceCheckUtils]: 39: Hoare triple {4772#(<= 100000 ~SIZE~0)} assume !(1 != #t~ret4);havoc #t~ret4;havoc #t~mem3; {4772#(<= 100000 ~SIZE~0)} is VALID [2018-11-23 12:10:24,446 INFO L273 TraceCheckUtils]: 40: Hoare triple {4772#(<= 100000 ~SIZE~0)} #t~post2 := ~v~0;~v~0 := 1 + #t~post2;havoc #t~post2; {4772#(<= 100000 ~SIZE~0)} is VALID [2018-11-23 12:10:24,446 INFO L273 TraceCheckUtils]: 41: Hoare triple {4772#(<= 100000 ~SIZE~0)} assume !!(~v~0 < ~SIZE~0);call #t~mem3 := read~int(~#values~0.base, ~#values~0.offset + 4 * ~v~0, 4); {4772#(<= 100000 ~SIZE~0)} is VALID [2018-11-23 12:10:24,446 INFO L256 TraceCheckUtils]: 42: Hoare triple {4772#(<= 100000 ~SIZE~0)} call #t~ret4 := elem_exists(~#set~0.base, ~#set~0.offset, ~n~0, #t~mem3); {4770#true} is VALID [2018-11-23 12:10:24,447 INFO L273 TraceCheckUtils]: 43: Hoare triple {4770#true} ~set.base, ~set.offset := #in~set.base, #in~set.offset;~size := #in~size;~value := #in~value;havoc ~i~0;~i~0 := 0; {4770#true} is VALID [2018-11-23 12:10:24,447 INFO L273 TraceCheckUtils]: 44: Hoare triple {4770#true} assume !!(~i~0 < ~size);call #t~mem1 := read~int(~set.base, ~set.offset + 4 * ~i~0, 4); {4770#true} is VALID [2018-11-23 12:10:24,447 INFO L273 TraceCheckUtils]: 45: Hoare triple {4770#true} assume #t~mem1 == ~value;havoc #t~mem1;#res := 1; {4770#true} is VALID [2018-11-23 12:10:24,447 INFO L273 TraceCheckUtils]: 46: Hoare triple {4770#true} assume true; {4770#true} is VALID [2018-11-23 12:10:24,448 INFO L268 TraceCheckUtils]: 47: Hoare quadruple {4770#true} {4772#(<= 100000 ~SIZE~0)} #127#return; {4772#(<= 100000 ~SIZE~0)} is VALID [2018-11-23 12:10:24,449 INFO L273 TraceCheckUtils]: 48: Hoare triple {4772#(<= 100000 ~SIZE~0)} assume -2147483648 <= #t~ret4 && #t~ret4 <= 2147483647; {4772#(<= 100000 ~SIZE~0)} is VALID [2018-11-23 12:10:24,449 INFO L273 TraceCheckUtils]: 49: Hoare triple {4772#(<= 100000 ~SIZE~0)} assume !(1 != #t~ret4);havoc #t~ret4;havoc #t~mem3; {4772#(<= 100000 ~SIZE~0)} is VALID [2018-11-23 12:10:24,450 INFO L273 TraceCheckUtils]: 50: Hoare triple {4772#(<= 100000 ~SIZE~0)} #t~post2 := ~v~0;~v~0 := 1 + #t~post2;havoc #t~post2; {4772#(<= 100000 ~SIZE~0)} is VALID [2018-11-23 12:10:24,450 INFO L273 TraceCheckUtils]: 51: Hoare triple {4772#(<= 100000 ~SIZE~0)} assume !!(~v~0 < ~SIZE~0);call #t~mem3 := read~int(~#values~0.base, ~#values~0.offset + 4 * ~v~0, 4); {4772#(<= 100000 ~SIZE~0)} is VALID [2018-11-23 12:10:24,451 INFO L256 TraceCheckUtils]: 52: Hoare triple {4772#(<= 100000 ~SIZE~0)} call #t~ret4 := elem_exists(~#set~0.base, ~#set~0.offset, ~n~0, #t~mem3); {4770#true} is VALID [2018-11-23 12:10:24,451 INFO L273 TraceCheckUtils]: 53: Hoare triple {4770#true} ~set.base, ~set.offset := #in~set.base, #in~set.offset;~size := #in~size;~value := #in~value;havoc ~i~0;~i~0 := 0; {4770#true} is VALID [2018-11-23 12:10:24,451 INFO L273 TraceCheckUtils]: 54: Hoare triple {4770#true} assume !!(~i~0 < ~size);call #t~mem1 := read~int(~set.base, ~set.offset + 4 * ~i~0, 4); {4770#true} is VALID [2018-11-23 12:10:24,451 INFO L273 TraceCheckUtils]: 55: Hoare triple {4770#true} assume #t~mem1 == ~value;havoc #t~mem1;#res := 1; {4770#true} is VALID [2018-11-23 12:10:24,452 INFO L273 TraceCheckUtils]: 56: Hoare triple {4770#true} assume true; {4770#true} is VALID [2018-11-23 12:10:24,453 INFO L268 TraceCheckUtils]: 57: Hoare quadruple {4770#true} {4772#(<= 100000 ~SIZE~0)} #127#return; {4772#(<= 100000 ~SIZE~0)} is VALID [2018-11-23 12:10:24,453 INFO L273 TraceCheckUtils]: 58: Hoare triple {4772#(<= 100000 ~SIZE~0)} assume -2147483648 <= #t~ret4 && #t~ret4 <= 2147483647; {4772#(<= 100000 ~SIZE~0)} is VALID [2018-11-23 12:10:24,453 INFO L273 TraceCheckUtils]: 59: Hoare triple {4772#(<= 100000 ~SIZE~0)} assume !(1 != #t~ret4);havoc #t~ret4;havoc #t~mem3; {4772#(<= 100000 ~SIZE~0)} is VALID [2018-11-23 12:10:24,454 INFO L273 TraceCheckUtils]: 60: Hoare triple {4772#(<= 100000 ~SIZE~0)} #t~post2 := ~v~0;~v~0 := 1 + #t~post2;havoc #t~post2; {4772#(<= 100000 ~SIZE~0)} is VALID [2018-11-23 12:10:24,454 INFO L273 TraceCheckUtils]: 61: Hoare triple {4772#(<= 100000 ~SIZE~0)} assume !(~v~0 < ~SIZE~0); {4772#(<= 100000 ~SIZE~0)} is VALID [2018-11-23 12:10:24,454 INFO L273 TraceCheckUtils]: 62: Hoare triple {4772#(<= 100000 ~SIZE~0)} ~i~1 := 0; {4773#(and (= 0 main_~i~1) (<= 100000 ~SIZE~0))} is VALID [2018-11-23 12:10:24,455 INFO L273 TraceCheckUtils]: 63: Hoare triple {4773#(and (= 0 main_~i~1) (<= 100000 ~SIZE~0))} assume !!(~i~1 < ~SIZE~0 && 1 != ~found~0);call #t~mem8 := read~int(~#set~0.base, ~#set~0.offset + 4 * ~i~1, 4); {4773#(and (= 0 main_~i~1) (<= 100000 ~SIZE~0))} is VALID [2018-11-23 12:10:24,456 INFO L273 TraceCheckUtils]: 64: Hoare triple {4773#(and (= 0 main_~i~1) (<= 100000 ~SIZE~0))} assume #t~mem8 == ~element~0;havoc #t~mem8;~found~0 := 1;~pos~0 := ~i~1; {4774#(and (= 0 main_~pos~0) (<= 100000 ~SIZE~0))} is VALID [2018-11-23 12:10:24,456 INFO L273 TraceCheckUtils]: 65: Hoare triple {4774#(and (= 0 main_~pos~0) (<= 100000 ~SIZE~0))} #t~post7 := ~i~1;~i~1 := 1 + #t~post7;havoc #t~post7; {4774#(and (= 0 main_~pos~0) (<= 100000 ~SIZE~0))} is VALID [2018-11-23 12:10:24,457 INFO L273 TraceCheckUtils]: 66: Hoare triple {4774#(and (= 0 main_~pos~0) (<= 100000 ~SIZE~0))} assume !(~i~1 < ~SIZE~0 && 1 != ~found~0); {4774#(and (= 0 main_~pos~0) (<= 100000 ~SIZE~0))} is VALID [2018-11-23 12:10:24,458 INFO L273 TraceCheckUtils]: 67: Hoare triple {4774#(and (= 0 main_~pos~0) (<= 100000 ~SIZE~0))} assume 1 == ~found~0;~i~1 := ~pos~0; {4773#(and (= 0 main_~i~1) (<= 100000 ~SIZE~0))} is VALID [2018-11-23 12:10:24,458 INFO L273 TraceCheckUtils]: 68: Hoare triple {4773#(and (= 0 main_~i~1) (<= 100000 ~SIZE~0))} assume !!(~i~1 < ~SIZE~0 - 1);call #t~mem10 := read~int(~#set~0.base, ~#set~0.offset + 4 * (1 + ~i~1), 4);call write~int(#t~mem10, ~#set~0.base, ~#set~0.offset + 4 * ~i~1, 4);havoc #t~mem10; {4773#(and (= 0 main_~i~1) (<= 100000 ~SIZE~0))} is VALID [2018-11-23 12:10:24,459 INFO L273 TraceCheckUtils]: 69: Hoare triple {4773#(and (= 0 main_~i~1) (<= 100000 ~SIZE~0))} #t~post9 := ~i~1;~i~1 := 1 + #t~post9;havoc #t~post9; {4775#(<= (+ main_~i~1 99999) ~SIZE~0)} is VALID [2018-11-23 12:10:24,460 INFO L273 TraceCheckUtils]: 70: Hoare triple {4775#(<= (+ main_~i~1 99999) ~SIZE~0)} assume !!(~i~1 < ~SIZE~0 - 1);call #t~mem10 := read~int(~#set~0.base, ~#set~0.offset + 4 * (1 + ~i~1), 4);call write~int(#t~mem10, ~#set~0.base, ~#set~0.offset + 4 * ~i~1, 4);havoc #t~mem10; {4775#(<= (+ main_~i~1 99999) ~SIZE~0)} is VALID [2018-11-23 12:10:24,461 INFO L273 TraceCheckUtils]: 71: Hoare triple {4775#(<= (+ main_~i~1 99999) ~SIZE~0)} #t~post9 := ~i~1;~i~1 := 1 + #t~post9;havoc #t~post9; {4776#(<= (+ main_~i~1 99998) ~SIZE~0)} is VALID [2018-11-23 12:10:24,461 INFO L273 TraceCheckUtils]: 72: Hoare triple {4776#(<= (+ main_~i~1 99998) ~SIZE~0)} assume !(~i~1 < ~SIZE~0 - 1); {4771#false} is VALID [2018-11-23 12:10:24,462 INFO L273 TraceCheckUtils]: 73: Hoare triple {4771#false} assume 1 == ~found~0;~i~1 := 0; {4771#false} is VALID [2018-11-23 12:10:24,462 INFO L273 TraceCheckUtils]: 74: Hoare triple {4771#false} assume !!(~i~1 < ~SIZE~0 - 1);call #t~mem12 := read~int(~#set~0.base, ~#set~0.offset + 4 * ~i~1, 4); {4771#false} is VALID [2018-11-23 12:10:24,462 INFO L256 TraceCheckUtils]: 75: Hoare triple {4771#false} call __VERIFIER_assert((if #t~mem12 != ~element~0 then 1 else 0)); {4771#false} is VALID [2018-11-23 12:10:24,462 INFO L273 TraceCheckUtils]: 76: Hoare triple {4771#false} ~cond := #in~cond; {4771#false} is VALID [2018-11-23 12:10:24,462 INFO L273 TraceCheckUtils]: 77: Hoare triple {4771#false} assume 0 == ~cond; {4771#false} is VALID [2018-11-23 12:10:24,463 INFO L273 TraceCheckUtils]: 78: Hoare triple {4771#false} assume !false; {4771#false} is VALID [2018-11-23 12:10:24,468 INFO L134 CoverageAnalysis]: Checked inductivity of 106 backedges. 0 proven. 5 refuted. 0 times theorem prover too weak. 101 trivial. 0 not checked. [2018-11-23 12:10:24,468 INFO L300 seRefinementStrategy]: The current sequences of interpolants are not accepted, trying to find more. [2018-11-23 12:10:24,468 INFO L223 ckRefinementStrategy]: Switched to mode Z3_FP No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 Starting monitored process 8 with z3 -smt2 -in SMTLIB2_COMPLIANT=true -t:12000 (exit command is (exit), workingDir is null) Waiting until toolchain timeout for monitored process 8 with z3 -smt2 -in SMTLIB2_COMPLIANT=true -t:12000 [2018-11-23 12:10:24,480 INFO L103 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2018-11-23 12:10:24,519 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2018-11-23 12:10:24,540 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2018-11-23 12:10:24,543 INFO L273 TraceCheckSpWp]: Computing forward predicates... [2018-11-23 12:10:24,802 INFO L256 TraceCheckUtils]: 0: Hoare triple {4770#true} call ULTIMATE.init(); {4770#true} is VALID [2018-11-23 12:10:24,803 INFO L273 TraceCheckUtils]: 1: Hoare triple {4770#true} #NULL.base, #NULL.offset := 0, 0;#valid := #valid[0 := 0];~SIZE~0 := 100000; {4772#(<= 100000 ~SIZE~0)} is VALID [2018-11-23 12:10:24,804 INFO L273 TraceCheckUtils]: 2: Hoare triple {4772#(<= 100000 ~SIZE~0)} assume true; {4772#(<= 100000 ~SIZE~0)} is VALID [2018-11-23 12:10:24,804 INFO L268 TraceCheckUtils]: 3: Hoare quadruple {4772#(<= 100000 ~SIZE~0)} {4770#true} #123#return; {4772#(<= 100000 ~SIZE~0)} is VALID [2018-11-23 12:10:24,805 INFO L256 TraceCheckUtils]: 4: Hoare triple {4772#(<= 100000 ~SIZE~0)} call #t~ret13 := main(); {4772#(<= 100000 ~SIZE~0)} is VALID [2018-11-23 12:10:24,806 INFO L273 TraceCheckUtils]: 5: Hoare triple {4772#(<= 100000 ~SIZE~0)} havoc ~i~1;havoc ~pos~0;~n~0 := 0;~found~0 := 0;call ~#set~0.base, ~#set~0.offset := #Ultimate.alloc(4 * ~SIZE~0);call ~#values~0.base, ~#values~0.offset := #Ultimate.alloc(4 * ~SIZE~0);havoc ~element~0;havoc ~v~0;~v~0 := 0; {4795#(and (<= main_~v~0 0) (<= 100000 ~SIZE~0))} is VALID [2018-11-23 12:10:24,807 INFO L273 TraceCheckUtils]: 6: Hoare triple {4795#(and (<= main_~v~0 0) (<= 100000 ~SIZE~0))} assume !!(~v~0 < ~SIZE~0);call #t~mem3 := read~int(~#values~0.base, ~#values~0.offset + 4 * ~v~0, 4); {4795#(and (<= main_~v~0 0) (<= 100000 ~SIZE~0))} is VALID [2018-11-23 12:10:24,808 INFO L256 TraceCheckUtils]: 7: Hoare triple {4795#(and (<= main_~v~0 0) (<= 100000 ~SIZE~0))} call #t~ret4 := elem_exists(~#set~0.base, ~#set~0.offset, ~n~0, #t~mem3); {4772#(<= 100000 ~SIZE~0)} is VALID [2018-11-23 12:10:24,809 INFO L273 TraceCheckUtils]: 8: Hoare triple {4772#(<= 100000 ~SIZE~0)} ~set.base, ~set.offset := #in~set.base, #in~set.offset;~size := #in~size;~value := #in~value;havoc ~i~0;~i~0 := 0; {4772#(<= 100000 ~SIZE~0)} is VALID [2018-11-23 12:10:24,809 INFO L273 TraceCheckUtils]: 9: Hoare triple {4772#(<= 100000 ~SIZE~0)} assume !(~i~0 < ~size); {4772#(<= 100000 ~SIZE~0)} is VALID [2018-11-23 12:10:24,810 INFO L273 TraceCheckUtils]: 10: Hoare triple {4772#(<= 100000 ~SIZE~0)} #res := 0; {4772#(<= 100000 ~SIZE~0)} is VALID [2018-11-23 12:10:24,810 INFO L273 TraceCheckUtils]: 11: Hoare triple {4772#(<= 100000 ~SIZE~0)} assume true; {4772#(<= 100000 ~SIZE~0)} is VALID [2018-11-23 12:10:24,812 INFO L268 TraceCheckUtils]: 12: Hoare quadruple {4772#(<= 100000 ~SIZE~0)} {4795#(and (<= main_~v~0 0) (<= 100000 ~SIZE~0))} #127#return; {4795#(and (<= main_~v~0 0) (<= 100000 ~SIZE~0))} is VALID [2018-11-23 12:10:24,812 INFO L273 TraceCheckUtils]: 13: Hoare triple {4795#(and (<= main_~v~0 0) (<= 100000 ~SIZE~0))} assume -2147483648 <= #t~ret4 && #t~ret4 <= 2147483647; {4795#(and (<= main_~v~0 0) (<= 100000 ~SIZE~0))} is VALID [2018-11-23 12:10:24,813 INFO L273 TraceCheckUtils]: 14: Hoare triple {4795#(and (<= main_~v~0 0) (<= 100000 ~SIZE~0))} assume 1 != #t~ret4;havoc #t~ret4;havoc #t~mem3;call #t~mem5 := read~int(~#values~0.base, ~#values~0.offset + 4 * ~v~0, 4); {4795#(and (<= main_~v~0 0) (<= 100000 ~SIZE~0))} is VALID [2018-11-23 12:10:24,814 INFO L256 TraceCheckUtils]: 15: Hoare triple {4795#(and (<= main_~v~0 0) (<= 100000 ~SIZE~0))} call #t~ret6 := insert(~#set~0.base, ~#set~0.offset, ~n~0, #t~mem5); {4772#(<= 100000 ~SIZE~0)} is VALID [2018-11-23 12:10:24,815 INFO L273 TraceCheckUtils]: 16: Hoare triple {4772#(<= 100000 ~SIZE~0)} ~set.base, ~set.offset := #in~set.base, #in~set.offset;~size := #in~size;~value := #in~value;call write~int(~value, ~set.base, ~set.offset + 4 * ~size, 4);#res := 1 + ~size; {4772#(<= 100000 ~SIZE~0)} is VALID [2018-11-23 12:10:24,815 INFO L273 TraceCheckUtils]: 17: Hoare triple {4772#(<= 100000 ~SIZE~0)} assume true; {4772#(<= 100000 ~SIZE~0)} is VALID [2018-11-23 12:10:24,817 INFO L268 TraceCheckUtils]: 18: Hoare quadruple {4772#(<= 100000 ~SIZE~0)} {4795#(and (<= main_~v~0 0) (<= 100000 ~SIZE~0))} #129#return; {4795#(and (<= main_~v~0 0) (<= 100000 ~SIZE~0))} is VALID [2018-11-23 12:10:24,818 INFO L273 TraceCheckUtils]: 19: Hoare triple {4795#(and (<= main_~v~0 0) (<= 100000 ~SIZE~0))} assume -2147483648 <= #t~ret6 && #t~ret6 <= 2147483647;~n~0 := #t~ret6;havoc #t~mem5;havoc #t~ret6; {4795#(and (<= main_~v~0 0) (<= 100000 ~SIZE~0))} is VALID [2018-11-23 12:10:24,818 INFO L273 TraceCheckUtils]: 20: Hoare triple {4795#(and (<= main_~v~0 0) (<= 100000 ~SIZE~0))} #t~post2 := ~v~0;~v~0 := 1 + #t~post2;havoc #t~post2; {4841#(and (<= main_~v~0 1) (<= 100000 ~SIZE~0))} is VALID [2018-11-23 12:10:24,819 INFO L273 TraceCheckUtils]: 21: Hoare triple {4841#(and (<= main_~v~0 1) (<= 100000 ~SIZE~0))} assume !!(~v~0 < ~SIZE~0);call #t~mem3 := read~int(~#values~0.base, ~#values~0.offset + 4 * ~v~0, 4); {4841#(and (<= main_~v~0 1) (<= 100000 ~SIZE~0))} is VALID [2018-11-23 12:10:24,821 INFO L256 TraceCheckUtils]: 22: Hoare triple {4841#(and (<= main_~v~0 1) (<= 100000 ~SIZE~0))} call #t~ret4 := elem_exists(~#set~0.base, ~#set~0.offset, ~n~0, #t~mem3); {4772#(<= 100000 ~SIZE~0)} is VALID [2018-11-23 12:10:24,821 INFO L273 TraceCheckUtils]: 23: Hoare triple {4772#(<= 100000 ~SIZE~0)} ~set.base, ~set.offset := #in~set.base, #in~set.offset;~size := #in~size;~value := #in~value;havoc ~i~0;~i~0 := 0; {4772#(<= 100000 ~SIZE~0)} is VALID [2018-11-23 12:10:24,822 INFO L273 TraceCheckUtils]: 24: Hoare triple {4772#(<= 100000 ~SIZE~0)} assume !!(~i~0 < ~size);call #t~mem1 := read~int(~set.base, ~set.offset + 4 * ~i~0, 4); {4772#(<= 100000 ~SIZE~0)} is VALID [2018-11-23 12:10:24,822 INFO L273 TraceCheckUtils]: 25: Hoare triple {4772#(<= 100000 ~SIZE~0)} assume #t~mem1 == ~value;havoc #t~mem1;#res := 1; {4772#(<= 100000 ~SIZE~0)} is VALID [2018-11-23 12:10:24,823 INFO L273 TraceCheckUtils]: 26: Hoare triple {4772#(<= 100000 ~SIZE~0)} assume true; {4772#(<= 100000 ~SIZE~0)} is VALID [2018-11-23 12:10:24,824 INFO L268 TraceCheckUtils]: 27: Hoare quadruple {4772#(<= 100000 ~SIZE~0)} {4841#(and (<= main_~v~0 1) (<= 100000 ~SIZE~0))} #127#return; {4841#(and (<= main_~v~0 1) (<= 100000 ~SIZE~0))} is VALID [2018-11-23 12:10:24,825 INFO L273 TraceCheckUtils]: 28: Hoare triple {4841#(and (<= main_~v~0 1) (<= 100000 ~SIZE~0))} assume -2147483648 <= #t~ret4 && #t~ret4 <= 2147483647; {4841#(and (<= main_~v~0 1) (<= 100000 ~SIZE~0))} is VALID [2018-11-23 12:10:24,825 INFO L273 TraceCheckUtils]: 29: Hoare triple {4841#(and (<= main_~v~0 1) (<= 100000 ~SIZE~0))} assume !(1 != #t~ret4);havoc #t~ret4;havoc #t~mem3; {4841#(and (<= main_~v~0 1) (<= 100000 ~SIZE~0))} is VALID [2018-11-23 12:10:24,826 INFO L273 TraceCheckUtils]: 30: Hoare triple {4841#(and (<= main_~v~0 1) (<= 100000 ~SIZE~0))} #t~post2 := ~v~0;~v~0 := 1 + #t~post2;havoc #t~post2; {4872#(and (<= main_~v~0 2) (<= 100000 ~SIZE~0))} is VALID [2018-11-23 12:10:24,827 INFO L273 TraceCheckUtils]: 31: Hoare triple {4872#(and (<= main_~v~0 2) (<= 100000 ~SIZE~0))} assume !!(~v~0 < ~SIZE~0);call #t~mem3 := read~int(~#values~0.base, ~#values~0.offset + 4 * ~v~0, 4); {4872#(and (<= main_~v~0 2) (<= 100000 ~SIZE~0))} is VALID [2018-11-23 12:10:24,829 INFO L256 TraceCheckUtils]: 32: Hoare triple {4872#(and (<= main_~v~0 2) (<= 100000 ~SIZE~0))} call #t~ret4 := elem_exists(~#set~0.base, ~#set~0.offset, ~n~0, #t~mem3); {4772#(<= 100000 ~SIZE~0)} is VALID [2018-11-23 12:10:24,829 INFO L273 TraceCheckUtils]: 33: Hoare triple {4772#(<= 100000 ~SIZE~0)} ~set.base, ~set.offset := #in~set.base, #in~set.offset;~size := #in~size;~value := #in~value;havoc ~i~0;~i~0 := 0; {4772#(<= 100000 ~SIZE~0)} is VALID [2018-11-23 12:10:24,830 INFO L273 TraceCheckUtils]: 34: Hoare triple {4772#(<= 100000 ~SIZE~0)} assume !!(~i~0 < ~size);call #t~mem1 := read~int(~set.base, ~set.offset + 4 * ~i~0, 4); {4772#(<= 100000 ~SIZE~0)} is VALID [2018-11-23 12:10:24,830 INFO L273 TraceCheckUtils]: 35: Hoare triple {4772#(<= 100000 ~SIZE~0)} assume #t~mem1 == ~value;havoc #t~mem1;#res := 1; {4772#(<= 100000 ~SIZE~0)} is VALID [2018-11-23 12:10:24,831 INFO L273 TraceCheckUtils]: 36: Hoare triple {4772#(<= 100000 ~SIZE~0)} assume true; {4772#(<= 100000 ~SIZE~0)} is VALID [2018-11-23 12:10:24,832 INFO L268 TraceCheckUtils]: 37: Hoare quadruple {4772#(<= 100000 ~SIZE~0)} {4872#(and (<= main_~v~0 2) (<= 100000 ~SIZE~0))} #127#return; {4872#(and (<= main_~v~0 2) (<= 100000 ~SIZE~0))} is VALID [2018-11-23 12:10:24,833 INFO L273 TraceCheckUtils]: 38: Hoare triple {4872#(and (<= main_~v~0 2) (<= 100000 ~SIZE~0))} assume -2147483648 <= #t~ret4 && #t~ret4 <= 2147483647; {4872#(and (<= main_~v~0 2) (<= 100000 ~SIZE~0))} is VALID [2018-11-23 12:10:24,833 INFO L273 TraceCheckUtils]: 39: Hoare triple {4872#(and (<= main_~v~0 2) (<= 100000 ~SIZE~0))} assume !(1 != #t~ret4);havoc #t~ret4;havoc #t~mem3; {4872#(and (<= main_~v~0 2) (<= 100000 ~SIZE~0))} is VALID [2018-11-23 12:10:24,834 INFO L273 TraceCheckUtils]: 40: Hoare triple {4872#(and (<= main_~v~0 2) (<= 100000 ~SIZE~0))} #t~post2 := ~v~0;~v~0 := 1 + #t~post2;havoc #t~post2; {4903#(and (<= main_~v~0 3) (<= 100000 ~SIZE~0))} is VALID [2018-11-23 12:10:24,835 INFO L273 TraceCheckUtils]: 41: Hoare triple {4903#(and (<= main_~v~0 3) (<= 100000 ~SIZE~0))} assume !!(~v~0 < ~SIZE~0);call #t~mem3 := read~int(~#values~0.base, ~#values~0.offset + 4 * ~v~0, 4); {4903#(and (<= main_~v~0 3) (<= 100000 ~SIZE~0))} is VALID [2018-11-23 12:10:24,836 INFO L256 TraceCheckUtils]: 42: Hoare triple {4903#(and (<= main_~v~0 3) (<= 100000 ~SIZE~0))} call #t~ret4 := elem_exists(~#set~0.base, ~#set~0.offset, ~n~0, #t~mem3); {4772#(<= 100000 ~SIZE~0)} is VALID [2018-11-23 12:10:24,837 INFO L273 TraceCheckUtils]: 43: Hoare triple {4772#(<= 100000 ~SIZE~0)} ~set.base, ~set.offset := #in~set.base, #in~set.offset;~size := #in~size;~value := #in~value;havoc ~i~0;~i~0 := 0; {4772#(<= 100000 ~SIZE~0)} is VALID [2018-11-23 12:10:24,838 INFO L273 TraceCheckUtils]: 44: Hoare triple {4772#(<= 100000 ~SIZE~0)} assume !!(~i~0 < ~size);call #t~mem1 := read~int(~set.base, ~set.offset + 4 * ~i~0, 4); {4772#(<= 100000 ~SIZE~0)} is VALID [2018-11-23 12:10:24,838 INFO L273 TraceCheckUtils]: 45: Hoare triple {4772#(<= 100000 ~SIZE~0)} assume #t~mem1 == ~value;havoc #t~mem1;#res := 1; {4772#(<= 100000 ~SIZE~0)} is VALID [2018-11-23 12:10:24,838 INFO L273 TraceCheckUtils]: 46: Hoare triple {4772#(<= 100000 ~SIZE~0)} assume true; {4772#(<= 100000 ~SIZE~0)} is VALID [2018-11-23 12:10:24,839 INFO L268 TraceCheckUtils]: 47: Hoare quadruple {4772#(<= 100000 ~SIZE~0)} {4903#(and (<= main_~v~0 3) (<= 100000 ~SIZE~0))} #127#return; {4903#(and (<= main_~v~0 3) (<= 100000 ~SIZE~0))} is VALID [2018-11-23 12:10:24,839 INFO L273 TraceCheckUtils]: 48: Hoare triple {4903#(and (<= main_~v~0 3) (<= 100000 ~SIZE~0))} assume -2147483648 <= #t~ret4 && #t~ret4 <= 2147483647; {4903#(and (<= main_~v~0 3) (<= 100000 ~SIZE~0))} is VALID [2018-11-23 12:10:24,840 INFO L273 TraceCheckUtils]: 49: Hoare triple {4903#(and (<= main_~v~0 3) (<= 100000 ~SIZE~0))} assume !(1 != #t~ret4);havoc #t~ret4;havoc #t~mem3; {4903#(and (<= main_~v~0 3) (<= 100000 ~SIZE~0))} is VALID [2018-11-23 12:10:24,840 INFO L273 TraceCheckUtils]: 50: Hoare triple {4903#(and (<= main_~v~0 3) (<= 100000 ~SIZE~0))} #t~post2 := ~v~0;~v~0 := 1 + #t~post2;havoc #t~post2; {4934#(and (<= main_~v~0 4) (<= 100000 ~SIZE~0))} is VALID [2018-11-23 12:10:24,841 INFO L273 TraceCheckUtils]: 51: Hoare triple {4934#(and (<= main_~v~0 4) (<= 100000 ~SIZE~0))} assume !!(~v~0 < ~SIZE~0);call #t~mem3 := read~int(~#values~0.base, ~#values~0.offset + 4 * ~v~0, 4); {4934#(and (<= main_~v~0 4) (<= 100000 ~SIZE~0))} is VALID [2018-11-23 12:10:24,842 INFO L256 TraceCheckUtils]: 52: Hoare triple {4934#(and (<= main_~v~0 4) (<= 100000 ~SIZE~0))} call #t~ret4 := elem_exists(~#set~0.base, ~#set~0.offset, ~n~0, #t~mem3); {4772#(<= 100000 ~SIZE~0)} is VALID [2018-11-23 12:10:24,843 INFO L273 TraceCheckUtils]: 53: Hoare triple {4772#(<= 100000 ~SIZE~0)} ~set.base, ~set.offset := #in~set.base, #in~set.offset;~size := #in~size;~value := #in~value;havoc ~i~0;~i~0 := 0; {4772#(<= 100000 ~SIZE~0)} is VALID [2018-11-23 12:10:24,843 INFO L273 TraceCheckUtils]: 54: Hoare triple {4772#(<= 100000 ~SIZE~0)} assume !!(~i~0 < ~size);call #t~mem1 := read~int(~set.base, ~set.offset + 4 * ~i~0, 4); {4772#(<= 100000 ~SIZE~0)} is VALID [2018-11-23 12:10:24,844 INFO L273 TraceCheckUtils]: 55: Hoare triple {4772#(<= 100000 ~SIZE~0)} assume #t~mem1 == ~value;havoc #t~mem1;#res := 1; {4772#(<= 100000 ~SIZE~0)} is VALID [2018-11-23 12:10:24,845 INFO L273 TraceCheckUtils]: 56: Hoare triple {4772#(<= 100000 ~SIZE~0)} assume true; {4772#(<= 100000 ~SIZE~0)} is VALID [2018-11-23 12:10:24,846 INFO L268 TraceCheckUtils]: 57: Hoare quadruple {4772#(<= 100000 ~SIZE~0)} {4934#(and (<= main_~v~0 4) (<= 100000 ~SIZE~0))} #127#return; {4934#(and (<= main_~v~0 4) (<= 100000 ~SIZE~0))} is VALID [2018-11-23 12:10:24,847 INFO L273 TraceCheckUtils]: 58: Hoare triple {4934#(and (<= main_~v~0 4) (<= 100000 ~SIZE~0))} assume -2147483648 <= #t~ret4 && #t~ret4 <= 2147483647; {4934#(and (<= main_~v~0 4) (<= 100000 ~SIZE~0))} is VALID [2018-11-23 12:10:24,847 INFO L273 TraceCheckUtils]: 59: Hoare triple {4934#(and (<= main_~v~0 4) (<= 100000 ~SIZE~0))} assume !(1 != #t~ret4);havoc #t~ret4;havoc #t~mem3; {4934#(and (<= main_~v~0 4) (<= 100000 ~SIZE~0))} is VALID [2018-11-23 12:10:24,848 INFO L273 TraceCheckUtils]: 60: Hoare triple {4934#(and (<= main_~v~0 4) (<= 100000 ~SIZE~0))} #t~post2 := ~v~0;~v~0 := 1 + #t~post2;havoc #t~post2; {4965#(and (<= main_~v~0 5) (<= 100000 ~SIZE~0))} is VALID [2018-11-23 12:10:24,849 INFO L273 TraceCheckUtils]: 61: Hoare triple {4965#(and (<= main_~v~0 5) (<= 100000 ~SIZE~0))} assume !(~v~0 < ~SIZE~0); {4771#false} is VALID [2018-11-23 12:10:24,849 INFO L273 TraceCheckUtils]: 62: Hoare triple {4771#false} ~i~1 := 0; {4771#false} is VALID [2018-11-23 12:10:24,849 INFO L273 TraceCheckUtils]: 63: Hoare triple {4771#false} assume !!(~i~1 < ~SIZE~0 && 1 != ~found~0);call #t~mem8 := read~int(~#set~0.base, ~#set~0.offset + 4 * ~i~1, 4); {4771#false} is VALID [2018-11-23 12:10:24,849 INFO L273 TraceCheckUtils]: 64: Hoare triple {4771#false} assume #t~mem8 == ~element~0;havoc #t~mem8;~found~0 := 1;~pos~0 := ~i~1; {4771#false} is VALID [2018-11-23 12:10:24,850 INFO L273 TraceCheckUtils]: 65: Hoare triple {4771#false} #t~post7 := ~i~1;~i~1 := 1 + #t~post7;havoc #t~post7; {4771#false} is VALID [2018-11-23 12:10:24,850 INFO L273 TraceCheckUtils]: 66: Hoare triple {4771#false} assume !(~i~1 < ~SIZE~0 && 1 != ~found~0); {4771#false} is VALID [2018-11-23 12:10:24,850 INFO L273 TraceCheckUtils]: 67: Hoare triple {4771#false} assume 1 == ~found~0;~i~1 := ~pos~0; {4771#false} is VALID [2018-11-23 12:10:24,851 INFO L273 TraceCheckUtils]: 68: Hoare triple {4771#false} assume !!(~i~1 < ~SIZE~0 - 1);call #t~mem10 := read~int(~#set~0.base, ~#set~0.offset + 4 * (1 + ~i~1), 4);call write~int(#t~mem10, ~#set~0.base, ~#set~0.offset + 4 * ~i~1, 4);havoc #t~mem10; {4771#false} is VALID [2018-11-23 12:10:24,851 INFO L273 TraceCheckUtils]: 69: Hoare triple {4771#false} #t~post9 := ~i~1;~i~1 := 1 + #t~post9;havoc #t~post9; {4771#false} is VALID [2018-11-23 12:10:24,851 INFO L273 TraceCheckUtils]: 70: Hoare triple {4771#false} assume !!(~i~1 < ~SIZE~0 - 1);call #t~mem10 := read~int(~#set~0.base, ~#set~0.offset + 4 * (1 + ~i~1), 4);call write~int(#t~mem10, ~#set~0.base, ~#set~0.offset + 4 * ~i~1, 4);havoc #t~mem10; {4771#false} is VALID [2018-11-23 12:10:24,851 INFO L273 TraceCheckUtils]: 71: Hoare triple {4771#false} #t~post9 := ~i~1;~i~1 := 1 + #t~post9;havoc #t~post9; {4771#false} is VALID [2018-11-23 12:10:24,852 INFO L273 TraceCheckUtils]: 72: Hoare triple {4771#false} assume !(~i~1 < ~SIZE~0 - 1); {4771#false} is VALID [2018-11-23 12:10:24,852 INFO L273 TraceCheckUtils]: 73: Hoare triple {4771#false} assume 1 == ~found~0;~i~1 := 0; {4771#false} is VALID [2018-11-23 12:10:24,852 INFO L273 TraceCheckUtils]: 74: Hoare triple {4771#false} assume !!(~i~1 < ~SIZE~0 - 1);call #t~mem12 := read~int(~#set~0.base, ~#set~0.offset + 4 * ~i~1, 4); {4771#false} is VALID [2018-11-23 12:10:24,853 INFO L256 TraceCheckUtils]: 75: Hoare triple {4771#false} call __VERIFIER_assert((if #t~mem12 != ~element~0 then 1 else 0)); {4771#false} is VALID [2018-11-23 12:10:24,853 INFO L273 TraceCheckUtils]: 76: Hoare triple {4771#false} ~cond := #in~cond; {4771#false} is VALID [2018-11-23 12:10:24,853 INFO L273 TraceCheckUtils]: 77: Hoare triple {4771#false} assume 0 == ~cond; {4771#false} is VALID [2018-11-23 12:10:24,853 INFO L273 TraceCheckUtils]: 78: Hoare triple {4771#false} assume !false; {4771#false} is VALID [2018-11-23 12:10:24,860 INFO L134 CoverageAnalysis]: Checked inductivity of 106 backedges. 0 proven. 55 refuted. 0 times theorem prover too weak. 51 trivial. 0 not checked. [2018-11-23 12:10:24,889 INFO L312 seRefinementStrategy]: Constructing automaton from 0 perfect and 2 imperfect interpolant sequences. [2018-11-23 12:10:24,890 INFO L327 seRefinementStrategy]: Number of different interpolants: perfect sequences [] imperfect sequences [7, 9] total 13 [2018-11-23 12:10:24,890 INFO L78 Accepts]: Start accepts. Automaton has 13 states. Word has length 79 [2018-11-23 12:10:24,891 INFO L84 Accepts]: Finished accepts. word is accepted. [2018-11-23 12:10:24,891 INFO L86 InductivityCheck]: Starting indutivity check of a Floyd-Hoare automaton with 13 states. [2018-11-23 12:10:25,050 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-23 12:10:25,051 INFO L459 AbstractCegarLoop]: Interpolant automaton has 13 states [2018-11-23 12:10:25,051 INFO L142 InterpolantAutomaton]: Constructing interpolant automaton starting with 13 interpolants. [2018-11-23 12:10:25,051 INFO L144 InterpolantAutomaton]: CoverageRelationStatistics Valid=49, Invalid=107, Unknown=0, NotChecked=0, Total=156 [2018-11-23 12:10:25,052 INFO L87 Difference]: Start difference. First operand 100 states and 126 transitions. Second operand 13 states. [2018-11-23 12:10:27,106 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2018-11-23 12:10:27,106 INFO L93 Difference]: Finished difference Result 191 states and 242 transitions. [2018-11-23 12:10:27,106 INFO L142 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 16 states. [2018-11-23 12:10:27,107 INFO L78 Accepts]: Start accepts. Automaton has 13 states. Word has length 79 [2018-11-23 12:10:27,107 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2018-11-23 12:10:27,107 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 13 states. [2018-11-23 12:10:27,110 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 16 states to 16 states and 192 transitions. [2018-11-23 12:10:27,111 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 13 states. [2018-11-23 12:10:27,114 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 16 states to 16 states and 192 transitions. [2018-11-23 12:10:27,114 INFO L86 InductivityCheck]: Starting indutivity check of a Floyd-Hoare automaton with 16 states and 192 transitions. [2018-11-23 12:10:27,386 INFO L119 InductivityCheck]: Floyd-Hoare automaton has 192 edges. 192 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2018-11-23 12:10:27,391 INFO L225 Difference]: With dead ends: 191 [2018-11-23 12:10:27,391 INFO L226 Difference]: Without dead ends: 157 [2018-11-23 12:10:27,392 INFO L631 BasicCegarLoop]: 0 DeclaredPredicates, 91 GetRequests, 74 SyntacticMatches, 1 SemanticMatches, 16 ConstructedPredicates, 0 IntricatePredicates, 0 DeprecatedPredicates, 27 ImplicationChecksByTransitivity, 0.2s TimeCoverageRelationStatistics Valid=87, Invalid=219, Unknown=0, NotChecked=0, Total=306 [2018-11-23 12:10:27,392 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 157 states. [2018-11-23 12:10:28,333 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 157 to 111. [2018-11-23 12:10:28,334 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2018-11-23 12:10:28,334 INFO L82 GeneralOperation]: Start isEquivalent. First operand 157 states. Second operand 111 states. [2018-11-23 12:10:28,334 INFO L74 IsIncluded]: Start isIncluded. First operand 157 states. Second operand 111 states. [2018-11-23 12:10:28,334 INFO L87 Difference]: Start difference. First operand 157 states. Second operand 111 states. [2018-11-23 12:10:28,341 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2018-11-23 12:10:28,341 INFO L93 Difference]: Finished difference Result 157 states and 202 transitions. [2018-11-23 12:10:28,342 INFO L276 IsEmpty]: Start isEmpty. Operand 157 states and 202 transitions. [2018-11-23 12:10:28,343 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2018-11-23 12:10:28,343 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2018-11-23 12:10:28,343 INFO L74 IsIncluded]: Start isIncluded. First operand 111 states. Second operand 157 states. [2018-11-23 12:10:28,343 INFO L87 Difference]: Start difference. First operand 111 states. Second operand 157 states. [2018-11-23 12:10:28,349 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2018-11-23 12:10:28,349 INFO L93 Difference]: Finished difference Result 157 states and 202 transitions. [2018-11-23 12:10:28,350 INFO L276 IsEmpty]: Start isEmpty. Operand 157 states and 202 transitions. [2018-11-23 12:10:28,351 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2018-11-23 12:10:28,351 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2018-11-23 12:10:28,351 INFO L88 GeneralOperation]: Finished isEquivalent. [2018-11-23 12:10:28,351 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2018-11-23 12:10:28,352 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 111 states. [2018-11-23 12:10:28,355 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 111 states to 111 states and 142 transitions. [2018-11-23 12:10:28,356 INFO L78 Accepts]: Start accepts. Automaton has 111 states and 142 transitions. Word has length 79 [2018-11-23 12:10:28,356 INFO L84 Accepts]: Finished accepts. word is rejected. [2018-11-23 12:10:28,356 INFO L480 AbstractCegarLoop]: Abstraction has 111 states and 142 transitions. [2018-11-23 12:10:28,356 INFO L481 AbstractCegarLoop]: Interpolant automaton has 13 states. [2018-11-23 12:10:28,356 INFO L276 IsEmpty]: Start isEmpty. Operand 111 states and 142 transitions. [2018-11-23 12:10:28,358 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 91 [2018-11-23 12:10:28,358 INFO L394 BasicCegarLoop]: Found error trace [2018-11-23 12:10:28,358 INFO L402 BasicCegarLoop]: trace histogram [6, 6, 6, 6, 6, 6, 6, 5, 5, 5, 2, 2, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1] [2018-11-23 12:10:28,358 INFO L423 AbstractCegarLoop]: === Iteration 12 === [__VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION]=== [2018-11-23 12:10:28,359 INFO L141 PredicateUnifier]: Initialized classic predicate unifier [2018-11-23 12:10:28,359 INFO L82 PathProgramCache]: Analyzing trace with hash 1872948797, now seen corresponding path program 1 times [2018-11-23 12:10:28,359 INFO L223 ckRefinementStrategy]: Switched to mode SMTINTERPOL_TREE_INTERPOLANTS [2018-11-23 12:10:28,359 INFO L69 tionRefinementEngine]: Using refinement strategy CamelRefinementStrategy [2018-11-23 12:10:28,360 INFO L119 rtionOrderModulation]: Craig_TreeInterpolation forces the order to NOT_INCREMENTALLY [2018-11-23 12:10:28,360 INFO L103 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2018-11-23 12:10:28,360 INFO L119 rtionOrderModulation]: Craig_TreeInterpolation forces the order to NOT_INCREMENTALLY [2018-11-23 12:10:28,383 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2018-11-23 12:10:28,886 INFO L256 TraceCheckUtils]: 0: Hoare triple {5756#true} call ULTIMATE.init(); {5756#true} is VALID [2018-11-23 12:10:28,886 INFO L273 TraceCheckUtils]: 1: Hoare triple {5756#true} #NULL.base, #NULL.offset := 0, 0;#valid := #valid[0 := 0];~SIZE~0 := 100000; {5758#(<= 100000 ~SIZE~0)} is VALID [2018-11-23 12:10:28,889 INFO L273 TraceCheckUtils]: 2: Hoare triple {5758#(<= 100000 ~SIZE~0)} assume true; {5758#(<= 100000 ~SIZE~0)} is VALID [2018-11-23 12:10:28,892 INFO L268 TraceCheckUtils]: 3: Hoare quadruple {5758#(<= 100000 ~SIZE~0)} {5756#true} #123#return; {5758#(<= 100000 ~SIZE~0)} is VALID [2018-11-23 12:10:28,893 INFO L256 TraceCheckUtils]: 4: Hoare triple {5758#(<= 100000 ~SIZE~0)} call #t~ret13 := main(); {5758#(<= 100000 ~SIZE~0)} is VALID [2018-11-23 12:10:28,894 INFO L273 TraceCheckUtils]: 5: Hoare triple {5758#(<= 100000 ~SIZE~0)} havoc ~i~1;havoc ~pos~0;~n~0 := 0;~found~0 := 0;call ~#set~0.base, ~#set~0.offset := #Ultimate.alloc(4 * ~SIZE~0);call ~#values~0.base, ~#values~0.offset := #Ultimate.alloc(4 * ~SIZE~0);havoc ~element~0;havoc ~v~0;~v~0 := 0; {5759#(and (= main_~v~0 0) (<= 100000 ~SIZE~0))} is VALID [2018-11-23 12:10:28,896 INFO L273 TraceCheckUtils]: 6: Hoare triple {5759#(and (= main_~v~0 0) (<= 100000 ~SIZE~0))} assume !!(~v~0 < ~SIZE~0);call #t~mem3 := read~int(~#values~0.base, ~#values~0.offset + 4 * ~v~0, 4); {5759#(and (= main_~v~0 0) (<= 100000 ~SIZE~0))} is VALID [2018-11-23 12:10:28,896 INFO L256 TraceCheckUtils]: 7: Hoare triple {5759#(and (= main_~v~0 0) (<= 100000 ~SIZE~0))} call #t~ret4 := elem_exists(~#set~0.base, ~#set~0.offset, ~n~0, #t~mem3); {5756#true} is VALID [2018-11-23 12:10:28,896 INFO L273 TraceCheckUtils]: 8: Hoare triple {5756#true} ~set.base, ~set.offset := #in~set.base, #in~set.offset;~size := #in~size;~value := #in~value;havoc ~i~0;~i~0 := 0; {5756#true} is VALID [2018-11-23 12:10:28,896 INFO L273 TraceCheckUtils]: 9: Hoare triple {5756#true} assume !(~i~0 < ~size); {5756#true} is VALID [2018-11-23 12:10:28,896 INFO L273 TraceCheckUtils]: 10: Hoare triple {5756#true} #res := 0; {5756#true} is VALID [2018-11-23 12:10:28,896 INFO L273 TraceCheckUtils]: 11: Hoare triple {5756#true} assume true; {5756#true} is VALID [2018-11-23 12:10:28,898 INFO L268 TraceCheckUtils]: 12: Hoare quadruple {5756#true} {5759#(and (= main_~v~0 0) (<= 100000 ~SIZE~0))} #127#return; {5759#(and (= main_~v~0 0) (<= 100000 ~SIZE~0))} is VALID [2018-11-23 12:10:28,902 INFO L273 TraceCheckUtils]: 13: Hoare triple {5759#(and (= main_~v~0 0) (<= 100000 ~SIZE~0))} assume -2147483648 <= #t~ret4 && #t~ret4 <= 2147483647; {5759#(and (= main_~v~0 0) (<= 100000 ~SIZE~0))} is VALID [2018-11-23 12:10:28,902 INFO L273 TraceCheckUtils]: 14: Hoare triple {5759#(and (= main_~v~0 0) (<= 100000 ~SIZE~0))} assume 1 != #t~ret4;havoc #t~ret4;havoc #t~mem3;call #t~mem5 := read~int(~#values~0.base, ~#values~0.offset + 4 * ~v~0, 4); {5759#(and (= main_~v~0 0) (<= 100000 ~SIZE~0))} is VALID [2018-11-23 12:10:28,902 INFO L256 TraceCheckUtils]: 15: Hoare triple {5759#(and (= main_~v~0 0) (<= 100000 ~SIZE~0))} call #t~ret6 := insert(~#set~0.base, ~#set~0.offset, ~n~0, #t~mem5); {5756#true} is VALID [2018-11-23 12:10:28,903 INFO L273 TraceCheckUtils]: 16: Hoare triple {5756#true} ~set.base, ~set.offset := #in~set.base, #in~set.offset;~size := #in~size;~value := #in~value;call write~int(~value, ~set.base, ~set.offset + 4 * ~size, 4);#res := 1 + ~size; {5756#true} is VALID [2018-11-23 12:10:28,903 INFO L273 TraceCheckUtils]: 17: Hoare triple {5756#true} assume true; {5756#true} is VALID [2018-11-23 12:10:28,905 INFO L268 TraceCheckUtils]: 18: Hoare quadruple {5756#true} {5759#(and (= main_~v~0 0) (<= 100000 ~SIZE~0))} #129#return; {5759#(and (= main_~v~0 0) (<= 100000 ~SIZE~0))} is VALID [2018-11-23 12:10:28,907 INFO L273 TraceCheckUtils]: 19: Hoare triple {5759#(and (= main_~v~0 0) (<= 100000 ~SIZE~0))} assume -2147483648 <= #t~ret6 && #t~ret6 <= 2147483647;~n~0 := #t~ret6;havoc #t~mem5;havoc #t~ret6; {5759#(and (= main_~v~0 0) (<= 100000 ~SIZE~0))} is VALID [2018-11-23 12:10:28,908 INFO L273 TraceCheckUtils]: 20: Hoare triple {5759#(and (= main_~v~0 0) (<= 100000 ~SIZE~0))} #t~post2 := ~v~0;~v~0 := 1 + #t~post2;havoc #t~post2; {5760#(<= (+ main_~v~0 99999) ~SIZE~0)} is VALID [2018-11-23 12:10:28,909 INFO L273 TraceCheckUtils]: 21: Hoare triple {5760#(<= (+ main_~v~0 99999) ~SIZE~0)} assume !!(~v~0 < ~SIZE~0);call #t~mem3 := read~int(~#values~0.base, ~#values~0.offset + 4 * ~v~0, 4); {5760#(<= (+ main_~v~0 99999) ~SIZE~0)} is VALID [2018-11-23 12:10:28,909 INFO L256 TraceCheckUtils]: 22: Hoare triple {5760#(<= (+ main_~v~0 99999) ~SIZE~0)} call #t~ret4 := elem_exists(~#set~0.base, ~#set~0.offset, ~n~0, #t~mem3); {5756#true} is VALID [2018-11-23 12:10:28,909 INFO L273 TraceCheckUtils]: 23: Hoare triple {5756#true} ~set.base, ~set.offset := #in~set.base, #in~set.offset;~size := #in~size;~value := #in~value;havoc ~i~0;~i~0 := 0; {5756#true} is VALID [2018-11-23 12:10:28,909 INFO L273 TraceCheckUtils]: 24: Hoare triple {5756#true} assume !!(~i~0 < ~size);call #t~mem1 := read~int(~set.base, ~set.offset + 4 * ~i~0, 4); {5756#true} is VALID [2018-11-23 12:10:28,909 INFO L273 TraceCheckUtils]: 25: Hoare triple {5756#true} assume #t~mem1 == ~value;havoc #t~mem1;#res := 1; {5756#true} is VALID [2018-11-23 12:10:28,909 INFO L273 TraceCheckUtils]: 26: Hoare triple {5756#true} assume true; {5756#true} is VALID [2018-11-23 12:10:28,920 INFO L268 TraceCheckUtils]: 27: Hoare quadruple {5756#true} {5760#(<= (+ main_~v~0 99999) ~SIZE~0)} #127#return; {5760#(<= (+ main_~v~0 99999) ~SIZE~0)} is VALID [2018-11-23 12:10:28,921 INFO L273 TraceCheckUtils]: 28: Hoare triple {5760#(<= (+ main_~v~0 99999) ~SIZE~0)} assume -2147483648 <= #t~ret4 && #t~ret4 <= 2147483647; {5760#(<= (+ main_~v~0 99999) ~SIZE~0)} is VALID [2018-11-23 12:10:28,921 INFO L273 TraceCheckUtils]: 29: Hoare triple {5760#(<= (+ main_~v~0 99999) ~SIZE~0)} assume !(1 != #t~ret4);havoc #t~ret4;havoc #t~mem3; {5760#(<= (+ main_~v~0 99999) ~SIZE~0)} is VALID [2018-11-23 12:10:28,923 INFO L273 TraceCheckUtils]: 30: Hoare triple {5760#(<= (+ main_~v~0 99999) ~SIZE~0)} #t~post2 := ~v~0;~v~0 := 1 + #t~post2;havoc #t~post2; {5761#(<= (+ main_~v~0 99998) ~SIZE~0)} is VALID [2018-11-23 12:10:28,923 INFO L273 TraceCheckUtils]: 31: Hoare triple {5761#(<= (+ main_~v~0 99998) ~SIZE~0)} assume !!(~v~0 < ~SIZE~0);call #t~mem3 := read~int(~#values~0.base, ~#values~0.offset + 4 * ~v~0, 4); {5761#(<= (+ main_~v~0 99998) ~SIZE~0)} is VALID [2018-11-23 12:10:28,923 INFO L256 TraceCheckUtils]: 32: Hoare triple {5761#(<= (+ main_~v~0 99998) ~SIZE~0)} call #t~ret4 := elem_exists(~#set~0.base, ~#set~0.offset, ~n~0, #t~mem3); {5756#true} is VALID [2018-11-23 12:10:28,924 INFO L273 TraceCheckUtils]: 33: Hoare triple {5756#true} ~set.base, ~set.offset := #in~set.base, #in~set.offset;~size := #in~size;~value := #in~value;havoc ~i~0;~i~0 := 0; {5756#true} is VALID [2018-11-23 12:10:28,924 INFO L273 TraceCheckUtils]: 34: Hoare triple {5756#true} assume !!(~i~0 < ~size);call #t~mem1 := read~int(~set.base, ~set.offset + 4 * ~i~0, 4); {5756#true} is VALID [2018-11-23 12:10:28,924 INFO L273 TraceCheckUtils]: 35: Hoare triple {5756#true} assume #t~mem1 == ~value;havoc #t~mem1;#res := 1; {5756#true} is VALID [2018-11-23 12:10:28,924 INFO L273 TraceCheckUtils]: 36: Hoare triple {5756#true} assume true; {5756#true} is VALID [2018-11-23 12:10:28,926 INFO L268 TraceCheckUtils]: 37: Hoare quadruple {5756#true} {5761#(<= (+ main_~v~0 99998) ~SIZE~0)} #127#return; {5761#(<= (+ main_~v~0 99998) ~SIZE~0)} is VALID [2018-11-23 12:10:28,930 INFO L273 TraceCheckUtils]: 38: Hoare triple {5761#(<= (+ main_~v~0 99998) ~SIZE~0)} assume -2147483648 <= #t~ret4 && #t~ret4 <= 2147483647; {5761#(<= (+ main_~v~0 99998) ~SIZE~0)} is VALID [2018-11-23 12:10:28,930 INFO L273 TraceCheckUtils]: 39: Hoare triple {5761#(<= (+ main_~v~0 99998) ~SIZE~0)} assume !(1 != #t~ret4);havoc #t~ret4;havoc #t~mem3; {5761#(<= (+ main_~v~0 99998) ~SIZE~0)} is VALID [2018-11-23 12:10:28,932 INFO L273 TraceCheckUtils]: 40: Hoare triple {5761#(<= (+ main_~v~0 99998) ~SIZE~0)} #t~post2 := ~v~0;~v~0 := 1 + #t~post2;havoc #t~post2; {5762#(<= (+ main_~v~0 99997) ~SIZE~0)} is VALID [2018-11-23 12:10:28,932 INFO L273 TraceCheckUtils]: 41: Hoare triple {5762#(<= (+ main_~v~0 99997) ~SIZE~0)} assume !!(~v~0 < ~SIZE~0);call #t~mem3 := read~int(~#values~0.base, ~#values~0.offset + 4 * ~v~0, 4); {5762#(<= (+ main_~v~0 99997) ~SIZE~0)} is VALID [2018-11-23 12:10:28,932 INFO L256 TraceCheckUtils]: 42: Hoare triple {5762#(<= (+ main_~v~0 99997) ~SIZE~0)} call #t~ret4 := elem_exists(~#set~0.base, ~#set~0.offset, ~n~0, #t~mem3); {5756#true} is VALID [2018-11-23 12:10:28,932 INFO L273 TraceCheckUtils]: 43: Hoare triple {5756#true} ~set.base, ~set.offset := #in~set.base, #in~set.offset;~size := #in~size;~value := #in~value;havoc ~i~0;~i~0 := 0; {5756#true} is VALID [2018-11-23 12:10:28,933 INFO L273 TraceCheckUtils]: 44: Hoare triple {5756#true} assume !!(~i~0 < ~size);call #t~mem1 := read~int(~set.base, ~set.offset + 4 * ~i~0, 4); {5756#true} is VALID [2018-11-23 12:10:28,933 INFO L273 TraceCheckUtils]: 45: Hoare triple {5756#true} assume #t~mem1 == ~value;havoc #t~mem1;#res := 1; {5756#true} is VALID [2018-11-23 12:10:28,933 INFO L273 TraceCheckUtils]: 46: Hoare triple {5756#true} assume true; {5756#true} is VALID [2018-11-23 12:10:28,934 INFO L268 TraceCheckUtils]: 47: Hoare quadruple {5756#true} {5762#(<= (+ main_~v~0 99997) ~SIZE~0)} #127#return; {5762#(<= (+ main_~v~0 99997) ~SIZE~0)} is VALID [2018-11-23 12:10:28,935 INFO L273 TraceCheckUtils]: 48: Hoare triple {5762#(<= (+ main_~v~0 99997) ~SIZE~0)} assume -2147483648 <= #t~ret4 && #t~ret4 <= 2147483647; {5762#(<= (+ main_~v~0 99997) ~SIZE~0)} is VALID [2018-11-23 12:10:28,938 INFO L273 TraceCheckUtils]: 49: Hoare triple {5762#(<= (+ main_~v~0 99997) ~SIZE~0)} assume !(1 != #t~ret4);havoc #t~ret4;havoc #t~mem3; {5762#(<= (+ main_~v~0 99997) ~SIZE~0)} is VALID [2018-11-23 12:10:28,938 INFO L273 TraceCheckUtils]: 50: Hoare triple {5762#(<= (+ main_~v~0 99997) ~SIZE~0)} #t~post2 := ~v~0;~v~0 := 1 + #t~post2;havoc #t~post2; {5763#(<= (+ main_~v~0 99996) ~SIZE~0)} is VALID [2018-11-23 12:10:28,940 INFO L273 TraceCheckUtils]: 51: Hoare triple {5763#(<= (+ main_~v~0 99996) ~SIZE~0)} assume !!(~v~0 < ~SIZE~0);call #t~mem3 := read~int(~#values~0.base, ~#values~0.offset + 4 * ~v~0, 4); {5763#(<= (+ main_~v~0 99996) ~SIZE~0)} is VALID [2018-11-23 12:10:28,940 INFO L256 TraceCheckUtils]: 52: Hoare triple {5763#(<= (+ main_~v~0 99996) ~SIZE~0)} call #t~ret4 := elem_exists(~#set~0.base, ~#set~0.offset, ~n~0, #t~mem3); {5756#true} is VALID [2018-11-23 12:10:28,940 INFO L273 TraceCheckUtils]: 53: Hoare triple {5756#true} ~set.base, ~set.offset := #in~set.base, #in~set.offset;~size := #in~size;~value := #in~value;havoc ~i~0;~i~0 := 0; {5756#true} is VALID [2018-11-23 12:10:28,940 INFO L273 TraceCheckUtils]: 54: Hoare triple {5756#true} assume !!(~i~0 < ~size);call #t~mem1 := read~int(~set.base, ~set.offset + 4 * ~i~0, 4); {5756#true} is VALID [2018-11-23 12:10:28,940 INFO L273 TraceCheckUtils]: 55: Hoare triple {5756#true} assume #t~mem1 == ~value;havoc #t~mem1;#res := 1; {5756#true} is VALID [2018-11-23 12:10:28,940 INFO L273 TraceCheckUtils]: 56: Hoare triple {5756#true} assume true; {5756#true} is VALID [2018-11-23 12:10:28,942 INFO L268 TraceCheckUtils]: 57: Hoare quadruple {5756#true} {5763#(<= (+ main_~v~0 99996) ~SIZE~0)} #127#return; {5763#(<= (+ main_~v~0 99996) ~SIZE~0)} is VALID [2018-11-23 12:10:28,943 INFO L273 TraceCheckUtils]: 58: Hoare triple {5763#(<= (+ main_~v~0 99996) ~SIZE~0)} assume -2147483648 <= #t~ret4 && #t~ret4 <= 2147483647; {5763#(<= (+ main_~v~0 99996) ~SIZE~0)} is VALID [2018-11-23 12:10:28,943 INFO L273 TraceCheckUtils]: 59: Hoare triple {5763#(<= (+ main_~v~0 99996) ~SIZE~0)} assume !(1 != #t~ret4);havoc #t~ret4;havoc #t~mem3; {5763#(<= (+ main_~v~0 99996) ~SIZE~0)} is VALID [2018-11-23 12:10:28,948 INFO L273 TraceCheckUtils]: 60: Hoare triple {5763#(<= (+ main_~v~0 99996) ~SIZE~0)} #t~post2 := ~v~0;~v~0 := 1 + #t~post2;havoc #t~post2; {5764#(<= (+ main_~v~0 99995) ~SIZE~0)} is VALID [2018-11-23 12:10:28,949 INFO L273 TraceCheckUtils]: 61: Hoare triple {5764#(<= (+ main_~v~0 99995) ~SIZE~0)} assume !!(~v~0 < ~SIZE~0);call #t~mem3 := read~int(~#values~0.base, ~#values~0.offset + 4 * ~v~0, 4); {5764#(<= (+ main_~v~0 99995) ~SIZE~0)} is VALID [2018-11-23 12:10:28,949 INFO L256 TraceCheckUtils]: 62: Hoare triple {5764#(<= (+ main_~v~0 99995) ~SIZE~0)} call #t~ret4 := elem_exists(~#set~0.base, ~#set~0.offset, ~n~0, #t~mem3); {5756#true} is VALID [2018-11-23 12:10:28,949 INFO L273 TraceCheckUtils]: 63: Hoare triple {5756#true} ~set.base, ~set.offset := #in~set.base, #in~set.offset;~size := #in~size;~value := #in~value;havoc ~i~0;~i~0 := 0; {5756#true} is VALID [2018-11-23 12:10:28,949 INFO L273 TraceCheckUtils]: 64: Hoare triple {5756#true} assume !!(~i~0 < ~size);call #t~mem1 := read~int(~set.base, ~set.offset + 4 * ~i~0, 4); {5756#true} is VALID [2018-11-23 12:10:28,949 INFO L273 TraceCheckUtils]: 65: Hoare triple {5756#true} assume #t~mem1 == ~value;havoc #t~mem1;#res := 1; {5756#true} is VALID [2018-11-23 12:10:28,950 INFO L273 TraceCheckUtils]: 66: Hoare triple {5756#true} assume true; {5756#true} is VALID [2018-11-23 12:10:28,952 INFO L268 TraceCheckUtils]: 67: Hoare quadruple {5756#true} {5764#(<= (+ main_~v~0 99995) ~SIZE~0)} #127#return; {5764#(<= (+ main_~v~0 99995) ~SIZE~0)} is VALID [2018-11-23 12:10:28,952 INFO L273 TraceCheckUtils]: 68: Hoare triple {5764#(<= (+ main_~v~0 99995) ~SIZE~0)} assume -2147483648 <= #t~ret4 && #t~ret4 <= 2147483647; {5764#(<= (+ main_~v~0 99995) ~SIZE~0)} is VALID [2018-11-23 12:10:28,954 INFO L273 TraceCheckUtils]: 69: Hoare triple {5764#(<= (+ main_~v~0 99995) ~SIZE~0)} assume !(1 != #t~ret4);havoc #t~ret4;havoc #t~mem3; {5764#(<= (+ main_~v~0 99995) ~SIZE~0)} is VALID [2018-11-23 12:10:28,954 INFO L273 TraceCheckUtils]: 70: Hoare triple {5764#(<= (+ main_~v~0 99995) ~SIZE~0)} #t~post2 := ~v~0;~v~0 := 1 + #t~post2;havoc #t~post2; {5765#(<= (+ main_~v~0 99994) ~SIZE~0)} is VALID [2018-11-23 12:10:28,956 INFO L273 TraceCheckUtils]: 71: Hoare triple {5765#(<= (+ main_~v~0 99994) ~SIZE~0)} assume !(~v~0 < ~SIZE~0); {5757#false} is VALID [2018-11-23 12:10:28,956 INFO L273 TraceCheckUtils]: 72: Hoare triple {5757#false} ~i~1 := 0; {5757#false} is VALID [2018-11-23 12:10:28,956 INFO L273 TraceCheckUtils]: 73: Hoare triple {5757#false} assume !!(~i~1 < ~SIZE~0 && 1 != ~found~0);call #t~mem8 := read~int(~#set~0.base, ~#set~0.offset + 4 * ~i~1, 4); {5757#false} is VALID [2018-11-23 12:10:28,956 INFO L273 TraceCheckUtils]: 74: Hoare triple {5757#false} assume !(#t~mem8 == ~element~0);havoc #t~mem8; {5757#false} is VALID [2018-11-23 12:10:28,956 INFO L273 TraceCheckUtils]: 75: Hoare triple {5757#false} #t~post7 := ~i~1;~i~1 := 1 + #t~post7;havoc #t~post7; {5757#false} is VALID [2018-11-23 12:10:28,956 INFO L273 TraceCheckUtils]: 76: Hoare triple {5757#false} assume !!(~i~1 < ~SIZE~0 && 1 != ~found~0);call #t~mem8 := read~int(~#set~0.base, ~#set~0.offset + 4 * ~i~1, 4); {5757#false} is VALID [2018-11-23 12:10:28,957 INFO L273 TraceCheckUtils]: 77: Hoare triple {5757#false} assume #t~mem8 == ~element~0;havoc #t~mem8;~found~0 := 1;~pos~0 := ~i~1; {5757#false} is VALID [2018-11-23 12:10:28,957 INFO L273 TraceCheckUtils]: 78: Hoare triple {5757#false} #t~post7 := ~i~1;~i~1 := 1 + #t~post7;havoc #t~post7; {5757#false} is VALID [2018-11-23 12:10:28,957 INFO L273 TraceCheckUtils]: 79: Hoare triple {5757#false} assume !(~i~1 < ~SIZE~0 && 1 != ~found~0); {5757#false} is VALID [2018-11-23 12:10:28,957 INFO L273 TraceCheckUtils]: 80: Hoare triple {5757#false} assume 1 == ~found~0;~i~1 := ~pos~0; {5757#false} is VALID [2018-11-23 12:10:28,957 INFO L273 TraceCheckUtils]: 81: Hoare triple {5757#false} assume !!(~i~1 < ~SIZE~0 - 1);call #t~mem10 := read~int(~#set~0.base, ~#set~0.offset + 4 * (1 + ~i~1), 4);call write~int(#t~mem10, ~#set~0.base, ~#set~0.offset + 4 * ~i~1, 4);havoc #t~mem10; {5757#false} is VALID [2018-11-23 12:10:28,957 INFO L273 TraceCheckUtils]: 82: Hoare triple {5757#false} #t~post9 := ~i~1;~i~1 := 1 + #t~post9;havoc #t~post9; {5757#false} is VALID [2018-11-23 12:10:28,958 INFO L273 TraceCheckUtils]: 83: Hoare triple {5757#false} assume !(~i~1 < ~SIZE~0 - 1); {5757#false} is VALID [2018-11-23 12:10:28,958 INFO L273 TraceCheckUtils]: 84: Hoare triple {5757#false} assume 1 == ~found~0;~i~1 := 0; {5757#false} is VALID [2018-11-23 12:10:28,958 INFO L273 TraceCheckUtils]: 85: Hoare triple {5757#false} assume !!(~i~1 < ~SIZE~0 - 1);call #t~mem12 := read~int(~#set~0.base, ~#set~0.offset + 4 * ~i~1, 4); {5757#false} is VALID [2018-11-23 12:10:28,958 INFO L256 TraceCheckUtils]: 86: Hoare triple {5757#false} call __VERIFIER_assert((if #t~mem12 != ~element~0 then 1 else 0)); {5757#false} is VALID [2018-11-23 12:10:28,958 INFO L273 TraceCheckUtils]: 87: Hoare triple {5757#false} ~cond := #in~cond; {5757#false} is VALID [2018-11-23 12:10:28,958 INFO L273 TraceCheckUtils]: 88: Hoare triple {5757#false} assume 0 == ~cond; {5757#false} is VALID [2018-11-23 12:10:28,958 INFO L273 TraceCheckUtils]: 89: Hoare triple {5757#false} assume !false; {5757#false} is VALID [2018-11-23 12:10:28,970 INFO L134 CoverageAnalysis]: Checked inductivity of 157 backedges. 0 proven. 81 refuted. 0 times theorem prover too weak. 76 trivial. 0 not checked. [2018-11-23 12:10:28,970 INFO L300 seRefinementStrategy]: The current sequences of interpolants are not accepted, trying to find more. [2018-11-23 12:10:28,970 INFO L223 ckRefinementStrategy]: Switched to mode Z3_FP No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 Starting monitored process 9 with z3 -smt2 -in SMTLIB2_COMPLIANT=true -t:12000 (exit command is (exit), workingDir is null) Waiting until toolchain timeout for monitored process 9 with z3 -smt2 -in SMTLIB2_COMPLIANT=true -t:12000 [2018-11-23 12:10:28,980 INFO L103 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2018-11-23 12:10:29,041 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2018-11-23 12:10:29,065 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2018-11-23 12:10:29,068 INFO L273 TraceCheckSpWp]: Computing forward predicates... [2018-11-23 12:10:29,563 INFO L256 TraceCheckUtils]: 0: Hoare triple {5756#true} call ULTIMATE.init(); {5756#true} is VALID [2018-11-23 12:10:29,564 INFO L273 TraceCheckUtils]: 1: Hoare triple {5756#true} #NULL.base, #NULL.offset := 0, 0;#valid := #valid[0 := 0];~SIZE~0 := 100000; {5758#(<= 100000 ~SIZE~0)} is VALID [2018-11-23 12:10:29,564 INFO L273 TraceCheckUtils]: 2: Hoare triple {5758#(<= 100000 ~SIZE~0)} assume true; {5758#(<= 100000 ~SIZE~0)} is VALID [2018-11-23 12:10:29,565 INFO L268 TraceCheckUtils]: 3: Hoare quadruple {5758#(<= 100000 ~SIZE~0)} {5756#true} #123#return; {5758#(<= 100000 ~SIZE~0)} is VALID [2018-11-23 12:10:29,566 INFO L256 TraceCheckUtils]: 4: Hoare triple {5758#(<= 100000 ~SIZE~0)} call #t~ret13 := main(); {5758#(<= 100000 ~SIZE~0)} is VALID [2018-11-23 12:10:29,567 INFO L273 TraceCheckUtils]: 5: Hoare triple {5758#(<= 100000 ~SIZE~0)} havoc ~i~1;havoc ~pos~0;~n~0 := 0;~found~0 := 0;call ~#set~0.base, ~#set~0.offset := #Ultimate.alloc(4 * ~SIZE~0);call ~#values~0.base, ~#values~0.offset := #Ultimate.alloc(4 * ~SIZE~0);havoc ~element~0;havoc ~v~0;~v~0 := 0; {5784#(and (<= main_~v~0 0) (<= 100000 ~SIZE~0))} is VALID [2018-11-23 12:10:29,568 INFO L273 TraceCheckUtils]: 6: Hoare triple {5784#(and (<= main_~v~0 0) (<= 100000 ~SIZE~0))} assume !!(~v~0 < ~SIZE~0);call #t~mem3 := read~int(~#values~0.base, ~#values~0.offset + 4 * ~v~0, 4); {5784#(and (<= main_~v~0 0) (<= 100000 ~SIZE~0))} is VALID [2018-11-23 12:10:29,569 INFO L256 TraceCheckUtils]: 7: Hoare triple {5784#(and (<= main_~v~0 0) (<= 100000 ~SIZE~0))} call #t~ret4 := elem_exists(~#set~0.base, ~#set~0.offset, ~n~0, #t~mem3); {5758#(<= 100000 ~SIZE~0)} is VALID [2018-11-23 12:10:29,570 INFO L273 TraceCheckUtils]: 8: Hoare triple {5758#(<= 100000 ~SIZE~0)} ~set.base, ~set.offset := #in~set.base, #in~set.offset;~size := #in~size;~value := #in~value;havoc ~i~0;~i~0 := 0; {5758#(<= 100000 ~SIZE~0)} is VALID [2018-11-23 12:10:29,571 INFO L273 TraceCheckUtils]: 9: Hoare triple {5758#(<= 100000 ~SIZE~0)} assume !(~i~0 < ~size); {5758#(<= 100000 ~SIZE~0)} is VALID [2018-11-23 12:10:29,571 INFO L273 TraceCheckUtils]: 10: Hoare triple {5758#(<= 100000 ~SIZE~0)} #res := 0; {5758#(<= 100000 ~SIZE~0)} is VALID [2018-11-23 12:10:29,572 INFO L273 TraceCheckUtils]: 11: Hoare triple {5758#(<= 100000 ~SIZE~0)} assume true; {5758#(<= 100000 ~SIZE~0)} is VALID [2018-11-23 12:10:29,573 INFO L268 TraceCheckUtils]: 12: Hoare quadruple {5758#(<= 100000 ~SIZE~0)} {5784#(and (<= main_~v~0 0) (<= 100000 ~SIZE~0))} #127#return; {5784#(and (<= main_~v~0 0) (<= 100000 ~SIZE~0))} is VALID [2018-11-23 12:10:29,574 INFO L273 TraceCheckUtils]: 13: Hoare triple {5784#(and (<= main_~v~0 0) (<= 100000 ~SIZE~0))} assume -2147483648 <= #t~ret4 && #t~ret4 <= 2147483647; {5784#(and (<= main_~v~0 0) (<= 100000 ~SIZE~0))} is VALID [2018-11-23 12:10:29,575 INFO L273 TraceCheckUtils]: 14: Hoare triple {5784#(and (<= main_~v~0 0) (<= 100000 ~SIZE~0))} assume 1 != #t~ret4;havoc #t~ret4;havoc #t~mem3;call #t~mem5 := read~int(~#values~0.base, ~#values~0.offset + 4 * ~v~0, 4); {5784#(and (<= main_~v~0 0) (<= 100000 ~SIZE~0))} is VALID [2018-11-23 12:10:29,576 INFO L256 TraceCheckUtils]: 15: Hoare triple {5784#(and (<= main_~v~0 0) (<= 100000 ~SIZE~0))} call #t~ret6 := insert(~#set~0.base, ~#set~0.offset, ~n~0, #t~mem5); {5758#(<= 100000 ~SIZE~0)} is VALID [2018-11-23 12:10:29,576 INFO L273 TraceCheckUtils]: 16: Hoare triple {5758#(<= 100000 ~SIZE~0)} ~set.base, ~set.offset := #in~set.base, #in~set.offset;~size := #in~size;~value := #in~value;call write~int(~value, ~set.base, ~set.offset + 4 * ~size, 4);#res := 1 + ~size; {5758#(<= 100000 ~SIZE~0)} is VALID [2018-11-23 12:10:29,577 INFO L273 TraceCheckUtils]: 17: Hoare triple {5758#(<= 100000 ~SIZE~0)} assume true; {5758#(<= 100000 ~SIZE~0)} is VALID [2018-11-23 12:10:29,578 INFO L268 TraceCheckUtils]: 18: Hoare quadruple {5758#(<= 100000 ~SIZE~0)} {5784#(and (<= main_~v~0 0) (<= 100000 ~SIZE~0))} #129#return; {5784#(and (<= main_~v~0 0) (<= 100000 ~SIZE~0))} is VALID [2018-11-23 12:10:29,579 INFO L273 TraceCheckUtils]: 19: Hoare triple {5784#(and (<= main_~v~0 0) (<= 100000 ~SIZE~0))} assume -2147483648 <= #t~ret6 && #t~ret6 <= 2147483647;~n~0 := #t~ret6;havoc #t~mem5;havoc #t~ret6; {5784#(and (<= main_~v~0 0) (<= 100000 ~SIZE~0))} is VALID [2018-11-23 12:10:29,580 INFO L273 TraceCheckUtils]: 20: Hoare triple {5784#(and (<= main_~v~0 0) (<= 100000 ~SIZE~0))} #t~post2 := ~v~0;~v~0 := 1 + #t~post2;havoc #t~post2; {5830#(and (<= main_~v~0 1) (<= 100000 ~SIZE~0))} is VALID [2018-11-23 12:10:29,581 INFO L273 TraceCheckUtils]: 21: Hoare triple {5830#(and (<= main_~v~0 1) (<= 100000 ~SIZE~0))} assume !!(~v~0 < ~SIZE~0);call #t~mem3 := read~int(~#values~0.base, ~#values~0.offset + 4 * ~v~0, 4); {5830#(and (<= main_~v~0 1) (<= 100000 ~SIZE~0))} is VALID [2018-11-23 12:10:29,582 INFO L256 TraceCheckUtils]: 22: Hoare triple {5830#(and (<= main_~v~0 1) (<= 100000 ~SIZE~0))} call #t~ret4 := elem_exists(~#set~0.base, ~#set~0.offset, ~n~0, #t~mem3); {5758#(<= 100000 ~SIZE~0)} is VALID [2018-11-23 12:10:29,583 INFO L273 TraceCheckUtils]: 23: Hoare triple {5758#(<= 100000 ~SIZE~0)} ~set.base, ~set.offset := #in~set.base, #in~set.offset;~size := #in~size;~value := #in~value;havoc ~i~0;~i~0 := 0; {5758#(<= 100000 ~SIZE~0)} is VALID [2018-11-23 12:10:29,583 INFO L273 TraceCheckUtils]: 24: Hoare triple {5758#(<= 100000 ~SIZE~0)} assume !!(~i~0 < ~size);call #t~mem1 := read~int(~set.base, ~set.offset + 4 * ~i~0, 4); {5758#(<= 100000 ~SIZE~0)} is VALID [2018-11-23 12:10:29,584 INFO L273 TraceCheckUtils]: 25: Hoare triple {5758#(<= 100000 ~SIZE~0)} assume #t~mem1 == ~value;havoc #t~mem1;#res := 1; {5758#(<= 100000 ~SIZE~0)} is VALID [2018-11-23 12:10:29,584 INFO L273 TraceCheckUtils]: 26: Hoare triple {5758#(<= 100000 ~SIZE~0)} assume true; {5758#(<= 100000 ~SIZE~0)} is VALID [2018-11-23 12:10:29,585 INFO L268 TraceCheckUtils]: 27: Hoare quadruple {5758#(<= 100000 ~SIZE~0)} {5830#(and (<= main_~v~0 1) (<= 100000 ~SIZE~0))} #127#return; {5830#(and (<= main_~v~0 1) (<= 100000 ~SIZE~0))} is VALID [2018-11-23 12:10:29,586 INFO L273 TraceCheckUtils]: 28: Hoare triple {5830#(and (<= main_~v~0 1) (<= 100000 ~SIZE~0))} assume -2147483648 <= #t~ret4 && #t~ret4 <= 2147483647; {5830#(and (<= main_~v~0 1) (<= 100000 ~SIZE~0))} is VALID [2018-11-23 12:10:29,587 INFO L273 TraceCheckUtils]: 29: Hoare triple {5830#(and (<= main_~v~0 1) (<= 100000 ~SIZE~0))} assume !(1 != #t~ret4);havoc #t~ret4;havoc #t~mem3; {5830#(and (<= main_~v~0 1) (<= 100000 ~SIZE~0))} is VALID [2018-11-23 12:10:29,587 INFO L273 TraceCheckUtils]: 30: Hoare triple {5830#(and (<= main_~v~0 1) (<= 100000 ~SIZE~0))} #t~post2 := ~v~0;~v~0 := 1 + #t~post2;havoc #t~post2; {5861#(and (<= main_~v~0 2) (<= 100000 ~SIZE~0))} is VALID [2018-11-23 12:10:29,588 INFO L273 TraceCheckUtils]: 31: Hoare triple {5861#(and (<= main_~v~0 2) (<= 100000 ~SIZE~0))} assume !!(~v~0 < ~SIZE~0);call #t~mem3 := read~int(~#values~0.base, ~#values~0.offset + 4 * ~v~0, 4); {5861#(and (<= main_~v~0 2) (<= 100000 ~SIZE~0))} is VALID [2018-11-23 12:10:29,588 INFO L256 TraceCheckUtils]: 32: Hoare triple {5861#(and (<= main_~v~0 2) (<= 100000 ~SIZE~0))} call #t~ret4 := elem_exists(~#set~0.base, ~#set~0.offset, ~n~0, #t~mem3); {5758#(<= 100000 ~SIZE~0)} is VALID [2018-11-23 12:10:29,589 INFO L273 TraceCheckUtils]: 33: Hoare triple {5758#(<= 100000 ~SIZE~0)} ~set.base, ~set.offset := #in~set.base, #in~set.offset;~size := #in~size;~value := #in~value;havoc ~i~0;~i~0 := 0; {5758#(<= 100000 ~SIZE~0)} is VALID [2018-11-23 12:10:29,589 INFO L273 TraceCheckUtils]: 34: Hoare triple {5758#(<= 100000 ~SIZE~0)} assume !!(~i~0 < ~size);call #t~mem1 := read~int(~set.base, ~set.offset + 4 * ~i~0, 4); {5758#(<= 100000 ~SIZE~0)} is VALID [2018-11-23 12:10:29,590 INFO L273 TraceCheckUtils]: 35: Hoare triple {5758#(<= 100000 ~SIZE~0)} assume #t~mem1 == ~value;havoc #t~mem1;#res := 1; {5758#(<= 100000 ~SIZE~0)} is VALID [2018-11-23 12:10:29,590 INFO L273 TraceCheckUtils]: 36: Hoare triple {5758#(<= 100000 ~SIZE~0)} assume true; {5758#(<= 100000 ~SIZE~0)} is VALID [2018-11-23 12:10:29,592 INFO L268 TraceCheckUtils]: 37: Hoare quadruple {5758#(<= 100000 ~SIZE~0)} {5861#(and (<= main_~v~0 2) (<= 100000 ~SIZE~0))} #127#return; {5861#(and (<= main_~v~0 2) (<= 100000 ~SIZE~0))} is VALID [2018-11-23 12:10:29,592 INFO L273 TraceCheckUtils]: 38: Hoare triple {5861#(and (<= main_~v~0 2) (<= 100000 ~SIZE~0))} assume -2147483648 <= #t~ret4 && #t~ret4 <= 2147483647; {5861#(and (<= main_~v~0 2) (<= 100000 ~SIZE~0))} is VALID [2018-11-23 12:10:29,593 INFO L273 TraceCheckUtils]: 39: Hoare triple {5861#(and (<= main_~v~0 2) (<= 100000 ~SIZE~0))} assume !(1 != #t~ret4);havoc #t~ret4;havoc #t~mem3; {5861#(and (<= main_~v~0 2) (<= 100000 ~SIZE~0))} is VALID [2018-11-23 12:10:29,594 INFO L273 TraceCheckUtils]: 40: Hoare triple {5861#(and (<= main_~v~0 2) (<= 100000 ~SIZE~0))} #t~post2 := ~v~0;~v~0 := 1 + #t~post2;havoc #t~post2; {5892#(and (<= main_~v~0 3) (<= 100000 ~SIZE~0))} is VALID [2018-11-23 12:10:29,594 INFO L273 TraceCheckUtils]: 41: Hoare triple {5892#(and (<= main_~v~0 3) (<= 100000 ~SIZE~0))} assume !!(~v~0 < ~SIZE~0);call #t~mem3 := read~int(~#values~0.base, ~#values~0.offset + 4 * ~v~0, 4); {5892#(and (<= main_~v~0 3) (<= 100000 ~SIZE~0))} is VALID [2018-11-23 12:10:29,596 INFO L256 TraceCheckUtils]: 42: Hoare triple {5892#(and (<= main_~v~0 3) (<= 100000 ~SIZE~0))} call #t~ret4 := elem_exists(~#set~0.base, ~#set~0.offset, ~n~0, #t~mem3); {5758#(<= 100000 ~SIZE~0)} is VALID [2018-11-23 12:10:29,596 INFO L273 TraceCheckUtils]: 43: Hoare triple {5758#(<= 100000 ~SIZE~0)} ~set.base, ~set.offset := #in~set.base, #in~set.offset;~size := #in~size;~value := #in~value;havoc ~i~0;~i~0 := 0; {5758#(<= 100000 ~SIZE~0)} is VALID [2018-11-23 12:10:29,597 INFO L273 TraceCheckUtils]: 44: Hoare triple {5758#(<= 100000 ~SIZE~0)} assume !!(~i~0 < ~size);call #t~mem1 := read~int(~set.base, ~set.offset + 4 * ~i~0, 4); {5758#(<= 100000 ~SIZE~0)} is VALID [2018-11-23 12:10:29,597 INFO L273 TraceCheckUtils]: 45: Hoare triple {5758#(<= 100000 ~SIZE~0)} assume #t~mem1 == ~value;havoc #t~mem1;#res := 1; {5758#(<= 100000 ~SIZE~0)} is VALID [2018-11-23 12:10:29,598 INFO L273 TraceCheckUtils]: 46: Hoare triple {5758#(<= 100000 ~SIZE~0)} assume true; {5758#(<= 100000 ~SIZE~0)} is VALID [2018-11-23 12:10:29,599 INFO L268 TraceCheckUtils]: 47: Hoare quadruple {5758#(<= 100000 ~SIZE~0)} {5892#(and (<= main_~v~0 3) (<= 100000 ~SIZE~0))} #127#return; {5892#(and (<= main_~v~0 3) (<= 100000 ~SIZE~0))} is VALID [2018-11-23 12:10:29,600 INFO L273 TraceCheckUtils]: 48: Hoare triple {5892#(and (<= main_~v~0 3) (<= 100000 ~SIZE~0))} assume -2147483648 <= #t~ret4 && #t~ret4 <= 2147483647; {5892#(and (<= main_~v~0 3) (<= 100000 ~SIZE~0))} is VALID [2018-11-23 12:10:29,601 INFO L273 TraceCheckUtils]: 49: Hoare triple {5892#(and (<= main_~v~0 3) (<= 100000 ~SIZE~0))} assume !(1 != #t~ret4);havoc #t~ret4;havoc #t~mem3; {5892#(and (<= main_~v~0 3) (<= 100000 ~SIZE~0))} is VALID [2018-11-23 12:10:29,601 INFO L273 TraceCheckUtils]: 50: Hoare triple {5892#(and (<= main_~v~0 3) (<= 100000 ~SIZE~0))} #t~post2 := ~v~0;~v~0 := 1 + #t~post2;havoc #t~post2; {5923#(and (<= main_~v~0 4) (<= 100000 ~SIZE~0))} is VALID [2018-11-23 12:10:29,602 INFO L273 TraceCheckUtils]: 51: Hoare triple {5923#(and (<= main_~v~0 4) (<= 100000 ~SIZE~0))} assume !!(~v~0 < ~SIZE~0);call #t~mem3 := read~int(~#values~0.base, ~#values~0.offset + 4 * ~v~0, 4); {5923#(and (<= main_~v~0 4) (<= 100000 ~SIZE~0))} is VALID [2018-11-23 12:10:29,604 INFO L256 TraceCheckUtils]: 52: Hoare triple {5923#(and (<= main_~v~0 4) (<= 100000 ~SIZE~0))} call #t~ret4 := elem_exists(~#set~0.base, ~#set~0.offset, ~n~0, #t~mem3); {5758#(<= 100000 ~SIZE~0)} is VALID [2018-11-23 12:10:29,604 INFO L273 TraceCheckUtils]: 53: Hoare triple {5758#(<= 100000 ~SIZE~0)} ~set.base, ~set.offset := #in~set.base, #in~set.offset;~size := #in~size;~value := #in~value;havoc ~i~0;~i~0 := 0; {5758#(<= 100000 ~SIZE~0)} is VALID [2018-11-23 12:10:29,605 INFO L273 TraceCheckUtils]: 54: Hoare triple {5758#(<= 100000 ~SIZE~0)} assume !!(~i~0 < ~size);call #t~mem1 := read~int(~set.base, ~set.offset + 4 * ~i~0, 4); {5758#(<= 100000 ~SIZE~0)} is VALID [2018-11-23 12:10:29,605 INFO L273 TraceCheckUtils]: 55: Hoare triple {5758#(<= 100000 ~SIZE~0)} assume #t~mem1 == ~value;havoc #t~mem1;#res := 1; {5758#(<= 100000 ~SIZE~0)} is VALID [2018-11-23 12:10:29,606 INFO L273 TraceCheckUtils]: 56: Hoare triple {5758#(<= 100000 ~SIZE~0)} assume true; {5758#(<= 100000 ~SIZE~0)} is VALID [2018-11-23 12:10:29,607 INFO L268 TraceCheckUtils]: 57: Hoare quadruple {5758#(<= 100000 ~SIZE~0)} {5923#(and (<= main_~v~0 4) (<= 100000 ~SIZE~0))} #127#return; {5923#(and (<= main_~v~0 4) (<= 100000 ~SIZE~0))} is VALID [2018-11-23 12:10:29,608 INFO L273 TraceCheckUtils]: 58: Hoare triple {5923#(and (<= main_~v~0 4) (<= 100000 ~SIZE~0))} assume -2147483648 <= #t~ret4 && #t~ret4 <= 2147483647; {5923#(and (<= main_~v~0 4) (<= 100000 ~SIZE~0))} is VALID [2018-11-23 12:10:29,608 INFO L273 TraceCheckUtils]: 59: Hoare triple {5923#(and (<= main_~v~0 4) (<= 100000 ~SIZE~0))} assume !(1 != #t~ret4);havoc #t~ret4;havoc #t~mem3; {5923#(and (<= main_~v~0 4) (<= 100000 ~SIZE~0))} is VALID [2018-11-23 12:10:29,609 INFO L273 TraceCheckUtils]: 60: Hoare triple {5923#(and (<= main_~v~0 4) (<= 100000 ~SIZE~0))} #t~post2 := ~v~0;~v~0 := 1 + #t~post2;havoc #t~post2; {5954#(and (<= main_~v~0 5) (<= 100000 ~SIZE~0))} is VALID [2018-11-23 12:10:29,610 INFO L273 TraceCheckUtils]: 61: Hoare triple {5954#(and (<= main_~v~0 5) (<= 100000 ~SIZE~0))} assume !!(~v~0 < ~SIZE~0);call #t~mem3 := read~int(~#values~0.base, ~#values~0.offset + 4 * ~v~0, 4); {5954#(and (<= main_~v~0 5) (<= 100000 ~SIZE~0))} is VALID [2018-11-23 12:10:29,611 INFO L256 TraceCheckUtils]: 62: Hoare triple {5954#(and (<= main_~v~0 5) (<= 100000 ~SIZE~0))} call #t~ret4 := elem_exists(~#set~0.base, ~#set~0.offset, ~n~0, #t~mem3); {5758#(<= 100000 ~SIZE~0)} is VALID [2018-11-23 12:10:29,612 INFO L273 TraceCheckUtils]: 63: Hoare triple {5758#(<= 100000 ~SIZE~0)} ~set.base, ~set.offset := #in~set.base, #in~set.offset;~size := #in~size;~value := #in~value;havoc ~i~0;~i~0 := 0; {5758#(<= 100000 ~SIZE~0)} is VALID [2018-11-23 12:10:29,612 INFO L273 TraceCheckUtils]: 64: Hoare triple {5758#(<= 100000 ~SIZE~0)} assume !!(~i~0 < ~size);call #t~mem1 := read~int(~set.base, ~set.offset + 4 * ~i~0, 4); {5758#(<= 100000 ~SIZE~0)} is VALID [2018-11-23 12:10:29,613 INFO L273 TraceCheckUtils]: 65: Hoare triple {5758#(<= 100000 ~SIZE~0)} assume #t~mem1 == ~value;havoc #t~mem1;#res := 1; {5758#(<= 100000 ~SIZE~0)} is VALID [2018-11-23 12:10:29,614 INFO L273 TraceCheckUtils]: 66: Hoare triple {5758#(<= 100000 ~SIZE~0)} assume true; {5758#(<= 100000 ~SIZE~0)} is VALID [2018-11-23 12:10:29,615 INFO L268 TraceCheckUtils]: 67: Hoare quadruple {5758#(<= 100000 ~SIZE~0)} {5954#(and (<= main_~v~0 5) (<= 100000 ~SIZE~0))} #127#return; {5954#(and (<= main_~v~0 5) (<= 100000 ~SIZE~0))} is VALID [2018-11-23 12:10:29,616 INFO L273 TraceCheckUtils]: 68: Hoare triple {5954#(and (<= main_~v~0 5) (<= 100000 ~SIZE~0))} assume -2147483648 <= #t~ret4 && #t~ret4 <= 2147483647; {5954#(and (<= main_~v~0 5) (<= 100000 ~SIZE~0))} is VALID [2018-11-23 12:10:29,616 INFO L273 TraceCheckUtils]: 69: Hoare triple {5954#(and (<= main_~v~0 5) (<= 100000 ~SIZE~0))} assume !(1 != #t~ret4);havoc #t~ret4;havoc #t~mem3; {5954#(and (<= main_~v~0 5) (<= 100000 ~SIZE~0))} is VALID [2018-11-23 12:10:29,617 INFO L273 TraceCheckUtils]: 70: Hoare triple {5954#(and (<= main_~v~0 5) (<= 100000 ~SIZE~0))} #t~post2 := ~v~0;~v~0 := 1 + #t~post2;havoc #t~post2; {5985#(and (<= main_~v~0 6) (<= 100000 ~SIZE~0))} is VALID [2018-11-23 12:10:29,618 INFO L273 TraceCheckUtils]: 71: Hoare triple {5985#(and (<= main_~v~0 6) (<= 100000 ~SIZE~0))} assume !(~v~0 < ~SIZE~0); {5757#false} is VALID [2018-11-23 12:10:29,618 INFO L273 TraceCheckUtils]: 72: Hoare triple {5757#false} ~i~1 := 0; {5757#false} is VALID [2018-11-23 12:10:29,618 INFO L273 TraceCheckUtils]: 73: Hoare triple {5757#false} assume !!(~i~1 < ~SIZE~0 && 1 != ~found~0);call #t~mem8 := read~int(~#set~0.base, ~#set~0.offset + 4 * ~i~1, 4); {5757#false} is VALID [2018-11-23 12:10:29,619 INFO L273 TraceCheckUtils]: 74: Hoare triple {5757#false} assume !(#t~mem8 == ~element~0);havoc #t~mem8; {5757#false} is VALID [2018-11-23 12:10:29,619 INFO L273 TraceCheckUtils]: 75: Hoare triple {5757#false} #t~post7 := ~i~1;~i~1 := 1 + #t~post7;havoc #t~post7; {5757#false} is VALID [2018-11-23 12:10:29,619 INFO L273 TraceCheckUtils]: 76: Hoare triple {5757#false} assume !!(~i~1 < ~SIZE~0 && 1 != ~found~0);call #t~mem8 := read~int(~#set~0.base, ~#set~0.offset + 4 * ~i~1, 4); {5757#false} is VALID [2018-11-23 12:10:29,619 INFO L273 TraceCheckUtils]: 77: Hoare triple {5757#false} assume #t~mem8 == ~element~0;havoc #t~mem8;~found~0 := 1;~pos~0 := ~i~1; {5757#false} is VALID [2018-11-23 12:10:29,619 INFO L273 TraceCheckUtils]: 78: Hoare triple {5757#false} #t~post7 := ~i~1;~i~1 := 1 + #t~post7;havoc #t~post7; {5757#false} is VALID [2018-11-23 12:10:29,620 INFO L273 TraceCheckUtils]: 79: Hoare triple {5757#false} assume !(~i~1 < ~SIZE~0 && 1 != ~found~0); {5757#false} is VALID [2018-11-23 12:10:29,620 INFO L273 TraceCheckUtils]: 80: Hoare triple {5757#false} assume 1 == ~found~0;~i~1 := ~pos~0; {5757#false} is VALID [2018-11-23 12:10:29,620 INFO L273 TraceCheckUtils]: 81: Hoare triple {5757#false} assume !!(~i~1 < ~SIZE~0 - 1);call #t~mem10 := read~int(~#set~0.base, ~#set~0.offset + 4 * (1 + ~i~1), 4);call write~int(#t~mem10, ~#set~0.base, ~#set~0.offset + 4 * ~i~1, 4);havoc #t~mem10; {5757#false} is VALID [2018-11-23 12:10:29,620 INFO L273 TraceCheckUtils]: 82: Hoare triple {5757#false} #t~post9 := ~i~1;~i~1 := 1 + #t~post9;havoc #t~post9; {5757#false} is VALID [2018-11-23 12:10:29,620 INFO L273 TraceCheckUtils]: 83: Hoare triple {5757#false} assume !(~i~1 < ~SIZE~0 - 1); {5757#false} is VALID [2018-11-23 12:10:29,621 INFO L273 TraceCheckUtils]: 84: Hoare triple {5757#false} assume 1 == ~found~0;~i~1 := 0; {5757#false} is VALID [2018-11-23 12:10:29,621 INFO L273 TraceCheckUtils]: 85: Hoare triple {5757#false} assume !!(~i~1 < ~SIZE~0 - 1);call #t~mem12 := read~int(~#set~0.base, ~#set~0.offset + 4 * ~i~1, 4); {5757#false} is VALID [2018-11-23 12:10:29,621 INFO L256 TraceCheckUtils]: 86: Hoare triple {5757#false} call __VERIFIER_assert((if #t~mem12 != ~element~0 then 1 else 0)); {5757#false} is VALID [2018-11-23 12:10:29,621 INFO L273 TraceCheckUtils]: 87: Hoare triple {5757#false} ~cond := #in~cond; {5757#false} is VALID [2018-11-23 12:10:29,621 INFO L273 TraceCheckUtils]: 88: Hoare triple {5757#false} assume 0 == ~cond; {5757#false} is VALID [2018-11-23 12:10:29,622 INFO L273 TraceCheckUtils]: 89: Hoare triple {5757#false} assume !false; {5757#false} is VALID [2018-11-23 12:10:29,632 INFO L134 CoverageAnalysis]: Checked inductivity of 157 backedges. 0 proven. 81 refuted. 0 times theorem prover too weak. 76 trivial. 0 not checked. [2018-11-23 12:10:29,653 INFO L312 seRefinementStrategy]: Constructing automaton from 0 perfect and 2 imperfect interpolant sequences. [2018-11-23 12:10:29,653 INFO L327 seRefinementStrategy]: Number of different interpolants: perfect sequences [] imperfect sequences [10, 10] total 17 [2018-11-23 12:10:29,654 INFO L78 Accepts]: Start accepts. Automaton has 17 states. Word has length 90 [2018-11-23 12:10:29,655 INFO L84 Accepts]: Finished accepts. word is accepted. [2018-11-23 12:10:29,655 INFO L86 InductivityCheck]: Starting indutivity check of a Floyd-Hoare automaton with 17 states. [2018-11-23 12:10:29,780 INFO L119 InductivityCheck]: Floyd-Hoare automaton has 119 edges. 119 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2018-11-23 12:10:29,780 INFO L459 AbstractCegarLoop]: Interpolant automaton has 17 states [2018-11-23 12:10:29,781 INFO L142 InterpolantAutomaton]: Constructing interpolant automaton starting with 17 interpolants. [2018-11-23 12:10:29,781 INFO L144 InterpolantAutomaton]: CoverageRelationStatistics Valid=115, Invalid=157, Unknown=0, NotChecked=0, Total=272 [2018-11-23 12:10:29,781 INFO L87 Difference]: Start difference. First operand 111 states and 142 transitions. Second operand 17 states. [2018-11-23 12:10:31,881 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2018-11-23 12:10:31,882 INFO L93 Difference]: Finished difference Result 164 states and 210 transitions. [2018-11-23 12:10:31,882 INFO L142 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 10 states. [2018-11-23 12:10:31,882 INFO L78 Accepts]: Start accepts. Automaton has 17 states. Word has length 90 [2018-11-23 12:10:31,882 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2018-11-23 12:10:31,882 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 17 states. [2018-11-23 12:10:31,885 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 10 states to 10 states and 139 transitions. [2018-11-23 12:10:31,885 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 17 states. [2018-11-23 12:10:31,887 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 10 states to 10 states and 139 transitions. [2018-11-23 12:10:31,887 INFO L86 InductivityCheck]: Starting indutivity check of a Floyd-Hoare automaton with 10 states and 139 transitions. [2018-11-23 12:10:32,443 INFO L119 InductivityCheck]: Floyd-Hoare automaton has 139 edges. 139 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2018-11-23 12:10:32,447 INFO L225 Difference]: With dead ends: 164 [2018-11-23 12:10:32,447 INFO L226 Difference]: Without dead ends: 128 [2018-11-23 12:10:32,447 INFO L631 BasicCegarLoop]: 0 DeclaredPredicates, 99 GetRequests, 84 SyntacticMatches, 0 SemanticMatches, 15 ConstructedPredicates, 0 IntricatePredicates, 0 DeprecatedPredicates, 81 ImplicationChecksByTransitivity, 0.4s TimeCoverageRelationStatistics Valid=115, Invalid=157, Unknown=0, NotChecked=0, Total=272 [2018-11-23 12:10:32,448 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 128 states. [2018-11-23 12:10:32,628 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 128 to 120. [2018-11-23 12:10:32,628 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2018-11-23 12:10:32,628 INFO L82 GeneralOperation]: Start isEquivalent. First operand 128 states. Second operand 120 states. [2018-11-23 12:10:32,629 INFO L74 IsIncluded]: Start isIncluded. First operand 128 states. Second operand 120 states. [2018-11-23 12:10:32,629 INFO L87 Difference]: Start difference. First operand 128 states. Second operand 120 states. [2018-11-23 12:10:32,633 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2018-11-23 12:10:32,633 INFO L93 Difference]: Finished difference Result 128 states and 169 transitions. [2018-11-23 12:10:32,633 INFO L276 IsEmpty]: Start isEmpty. Operand 128 states and 169 transitions. [2018-11-23 12:10:32,634 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2018-11-23 12:10:32,634 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2018-11-23 12:10:32,634 INFO L74 IsIncluded]: Start isIncluded. First operand 120 states. Second operand 128 states. [2018-11-23 12:10:32,634 INFO L87 Difference]: Start difference. First operand 120 states. Second operand 128 states. [2018-11-23 12:10:32,638 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2018-11-23 12:10:32,639 INFO L93 Difference]: Finished difference Result 128 states and 169 transitions. [2018-11-23 12:10:32,639 INFO L276 IsEmpty]: Start isEmpty. Operand 128 states and 169 transitions. [2018-11-23 12:10:32,639 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2018-11-23 12:10:32,640 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2018-11-23 12:10:32,640 INFO L88 GeneralOperation]: Finished isEquivalent. [2018-11-23 12:10:32,640 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2018-11-23 12:10:32,640 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 120 states. [2018-11-23 12:10:32,643 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 120 states to 120 states and 156 transitions. [2018-11-23 12:10:32,644 INFO L78 Accepts]: Start accepts. Automaton has 120 states and 156 transitions. Word has length 90 [2018-11-23 12:10:32,644 INFO L84 Accepts]: Finished accepts. word is rejected. [2018-11-23 12:10:32,644 INFO L480 AbstractCegarLoop]: Abstraction has 120 states and 156 transitions. [2018-11-23 12:10:32,644 INFO L481 AbstractCegarLoop]: Interpolant automaton has 17 states. [2018-11-23 12:10:32,644 INFO L276 IsEmpty]: Start isEmpty. Operand 120 states and 156 transitions. [2018-11-23 12:10:32,646 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 101 [2018-11-23 12:10:32,646 INFO L394 BasicCegarLoop]: Found error trace [2018-11-23 12:10:32,646 INFO L402 BasicCegarLoop]: trace histogram [7, 7, 7, 7, 7, 7, 7, 6, 6, 6, 2, 2, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1] [2018-11-23 12:10:32,646 INFO L423 AbstractCegarLoop]: === Iteration 13 === [__VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION]=== [2018-11-23 12:10:32,646 INFO L141 PredicateUnifier]: Initialized classic predicate unifier [2018-11-23 12:10:32,647 INFO L82 PathProgramCache]: Analyzing trace with hash -1857911190, now seen corresponding path program 2 times [2018-11-23 12:10:32,647 INFO L223 ckRefinementStrategy]: Switched to mode SMTINTERPOL_TREE_INTERPOLANTS [2018-11-23 12:10:32,647 INFO L69 tionRefinementEngine]: Using refinement strategy CamelRefinementStrategy [2018-11-23 12:10:32,647 INFO L119 rtionOrderModulation]: Craig_TreeInterpolation forces the order to NOT_INCREMENTALLY [2018-11-23 12:10:32,648 INFO L103 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2018-11-23 12:10:32,648 INFO L119 rtionOrderModulation]: Craig_TreeInterpolation forces the order to NOT_INCREMENTALLY [2018-11-23 12:10:32,678 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2018-11-23 12:10:33,303 INFO L256 TraceCheckUtils]: 0: Hoare triple {6683#true} call ULTIMATE.init(); {6683#true} is VALID [2018-11-23 12:10:33,304 INFO L273 TraceCheckUtils]: 1: Hoare triple {6683#true} #NULL.base, #NULL.offset := 0, 0;#valid := #valid[0 := 0];~SIZE~0 := 100000; {6685#(<= 100000 ~SIZE~0)} is VALID [2018-11-23 12:10:33,305 INFO L273 TraceCheckUtils]: 2: Hoare triple {6685#(<= 100000 ~SIZE~0)} assume true; {6685#(<= 100000 ~SIZE~0)} is VALID [2018-11-23 12:10:33,305 INFO L268 TraceCheckUtils]: 3: Hoare quadruple {6685#(<= 100000 ~SIZE~0)} {6683#true} #123#return; {6685#(<= 100000 ~SIZE~0)} is VALID [2018-11-23 12:10:33,306 INFO L256 TraceCheckUtils]: 4: Hoare triple {6685#(<= 100000 ~SIZE~0)} call #t~ret13 := main(); {6685#(<= 100000 ~SIZE~0)} is VALID [2018-11-23 12:10:33,307 INFO L273 TraceCheckUtils]: 5: Hoare triple {6685#(<= 100000 ~SIZE~0)} havoc ~i~1;havoc ~pos~0;~n~0 := 0;~found~0 := 0;call ~#set~0.base, ~#set~0.offset := #Ultimate.alloc(4 * ~SIZE~0);call ~#values~0.base, ~#values~0.offset := #Ultimate.alloc(4 * ~SIZE~0);havoc ~element~0;havoc ~v~0;~v~0 := 0; {6686#(and (= main_~v~0 0) (<= 100000 ~SIZE~0))} is VALID [2018-11-23 12:10:33,308 INFO L273 TraceCheckUtils]: 6: Hoare triple {6686#(and (= main_~v~0 0) (<= 100000 ~SIZE~0))} assume !!(~v~0 < ~SIZE~0);call #t~mem3 := read~int(~#values~0.base, ~#values~0.offset + 4 * ~v~0, 4); {6686#(and (= main_~v~0 0) (<= 100000 ~SIZE~0))} is VALID [2018-11-23 12:10:33,308 INFO L256 TraceCheckUtils]: 7: Hoare triple {6686#(and (= main_~v~0 0) (<= 100000 ~SIZE~0))} call #t~ret4 := elem_exists(~#set~0.base, ~#set~0.offset, ~n~0, #t~mem3); {6683#true} is VALID [2018-11-23 12:10:33,308 INFO L273 TraceCheckUtils]: 8: Hoare triple {6683#true} ~set.base, ~set.offset := #in~set.base, #in~set.offset;~size := #in~size;~value := #in~value;havoc ~i~0;~i~0 := 0; {6683#true} is VALID [2018-11-23 12:10:33,308 INFO L273 TraceCheckUtils]: 9: Hoare triple {6683#true} assume !(~i~0 < ~size); {6683#true} is VALID [2018-11-23 12:10:33,308 INFO L273 TraceCheckUtils]: 10: Hoare triple {6683#true} #res := 0; {6683#true} is VALID [2018-11-23 12:10:33,309 INFO L273 TraceCheckUtils]: 11: Hoare triple {6683#true} assume true; {6683#true} is VALID [2018-11-23 12:10:33,310 INFO L268 TraceCheckUtils]: 12: Hoare quadruple {6683#true} {6686#(and (= main_~v~0 0) (<= 100000 ~SIZE~0))} #127#return; {6686#(and (= main_~v~0 0) (<= 100000 ~SIZE~0))} is VALID [2018-11-23 12:10:33,311 INFO L273 TraceCheckUtils]: 13: Hoare triple {6686#(and (= main_~v~0 0) (<= 100000 ~SIZE~0))} assume -2147483648 <= #t~ret4 && #t~ret4 <= 2147483647; {6686#(and (= main_~v~0 0) (<= 100000 ~SIZE~0))} is VALID [2018-11-23 12:10:33,311 INFO L273 TraceCheckUtils]: 14: Hoare triple {6686#(and (= main_~v~0 0) (<= 100000 ~SIZE~0))} assume 1 != #t~ret4;havoc #t~ret4;havoc #t~mem3;call #t~mem5 := read~int(~#values~0.base, ~#values~0.offset + 4 * ~v~0, 4); {6686#(and (= main_~v~0 0) (<= 100000 ~SIZE~0))} is VALID [2018-11-23 12:10:33,312 INFO L256 TraceCheckUtils]: 15: Hoare triple {6686#(and (= main_~v~0 0) (<= 100000 ~SIZE~0))} call #t~ret6 := insert(~#set~0.base, ~#set~0.offset, ~n~0, #t~mem5); {6683#true} is VALID [2018-11-23 12:10:33,312 INFO L273 TraceCheckUtils]: 16: Hoare triple {6683#true} ~set.base, ~set.offset := #in~set.base, #in~set.offset;~size := #in~size;~value := #in~value;call write~int(~value, ~set.base, ~set.offset + 4 * ~size, 4);#res := 1 + ~size; {6683#true} is VALID [2018-11-23 12:10:33,312 INFO L273 TraceCheckUtils]: 17: Hoare triple {6683#true} assume true; {6683#true} is VALID [2018-11-23 12:10:33,313 INFO L268 TraceCheckUtils]: 18: Hoare quadruple {6683#true} {6686#(and (= main_~v~0 0) (<= 100000 ~SIZE~0))} #129#return; {6686#(and (= main_~v~0 0) (<= 100000 ~SIZE~0))} is VALID [2018-11-23 12:10:33,314 INFO L273 TraceCheckUtils]: 19: Hoare triple {6686#(and (= main_~v~0 0) (<= 100000 ~SIZE~0))} assume -2147483648 <= #t~ret6 && #t~ret6 <= 2147483647;~n~0 := #t~ret6;havoc #t~mem5;havoc #t~ret6; {6686#(and (= main_~v~0 0) (<= 100000 ~SIZE~0))} is VALID [2018-11-23 12:10:33,315 INFO L273 TraceCheckUtils]: 20: Hoare triple {6686#(and (= main_~v~0 0) (<= 100000 ~SIZE~0))} #t~post2 := ~v~0;~v~0 := 1 + #t~post2;havoc #t~post2; {6687#(<= (+ main_~v~0 99999) ~SIZE~0)} is VALID [2018-11-23 12:10:33,315 INFO L273 TraceCheckUtils]: 21: Hoare triple {6687#(<= (+ main_~v~0 99999) ~SIZE~0)} assume !!(~v~0 < ~SIZE~0);call #t~mem3 := read~int(~#values~0.base, ~#values~0.offset + 4 * ~v~0, 4); {6687#(<= (+ main_~v~0 99999) ~SIZE~0)} is VALID [2018-11-23 12:10:33,315 INFO L256 TraceCheckUtils]: 22: Hoare triple {6687#(<= (+ main_~v~0 99999) ~SIZE~0)} call #t~ret4 := elem_exists(~#set~0.base, ~#set~0.offset, ~n~0, #t~mem3); {6683#true} is VALID [2018-11-23 12:10:33,316 INFO L273 TraceCheckUtils]: 23: Hoare triple {6683#true} ~set.base, ~set.offset := #in~set.base, #in~set.offset;~size := #in~size;~value := #in~value;havoc ~i~0;~i~0 := 0; {6683#true} is VALID [2018-11-23 12:10:33,316 INFO L273 TraceCheckUtils]: 24: Hoare triple {6683#true} assume !!(~i~0 < ~size);call #t~mem1 := read~int(~set.base, ~set.offset + 4 * ~i~0, 4); {6683#true} is VALID [2018-11-23 12:10:33,316 INFO L273 TraceCheckUtils]: 25: Hoare triple {6683#true} assume #t~mem1 == ~value;havoc #t~mem1;#res := 1; {6683#true} is VALID [2018-11-23 12:10:33,316 INFO L273 TraceCheckUtils]: 26: Hoare triple {6683#true} assume true; {6683#true} is VALID [2018-11-23 12:10:33,318 INFO L268 TraceCheckUtils]: 27: Hoare quadruple {6683#true} {6687#(<= (+ main_~v~0 99999) ~SIZE~0)} #127#return; {6687#(<= (+ main_~v~0 99999) ~SIZE~0)} is VALID [2018-11-23 12:10:33,318 INFO L273 TraceCheckUtils]: 28: Hoare triple {6687#(<= (+ main_~v~0 99999) ~SIZE~0)} assume -2147483648 <= #t~ret4 && #t~ret4 <= 2147483647; {6687#(<= (+ main_~v~0 99999) ~SIZE~0)} is VALID [2018-11-23 12:10:33,318 INFO L273 TraceCheckUtils]: 29: Hoare triple {6687#(<= (+ main_~v~0 99999) ~SIZE~0)} assume !(1 != #t~ret4);havoc #t~ret4;havoc #t~mem3; {6687#(<= (+ main_~v~0 99999) ~SIZE~0)} is VALID [2018-11-23 12:10:33,319 INFO L273 TraceCheckUtils]: 30: Hoare triple {6687#(<= (+ main_~v~0 99999) ~SIZE~0)} #t~post2 := ~v~0;~v~0 := 1 + #t~post2;havoc #t~post2; {6688#(<= (+ main_~v~0 99998) ~SIZE~0)} is VALID [2018-11-23 12:10:33,319 INFO L273 TraceCheckUtils]: 31: Hoare triple {6688#(<= (+ main_~v~0 99998) ~SIZE~0)} assume !!(~v~0 < ~SIZE~0);call #t~mem3 := read~int(~#values~0.base, ~#values~0.offset + 4 * ~v~0, 4); {6688#(<= (+ main_~v~0 99998) ~SIZE~0)} is VALID [2018-11-23 12:10:33,319 INFO L256 TraceCheckUtils]: 32: Hoare triple {6688#(<= (+ main_~v~0 99998) ~SIZE~0)} call #t~ret4 := elem_exists(~#set~0.base, ~#set~0.offset, ~n~0, #t~mem3); {6683#true} is VALID [2018-11-23 12:10:33,319 INFO L273 TraceCheckUtils]: 33: Hoare triple {6683#true} ~set.base, ~set.offset := #in~set.base, #in~set.offset;~size := #in~size;~value := #in~value;havoc ~i~0;~i~0 := 0; {6683#true} is VALID [2018-11-23 12:10:33,319 INFO L273 TraceCheckUtils]: 34: Hoare triple {6683#true} assume !!(~i~0 < ~size);call #t~mem1 := read~int(~set.base, ~set.offset + 4 * ~i~0, 4); {6683#true} is VALID [2018-11-23 12:10:33,320 INFO L273 TraceCheckUtils]: 35: Hoare triple {6683#true} assume #t~mem1 == ~value;havoc #t~mem1;#res := 1; {6683#true} is VALID [2018-11-23 12:10:33,320 INFO L273 TraceCheckUtils]: 36: Hoare triple {6683#true} assume true; {6683#true} is VALID [2018-11-23 12:10:33,321 INFO L268 TraceCheckUtils]: 37: Hoare quadruple {6683#true} {6688#(<= (+ main_~v~0 99998) ~SIZE~0)} #127#return; {6688#(<= (+ main_~v~0 99998) ~SIZE~0)} is VALID [2018-11-23 12:10:33,322 INFO L273 TraceCheckUtils]: 38: Hoare triple {6688#(<= (+ main_~v~0 99998) ~SIZE~0)} assume -2147483648 <= #t~ret4 && #t~ret4 <= 2147483647; {6688#(<= (+ main_~v~0 99998) ~SIZE~0)} is VALID [2018-11-23 12:10:33,322 INFO L273 TraceCheckUtils]: 39: Hoare triple {6688#(<= (+ main_~v~0 99998) ~SIZE~0)} assume !(1 != #t~ret4);havoc #t~ret4;havoc #t~mem3; {6688#(<= (+ main_~v~0 99998) ~SIZE~0)} is VALID [2018-11-23 12:10:33,322 INFO L273 TraceCheckUtils]: 40: Hoare triple {6688#(<= (+ main_~v~0 99998) ~SIZE~0)} #t~post2 := ~v~0;~v~0 := 1 + #t~post2;havoc #t~post2; {6689#(<= (+ main_~v~0 99997) ~SIZE~0)} is VALID [2018-11-23 12:10:33,323 INFO L273 TraceCheckUtils]: 41: Hoare triple {6689#(<= (+ main_~v~0 99997) ~SIZE~0)} assume !!(~v~0 < ~SIZE~0);call #t~mem3 := read~int(~#values~0.base, ~#values~0.offset + 4 * ~v~0, 4); {6689#(<= (+ main_~v~0 99997) ~SIZE~0)} is VALID [2018-11-23 12:10:33,323 INFO L256 TraceCheckUtils]: 42: Hoare triple {6689#(<= (+ main_~v~0 99997) ~SIZE~0)} call #t~ret4 := elem_exists(~#set~0.base, ~#set~0.offset, ~n~0, #t~mem3); {6683#true} is VALID [2018-11-23 12:10:33,323 INFO L273 TraceCheckUtils]: 43: Hoare triple {6683#true} ~set.base, ~set.offset := #in~set.base, #in~set.offset;~size := #in~size;~value := #in~value;havoc ~i~0;~i~0 := 0; {6683#true} is VALID [2018-11-23 12:10:33,323 INFO L273 TraceCheckUtils]: 44: Hoare triple {6683#true} assume !!(~i~0 < ~size);call #t~mem1 := read~int(~set.base, ~set.offset + 4 * ~i~0, 4); {6683#true} is VALID [2018-11-23 12:10:33,323 INFO L273 TraceCheckUtils]: 45: Hoare triple {6683#true} assume #t~mem1 == ~value;havoc #t~mem1;#res := 1; {6683#true} is VALID [2018-11-23 12:10:33,323 INFO L273 TraceCheckUtils]: 46: Hoare triple {6683#true} assume true; {6683#true} is VALID [2018-11-23 12:10:33,324 INFO L268 TraceCheckUtils]: 47: Hoare quadruple {6683#true} {6689#(<= (+ main_~v~0 99997) ~SIZE~0)} #127#return; {6689#(<= (+ main_~v~0 99997) ~SIZE~0)} is VALID [2018-11-23 12:10:33,324 INFO L273 TraceCheckUtils]: 48: Hoare triple {6689#(<= (+ main_~v~0 99997) ~SIZE~0)} assume -2147483648 <= #t~ret4 && #t~ret4 <= 2147483647; {6689#(<= (+ main_~v~0 99997) ~SIZE~0)} is VALID [2018-11-23 12:10:33,325 INFO L273 TraceCheckUtils]: 49: Hoare triple {6689#(<= (+ main_~v~0 99997) ~SIZE~0)} assume !(1 != #t~ret4);havoc #t~ret4;havoc #t~mem3; {6689#(<= (+ main_~v~0 99997) ~SIZE~0)} is VALID [2018-11-23 12:10:33,326 INFO L273 TraceCheckUtils]: 50: Hoare triple {6689#(<= (+ main_~v~0 99997) ~SIZE~0)} #t~post2 := ~v~0;~v~0 := 1 + #t~post2;havoc #t~post2; {6690#(<= (+ main_~v~0 99996) ~SIZE~0)} is VALID [2018-11-23 12:10:33,326 INFO L273 TraceCheckUtils]: 51: Hoare triple {6690#(<= (+ main_~v~0 99996) ~SIZE~0)} assume !!(~v~0 < ~SIZE~0);call #t~mem3 := read~int(~#values~0.base, ~#values~0.offset + 4 * ~v~0, 4); {6690#(<= (+ main_~v~0 99996) ~SIZE~0)} is VALID [2018-11-23 12:10:33,326 INFO L256 TraceCheckUtils]: 52: Hoare triple {6690#(<= (+ main_~v~0 99996) ~SIZE~0)} call #t~ret4 := elem_exists(~#set~0.base, ~#set~0.offset, ~n~0, #t~mem3); {6683#true} is VALID [2018-11-23 12:10:33,327 INFO L273 TraceCheckUtils]: 53: Hoare triple {6683#true} ~set.base, ~set.offset := #in~set.base, #in~set.offset;~size := #in~size;~value := #in~value;havoc ~i~0;~i~0 := 0; {6683#true} is VALID [2018-11-23 12:10:33,327 INFO L273 TraceCheckUtils]: 54: Hoare triple {6683#true} assume !!(~i~0 < ~size);call #t~mem1 := read~int(~set.base, ~set.offset + 4 * ~i~0, 4); {6683#true} is VALID [2018-11-23 12:10:33,327 INFO L273 TraceCheckUtils]: 55: Hoare triple {6683#true} assume #t~mem1 == ~value;havoc #t~mem1;#res := 1; {6683#true} is VALID [2018-11-23 12:10:33,327 INFO L273 TraceCheckUtils]: 56: Hoare triple {6683#true} assume true; {6683#true} is VALID [2018-11-23 12:10:33,329 INFO L268 TraceCheckUtils]: 57: Hoare quadruple {6683#true} {6690#(<= (+ main_~v~0 99996) ~SIZE~0)} #127#return; {6690#(<= (+ main_~v~0 99996) ~SIZE~0)} is VALID [2018-11-23 12:10:33,329 INFO L273 TraceCheckUtils]: 58: Hoare triple {6690#(<= (+ main_~v~0 99996) ~SIZE~0)} assume -2147483648 <= #t~ret4 && #t~ret4 <= 2147483647; {6690#(<= (+ main_~v~0 99996) ~SIZE~0)} is VALID [2018-11-23 12:10:33,330 INFO L273 TraceCheckUtils]: 59: Hoare triple {6690#(<= (+ main_~v~0 99996) ~SIZE~0)} assume !(1 != #t~ret4);havoc #t~ret4;havoc #t~mem3; {6690#(<= (+ main_~v~0 99996) ~SIZE~0)} is VALID [2018-11-23 12:10:33,330 INFO L273 TraceCheckUtils]: 60: Hoare triple {6690#(<= (+ main_~v~0 99996) ~SIZE~0)} #t~post2 := ~v~0;~v~0 := 1 + #t~post2;havoc #t~post2; {6691#(<= (+ main_~v~0 99995) ~SIZE~0)} is VALID [2018-11-23 12:10:33,331 INFO L273 TraceCheckUtils]: 61: Hoare triple {6691#(<= (+ main_~v~0 99995) ~SIZE~0)} assume !!(~v~0 < ~SIZE~0);call #t~mem3 := read~int(~#values~0.base, ~#values~0.offset + 4 * ~v~0, 4); {6691#(<= (+ main_~v~0 99995) ~SIZE~0)} is VALID [2018-11-23 12:10:33,331 INFO L256 TraceCheckUtils]: 62: Hoare triple {6691#(<= (+ main_~v~0 99995) ~SIZE~0)} call #t~ret4 := elem_exists(~#set~0.base, ~#set~0.offset, ~n~0, #t~mem3); {6683#true} is VALID [2018-11-23 12:10:33,331 INFO L273 TraceCheckUtils]: 63: Hoare triple {6683#true} ~set.base, ~set.offset := #in~set.base, #in~set.offset;~size := #in~size;~value := #in~value;havoc ~i~0;~i~0 := 0; {6683#true} is VALID [2018-11-23 12:10:33,331 INFO L273 TraceCheckUtils]: 64: Hoare triple {6683#true} assume !!(~i~0 < ~size);call #t~mem1 := read~int(~set.base, ~set.offset + 4 * ~i~0, 4); {6683#true} is VALID [2018-11-23 12:10:33,332 INFO L273 TraceCheckUtils]: 65: Hoare triple {6683#true} assume #t~mem1 == ~value;havoc #t~mem1;#res := 1; {6683#true} is VALID [2018-11-23 12:10:33,332 INFO L273 TraceCheckUtils]: 66: Hoare triple {6683#true} assume true; {6683#true} is VALID [2018-11-23 12:10:33,333 INFO L268 TraceCheckUtils]: 67: Hoare quadruple {6683#true} {6691#(<= (+ main_~v~0 99995) ~SIZE~0)} #127#return; {6691#(<= (+ main_~v~0 99995) ~SIZE~0)} is VALID [2018-11-23 12:10:33,334 INFO L273 TraceCheckUtils]: 68: Hoare triple {6691#(<= (+ main_~v~0 99995) ~SIZE~0)} assume -2147483648 <= #t~ret4 && #t~ret4 <= 2147483647; {6691#(<= (+ main_~v~0 99995) ~SIZE~0)} is VALID [2018-11-23 12:10:33,334 INFO L273 TraceCheckUtils]: 69: Hoare triple {6691#(<= (+ main_~v~0 99995) ~SIZE~0)} assume !(1 != #t~ret4);havoc #t~ret4;havoc #t~mem3; {6691#(<= (+ main_~v~0 99995) ~SIZE~0)} is VALID [2018-11-23 12:10:33,335 INFO L273 TraceCheckUtils]: 70: Hoare triple {6691#(<= (+ main_~v~0 99995) ~SIZE~0)} #t~post2 := ~v~0;~v~0 := 1 + #t~post2;havoc #t~post2; {6692#(<= (+ main_~v~0 99994) ~SIZE~0)} is VALID [2018-11-23 12:10:33,335 INFO L273 TraceCheckUtils]: 71: Hoare triple {6692#(<= (+ main_~v~0 99994) ~SIZE~0)} assume !!(~v~0 < ~SIZE~0);call #t~mem3 := read~int(~#values~0.base, ~#values~0.offset + 4 * ~v~0, 4); {6692#(<= (+ main_~v~0 99994) ~SIZE~0)} is VALID [2018-11-23 12:10:33,336 INFO L256 TraceCheckUtils]: 72: Hoare triple {6692#(<= (+ main_~v~0 99994) ~SIZE~0)} call #t~ret4 := elem_exists(~#set~0.base, ~#set~0.offset, ~n~0, #t~mem3); {6683#true} is VALID [2018-11-23 12:10:33,336 INFO L273 TraceCheckUtils]: 73: Hoare triple {6683#true} ~set.base, ~set.offset := #in~set.base, #in~set.offset;~size := #in~size;~value := #in~value;havoc ~i~0;~i~0 := 0; {6683#true} is VALID [2018-11-23 12:10:33,336 INFO L273 TraceCheckUtils]: 74: Hoare triple {6683#true} assume !!(~i~0 < ~size);call #t~mem1 := read~int(~set.base, ~set.offset + 4 * ~i~0, 4); {6683#true} is VALID [2018-11-23 12:10:33,336 INFO L273 TraceCheckUtils]: 75: Hoare triple {6683#true} assume #t~mem1 == ~value;havoc #t~mem1;#res := 1; {6683#true} is VALID [2018-11-23 12:10:33,336 INFO L273 TraceCheckUtils]: 76: Hoare triple {6683#true} assume true; {6683#true} is VALID [2018-11-23 12:10:33,338 INFO L268 TraceCheckUtils]: 77: Hoare quadruple {6683#true} {6692#(<= (+ main_~v~0 99994) ~SIZE~0)} #127#return; {6692#(<= (+ main_~v~0 99994) ~SIZE~0)} is VALID [2018-11-23 12:10:33,338 INFO L273 TraceCheckUtils]: 78: Hoare triple {6692#(<= (+ main_~v~0 99994) ~SIZE~0)} assume -2147483648 <= #t~ret4 && #t~ret4 <= 2147483647; {6692#(<= (+ main_~v~0 99994) ~SIZE~0)} is VALID [2018-11-23 12:10:33,339 INFO L273 TraceCheckUtils]: 79: Hoare triple {6692#(<= (+ main_~v~0 99994) ~SIZE~0)} assume !(1 != #t~ret4);havoc #t~ret4;havoc #t~mem3; {6692#(<= (+ main_~v~0 99994) ~SIZE~0)} is VALID [2018-11-23 12:10:33,340 INFO L273 TraceCheckUtils]: 80: Hoare triple {6692#(<= (+ main_~v~0 99994) ~SIZE~0)} #t~post2 := ~v~0;~v~0 := 1 + #t~post2;havoc #t~post2; {6693#(<= (+ main_~v~0 99993) ~SIZE~0)} is VALID [2018-11-23 12:10:33,340 INFO L273 TraceCheckUtils]: 81: Hoare triple {6693#(<= (+ main_~v~0 99993) ~SIZE~0)} assume !(~v~0 < ~SIZE~0); {6684#false} is VALID [2018-11-23 12:10:33,340 INFO L273 TraceCheckUtils]: 82: Hoare triple {6684#false} ~i~1 := 0; {6684#false} is VALID [2018-11-23 12:10:33,341 INFO L273 TraceCheckUtils]: 83: Hoare triple {6684#false} assume !!(~i~1 < ~SIZE~0 && 1 != ~found~0);call #t~mem8 := read~int(~#set~0.base, ~#set~0.offset + 4 * ~i~1, 4); {6684#false} is VALID [2018-11-23 12:10:33,341 INFO L273 TraceCheckUtils]: 84: Hoare triple {6684#false} assume !(#t~mem8 == ~element~0);havoc #t~mem8; {6684#false} is VALID [2018-11-23 12:10:33,341 INFO L273 TraceCheckUtils]: 85: Hoare triple {6684#false} #t~post7 := ~i~1;~i~1 := 1 + #t~post7;havoc #t~post7; {6684#false} is VALID [2018-11-23 12:10:33,341 INFO L273 TraceCheckUtils]: 86: Hoare triple {6684#false} assume !!(~i~1 < ~SIZE~0 && 1 != ~found~0);call #t~mem8 := read~int(~#set~0.base, ~#set~0.offset + 4 * ~i~1, 4); {6684#false} is VALID [2018-11-23 12:10:33,341 INFO L273 TraceCheckUtils]: 87: Hoare triple {6684#false} assume #t~mem8 == ~element~0;havoc #t~mem8;~found~0 := 1;~pos~0 := ~i~1; {6684#false} is VALID [2018-11-23 12:10:33,342 INFO L273 TraceCheckUtils]: 88: Hoare triple {6684#false} #t~post7 := ~i~1;~i~1 := 1 + #t~post7;havoc #t~post7; {6684#false} is VALID [2018-11-23 12:10:33,342 INFO L273 TraceCheckUtils]: 89: Hoare triple {6684#false} assume !(~i~1 < ~SIZE~0 && 1 != ~found~0); {6684#false} is VALID [2018-11-23 12:10:33,342 INFO L273 TraceCheckUtils]: 90: Hoare triple {6684#false} assume 1 == ~found~0;~i~1 := ~pos~0; {6684#false} is VALID [2018-11-23 12:10:33,342 INFO L273 TraceCheckUtils]: 91: Hoare triple {6684#false} assume !!(~i~1 < ~SIZE~0 - 1);call #t~mem10 := read~int(~#set~0.base, ~#set~0.offset + 4 * (1 + ~i~1), 4);call write~int(#t~mem10, ~#set~0.base, ~#set~0.offset + 4 * ~i~1, 4);havoc #t~mem10; {6684#false} is VALID [2018-11-23 12:10:33,342 INFO L273 TraceCheckUtils]: 92: Hoare triple {6684#false} #t~post9 := ~i~1;~i~1 := 1 + #t~post9;havoc #t~post9; {6684#false} is VALID [2018-11-23 12:10:33,343 INFO L273 TraceCheckUtils]: 93: Hoare triple {6684#false} assume !(~i~1 < ~SIZE~0 - 1); {6684#false} is VALID [2018-11-23 12:10:33,343 INFO L273 TraceCheckUtils]: 94: Hoare triple {6684#false} assume 1 == ~found~0;~i~1 := 0; {6684#false} is VALID [2018-11-23 12:10:33,343 INFO L273 TraceCheckUtils]: 95: Hoare triple {6684#false} assume !!(~i~1 < ~SIZE~0 - 1);call #t~mem12 := read~int(~#set~0.base, ~#set~0.offset + 4 * ~i~1, 4); {6684#false} is VALID [2018-11-23 12:10:33,343 INFO L256 TraceCheckUtils]: 96: Hoare triple {6684#false} call __VERIFIER_assert((if #t~mem12 != ~element~0 then 1 else 0)); {6684#false} is VALID [2018-11-23 12:10:33,343 INFO L273 TraceCheckUtils]: 97: Hoare triple {6684#false} ~cond := #in~cond; {6684#false} is VALID [2018-11-23 12:10:33,344 INFO L273 TraceCheckUtils]: 98: Hoare triple {6684#false} assume 0 == ~cond; {6684#false} is VALID [2018-11-23 12:10:33,344 INFO L273 TraceCheckUtils]: 99: Hoare triple {6684#false} assume !false; {6684#false} is VALID [2018-11-23 12:10:33,351 INFO L134 CoverageAnalysis]: Checked inductivity of 217 backedges. 0 proven. 112 refuted. 0 times theorem prover too weak. 105 trivial. 0 not checked. [2018-11-23 12:10:33,351 INFO L300 seRefinementStrategy]: The current sequences of interpolants are not accepted, trying to find more. [2018-11-23 12:10:33,351 INFO L223 ckRefinementStrategy]: Switched to mode Z3_FP No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 Starting monitored process 10 with z3 -smt2 -in SMTLIB2_COMPLIANT=true -t:12000 (exit command is (exit), workingDir is null) Waiting until toolchain timeout for monitored process 10 with z3 -smt2 -in SMTLIB2_COMPLIANT=true -t:12000 [2018-11-23 12:10:33,361 INFO L103 rtionOrderModulation]: Keeping assertion order OUTSIDE_LOOP_FIRST1 [2018-11-23 12:10:33,414 INFO L249 tOrderPrioritization]: Assert order OUTSIDE_LOOP_FIRST1 issued 2 check-sat command(s) [2018-11-23 12:10:33,414 INFO L250 tOrderPrioritization]: Conjunction of SSA is unsat [2018-11-23 12:10:33,434 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2018-11-23 12:10:33,436 INFO L273 TraceCheckSpWp]: Computing forward predicates... [2018-11-23 12:10:33,752 INFO L256 TraceCheckUtils]: 0: Hoare triple {6683#true} call ULTIMATE.init(); {6683#true} is VALID [2018-11-23 12:10:33,753 INFO L273 TraceCheckUtils]: 1: Hoare triple {6683#true} #NULL.base, #NULL.offset := 0, 0;#valid := #valid[0 := 0];~SIZE~0 := 100000; {6685#(<= 100000 ~SIZE~0)} is VALID [2018-11-23 12:10:33,753 INFO L273 TraceCheckUtils]: 2: Hoare triple {6685#(<= 100000 ~SIZE~0)} assume true; {6685#(<= 100000 ~SIZE~0)} is VALID [2018-11-23 12:10:33,754 INFO L268 TraceCheckUtils]: 3: Hoare quadruple {6685#(<= 100000 ~SIZE~0)} {6683#true} #123#return; {6685#(<= 100000 ~SIZE~0)} is VALID [2018-11-23 12:10:33,754 INFO L256 TraceCheckUtils]: 4: Hoare triple {6685#(<= 100000 ~SIZE~0)} call #t~ret13 := main(); {6685#(<= 100000 ~SIZE~0)} is VALID [2018-11-23 12:10:33,755 INFO L273 TraceCheckUtils]: 5: Hoare triple {6685#(<= 100000 ~SIZE~0)} havoc ~i~1;havoc ~pos~0;~n~0 := 0;~found~0 := 0;call ~#set~0.base, ~#set~0.offset := #Ultimate.alloc(4 * ~SIZE~0);call ~#values~0.base, ~#values~0.offset := #Ultimate.alloc(4 * ~SIZE~0);havoc ~element~0;havoc ~v~0;~v~0 := 0; {6712#(and (<= main_~v~0 0) (<= 100000 ~SIZE~0))} is VALID [2018-11-23 12:10:33,756 INFO L273 TraceCheckUtils]: 6: Hoare triple {6712#(and (<= main_~v~0 0) (<= 100000 ~SIZE~0))} assume !!(~v~0 < ~SIZE~0);call #t~mem3 := read~int(~#values~0.base, ~#values~0.offset + 4 * ~v~0, 4); {6712#(and (<= main_~v~0 0) (<= 100000 ~SIZE~0))} is VALID [2018-11-23 12:10:33,780 INFO L256 TraceCheckUtils]: 7: Hoare triple {6712#(and (<= main_~v~0 0) (<= 100000 ~SIZE~0))} call #t~ret4 := elem_exists(~#set~0.base, ~#set~0.offset, ~n~0, #t~mem3); {6685#(<= 100000 ~SIZE~0)} is VALID [2018-11-23 12:10:33,794 INFO L273 TraceCheckUtils]: 8: Hoare triple {6685#(<= 100000 ~SIZE~0)} ~set.base, ~set.offset := #in~set.base, #in~set.offset;~size := #in~size;~value := #in~value;havoc ~i~0;~i~0 := 0; {6685#(<= 100000 ~SIZE~0)} is VALID [2018-11-23 12:10:33,803 INFO L273 TraceCheckUtils]: 9: Hoare triple {6685#(<= 100000 ~SIZE~0)} assume !(~i~0 < ~size); {6685#(<= 100000 ~SIZE~0)} is VALID [2018-11-23 12:10:33,818 INFO L273 TraceCheckUtils]: 10: Hoare triple {6685#(<= 100000 ~SIZE~0)} #res := 0; {6685#(<= 100000 ~SIZE~0)} is VALID [2018-11-23 12:10:33,826 INFO L273 TraceCheckUtils]: 11: Hoare triple {6685#(<= 100000 ~SIZE~0)} assume true; {6685#(<= 100000 ~SIZE~0)} is VALID [2018-11-23 12:10:33,842 INFO L268 TraceCheckUtils]: 12: Hoare quadruple {6685#(<= 100000 ~SIZE~0)} {6712#(and (<= main_~v~0 0) (<= 100000 ~SIZE~0))} #127#return; {6712#(and (<= main_~v~0 0) (<= 100000 ~SIZE~0))} is VALID [2018-11-23 12:10:33,851 INFO L273 TraceCheckUtils]: 13: Hoare triple {6712#(and (<= main_~v~0 0) (<= 100000 ~SIZE~0))} assume -2147483648 <= #t~ret4 && #t~ret4 <= 2147483647; {6712#(and (<= main_~v~0 0) (<= 100000 ~SIZE~0))} is VALID [2018-11-23 12:10:33,865 INFO L273 TraceCheckUtils]: 14: Hoare triple {6712#(and (<= main_~v~0 0) (<= 100000 ~SIZE~0))} assume 1 != #t~ret4;havoc #t~ret4;havoc #t~mem3;call #t~mem5 := read~int(~#values~0.base, ~#values~0.offset + 4 * ~v~0, 4); {6712#(and (<= main_~v~0 0) (<= 100000 ~SIZE~0))} is VALID [2018-11-23 12:10:33,880 INFO L256 TraceCheckUtils]: 15: Hoare triple {6712#(and (<= main_~v~0 0) (<= 100000 ~SIZE~0))} call #t~ret6 := insert(~#set~0.base, ~#set~0.offset, ~n~0, #t~mem5); {6685#(<= 100000 ~SIZE~0)} is VALID [2018-11-23 12:10:33,889 INFO L273 TraceCheckUtils]: 16: Hoare triple {6685#(<= 100000 ~SIZE~0)} ~set.base, ~set.offset := #in~set.base, #in~set.offset;~size := #in~size;~value := #in~value;call write~int(~value, ~set.base, ~set.offset + 4 * ~size, 4);#res := 1 + ~size; {6685#(<= 100000 ~SIZE~0)} is VALID [2018-11-23 12:10:33,900 INFO L273 TraceCheckUtils]: 17: Hoare triple {6685#(<= 100000 ~SIZE~0)} assume true; {6685#(<= 100000 ~SIZE~0)} is VALID [2018-11-23 12:10:33,901 INFO L268 TraceCheckUtils]: 18: Hoare quadruple {6685#(<= 100000 ~SIZE~0)} {6712#(and (<= main_~v~0 0) (<= 100000 ~SIZE~0))} #129#return; {6712#(and (<= main_~v~0 0) (<= 100000 ~SIZE~0))} is VALID [2018-11-23 12:10:33,903 INFO L273 TraceCheckUtils]: 19: Hoare triple {6712#(and (<= main_~v~0 0) (<= 100000 ~SIZE~0))} assume -2147483648 <= #t~ret6 && #t~ret6 <= 2147483647;~n~0 := #t~ret6;havoc #t~mem5;havoc #t~ret6; {6712#(and (<= main_~v~0 0) (<= 100000 ~SIZE~0))} is VALID [2018-11-23 12:10:33,903 INFO L273 TraceCheckUtils]: 20: Hoare triple {6712#(and (<= main_~v~0 0) (<= 100000 ~SIZE~0))} #t~post2 := ~v~0;~v~0 := 1 + #t~post2;havoc #t~post2; {6758#(and (<= main_~v~0 1) (<= 100000 ~SIZE~0))} is VALID [2018-11-23 12:10:33,906 INFO L273 TraceCheckUtils]: 21: Hoare triple {6758#(and (<= main_~v~0 1) (<= 100000 ~SIZE~0))} assume !!(~v~0 < ~SIZE~0);call #t~mem3 := read~int(~#values~0.base, ~#values~0.offset + 4 * ~v~0, 4); {6758#(and (<= main_~v~0 1) (<= 100000 ~SIZE~0))} is VALID [2018-11-23 12:10:33,907 INFO L256 TraceCheckUtils]: 22: Hoare triple {6758#(and (<= main_~v~0 1) (<= 100000 ~SIZE~0))} call #t~ret4 := elem_exists(~#set~0.base, ~#set~0.offset, ~n~0, #t~mem3); {6685#(<= 100000 ~SIZE~0)} is VALID [2018-11-23 12:10:33,909 INFO L273 TraceCheckUtils]: 23: Hoare triple {6685#(<= 100000 ~SIZE~0)} ~set.base, ~set.offset := #in~set.base, #in~set.offset;~size := #in~size;~value := #in~value;havoc ~i~0;~i~0 := 0; {6685#(<= 100000 ~SIZE~0)} is VALID [2018-11-23 12:10:33,909 INFO L273 TraceCheckUtils]: 24: Hoare triple {6685#(<= 100000 ~SIZE~0)} assume !!(~i~0 < ~size);call #t~mem1 := read~int(~set.base, ~set.offset + 4 * ~i~0, 4); {6685#(<= 100000 ~SIZE~0)} is VALID [2018-11-23 12:10:33,910 INFO L273 TraceCheckUtils]: 25: Hoare triple {6685#(<= 100000 ~SIZE~0)} assume #t~mem1 == ~value;havoc #t~mem1;#res := 1; {6685#(<= 100000 ~SIZE~0)} is VALID [2018-11-23 12:10:33,910 INFO L273 TraceCheckUtils]: 26: Hoare triple {6685#(<= 100000 ~SIZE~0)} assume true; {6685#(<= 100000 ~SIZE~0)} is VALID [2018-11-23 12:10:33,911 INFO L268 TraceCheckUtils]: 27: Hoare quadruple {6685#(<= 100000 ~SIZE~0)} {6758#(and (<= main_~v~0 1) (<= 100000 ~SIZE~0))} #127#return; {6758#(and (<= main_~v~0 1) (<= 100000 ~SIZE~0))} is VALID [2018-11-23 12:10:33,912 INFO L273 TraceCheckUtils]: 28: Hoare triple {6758#(and (<= main_~v~0 1) (<= 100000 ~SIZE~0))} assume -2147483648 <= #t~ret4 && #t~ret4 <= 2147483647; {6758#(and (<= main_~v~0 1) (<= 100000 ~SIZE~0))} is VALID [2018-11-23 12:10:33,912 INFO L273 TraceCheckUtils]: 29: Hoare triple {6758#(and (<= main_~v~0 1) (<= 100000 ~SIZE~0))} assume !(1 != #t~ret4);havoc #t~ret4;havoc #t~mem3; {6758#(and (<= main_~v~0 1) (<= 100000 ~SIZE~0))} is VALID [2018-11-23 12:10:33,913 INFO L273 TraceCheckUtils]: 30: Hoare triple {6758#(and (<= main_~v~0 1) (<= 100000 ~SIZE~0))} #t~post2 := ~v~0;~v~0 := 1 + #t~post2;havoc #t~post2; {6789#(and (<= main_~v~0 2) (<= 100000 ~SIZE~0))} is VALID [2018-11-23 12:10:33,913 INFO L273 TraceCheckUtils]: 31: Hoare triple {6789#(and (<= main_~v~0 2) (<= 100000 ~SIZE~0))} assume !!(~v~0 < ~SIZE~0);call #t~mem3 := read~int(~#values~0.base, ~#values~0.offset + 4 * ~v~0, 4); {6789#(and (<= main_~v~0 2) (<= 100000 ~SIZE~0))} is VALID [2018-11-23 12:10:33,914 INFO L256 TraceCheckUtils]: 32: Hoare triple {6789#(and (<= main_~v~0 2) (<= 100000 ~SIZE~0))} call #t~ret4 := elem_exists(~#set~0.base, ~#set~0.offset, ~n~0, #t~mem3); {6685#(<= 100000 ~SIZE~0)} is VALID [2018-11-23 12:10:33,915 INFO L273 TraceCheckUtils]: 33: Hoare triple {6685#(<= 100000 ~SIZE~0)} ~set.base, ~set.offset := #in~set.base, #in~set.offset;~size := #in~size;~value := #in~value;havoc ~i~0;~i~0 := 0; {6685#(<= 100000 ~SIZE~0)} is VALID [2018-11-23 12:10:33,915 INFO L273 TraceCheckUtils]: 34: Hoare triple {6685#(<= 100000 ~SIZE~0)} assume !!(~i~0 < ~size);call #t~mem1 := read~int(~set.base, ~set.offset + 4 * ~i~0, 4); {6685#(<= 100000 ~SIZE~0)} is VALID [2018-11-23 12:10:33,916 INFO L273 TraceCheckUtils]: 35: Hoare triple {6685#(<= 100000 ~SIZE~0)} assume #t~mem1 == ~value;havoc #t~mem1;#res := 1; {6685#(<= 100000 ~SIZE~0)} is VALID [2018-11-23 12:10:33,916 INFO L273 TraceCheckUtils]: 36: Hoare triple {6685#(<= 100000 ~SIZE~0)} assume true; {6685#(<= 100000 ~SIZE~0)} is VALID [2018-11-23 12:10:33,918 INFO L268 TraceCheckUtils]: 37: Hoare quadruple {6685#(<= 100000 ~SIZE~0)} {6789#(and (<= main_~v~0 2) (<= 100000 ~SIZE~0))} #127#return; {6789#(and (<= main_~v~0 2) (<= 100000 ~SIZE~0))} is VALID [2018-11-23 12:10:33,918 INFO L273 TraceCheckUtils]: 38: Hoare triple {6789#(and (<= main_~v~0 2) (<= 100000 ~SIZE~0))} assume -2147483648 <= #t~ret4 && #t~ret4 <= 2147483647; {6789#(and (<= main_~v~0 2) (<= 100000 ~SIZE~0))} is VALID [2018-11-23 12:10:33,919 INFO L273 TraceCheckUtils]: 39: Hoare triple {6789#(and (<= main_~v~0 2) (<= 100000 ~SIZE~0))} assume !(1 != #t~ret4);havoc #t~ret4;havoc #t~mem3; {6789#(and (<= main_~v~0 2) (<= 100000 ~SIZE~0))} is VALID [2018-11-23 12:10:33,920 INFO L273 TraceCheckUtils]: 40: Hoare triple {6789#(and (<= main_~v~0 2) (<= 100000 ~SIZE~0))} #t~post2 := ~v~0;~v~0 := 1 + #t~post2;havoc #t~post2; {6820#(and (<= main_~v~0 3) (<= 100000 ~SIZE~0))} is VALID [2018-11-23 12:10:33,920 INFO L273 TraceCheckUtils]: 41: Hoare triple {6820#(and (<= main_~v~0 3) (<= 100000 ~SIZE~0))} assume !!(~v~0 < ~SIZE~0);call #t~mem3 := read~int(~#values~0.base, ~#values~0.offset + 4 * ~v~0, 4); {6820#(and (<= main_~v~0 3) (<= 100000 ~SIZE~0))} is VALID [2018-11-23 12:10:33,922 INFO L256 TraceCheckUtils]: 42: Hoare triple {6820#(and (<= main_~v~0 3) (<= 100000 ~SIZE~0))} call #t~ret4 := elem_exists(~#set~0.base, ~#set~0.offset, ~n~0, #t~mem3); {6685#(<= 100000 ~SIZE~0)} is VALID [2018-11-23 12:10:33,922 INFO L273 TraceCheckUtils]: 43: Hoare triple {6685#(<= 100000 ~SIZE~0)} ~set.base, ~set.offset := #in~set.base, #in~set.offset;~size := #in~size;~value := #in~value;havoc ~i~0;~i~0 := 0; {6685#(<= 100000 ~SIZE~0)} is VALID [2018-11-23 12:10:33,923 INFO L273 TraceCheckUtils]: 44: Hoare triple {6685#(<= 100000 ~SIZE~0)} assume !!(~i~0 < ~size);call #t~mem1 := read~int(~set.base, ~set.offset + 4 * ~i~0, 4); {6685#(<= 100000 ~SIZE~0)} is VALID [2018-11-23 12:10:33,923 INFO L273 TraceCheckUtils]: 45: Hoare triple {6685#(<= 100000 ~SIZE~0)} assume #t~mem1 == ~value;havoc #t~mem1;#res := 1; {6685#(<= 100000 ~SIZE~0)} is VALID [2018-11-23 12:10:33,924 INFO L273 TraceCheckUtils]: 46: Hoare triple {6685#(<= 100000 ~SIZE~0)} assume true; {6685#(<= 100000 ~SIZE~0)} is VALID [2018-11-23 12:10:33,925 INFO L268 TraceCheckUtils]: 47: Hoare quadruple {6685#(<= 100000 ~SIZE~0)} {6820#(and (<= main_~v~0 3) (<= 100000 ~SIZE~0))} #127#return; {6820#(and (<= main_~v~0 3) (<= 100000 ~SIZE~0))} is VALID [2018-11-23 12:10:33,926 INFO L273 TraceCheckUtils]: 48: Hoare triple {6820#(and (<= main_~v~0 3) (<= 100000 ~SIZE~0))} assume -2147483648 <= #t~ret4 && #t~ret4 <= 2147483647; {6820#(and (<= main_~v~0 3) (<= 100000 ~SIZE~0))} is VALID [2018-11-23 12:10:33,927 INFO L273 TraceCheckUtils]: 49: Hoare triple {6820#(and (<= main_~v~0 3) (<= 100000 ~SIZE~0))} assume !(1 != #t~ret4);havoc #t~ret4;havoc #t~mem3; {6820#(and (<= main_~v~0 3) (<= 100000 ~SIZE~0))} is VALID [2018-11-23 12:10:33,927 INFO L273 TraceCheckUtils]: 50: Hoare triple {6820#(and (<= main_~v~0 3) (<= 100000 ~SIZE~0))} #t~post2 := ~v~0;~v~0 := 1 + #t~post2;havoc #t~post2; {6851#(and (<= main_~v~0 4) (<= 100000 ~SIZE~0))} is VALID [2018-11-23 12:10:33,928 INFO L273 TraceCheckUtils]: 51: Hoare triple {6851#(and (<= main_~v~0 4) (<= 100000 ~SIZE~0))} assume !!(~v~0 < ~SIZE~0);call #t~mem3 := read~int(~#values~0.base, ~#values~0.offset + 4 * ~v~0, 4); {6851#(and (<= main_~v~0 4) (<= 100000 ~SIZE~0))} is VALID [2018-11-23 12:10:33,930 INFO L256 TraceCheckUtils]: 52: Hoare triple {6851#(and (<= main_~v~0 4) (<= 100000 ~SIZE~0))} call #t~ret4 := elem_exists(~#set~0.base, ~#set~0.offset, ~n~0, #t~mem3); {6685#(<= 100000 ~SIZE~0)} is VALID [2018-11-23 12:10:33,930 INFO L273 TraceCheckUtils]: 53: Hoare triple {6685#(<= 100000 ~SIZE~0)} ~set.base, ~set.offset := #in~set.base, #in~set.offset;~size := #in~size;~value := #in~value;havoc ~i~0;~i~0 := 0; {6685#(<= 100000 ~SIZE~0)} is VALID [2018-11-23 12:10:33,931 INFO L273 TraceCheckUtils]: 54: Hoare triple {6685#(<= 100000 ~SIZE~0)} assume !!(~i~0 < ~size);call #t~mem1 := read~int(~set.base, ~set.offset + 4 * ~i~0, 4); {6685#(<= 100000 ~SIZE~0)} is VALID [2018-11-23 12:10:33,931 INFO L273 TraceCheckUtils]: 55: Hoare triple {6685#(<= 100000 ~SIZE~0)} assume #t~mem1 == ~value;havoc #t~mem1;#res := 1; {6685#(<= 100000 ~SIZE~0)} is VALID [2018-11-23 12:10:33,932 INFO L273 TraceCheckUtils]: 56: Hoare triple {6685#(<= 100000 ~SIZE~0)} assume true; {6685#(<= 100000 ~SIZE~0)} is VALID [2018-11-23 12:10:33,933 INFO L268 TraceCheckUtils]: 57: Hoare quadruple {6685#(<= 100000 ~SIZE~0)} {6851#(and (<= main_~v~0 4) (<= 100000 ~SIZE~0))} #127#return; {6851#(and (<= main_~v~0 4) (<= 100000 ~SIZE~0))} is VALID [2018-11-23 12:10:33,934 INFO L273 TraceCheckUtils]: 58: Hoare triple {6851#(and (<= main_~v~0 4) (<= 100000 ~SIZE~0))} assume -2147483648 <= #t~ret4 && #t~ret4 <= 2147483647; {6851#(and (<= main_~v~0 4) (<= 100000 ~SIZE~0))} is VALID [2018-11-23 12:10:33,934 INFO L273 TraceCheckUtils]: 59: Hoare triple {6851#(and (<= main_~v~0 4) (<= 100000 ~SIZE~0))} assume !(1 != #t~ret4);havoc #t~ret4;havoc #t~mem3; {6851#(and (<= main_~v~0 4) (<= 100000 ~SIZE~0))} is VALID [2018-11-23 12:10:33,935 INFO L273 TraceCheckUtils]: 60: Hoare triple {6851#(and (<= main_~v~0 4) (<= 100000 ~SIZE~0))} #t~post2 := ~v~0;~v~0 := 1 + #t~post2;havoc #t~post2; {6882#(and (<= main_~v~0 5) (<= 100000 ~SIZE~0))} is VALID [2018-11-23 12:10:33,936 INFO L273 TraceCheckUtils]: 61: Hoare triple {6882#(and (<= main_~v~0 5) (<= 100000 ~SIZE~0))} assume !!(~v~0 < ~SIZE~0);call #t~mem3 := read~int(~#values~0.base, ~#values~0.offset + 4 * ~v~0, 4); {6882#(and (<= main_~v~0 5) (<= 100000 ~SIZE~0))} is VALID [2018-11-23 12:10:33,937 INFO L256 TraceCheckUtils]: 62: Hoare triple {6882#(and (<= main_~v~0 5) (<= 100000 ~SIZE~0))} call #t~ret4 := elem_exists(~#set~0.base, ~#set~0.offset, ~n~0, #t~mem3); {6685#(<= 100000 ~SIZE~0)} is VALID [2018-11-23 12:10:33,938 INFO L273 TraceCheckUtils]: 63: Hoare triple {6685#(<= 100000 ~SIZE~0)} ~set.base, ~set.offset := #in~set.base, #in~set.offset;~size := #in~size;~value := #in~value;havoc ~i~0;~i~0 := 0; {6685#(<= 100000 ~SIZE~0)} is VALID [2018-11-23 12:10:33,938 INFO L273 TraceCheckUtils]: 64: Hoare triple {6685#(<= 100000 ~SIZE~0)} assume !!(~i~0 < ~size);call #t~mem1 := read~int(~set.base, ~set.offset + 4 * ~i~0, 4); {6685#(<= 100000 ~SIZE~0)} is VALID [2018-11-23 12:10:33,939 INFO L273 TraceCheckUtils]: 65: Hoare triple {6685#(<= 100000 ~SIZE~0)} assume #t~mem1 == ~value;havoc #t~mem1;#res := 1; {6685#(<= 100000 ~SIZE~0)} is VALID [2018-11-23 12:10:33,939 INFO L273 TraceCheckUtils]: 66: Hoare triple {6685#(<= 100000 ~SIZE~0)} assume true; {6685#(<= 100000 ~SIZE~0)} is VALID [2018-11-23 12:10:33,941 INFO L268 TraceCheckUtils]: 67: Hoare quadruple {6685#(<= 100000 ~SIZE~0)} {6882#(and (<= main_~v~0 5) (<= 100000 ~SIZE~0))} #127#return; {6882#(and (<= main_~v~0 5) (<= 100000 ~SIZE~0))} is VALID [2018-11-23 12:10:33,941 INFO L273 TraceCheckUtils]: 68: Hoare triple {6882#(and (<= main_~v~0 5) (<= 100000 ~SIZE~0))} assume -2147483648 <= #t~ret4 && #t~ret4 <= 2147483647; {6882#(and (<= main_~v~0 5) (<= 100000 ~SIZE~0))} is VALID [2018-11-23 12:10:33,942 INFO L273 TraceCheckUtils]: 69: Hoare triple {6882#(and (<= main_~v~0 5) (<= 100000 ~SIZE~0))} assume !(1 != #t~ret4);havoc #t~ret4;havoc #t~mem3; {6882#(and (<= main_~v~0 5) (<= 100000 ~SIZE~0))} is VALID [2018-11-23 12:10:33,943 INFO L273 TraceCheckUtils]: 70: Hoare triple {6882#(and (<= main_~v~0 5) (<= 100000 ~SIZE~0))} #t~post2 := ~v~0;~v~0 := 1 + #t~post2;havoc #t~post2; {6913#(and (<= main_~v~0 6) (<= 100000 ~SIZE~0))} is VALID [2018-11-23 12:10:33,944 INFO L273 TraceCheckUtils]: 71: Hoare triple {6913#(and (<= main_~v~0 6) (<= 100000 ~SIZE~0))} assume !!(~v~0 < ~SIZE~0);call #t~mem3 := read~int(~#values~0.base, ~#values~0.offset + 4 * ~v~0, 4); {6913#(and (<= main_~v~0 6) (<= 100000 ~SIZE~0))} is VALID [2018-11-23 12:10:33,945 INFO L256 TraceCheckUtils]: 72: Hoare triple {6913#(and (<= main_~v~0 6) (<= 100000 ~SIZE~0))} call #t~ret4 := elem_exists(~#set~0.base, ~#set~0.offset, ~n~0, #t~mem3); {6685#(<= 100000 ~SIZE~0)} is VALID [2018-11-23 12:10:33,946 INFO L273 TraceCheckUtils]: 73: Hoare triple {6685#(<= 100000 ~SIZE~0)} ~set.base, ~set.offset := #in~set.base, #in~set.offset;~size := #in~size;~value := #in~value;havoc ~i~0;~i~0 := 0; {6685#(<= 100000 ~SIZE~0)} is VALID [2018-11-23 12:10:33,946 INFO L273 TraceCheckUtils]: 74: Hoare triple {6685#(<= 100000 ~SIZE~0)} assume !!(~i~0 < ~size);call #t~mem1 := read~int(~set.base, ~set.offset + 4 * ~i~0, 4); {6685#(<= 100000 ~SIZE~0)} is VALID [2018-11-23 12:10:33,947 INFO L273 TraceCheckUtils]: 75: Hoare triple {6685#(<= 100000 ~SIZE~0)} assume #t~mem1 == ~value;havoc #t~mem1;#res := 1; {6685#(<= 100000 ~SIZE~0)} is VALID [2018-11-23 12:10:33,947 INFO L273 TraceCheckUtils]: 76: Hoare triple {6685#(<= 100000 ~SIZE~0)} assume true; {6685#(<= 100000 ~SIZE~0)} is VALID [2018-11-23 12:10:33,948 INFO L268 TraceCheckUtils]: 77: Hoare quadruple {6685#(<= 100000 ~SIZE~0)} {6913#(and (<= main_~v~0 6) (<= 100000 ~SIZE~0))} #127#return; {6913#(and (<= main_~v~0 6) (<= 100000 ~SIZE~0))} is VALID [2018-11-23 12:10:33,949 INFO L273 TraceCheckUtils]: 78: Hoare triple {6913#(and (<= main_~v~0 6) (<= 100000 ~SIZE~0))} assume -2147483648 <= #t~ret4 && #t~ret4 <= 2147483647; {6913#(and (<= main_~v~0 6) (<= 100000 ~SIZE~0))} is VALID [2018-11-23 12:10:33,950 INFO L273 TraceCheckUtils]: 79: Hoare triple {6913#(and (<= main_~v~0 6) (<= 100000 ~SIZE~0))} assume !(1 != #t~ret4);havoc #t~ret4;havoc #t~mem3; {6913#(and (<= main_~v~0 6) (<= 100000 ~SIZE~0))} is VALID [2018-11-23 12:10:33,950 INFO L273 TraceCheckUtils]: 80: Hoare triple {6913#(and (<= main_~v~0 6) (<= 100000 ~SIZE~0))} #t~post2 := ~v~0;~v~0 := 1 + #t~post2;havoc #t~post2; {6944#(and (<= main_~v~0 7) (<= 100000 ~SIZE~0))} is VALID [2018-11-23 12:10:33,951 INFO L273 TraceCheckUtils]: 81: Hoare triple {6944#(and (<= main_~v~0 7) (<= 100000 ~SIZE~0))} assume !(~v~0 < ~SIZE~0); {6684#false} is VALID [2018-11-23 12:10:33,951 INFO L273 TraceCheckUtils]: 82: Hoare triple {6684#false} ~i~1 := 0; {6684#false} is VALID [2018-11-23 12:10:33,952 INFO L273 TraceCheckUtils]: 83: Hoare triple {6684#false} assume !!(~i~1 < ~SIZE~0 && 1 != ~found~0);call #t~mem8 := read~int(~#set~0.base, ~#set~0.offset + 4 * ~i~1, 4); {6684#false} is VALID [2018-11-23 12:10:33,952 INFO L273 TraceCheckUtils]: 84: Hoare triple {6684#false} assume !(#t~mem8 == ~element~0);havoc #t~mem8; {6684#false} is VALID [2018-11-23 12:10:33,952 INFO L273 TraceCheckUtils]: 85: Hoare triple {6684#false} #t~post7 := ~i~1;~i~1 := 1 + #t~post7;havoc #t~post7; {6684#false} is VALID [2018-11-23 12:10:33,952 INFO L273 TraceCheckUtils]: 86: Hoare triple {6684#false} assume !!(~i~1 < ~SIZE~0 && 1 != ~found~0);call #t~mem8 := read~int(~#set~0.base, ~#set~0.offset + 4 * ~i~1, 4); {6684#false} is VALID [2018-11-23 12:10:33,952 INFO L273 TraceCheckUtils]: 87: Hoare triple {6684#false} assume #t~mem8 == ~element~0;havoc #t~mem8;~found~0 := 1;~pos~0 := ~i~1; {6684#false} is VALID [2018-11-23 12:10:33,953 INFO L273 TraceCheckUtils]: 88: Hoare triple {6684#false} #t~post7 := ~i~1;~i~1 := 1 + #t~post7;havoc #t~post7; {6684#false} is VALID [2018-11-23 12:10:33,953 INFO L273 TraceCheckUtils]: 89: Hoare triple {6684#false} assume !(~i~1 < ~SIZE~0 && 1 != ~found~0); {6684#false} is VALID [2018-11-23 12:10:33,954 INFO L273 TraceCheckUtils]: 90: Hoare triple {6684#false} assume 1 == ~found~0;~i~1 := ~pos~0; {6684#false} is VALID [2018-11-23 12:10:33,954 INFO L273 TraceCheckUtils]: 91: Hoare triple {6684#false} assume !!(~i~1 < ~SIZE~0 - 1);call #t~mem10 := read~int(~#set~0.base, ~#set~0.offset + 4 * (1 + ~i~1), 4);call write~int(#t~mem10, ~#set~0.base, ~#set~0.offset + 4 * ~i~1, 4);havoc #t~mem10; {6684#false} is VALID [2018-11-23 12:10:33,954 INFO L273 TraceCheckUtils]: 92: Hoare triple {6684#false} #t~post9 := ~i~1;~i~1 := 1 + #t~post9;havoc #t~post9; {6684#false} is VALID [2018-11-23 12:10:33,954 INFO L273 TraceCheckUtils]: 93: Hoare triple {6684#false} assume !(~i~1 < ~SIZE~0 - 1); {6684#false} is VALID [2018-11-23 12:10:33,954 INFO L273 TraceCheckUtils]: 94: Hoare triple {6684#false} assume 1 == ~found~0;~i~1 := 0; {6684#false} is VALID [2018-11-23 12:10:33,954 INFO L273 TraceCheckUtils]: 95: Hoare triple {6684#false} assume !!(~i~1 < ~SIZE~0 - 1);call #t~mem12 := read~int(~#set~0.base, ~#set~0.offset + 4 * ~i~1, 4); {6684#false} is VALID [2018-11-23 12:10:33,955 INFO L256 TraceCheckUtils]: 96: Hoare triple {6684#false} call __VERIFIER_assert((if #t~mem12 != ~element~0 then 1 else 0)); {6684#false} is VALID [2018-11-23 12:10:33,955 INFO L273 TraceCheckUtils]: 97: Hoare triple {6684#false} ~cond := #in~cond; {6684#false} is VALID [2018-11-23 12:10:33,955 INFO L273 TraceCheckUtils]: 98: Hoare triple {6684#false} assume 0 == ~cond; {6684#false} is VALID [2018-11-23 12:10:33,955 INFO L273 TraceCheckUtils]: 99: Hoare triple {6684#false} assume !false; {6684#false} is VALID [2018-11-23 12:10:33,965 INFO L134 CoverageAnalysis]: Checked inductivity of 217 backedges. 0 proven. 112 refuted. 0 times theorem prover too weak. 105 trivial. 0 not checked. [2018-11-23 12:10:33,984 INFO L312 seRefinementStrategy]: Constructing automaton from 0 perfect and 2 imperfect interpolant sequences. [2018-11-23 12:10:33,984 INFO L327 seRefinementStrategy]: Number of different interpolants: perfect sequences [] imperfect sequences [11, 11] total 19 [2018-11-23 12:10:33,985 INFO L78 Accepts]: Start accepts. Automaton has 19 states. Word has length 100 [2018-11-23 12:10:33,985 INFO L84 Accepts]: Finished accepts. word is accepted. [2018-11-23 12:10:33,985 INFO L86 InductivityCheck]: Starting indutivity check of a Floyd-Hoare automaton with 19 states. [2018-11-23 12:10:34,175 INFO L119 InductivityCheck]: Floyd-Hoare automaton has 131 edges. 131 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2018-11-23 12:10:34,175 INFO L459 AbstractCegarLoop]: Interpolant automaton has 19 states [2018-11-23 12:10:34,176 INFO L142 InterpolantAutomaton]: Constructing interpolant automaton starting with 19 interpolants. [2018-11-23 12:10:34,176 INFO L144 InterpolantAutomaton]: CoverageRelationStatistics Valid=143, Invalid=199, Unknown=0, NotChecked=0, Total=342 [2018-11-23 12:10:34,176 INFO L87 Difference]: Start difference. First operand 120 states and 156 transitions. Second operand 19 states. [2018-11-23 12:10:35,779 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2018-11-23 12:10:35,779 INFO L93 Difference]: Finished difference Result 173 states and 224 transitions. [2018-11-23 12:10:35,779 INFO L142 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 11 states. [2018-11-23 12:10:35,780 INFO L78 Accepts]: Start accepts. Automaton has 19 states. Word has length 100 [2018-11-23 12:10:35,780 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2018-11-23 12:10:35,780 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 19 states. [2018-11-23 12:10:35,782 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 11 states to 11 states and 149 transitions. [2018-11-23 12:10:35,783 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 19 states. [2018-11-23 12:10:35,785 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 11 states to 11 states and 149 transitions. [2018-11-23 12:10:35,785 INFO L86 InductivityCheck]: Starting indutivity check of a Floyd-Hoare automaton with 11 states and 149 transitions. [2018-11-23 12:10:36,433 INFO L119 InductivityCheck]: Floyd-Hoare automaton has 149 edges. 149 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2018-11-23 12:10:36,436 INFO L225 Difference]: With dead ends: 173 [2018-11-23 12:10:36,436 INFO L226 Difference]: Without dead ends: 137 [2018-11-23 12:10:36,437 INFO L631 BasicCegarLoop]: 0 DeclaredPredicates, 110 GetRequests, 93 SyntacticMatches, 0 SemanticMatches, 17 ConstructedPredicates, 0 IntricatePredicates, 0 DeprecatedPredicates, 109 ImplicationChecksByTransitivity, 0.5s TimeCoverageRelationStatistics Valid=143, Invalid=199, Unknown=0, NotChecked=0, Total=342 [2018-11-23 12:10:36,437 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 137 states. [2018-11-23 12:10:36,600 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 137 to 129. [2018-11-23 12:10:36,601 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2018-11-23 12:10:36,601 INFO L82 GeneralOperation]: Start isEquivalent. First operand 137 states. Second operand 129 states. [2018-11-23 12:10:36,601 INFO L74 IsIncluded]: Start isIncluded. First operand 137 states. Second operand 129 states. [2018-11-23 12:10:36,601 INFO L87 Difference]: Start difference. First operand 137 states. Second operand 129 states. [2018-11-23 12:10:36,606 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2018-11-23 12:10:36,607 INFO L93 Difference]: Finished difference Result 137 states and 183 transitions. [2018-11-23 12:10:36,607 INFO L276 IsEmpty]: Start isEmpty. Operand 137 states and 183 transitions. [2018-11-23 12:10:36,607 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2018-11-23 12:10:36,608 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2018-11-23 12:10:36,608 INFO L74 IsIncluded]: Start isIncluded. First operand 129 states. Second operand 137 states. [2018-11-23 12:10:36,608 INFO L87 Difference]: Start difference. First operand 129 states. Second operand 137 states. [2018-11-23 12:10:36,613 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2018-11-23 12:10:36,613 INFO L93 Difference]: Finished difference Result 137 states and 183 transitions. [2018-11-23 12:10:36,613 INFO L276 IsEmpty]: Start isEmpty. Operand 137 states and 183 transitions. [2018-11-23 12:10:36,614 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2018-11-23 12:10:36,614 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2018-11-23 12:10:36,614 INFO L88 GeneralOperation]: Finished isEquivalent. [2018-11-23 12:10:36,614 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2018-11-23 12:10:36,614 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 129 states. [2018-11-23 12:10:36,618 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 129 states to 129 states and 170 transitions. [2018-11-23 12:10:36,619 INFO L78 Accepts]: Start accepts. Automaton has 129 states and 170 transitions. Word has length 100 [2018-11-23 12:10:36,619 INFO L84 Accepts]: Finished accepts. word is rejected. [2018-11-23 12:10:36,619 INFO L480 AbstractCegarLoop]: Abstraction has 129 states and 170 transitions. [2018-11-23 12:10:36,619 INFO L481 AbstractCegarLoop]: Interpolant automaton has 19 states. [2018-11-23 12:10:36,619 INFO L276 IsEmpty]: Start isEmpty. Operand 129 states and 170 transitions. [2018-11-23 12:10:36,621 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 111 [2018-11-23 12:10:36,621 INFO L394 BasicCegarLoop]: Found error trace [2018-11-23 12:10:36,621 INFO L402 BasicCegarLoop]: trace histogram [8, 8, 8, 8, 8, 8, 8, 7, 7, 7, 2, 2, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1] [2018-11-23 12:10:36,621 INFO L423 AbstractCegarLoop]: === Iteration 14 === [__VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION]=== [2018-11-23 12:10:36,621 INFO L141 PredicateUnifier]: Initialized classic predicate unifier [2018-11-23 12:10:36,622 INFO L82 PathProgramCache]: Analyzing trace with hash 1853327959, now seen corresponding path program 3 times [2018-11-23 12:10:36,622 INFO L223 ckRefinementStrategy]: Switched to mode SMTINTERPOL_TREE_INTERPOLANTS [2018-11-23 12:10:36,622 INFO L69 tionRefinementEngine]: Using refinement strategy CamelRefinementStrategy [2018-11-23 12:10:36,623 INFO L119 rtionOrderModulation]: Craig_TreeInterpolation forces the order to NOT_INCREMENTALLY [2018-11-23 12:10:36,623 INFO L101 rtionOrderModulation]: Changing assertion order to NOT_INCREMENTALLY [2018-11-23 12:10:36,623 INFO L119 rtionOrderModulation]: Craig_TreeInterpolation forces the order to NOT_INCREMENTALLY [2018-11-23 12:10:36,643 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2018-11-23 12:10:37,606 INFO L256 TraceCheckUtils]: 0: Hoare triple {7684#true} call ULTIMATE.init(); {7684#true} is VALID [2018-11-23 12:10:37,607 INFO L273 TraceCheckUtils]: 1: Hoare triple {7684#true} #NULL.base, #NULL.offset := 0, 0;#valid := #valid[0 := 0];~SIZE~0 := 100000; {7686#(<= 100000 ~SIZE~0)} is VALID [2018-11-23 12:10:37,608 INFO L273 TraceCheckUtils]: 2: Hoare triple {7686#(<= 100000 ~SIZE~0)} assume true; {7686#(<= 100000 ~SIZE~0)} is VALID [2018-11-23 12:10:37,608 INFO L268 TraceCheckUtils]: 3: Hoare quadruple {7686#(<= 100000 ~SIZE~0)} {7684#true} #123#return; {7686#(<= 100000 ~SIZE~0)} is VALID [2018-11-23 12:10:37,609 INFO L256 TraceCheckUtils]: 4: Hoare triple {7686#(<= 100000 ~SIZE~0)} call #t~ret13 := main(); {7686#(<= 100000 ~SIZE~0)} is VALID [2018-11-23 12:10:37,610 INFO L273 TraceCheckUtils]: 5: Hoare triple {7686#(<= 100000 ~SIZE~0)} havoc ~i~1;havoc ~pos~0;~n~0 := 0;~found~0 := 0;call ~#set~0.base, ~#set~0.offset := #Ultimate.alloc(4 * ~SIZE~0);call ~#values~0.base, ~#values~0.offset := #Ultimate.alloc(4 * ~SIZE~0);havoc ~element~0;havoc ~v~0;~v~0 := 0; {7687#(and (= main_~v~0 0) (<= 100000 ~SIZE~0))} is VALID [2018-11-23 12:10:37,611 INFO L273 TraceCheckUtils]: 6: Hoare triple {7687#(and (= main_~v~0 0) (<= 100000 ~SIZE~0))} assume !!(~v~0 < ~SIZE~0);call #t~mem3 := read~int(~#values~0.base, ~#values~0.offset + 4 * ~v~0, 4); {7687#(and (= main_~v~0 0) (<= 100000 ~SIZE~0))} is VALID [2018-11-23 12:10:37,611 INFO L256 TraceCheckUtils]: 7: Hoare triple {7687#(and (= main_~v~0 0) (<= 100000 ~SIZE~0))} call #t~ret4 := elem_exists(~#set~0.base, ~#set~0.offset, ~n~0, #t~mem3); {7684#true} is VALID [2018-11-23 12:10:37,611 INFO L273 TraceCheckUtils]: 8: Hoare triple {7684#true} ~set.base, ~set.offset := #in~set.base, #in~set.offset;~size := #in~size;~value := #in~value;havoc ~i~0;~i~0 := 0; {7684#true} is VALID [2018-11-23 12:10:37,612 INFO L273 TraceCheckUtils]: 9: Hoare triple {7684#true} assume !(~i~0 < ~size); {7684#true} is VALID [2018-11-23 12:10:37,612 INFO L273 TraceCheckUtils]: 10: Hoare triple {7684#true} #res := 0; {7684#true} is VALID [2018-11-23 12:10:37,612 INFO L273 TraceCheckUtils]: 11: Hoare triple {7684#true} assume true; {7684#true} is VALID [2018-11-23 12:10:37,614 INFO L268 TraceCheckUtils]: 12: Hoare quadruple {7684#true} {7687#(and (= main_~v~0 0) (<= 100000 ~SIZE~0))} #127#return; {7687#(and (= main_~v~0 0) (<= 100000 ~SIZE~0))} is VALID [2018-11-23 12:10:37,615 INFO L273 TraceCheckUtils]: 13: Hoare triple {7687#(and (= main_~v~0 0) (<= 100000 ~SIZE~0))} assume -2147483648 <= #t~ret4 && #t~ret4 <= 2147483647; {7687#(and (= main_~v~0 0) (<= 100000 ~SIZE~0))} is VALID [2018-11-23 12:10:37,615 INFO L273 TraceCheckUtils]: 14: Hoare triple {7687#(and (= main_~v~0 0) (<= 100000 ~SIZE~0))} assume 1 != #t~ret4;havoc #t~ret4;havoc #t~mem3;call #t~mem5 := read~int(~#values~0.base, ~#values~0.offset + 4 * ~v~0, 4); {7687#(and (= main_~v~0 0) (<= 100000 ~SIZE~0))} is VALID [2018-11-23 12:10:37,616 INFO L256 TraceCheckUtils]: 15: Hoare triple {7687#(and (= main_~v~0 0) (<= 100000 ~SIZE~0))} call #t~ret6 := insert(~#set~0.base, ~#set~0.offset, ~n~0, #t~mem5); {7684#true} is VALID [2018-11-23 12:10:37,616 INFO L273 TraceCheckUtils]: 16: Hoare triple {7684#true} ~set.base, ~set.offset := #in~set.base, #in~set.offset;~size := #in~size;~value := #in~value;call write~int(~value, ~set.base, ~set.offset + 4 * ~size, 4);#res := 1 + ~size; {7684#true} is VALID [2018-11-23 12:10:37,616 INFO L273 TraceCheckUtils]: 17: Hoare triple {7684#true} assume true; {7684#true} is VALID [2018-11-23 12:10:37,618 INFO L268 TraceCheckUtils]: 18: Hoare quadruple {7684#true} {7687#(and (= main_~v~0 0) (<= 100000 ~SIZE~0))} #129#return; {7687#(and (= main_~v~0 0) (<= 100000 ~SIZE~0))} is VALID [2018-11-23 12:10:37,619 INFO L273 TraceCheckUtils]: 19: Hoare triple {7687#(and (= main_~v~0 0) (<= 100000 ~SIZE~0))} assume -2147483648 <= #t~ret6 && #t~ret6 <= 2147483647;~n~0 := #t~ret6;havoc #t~mem5;havoc #t~ret6; {7687#(and (= main_~v~0 0) (<= 100000 ~SIZE~0))} is VALID [2018-11-23 12:10:37,620 INFO L273 TraceCheckUtils]: 20: Hoare triple {7687#(and (= main_~v~0 0) (<= 100000 ~SIZE~0))} #t~post2 := ~v~0;~v~0 := 1 + #t~post2;havoc #t~post2; {7688#(<= (+ main_~v~0 99999) ~SIZE~0)} is VALID [2018-11-23 12:10:37,621 INFO L273 TraceCheckUtils]: 21: Hoare triple {7688#(<= (+ main_~v~0 99999) ~SIZE~0)} assume !!(~v~0 < ~SIZE~0);call #t~mem3 := read~int(~#values~0.base, ~#values~0.offset + 4 * ~v~0, 4); {7688#(<= (+ main_~v~0 99999) ~SIZE~0)} is VALID [2018-11-23 12:10:37,621 INFO L256 TraceCheckUtils]: 22: Hoare triple {7688#(<= (+ main_~v~0 99999) ~SIZE~0)} call #t~ret4 := elem_exists(~#set~0.base, ~#set~0.offset, ~n~0, #t~mem3); {7684#true} is VALID [2018-11-23 12:10:37,621 INFO L273 TraceCheckUtils]: 23: Hoare triple {7684#true} ~set.base, ~set.offset := #in~set.base, #in~set.offset;~size := #in~size;~value := #in~value;havoc ~i~0;~i~0 := 0; {7684#true} is VALID [2018-11-23 12:10:37,621 INFO L273 TraceCheckUtils]: 24: Hoare triple {7684#true} assume !!(~i~0 < ~size);call #t~mem1 := read~int(~set.base, ~set.offset + 4 * ~i~0, 4); {7684#true} is VALID [2018-11-23 12:10:37,622 INFO L273 TraceCheckUtils]: 25: Hoare triple {7684#true} assume #t~mem1 == ~value;havoc #t~mem1;#res := 1; {7684#true} is VALID [2018-11-23 12:10:37,622 INFO L273 TraceCheckUtils]: 26: Hoare triple {7684#true} assume true; {7684#true} is VALID [2018-11-23 12:10:37,624 INFO L268 TraceCheckUtils]: 27: Hoare quadruple {7684#true} {7688#(<= (+ main_~v~0 99999) ~SIZE~0)} #127#return; {7688#(<= (+ main_~v~0 99999) ~SIZE~0)} is VALID [2018-11-23 12:10:37,624 INFO L273 TraceCheckUtils]: 28: Hoare triple {7688#(<= (+ main_~v~0 99999) ~SIZE~0)} assume -2147483648 <= #t~ret4 && #t~ret4 <= 2147483647; {7688#(<= (+ main_~v~0 99999) ~SIZE~0)} is VALID [2018-11-23 12:10:37,625 INFO L273 TraceCheckUtils]: 29: Hoare triple {7688#(<= (+ main_~v~0 99999) ~SIZE~0)} assume !(1 != #t~ret4);havoc #t~ret4;havoc #t~mem3; {7688#(<= (+ main_~v~0 99999) ~SIZE~0)} is VALID [2018-11-23 12:10:37,625 INFO L273 TraceCheckUtils]: 30: Hoare triple {7688#(<= (+ main_~v~0 99999) ~SIZE~0)} #t~post2 := ~v~0;~v~0 := 1 + #t~post2;havoc #t~post2; {7689#(<= (+ main_~v~0 99998) ~SIZE~0)} is VALID [2018-11-23 12:10:37,626 INFO L273 TraceCheckUtils]: 31: Hoare triple {7689#(<= (+ main_~v~0 99998) ~SIZE~0)} assume !!(~v~0 < ~SIZE~0);call #t~mem3 := read~int(~#values~0.base, ~#values~0.offset + 4 * ~v~0, 4); {7689#(<= (+ main_~v~0 99998) ~SIZE~0)} is VALID [2018-11-23 12:10:37,626 INFO L256 TraceCheckUtils]: 32: Hoare triple {7689#(<= (+ main_~v~0 99998) ~SIZE~0)} call #t~ret4 := elem_exists(~#set~0.base, ~#set~0.offset, ~n~0, #t~mem3); {7684#true} is VALID [2018-11-23 12:10:37,626 INFO L273 TraceCheckUtils]: 33: Hoare triple {7684#true} ~set.base, ~set.offset := #in~set.base, #in~set.offset;~size := #in~size;~value := #in~value;havoc ~i~0;~i~0 := 0; {7684#true} is VALID [2018-11-23 12:10:37,626 INFO L273 TraceCheckUtils]: 34: Hoare triple {7684#true} assume !!(~i~0 < ~size);call #t~mem1 := read~int(~set.base, ~set.offset + 4 * ~i~0, 4); {7684#true} is VALID [2018-11-23 12:10:37,626 INFO L273 TraceCheckUtils]: 35: Hoare triple {7684#true} assume #t~mem1 == ~value;havoc #t~mem1;#res := 1; {7684#true} is VALID [2018-11-23 12:10:37,626 INFO L273 TraceCheckUtils]: 36: Hoare triple {7684#true} assume true; {7684#true} is VALID [2018-11-23 12:10:37,627 INFO L268 TraceCheckUtils]: 37: Hoare quadruple {7684#true} {7689#(<= (+ main_~v~0 99998) ~SIZE~0)} #127#return; {7689#(<= (+ main_~v~0 99998) ~SIZE~0)} is VALID [2018-11-23 12:10:37,628 INFO L273 TraceCheckUtils]: 38: Hoare triple {7689#(<= (+ main_~v~0 99998) ~SIZE~0)} assume -2147483648 <= #t~ret4 && #t~ret4 <= 2147483647; {7689#(<= (+ main_~v~0 99998) ~SIZE~0)} is VALID [2018-11-23 12:10:37,628 INFO L273 TraceCheckUtils]: 39: Hoare triple {7689#(<= (+ main_~v~0 99998) ~SIZE~0)} assume !(1 != #t~ret4);havoc #t~ret4;havoc #t~mem3; {7689#(<= (+ main_~v~0 99998) ~SIZE~0)} is VALID [2018-11-23 12:10:37,629 INFO L273 TraceCheckUtils]: 40: Hoare triple {7689#(<= (+ main_~v~0 99998) ~SIZE~0)} #t~post2 := ~v~0;~v~0 := 1 + #t~post2;havoc #t~post2; {7690#(<= (+ main_~v~0 99997) ~SIZE~0)} is VALID [2018-11-23 12:10:37,629 INFO L273 TraceCheckUtils]: 41: Hoare triple {7690#(<= (+ main_~v~0 99997) ~SIZE~0)} assume !!(~v~0 < ~SIZE~0);call #t~mem3 := read~int(~#values~0.base, ~#values~0.offset + 4 * ~v~0, 4); {7690#(<= (+ main_~v~0 99997) ~SIZE~0)} is VALID [2018-11-23 12:10:37,629 INFO L256 TraceCheckUtils]: 42: Hoare triple {7690#(<= (+ main_~v~0 99997) ~SIZE~0)} call #t~ret4 := elem_exists(~#set~0.base, ~#set~0.offset, ~n~0, #t~mem3); {7684#true} is VALID [2018-11-23 12:10:37,630 INFO L273 TraceCheckUtils]: 43: Hoare triple {7684#true} ~set.base, ~set.offset := #in~set.base, #in~set.offset;~size := #in~size;~value := #in~value;havoc ~i~0;~i~0 := 0; {7684#true} is VALID [2018-11-23 12:10:37,630 INFO L273 TraceCheckUtils]: 44: Hoare triple {7684#true} assume !!(~i~0 < ~size);call #t~mem1 := read~int(~set.base, ~set.offset + 4 * ~i~0, 4); {7684#true} is VALID [2018-11-23 12:10:37,630 INFO L273 TraceCheckUtils]: 45: Hoare triple {7684#true} assume #t~mem1 == ~value;havoc #t~mem1;#res := 1; {7684#true} is VALID [2018-11-23 12:10:37,630 INFO L273 TraceCheckUtils]: 46: Hoare triple {7684#true} assume true; {7684#true} is VALID [2018-11-23 12:10:37,632 INFO L268 TraceCheckUtils]: 47: Hoare quadruple {7684#true} {7690#(<= (+ main_~v~0 99997) ~SIZE~0)} #127#return; {7690#(<= (+ main_~v~0 99997) ~SIZE~0)} is VALID [2018-11-23 12:10:37,633 INFO L273 TraceCheckUtils]: 48: Hoare triple {7690#(<= (+ main_~v~0 99997) ~SIZE~0)} assume -2147483648 <= #t~ret4 && #t~ret4 <= 2147483647; {7690#(<= (+ main_~v~0 99997) ~SIZE~0)} is VALID [2018-11-23 12:10:37,633 INFO L273 TraceCheckUtils]: 49: Hoare triple {7690#(<= (+ main_~v~0 99997) ~SIZE~0)} assume !(1 != #t~ret4);havoc #t~ret4;havoc #t~mem3; {7690#(<= (+ main_~v~0 99997) ~SIZE~0)} is VALID [2018-11-23 12:10:37,634 INFO L273 TraceCheckUtils]: 50: Hoare triple {7690#(<= (+ main_~v~0 99997) ~SIZE~0)} #t~post2 := ~v~0;~v~0 := 1 + #t~post2;havoc #t~post2; {7691#(<= (+ main_~v~0 99996) ~SIZE~0)} is VALID [2018-11-23 12:10:37,635 INFO L273 TraceCheckUtils]: 51: Hoare triple {7691#(<= (+ main_~v~0 99996) ~SIZE~0)} assume !!(~v~0 < ~SIZE~0);call #t~mem3 := read~int(~#values~0.base, ~#values~0.offset + 4 * ~v~0, 4); {7691#(<= (+ main_~v~0 99996) ~SIZE~0)} is VALID [2018-11-23 12:10:37,635 INFO L256 TraceCheckUtils]: 52: Hoare triple {7691#(<= (+ main_~v~0 99996) ~SIZE~0)} call #t~ret4 := elem_exists(~#set~0.base, ~#set~0.offset, ~n~0, #t~mem3); {7684#true} is VALID [2018-11-23 12:10:37,635 INFO L273 TraceCheckUtils]: 53: Hoare triple {7684#true} ~set.base, ~set.offset := #in~set.base, #in~set.offset;~size := #in~size;~value := #in~value;havoc ~i~0;~i~0 := 0; {7684#true} is VALID [2018-11-23 12:10:37,635 INFO L273 TraceCheckUtils]: 54: Hoare triple {7684#true} assume !!(~i~0 < ~size);call #t~mem1 := read~int(~set.base, ~set.offset + 4 * ~i~0, 4); {7684#true} is VALID [2018-11-23 12:10:37,635 INFO L273 TraceCheckUtils]: 55: Hoare triple {7684#true} assume #t~mem1 == ~value;havoc #t~mem1;#res := 1; {7684#true} is VALID [2018-11-23 12:10:37,636 INFO L273 TraceCheckUtils]: 56: Hoare triple {7684#true} assume true; {7684#true} is VALID [2018-11-23 12:10:37,637 INFO L268 TraceCheckUtils]: 57: Hoare quadruple {7684#true} {7691#(<= (+ main_~v~0 99996) ~SIZE~0)} #127#return; {7691#(<= (+ main_~v~0 99996) ~SIZE~0)} is VALID [2018-11-23 12:10:37,638 INFO L273 TraceCheckUtils]: 58: Hoare triple {7691#(<= (+ main_~v~0 99996) ~SIZE~0)} assume -2147483648 <= #t~ret4 && #t~ret4 <= 2147483647; {7691#(<= (+ main_~v~0 99996) ~SIZE~0)} is VALID [2018-11-23 12:10:37,638 INFO L273 TraceCheckUtils]: 59: Hoare triple {7691#(<= (+ main_~v~0 99996) ~SIZE~0)} assume !(1 != #t~ret4);havoc #t~ret4;havoc #t~mem3; {7691#(<= (+ main_~v~0 99996) ~SIZE~0)} is VALID [2018-11-23 12:10:37,639 INFO L273 TraceCheckUtils]: 60: Hoare triple {7691#(<= (+ main_~v~0 99996) ~SIZE~0)} #t~post2 := ~v~0;~v~0 := 1 + #t~post2;havoc #t~post2; {7692#(<= (+ main_~v~0 99995) ~SIZE~0)} is VALID [2018-11-23 12:10:37,640 INFO L273 TraceCheckUtils]: 61: Hoare triple {7692#(<= (+ main_~v~0 99995) ~SIZE~0)} assume !!(~v~0 < ~SIZE~0);call #t~mem3 := read~int(~#values~0.base, ~#values~0.offset + 4 * ~v~0, 4); {7692#(<= (+ main_~v~0 99995) ~SIZE~0)} is VALID [2018-11-23 12:10:37,640 INFO L256 TraceCheckUtils]: 62: Hoare triple {7692#(<= (+ main_~v~0 99995) ~SIZE~0)} call #t~ret4 := elem_exists(~#set~0.base, ~#set~0.offset, ~n~0, #t~mem3); {7684#true} is VALID [2018-11-23 12:10:37,640 INFO L273 TraceCheckUtils]: 63: Hoare triple {7684#true} ~set.base, ~set.offset := #in~set.base, #in~set.offset;~size := #in~size;~value := #in~value;havoc ~i~0;~i~0 := 0; {7684#true} is VALID [2018-11-23 12:10:37,641 INFO L273 TraceCheckUtils]: 64: Hoare triple {7684#true} assume !!(~i~0 < ~size);call #t~mem1 := read~int(~set.base, ~set.offset + 4 * ~i~0, 4); {7684#true} is VALID [2018-11-23 12:10:37,641 INFO L273 TraceCheckUtils]: 65: Hoare triple {7684#true} assume #t~mem1 == ~value;havoc #t~mem1;#res := 1; {7684#true} is VALID [2018-11-23 12:10:37,641 INFO L273 TraceCheckUtils]: 66: Hoare triple {7684#true} assume true; {7684#true} is VALID [2018-11-23 12:10:37,643 INFO L268 TraceCheckUtils]: 67: Hoare quadruple {7684#true} {7692#(<= (+ main_~v~0 99995) ~SIZE~0)} #127#return; {7692#(<= (+ main_~v~0 99995) ~SIZE~0)} is VALID [2018-11-23 12:10:37,643 INFO L273 TraceCheckUtils]: 68: Hoare triple {7692#(<= (+ main_~v~0 99995) ~SIZE~0)} assume -2147483648 <= #t~ret4 && #t~ret4 <= 2147483647; {7692#(<= (+ main_~v~0 99995) ~SIZE~0)} is VALID [2018-11-23 12:10:37,644 INFO L273 TraceCheckUtils]: 69: Hoare triple {7692#(<= (+ main_~v~0 99995) ~SIZE~0)} assume !(1 != #t~ret4);havoc #t~ret4;havoc #t~mem3; {7692#(<= (+ main_~v~0 99995) ~SIZE~0)} is VALID [2018-11-23 12:10:37,645 INFO L273 TraceCheckUtils]: 70: Hoare triple {7692#(<= (+ main_~v~0 99995) ~SIZE~0)} #t~post2 := ~v~0;~v~0 := 1 + #t~post2;havoc #t~post2; {7693#(<= (+ main_~v~0 99994) ~SIZE~0)} is VALID [2018-11-23 12:10:37,645 INFO L273 TraceCheckUtils]: 71: Hoare triple {7693#(<= (+ main_~v~0 99994) ~SIZE~0)} assume !!(~v~0 < ~SIZE~0);call #t~mem3 := read~int(~#values~0.base, ~#values~0.offset + 4 * ~v~0, 4); {7693#(<= (+ main_~v~0 99994) ~SIZE~0)} is VALID [2018-11-23 12:10:37,645 INFO L256 TraceCheckUtils]: 72: Hoare triple {7693#(<= (+ main_~v~0 99994) ~SIZE~0)} call #t~ret4 := elem_exists(~#set~0.base, ~#set~0.offset, ~n~0, #t~mem3); {7684#true} is VALID [2018-11-23 12:10:37,646 INFO L273 TraceCheckUtils]: 73: Hoare triple {7684#true} ~set.base, ~set.offset := #in~set.base, #in~set.offset;~size := #in~size;~value := #in~value;havoc ~i~0;~i~0 := 0; {7684#true} is VALID [2018-11-23 12:10:37,646 INFO L273 TraceCheckUtils]: 74: Hoare triple {7684#true} assume !!(~i~0 < ~size);call #t~mem1 := read~int(~set.base, ~set.offset + 4 * ~i~0, 4); {7684#true} is VALID [2018-11-23 12:10:37,646 INFO L273 TraceCheckUtils]: 75: Hoare triple {7684#true} assume #t~mem1 == ~value;havoc #t~mem1;#res := 1; {7684#true} is VALID [2018-11-23 12:10:37,646 INFO L273 TraceCheckUtils]: 76: Hoare triple {7684#true} assume true; {7684#true} is VALID [2018-11-23 12:10:37,648 INFO L268 TraceCheckUtils]: 77: Hoare quadruple {7684#true} {7693#(<= (+ main_~v~0 99994) ~SIZE~0)} #127#return; {7693#(<= (+ main_~v~0 99994) ~SIZE~0)} is VALID [2018-11-23 12:10:37,649 INFO L273 TraceCheckUtils]: 78: Hoare triple {7693#(<= (+ main_~v~0 99994) ~SIZE~0)} assume -2147483648 <= #t~ret4 && #t~ret4 <= 2147483647; {7693#(<= (+ main_~v~0 99994) ~SIZE~0)} is VALID [2018-11-23 12:10:37,649 INFO L273 TraceCheckUtils]: 79: Hoare triple {7693#(<= (+ main_~v~0 99994) ~SIZE~0)} assume !(1 != #t~ret4);havoc #t~ret4;havoc #t~mem3; {7693#(<= (+ main_~v~0 99994) ~SIZE~0)} is VALID [2018-11-23 12:10:37,650 INFO L273 TraceCheckUtils]: 80: Hoare triple {7693#(<= (+ main_~v~0 99994) ~SIZE~0)} #t~post2 := ~v~0;~v~0 := 1 + #t~post2;havoc #t~post2; {7694#(<= (+ main_~v~0 99993) ~SIZE~0)} is VALID [2018-11-23 12:10:37,651 INFO L273 TraceCheckUtils]: 81: Hoare triple {7694#(<= (+ main_~v~0 99993) ~SIZE~0)} assume !!(~v~0 < ~SIZE~0);call #t~mem3 := read~int(~#values~0.base, ~#values~0.offset + 4 * ~v~0, 4); {7694#(<= (+ main_~v~0 99993) ~SIZE~0)} is VALID [2018-11-23 12:10:37,651 INFO L256 TraceCheckUtils]: 82: Hoare triple {7694#(<= (+ main_~v~0 99993) ~SIZE~0)} call #t~ret4 := elem_exists(~#set~0.base, ~#set~0.offset, ~n~0, #t~mem3); {7684#true} is VALID [2018-11-23 12:10:37,651 INFO L273 TraceCheckUtils]: 83: Hoare triple {7684#true} ~set.base, ~set.offset := #in~set.base, #in~set.offset;~size := #in~size;~value := #in~value;havoc ~i~0;~i~0 := 0; {7684#true} is VALID [2018-11-23 12:10:37,651 INFO L273 TraceCheckUtils]: 84: Hoare triple {7684#true} assume !!(~i~0 < ~size);call #t~mem1 := read~int(~set.base, ~set.offset + 4 * ~i~0, 4); {7684#true} is VALID [2018-11-23 12:10:37,651 INFO L273 TraceCheckUtils]: 85: Hoare triple {7684#true} assume #t~mem1 == ~value;havoc #t~mem1;#res := 1; {7684#true} is VALID [2018-11-23 12:10:37,652 INFO L273 TraceCheckUtils]: 86: Hoare triple {7684#true} assume true; {7684#true} is VALID [2018-11-23 12:10:37,653 INFO L268 TraceCheckUtils]: 87: Hoare quadruple {7684#true} {7694#(<= (+ main_~v~0 99993) ~SIZE~0)} #127#return; {7694#(<= (+ main_~v~0 99993) ~SIZE~0)} is VALID [2018-11-23 12:10:37,654 INFO L273 TraceCheckUtils]: 88: Hoare triple {7694#(<= (+ main_~v~0 99993) ~SIZE~0)} assume -2147483648 <= #t~ret4 && #t~ret4 <= 2147483647; {7694#(<= (+ main_~v~0 99993) ~SIZE~0)} is VALID [2018-11-23 12:10:37,654 INFO L273 TraceCheckUtils]: 89: Hoare triple {7694#(<= (+ main_~v~0 99993) ~SIZE~0)} assume !(1 != #t~ret4);havoc #t~ret4;havoc #t~mem3; {7694#(<= (+ main_~v~0 99993) ~SIZE~0)} is VALID [2018-11-23 12:10:37,655 INFO L273 TraceCheckUtils]: 90: Hoare triple {7694#(<= (+ main_~v~0 99993) ~SIZE~0)} #t~post2 := ~v~0;~v~0 := 1 + #t~post2;havoc #t~post2; {7695#(<= (+ main_~v~0 99992) ~SIZE~0)} is VALID [2018-11-23 12:10:37,656 INFO L273 TraceCheckUtils]: 91: Hoare triple {7695#(<= (+ main_~v~0 99992) ~SIZE~0)} assume !(~v~0 < ~SIZE~0); {7685#false} is VALID [2018-11-23 12:10:37,656 INFO L273 TraceCheckUtils]: 92: Hoare triple {7685#false} ~i~1 := 0; {7685#false} is VALID [2018-11-23 12:10:37,657 INFO L273 TraceCheckUtils]: 93: Hoare triple {7685#false} assume !!(~i~1 < ~SIZE~0 && 1 != ~found~0);call #t~mem8 := read~int(~#set~0.base, ~#set~0.offset + 4 * ~i~1, 4); {7685#false} is VALID [2018-11-23 12:10:37,657 INFO L273 TraceCheckUtils]: 94: Hoare triple {7685#false} assume !(#t~mem8 == ~element~0);havoc #t~mem8; {7685#false} is VALID [2018-11-23 12:10:37,657 INFO L273 TraceCheckUtils]: 95: Hoare triple {7685#false} #t~post7 := ~i~1;~i~1 := 1 + #t~post7;havoc #t~post7; {7685#false} is VALID [2018-11-23 12:10:37,657 INFO L273 TraceCheckUtils]: 96: Hoare triple {7685#false} assume !!(~i~1 < ~SIZE~0 && 1 != ~found~0);call #t~mem8 := read~int(~#set~0.base, ~#set~0.offset + 4 * ~i~1, 4); {7685#false} is VALID [2018-11-23 12:10:37,657 INFO L273 TraceCheckUtils]: 97: Hoare triple {7685#false} assume #t~mem8 == ~element~0;havoc #t~mem8;~found~0 := 1;~pos~0 := ~i~1; {7685#false} is VALID [2018-11-23 12:10:37,658 INFO L273 TraceCheckUtils]: 98: Hoare triple {7685#false} #t~post7 := ~i~1;~i~1 := 1 + #t~post7;havoc #t~post7; {7685#false} is VALID [2018-11-23 12:10:37,658 INFO L273 TraceCheckUtils]: 99: Hoare triple {7685#false} assume !(~i~1 < ~SIZE~0 && 1 != ~found~0); {7685#false} is VALID [2018-11-23 12:10:37,658 INFO L273 TraceCheckUtils]: 100: Hoare triple {7685#false} assume 1 == ~found~0;~i~1 := ~pos~0; {7685#false} is VALID [2018-11-23 12:10:37,658 INFO L273 TraceCheckUtils]: 101: Hoare triple {7685#false} assume !!(~i~1 < ~SIZE~0 - 1);call #t~mem10 := read~int(~#set~0.base, ~#set~0.offset + 4 * (1 + ~i~1), 4);call write~int(#t~mem10, ~#set~0.base, ~#set~0.offset + 4 * ~i~1, 4);havoc #t~mem10; {7685#false} is VALID [2018-11-23 12:10:37,658 INFO L273 TraceCheckUtils]: 102: Hoare triple {7685#false} #t~post9 := ~i~1;~i~1 := 1 + #t~post9;havoc #t~post9; {7685#false} is VALID [2018-11-23 12:10:37,659 INFO L273 TraceCheckUtils]: 103: Hoare triple {7685#false} assume !(~i~1 < ~SIZE~0 - 1); {7685#false} is VALID [2018-11-23 12:10:37,659 INFO L273 TraceCheckUtils]: 104: Hoare triple {7685#false} assume 1 == ~found~0;~i~1 := 0; {7685#false} is VALID [2018-11-23 12:10:37,659 INFO L273 TraceCheckUtils]: 105: Hoare triple {7685#false} assume !!(~i~1 < ~SIZE~0 - 1);call #t~mem12 := read~int(~#set~0.base, ~#set~0.offset + 4 * ~i~1, 4); {7685#false} is VALID [2018-11-23 12:10:37,659 INFO L256 TraceCheckUtils]: 106: Hoare triple {7685#false} call __VERIFIER_assert((if #t~mem12 != ~element~0 then 1 else 0)); {7685#false} is VALID [2018-11-23 12:10:37,659 INFO L273 TraceCheckUtils]: 107: Hoare triple {7685#false} ~cond := #in~cond; {7685#false} is VALID [2018-11-23 12:10:37,660 INFO L273 TraceCheckUtils]: 108: Hoare triple {7685#false} assume 0 == ~cond; {7685#false} is VALID [2018-11-23 12:10:37,660 INFO L273 TraceCheckUtils]: 109: Hoare triple {7685#false} assume !false; {7685#false} is VALID [2018-11-23 12:10:37,668 INFO L134 CoverageAnalysis]: Checked inductivity of 287 backedges. 0 proven. 148 refuted. 0 times theorem prover too weak. 139 trivial. 0 not checked. [2018-11-23 12:10:37,668 INFO L300 seRefinementStrategy]: The current sequences of interpolants are not accepted, trying to find more. [2018-11-23 12:10:37,668 INFO L223 ckRefinementStrategy]: Switched to mode Z3_FP No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 Starting monitored process 11 with z3 -smt2 -in SMTLIB2_COMPLIANT=true -t:12000 (exit command is (exit), workingDir is null) Waiting until toolchain timeout for monitored process 11 with z3 -smt2 -in SMTLIB2_COMPLIANT=true -t:12000 [2018-11-23 12:10:37,678 INFO L103 rtionOrderModulation]: Keeping assertion order OUTSIDE_LOOP_FIRST2 [2018-11-23 12:10:37,711 INFO L249 tOrderPrioritization]: Assert order OUTSIDE_LOOP_FIRST2 issued 3 check-sat command(s) [2018-11-23 12:10:37,712 INFO L250 tOrderPrioritization]: Conjunction of SSA is unsat [2018-11-23 12:10:37,738 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2018-11-23 12:10:37,741 INFO L273 TraceCheckSpWp]: Computing forward predicates... [2018-11-23 12:10:37,969 INFO L256 TraceCheckUtils]: 0: Hoare triple {7684#true} call ULTIMATE.init(); {7684#true} is VALID [2018-11-23 12:10:37,970 INFO L273 TraceCheckUtils]: 1: Hoare triple {7684#true} #NULL.base, #NULL.offset := 0, 0;#valid := #valid[0 := 0];~SIZE~0 := 100000; {7686#(<= 100000 ~SIZE~0)} is VALID [2018-11-23 12:10:37,971 INFO L273 TraceCheckUtils]: 2: Hoare triple {7686#(<= 100000 ~SIZE~0)} assume true; {7686#(<= 100000 ~SIZE~0)} is VALID [2018-11-23 12:10:37,971 INFO L268 TraceCheckUtils]: 3: Hoare quadruple {7686#(<= 100000 ~SIZE~0)} {7684#true} #123#return; {7686#(<= 100000 ~SIZE~0)} is VALID [2018-11-23 12:10:37,972 INFO L256 TraceCheckUtils]: 4: Hoare triple {7686#(<= 100000 ~SIZE~0)} call #t~ret13 := main(); {7686#(<= 100000 ~SIZE~0)} is VALID [2018-11-23 12:10:37,973 INFO L273 TraceCheckUtils]: 5: Hoare triple {7686#(<= 100000 ~SIZE~0)} havoc ~i~1;havoc ~pos~0;~n~0 := 0;~found~0 := 0;call ~#set~0.base, ~#set~0.offset := #Ultimate.alloc(4 * ~SIZE~0);call ~#values~0.base, ~#values~0.offset := #Ultimate.alloc(4 * ~SIZE~0);havoc ~element~0;havoc ~v~0;~v~0 := 0; {7686#(<= 100000 ~SIZE~0)} is VALID [2018-11-23 12:10:37,973 INFO L273 TraceCheckUtils]: 6: Hoare triple {7686#(<= 100000 ~SIZE~0)} assume !!(~v~0 < ~SIZE~0);call #t~mem3 := read~int(~#values~0.base, ~#values~0.offset + 4 * ~v~0, 4); {7686#(<= 100000 ~SIZE~0)} is VALID [2018-11-23 12:10:37,975 INFO L256 TraceCheckUtils]: 7: Hoare triple {7686#(<= 100000 ~SIZE~0)} call #t~ret4 := elem_exists(~#set~0.base, ~#set~0.offset, ~n~0, #t~mem3); {7686#(<= 100000 ~SIZE~0)} is VALID [2018-11-23 12:10:37,975 INFO L273 TraceCheckUtils]: 8: Hoare triple {7686#(<= 100000 ~SIZE~0)} ~set.base, ~set.offset := #in~set.base, #in~set.offset;~size := #in~size;~value := #in~value;havoc ~i~0;~i~0 := 0; {7686#(<= 100000 ~SIZE~0)} is VALID [2018-11-23 12:10:37,976 INFO L273 TraceCheckUtils]: 9: Hoare triple {7686#(<= 100000 ~SIZE~0)} assume !(~i~0 < ~size); {7686#(<= 100000 ~SIZE~0)} is VALID [2018-11-23 12:10:37,976 INFO L273 TraceCheckUtils]: 10: Hoare triple {7686#(<= 100000 ~SIZE~0)} #res := 0; {7686#(<= 100000 ~SIZE~0)} is VALID [2018-11-23 12:10:37,977 INFO L273 TraceCheckUtils]: 11: Hoare triple {7686#(<= 100000 ~SIZE~0)} assume true; {7686#(<= 100000 ~SIZE~0)} is VALID [2018-11-23 12:10:37,978 INFO L268 TraceCheckUtils]: 12: Hoare quadruple {7686#(<= 100000 ~SIZE~0)} {7686#(<= 100000 ~SIZE~0)} #127#return; {7686#(<= 100000 ~SIZE~0)} is VALID [2018-11-23 12:10:37,979 INFO L273 TraceCheckUtils]: 13: Hoare triple {7686#(<= 100000 ~SIZE~0)} assume -2147483648 <= #t~ret4 && #t~ret4 <= 2147483647; {7686#(<= 100000 ~SIZE~0)} is VALID [2018-11-23 12:10:37,980 INFO L273 TraceCheckUtils]: 14: Hoare triple {7686#(<= 100000 ~SIZE~0)} assume 1 != #t~ret4;havoc #t~ret4;havoc #t~mem3;call #t~mem5 := read~int(~#values~0.base, ~#values~0.offset + 4 * ~v~0, 4); {7686#(<= 100000 ~SIZE~0)} is VALID [2018-11-23 12:10:37,981 INFO L256 TraceCheckUtils]: 15: Hoare triple {7686#(<= 100000 ~SIZE~0)} call #t~ret6 := insert(~#set~0.base, ~#set~0.offset, ~n~0, #t~mem5); {7686#(<= 100000 ~SIZE~0)} is VALID [2018-11-23 12:10:37,982 INFO L273 TraceCheckUtils]: 16: Hoare triple {7686#(<= 100000 ~SIZE~0)} ~set.base, ~set.offset := #in~set.base, #in~set.offset;~size := #in~size;~value := #in~value;call write~int(~value, ~set.base, ~set.offset + 4 * ~size, 4);#res := 1 + ~size; {7686#(<= 100000 ~SIZE~0)} is VALID [2018-11-23 12:10:37,982 INFO L273 TraceCheckUtils]: 17: Hoare triple {7686#(<= 100000 ~SIZE~0)} assume true; {7686#(<= 100000 ~SIZE~0)} is VALID [2018-11-23 12:10:37,984 INFO L268 TraceCheckUtils]: 18: Hoare quadruple {7686#(<= 100000 ~SIZE~0)} {7686#(<= 100000 ~SIZE~0)} #129#return; {7686#(<= 100000 ~SIZE~0)} is VALID [2018-11-23 12:10:37,984 INFO L273 TraceCheckUtils]: 19: Hoare triple {7686#(<= 100000 ~SIZE~0)} assume -2147483648 <= #t~ret6 && #t~ret6 <= 2147483647;~n~0 := #t~ret6;havoc #t~mem5;havoc #t~ret6; {7686#(<= 100000 ~SIZE~0)} is VALID [2018-11-23 12:10:37,985 INFO L273 TraceCheckUtils]: 20: Hoare triple {7686#(<= 100000 ~SIZE~0)} #t~post2 := ~v~0;~v~0 := 1 + #t~post2;havoc #t~post2; {7686#(<= 100000 ~SIZE~0)} is VALID [2018-11-23 12:10:37,985 INFO L273 TraceCheckUtils]: 21: Hoare triple {7686#(<= 100000 ~SIZE~0)} assume !!(~v~0 < ~SIZE~0);call #t~mem3 := read~int(~#values~0.base, ~#values~0.offset + 4 * ~v~0, 4); {7686#(<= 100000 ~SIZE~0)} is VALID [2018-11-23 12:10:37,987 INFO L256 TraceCheckUtils]: 22: Hoare triple {7686#(<= 100000 ~SIZE~0)} call #t~ret4 := elem_exists(~#set~0.base, ~#set~0.offset, ~n~0, #t~mem3); {7686#(<= 100000 ~SIZE~0)} is VALID [2018-11-23 12:10:37,988 INFO L273 TraceCheckUtils]: 23: Hoare triple {7686#(<= 100000 ~SIZE~0)} ~set.base, ~set.offset := #in~set.base, #in~set.offset;~size := #in~size;~value := #in~value;havoc ~i~0;~i~0 := 0; {7686#(<= 100000 ~SIZE~0)} is VALID [2018-11-23 12:10:37,988 INFO L273 TraceCheckUtils]: 24: Hoare triple {7686#(<= 100000 ~SIZE~0)} assume !!(~i~0 < ~size);call #t~mem1 := read~int(~set.base, ~set.offset + 4 * ~i~0, 4); {7686#(<= 100000 ~SIZE~0)} is VALID [2018-11-23 12:10:37,989 INFO L273 TraceCheckUtils]: 25: Hoare triple {7686#(<= 100000 ~SIZE~0)} assume #t~mem1 == ~value;havoc #t~mem1;#res := 1; {7686#(<= 100000 ~SIZE~0)} is VALID [2018-11-23 12:10:37,989 INFO L273 TraceCheckUtils]: 26: Hoare triple {7686#(<= 100000 ~SIZE~0)} assume true; {7686#(<= 100000 ~SIZE~0)} is VALID [2018-11-23 12:10:37,991 INFO L268 TraceCheckUtils]: 27: Hoare quadruple {7686#(<= 100000 ~SIZE~0)} {7686#(<= 100000 ~SIZE~0)} #127#return; {7686#(<= 100000 ~SIZE~0)} is VALID [2018-11-23 12:10:37,991 INFO L273 TraceCheckUtils]: 28: Hoare triple {7686#(<= 100000 ~SIZE~0)} assume -2147483648 <= #t~ret4 && #t~ret4 <= 2147483647; {7686#(<= 100000 ~SIZE~0)} is VALID [2018-11-23 12:10:37,992 INFO L273 TraceCheckUtils]: 29: Hoare triple {7686#(<= 100000 ~SIZE~0)} assume !(1 != #t~ret4);havoc #t~ret4;havoc #t~mem3; {7686#(<= 100000 ~SIZE~0)} is VALID [2018-11-23 12:10:37,992 INFO L273 TraceCheckUtils]: 30: Hoare triple {7686#(<= 100000 ~SIZE~0)} #t~post2 := ~v~0;~v~0 := 1 + #t~post2;havoc #t~post2; {7686#(<= 100000 ~SIZE~0)} is VALID [2018-11-23 12:10:37,993 INFO L273 TraceCheckUtils]: 31: Hoare triple {7686#(<= 100000 ~SIZE~0)} assume !!(~v~0 < ~SIZE~0);call #t~mem3 := read~int(~#values~0.base, ~#values~0.offset + 4 * ~v~0, 4); {7686#(<= 100000 ~SIZE~0)} is VALID [2018-11-23 12:10:37,994 INFO L256 TraceCheckUtils]: 32: Hoare triple {7686#(<= 100000 ~SIZE~0)} call #t~ret4 := elem_exists(~#set~0.base, ~#set~0.offset, ~n~0, #t~mem3); {7686#(<= 100000 ~SIZE~0)} is VALID [2018-11-23 12:10:37,995 INFO L273 TraceCheckUtils]: 33: Hoare triple {7686#(<= 100000 ~SIZE~0)} ~set.base, ~set.offset := #in~set.base, #in~set.offset;~size := #in~size;~value := #in~value;havoc ~i~0;~i~0 := 0; {7686#(<= 100000 ~SIZE~0)} is VALID [2018-11-23 12:10:37,995 INFO L273 TraceCheckUtils]: 34: Hoare triple {7686#(<= 100000 ~SIZE~0)} assume !!(~i~0 < ~size);call #t~mem1 := read~int(~set.base, ~set.offset + 4 * ~i~0, 4); {7686#(<= 100000 ~SIZE~0)} is VALID [2018-11-23 12:10:37,996 INFO L273 TraceCheckUtils]: 35: Hoare triple {7686#(<= 100000 ~SIZE~0)} assume #t~mem1 == ~value;havoc #t~mem1;#res := 1; {7686#(<= 100000 ~SIZE~0)} is VALID [2018-11-23 12:10:37,997 INFO L273 TraceCheckUtils]: 36: Hoare triple {7686#(<= 100000 ~SIZE~0)} assume true; {7686#(<= 100000 ~SIZE~0)} is VALID [2018-11-23 12:10:37,998 INFO L268 TraceCheckUtils]: 37: Hoare quadruple {7686#(<= 100000 ~SIZE~0)} {7686#(<= 100000 ~SIZE~0)} #127#return; {7686#(<= 100000 ~SIZE~0)} is VALID [2018-11-23 12:10:37,999 INFO L273 TraceCheckUtils]: 38: Hoare triple {7686#(<= 100000 ~SIZE~0)} assume -2147483648 <= #t~ret4 && #t~ret4 <= 2147483647; {7686#(<= 100000 ~SIZE~0)} is VALID [2018-11-23 12:10:37,999 INFO L273 TraceCheckUtils]: 39: Hoare triple {7686#(<= 100000 ~SIZE~0)} assume !(1 != #t~ret4);havoc #t~ret4;havoc #t~mem3; {7686#(<= 100000 ~SIZE~0)} is VALID [2018-11-23 12:10:38,000 INFO L273 TraceCheckUtils]: 40: Hoare triple {7686#(<= 100000 ~SIZE~0)} #t~post2 := ~v~0;~v~0 := 1 + #t~post2;havoc #t~post2; {7686#(<= 100000 ~SIZE~0)} is VALID [2018-11-23 12:10:38,000 INFO L273 TraceCheckUtils]: 41: Hoare triple {7686#(<= 100000 ~SIZE~0)} assume !!(~v~0 < ~SIZE~0);call #t~mem3 := read~int(~#values~0.base, ~#values~0.offset + 4 * ~v~0, 4); {7686#(<= 100000 ~SIZE~0)} is VALID [2018-11-23 12:10:38,002 INFO L256 TraceCheckUtils]: 42: Hoare triple {7686#(<= 100000 ~SIZE~0)} call #t~ret4 := elem_exists(~#set~0.base, ~#set~0.offset, ~n~0, #t~mem3); {7686#(<= 100000 ~SIZE~0)} is VALID [2018-11-23 12:10:38,002 INFO L273 TraceCheckUtils]: 43: Hoare triple {7686#(<= 100000 ~SIZE~0)} ~set.base, ~set.offset := #in~set.base, #in~set.offset;~size := #in~size;~value := #in~value;havoc ~i~0;~i~0 := 0; {7686#(<= 100000 ~SIZE~0)} is VALID [2018-11-23 12:10:38,003 INFO L273 TraceCheckUtils]: 44: Hoare triple {7686#(<= 100000 ~SIZE~0)} assume !!(~i~0 < ~size);call #t~mem1 := read~int(~set.base, ~set.offset + 4 * ~i~0, 4); {7686#(<= 100000 ~SIZE~0)} is VALID [2018-11-23 12:10:38,003 INFO L273 TraceCheckUtils]: 45: Hoare triple {7686#(<= 100000 ~SIZE~0)} assume #t~mem1 == ~value;havoc #t~mem1;#res := 1; {7686#(<= 100000 ~SIZE~0)} is VALID [2018-11-23 12:10:38,004 INFO L273 TraceCheckUtils]: 46: Hoare triple {7686#(<= 100000 ~SIZE~0)} assume true; {7686#(<= 100000 ~SIZE~0)} is VALID [2018-11-23 12:10:38,006 INFO L268 TraceCheckUtils]: 47: Hoare quadruple {7686#(<= 100000 ~SIZE~0)} {7686#(<= 100000 ~SIZE~0)} #127#return; {7686#(<= 100000 ~SIZE~0)} is VALID [2018-11-23 12:10:38,006 INFO L273 TraceCheckUtils]: 48: Hoare triple {7686#(<= 100000 ~SIZE~0)} assume -2147483648 <= #t~ret4 && #t~ret4 <= 2147483647; {7686#(<= 100000 ~SIZE~0)} is VALID [2018-11-23 12:10:38,007 INFO L273 TraceCheckUtils]: 49: Hoare triple {7686#(<= 100000 ~SIZE~0)} assume !(1 != #t~ret4);havoc #t~ret4;havoc #t~mem3; {7686#(<= 100000 ~SIZE~0)} is VALID [2018-11-23 12:10:38,007 INFO L273 TraceCheckUtils]: 50: Hoare triple {7686#(<= 100000 ~SIZE~0)} #t~post2 := ~v~0;~v~0 := 1 + #t~post2;havoc #t~post2; {7686#(<= 100000 ~SIZE~0)} is VALID [2018-11-23 12:10:38,008 INFO L273 TraceCheckUtils]: 51: Hoare triple {7686#(<= 100000 ~SIZE~0)} assume !!(~v~0 < ~SIZE~0);call #t~mem3 := read~int(~#values~0.base, ~#values~0.offset + 4 * ~v~0, 4); {7686#(<= 100000 ~SIZE~0)} is VALID [2018-11-23 12:10:38,035 INFO L256 TraceCheckUtils]: 52: Hoare triple {7686#(<= 100000 ~SIZE~0)} call #t~ret4 := elem_exists(~#set~0.base, ~#set~0.offset, ~n~0, #t~mem3); {7686#(<= 100000 ~SIZE~0)} is VALID [2018-11-23 12:10:38,039 INFO L273 TraceCheckUtils]: 53: Hoare triple {7686#(<= 100000 ~SIZE~0)} ~set.base, ~set.offset := #in~set.base, #in~set.offset;~size := #in~size;~value := #in~value;havoc ~i~0;~i~0 := 0; {7686#(<= 100000 ~SIZE~0)} is VALID [2018-11-23 12:10:38,042 INFO L273 TraceCheckUtils]: 54: Hoare triple {7686#(<= 100000 ~SIZE~0)} assume !!(~i~0 < ~size);call #t~mem1 := read~int(~set.base, ~set.offset + 4 * ~i~0, 4); {7686#(<= 100000 ~SIZE~0)} is VALID [2018-11-23 12:10:38,044 INFO L273 TraceCheckUtils]: 55: Hoare triple {7686#(<= 100000 ~SIZE~0)} assume #t~mem1 == ~value;havoc #t~mem1;#res := 1; {7686#(<= 100000 ~SIZE~0)} is VALID [2018-11-23 12:10:38,044 INFO L273 TraceCheckUtils]: 56: Hoare triple {7686#(<= 100000 ~SIZE~0)} assume true; {7686#(<= 100000 ~SIZE~0)} is VALID [2018-11-23 12:10:38,045 INFO L268 TraceCheckUtils]: 57: Hoare quadruple {7686#(<= 100000 ~SIZE~0)} {7686#(<= 100000 ~SIZE~0)} #127#return; {7686#(<= 100000 ~SIZE~0)} is VALID [2018-11-23 12:10:38,046 INFO L273 TraceCheckUtils]: 58: Hoare triple {7686#(<= 100000 ~SIZE~0)} assume -2147483648 <= #t~ret4 && #t~ret4 <= 2147483647; {7686#(<= 100000 ~SIZE~0)} is VALID [2018-11-23 12:10:38,046 INFO L273 TraceCheckUtils]: 59: Hoare triple {7686#(<= 100000 ~SIZE~0)} assume !(1 != #t~ret4);havoc #t~ret4;havoc #t~mem3; {7686#(<= 100000 ~SIZE~0)} is VALID [2018-11-23 12:10:38,048 INFO L273 TraceCheckUtils]: 60: Hoare triple {7686#(<= 100000 ~SIZE~0)} #t~post2 := ~v~0;~v~0 := 1 + #t~post2;havoc #t~post2; {7686#(<= 100000 ~SIZE~0)} is VALID [2018-11-23 12:10:38,048 INFO L273 TraceCheckUtils]: 61: Hoare triple {7686#(<= 100000 ~SIZE~0)} assume !!(~v~0 < ~SIZE~0);call #t~mem3 := read~int(~#values~0.base, ~#values~0.offset + 4 * ~v~0, 4); {7686#(<= 100000 ~SIZE~0)} is VALID [2018-11-23 12:10:38,049 INFO L256 TraceCheckUtils]: 62: Hoare triple {7686#(<= 100000 ~SIZE~0)} call #t~ret4 := elem_exists(~#set~0.base, ~#set~0.offset, ~n~0, #t~mem3); {7686#(<= 100000 ~SIZE~0)} is VALID [2018-11-23 12:10:38,050 INFO L273 TraceCheckUtils]: 63: Hoare triple {7686#(<= 100000 ~SIZE~0)} ~set.base, ~set.offset := #in~set.base, #in~set.offset;~size := #in~size;~value := #in~value;havoc ~i~0;~i~0 := 0; {7686#(<= 100000 ~SIZE~0)} is VALID [2018-11-23 12:10:38,067 INFO L273 TraceCheckUtils]: 64: Hoare triple {7686#(<= 100000 ~SIZE~0)} assume !!(~i~0 < ~size);call #t~mem1 := read~int(~set.base, ~set.offset + 4 * ~i~0, 4); {7686#(<= 100000 ~SIZE~0)} is VALID [2018-11-23 12:10:38,073 INFO L273 TraceCheckUtils]: 65: Hoare triple {7686#(<= 100000 ~SIZE~0)} assume #t~mem1 == ~value;havoc #t~mem1;#res := 1; {7686#(<= 100000 ~SIZE~0)} is VALID [2018-11-23 12:10:38,073 INFO L273 TraceCheckUtils]: 66: Hoare triple {7686#(<= 100000 ~SIZE~0)} assume true; {7686#(<= 100000 ~SIZE~0)} is VALID [2018-11-23 12:10:38,074 INFO L268 TraceCheckUtils]: 67: Hoare quadruple {7686#(<= 100000 ~SIZE~0)} {7686#(<= 100000 ~SIZE~0)} #127#return; {7686#(<= 100000 ~SIZE~0)} is VALID [2018-11-23 12:10:38,074 INFO L273 TraceCheckUtils]: 68: Hoare triple {7686#(<= 100000 ~SIZE~0)} assume -2147483648 <= #t~ret4 && #t~ret4 <= 2147483647; {7686#(<= 100000 ~SIZE~0)} is VALID [2018-11-23 12:10:38,075 INFO L273 TraceCheckUtils]: 69: Hoare triple {7686#(<= 100000 ~SIZE~0)} assume !(1 != #t~ret4);havoc #t~ret4;havoc #t~mem3; {7686#(<= 100000 ~SIZE~0)} is VALID [2018-11-23 12:10:38,075 INFO L273 TraceCheckUtils]: 70: Hoare triple {7686#(<= 100000 ~SIZE~0)} #t~post2 := ~v~0;~v~0 := 1 + #t~post2;havoc #t~post2; {7686#(<= 100000 ~SIZE~0)} is VALID [2018-11-23 12:10:38,075 INFO L273 TraceCheckUtils]: 71: Hoare triple {7686#(<= 100000 ~SIZE~0)} assume !!(~v~0 < ~SIZE~0);call #t~mem3 := read~int(~#values~0.base, ~#values~0.offset + 4 * ~v~0, 4); {7686#(<= 100000 ~SIZE~0)} is VALID [2018-11-23 12:10:38,076 INFO L256 TraceCheckUtils]: 72: Hoare triple {7686#(<= 100000 ~SIZE~0)} call #t~ret4 := elem_exists(~#set~0.base, ~#set~0.offset, ~n~0, #t~mem3); {7686#(<= 100000 ~SIZE~0)} is VALID [2018-11-23 12:10:38,076 INFO L273 TraceCheckUtils]: 73: Hoare triple {7686#(<= 100000 ~SIZE~0)} ~set.base, ~set.offset := #in~set.base, #in~set.offset;~size := #in~size;~value := #in~value;havoc ~i~0;~i~0 := 0; {7686#(<= 100000 ~SIZE~0)} is VALID [2018-11-23 12:10:38,077 INFO L273 TraceCheckUtils]: 74: Hoare triple {7686#(<= 100000 ~SIZE~0)} assume !!(~i~0 < ~size);call #t~mem1 := read~int(~set.base, ~set.offset + 4 * ~i~0, 4); {7686#(<= 100000 ~SIZE~0)} is VALID [2018-11-23 12:10:38,077 INFO L273 TraceCheckUtils]: 75: Hoare triple {7686#(<= 100000 ~SIZE~0)} assume #t~mem1 == ~value;havoc #t~mem1;#res := 1; {7686#(<= 100000 ~SIZE~0)} is VALID [2018-11-23 12:10:38,077 INFO L273 TraceCheckUtils]: 76: Hoare triple {7686#(<= 100000 ~SIZE~0)} assume true; {7686#(<= 100000 ~SIZE~0)} is VALID [2018-11-23 12:10:38,078 INFO L268 TraceCheckUtils]: 77: Hoare quadruple {7686#(<= 100000 ~SIZE~0)} {7686#(<= 100000 ~SIZE~0)} #127#return; {7686#(<= 100000 ~SIZE~0)} is VALID [2018-11-23 12:10:38,078 INFO L273 TraceCheckUtils]: 78: Hoare triple {7686#(<= 100000 ~SIZE~0)} assume -2147483648 <= #t~ret4 && #t~ret4 <= 2147483647; {7686#(<= 100000 ~SIZE~0)} is VALID [2018-11-23 12:10:38,079 INFO L273 TraceCheckUtils]: 79: Hoare triple {7686#(<= 100000 ~SIZE~0)} assume !(1 != #t~ret4);havoc #t~ret4;havoc #t~mem3; {7686#(<= 100000 ~SIZE~0)} is VALID [2018-11-23 12:10:38,080 INFO L273 TraceCheckUtils]: 80: Hoare triple {7686#(<= 100000 ~SIZE~0)} #t~post2 := ~v~0;~v~0 := 1 + #t~post2;havoc #t~post2; {7686#(<= 100000 ~SIZE~0)} is VALID [2018-11-23 12:10:38,080 INFO L273 TraceCheckUtils]: 81: Hoare triple {7686#(<= 100000 ~SIZE~0)} assume !!(~v~0 < ~SIZE~0);call #t~mem3 := read~int(~#values~0.base, ~#values~0.offset + 4 * ~v~0, 4); {7686#(<= 100000 ~SIZE~0)} is VALID [2018-11-23 12:10:38,081 INFO L256 TraceCheckUtils]: 82: Hoare triple {7686#(<= 100000 ~SIZE~0)} call #t~ret4 := elem_exists(~#set~0.base, ~#set~0.offset, ~n~0, #t~mem3); {7686#(<= 100000 ~SIZE~0)} is VALID [2018-11-23 12:10:38,082 INFO L273 TraceCheckUtils]: 83: Hoare triple {7686#(<= 100000 ~SIZE~0)} ~set.base, ~set.offset := #in~set.base, #in~set.offset;~size := #in~size;~value := #in~value;havoc ~i~0;~i~0 := 0; {7686#(<= 100000 ~SIZE~0)} is VALID [2018-11-23 12:10:38,082 INFO L273 TraceCheckUtils]: 84: Hoare triple {7686#(<= 100000 ~SIZE~0)} assume !!(~i~0 < ~size);call #t~mem1 := read~int(~set.base, ~set.offset + 4 * ~i~0, 4); {7686#(<= 100000 ~SIZE~0)} is VALID [2018-11-23 12:10:38,083 INFO L273 TraceCheckUtils]: 85: Hoare triple {7686#(<= 100000 ~SIZE~0)} assume #t~mem1 == ~value;havoc #t~mem1;#res := 1; {7686#(<= 100000 ~SIZE~0)} is VALID [2018-11-23 12:10:38,083 INFO L273 TraceCheckUtils]: 86: Hoare triple {7686#(<= 100000 ~SIZE~0)} assume true; {7686#(<= 100000 ~SIZE~0)} is VALID [2018-11-23 12:10:38,084 INFO L268 TraceCheckUtils]: 87: Hoare quadruple {7686#(<= 100000 ~SIZE~0)} {7686#(<= 100000 ~SIZE~0)} #127#return; {7686#(<= 100000 ~SIZE~0)} is VALID [2018-11-23 12:10:38,085 INFO L273 TraceCheckUtils]: 88: Hoare triple {7686#(<= 100000 ~SIZE~0)} assume -2147483648 <= #t~ret4 && #t~ret4 <= 2147483647; {7686#(<= 100000 ~SIZE~0)} is VALID [2018-11-23 12:10:38,085 INFO L273 TraceCheckUtils]: 89: Hoare triple {7686#(<= 100000 ~SIZE~0)} assume !(1 != #t~ret4);havoc #t~ret4;havoc #t~mem3; {7686#(<= 100000 ~SIZE~0)} is VALID [2018-11-23 12:10:38,086 INFO L273 TraceCheckUtils]: 90: Hoare triple {7686#(<= 100000 ~SIZE~0)} #t~post2 := ~v~0;~v~0 := 1 + #t~post2;havoc #t~post2; {7686#(<= 100000 ~SIZE~0)} is VALID [2018-11-23 12:10:38,086 INFO L273 TraceCheckUtils]: 91: Hoare triple {7686#(<= 100000 ~SIZE~0)} assume !(~v~0 < ~SIZE~0); {7686#(<= 100000 ~SIZE~0)} is VALID [2018-11-23 12:10:38,087 INFO L273 TraceCheckUtils]: 92: Hoare triple {7686#(<= 100000 ~SIZE~0)} ~i~1 := 0; {7975#(and (<= main_~i~1 0) (<= 100000 ~SIZE~0))} is VALID [2018-11-23 12:10:38,088 INFO L273 TraceCheckUtils]: 93: Hoare triple {7975#(and (<= main_~i~1 0) (<= 100000 ~SIZE~0))} assume !!(~i~1 < ~SIZE~0 && 1 != ~found~0);call #t~mem8 := read~int(~#set~0.base, ~#set~0.offset + 4 * ~i~1, 4); {7975#(and (<= main_~i~1 0) (<= 100000 ~SIZE~0))} is VALID [2018-11-23 12:10:38,088 INFO L273 TraceCheckUtils]: 94: Hoare triple {7975#(and (<= main_~i~1 0) (<= 100000 ~SIZE~0))} assume !(#t~mem8 == ~element~0);havoc #t~mem8; {7975#(and (<= main_~i~1 0) (<= 100000 ~SIZE~0))} is VALID [2018-11-23 12:10:38,089 INFO L273 TraceCheckUtils]: 95: Hoare triple {7975#(and (<= main_~i~1 0) (<= 100000 ~SIZE~0))} #t~post7 := ~i~1;~i~1 := 1 + #t~post7;havoc #t~post7; {7985#(and (<= main_~i~1 1) (<= 100000 ~SIZE~0))} is VALID [2018-11-23 12:10:38,090 INFO L273 TraceCheckUtils]: 96: Hoare triple {7985#(and (<= main_~i~1 1) (<= 100000 ~SIZE~0))} assume !!(~i~1 < ~SIZE~0 && 1 != ~found~0);call #t~mem8 := read~int(~#set~0.base, ~#set~0.offset + 4 * ~i~1, 4); {7985#(and (<= main_~i~1 1) (<= 100000 ~SIZE~0))} is VALID [2018-11-23 12:10:38,091 INFO L273 TraceCheckUtils]: 97: Hoare triple {7985#(and (<= main_~i~1 1) (<= 100000 ~SIZE~0))} assume #t~mem8 == ~element~0;havoc #t~mem8;~found~0 := 1;~pos~0 := ~i~1; {7992#(and (<= main_~pos~0 1) (<= 100000 ~SIZE~0))} is VALID [2018-11-23 12:10:38,091 INFO L273 TraceCheckUtils]: 98: Hoare triple {7992#(and (<= main_~pos~0 1) (<= 100000 ~SIZE~0))} #t~post7 := ~i~1;~i~1 := 1 + #t~post7;havoc #t~post7; {7992#(and (<= main_~pos~0 1) (<= 100000 ~SIZE~0))} is VALID [2018-11-23 12:10:38,092 INFO L273 TraceCheckUtils]: 99: Hoare triple {7992#(and (<= main_~pos~0 1) (<= 100000 ~SIZE~0))} assume !(~i~1 < ~SIZE~0 && 1 != ~found~0); {7992#(and (<= main_~pos~0 1) (<= 100000 ~SIZE~0))} is VALID [2018-11-23 12:10:38,093 INFO L273 TraceCheckUtils]: 100: Hoare triple {7992#(and (<= main_~pos~0 1) (<= 100000 ~SIZE~0))} assume 1 == ~found~0;~i~1 := ~pos~0; {7985#(and (<= main_~i~1 1) (<= 100000 ~SIZE~0))} is VALID [2018-11-23 12:10:38,094 INFO L273 TraceCheckUtils]: 101: Hoare triple {7985#(and (<= main_~i~1 1) (<= 100000 ~SIZE~0))} assume !!(~i~1 < ~SIZE~0 - 1);call #t~mem10 := read~int(~#set~0.base, ~#set~0.offset + 4 * (1 + ~i~1), 4);call write~int(#t~mem10, ~#set~0.base, ~#set~0.offset + 4 * ~i~1, 4);havoc #t~mem10; {7985#(and (<= main_~i~1 1) (<= 100000 ~SIZE~0))} is VALID [2018-11-23 12:10:38,095 INFO L273 TraceCheckUtils]: 102: Hoare triple {7985#(and (<= main_~i~1 1) (<= 100000 ~SIZE~0))} #t~post9 := ~i~1;~i~1 := 1 + #t~post9;havoc #t~post9; {8008#(and (<= main_~i~1 2) (<= 100000 ~SIZE~0))} is VALID [2018-11-23 12:10:38,095 INFO L273 TraceCheckUtils]: 103: Hoare triple {8008#(and (<= main_~i~1 2) (<= 100000 ~SIZE~0))} assume !(~i~1 < ~SIZE~0 - 1); {7685#false} is VALID [2018-11-23 12:10:38,096 INFO L273 TraceCheckUtils]: 104: Hoare triple {7685#false} assume 1 == ~found~0;~i~1 := 0; {7685#false} is VALID [2018-11-23 12:10:38,096 INFO L273 TraceCheckUtils]: 105: Hoare triple {7685#false} assume !!(~i~1 < ~SIZE~0 - 1);call #t~mem12 := read~int(~#set~0.base, ~#set~0.offset + 4 * ~i~1, 4); {7685#false} is VALID [2018-11-23 12:10:38,096 INFO L256 TraceCheckUtils]: 106: Hoare triple {7685#false} call __VERIFIER_assert((if #t~mem12 != ~element~0 then 1 else 0)); {7685#false} is VALID [2018-11-23 12:10:38,096 INFO L273 TraceCheckUtils]: 107: Hoare triple {7685#false} ~cond := #in~cond; {7685#false} is VALID [2018-11-23 12:10:38,096 INFO L273 TraceCheckUtils]: 108: Hoare triple {7685#false} assume 0 == ~cond; {7685#false} is VALID [2018-11-23 12:10:38,097 INFO L273 TraceCheckUtils]: 109: Hoare triple {7685#false} assume !false; {7685#false} is VALID [2018-11-23 12:10:38,105 INFO L134 CoverageAnalysis]: Checked inductivity of 287 backedges. 0 proven. 6 refuted. 0 times theorem prover too weak. 281 trivial. 0 not checked. [2018-11-23 12:10:38,125 INFO L312 seRefinementStrategy]: Constructing automaton from 0 perfect and 2 imperfect interpolant sequences. [2018-11-23 12:10:38,125 INFO L327 seRefinementStrategy]: Number of different interpolants: perfect sequences [] imperfect sequences [12, 7] total 16 [2018-11-23 12:10:38,125 INFO L78 Accepts]: Start accepts. Automaton has 16 states. Word has length 110 [2018-11-23 12:10:38,126 INFO L84 Accepts]: Finished accepts. word is accepted. [2018-11-23 12:10:38,126 INFO L86 InductivityCheck]: Starting indutivity check of a Floyd-Hoare automaton with 16 states. [2018-11-23 12:10:38,237 INFO L119 InductivityCheck]: Floyd-Hoare automaton has 114 edges. 114 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2018-11-23 12:10:38,237 INFO L459 AbstractCegarLoop]: Interpolant automaton has 16 states [2018-11-23 12:10:38,237 INFO L142 InterpolantAutomaton]: Constructing interpolant automaton starting with 16 interpolants. [2018-11-23 12:10:38,238 INFO L144 InterpolantAutomaton]: CoverageRelationStatistics Valid=73, Invalid=167, Unknown=0, NotChecked=0, Total=240 [2018-11-23 12:10:38,238 INFO L87 Difference]: Start difference. First operand 129 states and 170 transitions. Second operand 16 states. [2018-11-23 12:10:41,112 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2018-11-23 12:10:41,112 INFO L93 Difference]: Finished difference Result 222 states and 288 transitions. [2018-11-23 12:10:41,113 INFO L142 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 19 states. [2018-11-23 12:10:41,113 INFO L78 Accepts]: Start accepts. Automaton has 16 states. Word has length 110 [2018-11-23 12:10:41,113 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2018-11-23 12:10:41,113 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 16 states. [2018-11-23 12:10:41,117 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 19 states to 19 states and 221 transitions. [2018-11-23 12:10:41,117 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 16 states. [2018-11-23 12:10:41,121 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 19 states to 19 states and 221 transitions. [2018-11-23 12:10:41,121 INFO L86 InductivityCheck]: Starting indutivity check of a Floyd-Hoare automaton with 19 states and 221 transitions. [2018-11-23 12:10:41,752 INFO L119 InductivityCheck]: Floyd-Hoare automaton has 221 edges. 221 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2018-11-23 12:10:41,758 INFO L225 Difference]: With dead ends: 222 [2018-11-23 12:10:41,758 INFO L226 Difference]: Without dead ends: 186 [2018-11-23 12:10:41,759 INFO L631 BasicCegarLoop]: 0 DeclaredPredicates, 132 GetRequests, 107 SyntacticMatches, 0 SemanticMatches, 25 ConstructedPredicates, 0 IntricatePredicates, 0 DeprecatedPredicates, 96 ImplicationChecksByTransitivity, 0.9s TimeCoverageRelationStatistics Valid=190, Invalid=512, Unknown=0, NotChecked=0, Total=702 [2018-11-23 12:10:41,759 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 186 states. [2018-11-23 12:10:42,301 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 186 to 138. [2018-11-23 12:10:42,301 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2018-11-23 12:10:42,301 INFO L82 GeneralOperation]: Start isEquivalent. First operand 186 states. Second operand 138 states. [2018-11-23 12:10:42,302 INFO L74 IsIncluded]: Start isIncluded. First operand 186 states. Second operand 138 states. [2018-11-23 12:10:42,302 INFO L87 Difference]: Start difference. First operand 186 states. Second operand 138 states. [2018-11-23 12:10:42,309 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2018-11-23 12:10:42,309 INFO L93 Difference]: Finished difference Result 186 states and 246 transitions. [2018-11-23 12:10:42,310 INFO L276 IsEmpty]: Start isEmpty. Operand 186 states and 246 transitions. [2018-11-23 12:10:42,311 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2018-11-23 12:10:42,311 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2018-11-23 12:10:42,311 INFO L74 IsIncluded]: Start isIncluded. First operand 138 states. Second operand 186 states. [2018-11-23 12:10:42,311 INFO L87 Difference]: Start difference. First operand 138 states. Second operand 186 states. [2018-11-23 12:10:42,317 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2018-11-23 12:10:42,317 INFO L93 Difference]: Finished difference Result 186 states and 246 transitions. [2018-11-23 12:10:42,317 INFO L276 IsEmpty]: Start isEmpty. Operand 186 states and 246 transitions. [2018-11-23 12:10:42,318 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2018-11-23 12:10:42,318 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2018-11-23 12:10:42,319 INFO L88 GeneralOperation]: Finished isEquivalent. [2018-11-23 12:10:42,319 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2018-11-23 12:10:42,319 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 138 states. [2018-11-23 12:10:42,324 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 138 states to 138 states and 184 transitions. [2018-11-23 12:10:42,324 INFO L78 Accepts]: Start accepts. Automaton has 138 states and 184 transitions. Word has length 110 [2018-11-23 12:10:42,324 INFO L84 Accepts]: Finished accepts. word is rejected. [2018-11-23 12:10:42,324 INFO L480 AbstractCegarLoop]: Abstraction has 138 states and 184 transitions. [2018-11-23 12:10:42,324 INFO L481 AbstractCegarLoop]: Interpolant automaton has 16 states. [2018-11-23 12:10:42,325 INFO L276 IsEmpty]: Start isEmpty. Operand 138 states and 184 transitions. [2018-11-23 12:10:42,326 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 122 [2018-11-23 12:10:42,326 INFO L394 BasicCegarLoop]: Found error trace [2018-11-23 12:10:42,326 INFO L402 BasicCegarLoop]: trace histogram [9, 9, 9, 9, 9, 9, 9, 8, 8, 8, 3, 3, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1] [2018-11-23 12:10:42,326 INFO L423 AbstractCegarLoop]: === Iteration 15 === [__VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION]=== [2018-11-23 12:10:42,327 INFO L141 PredicateUnifier]: Initialized classic predicate unifier [2018-11-23 12:10:42,327 INFO L82 PathProgramCache]: Analyzing trace with hash 1699739102, now seen corresponding path program 2 times [2018-11-23 12:10:42,327 INFO L223 ckRefinementStrategy]: Switched to mode SMTINTERPOL_TREE_INTERPOLANTS [2018-11-23 12:10:42,327 INFO L69 tionRefinementEngine]: Using refinement strategy CamelRefinementStrategy [2018-11-23 12:10:42,328 INFO L119 rtionOrderModulation]: Craig_TreeInterpolation forces the order to NOT_INCREMENTALLY [2018-11-23 12:10:42,328 INFO L101 rtionOrderModulation]: Changing assertion order to NOT_INCREMENTALLY [2018-11-23 12:10:42,328 INFO L119 rtionOrderModulation]: Craig_TreeInterpolation forces the order to NOT_INCREMENTALLY [2018-11-23 12:10:42,349 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2018-11-23 12:10:43,118 INFO L256 TraceCheckUtils]: 0: Hoare triple {8914#true} call ULTIMATE.init(); {8914#true} is VALID [2018-11-23 12:10:43,119 INFO L273 TraceCheckUtils]: 1: Hoare triple {8914#true} #NULL.base, #NULL.offset := 0, 0;#valid := #valid[0 := 0];~SIZE~0 := 100000; {8916#(<= 100000 ~SIZE~0)} is VALID [2018-11-23 12:10:43,119 INFO L273 TraceCheckUtils]: 2: Hoare triple {8916#(<= 100000 ~SIZE~0)} assume true; {8916#(<= 100000 ~SIZE~0)} is VALID [2018-11-23 12:10:43,120 INFO L268 TraceCheckUtils]: 3: Hoare quadruple {8916#(<= 100000 ~SIZE~0)} {8914#true} #123#return; {8916#(<= 100000 ~SIZE~0)} is VALID [2018-11-23 12:10:43,121 INFO L256 TraceCheckUtils]: 4: Hoare triple {8916#(<= 100000 ~SIZE~0)} call #t~ret13 := main(); {8916#(<= 100000 ~SIZE~0)} is VALID [2018-11-23 12:10:43,121 INFO L273 TraceCheckUtils]: 5: Hoare triple {8916#(<= 100000 ~SIZE~0)} havoc ~i~1;havoc ~pos~0;~n~0 := 0;~found~0 := 0;call ~#set~0.base, ~#set~0.offset := #Ultimate.alloc(4 * ~SIZE~0);call ~#values~0.base, ~#values~0.offset := #Ultimate.alloc(4 * ~SIZE~0);havoc ~element~0;havoc ~v~0;~v~0 := 0; {8916#(<= 100000 ~SIZE~0)} is VALID [2018-11-23 12:10:43,122 INFO L273 TraceCheckUtils]: 6: Hoare triple {8916#(<= 100000 ~SIZE~0)} assume !!(~v~0 < ~SIZE~0);call #t~mem3 := read~int(~#values~0.base, ~#values~0.offset + 4 * ~v~0, 4); {8916#(<= 100000 ~SIZE~0)} is VALID [2018-11-23 12:10:43,122 INFO L256 TraceCheckUtils]: 7: Hoare triple {8916#(<= 100000 ~SIZE~0)} call #t~ret4 := elem_exists(~#set~0.base, ~#set~0.offset, ~n~0, #t~mem3); {8914#true} is VALID [2018-11-23 12:10:43,122 INFO L273 TraceCheckUtils]: 8: Hoare triple {8914#true} ~set.base, ~set.offset := #in~set.base, #in~set.offset;~size := #in~size;~value := #in~value;havoc ~i~0;~i~0 := 0; {8914#true} is VALID [2018-11-23 12:10:43,122 INFO L273 TraceCheckUtils]: 9: Hoare triple {8914#true} assume !(~i~0 < ~size); {8914#true} is VALID [2018-11-23 12:10:43,123 INFO L273 TraceCheckUtils]: 10: Hoare triple {8914#true} #res := 0; {8914#true} is VALID [2018-11-23 12:10:43,123 INFO L273 TraceCheckUtils]: 11: Hoare triple {8914#true} assume true; {8914#true} is VALID [2018-11-23 12:10:43,124 INFO L268 TraceCheckUtils]: 12: Hoare quadruple {8914#true} {8916#(<= 100000 ~SIZE~0)} #127#return; {8916#(<= 100000 ~SIZE~0)} is VALID [2018-11-23 12:10:43,124 INFO L273 TraceCheckUtils]: 13: Hoare triple {8916#(<= 100000 ~SIZE~0)} assume -2147483648 <= #t~ret4 && #t~ret4 <= 2147483647; {8916#(<= 100000 ~SIZE~0)} is VALID [2018-11-23 12:10:43,125 INFO L273 TraceCheckUtils]: 14: Hoare triple {8916#(<= 100000 ~SIZE~0)} assume 1 != #t~ret4;havoc #t~ret4;havoc #t~mem3;call #t~mem5 := read~int(~#values~0.base, ~#values~0.offset + 4 * ~v~0, 4); {8916#(<= 100000 ~SIZE~0)} is VALID [2018-11-23 12:10:43,125 INFO L256 TraceCheckUtils]: 15: Hoare triple {8916#(<= 100000 ~SIZE~0)} call #t~ret6 := insert(~#set~0.base, ~#set~0.offset, ~n~0, #t~mem5); {8914#true} is VALID [2018-11-23 12:10:43,125 INFO L273 TraceCheckUtils]: 16: Hoare triple {8914#true} ~set.base, ~set.offset := #in~set.base, #in~set.offset;~size := #in~size;~value := #in~value;call write~int(~value, ~set.base, ~set.offset + 4 * ~size, 4);#res := 1 + ~size; {8914#true} is VALID [2018-11-23 12:10:43,125 INFO L273 TraceCheckUtils]: 17: Hoare triple {8914#true} assume true; {8914#true} is VALID [2018-11-23 12:10:43,126 INFO L268 TraceCheckUtils]: 18: Hoare quadruple {8914#true} {8916#(<= 100000 ~SIZE~0)} #129#return; {8916#(<= 100000 ~SIZE~0)} is VALID [2018-11-23 12:10:43,127 INFO L273 TraceCheckUtils]: 19: Hoare triple {8916#(<= 100000 ~SIZE~0)} assume -2147483648 <= #t~ret6 && #t~ret6 <= 2147483647;~n~0 := #t~ret6;havoc #t~mem5;havoc #t~ret6; {8916#(<= 100000 ~SIZE~0)} is VALID [2018-11-23 12:10:43,127 INFO L273 TraceCheckUtils]: 20: Hoare triple {8916#(<= 100000 ~SIZE~0)} #t~post2 := ~v~0;~v~0 := 1 + #t~post2;havoc #t~post2; {8916#(<= 100000 ~SIZE~0)} is VALID [2018-11-23 12:10:43,128 INFO L273 TraceCheckUtils]: 21: Hoare triple {8916#(<= 100000 ~SIZE~0)} assume !!(~v~0 < ~SIZE~0);call #t~mem3 := read~int(~#values~0.base, ~#values~0.offset + 4 * ~v~0, 4); {8916#(<= 100000 ~SIZE~0)} is VALID [2018-11-23 12:10:43,128 INFO L256 TraceCheckUtils]: 22: Hoare triple {8916#(<= 100000 ~SIZE~0)} call #t~ret4 := elem_exists(~#set~0.base, ~#set~0.offset, ~n~0, #t~mem3); {8914#true} is VALID [2018-11-23 12:10:43,128 INFO L273 TraceCheckUtils]: 23: Hoare triple {8914#true} ~set.base, ~set.offset := #in~set.base, #in~set.offset;~size := #in~size;~value := #in~value;havoc ~i~0;~i~0 := 0; {8914#true} is VALID [2018-11-23 12:10:43,128 INFO L273 TraceCheckUtils]: 24: Hoare triple {8914#true} assume !!(~i~0 < ~size);call #t~mem1 := read~int(~set.base, ~set.offset + 4 * ~i~0, 4); {8914#true} is VALID [2018-11-23 12:10:43,128 INFO L273 TraceCheckUtils]: 25: Hoare triple {8914#true} assume #t~mem1 == ~value;havoc #t~mem1;#res := 1; {8914#true} is VALID [2018-11-23 12:10:43,128 INFO L273 TraceCheckUtils]: 26: Hoare triple {8914#true} assume true; {8914#true} is VALID [2018-11-23 12:10:43,129 INFO L268 TraceCheckUtils]: 27: Hoare quadruple {8914#true} {8916#(<= 100000 ~SIZE~0)} #127#return; {8916#(<= 100000 ~SIZE~0)} is VALID [2018-11-23 12:10:43,130 INFO L273 TraceCheckUtils]: 28: Hoare triple {8916#(<= 100000 ~SIZE~0)} assume -2147483648 <= #t~ret4 && #t~ret4 <= 2147483647; {8916#(<= 100000 ~SIZE~0)} is VALID [2018-11-23 12:10:43,130 INFO L273 TraceCheckUtils]: 29: Hoare triple {8916#(<= 100000 ~SIZE~0)} assume !(1 != #t~ret4);havoc #t~ret4;havoc #t~mem3; {8916#(<= 100000 ~SIZE~0)} is VALID [2018-11-23 12:10:43,131 INFO L273 TraceCheckUtils]: 30: Hoare triple {8916#(<= 100000 ~SIZE~0)} #t~post2 := ~v~0;~v~0 := 1 + #t~post2;havoc #t~post2; {8916#(<= 100000 ~SIZE~0)} is VALID [2018-11-23 12:10:43,131 INFO L273 TraceCheckUtils]: 31: Hoare triple {8916#(<= 100000 ~SIZE~0)} assume !!(~v~0 < ~SIZE~0);call #t~mem3 := read~int(~#values~0.base, ~#values~0.offset + 4 * ~v~0, 4); {8916#(<= 100000 ~SIZE~0)} is VALID [2018-11-23 12:10:43,132 INFO L256 TraceCheckUtils]: 32: Hoare triple {8916#(<= 100000 ~SIZE~0)} call #t~ret4 := elem_exists(~#set~0.base, ~#set~0.offset, ~n~0, #t~mem3); {8914#true} is VALID [2018-11-23 12:10:43,132 INFO L273 TraceCheckUtils]: 33: Hoare triple {8914#true} ~set.base, ~set.offset := #in~set.base, #in~set.offset;~size := #in~size;~value := #in~value;havoc ~i~0;~i~0 := 0; {8914#true} is VALID [2018-11-23 12:10:43,132 INFO L273 TraceCheckUtils]: 34: Hoare triple {8914#true} assume !!(~i~0 < ~size);call #t~mem1 := read~int(~set.base, ~set.offset + 4 * ~i~0, 4); {8914#true} is VALID [2018-11-23 12:10:43,132 INFO L273 TraceCheckUtils]: 35: Hoare triple {8914#true} assume #t~mem1 == ~value;havoc #t~mem1;#res := 1; {8914#true} is VALID [2018-11-23 12:10:43,133 INFO L273 TraceCheckUtils]: 36: Hoare triple {8914#true} assume true; {8914#true} is VALID [2018-11-23 12:10:43,134 INFO L268 TraceCheckUtils]: 37: Hoare quadruple {8914#true} {8916#(<= 100000 ~SIZE~0)} #127#return; {8916#(<= 100000 ~SIZE~0)} is VALID [2018-11-23 12:10:43,134 INFO L273 TraceCheckUtils]: 38: Hoare triple {8916#(<= 100000 ~SIZE~0)} assume -2147483648 <= #t~ret4 && #t~ret4 <= 2147483647; {8916#(<= 100000 ~SIZE~0)} is VALID [2018-11-23 12:10:43,135 INFO L273 TraceCheckUtils]: 39: Hoare triple {8916#(<= 100000 ~SIZE~0)} assume !(1 != #t~ret4);havoc #t~ret4;havoc #t~mem3; {8916#(<= 100000 ~SIZE~0)} is VALID [2018-11-23 12:10:43,135 INFO L273 TraceCheckUtils]: 40: Hoare triple {8916#(<= 100000 ~SIZE~0)} #t~post2 := ~v~0;~v~0 := 1 + #t~post2;havoc #t~post2; {8916#(<= 100000 ~SIZE~0)} is VALID [2018-11-23 12:10:43,135 INFO L273 TraceCheckUtils]: 41: Hoare triple {8916#(<= 100000 ~SIZE~0)} assume !!(~v~0 < ~SIZE~0);call #t~mem3 := read~int(~#values~0.base, ~#values~0.offset + 4 * ~v~0, 4); {8916#(<= 100000 ~SIZE~0)} is VALID [2018-11-23 12:10:43,135 INFO L256 TraceCheckUtils]: 42: Hoare triple {8916#(<= 100000 ~SIZE~0)} call #t~ret4 := elem_exists(~#set~0.base, ~#set~0.offset, ~n~0, #t~mem3); {8914#true} is VALID [2018-11-23 12:10:43,136 INFO L273 TraceCheckUtils]: 43: Hoare triple {8914#true} ~set.base, ~set.offset := #in~set.base, #in~set.offset;~size := #in~size;~value := #in~value;havoc ~i~0;~i~0 := 0; {8914#true} is VALID [2018-11-23 12:10:43,136 INFO L273 TraceCheckUtils]: 44: Hoare triple {8914#true} assume !!(~i~0 < ~size);call #t~mem1 := read~int(~set.base, ~set.offset + 4 * ~i~0, 4); {8914#true} is VALID [2018-11-23 12:10:43,136 INFO L273 TraceCheckUtils]: 45: Hoare triple {8914#true} assume #t~mem1 == ~value;havoc #t~mem1;#res := 1; {8914#true} is VALID [2018-11-23 12:10:43,136 INFO L273 TraceCheckUtils]: 46: Hoare triple {8914#true} assume true; {8914#true} is VALID [2018-11-23 12:10:43,138 INFO L268 TraceCheckUtils]: 47: Hoare quadruple {8914#true} {8916#(<= 100000 ~SIZE~0)} #127#return; {8916#(<= 100000 ~SIZE~0)} is VALID [2018-11-23 12:10:43,138 INFO L273 TraceCheckUtils]: 48: Hoare triple {8916#(<= 100000 ~SIZE~0)} assume -2147483648 <= #t~ret4 && #t~ret4 <= 2147483647; {8916#(<= 100000 ~SIZE~0)} is VALID [2018-11-23 12:10:43,139 INFO L273 TraceCheckUtils]: 49: Hoare triple {8916#(<= 100000 ~SIZE~0)} assume !(1 != #t~ret4);havoc #t~ret4;havoc #t~mem3; {8916#(<= 100000 ~SIZE~0)} is VALID [2018-11-23 12:10:43,139 INFO L273 TraceCheckUtils]: 50: Hoare triple {8916#(<= 100000 ~SIZE~0)} #t~post2 := ~v~0;~v~0 := 1 + #t~post2;havoc #t~post2; {8916#(<= 100000 ~SIZE~0)} is VALID [2018-11-23 12:10:43,140 INFO L273 TraceCheckUtils]: 51: Hoare triple {8916#(<= 100000 ~SIZE~0)} assume !!(~v~0 < ~SIZE~0);call #t~mem3 := read~int(~#values~0.base, ~#values~0.offset + 4 * ~v~0, 4); {8916#(<= 100000 ~SIZE~0)} is VALID [2018-11-23 12:10:43,140 INFO L256 TraceCheckUtils]: 52: Hoare triple {8916#(<= 100000 ~SIZE~0)} call #t~ret4 := elem_exists(~#set~0.base, ~#set~0.offset, ~n~0, #t~mem3); {8914#true} is VALID [2018-11-23 12:10:43,140 INFO L273 TraceCheckUtils]: 53: Hoare triple {8914#true} ~set.base, ~set.offset := #in~set.base, #in~set.offset;~size := #in~size;~value := #in~value;havoc ~i~0;~i~0 := 0; {8914#true} is VALID [2018-11-23 12:10:43,140 INFO L273 TraceCheckUtils]: 54: Hoare triple {8914#true} assume !!(~i~0 < ~size);call #t~mem1 := read~int(~set.base, ~set.offset + 4 * ~i~0, 4); {8914#true} is VALID [2018-11-23 12:10:43,140 INFO L273 TraceCheckUtils]: 55: Hoare triple {8914#true} assume #t~mem1 == ~value;havoc #t~mem1;#res := 1; {8914#true} is VALID [2018-11-23 12:10:43,140 INFO L273 TraceCheckUtils]: 56: Hoare triple {8914#true} assume true; {8914#true} is VALID [2018-11-23 12:10:43,141 INFO L268 TraceCheckUtils]: 57: Hoare quadruple {8914#true} {8916#(<= 100000 ~SIZE~0)} #127#return; {8916#(<= 100000 ~SIZE~0)} is VALID [2018-11-23 12:10:43,142 INFO L273 TraceCheckUtils]: 58: Hoare triple {8916#(<= 100000 ~SIZE~0)} assume -2147483648 <= #t~ret4 && #t~ret4 <= 2147483647; {8916#(<= 100000 ~SIZE~0)} is VALID [2018-11-23 12:10:43,143 INFO L273 TraceCheckUtils]: 59: Hoare triple {8916#(<= 100000 ~SIZE~0)} assume !(1 != #t~ret4);havoc #t~ret4;havoc #t~mem3; {8916#(<= 100000 ~SIZE~0)} is VALID [2018-11-23 12:10:43,143 INFO L273 TraceCheckUtils]: 60: Hoare triple {8916#(<= 100000 ~SIZE~0)} #t~post2 := ~v~0;~v~0 := 1 + #t~post2;havoc #t~post2; {8916#(<= 100000 ~SIZE~0)} is VALID [2018-11-23 12:10:43,144 INFO L273 TraceCheckUtils]: 61: Hoare triple {8916#(<= 100000 ~SIZE~0)} assume !!(~v~0 < ~SIZE~0);call #t~mem3 := read~int(~#values~0.base, ~#values~0.offset + 4 * ~v~0, 4); {8916#(<= 100000 ~SIZE~0)} is VALID [2018-11-23 12:10:43,144 INFO L256 TraceCheckUtils]: 62: Hoare triple {8916#(<= 100000 ~SIZE~0)} call #t~ret4 := elem_exists(~#set~0.base, ~#set~0.offset, ~n~0, #t~mem3); {8914#true} is VALID [2018-11-23 12:10:43,144 INFO L273 TraceCheckUtils]: 63: Hoare triple {8914#true} ~set.base, ~set.offset := #in~set.base, #in~set.offset;~size := #in~size;~value := #in~value;havoc ~i~0;~i~0 := 0; {8914#true} is VALID [2018-11-23 12:10:43,144 INFO L273 TraceCheckUtils]: 64: Hoare triple {8914#true} assume !!(~i~0 < ~size);call #t~mem1 := read~int(~set.base, ~set.offset + 4 * ~i~0, 4); {8914#true} is VALID [2018-11-23 12:10:43,144 INFO L273 TraceCheckUtils]: 65: Hoare triple {8914#true} assume #t~mem1 == ~value;havoc #t~mem1;#res := 1; {8914#true} is VALID [2018-11-23 12:10:43,145 INFO L273 TraceCheckUtils]: 66: Hoare triple {8914#true} assume true; {8914#true} is VALID [2018-11-23 12:10:43,146 INFO L268 TraceCheckUtils]: 67: Hoare quadruple {8914#true} {8916#(<= 100000 ~SIZE~0)} #127#return; {8916#(<= 100000 ~SIZE~0)} is VALID [2018-11-23 12:10:43,147 INFO L273 TraceCheckUtils]: 68: Hoare triple {8916#(<= 100000 ~SIZE~0)} assume -2147483648 <= #t~ret4 && #t~ret4 <= 2147483647; {8916#(<= 100000 ~SIZE~0)} is VALID [2018-11-23 12:10:43,147 INFO L273 TraceCheckUtils]: 69: Hoare triple {8916#(<= 100000 ~SIZE~0)} assume !(1 != #t~ret4);havoc #t~ret4;havoc #t~mem3; {8916#(<= 100000 ~SIZE~0)} is VALID [2018-11-23 12:10:43,147 INFO L273 TraceCheckUtils]: 70: Hoare triple {8916#(<= 100000 ~SIZE~0)} #t~post2 := ~v~0;~v~0 := 1 + #t~post2;havoc #t~post2; {8916#(<= 100000 ~SIZE~0)} is VALID [2018-11-23 12:10:43,147 INFO L273 TraceCheckUtils]: 71: Hoare triple {8916#(<= 100000 ~SIZE~0)} assume !!(~v~0 < ~SIZE~0);call #t~mem3 := read~int(~#values~0.base, ~#values~0.offset + 4 * ~v~0, 4); {8916#(<= 100000 ~SIZE~0)} is VALID [2018-11-23 12:10:43,148 INFO L256 TraceCheckUtils]: 72: Hoare triple {8916#(<= 100000 ~SIZE~0)} call #t~ret4 := elem_exists(~#set~0.base, ~#set~0.offset, ~n~0, #t~mem3); {8914#true} is VALID [2018-11-23 12:10:43,148 INFO L273 TraceCheckUtils]: 73: Hoare triple {8914#true} ~set.base, ~set.offset := #in~set.base, #in~set.offset;~size := #in~size;~value := #in~value;havoc ~i~0;~i~0 := 0; {8914#true} is VALID [2018-11-23 12:10:43,148 INFO L273 TraceCheckUtils]: 74: Hoare triple {8914#true} assume !!(~i~0 < ~size);call #t~mem1 := read~int(~set.base, ~set.offset + 4 * ~i~0, 4); {8914#true} is VALID [2018-11-23 12:10:43,148 INFO L273 TraceCheckUtils]: 75: Hoare triple {8914#true} assume #t~mem1 == ~value;havoc #t~mem1;#res := 1; {8914#true} is VALID [2018-11-23 12:10:43,148 INFO L273 TraceCheckUtils]: 76: Hoare triple {8914#true} assume true; {8914#true} is VALID [2018-11-23 12:10:43,150 INFO L268 TraceCheckUtils]: 77: Hoare quadruple {8914#true} {8916#(<= 100000 ~SIZE~0)} #127#return; {8916#(<= 100000 ~SIZE~0)} is VALID [2018-11-23 12:10:43,150 INFO L273 TraceCheckUtils]: 78: Hoare triple {8916#(<= 100000 ~SIZE~0)} assume -2147483648 <= #t~ret4 && #t~ret4 <= 2147483647; {8916#(<= 100000 ~SIZE~0)} is VALID [2018-11-23 12:10:43,151 INFO L273 TraceCheckUtils]: 79: Hoare triple {8916#(<= 100000 ~SIZE~0)} assume !(1 != #t~ret4);havoc #t~ret4;havoc #t~mem3; {8916#(<= 100000 ~SIZE~0)} is VALID [2018-11-23 12:10:43,151 INFO L273 TraceCheckUtils]: 80: Hoare triple {8916#(<= 100000 ~SIZE~0)} #t~post2 := ~v~0;~v~0 := 1 + #t~post2;havoc #t~post2; {8916#(<= 100000 ~SIZE~0)} is VALID [2018-11-23 12:10:43,152 INFO L273 TraceCheckUtils]: 81: Hoare triple {8916#(<= 100000 ~SIZE~0)} assume !!(~v~0 < ~SIZE~0);call #t~mem3 := read~int(~#values~0.base, ~#values~0.offset + 4 * ~v~0, 4); {8916#(<= 100000 ~SIZE~0)} is VALID [2018-11-23 12:10:43,152 INFO L256 TraceCheckUtils]: 82: Hoare triple {8916#(<= 100000 ~SIZE~0)} call #t~ret4 := elem_exists(~#set~0.base, ~#set~0.offset, ~n~0, #t~mem3); {8914#true} is VALID [2018-11-23 12:10:43,152 INFO L273 TraceCheckUtils]: 83: Hoare triple {8914#true} ~set.base, ~set.offset := #in~set.base, #in~set.offset;~size := #in~size;~value := #in~value;havoc ~i~0;~i~0 := 0; {8914#true} is VALID [2018-11-23 12:10:43,152 INFO L273 TraceCheckUtils]: 84: Hoare triple {8914#true} assume !!(~i~0 < ~size);call #t~mem1 := read~int(~set.base, ~set.offset + 4 * ~i~0, 4); {8914#true} is VALID [2018-11-23 12:10:43,153 INFO L273 TraceCheckUtils]: 85: Hoare triple {8914#true} assume #t~mem1 == ~value;havoc #t~mem1;#res := 1; {8914#true} is VALID [2018-11-23 12:10:43,153 INFO L273 TraceCheckUtils]: 86: Hoare triple {8914#true} assume true; {8914#true} is VALID [2018-11-23 12:10:43,154 INFO L268 TraceCheckUtils]: 87: Hoare quadruple {8914#true} {8916#(<= 100000 ~SIZE~0)} #127#return; {8916#(<= 100000 ~SIZE~0)} is VALID [2018-11-23 12:10:43,155 INFO L273 TraceCheckUtils]: 88: Hoare triple {8916#(<= 100000 ~SIZE~0)} assume -2147483648 <= #t~ret4 && #t~ret4 <= 2147483647; {8916#(<= 100000 ~SIZE~0)} is VALID [2018-11-23 12:10:43,155 INFO L273 TraceCheckUtils]: 89: Hoare triple {8916#(<= 100000 ~SIZE~0)} assume !(1 != #t~ret4);havoc #t~ret4;havoc #t~mem3; {8916#(<= 100000 ~SIZE~0)} is VALID [2018-11-23 12:10:43,156 INFO L273 TraceCheckUtils]: 90: Hoare triple {8916#(<= 100000 ~SIZE~0)} #t~post2 := ~v~0;~v~0 := 1 + #t~post2;havoc #t~post2; {8916#(<= 100000 ~SIZE~0)} is VALID [2018-11-23 12:10:43,156 INFO L273 TraceCheckUtils]: 91: Hoare triple {8916#(<= 100000 ~SIZE~0)} assume !!(~v~0 < ~SIZE~0);call #t~mem3 := read~int(~#values~0.base, ~#values~0.offset + 4 * ~v~0, 4); {8916#(<= 100000 ~SIZE~0)} is VALID [2018-11-23 12:10:43,157 INFO L256 TraceCheckUtils]: 92: Hoare triple {8916#(<= 100000 ~SIZE~0)} call #t~ret4 := elem_exists(~#set~0.base, ~#set~0.offset, ~n~0, #t~mem3); {8914#true} is VALID [2018-11-23 12:10:43,157 INFO L273 TraceCheckUtils]: 93: Hoare triple {8914#true} ~set.base, ~set.offset := #in~set.base, #in~set.offset;~size := #in~size;~value := #in~value;havoc ~i~0;~i~0 := 0; {8914#true} is VALID [2018-11-23 12:10:43,157 INFO L273 TraceCheckUtils]: 94: Hoare triple {8914#true} assume !!(~i~0 < ~size);call #t~mem1 := read~int(~set.base, ~set.offset + 4 * ~i~0, 4); {8914#true} is VALID [2018-11-23 12:10:43,157 INFO L273 TraceCheckUtils]: 95: Hoare triple {8914#true} assume #t~mem1 == ~value;havoc #t~mem1;#res := 1; {8914#true} is VALID [2018-11-23 12:10:43,157 INFO L273 TraceCheckUtils]: 96: Hoare triple {8914#true} assume true; {8914#true} is VALID [2018-11-23 12:10:43,159 INFO L268 TraceCheckUtils]: 97: Hoare quadruple {8914#true} {8916#(<= 100000 ~SIZE~0)} #127#return; {8916#(<= 100000 ~SIZE~0)} is VALID [2018-11-23 12:10:43,159 INFO L273 TraceCheckUtils]: 98: Hoare triple {8916#(<= 100000 ~SIZE~0)} assume -2147483648 <= #t~ret4 && #t~ret4 <= 2147483647; {8916#(<= 100000 ~SIZE~0)} is VALID [2018-11-23 12:10:43,159 INFO L273 TraceCheckUtils]: 99: Hoare triple {8916#(<= 100000 ~SIZE~0)} assume !(1 != #t~ret4);havoc #t~ret4;havoc #t~mem3; {8916#(<= 100000 ~SIZE~0)} is VALID [2018-11-23 12:10:43,160 INFO L273 TraceCheckUtils]: 100: Hoare triple {8916#(<= 100000 ~SIZE~0)} #t~post2 := ~v~0;~v~0 := 1 + #t~post2;havoc #t~post2; {8916#(<= 100000 ~SIZE~0)} is VALID [2018-11-23 12:10:43,160 INFO L273 TraceCheckUtils]: 101: Hoare triple {8916#(<= 100000 ~SIZE~0)} assume !(~v~0 < ~SIZE~0); {8916#(<= 100000 ~SIZE~0)} is VALID [2018-11-23 12:10:43,161 INFO L273 TraceCheckUtils]: 102: Hoare triple {8916#(<= 100000 ~SIZE~0)} ~i~1 := 0; {8917#(and (= 0 main_~i~1) (<= 100000 ~SIZE~0))} is VALID [2018-11-23 12:10:43,162 INFO L273 TraceCheckUtils]: 103: Hoare triple {8917#(and (= 0 main_~i~1) (<= 100000 ~SIZE~0))} assume !!(~i~1 < ~SIZE~0 && 1 != ~found~0);call #t~mem8 := read~int(~#set~0.base, ~#set~0.offset + 4 * ~i~1, 4); {8917#(and (= 0 main_~i~1) (<= 100000 ~SIZE~0))} is VALID [2018-11-23 12:10:43,162 INFO L273 TraceCheckUtils]: 104: Hoare triple {8917#(and (= 0 main_~i~1) (<= 100000 ~SIZE~0))} assume #t~mem8 == ~element~0;havoc #t~mem8;~found~0 := 1;~pos~0 := ~i~1; {8918#(and (= 0 main_~pos~0) (<= 100000 ~SIZE~0))} is VALID [2018-11-23 12:10:43,163 INFO L273 TraceCheckUtils]: 105: Hoare triple {8918#(and (= 0 main_~pos~0) (<= 100000 ~SIZE~0))} #t~post7 := ~i~1;~i~1 := 1 + #t~post7;havoc #t~post7; {8918#(and (= 0 main_~pos~0) (<= 100000 ~SIZE~0))} is VALID [2018-11-23 12:10:43,164 INFO L273 TraceCheckUtils]: 106: Hoare triple {8918#(and (= 0 main_~pos~0) (<= 100000 ~SIZE~0))} assume !(~i~1 < ~SIZE~0 && 1 != ~found~0); {8918#(and (= 0 main_~pos~0) (<= 100000 ~SIZE~0))} is VALID [2018-11-23 12:10:43,164 INFO L273 TraceCheckUtils]: 107: Hoare triple {8918#(and (= 0 main_~pos~0) (<= 100000 ~SIZE~0))} assume 1 == ~found~0;~i~1 := ~pos~0; {8917#(and (= 0 main_~i~1) (<= 100000 ~SIZE~0))} is VALID [2018-11-23 12:10:43,165 INFO L273 TraceCheckUtils]: 108: Hoare triple {8917#(and (= 0 main_~i~1) (<= 100000 ~SIZE~0))} assume !!(~i~1 < ~SIZE~0 - 1);call #t~mem10 := read~int(~#set~0.base, ~#set~0.offset + 4 * (1 + ~i~1), 4);call write~int(#t~mem10, ~#set~0.base, ~#set~0.offset + 4 * ~i~1, 4);havoc #t~mem10; {8917#(and (= 0 main_~i~1) (<= 100000 ~SIZE~0))} is VALID [2018-11-23 12:10:43,166 INFO L273 TraceCheckUtils]: 109: Hoare triple {8917#(and (= 0 main_~i~1) (<= 100000 ~SIZE~0))} #t~post9 := ~i~1;~i~1 := 1 + #t~post9;havoc #t~post9; {8919#(<= (+ main_~i~1 99999) ~SIZE~0)} is VALID [2018-11-23 12:10:43,167 INFO L273 TraceCheckUtils]: 110: Hoare triple {8919#(<= (+ main_~i~1 99999) ~SIZE~0)} assume !!(~i~1 < ~SIZE~0 - 1);call #t~mem10 := read~int(~#set~0.base, ~#set~0.offset + 4 * (1 + ~i~1), 4);call write~int(#t~mem10, ~#set~0.base, ~#set~0.offset + 4 * ~i~1, 4);havoc #t~mem10; {8919#(<= (+ main_~i~1 99999) ~SIZE~0)} is VALID [2018-11-23 12:10:43,168 INFO L273 TraceCheckUtils]: 111: Hoare triple {8919#(<= (+ main_~i~1 99999) ~SIZE~0)} #t~post9 := ~i~1;~i~1 := 1 + #t~post9;havoc #t~post9; {8920#(<= (+ main_~i~1 99998) ~SIZE~0)} is VALID [2018-11-23 12:10:43,168 INFO L273 TraceCheckUtils]: 112: Hoare triple {8920#(<= (+ main_~i~1 99998) ~SIZE~0)} assume !!(~i~1 < ~SIZE~0 - 1);call #t~mem10 := read~int(~#set~0.base, ~#set~0.offset + 4 * (1 + ~i~1), 4);call write~int(#t~mem10, ~#set~0.base, ~#set~0.offset + 4 * ~i~1, 4);havoc #t~mem10; {8920#(<= (+ main_~i~1 99998) ~SIZE~0)} is VALID [2018-11-23 12:10:43,169 INFO L273 TraceCheckUtils]: 113: Hoare triple {8920#(<= (+ main_~i~1 99998) ~SIZE~0)} #t~post9 := ~i~1;~i~1 := 1 + #t~post9;havoc #t~post9; {8921#(<= (+ main_~i~1 99997) ~SIZE~0)} is VALID [2018-11-23 12:10:43,170 INFO L273 TraceCheckUtils]: 114: Hoare triple {8921#(<= (+ main_~i~1 99997) ~SIZE~0)} assume !(~i~1 < ~SIZE~0 - 1); {8915#false} is VALID [2018-11-23 12:10:43,170 INFO L273 TraceCheckUtils]: 115: Hoare triple {8915#false} assume 1 == ~found~0;~i~1 := 0; {8915#false} is VALID [2018-11-23 12:10:43,170 INFO L273 TraceCheckUtils]: 116: Hoare triple {8915#false} assume !!(~i~1 < ~SIZE~0 - 1);call #t~mem12 := read~int(~#set~0.base, ~#set~0.offset + 4 * ~i~1, 4); {8915#false} is VALID [2018-11-23 12:10:43,170 INFO L256 TraceCheckUtils]: 117: Hoare triple {8915#false} call __VERIFIER_assert((if #t~mem12 != ~element~0 then 1 else 0)); {8915#false} is VALID [2018-11-23 12:10:43,170 INFO L273 TraceCheckUtils]: 118: Hoare triple {8915#false} ~cond := #in~cond; {8915#false} is VALID [2018-11-23 12:10:43,171 INFO L273 TraceCheckUtils]: 119: Hoare triple {8915#false} assume 0 == ~cond; {8915#false} is VALID [2018-11-23 12:10:43,171 INFO L273 TraceCheckUtils]: 120: Hoare triple {8915#false} assume !false; {8915#false} is VALID [2018-11-23 12:10:43,179 INFO L134 CoverageAnalysis]: Checked inductivity of 371 backedges. 0 proven. 10 refuted. 0 times theorem prover too weak. 361 trivial. 0 not checked. [2018-11-23 12:10:43,180 INFO L300 seRefinementStrategy]: The current sequences of interpolants are not accepted, trying to find more. [2018-11-23 12:10:43,180 INFO L223 ckRefinementStrategy]: Switched to mode Z3_FP No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 Starting monitored process 12 with z3 -smt2 -in SMTLIB2_COMPLIANT=true -t:12000 (exit command is (exit), workingDir is null) Waiting until toolchain timeout for monitored process 12 with z3 -smt2 -in SMTLIB2_COMPLIANT=true -t:12000 [2018-11-23 12:10:43,188 INFO L103 rtionOrderModulation]: Keeping assertion order OUTSIDE_LOOP_FIRST1 [2018-11-23 12:10:43,256 INFO L249 tOrderPrioritization]: Assert order OUTSIDE_LOOP_FIRST1 issued 2 check-sat command(s) [2018-11-23 12:10:43,257 INFO L250 tOrderPrioritization]: Conjunction of SSA is unsat [2018-11-23 12:10:43,281 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2018-11-23 12:10:43,284 INFO L273 TraceCheckSpWp]: Computing forward predicates... [2018-11-23 12:10:43,891 INFO L256 TraceCheckUtils]: 0: Hoare triple {8914#true} call ULTIMATE.init(); {8914#true} is VALID [2018-11-23 12:10:43,892 INFO L273 TraceCheckUtils]: 1: Hoare triple {8914#true} #NULL.base, #NULL.offset := 0, 0;#valid := #valid[0 := 0];~SIZE~0 := 100000; {8916#(<= 100000 ~SIZE~0)} is VALID [2018-11-23 12:10:43,893 INFO L273 TraceCheckUtils]: 2: Hoare triple {8916#(<= 100000 ~SIZE~0)} assume true; {8916#(<= 100000 ~SIZE~0)} is VALID [2018-11-23 12:10:43,893 INFO L268 TraceCheckUtils]: 3: Hoare quadruple {8916#(<= 100000 ~SIZE~0)} {8914#true} #123#return; {8916#(<= 100000 ~SIZE~0)} is VALID [2018-11-23 12:10:43,894 INFO L256 TraceCheckUtils]: 4: Hoare triple {8916#(<= 100000 ~SIZE~0)} call #t~ret13 := main(); {8916#(<= 100000 ~SIZE~0)} is VALID [2018-11-23 12:10:43,894 INFO L273 TraceCheckUtils]: 5: Hoare triple {8916#(<= 100000 ~SIZE~0)} havoc ~i~1;havoc ~pos~0;~n~0 := 0;~found~0 := 0;call ~#set~0.base, ~#set~0.offset := #Ultimate.alloc(4 * ~SIZE~0);call ~#values~0.base, ~#values~0.offset := #Ultimate.alloc(4 * ~SIZE~0);havoc ~element~0;havoc ~v~0;~v~0 := 0; {8940#(and (<= main_~v~0 0) (<= 100000 ~SIZE~0))} is VALID [2018-11-23 12:10:43,895 INFO L273 TraceCheckUtils]: 6: Hoare triple {8940#(and (<= main_~v~0 0) (<= 100000 ~SIZE~0))} assume !!(~v~0 < ~SIZE~0);call #t~mem3 := read~int(~#values~0.base, ~#values~0.offset + 4 * ~v~0, 4); {8940#(and (<= main_~v~0 0) (<= 100000 ~SIZE~0))} is VALID [2018-11-23 12:10:43,896 INFO L256 TraceCheckUtils]: 7: Hoare triple {8940#(and (<= main_~v~0 0) (<= 100000 ~SIZE~0))} call #t~ret4 := elem_exists(~#set~0.base, ~#set~0.offset, ~n~0, #t~mem3); {8916#(<= 100000 ~SIZE~0)} is VALID [2018-11-23 12:10:43,897 INFO L273 TraceCheckUtils]: 8: Hoare triple {8916#(<= 100000 ~SIZE~0)} ~set.base, ~set.offset := #in~set.base, #in~set.offset;~size := #in~size;~value := #in~value;havoc ~i~0;~i~0 := 0; {8916#(<= 100000 ~SIZE~0)} is VALID [2018-11-23 12:10:43,897 INFO L273 TraceCheckUtils]: 9: Hoare triple {8916#(<= 100000 ~SIZE~0)} assume !(~i~0 < ~size); {8916#(<= 100000 ~SIZE~0)} is VALID [2018-11-23 12:10:43,898 INFO L273 TraceCheckUtils]: 10: Hoare triple {8916#(<= 100000 ~SIZE~0)} #res := 0; {8916#(<= 100000 ~SIZE~0)} is VALID [2018-11-23 12:10:43,898 INFO L273 TraceCheckUtils]: 11: Hoare triple {8916#(<= 100000 ~SIZE~0)} assume true; {8916#(<= 100000 ~SIZE~0)} is VALID [2018-11-23 12:10:43,900 INFO L268 TraceCheckUtils]: 12: Hoare quadruple {8916#(<= 100000 ~SIZE~0)} {8940#(and (<= main_~v~0 0) (<= 100000 ~SIZE~0))} #127#return; {8940#(and (<= main_~v~0 0) (<= 100000 ~SIZE~0))} is VALID [2018-11-23 12:10:43,901 INFO L273 TraceCheckUtils]: 13: Hoare triple {8940#(and (<= main_~v~0 0) (<= 100000 ~SIZE~0))} assume -2147483648 <= #t~ret4 && #t~ret4 <= 2147483647; {8940#(and (<= main_~v~0 0) (<= 100000 ~SIZE~0))} is VALID [2018-11-23 12:10:43,920 INFO L273 TraceCheckUtils]: 14: Hoare triple {8940#(and (<= main_~v~0 0) (<= 100000 ~SIZE~0))} assume 1 != #t~ret4;havoc #t~ret4;havoc #t~mem3;call #t~mem5 := read~int(~#values~0.base, ~#values~0.offset + 4 * ~v~0, 4); {8940#(and (<= main_~v~0 0) (<= 100000 ~SIZE~0))} is VALID [2018-11-23 12:10:43,935 INFO L256 TraceCheckUtils]: 15: Hoare triple {8940#(and (<= main_~v~0 0) (<= 100000 ~SIZE~0))} call #t~ret6 := insert(~#set~0.base, ~#set~0.offset, ~n~0, #t~mem5); {8916#(<= 100000 ~SIZE~0)} is VALID [2018-11-23 12:10:43,950 INFO L273 TraceCheckUtils]: 16: Hoare triple {8916#(<= 100000 ~SIZE~0)} ~set.base, ~set.offset := #in~set.base, #in~set.offset;~size := #in~size;~value := #in~value;call write~int(~value, ~set.base, ~set.offset + 4 * ~size, 4);#res := 1 + ~size; {8916#(<= 100000 ~SIZE~0)} is VALID [2018-11-23 12:10:43,955 INFO L273 TraceCheckUtils]: 17: Hoare triple {8916#(<= 100000 ~SIZE~0)} assume true; {8916#(<= 100000 ~SIZE~0)} is VALID [2018-11-23 12:10:43,956 INFO L268 TraceCheckUtils]: 18: Hoare quadruple {8916#(<= 100000 ~SIZE~0)} {8940#(and (<= main_~v~0 0) (<= 100000 ~SIZE~0))} #129#return; {8940#(and (<= main_~v~0 0) (<= 100000 ~SIZE~0))} is VALID [2018-11-23 12:10:43,957 INFO L273 TraceCheckUtils]: 19: Hoare triple {8940#(and (<= main_~v~0 0) (<= 100000 ~SIZE~0))} assume -2147483648 <= #t~ret6 && #t~ret6 <= 2147483647;~n~0 := #t~ret6;havoc #t~mem5;havoc #t~ret6; {8940#(and (<= main_~v~0 0) (<= 100000 ~SIZE~0))} is VALID [2018-11-23 12:10:43,957 INFO L273 TraceCheckUtils]: 20: Hoare triple {8940#(and (<= main_~v~0 0) (<= 100000 ~SIZE~0))} #t~post2 := ~v~0;~v~0 := 1 + #t~post2;havoc #t~post2; {8986#(and (<= main_~v~0 1) (<= 100000 ~SIZE~0))} is VALID [2018-11-23 12:10:43,958 INFO L273 TraceCheckUtils]: 21: Hoare triple {8986#(and (<= main_~v~0 1) (<= 100000 ~SIZE~0))} assume !!(~v~0 < ~SIZE~0);call #t~mem3 := read~int(~#values~0.base, ~#values~0.offset + 4 * ~v~0, 4); {8986#(and (<= main_~v~0 1) (<= 100000 ~SIZE~0))} is VALID [2018-11-23 12:10:43,960 INFO L256 TraceCheckUtils]: 22: Hoare triple {8986#(and (<= main_~v~0 1) (<= 100000 ~SIZE~0))} call #t~ret4 := elem_exists(~#set~0.base, ~#set~0.offset, ~n~0, #t~mem3); {8916#(<= 100000 ~SIZE~0)} is VALID [2018-11-23 12:10:43,960 INFO L273 TraceCheckUtils]: 23: Hoare triple {8916#(<= 100000 ~SIZE~0)} ~set.base, ~set.offset := #in~set.base, #in~set.offset;~size := #in~size;~value := #in~value;havoc ~i~0;~i~0 := 0; {8916#(<= 100000 ~SIZE~0)} is VALID [2018-11-23 12:10:43,961 INFO L273 TraceCheckUtils]: 24: Hoare triple {8916#(<= 100000 ~SIZE~0)} assume !!(~i~0 < ~size);call #t~mem1 := read~int(~set.base, ~set.offset + 4 * ~i~0, 4); {8916#(<= 100000 ~SIZE~0)} is VALID [2018-11-23 12:10:43,961 INFO L273 TraceCheckUtils]: 25: Hoare triple {8916#(<= 100000 ~SIZE~0)} assume #t~mem1 == ~value;havoc #t~mem1;#res := 1; {8916#(<= 100000 ~SIZE~0)} is VALID [2018-11-23 12:10:43,962 INFO L273 TraceCheckUtils]: 26: Hoare triple {8916#(<= 100000 ~SIZE~0)} assume true; {8916#(<= 100000 ~SIZE~0)} is VALID [2018-11-23 12:10:43,963 INFO L268 TraceCheckUtils]: 27: Hoare quadruple {8916#(<= 100000 ~SIZE~0)} {8986#(and (<= main_~v~0 1) (<= 100000 ~SIZE~0))} #127#return; {8986#(and (<= main_~v~0 1) (<= 100000 ~SIZE~0))} is VALID [2018-11-23 12:10:43,964 INFO L273 TraceCheckUtils]: 28: Hoare triple {8986#(and (<= main_~v~0 1) (<= 100000 ~SIZE~0))} assume -2147483648 <= #t~ret4 && #t~ret4 <= 2147483647; {8986#(and (<= main_~v~0 1) (<= 100000 ~SIZE~0))} is VALID [2018-11-23 12:10:43,965 INFO L273 TraceCheckUtils]: 29: Hoare triple {8986#(and (<= main_~v~0 1) (<= 100000 ~SIZE~0))} assume !(1 != #t~ret4);havoc #t~ret4;havoc #t~mem3; {8986#(and (<= main_~v~0 1) (<= 100000 ~SIZE~0))} is VALID [2018-11-23 12:10:43,966 INFO L273 TraceCheckUtils]: 30: Hoare triple {8986#(and (<= main_~v~0 1) (<= 100000 ~SIZE~0))} #t~post2 := ~v~0;~v~0 := 1 + #t~post2;havoc #t~post2; {9017#(and (<= main_~v~0 2) (<= 100000 ~SIZE~0))} is VALID [2018-11-23 12:10:43,966 INFO L273 TraceCheckUtils]: 31: Hoare triple {9017#(and (<= main_~v~0 2) (<= 100000 ~SIZE~0))} assume !!(~v~0 < ~SIZE~0);call #t~mem3 := read~int(~#values~0.base, ~#values~0.offset + 4 * ~v~0, 4); {9017#(and (<= main_~v~0 2) (<= 100000 ~SIZE~0))} is VALID [2018-11-23 12:10:43,968 INFO L256 TraceCheckUtils]: 32: Hoare triple {9017#(and (<= main_~v~0 2) (<= 100000 ~SIZE~0))} call #t~ret4 := elem_exists(~#set~0.base, ~#set~0.offset, ~n~0, #t~mem3); {8916#(<= 100000 ~SIZE~0)} is VALID [2018-11-23 12:10:43,969 INFO L273 TraceCheckUtils]: 33: Hoare triple {8916#(<= 100000 ~SIZE~0)} ~set.base, ~set.offset := #in~set.base, #in~set.offset;~size := #in~size;~value := #in~value;havoc ~i~0;~i~0 := 0; {8916#(<= 100000 ~SIZE~0)} is VALID [2018-11-23 12:10:43,969 INFO L273 TraceCheckUtils]: 34: Hoare triple {8916#(<= 100000 ~SIZE~0)} assume !!(~i~0 < ~size);call #t~mem1 := read~int(~set.base, ~set.offset + 4 * ~i~0, 4); {8916#(<= 100000 ~SIZE~0)} is VALID [2018-11-23 12:10:43,970 INFO L273 TraceCheckUtils]: 35: Hoare triple {8916#(<= 100000 ~SIZE~0)} assume #t~mem1 == ~value;havoc #t~mem1;#res := 1; {8916#(<= 100000 ~SIZE~0)} is VALID [2018-11-23 12:10:43,970 INFO L273 TraceCheckUtils]: 36: Hoare triple {8916#(<= 100000 ~SIZE~0)} assume true; {8916#(<= 100000 ~SIZE~0)} is VALID [2018-11-23 12:10:43,972 INFO L268 TraceCheckUtils]: 37: Hoare quadruple {8916#(<= 100000 ~SIZE~0)} {9017#(and (<= main_~v~0 2) (<= 100000 ~SIZE~0))} #127#return; {9017#(and (<= main_~v~0 2) (<= 100000 ~SIZE~0))} is VALID [2018-11-23 12:10:43,973 INFO L273 TraceCheckUtils]: 38: Hoare triple {9017#(and (<= main_~v~0 2) (<= 100000 ~SIZE~0))} assume -2147483648 <= #t~ret4 && #t~ret4 <= 2147483647; {9017#(and (<= main_~v~0 2) (<= 100000 ~SIZE~0))} is VALID [2018-11-23 12:10:43,973 INFO L273 TraceCheckUtils]: 39: Hoare triple {9017#(and (<= main_~v~0 2) (<= 100000 ~SIZE~0))} assume !(1 != #t~ret4);havoc #t~ret4;havoc #t~mem3; {9017#(and (<= main_~v~0 2) (<= 100000 ~SIZE~0))} is VALID [2018-11-23 12:10:43,974 INFO L273 TraceCheckUtils]: 40: Hoare triple {9017#(and (<= main_~v~0 2) (<= 100000 ~SIZE~0))} #t~post2 := ~v~0;~v~0 := 1 + #t~post2;havoc #t~post2; {9048#(and (<= main_~v~0 3) (<= 100000 ~SIZE~0))} is VALID [2018-11-23 12:10:43,975 INFO L273 TraceCheckUtils]: 41: Hoare triple {9048#(and (<= main_~v~0 3) (<= 100000 ~SIZE~0))} assume !!(~v~0 < ~SIZE~0);call #t~mem3 := read~int(~#values~0.base, ~#values~0.offset + 4 * ~v~0, 4); {9048#(and (<= main_~v~0 3) (<= 100000 ~SIZE~0))} is VALID [2018-11-23 12:10:43,977 INFO L256 TraceCheckUtils]: 42: Hoare triple {9048#(and (<= main_~v~0 3) (<= 100000 ~SIZE~0))} call #t~ret4 := elem_exists(~#set~0.base, ~#set~0.offset, ~n~0, #t~mem3); {8916#(<= 100000 ~SIZE~0)} is VALID [2018-11-23 12:10:43,978 INFO L273 TraceCheckUtils]: 43: Hoare triple {8916#(<= 100000 ~SIZE~0)} ~set.base, ~set.offset := #in~set.base, #in~set.offset;~size := #in~size;~value := #in~value;havoc ~i~0;~i~0 := 0; {8916#(<= 100000 ~SIZE~0)} is VALID [2018-11-23 12:10:43,978 INFO L273 TraceCheckUtils]: 44: Hoare triple {8916#(<= 100000 ~SIZE~0)} assume !!(~i~0 < ~size);call #t~mem1 := read~int(~set.base, ~set.offset + 4 * ~i~0, 4); {8916#(<= 100000 ~SIZE~0)} is VALID [2018-11-23 12:10:43,979 INFO L273 TraceCheckUtils]: 45: Hoare triple {8916#(<= 100000 ~SIZE~0)} assume #t~mem1 == ~value;havoc #t~mem1;#res := 1; {8916#(<= 100000 ~SIZE~0)} is VALID [2018-11-23 12:10:43,979 INFO L273 TraceCheckUtils]: 46: Hoare triple {8916#(<= 100000 ~SIZE~0)} assume true; {8916#(<= 100000 ~SIZE~0)} is VALID [2018-11-23 12:10:43,981 INFO L268 TraceCheckUtils]: 47: Hoare quadruple {8916#(<= 100000 ~SIZE~0)} {9048#(and (<= main_~v~0 3) (<= 100000 ~SIZE~0))} #127#return; {9048#(and (<= main_~v~0 3) (<= 100000 ~SIZE~0))} is VALID [2018-11-23 12:10:43,982 INFO L273 TraceCheckUtils]: 48: Hoare triple {9048#(and (<= main_~v~0 3) (<= 100000 ~SIZE~0))} assume -2147483648 <= #t~ret4 && #t~ret4 <= 2147483647; {9048#(and (<= main_~v~0 3) (<= 100000 ~SIZE~0))} is VALID [2018-11-23 12:10:43,982 INFO L273 TraceCheckUtils]: 49: Hoare triple {9048#(and (<= main_~v~0 3) (<= 100000 ~SIZE~0))} assume !(1 != #t~ret4);havoc #t~ret4;havoc #t~mem3; {9048#(and (<= main_~v~0 3) (<= 100000 ~SIZE~0))} is VALID [2018-11-23 12:10:43,983 INFO L273 TraceCheckUtils]: 50: Hoare triple {9048#(and (<= main_~v~0 3) (<= 100000 ~SIZE~0))} #t~post2 := ~v~0;~v~0 := 1 + #t~post2;havoc #t~post2; {9079#(and (<= main_~v~0 4) (<= 100000 ~SIZE~0))} is VALID [2018-11-23 12:10:43,984 INFO L273 TraceCheckUtils]: 51: Hoare triple {9079#(and (<= main_~v~0 4) (<= 100000 ~SIZE~0))} assume !!(~v~0 < ~SIZE~0);call #t~mem3 := read~int(~#values~0.base, ~#values~0.offset + 4 * ~v~0, 4); {9079#(and (<= main_~v~0 4) (<= 100000 ~SIZE~0))} is VALID [2018-11-23 12:10:43,986 INFO L256 TraceCheckUtils]: 52: Hoare triple {9079#(and (<= main_~v~0 4) (<= 100000 ~SIZE~0))} call #t~ret4 := elem_exists(~#set~0.base, ~#set~0.offset, ~n~0, #t~mem3); {8916#(<= 100000 ~SIZE~0)} is VALID [2018-11-23 12:10:43,986 INFO L273 TraceCheckUtils]: 53: Hoare triple {8916#(<= 100000 ~SIZE~0)} ~set.base, ~set.offset := #in~set.base, #in~set.offset;~size := #in~size;~value := #in~value;havoc ~i~0;~i~0 := 0; {8916#(<= 100000 ~SIZE~0)} is VALID [2018-11-23 12:10:43,987 INFO L273 TraceCheckUtils]: 54: Hoare triple {8916#(<= 100000 ~SIZE~0)} assume !!(~i~0 < ~size);call #t~mem1 := read~int(~set.base, ~set.offset + 4 * ~i~0, 4); {8916#(<= 100000 ~SIZE~0)} is VALID [2018-11-23 12:10:43,987 INFO L273 TraceCheckUtils]: 55: Hoare triple {8916#(<= 100000 ~SIZE~0)} assume #t~mem1 == ~value;havoc #t~mem1;#res := 1; {8916#(<= 100000 ~SIZE~0)} is VALID [2018-11-23 12:10:43,988 INFO L273 TraceCheckUtils]: 56: Hoare triple {8916#(<= 100000 ~SIZE~0)} assume true; {8916#(<= 100000 ~SIZE~0)} is VALID [2018-11-23 12:10:43,989 INFO L268 TraceCheckUtils]: 57: Hoare quadruple {8916#(<= 100000 ~SIZE~0)} {9079#(and (<= main_~v~0 4) (<= 100000 ~SIZE~0))} #127#return; {9079#(and (<= main_~v~0 4) (<= 100000 ~SIZE~0))} is VALID [2018-11-23 12:10:43,990 INFO L273 TraceCheckUtils]: 58: Hoare triple {9079#(and (<= main_~v~0 4) (<= 100000 ~SIZE~0))} assume -2147483648 <= #t~ret4 && #t~ret4 <= 2147483647; {9079#(and (<= main_~v~0 4) (<= 100000 ~SIZE~0))} is VALID [2018-11-23 12:10:43,991 INFO L273 TraceCheckUtils]: 59: Hoare triple {9079#(and (<= main_~v~0 4) (<= 100000 ~SIZE~0))} assume !(1 != #t~ret4);havoc #t~ret4;havoc #t~mem3; {9079#(and (<= main_~v~0 4) (<= 100000 ~SIZE~0))} is VALID [2018-11-23 12:10:43,992 INFO L273 TraceCheckUtils]: 60: Hoare triple {9079#(and (<= main_~v~0 4) (<= 100000 ~SIZE~0))} #t~post2 := ~v~0;~v~0 := 1 + #t~post2;havoc #t~post2; {9110#(and (<= main_~v~0 5) (<= 100000 ~SIZE~0))} is VALID [2018-11-23 12:10:43,993 INFO L273 TraceCheckUtils]: 61: Hoare triple {9110#(and (<= main_~v~0 5) (<= 100000 ~SIZE~0))} assume !!(~v~0 < ~SIZE~0);call #t~mem3 := read~int(~#values~0.base, ~#values~0.offset + 4 * ~v~0, 4); {9110#(and (<= main_~v~0 5) (<= 100000 ~SIZE~0))} is VALID [2018-11-23 12:10:43,994 INFO L256 TraceCheckUtils]: 62: Hoare triple {9110#(and (<= main_~v~0 5) (<= 100000 ~SIZE~0))} call #t~ret4 := elem_exists(~#set~0.base, ~#set~0.offset, ~n~0, #t~mem3); {8916#(<= 100000 ~SIZE~0)} is VALID [2018-11-23 12:10:43,995 INFO L273 TraceCheckUtils]: 63: Hoare triple {8916#(<= 100000 ~SIZE~0)} ~set.base, ~set.offset := #in~set.base, #in~set.offset;~size := #in~size;~value := #in~value;havoc ~i~0;~i~0 := 0; {8916#(<= 100000 ~SIZE~0)} is VALID [2018-11-23 12:10:43,996 INFO L273 TraceCheckUtils]: 64: Hoare triple {8916#(<= 100000 ~SIZE~0)} assume !!(~i~0 < ~size);call #t~mem1 := read~int(~set.base, ~set.offset + 4 * ~i~0, 4); {8916#(<= 100000 ~SIZE~0)} is VALID [2018-11-23 12:10:43,996 INFO L273 TraceCheckUtils]: 65: Hoare triple {8916#(<= 100000 ~SIZE~0)} assume #t~mem1 == ~value;havoc #t~mem1;#res := 1; {8916#(<= 100000 ~SIZE~0)} is VALID [2018-11-23 12:10:43,997 INFO L273 TraceCheckUtils]: 66: Hoare triple {8916#(<= 100000 ~SIZE~0)} assume true; {8916#(<= 100000 ~SIZE~0)} is VALID [2018-11-23 12:10:43,998 INFO L268 TraceCheckUtils]: 67: Hoare quadruple {8916#(<= 100000 ~SIZE~0)} {9110#(and (<= main_~v~0 5) (<= 100000 ~SIZE~0))} #127#return; {9110#(and (<= main_~v~0 5) (<= 100000 ~SIZE~0))} is VALID [2018-11-23 12:10:43,999 INFO L273 TraceCheckUtils]: 68: Hoare triple {9110#(and (<= main_~v~0 5) (<= 100000 ~SIZE~0))} assume -2147483648 <= #t~ret4 && #t~ret4 <= 2147483647; {9110#(and (<= main_~v~0 5) (<= 100000 ~SIZE~0))} is VALID [2018-11-23 12:10:44,000 INFO L273 TraceCheckUtils]: 69: Hoare triple {9110#(and (<= main_~v~0 5) (<= 100000 ~SIZE~0))} assume !(1 != #t~ret4);havoc #t~ret4;havoc #t~mem3; {9110#(and (<= main_~v~0 5) (<= 100000 ~SIZE~0))} is VALID [2018-11-23 12:10:44,001 INFO L273 TraceCheckUtils]: 70: Hoare triple {9110#(and (<= main_~v~0 5) (<= 100000 ~SIZE~0))} #t~post2 := ~v~0;~v~0 := 1 + #t~post2;havoc #t~post2; {9141#(and (<= main_~v~0 6) (<= 100000 ~SIZE~0))} is VALID [2018-11-23 12:10:44,001 INFO L273 TraceCheckUtils]: 71: Hoare triple {9141#(and (<= main_~v~0 6) (<= 100000 ~SIZE~0))} assume !!(~v~0 < ~SIZE~0);call #t~mem3 := read~int(~#values~0.base, ~#values~0.offset + 4 * ~v~0, 4); {9141#(and (<= main_~v~0 6) (<= 100000 ~SIZE~0))} is VALID [2018-11-23 12:10:44,003 INFO L256 TraceCheckUtils]: 72: Hoare triple {9141#(and (<= main_~v~0 6) (<= 100000 ~SIZE~0))} call #t~ret4 := elem_exists(~#set~0.base, ~#set~0.offset, ~n~0, #t~mem3); {8916#(<= 100000 ~SIZE~0)} is VALID [2018-11-23 12:10:44,004 INFO L273 TraceCheckUtils]: 73: Hoare triple {8916#(<= 100000 ~SIZE~0)} ~set.base, ~set.offset := #in~set.base, #in~set.offset;~size := #in~size;~value := #in~value;havoc ~i~0;~i~0 := 0; {8916#(<= 100000 ~SIZE~0)} is VALID [2018-11-23 12:10:44,004 INFO L273 TraceCheckUtils]: 74: Hoare triple {8916#(<= 100000 ~SIZE~0)} assume !!(~i~0 < ~size);call #t~mem1 := read~int(~set.base, ~set.offset + 4 * ~i~0, 4); {8916#(<= 100000 ~SIZE~0)} is VALID [2018-11-23 12:10:44,005 INFO L273 TraceCheckUtils]: 75: Hoare triple {8916#(<= 100000 ~SIZE~0)} assume #t~mem1 == ~value;havoc #t~mem1;#res := 1; {8916#(<= 100000 ~SIZE~0)} is VALID [2018-11-23 12:10:44,005 INFO L273 TraceCheckUtils]: 76: Hoare triple {8916#(<= 100000 ~SIZE~0)} assume true; {8916#(<= 100000 ~SIZE~0)} is VALID [2018-11-23 12:10:44,007 INFO L268 TraceCheckUtils]: 77: Hoare quadruple {8916#(<= 100000 ~SIZE~0)} {9141#(and (<= main_~v~0 6) (<= 100000 ~SIZE~0))} #127#return; {9141#(and (<= main_~v~0 6) (<= 100000 ~SIZE~0))} is VALID [2018-11-23 12:10:44,008 INFO L273 TraceCheckUtils]: 78: Hoare triple {9141#(and (<= main_~v~0 6) (<= 100000 ~SIZE~0))} assume -2147483648 <= #t~ret4 && #t~ret4 <= 2147483647; {9141#(and (<= main_~v~0 6) (<= 100000 ~SIZE~0))} is VALID [2018-11-23 12:10:44,009 INFO L273 TraceCheckUtils]: 79: Hoare triple {9141#(and (<= main_~v~0 6) (<= 100000 ~SIZE~0))} assume !(1 != #t~ret4);havoc #t~ret4;havoc #t~mem3; {9141#(and (<= main_~v~0 6) (<= 100000 ~SIZE~0))} is VALID [2018-11-23 12:10:44,009 INFO L273 TraceCheckUtils]: 80: Hoare triple {9141#(and (<= main_~v~0 6) (<= 100000 ~SIZE~0))} #t~post2 := ~v~0;~v~0 := 1 + #t~post2;havoc #t~post2; {9172#(and (<= main_~v~0 7) (<= 100000 ~SIZE~0))} is VALID [2018-11-23 12:10:44,010 INFO L273 TraceCheckUtils]: 81: Hoare triple {9172#(and (<= main_~v~0 7) (<= 100000 ~SIZE~0))} assume !!(~v~0 < ~SIZE~0);call #t~mem3 := read~int(~#values~0.base, ~#values~0.offset + 4 * ~v~0, 4); {9172#(and (<= main_~v~0 7) (<= 100000 ~SIZE~0))} is VALID [2018-11-23 12:10:44,012 INFO L256 TraceCheckUtils]: 82: Hoare triple {9172#(and (<= main_~v~0 7) (<= 100000 ~SIZE~0))} call #t~ret4 := elem_exists(~#set~0.base, ~#set~0.offset, ~n~0, #t~mem3); {8916#(<= 100000 ~SIZE~0)} is VALID [2018-11-23 12:10:44,013 INFO L273 TraceCheckUtils]: 83: Hoare triple {8916#(<= 100000 ~SIZE~0)} ~set.base, ~set.offset := #in~set.base, #in~set.offset;~size := #in~size;~value := #in~value;havoc ~i~0;~i~0 := 0; {8916#(<= 100000 ~SIZE~0)} is VALID [2018-11-23 12:10:44,013 INFO L273 TraceCheckUtils]: 84: Hoare triple {8916#(<= 100000 ~SIZE~0)} assume !!(~i~0 < ~size);call #t~mem1 := read~int(~set.base, ~set.offset + 4 * ~i~0, 4); {8916#(<= 100000 ~SIZE~0)} is VALID [2018-11-23 12:10:44,014 INFO L273 TraceCheckUtils]: 85: Hoare triple {8916#(<= 100000 ~SIZE~0)} assume #t~mem1 == ~value;havoc #t~mem1;#res := 1; {8916#(<= 100000 ~SIZE~0)} is VALID [2018-11-23 12:10:44,014 INFO L273 TraceCheckUtils]: 86: Hoare triple {8916#(<= 100000 ~SIZE~0)} assume true; {8916#(<= 100000 ~SIZE~0)} is VALID [2018-11-23 12:10:44,016 INFO L268 TraceCheckUtils]: 87: Hoare quadruple {8916#(<= 100000 ~SIZE~0)} {9172#(and (<= main_~v~0 7) (<= 100000 ~SIZE~0))} #127#return; {9172#(and (<= main_~v~0 7) (<= 100000 ~SIZE~0))} is VALID [2018-11-23 12:10:44,017 INFO L273 TraceCheckUtils]: 88: Hoare triple {9172#(and (<= main_~v~0 7) (<= 100000 ~SIZE~0))} assume -2147483648 <= #t~ret4 && #t~ret4 <= 2147483647; {9172#(and (<= main_~v~0 7) (<= 100000 ~SIZE~0))} is VALID [2018-11-23 12:10:44,017 INFO L273 TraceCheckUtils]: 89: Hoare triple {9172#(and (<= main_~v~0 7) (<= 100000 ~SIZE~0))} assume !(1 != #t~ret4);havoc #t~ret4;havoc #t~mem3; {9172#(and (<= main_~v~0 7) (<= 100000 ~SIZE~0))} is VALID [2018-11-23 12:10:44,018 INFO L273 TraceCheckUtils]: 90: Hoare triple {9172#(and (<= main_~v~0 7) (<= 100000 ~SIZE~0))} #t~post2 := ~v~0;~v~0 := 1 + #t~post2;havoc #t~post2; {9203#(and (<= main_~v~0 8) (<= 100000 ~SIZE~0))} is VALID [2018-11-23 12:10:44,019 INFO L273 TraceCheckUtils]: 91: Hoare triple {9203#(and (<= main_~v~0 8) (<= 100000 ~SIZE~0))} assume !!(~v~0 < ~SIZE~0);call #t~mem3 := read~int(~#values~0.base, ~#values~0.offset + 4 * ~v~0, 4); {9203#(and (<= main_~v~0 8) (<= 100000 ~SIZE~0))} is VALID [2018-11-23 12:10:44,021 INFO L256 TraceCheckUtils]: 92: Hoare triple {9203#(and (<= main_~v~0 8) (<= 100000 ~SIZE~0))} call #t~ret4 := elem_exists(~#set~0.base, ~#set~0.offset, ~n~0, #t~mem3); {8916#(<= 100000 ~SIZE~0)} is VALID [2018-11-23 12:10:44,022 INFO L273 TraceCheckUtils]: 93: Hoare triple {8916#(<= 100000 ~SIZE~0)} ~set.base, ~set.offset := #in~set.base, #in~set.offset;~size := #in~size;~value := #in~value;havoc ~i~0;~i~0 := 0; {8916#(<= 100000 ~SIZE~0)} is VALID [2018-11-23 12:10:44,022 INFO L273 TraceCheckUtils]: 94: Hoare triple {8916#(<= 100000 ~SIZE~0)} assume !!(~i~0 < ~size);call #t~mem1 := read~int(~set.base, ~set.offset + 4 * ~i~0, 4); {8916#(<= 100000 ~SIZE~0)} is VALID [2018-11-23 12:10:44,023 INFO L273 TraceCheckUtils]: 95: Hoare triple {8916#(<= 100000 ~SIZE~0)} assume #t~mem1 == ~value;havoc #t~mem1;#res := 1; {8916#(<= 100000 ~SIZE~0)} is VALID [2018-11-23 12:10:44,023 INFO L273 TraceCheckUtils]: 96: Hoare triple {8916#(<= 100000 ~SIZE~0)} assume true; {8916#(<= 100000 ~SIZE~0)} is VALID [2018-11-23 12:10:44,025 INFO L268 TraceCheckUtils]: 97: Hoare quadruple {8916#(<= 100000 ~SIZE~0)} {9203#(and (<= main_~v~0 8) (<= 100000 ~SIZE~0))} #127#return; {9203#(and (<= main_~v~0 8) (<= 100000 ~SIZE~0))} is VALID [2018-11-23 12:10:44,026 INFO L273 TraceCheckUtils]: 98: Hoare triple {9203#(and (<= main_~v~0 8) (<= 100000 ~SIZE~0))} assume -2147483648 <= #t~ret4 && #t~ret4 <= 2147483647; {9203#(and (<= main_~v~0 8) (<= 100000 ~SIZE~0))} is VALID [2018-11-23 12:10:44,026 INFO L273 TraceCheckUtils]: 99: Hoare triple {9203#(and (<= main_~v~0 8) (<= 100000 ~SIZE~0))} assume !(1 != #t~ret4);havoc #t~ret4;havoc #t~mem3; {9203#(and (<= main_~v~0 8) (<= 100000 ~SIZE~0))} is VALID [2018-11-23 12:10:44,027 INFO L273 TraceCheckUtils]: 100: Hoare triple {9203#(and (<= main_~v~0 8) (<= 100000 ~SIZE~0))} #t~post2 := ~v~0;~v~0 := 1 + #t~post2;havoc #t~post2; {9234#(and (<= main_~v~0 9) (<= 100000 ~SIZE~0))} is VALID [2018-11-23 12:10:44,028 INFO L273 TraceCheckUtils]: 101: Hoare triple {9234#(and (<= main_~v~0 9) (<= 100000 ~SIZE~0))} assume !(~v~0 < ~SIZE~0); {8915#false} is VALID [2018-11-23 12:10:44,028 INFO L273 TraceCheckUtils]: 102: Hoare triple {8915#false} ~i~1 := 0; {8915#false} is VALID [2018-11-23 12:10:44,028 INFO L273 TraceCheckUtils]: 103: Hoare triple {8915#false} assume !!(~i~1 < ~SIZE~0 && 1 != ~found~0);call #t~mem8 := read~int(~#set~0.base, ~#set~0.offset + 4 * ~i~1, 4); {8915#false} is VALID [2018-11-23 12:10:44,028 INFO L273 TraceCheckUtils]: 104: Hoare triple {8915#false} assume #t~mem8 == ~element~0;havoc #t~mem8;~found~0 := 1;~pos~0 := ~i~1; {8915#false} is VALID [2018-11-23 12:10:44,029 INFO L273 TraceCheckUtils]: 105: Hoare triple {8915#false} #t~post7 := ~i~1;~i~1 := 1 + #t~post7;havoc #t~post7; {8915#false} is VALID [2018-11-23 12:10:44,029 INFO L273 TraceCheckUtils]: 106: Hoare triple {8915#false} assume !(~i~1 < ~SIZE~0 && 1 != ~found~0); {8915#false} is VALID [2018-11-23 12:10:44,029 INFO L273 TraceCheckUtils]: 107: Hoare triple {8915#false} assume 1 == ~found~0;~i~1 := ~pos~0; {8915#false} is VALID [2018-11-23 12:10:44,029 INFO L273 TraceCheckUtils]: 108: Hoare triple {8915#false} assume !!(~i~1 < ~SIZE~0 - 1);call #t~mem10 := read~int(~#set~0.base, ~#set~0.offset + 4 * (1 + ~i~1), 4);call write~int(#t~mem10, ~#set~0.base, ~#set~0.offset + 4 * ~i~1, 4);havoc #t~mem10; {8915#false} is VALID [2018-11-23 12:10:44,029 INFO L273 TraceCheckUtils]: 109: Hoare triple {8915#false} #t~post9 := ~i~1;~i~1 := 1 + #t~post9;havoc #t~post9; {8915#false} is VALID [2018-11-23 12:10:44,030 INFO L273 TraceCheckUtils]: 110: Hoare triple {8915#false} assume !!(~i~1 < ~SIZE~0 - 1);call #t~mem10 := read~int(~#set~0.base, ~#set~0.offset + 4 * (1 + ~i~1), 4);call write~int(#t~mem10, ~#set~0.base, ~#set~0.offset + 4 * ~i~1, 4);havoc #t~mem10; {8915#false} is VALID [2018-11-23 12:10:44,030 INFO L273 TraceCheckUtils]: 111: Hoare triple {8915#false} #t~post9 := ~i~1;~i~1 := 1 + #t~post9;havoc #t~post9; {8915#false} is VALID [2018-11-23 12:10:44,030 INFO L273 TraceCheckUtils]: 112: Hoare triple {8915#false} assume !!(~i~1 < ~SIZE~0 - 1);call #t~mem10 := read~int(~#set~0.base, ~#set~0.offset + 4 * (1 + ~i~1), 4);call write~int(#t~mem10, ~#set~0.base, ~#set~0.offset + 4 * ~i~1, 4);havoc #t~mem10; {8915#false} is VALID [2018-11-23 12:10:44,030 INFO L273 TraceCheckUtils]: 113: Hoare triple {8915#false} #t~post9 := ~i~1;~i~1 := 1 + #t~post9;havoc #t~post9; {8915#false} is VALID [2018-11-23 12:10:44,030 INFO L273 TraceCheckUtils]: 114: Hoare triple {8915#false} assume !(~i~1 < ~SIZE~0 - 1); {8915#false} is VALID [2018-11-23 12:10:44,031 INFO L273 TraceCheckUtils]: 115: Hoare triple {8915#false} assume 1 == ~found~0;~i~1 := 0; {8915#false} is VALID [2018-11-23 12:10:44,031 INFO L273 TraceCheckUtils]: 116: Hoare triple {8915#false} assume !!(~i~1 < ~SIZE~0 - 1);call #t~mem12 := read~int(~#set~0.base, ~#set~0.offset + 4 * ~i~1, 4); {8915#false} is VALID [2018-11-23 12:10:44,031 INFO L256 TraceCheckUtils]: 117: Hoare triple {8915#false} call __VERIFIER_assert((if #t~mem12 != ~element~0 then 1 else 0)); {8915#false} is VALID [2018-11-23 12:10:44,031 INFO L273 TraceCheckUtils]: 118: Hoare triple {8915#false} ~cond := #in~cond; {8915#false} is VALID [2018-11-23 12:10:44,031 INFO L273 TraceCheckUtils]: 119: Hoare triple {8915#false} assume 0 == ~cond; {8915#false} is VALID [2018-11-23 12:10:44,032 INFO L273 TraceCheckUtils]: 120: Hoare triple {8915#false} assume !false; {8915#false} is VALID [2018-11-23 12:10:44,049 INFO L134 CoverageAnalysis]: Checked inductivity of 371 backedges. 0 proven. 189 refuted. 0 times theorem prover too weak. 182 trivial. 0 not checked. [2018-11-23 12:10:44,069 INFO L312 seRefinementStrategy]: Constructing automaton from 0 perfect and 2 imperfect interpolant sequences. [2018-11-23 12:10:44,069 INFO L327 seRefinementStrategy]: Number of different interpolants: perfect sequences [] imperfect sequences [8, 13] total 18 [2018-11-23 12:10:44,070 INFO L78 Accepts]: Start accepts. Automaton has 18 states. Word has length 121 [2018-11-23 12:10:44,070 INFO L84 Accepts]: Finished accepts. word is accepted. [2018-11-23 12:10:44,071 INFO L86 InductivityCheck]: Starting indutivity check of a Floyd-Hoare automaton with 18 states. [2018-11-23 12:10:44,202 INFO L119 InductivityCheck]: Floyd-Hoare automaton has 120 edges. 120 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2018-11-23 12:10:44,202 INFO L459 AbstractCegarLoop]: Interpolant automaton has 18 states [2018-11-23 12:10:44,203 INFO L142 InterpolantAutomaton]: Constructing interpolant automaton starting with 18 interpolants. [2018-11-23 12:10:44,203 INFO L144 InterpolantAutomaton]: CoverageRelationStatistics Valid=96, Invalid=210, Unknown=0, NotChecked=0, Total=306 [2018-11-23 12:10:44,203 INFO L87 Difference]: Start difference. First operand 138 states and 184 transitions. Second operand 18 states. [2018-11-23 12:10:52,126 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2018-11-23 12:10:52,126 INFO L93 Difference]: Finished difference Result 247 states and 321 transitions. [2018-11-23 12:10:52,126 INFO L142 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 22 states. [2018-11-23 12:10:52,127 INFO L78 Accepts]: Start accepts. Automaton has 18 states. Word has length 121 [2018-11-23 12:10:52,127 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2018-11-23 12:10:52,127 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 18 states. [2018-11-23 12:10:52,131 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 22 states to 22 states and 250 transitions. [2018-11-23 12:10:52,132 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 18 states. [2018-11-23 12:10:52,136 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 22 states to 22 states and 250 transitions. [2018-11-23 12:10:52,136 INFO L86 InductivityCheck]: Starting indutivity check of a Floyd-Hoare automaton with 22 states and 250 transitions. [2018-11-23 12:10:52,811 INFO L119 InductivityCheck]: Floyd-Hoare automaton has 250 edges. 250 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2018-11-23 12:10:52,817 INFO L225 Difference]: With dead ends: 247 [2018-11-23 12:10:52,818 INFO L226 Difference]: Without dead ends: 211 [2018-11-23 12:10:52,818 INFO L631 BasicCegarLoop]: 0 DeclaredPredicates, 136 GetRequests, 112 SyntacticMatches, 1 SemanticMatches, 23 ConstructedPredicates, 0 IntricatePredicates, 0 DeprecatedPredicates, 59 ImplicationChecksByTransitivity, 0.8s TimeCoverageRelationStatistics Valid=158, Invalid=442, Unknown=0, NotChecked=0, Total=600 [2018-11-23 12:10:52,819 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 211 states. [2018-11-23 12:10:53,058 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 211 to 149. [2018-11-23 12:10:53,058 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2018-11-23 12:10:53,058 INFO L82 GeneralOperation]: Start isEquivalent. First operand 211 states. Second operand 149 states. [2018-11-23 12:10:53,059 INFO L74 IsIncluded]: Start isIncluded. First operand 211 states. Second operand 149 states. [2018-11-23 12:10:53,059 INFO L87 Difference]: Start difference. First operand 211 states. Second operand 149 states. [2018-11-23 12:10:53,067 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2018-11-23 12:10:53,067 INFO L93 Difference]: Finished difference Result 211 states and 279 transitions. [2018-11-23 12:10:53,068 INFO L276 IsEmpty]: Start isEmpty. Operand 211 states and 279 transitions. [2018-11-23 12:10:53,069 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2018-11-23 12:10:53,069 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2018-11-23 12:10:53,069 INFO L74 IsIncluded]: Start isIncluded. First operand 149 states. Second operand 211 states. [2018-11-23 12:10:53,069 INFO L87 Difference]: Start difference. First operand 149 states. Second operand 211 states. [2018-11-23 12:10:53,076 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2018-11-23 12:10:53,077 INFO L93 Difference]: Finished difference Result 211 states and 279 transitions. [2018-11-23 12:10:53,077 INFO L276 IsEmpty]: Start isEmpty. Operand 211 states and 279 transitions. [2018-11-23 12:10:53,078 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2018-11-23 12:10:53,078 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2018-11-23 12:10:53,078 INFO L88 GeneralOperation]: Finished isEquivalent. [2018-11-23 12:10:53,078 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2018-11-23 12:10:53,079 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 149 states. [2018-11-23 12:10:53,083 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 149 states to 149 states and 200 transitions. [2018-11-23 12:10:53,083 INFO L78 Accepts]: Start accepts. Automaton has 149 states and 200 transitions. Word has length 121 [2018-11-23 12:10:53,084 INFO L84 Accepts]: Finished accepts. word is rejected. [2018-11-23 12:10:53,084 INFO L480 AbstractCegarLoop]: Abstraction has 149 states and 200 transitions. [2018-11-23 12:10:53,084 INFO L481 AbstractCegarLoop]: Interpolant automaton has 18 states. [2018-11-23 12:10:53,084 INFO L276 IsEmpty]: Start isEmpty. Operand 149 states and 200 transitions. [2018-11-23 12:10:53,086 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 132 [2018-11-23 12:10:53,086 INFO L394 BasicCegarLoop]: Found error trace [2018-11-23 12:10:53,086 INFO L402 BasicCegarLoop]: trace histogram [10, 10, 10, 10, 10, 10, 10, 9, 9, 9, 3, 3, 2, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1] [2018-11-23 12:10:53,087 INFO L423 AbstractCegarLoop]: === Iteration 16 === [__VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION]=== [2018-11-23 12:10:53,087 INFO L141 PredicateUnifier]: Initialized classic predicate unifier [2018-11-23 12:10:53,087 INFO L82 PathProgramCache]: Analyzing trace with hash -761837641, now seen corresponding path program 4 times [2018-11-23 12:10:53,087 INFO L223 ckRefinementStrategy]: Switched to mode SMTINTERPOL_TREE_INTERPOLANTS [2018-11-23 12:10:53,087 INFO L69 tionRefinementEngine]: Using refinement strategy CamelRefinementStrategy [2018-11-23 12:10:53,088 INFO L119 rtionOrderModulation]: Craig_TreeInterpolation forces the order to NOT_INCREMENTALLY [2018-11-23 12:10:53,088 INFO L101 rtionOrderModulation]: Changing assertion order to NOT_INCREMENTALLY [2018-11-23 12:10:53,088 INFO L119 rtionOrderModulation]: Craig_TreeInterpolation forces the order to NOT_INCREMENTALLY [2018-11-23 12:10:53,109 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2018-11-23 12:10:54,153 INFO L256 TraceCheckUtils]: 0: Hoare triple {10271#true} call ULTIMATE.init(); {10271#true} is VALID [2018-11-23 12:10:54,154 INFO L273 TraceCheckUtils]: 1: Hoare triple {10271#true} #NULL.base, #NULL.offset := 0, 0;#valid := #valid[0 := 0];~SIZE~0 := 100000; {10273#(<= 100000 ~SIZE~0)} is VALID [2018-11-23 12:10:54,155 INFO L273 TraceCheckUtils]: 2: Hoare triple {10273#(<= 100000 ~SIZE~0)} assume true; {10273#(<= 100000 ~SIZE~0)} is VALID [2018-11-23 12:10:54,155 INFO L268 TraceCheckUtils]: 3: Hoare quadruple {10273#(<= 100000 ~SIZE~0)} {10271#true} #123#return; {10273#(<= 100000 ~SIZE~0)} is VALID [2018-11-23 12:10:54,156 INFO L256 TraceCheckUtils]: 4: Hoare triple {10273#(<= 100000 ~SIZE~0)} call #t~ret13 := main(); {10273#(<= 100000 ~SIZE~0)} is VALID [2018-11-23 12:10:54,157 INFO L273 TraceCheckUtils]: 5: Hoare triple {10273#(<= 100000 ~SIZE~0)} havoc ~i~1;havoc ~pos~0;~n~0 := 0;~found~0 := 0;call ~#set~0.base, ~#set~0.offset := #Ultimate.alloc(4 * ~SIZE~0);call ~#values~0.base, ~#values~0.offset := #Ultimate.alloc(4 * ~SIZE~0);havoc ~element~0;havoc ~v~0;~v~0 := 0; {10274#(and (= main_~v~0 0) (<= 100000 ~SIZE~0))} is VALID [2018-11-23 12:10:54,158 INFO L273 TraceCheckUtils]: 6: Hoare triple {10274#(and (= main_~v~0 0) (<= 100000 ~SIZE~0))} assume !!(~v~0 < ~SIZE~0);call #t~mem3 := read~int(~#values~0.base, ~#values~0.offset + 4 * ~v~0, 4); {10274#(and (= main_~v~0 0) (<= 100000 ~SIZE~0))} is VALID [2018-11-23 12:10:54,158 INFO L256 TraceCheckUtils]: 7: Hoare triple {10274#(and (= main_~v~0 0) (<= 100000 ~SIZE~0))} call #t~ret4 := elem_exists(~#set~0.base, ~#set~0.offset, ~n~0, #t~mem3); {10271#true} is VALID [2018-11-23 12:10:54,158 INFO L273 TraceCheckUtils]: 8: Hoare triple {10271#true} ~set.base, ~set.offset := #in~set.base, #in~set.offset;~size := #in~size;~value := #in~value;havoc ~i~0;~i~0 := 0; {10271#true} is VALID [2018-11-23 12:10:54,159 INFO L273 TraceCheckUtils]: 9: Hoare triple {10271#true} assume !(~i~0 < ~size); {10271#true} is VALID [2018-11-23 12:10:54,159 INFO L273 TraceCheckUtils]: 10: Hoare triple {10271#true} #res := 0; {10271#true} is VALID [2018-11-23 12:10:54,159 INFO L273 TraceCheckUtils]: 11: Hoare triple {10271#true} assume true; {10271#true} is VALID [2018-11-23 12:10:54,160 INFO L268 TraceCheckUtils]: 12: Hoare quadruple {10271#true} {10274#(and (= main_~v~0 0) (<= 100000 ~SIZE~0))} #127#return; {10274#(and (= main_~v~0 0) (<= 100000 ~SIZE~0))} is VALID [2018-11-23 12:10:54,161 INFO L273 TraceCheckUtils]: 13: Hoare triple {10274#(and (= main_~v~0 0) (<= 100000 ~SIZE~0))} assume -2147483648 <= #t~ret4 && #t~ret4 <= 2147483647; {10274#(and (= main_~v~0 0) (<= 100000 ~SIZE~0))} is VALID [2018-11-23 12:10:54,162 INFO L273 TraceCheckUtils]: 14: Hoare triple {10274#(and (= main_~v~0 0) (<= 100000 ~SIZE~0))} assume 1 != #t~ret4;havoc #t~ret4;havoc #t~mem3;call #t~mem5 := read~int(~#values~0.base, ~#values~0.offset + 4 * ~v~0, 4); {10274#(and (= main_~v~0 0) (<= 100000 ~SIZE~0))} is VALID [2018-11-23 12:10:54,162 INFO L256 TraceCheckUtils]: 15: Hoare triple {10274#(and (= main_~v~0 0) (<= 100000 ~SIZE~0))} call #t~ret6 := insert(~#set~0.base, ~#set~0.offset, ~n~0, #t~mem5); {10271#true} is VALID [2018-11-23 12:10:54,162 INFO L273 TraceCheckUtils]: 16: Hoare triple {10271#true} ~set.base, ~set.offset := #in~set.base, #in~set.offset;~size := #in~size;~value := #in~value;call write~int(~value, ~set.base, ~set.offset + 4 * ~size, 4);#res := 1 + ~size; {10271#true} is VALID [2018-11-23 12:10:54,162 INFO L273 TraceCheckUtils]: 17: Hoare triple {10271#true} assume true; {10271#true} is VALID [2018-11-23 12:10:54,163 INFO L268 TraceCheckUtils]: 18: Hoare quadruple {10271#true} {10274#(and (= main_~v~0 0) (<= 100000 ~SIZE~0))} #129#return; {10274#(and (= main_~v~0 0) (<= 100000 ~SIZE~0))} is VALID [2018-11-23 12:10:54,164 INFO L273 TraceCheckUtils]: 19: Hoare triple {10274#(and (= main_~v~0 0) (<= 100000 ~SIZE~0))} assume -2147483648 <= #t~ret6 && #t~ret6 <= 2147483647;~n~0 := #t~ret6;havoc #t~mem5;havoc #t~ret6; {10274#(and (= main_~v~0 0) (<= 100000 ~SIZE~0))} is VALID [2018-11-23 12:10:54,165 INFO L273 TraceCheckUtils]: 20: Hoare triple {10274#(and (= main_~v~0 0) (<= 100000 ~SIZE~0))} #t~post2 := ~v~0;~v~0 := 1 + #t~post2;havoc #t~post2; {10275#(<= (+ main_~v~0 99999) ~SIZE~0)} is VALID [2018-11-23 12:10:54,165 INFO L273 TraceCheckUtils]: 21: Hoare triple {10275#(<= (+ main_~v~0 99999) ~SIZE~0)} assume !!(~v~0 < ~SIZE~0);call #t~mem3 := read~int(~#values~0.base, ~#values~0.offset + 4 * ~v~0, 4); {10275#(<= (+ main_~v~0 99999) ~SIZE~0)} is VALID [2018-11-23 12:10:54,166 INFO L256 TraceCheckUtils]: 22: Hoare triple {10275#(<= (+ main_~v~0 99999) ~SIZE~0)} call #t~ret4 := elem_exists(~#set~0.base, ~#set~0.offset, ~n~0, #t~mem3); {10271#true} is VALID [2018-11-23 12:10:54,166 INFO L273 TraceCheckUtils]: 23: Hoare triple {10271#true} ~set.base, ~set.offset := #in~set.base, #in~set.offset;~size := #in~size;~value := #in~value;havoc ~i~0;~i~0 := 0; {10271#true} is VALID [2018-11-23 12:10:54,166 INFO L273 TraceCheckUtils]: 24: Hoare triple {10271#true} assume !!(~i~0 < ~size);call #t~mem1 := read~int(~set.base, ~set.offset + 4 * ~i~0, 4); {10271#true} is VALID [2018-11-23 12:10:54,166 INFO L273 TraceCheckUtils]: 25: Hoare triple {10271#true} assume #t~mem1 == ~value;havoc #t~mem1;#res := 1; {10271#true} is VALID [2018-11-23 12:10:54,166 INFO L273 TraceCheckUtils]: 26: Hoare triple {10271#true} assume true; {10271#true} is VALID [2018-11-23 12:10:54,168 INFO L268 TraceCheckUtils]: 27: Hoare quadruple {10271#true} {10275#(<= (+ main_~v~0 99999) ~SIZE~0)} #127#return; {10275#(<= (+ main_~v~0 99999) ~SIZE~0)} is VALID [2018-11-23 12:10:54,168 INFO L273 TraceCheckUtils]: 28: Hoare triple {10275#(<= (+ main_~v~0 99999) ~SIZE~0)} assume -2147483648 <= #t~ret4 && #t~ret4 <= 2147483647; {10275#(<= (+ main_~v~0 99999) ~SIZE~0)} is VALID [2018-11-23 12:10:54,168 INFO L273 TraceCheckUtils]: 29: Hoare triple {10275#(<= (+ main_~v~0 99999) ~SIZE~0)} assume !(1 != #t~ret4);havoc #t~ret4;havoc #t~mem3; {10275#(<= (+ main_~v~0 99999) ~SIZE~0)} is VALID [2018-11-23 12:10:54,169 INFO L273 TraceCheckUtils]: 30: Hoare triple {10275#(<= (+ main_~v~0 99999) ~SIZE~0)} #t~post2 := ~v~0;~v~0 := 1 + #t~post2;havoc #t~post2; {10276#(<= (+ main_~v~0 99998) ~SIZE~0)} is VALID [2018-11-23 12:10:54,169 INFO L273 TraceCheckUtils]: 31: Hoare triple {10276#(<= (+ main_~v~0 99998) ~SIZE~0)} assume !!(~v~0 < ~SIZE~0);call #t~mem3 := read~int(~#values~0.base, ~#values~0.offset + 4 * ~v~0, 4); {10276#(<= (+ main_~v~0 99998) ~SIZE~0)} is VALID [2018-11-23 12:10:54,169 INFO L256 TraceCheckUtils]: 32: Hoare triple {10276#(<= (+ main_~v~0 99998) ~SIZE~0)} call #t~ret4 := elem_exists(~#set~0.base, ~#set~0.offset, ~n~0, #t~mem3); {10271#true} is VALID [2018-11-23 12:10:54,170 INFO L273 TraceCheckUtils]: 33: Hoare triple {10271#true} ~set.base, ~set.offset := #in~set.base, #in~set.offset;~size := #in~size;~value := #in~value;havoc ~i~0;~i~0 := 0; {10271#true} is VALID [2018-11-23 12:10:54,170 INFO L273 TraceCheckUtils]: 34: Hoare triple {10271#true} assume !!(~i~0 < ~size);call #t~mem1 := read~int(~set.base, ~set.offset + 4 * ~i~0, 4); {10271#true} is VALID [2018-11-23 12:10:54,170 INFO L273 TraceCheckUtils]: 35: Hoare triple {10271#true} assume #t~mem1 == ~value;havoc #t~mem1;#res := 1; {10271#true} is VALID [2018-11-23 12:10:54,170 INFO L273 TraceCheckUtils]: 36: Hoare triple {10271#true} assume true; {10271#true} is VALID [2018-11-23 12:10:54,171 INFO L268 TraceCheckUtils]: 37: Hoare quadruple {10271#true} {10276#(<= (+ main_~v~0 99998) ~SIZE~0)} #127#return; {10276#(<= (+ main_~v~0 99998) ~SIZE~0)} is VALID [2018-11-23 12:10:54,171 INFO L273 TraceCheckUtils]: 38: Hoare triple {10276#(<= (+ main_~v~0 99998) ~SIZE~0)} assume -2147483648 <= #t~ret4 && #t~ret4 <= 2147483647; {10276#(<= (+ main_~v~0 99998) ~SIZE~0)} is VALID [2018-11-23 12:10:54,172 INFO L273 TraceCheckUtils]: 39: Hoare triple {10276#(<= (+ main_~v~0 99998) ~SIZE~0)} assume !(1 != #t~ret4);havoc #t~ret4;havoc #t~mem3; {10276#(<= (+ main_~v~0 99998) ~SIZE~0)} is VALID [2018-11-23 12:10:54,173 INFO L273 TraceCheckUtils]: 40: Hoare triple {10276#(<= (+ main_~v~0 99998) ~SIZE~0)} #t~post2 := ~v~0;~v~0 := 1 + #t~post2;havoc #t~post2; {10277#(<= (+ main_~v~0 99997) ~SIZE~0)} is VALID [2018-11-23 12:10:54,173 INFO L273 TraceCheckUtils]: 41: Hoare triple {10277#(<= (+ main_~v~0 99997) ~SIZE~0)} assume !!(~v~0 < ~SIZE~0);call #t~mem3 := read~int(~#values~0.base, ~#values~0.offset + 4 * ~v~0, 4); {10277#(<= (+ main_~v~0 99997) ~SIZE~0)} is VALID [2018-11-23 12:10:54,174 INFO L256 TraceCheckUtils]: 42: Hoare triple {10277#(<= (+ main_~v~0 99997) ~SIZE~0)} call #t~ret4 := elem_exists(~#set~0.base, ~#set~0.offset, ~n~0, #t~mem3); {10271#true} is VALID [2018-11-23 12:10:54,174 INFO L273 TraceCheckUtils]: 43: Hoare triple {10271#true} ~set.base, ~set.offset := #in~set.base, #in~set.offset;~size := #in~size;~value := #in~value;havoc ~i~0;~i~0 := 0; {10271#true} is VALID [2018-11-23 12:10:54,174 INFO L273 TraceCheckUtils]: 44: Hoare triple {10271#true} assume !!(~i~0 < ~size);call #t~mem1 := read~int(~set.base, ~set.offset + 4 * ~i~0, 4); {10271#true} is VALID [2018-11-23 12:10:54,174 INFO L273 TraceCheckUtils]: 45: Hoare triple {10271#true} assume #t~mem1 == ~value;havoc #t~mem1;#res := 1; {10271#true} is VALID [2018-11-23 12:10:54,174 INFO L273 TraceCheckUtils]: 46: Hoare triple {10271#true} assume true; {10271#true} is VALID [2018-11-23 12:10:54,176 INFO L268 TraceCheckUtils]: 47: Hoare quadruple {10271#true} {10277#(<= (+ main_~v~0 99997) ~SIZE~0)} #127#return; {10277#(<= (+ main_~v~0 99997) ~SIZE~0)} is VALID [2018-11-23 12:10:54,176 INFO L273 TraceCheckUtils]: 48: Hoare triple {10277#(<= (+ main_~v~0 99997) ~SIZE~0)} assume -2147483648 <= #t~ret4 && #t~ret4 <= 2147483647; {10277#(<= (+ main_~v~0 99997) ~SIZE~0)} is VALID [2018-11-23 12:10:54,177 INFO L273 TraceCheckUtils]: 49: Hoare triple {10277#(<= (+ main_~v~0 99997) ~SIZE~0)} assume !(1 != #t~ret4);havoc #t~ret4;havoc #t~mem3; {10277#(<= (+ main_~v~0 99997) ~SIZE~0)} is VALID [2018-11-23 12:10:54,177 INFO L273 TraceCheckUtils]: 50: Hoare triple {10277#(<= (+ main_~v~0 99997) ~SIZE~0)} #t~post2 := ~v~0;~v~0 := 1 + #t~post2;havoc #t~post2; {10278#(<= (+ main_~v~0 99996) ~SIZE~0)} is VALID [2018-11-23 12:10:54,178 INFO L273 TraceCheckUtils]: 51: Hoare triple {10278#(<= (+ main_~v~0 99996) ~SIZE~0)} assume !!(~v~0 < ~SIZE~0);call #t~mem3 := read~int(~#values~0.base, ~#values~0.offset + 4 * ~v~0, 4); {10278#(<= (+ main_~v~0 99996) ~SIZE~0)} is VALID [2018-11-23 12:10:54,178 INFO L256 TraceCheckUtils]: 52: Hoare triple {10278#(<= (+ main_~v~0 99996) ~SIZE~0)} call #t~ret4 := elem_exists(~#set~0.base, ~#set~0.offset, ~n~0, #t~mem3); {10271#true} is VALID [2018-11-23 12:10:54,178 INFO L273 TraceCheckUtils]: 53: Hoare triple {10271#true} ~set.base, ~set.offset := #in~set.base, #in~set.offset;~size := #in~size;~value := #in~value;havoc ~i~0;~i~0 := 0; {10271#true} is VALID [2018-11-23 12:10:54,179 INFO L273 TraceCheckUtils]: 54: Hoare triple {10271#true} assume !!(~i~0 < ~size);call #t~mem1 := read~int(~set.base, ~set.offset + 4 * ~i~0, 4); {10271#true} is VALID [2018-11-23 12:10:54,179 INFO L273 TraceCheckUtils]: 55: Hoare triple {10271#true} assume #t~mem1 == ~value;havoc #t~mem1;#res := 1; {10271#true} is VALID [2018-11-23 12:10:54,179 INFO L273 TraceCheckUtils]: 56: Hoare triple {10271#true} assume true; {10271#true} is VALID [2018-11-23 12:10:54,180 INFO L268 TraceCheckUtils]: 57: Hoare quadruple {10271#true} {10278#(<= (+ main_~v~0 99996) ~SIZE~0)} #127#return; {10278#(<= (+ main_~v~0 99996) ~SIZE~0)} is VALID [2018-11-23 12:10:54,180 INFO L273 TraceCheckUtils]: 58: Hoare triple {10278#(<= (+ main_~v~0 99996) ~SIZE~0)} assume -2147483648 <= #t~ret4 && #t~ret4 <= 2147483647; {10278#(<= (+ main_~v~0 99996) ~SIZE~0)} is VALID [2018-11-23 12:10:54,181 INFO L273 TraceCheckUtils]: 59: Hoare triple {10278#(<= (+ main_~v~0 99996) ~SIZE~0)} assume !(1 != #t~ret4);havoc #t~ret4;havoc #t~mem3; {10278#(<= (+ main_~v~0 99996) ~SIZE~0)} is VALID [2018-11-23 12:10:54,181 INFO L273 TraceCheckUtils]: 60: Hoare triple {10278#(<= (+ main_~v~0 99996) ~SIZE~0)} #t~post2 := ~v~0;~v~0 := 1 + #t~post2;havoc #t~post2; {10279#(<= (+ main_~v~0 99995) ~SIZE~0)} is VALID [2018-11-23 12:10:54,182 INFO L273 TraceCheckUtils]: 61: Hoare triple {10279#(<= (+ main_~v~0 99995) ~SIZE~0)} assume !!(~v~0 < ~SIZE~0);call #t~mem3 := read~int(~#values~0.base, ~#values~0.offset + 4 * ~v~0, 4); {10279#(<= (+ main_~v~0 99995) ~SIZE~0)} is VALID [2018-11-23 12:10:54,182 INFO L256 TraceCheckUtils]: 62: Hoare triple {10279#(<= (+ main_~v~0 99995) ~SIZE~0)} call #t~ret4 := elem_exists(~#set~0.base, ~#set~0.offset, ~n~0, #t~mem3); {10271#true} is VALID [2018-11-23 12:10:54,182 INFO L273 TraceCheckUtils]: 63: Hoare triple {10271#true} ~set.base, ~set.offset := #in~set.base, #in~set.offset;~size := #in~size;~value := #in~value;havoc ~i~0;~i~0 := 0; {10271#true} is VALID [2018-11-23 12:10:54,182 INFO L273 TraceCheckUtils]: 64: Hoare triple {10271#true} assume !!(~i~0 < ~size);call #t~mem1 := read~int(~set.base, ~set.offset + 4 * ~i~0, 4); {10271#true} is VALID [2018-11-23 12:10:54,182 INFO L273 TraceCheckUtils]: 65: Hoare triple {10271#true} assume #t~mem1 == ~value;havoc #t~mem1;#res := 1; {10271#true} is VALID [2018-11-23 12:10:54,182 INFO L273 TraceCheckUtils]: 66: Hoare triple {10271#true} assume true; {10271#true} is VALID [2018-11-23 12:10:54,183 INFO L268 TraceCheckUtils]: 67: Hoare quadruple {10271#true} {10279#(<= (+ main_~v~0 99995) ~SIZE~0)} #127#return; {10279#(<= (+ main_~v~0 99995) ~SIZE~0)} is VALID [2018-11-23 12:10:54,183 INFO L273 TraceCheckUtils]: 68: Hoare triple {10279#(<= (+ main_~v~0 99995) ~SIZE~0)} assume -2147483648 <= #t~ret4 && #t~ret4 <= 2147483647; {10279#(<= (+ main_~v~0 99995) ~SIZE~0)} is VALID [2018-11-23 12:10:54,184 INFO L273 TraceCheckUtils]: 69: Hoare triple {10279#(<= (+ main_~v~0 99995) ~SIZE~0)} assume !(1 != #t~ret4);havoc #t~ret4;havoc #t~mem3; {10279#(<= (+ main_~v~0 99995) ~SIZE~0)} is VALID [2018-11-23 12:10:54,193 INFO L273 TraceCheckUtils]: 70: Hoare triple {10279#(<= (+ main_~v~0 99995) ~SIZE~0)} #t~post2 := ~v~0;~v~0 := 1 + #t~post2;havoc #t~post2; {10280#(<= (+ main_~v~0 99994) ~SIZE~0)} is VALID [2018-11-23 12:10:54,194 INFO L273 TraceCheckUtils]: 71: Hoare triple {10280#(<= (+ main_~v~0 99994) ~SIZE~0)} assume !!(~v~0 < ~SIZE~0);call #t~mem3 := read~int(~#values~0.base, ~#values~0.offset + 4 * ~v~0, 4); {10280#(<= (+ main_~v~0 99994) ~SIZE~0)} is VALID [2018-11-23 12:10:54,194 INFO L256 TraceCheckUtils]: 72: Hoare triple {10280#(<= (+ main_~v~0 99994) ~SIZE~0)} call #t~ret4 := elem_exists(~#set~0.base, ~#set~0.offset, ~n~0, #t~mem3); {10271#true} is VALID [2018-11-23 12:10:54,194 INFO L273 TraceCheckUtils]: 73: Hoare triple {10271#true} ~set.base, ~set.offset := #in~set.base, #in~set.offset;~size := #in~size;~value := #in~value;havoc ~i~0;~i~0 := 0; {10271#true} is VALID [2018-11-23 12:10:54,194 INFO L273 TraceCheckUtils]: 74: Hoare triple {10271#true} assume !!(~i~0 < ~size);call #t~mem1 := read~int(~set.base, ~set.offset + 4 * ~i~0, 4); {10271#true} is VALID [2018-11-23 12:10:54,194 INFO L273 TraceCheckUtils]: 75: Hoare triple {10271#true} assume #t~mem1 == ~value;havoc #t~mem1;#res := 1; {10271#true} is VALID [2018-11-23 12:10:54,194 INFO L273 TraceCheckUtils]: 76: Hoare triple {10271#true} assume true; {10271#true} is VALID [2018-11-23 12:10:54,195 INFO L268 TraceCheckUtils]: 77: Hoare quadruple {10271#true} {10280#(<= (+ main_~v~0 99994) ~SIZE~0)} #127#return; {10280#(<= (+ main_~v~0 99994) ~SIZE~0)} is VALID [2018-11-23 12:10:54,195 INFO L273 TraceCheckUtils]: 78: Hoare triple {10280#(<= (+ main_~v~0 99994) ~SIZE~0)} assume -2147483648 <= #t~ret4 && #t~ret4 <= 2147483647; {10280#(<= (+ main_~v~0 99994) ~SIZE~0)} is VALID [2018-11-23 12:10:54,196 INFO L273 TraceCheckUtils]: 79: Hoare triple {10280#(<= (+ main_~v~0 99994) ~SIZE~0)} assume !(1 != #t~ret4);havoc #t~ret4;havoc #t~mem3; {10280#(<= (+ main_~v~0 99994) ~SIZE~0)} is VALID [2018-11-23 12:10:54,196 INFO L273 TraceCheckUtils]: 80: Hoare triple {10280#(<= (+ main_~v~0 99994) ~SIZE~0)} #t~post2 := ~v~0;~v~0 := 1 + #t~post2;havoc #t~post2; {10281#(<= (+ main_~v~0 99993) ~SIZE~0)} is VALID [2018-11-23 12:10:54,197 INFO L273 TraceCheckUtils]: 81: Hoare triple {10281#(<= (+ main_~v~0 99993) ~SIZE~0)} assume !!(~v~0 < ~SIZE~0);call #t~mem3 := read~int(~#values~0.base, ~#values~0.offset + 4 * ~v~0, 4); {10281#(<= (+ main_~v~0 99993) ~SIZE~0)} is VALID [2018-11-23 12:10:54,197 INFO L256 TraceCheckUtils]: 82: Hoare triple {10281#(<= (+ main_~v~0 99993) ~SIZE~0)} call #t~ret4 := elem_exists(~#set~0.base, ~#set~0.offset, ~n~0, #t~mem3); {10271#true} is VALID [2018-11-23 12:10:54,197 INFO L273 TraceCheckUtils]: 83: Hoare triple {10271#true} ~set.base, ~set.offset := #in~set.base, #in~set.offset;~size := #in~size;~value := #in~value;havoc ~i~0;~i~0 := 0; {10271#true} is VALID [2018-11-23 12:10:54,197 INFO L273 TraceCheckUtils]: 84: Hoare triple {10271#true} assume !!(~i~0 < ~size);call #t~mem1 := read~int(~set.base, ~set.offset + 4 * ~i~0, 4); {10271#true} is VALID [2018-11-23 12:10:54,197 INFO L273 TraceCheckUtils]: 85: Hoare triple {10271#true} assume #t~mem1 == ~value;havoc #t~mem1;#res := 1; {10271#true} is VALID [2018-11-23 12:10:54,197 INFO L273 TraceCheckUtils]: 86: Hoare triple {10271#true} assume true; {10271#true} is VALID [2018-11-23 12:10:54,198 INFO L268 TraceCheckUtils]: 87: Hoare quadruple {10271#true} {10281#(<= (+ main_~v~0 99993) ~SIZE~0)} #127#return; {10281#(<= (+ main_~v~0 99993) ~SIZE~0)} is VALID [2018-11-23 12:10:54,198 INFO L273 TraceCheckUtils]: 88: Hoare triple {10281#(<= (+ main_~v~0 99993) ~SIZE~0)} assume -2147483648 <= #t~ret4 && #t~ret4 <= 2147483647; {10281#(<= (+ main_~v~0 99993) ~SIZE~0)} is VALID [2018-11-23 12:10:54,199 INFO L273 TraceCheckUtils]: 89: Hoare triple {10281#(<= (+ main_~v~0 99993) ~SIZE~0)} assume !(1 != #t~ret4);havoc #t~ret4;havoc #t~mem3; {10281#(<= (+ main_~v~0 99993) ~SIZE~0)} is VALID [2018-11-23 12:10:54,200 INFO L273 TraceCheckUtils]: 90: Hoare triple {10281#(<= (+ main_~v~0 99993) ~SIZE~0)} #t~post2 := ~v~0;~v~0 := 1 + #t~post2;havoc #t~post2; {10282#(<= (+ main_~v~0 99992) ~SIZE~0)} is VALID [2018-11-23 12:10:54,200 INFO L273 TraceCheckUtils]: 91: Hoare triple {10282#(<= (+ main_~v~0 99992) ~SIZE~0)} assume !!(~v~0 < ~SIZE~0);call #t~mem3 := read~int(~#values~0.base, ~#values~0.offset + 4 * ~v~0, 4); {10282#(<= (+ main_~v~0 99992) ~SIZE~0)} is VALID [2018-11-23 12:10:54,201 INFO L256 TraceCheckUtils]: 92: Hoare triple {10282#(<= (+ main_~v~0 99992) ~SIZE~0)} call #t~ret4 := elem_exists(~#set~0.base, ~#set~0.offset, ~n~0, #t~mem3); {10271#true} is VALID [2018-11-23 12:10:54,201 INFO L273 TraceCheckUtils]: 93: Hoare triple {10271#true} ~set.base, ~set.offset := #in~set.base, #in~set.offset;~size := #in~size;~value := #in~value;havoc ~i~0;~i~0 := 0; {10271#true} is VALID [2018-11-23 12:10:54,201 INFO L273 TraceCheckUtils]: 94: Hoare triple {10271#true} assume !!(~i~0 < ~size);call #t~mem1 := read~int(~set.base, ~set.offset + 4 * ~i~0, 4); {10271#true} is VALID [2018-11-23 12:10:54,201 INFO L273 TraceCheckUtils]: 95: Hoare triple {10271#true} assume #t~mem1 == ~value;havoc #t~mem1;#res := 1; {10271#true} is VALID [2018-11-23 12:10:54,201 INFO L273 TraceCheckUtils]: 96: Hoare triple {10271#true} assume true; {10271#true} is VALID [2018-11-23 12:10:54,202 INFO L268 TraceCheckUtils]: 97: Hoare quadruple {10271#true} {10282#(<= (+ main_~v~0 99992) ~SIZE~0)} #127#return; {10282#(<= (+ main_~v~0 99992) ~SIZE~0)} is VALID [2018-11-23 12:10:54,203 INFO L273 TraceCheckUtils]: 98: Hoare triple {10282#(<= (+ main_~v~0 99992) ~SIZE~0)} assume -2147483648 <= #t~ret4 && #t~ret4 <= 2147483647; {10282#(<= (+ main_~v~0 99992) ~SIZE~0)} is VALID [2018-11-23 12:10:54,204 INFO L273 TraceCheckUtils]: 99: Hoare triple {10282#(<= (+ main_~v~0 99992) ~SIZE~0)} assume !(1 != #t~ret4);havoc #t~ret4;havoc #t~mem3; {10282#(<= (+ main_~v~0 99992) ~SIZE~0)} is VALID [2018-11-23 12:10:54,204 INFO L273 TraceCheckUtils]: 100: Hoare triple {10282#(<= (+ main_~v~0 99992) ~SIZE~0)} #t~post2 := ~v~0;~v~0 := 1 + #t~post2;havoc #t~post2; {10283#(<= (+ main_~v~0 99991) ~SIZE~0)} is VALID [2018-11-23 12:10:54,205 INFO L273 TraceCheckUtils]: 101: Hoare triple {10283#(<= (+ main_~v~0 99991) ~SIZE~0)} assume !!(~v~0 < ~SIZE~0);call #t~mem3 := read~int(~#values~0.base, ~#values~0.offset + 4 * ~v~0, 4); {10283#(<= (+ main_~v~0 99991) ~SIZE~0)} is VALID [2018-11-23 12:10:54,205 INFO L256 TraceCheckUtils]: 102: Hoare triple {10283#(<= (+ main_~v~0 99991) ~SIZE~0)} call #t~ret4 := elem_exists(~#set~0.base, ~#set~0.offset, ~n~0, #t~mem3); {10271#true} is VALID [2018-11-23 12:10:54,205 INFO L273 TraceCheckUtils]: 103: Hoare triple {10271#true} ~set.base, ~set.offset := #in~set.base, #in~set.offset;~size := #in~size;~value := #in~value;havoc ~i~0;~i~0 := 0; {10271#true} is VALID [2018-11-23 12:10:54,206 INFO L273 TraceCheckUtils]: 104: Hoare triple {10271#true} assume !!(~i~0 < ~size);call #t~mem1 := read~int(~set.base, ~set.offset + 4 * ~i~0, 4); {10271#true} is VALID [2018-11-23 12:10:54,206 INFO L273 TraceCheckUtils]: 105: Hoare triple {10271#true} assume #t~mem1 == ~value;havoc #t~mem1;#res := 1; {10271#true} is VALID [2018-11-23 12:10:54,206 INFO L273 TraceCheckUtils]: 106: Hoare triple {10271#true} assume true; {10271#true} is VALID [2018-11-23 12:10:54,207 INFO L268 TraceCheckUtils]: 107: Hoare quadruple {10271#true} {10283#(<= (+ main_~v~0 99991) ~SIZE~0)} #127#return; {10283#(<= (+ main_~v~0 99991) ~SIZE~0)} is VALID [2018-11-23 12:10:54,208 INFO L273 TraceCheckUtils]: 108: Hoare triple {10283#(<= (+ main_~v~0 99991) ~SIZE~0)} assume -2147483648 <= #t~ret4 && #t~ret4 <= 2147483647; {10283#(<= (+ main_~v~0 99991) ~SIZE~0)} is VALID [2018-11-23 12:10:54,208 INFO L273 TraceCheckUtils]: 109: Hoare triple {10283#(<= (+ main_~v~0 99991) ~SIZE~0)} assume !(1 != #t~ret4);havoc #t~ret4;havoc #t~mem3; {10283#(<= (+ main_~v~0 99991) ~SIZE~0)} is VALID [2018-11-23 12:10:54,209 INFO L273 TraceCheckUtils]: 110: Hoare triple {10283#(<= (+ main_~v~0 99991) ~SIZE~0)} #t~post2 := ~v~0;~v~0 := 1 + #t~post2;havoc #t~post2; {10284#(<= (+ main_~v~0 99990) ~SIZE~0)} is VALID [2018-11-23 12:10:54,209 INFO L273 TraceCheckUtils]: 111: Hoare triple {10284#(<= (+ main_~v~0 99990) ~SIZE~0)} assume !(~v~0 < ~SIZE~0); {10272#false} is VALID [2018-11-23 12:10:54,209 INFO L273 TraceCheckUtils]: 112: Hoare triple {10272#false} ~i~1 := 0; {10272#false} is VALID [2018-11-23 12:10:54,209 INFO L273 TraceCheckUtils]: 113: Hoare triple {10272#false} assume !!(~i~1 < ~SIZE~0 && 1 != ~found~0);call #t~mem8 := read~int(~#set~0.base, ~#set~0.offset + 4 * ~i~1, 4); {10272#false} is VALID [2018-11-23 12:10:54,209 INFO L273 TraceCheckUtils]: 114: Hoare triple {10272#false} assume !(#t~mem8 == ~element~0);havoc #t~mem8; {10272#false} is VALID [2018-11-23 12:10:54,210 INFO L273 TraceCheckUtils]: 115: Hoare triple {10272#false} #t~post7 := ~i~1;~i~1 := 1 + #t~post7;havoc #t~post7; {10272#false} is VALID [2018-11-23 12:10:54,210 INFO L273 TraceCheckUtils]: 116: Hoare triple {10272#false} assume !!(~i~1 < ~SIZE~0 && 1 != ~found~0);call #t~mem8 := read~int(~#set~0.base, ~#set~0.offset + 4 * ~i~1, 4); {10272#false} is VALID [2018-11-23 12:10:54,210 INFO L273 TraceCheckUtils]: 117: Hoare triple {10272#false} assume !(#t~mem8 == ~element~0);havoc #t~mem8; {10272#false} is VALID [2018-11-23 12:10:54,210 INFO L273 TraceCheckUtils]: 118: Hoare triple {10272#false} #t~post7 := ~i~1;~i~1 := 1 + #t~post7;havoc #t~post7; {10272#false} is VALID [2018-11-23 12:10:54,210 INFO L273 TraceCheckUtils]: 119: Hoare triple {10272#false} assume !!(~i~1 < ~SIZE~0 && 1 != ~found~0);call #t~mem8 := read~int(~#set~0.base, ~#set~0.offset + 4 * ~i~1, 4); {10272#false} is VALID [2018-11-23 12:10:54,210 INFO L273 TraceCheckUtils]: 120: Hoare triple {10272#false} assume #t~mem8 == ~element~0;havoc #t~mem8;~found~0 := 1;~pos~0 := ~i~1; {10272#false} is VALID [2018-11-23 12:10:54,210 INFO L273 TraceCheckUtils]: 121: Hoare triple {10272#false} #t~post7 := ~i~1;~i~1 := 1 + #t~post7;havoc #t~post7; {10272#false} is VALID [2018-11-23 12:10:54,211 INFO L273 TraceCheckUtils]: 122: Hoare triple {10272#false} assume !(~i~1 < ~SIZE~0 && 1 != ~found~0); {10272#false} is VALID [2018-11-23 12:10:54,211 INFO L273 TraceCheckUtils]: 123: Hoare triple {10272#false} assume 1 == ~found~0;~i~1 := ~pos~0; {10272#false} is VALID [2018-11-23 12:10:54,211 INFO L273 TraceCheckUtils]: 124: Hoare triple {10272#false} assume !(~i~1 < ~SIZE~0 - 1); {10272#false} is VALID [2018-11-23 12:10:54,211 INFO L273 TraceCheckUtils]: 125: Hoare triple {10272#false} assume 1 == ~found~0;~i~1 := 0; {10272#false} is VALID [2018-11-23 12:10:54,211 INFO L273 TraceCheckUtils]: 126: Hoare triple {10272#false} assume !!(~i~1 < ~SIZE~0 - 1);call #t~mem12 := read~int(~#set~0.base, ~#set~0.offset + 4 * ~i~1, 4); {10272#false} is VALID [2018-11-23 12:10:54,212 INFO L256 TraceCheckUtils]: 127: Hoare triple {10272#false} call __VERIFIER_assert((if #t~mem12 != ~element~0 then 1 else 0)); {10272#false} is VALID [2018-11-23 12:10:54,212 INFO L273 TraceCheckUtils]: 128: Hoare triple {10272#false} ~cond := #in~cond; {10272#false} is VALID [2018-11-23 12:10:54,212 INFO L273 TraceCheckUtils]: 129: Hoare triple {10272#false} assume 0 == ~cond; {10272#false} is VALID [2018-11-23 12:10:54,212 INFO L273 TraceCheckUtils]: 130: Hoare triple {10272#false} assume !false; {10272#false} is VALID [2018-11-23 12:10:54,224 INFO L134 CoverageAnalysis]: Checked inductivity of 463 backedges. 0 proven. 235 refuted. 0 times theorem prover too weak. 228 trivial. 0 not checked. [2018-11-23 12:10:54,224 INFO L300 seRefinementStrategy]: The current sequences of interpolants are not accepted, trying to find more. [2018-11-23 12:10:54,224 INFO L223 ckRefinementStrategy]: Switched to mode Z3_FP No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 Starting monitored process 13 with z3 -smt2 -in SMTLIB2_COMPLIANT=true -t:12000 (exit command is (exit), workingDir is null) Waiting until toolchain timeout for monitored process 13 with z3 -smt2 -in SMTLIB2_COMPLIANT=true -t:12000 [2018-11-23 12:10:54,233 INFO L103 rtionOrderModulation]: Keeping assertion order TERMS_WITH_SMALL_CONSTANTS_FIRST [2018-11-23 12:10:54,306 INFO L249 tOrderPrioritization]: Assert order TERMS_WITH_SMALL_CONSTANTS_FIRST issued 0 check-sat command(s) [2018-11-23 12:10:54,306 INFO L250 tOrderPrioritization]: Conjunction of SSA is unsat [2018-11-23 12:10:54,349 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2018-11-23 12:10:54,351 INFO L273 TraceCheckSpWp]: Computing forward predicates... [2018-11-23 12:10:55,237 INFO L256 TraceCheckUtils]: 0: Hoare triple {10271#true} call ULTIMATE.init(); {10271#true} is VALID [2018-11-23 12:10:55,237 INFO L273 TraceCheckUtils]: 1: Hoare triple {10271#true} #NULL.base, #NULL.offset := 0, 0;#valid := #valid[0 := 0];~SIZE~0 := 100000; {10271#true} is VALID [2018-11-23 12:10:55,238 INFO L273 TraceCheckUtils]: 2: Hoare triple {10271#true} assume true; {10271#true} is VALID [2018-11-23 12:10:55,238 INFO L268 TraceCheckUtils]: 3: Hoare quadruple {10271#true} {10271#true} #123#return; {10271#true} is VALID [2018-11-23 12:10:55,238 INFO L256 TraceCheckUtils]: 4: Hoare triple {10271#true} call #t~ret13 := main(); {10271#true} is VALID [2018-11-23 12:10:55,239 INFO L273 TraceCheckUtils]: 5: Hoare triple {10271#true} havoc ~i~1;havoc ~pos~0;~n~0 := 0;~found~0 := 0;call ~#set~0.base, ~#set~0.offset := #Ultimate.alloc(4 * ~SIZE~0);call ~#values~0.base, ~#values~0.offset := #Ultimate.alloc(4 * ~SIZE~0);havoc ~element~0;havoc ~v~0;~v~0 := 0; {10303#(<= 0 main_~v~0)} is VALID [2018-11-23 12:10:55,240 INFO L273 TraceCheckUtils]: 6: Hoare triple {10303#(<= 0 main_~v~0)} assume !!(~v~0 < ~SIZE~0);call #t~mem3 := read~int(~#values~0.base, ~#values~0.offset + 4 * ~v~0, 4); {10303#(<= 0 main_~v~0)} is VALID [2018-11-23 12:10:55,240 INFO L256 TraceCheckUtils]: 7: Hoare triple {10303#(<= 0 main_~v~0)} call #t~ret4 := elem_exists(~#set~0.base, ~#set~0.offset, ~n~0, #t~mem3); {10271#true} is VALID [2018-11-23 12:10:55,240 INFO L273 TraceCheckUtils]: 8: Hoare triple {10271#true} ~set.base, ~set.offset := #in~set.base, #in~set.offset;~size := #in~size;~value := #in~value;havoc ~i~0;~i~0 := 0; {10271#true} is VALID [2018-11-23 12:10:55,240 INFO L273 TraceCheckUtils]: 9: Hoare triple {10271#true} assume !(~i~0 < ~size); {10271#true} is VALID [2018-11-23 12:10:55,240 INFO L273 TraceCheckUtils]: 10: Hoare triple {10271#true} #res := 0; {10271#true} is VALID [2018-11-23 12:10:55,240 INFO L273 TraceCheckUtils]: 11: Hoare triple {10271#true} assume true; {10271#true} is VALID [2018-11-23 12:10:55,241 INFO L268 TraceCheckUtils]: 12: Hoare quadruple {10271#true} {10303#(<= 0 main_~v~0)} #127#return; {10303#(<= 0 main_~v~0)} is VALID [2018-11-23 12:10:55,241 INFO L273 TraceCheckUtils]: 13: Hoare triple {10303#(<= 0 main_~v~0)} assume -2147483648 <= #t~ret4 && #t~ret4 <= 2147483647; {10303#(<= 0 main_~v~0)} is VALID [2018-11-23 12:10:55,242 INFO L273 TraceCheckUtils]: 14: Hoare triple {10303#(<= 0 main_~v~0)} assume 1 != #t~ret4;havoc #t~ret4;havoc #t~mem3;call #t~mem5 := read~int(~#values~0.base, ~#values~0.offset + 4 * ~v~0, 4); {10303#(<= 0 main_~v~0)} is VALID [2018-11-23 12:10:55,242 INFO L256 TraceCheckUtils]: 15: Hoare triple {10303#(<= 0 main_~v~0)} call #t~ret6 := insert(~#set~0.base, ~#set~0.offset, ~n~0, #t~mem5); {10271#true} is VALID [2018-11-23 12:10:55,242 INFO L273 TraceCheckUtils]: 16: Hoare triple {10271#true} ~set.base, ~set.offset := #in~set.base, #in~set.offset;~size := #in~size;~value := #in~value;call write~int(~value, ~set.base, ~set.offset + 4 * ~size, 4);#res := 1 + ~size; {10271#true} is VALID [2018-11-23 12:10:55,242 INFO L273 TraceCheckUtils]: 17: Hoare triple {10271#true} assume true; {10271#true} is VALID [2018-11-23 12:10:55,243 INFO L268 TraceCheckUtils]: 18: Hoare quadruple {10271#true} {10303#(<= 0 main_~v~0)} #129#return; {10303#(<= 0 main_~v~0)} is VALID [2018-11-23 12:10:55,244 INFO L273 TraceCheckUtils]: 19: Hoare triple {10303#(<= 0 main_~v~0)} assume -2147483648 <= #t~ret6 && #t~ret6 <= 2147483647;~n~0 := #t~ret6;havoc #t~mem5;havoc #t~ret6; {10303#(<= 0 main_~v~0)} is VALID [2018-11-23 12:10:55,245 INFO L273 TraceCheckUtils]: 20: Hoare triple {10303#(<= 0 main_~v~0)} #t~post2 := ~v~0;~v~0 := 1 + #t~post2;havoc #t~post2; {10349#(<= 1 main_~v~0)} is VALID [2018-11-23 12:10:55,245 INFO L273 TraceCheckUtils]: 21: Hoare triple {10349#(<= 1 main_~v~0)} assume !!(~v~0 < ~SIZE~0);call #t~mem3 := read~int(~#values~0.base, ~#values~0.offset + 4 * ~v~0, 4); {10349#(<= 1 main_~v~0)} is VALID [2018-11-23 12:10:55,245 INFO L256 TraceCheckUtils]: 22: Hoare triple {10349#(<= 1 main_~v~0)} call #t~ret4 := elem_exists(~#set~0.base, ~#set~0.offset, ~n~0, #t~mem3); {10271#true} is VALID [2018-11-23 12:10:55,246 INFO L273 TraceCheckUtils]: 23: Hoare triple {10271#true} ~set.base, ~set.offset := #in~set.base, #in~set.offset;~size := #in~size;~value := #in~value;havoc ~i~0;~i~0 := 0; {10271#true} is VALID [2018-11-23 12:10:55,246 INFO L273 TraceCheckUtils]: 24: Hoare triple {10271#true} assume !!(~i~0 < ~size);call #t~mem1 := read~int(~set.base, ~set.offset + 4 * ~i~0, 4); {10271#true} is VALID [2018-11-23 12:10:55,246 INFO L273 TraceCheckUtils]: 25: Hoare triple {10271#true} assume #t~mem1 == ~value;havoc #t~mem1;#res := 1; {10271#true} is VALID [2018-11-23 12:10:55,246 INFO L273 TraceCheckUtils]: 26: Hoare triple {10271#true} assume true; {10271#true} is VALID [2018-11-23 12:10:55,247 INFO L268 TraceCheckUtils]: 27: Hoare quadruple {10271#true} {10349#(<= 1 main_~v~0)} #127#return; {10349#(<= 1 main_~v~0)} is VALID [2018-11-23 12:10:55,248 INFO L273 TraceCheckUtils]: 28: Hoare triple {10349#(<= 1 main_~v~0)} assume -2147483648 <= #t~ret4 && #t~ret4 <= 2147483647; {10349#(<= 1 main_~v~0)} is VALID [2018-11-23 12:10:55,248 INFO L273 TraceCheckUtils]: 29: Hoare triple {10349#(<= 1 main_~v~0)} assume !(1 != #t~ret4);havoc #t~ret4;havoc #t~mem3; {10349#(<= 1 main_~v~0)} is VALID [2018-11-23 12:10:55,249 INFO L273 TraceCheckUtils]: 30: Hoare triple {10349#(<= 1 main_~v~0)} #t~post2 := ~v~0;~v~0 := 1 + #t~post2;havoc #t~post2; {10380#(<= 2 main_~v~0)} is VALID [2018-11-23 12:10:55,250 INFO L273 TraceCheckUtils]: 31: Hoare triple {10380#(<= 2 main_~v~0)} assume !!(~v~0 < ~SIZE~0);call #t~mem3 := read~int(~#values~0.base, ~#values~0.offset + 4 * ~v~0, 4); {10380#(<= 2 main_~v~0)} is VALID [2018-11-23 12:10:55,250 INFO L256 TraceCheckUtils]: 32: Hoare triple {10380#(<= 2 main_~v~0)} call #t~ret4 := elem_exists(~#set~0.base, ~#set~0.offset, ~n~0, #t~mem3); {10271#true} is VALID [2018-11-23 12:10:55,250 INFO L273 TraceCheckUtils]: 33: Hoare triple {10271#true} ~set.base, ~set.offset := #in~set.base, #in~set.offset;~size := #in~size;~value := #in~value;havoc ~i~0;~i~0 := 0; {10271#true} is VALID [2018-11-23 12:10:55,250 INFO L273 TraceCheckUtils]: 34: Hoare triple {10271#true} assume !!(~i~0 < ~size);call #t~mem1 := read~int(~set.base, ~set.offset + 4 * ~i~0, 4); {10271#true} is VALID [2018-11-23 12:10:55,251 INFO L273 TraceCheckUtils]: 35: Hoare triple {10271#true} assume #t~mem1 == ~value;havoc #t~mem1;#res := 1; {10271#true} is VALID [2018-11-23 12:10:55,251 INFO L273 TraceCheckUtils]: 36: Hoare triple {10271#true} assume true; {10271#true} is VALID [2018-11-23 12:10:55,252 INFO L268 TraceCheckUtils]: 37: Hoare quadruple {10271#true} {10380#(<= 2 main_~v~0)} #127#return; {10380#(<= 2 main_~v~0)} is VALID [2018-11-23 12:10:55,252 INFO L273 TraceCheckUtils]: 38: Hoare triple {10380#(<= 2 main_~v~0)} assume -2147483648 <= #t~ret4 && #t~ret4 <= 2147483647; {10380#(<= 2 main_~v~0)} is VALID [2018-11-23 12:10:55,253 INFO L273 TraceCheckUtils]: 39: Hoare triple {10380#(<= 2 main_~v~0)} assume !(1 != #t~ret4);havoc #t~ret4;havoc #t~mem3; {10380#(<= 2 main_~v~0)} is VALID [2018-11-23 12:10:55,253 INFO L273 TraceCheckUtils]: 40: Hoare triple {10380#(<= 2 main_~v~0)} #t~post2 := ~v~0;~v~0 := 1 + #t~post2;havoc #t~post2; {10411#(<= 3 main_~v~0)} is VALID [2018-11-23 12:10:55,253 INFO L273 TraceCheckUtils]: 41: Hoare triple {10411#(<= 3 main_~v~0)} assume !!(~v~0 < ~SIZE~0);call #t~mem3 := read~int(~#values~0.base, ~#values~0.offset + 4 * ~v~0, 4); {10411#(<= 3 main_~v~0)} is VALID [2018-11-23 12:10:55,254 INFO L256 TraceCheckUtils]: 42: Hoare triple {10411#(<= 3 main_~v~0)} call #t~ret4 := elem_exists(~#set~0.base, ~#set~0.offset, ~n~0, #t~mem3); {10271#true} is VALID [2018-11-23 12:10:55,254 INFO L273 TraceCheckUtils]: 43: Hoare triple {10271#true} ~set.base, ~set.offset := #in~set.base, #in~set.offset;~size := #in~size;~value := #in~value;havoc ~i~0;~i~0 := 0; {10271#true} is VALID [2018-11-23 12:10:55,254 INFO L273 TraceCheckUtils]: 44: Hoare triple {10271#true} assume !!(~i~0 < ~size);call #t~mem1 := read~int(~set.base, ~set.offset + 4 * ~i~0, 4); {10271#true} is VALID [2018-11-23 12:10:55,254 INFO L273 TraceCheckUtils]: 45: Hoare triple {10271#true} assume #t~mem1 == ~value;havoc #t~mem1;#res := 1; {10271#true} is VALID [2018-11-23 12:10:55,254 INFO L273 TraceCheckUtils]: 46: Hoare triple {10271#true} assume true; {10271#true} is VALID [2018-11-23 12:10:55,255 INFO L268 TraceCheckUtils]: 47: Hoare quadruple {10271#true} {10411#(<= 3 main_~v~0)} #127#return; {10411#(<= 3 main_~v~0)} is VALID [2018-11-23 12:10:55,256 INFO L273 TraceCheckUtils]: 48: Hoare triple {10411#(<= 3 main_~v~0)} assume -2147483648 <= #t~ret4 && #t~ret4 <= 2147483647; {10411#(<= 3 main_~v~0)} is VALID [2018-11-23 12:10:55,256 INFO L273 TraceCheckUtils]: 49: Hoare triple {10411#(<= 3 main_~v~0)} assume !(1 != #t~ret4);havoc #t~ret4;havoc #t~mem3; {10411#(<= 3 main_~v~0)} is VALID [2018-11-23 12:10:55,257 INFO L273 TraceCheckUtils]: 50: Hoare triple {10411#(<= 3 main_~v~0)} #t~post2 := ~v~0;~v~0 := 1 + #t~post2;havoc #t~post2; {10442#(<= 4 main_~v~0)} is VALID [2018-11-23 12:10:55,257 INFO L273 TraceCheckUtils]: 51: Hoare triple {10442#(<= 4 main_~v~0)} assume !!(~v~0 < ~SIZE~0);call #t~mem3 := read~int(~#values~0.base, ~#values~0.offset + 4 * ~v~0, 4); {10442#(<= 4 main_~v~0)} is VALID [2018-11-23 12:10:55,257 INFO L256 TraceCheckUtils]: 52: Hoare triple {10442#(<= 4 main_~v~0)} call #t~ret4 := elem_exists(~#set~0.base, ~#set~0.offset, ~n~0, #t~mem3); {10271#true} is VALID [2018-11-23 12:10:55,257 INFO L273 TraceCheckUtils]: 53: Hoare triple {10271#true} ~set.base, ~set.offset := #in~set.base, #in~set.offset;~size := #in~size;~value := #in~value;havoc ~i~0;~i~0 := 0; {10271#true} is VALID [2018-11-23 12:10:55,257 INFO L273 TraceCheckUtils]: 54: Hoare triple {10271#true} assume !!(~i~0 < ~size);call #t~mem1 := read~int(~set.base, ~set.offset + 4 * ~i~0, 4); {10271#true} is VALID [2018-11-23 12:10:55,257 INFO L273 TraceCheckUtils]: 55: Hoare triple {10271#true} assume #t~mem1 == ~value;havoc #t~mem1;#res := 1; {10271#true} is VALID [2018-11-23 12:10:55,258 INFO L273 TraceCheckUtils]: 56: Hoare triple {10271#true} assume true; {10271#true} is VALID [2018-11-23 12:10:55,258 INFO L268 TraceCheckUtils]: 57: Hoare quadruple {10271#true} {10442#(<= 4 main_~v~0)} #127#return; {10442#(<= 4 main_~v~0)} is VALID [2018-11-23 12:10:55,259 INFO L273 TraceCheckUtils]: 58: Hoare triple {10442#(<= 4 main_~v~0)} assume -2147483648 <= #t~ret4 && #t~ret4 <= 2147483647; {10442#(<= 4 main_~v~0)} is VALID [2018-11-23 12:10:55,259 INFO L273 TraceCheckUtils]: 59: Hoare triple {10442#(<= 4 main_~v~0)} assume !(1 != #t~ret4);havoc #t~ret4;havoc #t~mem3; {10442#(<= 4 main_~v~0)} is VALID [2018-11-23 12:10:55,260 INFO L273 TraceCheckUtils]: 60: Hoare triple {10442#(<= 4 main_~v~0)} #t~post2 := ~v~0;~v~0 := 1 + #t~post2;havoc #t~post2; {10473#(<= 5 main_~v~0)} is VALID [2018-11-23 12:10:55,261 INFO L273 TraceCheckUtils]: 61: Hoare triple {10473#(<= 5 main_~v~0)} assume !!(~v~0 < ~SIZE~0);call #t~mem3 := read~int(~#values~0.base, ~#values~0.offset + 4 * ~v~0, 4); {10473#(<= 5 main_~v~0)} is VALID [2018-11-23 12:10:55,261 INFO L256 TraceCheckUtils]: 62: Hoare triple {10473#(<= 5 main_~v~0)} call #t~ret4 := elem_exists(~#set~0.base, ~#set~0.offset, ~n~0, #t~mem3); {10271#true} is VALID [2018-11-23 12:10:55,261 INFO L273 TraceCheckUtils]: 63: Hoare triple {10271#true} ~set.base, ~set.offset := #in~set.base, #in~set.offset;~size := #in~size;~value := #in~value;havoc ~i~0;~i~0 := 0; {10271#true} is VALID [2018-11-23 12:10:55,261 INFO L273 TraceCheckUtils]: 64: Hoare triple {10271#true} assume !!(~i~0 < ~size);call #t~mem1 := read~int(~set.base, ~set.offset + 4 * ~i~0, 4); {10271#true} is VALID [2018-11-23 12:10:55,262 INFO L273 TraceCheckUtils]: 65: Hoare triple {10271#true} assume #t~mem1 == ~value;havoc #t~mem1;#res := 1; {10271#true} is VALID [2018-11-23 12:10:55,262 INFO L273 TraceCheckUtils]: 66: Hoare triple {10271#true} assume true; {10271#true} is VALID [2018-11-23 12:10:55,263 INFO L268 TraceCheckUtils]: 67: Hoare quadruple {10271#true} {10473#(<= 5 main_~v~0)} #127#return; {10473#(<= 5 main_~v~0)} is VALID [2018-11-23 12:10:55,264 INFO L273 TraceCheckUtils]: 68: Hoare triple {10473#(<= 5 main_~v~0)} assume -2147483648 <= #t~ret4 && #t~ret4 <= 2147483647; {10473#(<= 5 main_~v~0)} is VALID [2018-11-23 12:10:55,264 INFO L273 TraceCheckUtils]: 69: Hoare triple {10473#(<= 5 main_~v~0)} assume !(1 != #t~ret4);havoc #t~ret4;havoc #t~mem3; {10473#(<= 5 main_~v~0)} is VALID [2018-11-23 12:10:55,265 INFO L273 TraceCheckUtils]: 70: Hoare triple {10473#(<= 5 main_~v~0)} #t~post2 := ~v~0;~v~0 := 1 + #t~post2;havoc #t~post2; {10504#(<= 6 main_~v~0)} is VALID [2018-11-23 12:10:55,265 INFO L273 TraceCheckUtils]: 71: Hoare triple {10504#(<= 6 main_~v~0)} assume !!(~v~0 < ~SIZE~0);call #t~mem3 := read~int(~#values~0.base, ~#values~0.offset + 4 * ~v~0, 4); {10504#(<= 6 main_~v~0)} is VALID [2018-11-23 12:10:55,265 INFO L256 TraceCheckUtils]: 72: Hoare triple {10504#(<= 6 main_~v~0)} call #t~ret4 := elem_exists(~#set~0.base, ~#set~0.offset, ~n~0, #t~mem3); {10271#true} is VALID [2018-11-23 12:10:55,265 INFO L273 TraceCheckUtils]: 73: Hoare triple {10271#true} ~set.base, ~set.offset := #in~set.base, #in~set.offset;~size := #in~size;~value := #in~value;havoc ~i~0;~i~0 := 0; {10271#true} is VALID [2018-11-23 12:10:55,265 INFO L273 TraceCheckUtils]: 74: Hoare triple {10271#true} assume !!(~i~0 < ~size);call #t~mem1 := read~int(~set.base, ~set.offset + 4 * ~i~0, 4); {10271#true} is VALID [2018-11-23 12:10:55,265 INFO L273 TraceCheckUtils]: 75: Hoare triple {10271#true} assume #t~mem1 == ~value;havoc #t~mem1;#res := 1; {10271#true} is VALID [2018-11-23 12:10:55,265 INFO L273 TraceCheckUtils]: 76: Hoare triple {10271#true} assume true; {10271#true} is VALID [2018-11-23 12:10:55,266 INFO L268 TraceCheckUtils]: 77: Hoare quadruple {10271#true} {10504#(<= 6 main_~v~0)} #127#return; {10504#(<= 6 main_~v~0)} is VALID [2018-11-23 12:10:55,267 INFO L273 TraceCheckUtils]: 78: Hoare triple {10504#(<= 6 main_~v~0)} assume -2147483648 <= #t~ret4 && #t~ret4 <= 2147483647; {10504#(<= 6 main_~v~0)} is VALID [2018-11-23 12:10:55,267 INFO L273 TraceCheckUtils]: 79: Hoare triple {10504#(<= 6 main_~v~0)} assume !(1 != #t~ret4);havoc #t~ret4;havoc #t~mem3; {10504#(<= 6 main_~v~0)} is VALID [2018-11-23 12:10:55,268 INFO L273 TraceCheckUtils]: 80: Hoare triple {10504#(<= 6 main_~v~0)} #t~post2 := ~v~0;~v~0 := 1 + #t~post2;havoc #t~post2; {10535#(<= 7 main_~v~0)} is VALID [2018-11-23 12:10:55,269 INFO L273 TraceCheckUtils]: 81: Hoare triple {10535#(<= 7 main_~v~0)} assume !!(~v~0 < ~SIZE~0);call #t~mem3 := read~int(~#values~0.base, ~#values~0.offset + 4 * ~v~0, 4); {10535#(<= 7 main_~v~0)} is VALID [2018-11-23 12:10:55,269 INFO L256 TraceCheckUtils]: 82: Hoare triple {10535#(<= 7 main_~v~0)} call #t~ret4 := elem_exists(~#set~0.base, ~#set~0.offset, ~n~0, #t~mem3); {10271#true} is VALID [2018-11-23 12:10:55,269 INFO L273 TraceCheckUtils]: 83: Hoare triple {10271#true} ~set.base, ~set.offset := #in~set.base, #in~set.offset;~size := #in~size;~value := #in~value;havoc ~i~0;~i~0 := 0; {10271#true} is VALID [2018-11-23 12:10:55,269 INFO L273 TraceCheckUtils]: 84: Hoare triple {10271#true} assume !!(~i~0 < ~size);call #t~mem1 := read~int(~set.base, ~set.offset + 4 * ~i~0, 4); {10271#true} is VALID [2018-11-23 12:10:55,269 INFO L273 TraceCheckUtils]: 85: Hoare triple {10271#true} assume #t~mem1 == ~value;havoc #t~mem1;#res := 1; {10271#true} is VALID [2018-11-23 12:10:55,270 INFO L273 TraceCheckUtils]: 86: Hoare triple {10271#true} assume true; {10271#true} is VALID [2018-11-23 12:10:55,271 INFO L268 TraceCheckUtils]: 87: Hoare quadruple {10271#true} {10535#(<= 7 main_~v~0)} #127#return; {10535#(<= 7 main_~v~0)} is VALID [2018-11-23 12:10:55,271 INFO L273 TraceCheckUtils]: 88: Hoare triple {10535#(<= 7 main_~v~0)} assume -2147483648 <= #t~ret4 && #t~ret4 <= 2147483647; {10535#(<= 7 main_~v~0)} is VALID [2018-11-23 12:10:55,272 INFO L273 TraceCheckUtils]: 89: Hoare triple {10535#(<= 7 main_~v~0)} assume !(1 != #t~ret4);havoc #t~ret4;havoc #t~mem3; {10535#(<= 7 main_~v~0)} is VALID [2018-11-23 12:10:55,272 INFO L273 TraceCheckUtils]: 90: Hoare triple {10535#(<= 7 main_~v~0)} #t~post2 := ~v~0;~v~0 := 1 + #t~post2;havoc #t~post2; {10566#(<= 8 main_~v~0)} is VALID [2018-11-23 12:10:55,273 INFO L273 TraceCheckUtils]: 91: Hoare triple {10566#(<= 8 main_~v~0)} assume !!(~v~0 < ~SIZE~0);call #t~mem3 := read~int(~#values~0.base, ~#values~0.offset + 4 * ~v~0, 4); {10566#(<= 8 main_~v~0)} is VALID [2018-11-23 12:10:55,273 INFO L256 TraceCheckUtils]: 92: Hoare triple {10566#(<= 8 main_~v~0)} call #t~ret4 := elem_exists(~#set~0.base, ~#set~0.offset, ~n~0, #t~mem3); {10271#true} is VALID [2018-11-23 12:10:55,273 INFO L273 TraceCheckUtils]: 93: Hoare triple {10271#true} ~set.base, ~set.offset := #in~set.base, #in~set.offset;~size := #in~size;~value := #in~value;havoc ~i~0;~i~0 := 0; {10271#true} is VALID [2018-11-23 12:10:55,273 INFO L273 TraceCheckUtils]: 94: Hoare triple {10271#true} assume !!(~i~0 < ~size);call #t~mem1 := read~int(~set.base, ~set.offset + 4 * ~i~0, 4); {10271#true} is VALID [2018-11-23 12:10:55,273 INFO L273 TraceCheckUtils]: 95: Hoare triple {10271#true} assume #t~mem1 == ~value;havoc #t~mem1;#res := 1; {10271#true} is VALID [2018-11-23 12:10:55,273 INFO L273 TraceCheckUtils]: 96: Hoare triple {10271#true} assume true; {10271#true} is VALID [2018-11-23 12:10:55,274 INFO L268 TraceCheckUtils]: 97: Hoare quadruple {10271#true} {10566#(<= 8 main_~v~0)} #127#return; {10566#(<= 8 main_~v~0)} is VALID [2018-11-23 12:10:55,275 INFO L273 TraceCheckUtils]: 98: Hoare triple {10566#(<= 8 main_~v~0)} assume -2147483648 <= #t~ret4 && #t~ret4 <= 2147483647; {10566#(<= 8 main_~v~0)} is VALID [2018-11-23 12:10:55,275 INFO L273 TraceCheckUtils]: 99: Hoare triple {10566#(<= 8 main_~v~0)} assume !(1 != #t~ret4);havoc #t~ret4;havoc #t~mem3; {10566#(<= 8 main_~v~0)} is VALID [2018-11-23 12:10:55,276 INFO L273 TraceCheckUtils]: 100: Hoare triple {10566#(<= 8 main_~v~0)} #t~post2 := ~v~0;~v~0 := 1 + #t~post2;havoc #t~post2; {10597#(<= 9 main_~v~0)} is VALID [2018-11-23 12:10:55,277 INFO L273 TraceCheckUtils]: 101: Hoare triple {10597#(<= 9 main_~v~0)} assume !!(~v~0 < ~SIZE~0);call #t~mem3 := read~int(~#values~0.base, ~#values~0.offset + 4 * ~v~0, 4); {10601#(<= 10 ~SIZE~0)} is VALID [2018-11-23 12:10:55,278 INFO L256 TraceCheckUtils]: 102: Hoare triple {10601#(<= 10 ~SIZE~0)} call #t~ret4 := elem_exists(~#set~0.base, ~#set~0.offset, ~n~0, #t~mem3); {10601#(<= 10 ~SIZE~0)} is VALID [2018-11-23 12:10:55,278 INFO L273 TraceCheckUtils]: 103: Hoare triple {10601#(<= 10 ~SIZE~0)} ~set.base, ~set.offset := #in~set.base, #in~set.offset;~size := #in~size;~value := #in~value;havoc ~i~0;~i~0 := 0; {10601#(<= 10 ~SIZE~0)} is VALID [2018-11-23 12:10:55,279 INFO L273 TraceCheckUtils]: 104: Hoare triple {10601#(<= 10 ~SIZE~0)} assume !!(~i~0 < ~size);call #t~mem1 := read~int(~set.base, ~set.offset + 4 * ~i~0, 4); {10601#(<= 10 ~SIZE~0)} is VALID [2018-11-23 12:10:55,279 INFO L273 TraceCheckUtils]: 105: Hoare triple {10601#(<= 10 ~SIZE~0)} assume #t~mem1 == ~value;havoc #t~mem1;#res := 1; {10601#(<= 10 ~SIZE~0)} is VALID [2018-11-23 12:10:55,280 INFO L273 TraceCheckUtils]: 106: Hoare triple {10601#(<= 10 ~SIZE~0)} assume true; {10601#(<= 10 ~SIZE~0)} is VALID [2018-11-23 12:10:55,281 INFO L268 TraceCheckUtils]: 107: Hoare quadruple {10601#(<= 10 ~SIZE~0)} {10601#(<= 10 ~SIZE~0)} #127#return; {10601#(<= 10 ~SIZE~0)} is VALID [2018-11-23 12:10:55,282 INFO L273 TraceCheckUtils]: 108: Hoare triple {10601#(<= 10 ~SIZE~0)} assume -2147483648 <= #t~ret4 && #t~ret4 <= 2147483647; {10601#(<= 10 ~SIZE~0)} is VALID [2018-11-23 12:10:55,282 INFO L273 TraceCheckUtils]: 109: Hoare triple {10601#(<= 10 ~SIZE~0)} assume !(1 != #t~ret4);havoc #t~ret4;havoc #t~mem3; {10601#(<= 10 ~SIZE~0)} is VALID [2018-11-23 12:10:55,283 INFO L273 TraceCheckUtils]: 110: Hoare triple {10601#(<= 10 ~SIZE~0)} #t~post2 := ~v~0;~v~0 := 1 + #t~post2;havoc #t~post2; {10601#(<= 10 ~SIZE~0)} is VALID [2018-11-23 12:10:55,283 INFO L273 TraceCheckUtils]: 111: Hoare triple {10601#(<= 10 ~SIZE~0)} assume !(~v~0 < ~SIZE~0); {10601#(<= 10 ~SIZE~0)} is VALID [2018-11-23 12:10:55,284 INFO L273 TraceCheckUtils]: 112: Hoare triple {10601#(<= 10 ~SIZE~0)} ~i~1 := 0; {10635#(and (<= main_~i~1 0) (<= 10 ~SIZE~0))} is VALID [2018-11-23 12:10:55,285 INFO L273 TraceCheckUtils]: 113: Hoare triple {10635#(and (<= main_~i~1 0) (<= 10 ~SIZE~0))} assume !!(~i~1 < ~SIZE~0 && 1 != ~found~0);call #t~mem8 := read~int(~#set~0.base, ~#set~0.offset + 4 * ~i~1, 4); {10635#(and (<= main_~i~1 0) (<= 10 ~SIZE~0))} is VALID [2018-11-23 12:10:55,285 INFO L273 TraceCheckUtils]: 114: Hoare triple {10635#(and (<= main_~i~1 0) (<= 10 ~SIZE~0))} assume !(#t~mem8 == ~element~0);havoc #t~mem8; {10635#(and (<= main_~i~1 0) (<= 10 ~SIZE~0))} is VALID [2018-11-23 12:10:55,286 INFO L273 TraceCheckUtils]: 115: Hoare triple {10635#(and (<= main_~i~1 0) (<= 10 ~SIZE~0))} #t~post7 := ~i~1;~i~1 := 1 + #t~post7;havoc #t~post7; {10645#(and (<= main_~i~1 1) (<= 10 ~SIZE~0))} is VALID [2018-11-23 12:10:55,287 INFO L273 TraceCheckUtils]: 116: Hoare triple {10645#(and (<= main_~i~1 1) (<= 10 ~SIZE~0))} assume !!(~i~1 < ~SIZE~0 && 1 != ~found~0);call #t~mem8 := read~int(~#set~0.base, ~#set~0.offset + 4 * ~i~1, 4); {10645#(and (<= main_~i~1 1) (<= 10 ~SIZE~0))} is VALID [2018-11-23 12:10:55,288 INFO L273 TraceCheckUtils]: 117: Hoare triple {10645#(and (<= main_~i~1 1) (<= 10 ~SIZE~0))} assume !(#t~mem8 == ~element~0);havoc #t~mem8; {10645#(and (<= main_~i~1 1) (<= 10 ~SIZE~0))} is VALID [2018-11-23 12:10:55,288 INFO L273 TraceCheckUtils]: 118: Hoare triple {10645#(and (<= main_~i~1 1) (<= 10 ~SIZE~0))} #t~post7 := ~i~1;~i~1 := 1 + #t~post7;havoc #t~post7; {10655#(and (<= main_~i~1 2) (<= 10 ~SIZE~0))} is VALID [2018-11-23 12:10:55,289 INFO L273 TraceCheckUtils]: 119: Hoare triple {10655#(and (<= main_~i~1 2) (<= 10 ~SIZE~0))} assume !!(~i~1 < ~SIZE~0 && 1 != ~found~0);call #t~mem8 := read~int(~#set~0.base, ~#set~0.offset + 4 * ~i~1, 4); {10655#(and (<= main_~i~1 2) (<= 10 ~SIZE~0))} is VALID [2018-11-23 12:10:55,290 INFO L273 TraceCheckUtils]: 120: Hoare triple {10655#(and (<= main_~i~1 2) (<= 10 ~SIZE~0))} assume #t~mem8 == ~element~0;havoc #t~mem8;~found~0 := 1;~pos~0 := ~i~1; {10662#(and (<= main_~pos~0 2) (<= 10 ~SIZE~0))} is VALID [2018-11-23 12:10:55,290 INFO L273 TraceCheckUtils]: 121: Hoare triple {10662#(and (<= main_~pos~0 2) (<= 10 ~SIZE~0))} #t~post7 := ~i~1;~i~1 := 1 + #t~post7;havoc #t~post7; {10662#(and (<= main_~pos~0 2) (<= 10 ~SIZE~0))} is VALID [2018-11-23 12:10:55,291 INFO L273 TraceCheckUtils]: 122: Hoare triple {10662#(and (<= main_~pos~0 2) (<= 10 ~SIZE~0))} assume !(~i~1 < ~SIZE~0 && 1 != ~found~0); {10662#(and (<= main_~pos~0 2) (<= 10 ~SIZE~0))} is VALID [2018-11-23 12:10:55,292 INFO L273 TraceCheckUtils]: 123: Hoare triple {10662#(and (<= main_~pos~0 2) (<= 10 ~SIZE~0))} assume 1 == ~found~0;~i~1 := ~pos~0; {10655#(and (<= main_~i~1 2) (<= 10 ~SIZE~0))} is VALID [2018-11-23 12:10:55,293 INFO L273 TraceCheckUtils]: 124: Hoare triple {10655#(and (<= main_~i~1 2) (<= 10 ~SIZE~0))} assume !(~i~1 < ~SIZE~0 - 1); {10272#false} is VALID [2018-11-23 12:10:55,293 INFO L273 TraceCheckUtils]: 125: Hoare triple {10272#false} assume 1 == ~found~0;~i~1 := 0; {10272#false} is VALID [2018-11-23 12:10:55,293 INFO L273 TraceCheckUtils]: 126: Hoare triple {10272#false} assume !!(~i~1 < ~SIZE~0 - 1);call #t~mem12 := read~int(~#set~0.base, ~#set~0.offset + 4 * ~i~1, 4); {10272#false} is VALID [2018-11-23 12:10:55,293 INFO L256 TraceCheckUtils]: 127: Hoare triple {10272#false} call __VERIFIER_assert((if #t~mem12 != ~element~0 then 1 else 0)); {10272#false} is VALID [2018-11-23 12:10:55,293 INFO L273 TraceCheckUtils]: 128: Hoare triple {10272#false} ~cond := #in~cond; {10272#false} is VALID [2018-11-23 12:10:55,294 INFO L273 TraceCheckUtils]: 129: Hoare triple {10272#false} assume 0 == ~cond; {10272#false} is VALID [2018-11-23 12:10:55,294 INFO L273 TraceCheckUtils]: 130: Hoare triple {10272#false} assume !false; {10272#false} is VALID [2018-11-23 12:10:55,304 INFO L134 CoverageAnalysis]: Checked inductivity of 463 backedges. 233 proven. 58 refuted. 0 times theorem prover too weak. 172 trivial. 0 not checked. [2018-11-23 12:10:55,323 INFO L312 seRefinementStrategy]: Constructing automaton from 0 perfect and 2 imperfect interpolant sequences. [2018-11-23 12:10:55,323 INFO L327 seRefinementStrategy]: Number of different interpolants: perfect sequences [] imperfect sequences [14, 17] total 29 [2018-11-23 12:10:55,324 INFO L78 Accepts]: Start accepts. Automaton has 29 states. Word has length 131 [2018-11-23 12:10:55,325 INFO L84 Accepts]: Finished accepts. word is accepted. [2018-11-23 12:10:55,325 INFO L86 InductivityCheck]: Starting indutivity check of a Floyd-Hoare automaton with 29 states. [2018-11-23 12:10:55,505 INFO L119 InductivityCheck]: Floyd-Hoare automaton has 178 edges. 178 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2018-11-23 12:10:55,506 INFO L459 AbstractCegarLoop]: Interpolant automaton has 29 states [2018-11-23 12:10:55,506 INFO L142 InterpolantAutomaton]: Constructing interpolant automaton starting with 29 interpolants. [2018-11-23 12:10:55,507 INFO L144 InterpolantAutomaton]: CoverageRelationStatistics Valid=166, Invalid=646, Unknown=0, NotChecked=0, Total=812 [2018-11-23 12:10:55,507 INFO L87 Difference]: Start difference. First operand 149 states and 200 transitions. Second operand 29 states. [2018-11-23 12:11:03,594 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2018-11-23 12:11:03,594 INFO L93 Difference]: Finished difference Result 246 states and 322 transitions. [2018-11-23 12:11:03,594 INFO L142 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 22 states. [2018-11-23 12:11:03,594 INFO L78 Accepts]: Start accepts. Automaton has 29 states. Word has length 131 [2018-11-23 12:11:03,595 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2018-11-23 12:11:03,595 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 29 states. [2018-11-23 12:11:03,600 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 22 states to 22 states and 242 transitions. [2018-11-23 12:11:03,600 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 29 states. [2018-11-23 12:11:03,603 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 22 states to 22 states and 242 transitions. [2018-11-23 12:11:03,604 INFO L86 InductivityCheck]: Starting indutivity check of a Floyd-Hoare automaton with 22 states and 242 transitions. [2018-11-23 12:11:04,318 INFO L119 InductivityCheck]: Floyd-Hoare automaton has 242 edges. 242 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2018-11-23 12:11:04,325 INFO L225 Difference]: With dead ends: 246 [2018-11-23 12:11:04,325 INFO L226 Difference]: Without dead ends: 208 [2018-11-23 12:11:04,326 INFO L631 BasicCegarLoop]: 0 DeclaredPredicates, 162 GetRequests, 117 SyntacticMatches, 0 SemanticMatches, 45 ConstructedPredicates, 0 IntricatePredicates, 0 DeprecatedPredicates, 413 ImplicationChecksByTransitivity, 1.4s TimeCoverageRelationStatistics Valid=478, Invalid=1684, Unknown=0, NotChecked=0, Total=2162 [2018-11-23 12:11:04,326 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 208 states. [2018-11-23 12:11:04,585 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 208 to 164. [2018-11-23 12:11:04,586 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2018-11-23 12:11:04,586 INFO L82 GeneralOperation]: Start isEquivalent. First operand 208 states. Second operand 164 states. [2018-11-23 12:11:04,586 INFO L74 IsIncluded]: Start isIncluded. First operand 208 states. Second operand 164 states. [2018-11-23 12:11:04,586 INFO L87 Difference]: Start difference. First operand 208 states. Second operand 164 states. [2018-11-23 12:11:04,594 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2018-11-23 12:11:04,594 INFO L93 Difference]: Finished difference Result 208 states and 278 transitions. [2018-11-23 12:11:04,594 INFO L276 IsEmpty]: Start isEmpty. Operand 208 states and 278 transitions. [2018-11-23 12:11:04,596 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2018-11-23 12:11:04,596 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2018-11-23 12:11:04,596 INFO L74 IsIncluded]: Start isIncluded. First operand 164 states. Second operand 208 states. [2018-11-23 12:11:04,596 INFO L87 Difference]: Start difference. First operand 164 states. Second operand 208 states. [2018-11-23 12:11:04,603 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2018-11-23 12:11:04,604 INFO L93 Difference]: Finished difference Result 208 states and 278 transitions. [2018-11-23 12:11:04,604 INFO L276 IsEmpty]: Start isEmpty. Operand 208 states and 278 transitions. [2018-11-23 12:11:04,607 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2018-11-23 12:11:04,607 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2018-11-23 12:11:04,607 INFO L88 GeneralOperation]: Finished isEquivalent. [2018-11-23 12:11:04,607 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2018-11-23 12:11:04,608 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 164 states. [2018-11-23 12:11:04,612 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 164 states to 164 states and 221 transitions. [2018-11-23 12:11:04,613 INFO L78 Accepts]: Start accepts. Automaton has 164 states and 221 transitions. Word has length 131 [2018-11-23 12:11:04,613 INFO L84 Accepts]: Finished accepts. word is rejected. [2018-11-23 12:11:04,613 INFO L480 AbstractCegarLoop]: Abstraction has 164 states and 221 transitions. [2018-11-23 12:11:04,613 INFO L481 AbstractCegarLoop]: Interpolant automaton has 29 states. [2018-11-23 12:11:04,613 INFO L276 IsEmpty]: Start isEmpty. Operand 164 states and 221 transitions. [2018-11-23 12:11:04,615 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 143 [2018-11-23 12:11:04,615 INFO L394 BasicCegarLoop]: Found error trace [2018-11-23 12:11:04,616 INFO L402 BasicCegarLoop]: trace histogram [11, 11, 11, 11, 11, 11, 11, 10, 10, 10, 2, 2, 2, 2, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1] [2018-11-23 12:11:04,616 INFO L423 AbstractCegarLoop]: === Iteration 17 === [__VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION]=== [2018-11-23 12:11:04,616 INFO L141 PredicateUnifier]: Initialized classic predicate unifier [2018-11-23 12:11:04,616 INFO L82 PathProgramCache]: Analyzing trace with hash -1880411652, now seen corresponding path program 4 times [2018-11-23 12:11:04,616 INFO L223 ckRefinementStrategy]: Switched to mode SMTINTERPOL_TREE_INTERPOLANTS [2018-11-23 12:11:04,616 INFO L69 tionRefinementEngine]: Using refinement strategy CamelRefinementStrategy [2018-11-23 12:11:04,617 INFO L119 rtionOrderModulation]: Craig_TreeInterpolation forces the order to NOT_INCREMENTALLY [2018-11-23 12:11:04,617 INFO L101 rtionOrderModulation]: Changing assertion order to NOT_INCREMENTALLY [2018-11-23 12:11:04,617 INFO L119 rtionOrderModulation]: Craig_TreeInterpolation forces the order to NOT_INCREMENTALLY [2018-11-23 12:11:04,641 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2018-11-23 12:11:05,849 INFO L256 TraceCheckUtils]: 0: Hoare triple {11703#true} call ULTIMATE.init(); {11703#true} is VALID [2018-11-23 12:11:05,850 INFO L273 TraceCheckUtils]: 1: Hoare triple {11703#true} #NULL.base, #NULL.offset := 0, 0;#valid := #valid[0 := 0];~SIZE~0 := 100000; {11705#(<= 100000 ~SIZE~0)} is VALID [2018-11-23 12:11:05,851 INFO L273 TraceCheckUtils]: 2: Hoare triple {11705#(<= 100000 ~SIZE~0)} assume true; {11705#(<= 100000 ~SIZE~0)} is VALID [2018-11-23 12:11:05,851 INFO L268 TraceCheckUtils]: 3: Hoare quadruple {11705#(<= 100000 ~SIZE~0)} {11703#true} #123#return; {11705#(<= 100000 ~SIZE~0)} is VALID [2018-11-23 12:11:05,852 INFO L256 TraceCheckUtils]: 4: Hoare triple {11705#(<= 100000 ~SIZE~0)} call #t~ret13 := main(); {11705#(<= 100000 ~SIZE~0)} is VALID [2018-11-23 12:11:05,853 INFO L273 TraceCheckUtils]: 5: Hoare triple {11705#(<= 100000 ~SIZE~0)} havoc ~i~1;havoc ~pos~0;~n~0 := 0;~found~0 := 0;call ~#set~0.base, ~#set~0.offset := #Ultimate.alloc(4 * ~SIZE~0);call ~#values~0.base, ~#values~0.offset := #Ultimate.alloc(4 * ~SIZE~0);havoc ~element~0;havoc ~v~0;~v~0 := 0; {11706#(and (= main_~v~0 0) (<= 100000 ~SIZE~0))} is VALID [2018-11-23 12:11:05,854 INFO L273 TraceCheckUtils]: 6: Hoare triple {11706#(and (= main_~v~0 0) (<= 100000 ~SIZE~0))} assume !!(~v~0 < ~SIZE~0);call #t~mem3 := read~int(~#values~0.base, ~#values~0.offset + 4 * ~v~0, 4); {11706#(and (= main_~v~0 0) (<= 100000 ~SIZE~0))} is VALID [2018-11-23 12:11:05,854 INFO L256 TraceCheckUtils]: 7: Hoare triple {11706#(and (= main_~v~0 0) (<= 100000 ~SIZE~0))} call #t~ret4 := elem_exists(~#set~0.base, ~#set~0.offset, ~n~0, #t~mem3); {11703#true} is VALID [2018-11-23 12:11:05,854 INFO L273 TraceCheckUtils]: 8: Hoare triple {11703#true} ~set.base, ~set.offset := #in~set.base, #in~set.offset;~size := #in~size;~value := #in~value;havoc ~i~0;~i~0 := 0; {11703#true} is VALID [2018-11-23 12:11:05,854 INFO L273 TraceCheckUtils]: 9: Hoare triple {11703#true} assume !(~i~0 < ~size); {11703#true} is VALID [2018-11-23 12:11:05,855 INFO L273 TraceCheckUtils]: 10: Hoare triple {11703#true} #res := 0; {11703#true} is VALID [2018-11-23 12:11:05,855 INFO L273 TraceCheckUtils]: 11: Hoare triple {11703#true} assume true; {11703#true} is VALID [2018-11-23 12:11:05,857 INFO L268 TraceCheckUtils]: 12: Hoare quadruple {11703#true} {11706#(and (= main_~v~0 0) (<= 100000 ~SIZE~0))} #127#return; {11706#(and (= main_~v~0 0) (<= 100000 ~SIZE~0))} is VALID [2018-11-23 12:11:05,857 INFO L273 TraceCheckUtils]: 13: Hoare triple {11706#(and (= main_~v~0 0) (<= 100000 ~SIZE~0))} assume -2147483648 <= #t~ret4 && #t~ret4 <= 2147483647; {11706#(and (= main_~v~0 0) (<= 100000 ~SIZE~0))} is VALID [2018-11-23 12:11:05,858 INFO L273 TraceCheckUtils]: 14: Hoare triple {11706#(and (= main_~v~0 0) (<= 100000 ~SIZE~0))} assume 1 != #t~ret4;havoc #t~ret4;havoc #t~mem3;call #t~mem5 := read~int(~#values~0.base, ~#values~0.offset + 4 * ~v~0, 4); {11706#(and (= main_~v~0 0) (<= 100000 ~SIZE~0))} is VALID [2018-11-23 12:11:05,858 INFO L256 TraceCheckUtils]: 15: Hoare triple {11706#(and (= main_~v~0 0) (<= 100000 ~SIZE~0))} call #t~ret6 := insert(~#set~0.base, ~#set~0.offset, ~n~0, #t~mem5); {11703#true} is VALID [2018-11-23 12:11:05,859 INFO L273 TraceCheckUtils]: 16: Hoare triple {11703#true} ~set.base, ~set.offset := #in~set.base, #in~set.offset;~size := #in~size;~value := #in~value;call write~int(~value, ~set.base, ~set.offset + 4 * ~size, 4);#res := 1 + ~size; {11703#true} is VALID [2018-11-23 12:11:05,859 INFO L273 TraceCheckUtils]: 17: Hoare triple {11703#true} assume true; {11703#true} is VALID [2018-11-23 12:11:05,860 INFO L268 TraceCheckUtils]: 18: Hoare quadruple {11703#true} {11706#(and (= main_~v~0 0) (<= 100000 ~SIZE~0))} #129#return; {11706#(and (= main_~v~0 0) (<= 100000 ~SIZE~0))} is VALID [2018-11-23 12:11:05,861 INFO L273 TraceCheckUtils]: 19: Hoare triple {11706#(and (= main_~v~0 0) (<= 100000 ~SIZE~0))} assume -2147483648 <= #t~ret6 && #t~ret6 <= 2147483647;~n~0 := #t~ret6;havoc #t~mem5;havoc #t~ret6; {11706#(and (= main_~v~0 0) (<= 100000 ~SIZE~0))} is VALID [2018-11-23 12:11:05,862 INFO L273 TraceCheckUtils]: 20: Hoare triple {11706#(and (= main_~v~0 0) (<= 100000 ~SIZE~0))} #t~post2 := ~v~0;~v~0 := 1 + #t~post2;havoc #t~post2; {11707#(<= (+ main_~v~0 99999) ~SIZE~0)} is VALID [2018-11-23 12:11:05,862 INFO L273 TraceCheckUtils]: 21: Hoare triple {11707#(<= (+ main_~v~0 99999) ~SIZE~0)} assume !!(~v~0 < ~SIZE~0);call #t~mem3 := read~int(~#values~0.base, ~#values~0.offset + 4 * ~v~0, 4); {11707#(<= (+ main_~v~0 99999) ~SIZE~0)} is VALID [2018-11-23 12:11:05,863 INFO L256 TraceCheckUtils]: 22: Hoare triple {11707#(<= (+ main_~v~0 99999) ~SIZE~0)} call #t~ret4 := elem_exists(~#set~0.base, ~#set~0.offset, ~n~0, #t~mem3); {11703#true} is VALID [2018-11-23 12:11:05,863 INFO L273 TraceCheckUtils]: 23: Hoare triple {11703#true} ~set.base, ~set.offset := #in~set.base, #in~set.offset;~size := #in~size;~value := #in~value;havoc ~i~0;~i~0 := 0; {11703#true} is VALID [2018-11-23 12:11:05,863 INFO L273 TraceCheckUtils]: 24: Hoare triple {11703#true} assume !!(~i~0 < ~size);call #t~mem1 := read~int(~set.base, ~set.offset + 4 * ~i~0, 4); {11703#true} is VALID [2018-11-23 12:11:05,863 INFO L273 TraceCheckUtils]: 25: Hoare triple {11703#true} assume #t~mem1 == ~value;havoc #t~mem1;#res := 1; {11703#true} is VALID [2018-11-23 12:11:05,863 INFO L273 TraceCheckUtils]: 26: Hoare triple {11703#true} assume true; {11703#true} is VALID [2018-11-23 12:11:05,865 INFO L268 TraceCheckUtils]: 27: Hoare quadruple {11703#true} {11707#(<= (+ main_~v~0 99999) ~SIZE~0)} #127#return; {11707#(<= (+ main_~v~0 99999) ~SIZE~0)} is VALID [2018-11-23 12:11:05,866 INFO L273 TraceCheckUtils]: 28: Hoare triple {11707#(<= (+ main_~v~0 99999) ~SIZE~0)} assume -2147483648 <= #t~ret4 && #t~ret4 <= 2147483647; {11707#(<= (+ main_~v~0 99999) ~SIZE~0)} is VALID [2018-11-23 12:11:05,866 INFO L273 TraceCheckUtils]: 29: Hoare triple {11707#(<= (+ main_~v~0 99999) ~SIZE~0)} assume !(1 != #t~ret4);havoc #t~ret4;havoc #t~mem3; {11707#(<= (+ main_~v~0 99999) ~SIZE~0)} is VALID [2018-11-23 12:11:05,867 INFO L273 TraceCheckUtils]: 30: Hoare triple {11707#(<= (+ main_~v~0 99999) ~SIZE~0)} #t~post2 := ~v~0;~v~0 := 1 + #t~post2;havoc #t~post2; {11708#(<= (+ main_~v~0 99998) ~SIZE~0)} is VALID [2018-11-23 12:11:05,868 INFO L273 TraceCheckUtils]: 31: Hoare triple {11708#(<= (+ main_~v~0 99998) ~SIZE~0)} assume !!(~v~0 < ~SIZE~0);call #t~mem3 := read~int(~#values~0.base, ~#values~0.offset + 4 * ~v~0, 4); {11708#(<= (+ main_~v~0 99998) ~SIZE~0)} is VALID [2018-11-23 12:11:05,868 INFO L256 TraceCheckUtils]: 32: Hoare triple {11708#(<= (+ main_~v~0 99998) ~SIZE~0)} call #t~ret4 := elem_exists(~#set~0.base, ~#set~0.offset, ~n~0, #t~mem3); {11703#true} is VALID [2018-11-23 12:11:05,868 INFO L273 TraceCheckUtils]: 33: Hoare triple {11703#true} ~set.base, ~set.offset := #in~set.base, #in~set.offset;~size := #in~size;~value := #in~value;havoc ~i~0;~i~0 := 0; {11703#true} is VALID [2018-11-23 12:11:05,868 INFO L273 TraceCheckUtils]: 34: Hoare triple {11703#true} assume !!(~i~0 < ~size);call #t~mem1 := read~int(~set.base, ~set.offset + 4 * ~i~0, 4); {11703#true} is VALID [2018-11-23 12:11:05,868 INFO L273 TraceCheckUtils]: 35: Hoare triple {11703#true} assume #t~mem1 == ~value;havoc #t~mem1;#res := 1; {11703#true} is VALID [2018-11-23 12:11:05,869 INFO L273 TraceCheckUtils]: 36: Hoare triple {11703#true} assume true; {11703#true} is VALID [2018-11-23 12:11:05,870 INFO L268 TraceCheckUtils]: 37: Hoare quadruple {11703#true} {11708#(<= (+ main_~v~0 99998) ~SIZE~0)} #127#return; {11708#(<= (+ main_~v~0 99998) ~SIZE~0)} is VALID [2018-11-23 12:11:05,871 INFO L273 TraceCheckUtils]: 38: Hoare triple {11708#(<= (+ main_~v~0 99998) ~SIZE~0)} assume -2147483648 <= #t~ret4 && #t~ret4 <= 2147483647; {11708#(<= (+ main_~v~0 99998) ~SIZE~0)} is VALID [2018-11-23 12:11:05,871 INFO L273 TraceCheckUtils]: 39: Hoare triple {11708#(<= (+ main_~v~0 99998) ~SIZE~0)} assume !(1 != #t~ret4);havoc #t~ret4;havoc #t~mem3; {11708#(<= (+ main_~v~0 99998) ~SIZE~0)} is VALID [2018-11-23 12:11:05,872 INFO L273 TraceCheckUtils]: 40: Hoare triple {11708#(<= (+ main_~v~0 99998) ~SIZE~0)} #t~post2 := ~v~0;~v~0 := 1 + #t~post2;havoc #t~post2; {11709#(<= (+ main_~v~0 99997) ~SIZE~0)} is VALID [2018-11-23 12:11:05,873 INFO L273 TraceCheckUtils]: 41: Hoare triple {11709#(<= (+ main_~v~0 99997) ~SIZE~0)} assume !!(~v~0 < ~SIZE~0);call #t~mem3 := read~int(~#values~0.base, ~#values~0.offset + 4 * ~v~0, 4); {11709#(<= (+ main_~v~0 99997) ~SIZE~0)} is VALID [2018-11-23 12:11:05,873 INFO L256 TraceCheckUtils]: 42: Hoare triple {11709#(<= (+ main_~v~0 99997) ~SIZE~0)} call #t~ret4 := elem_exists(~#set~0.base, ~#set~0.offset, ~n~0, #t~mem3); {11703#true} is VALID [2018-11-23 12:11:05,873 INFO L273 TraceCheckUtils]: 43: Hoare triple {11703#true} ~set.base, ~set.offset := #in~set.base, #in~set.offset;~size := #in~size;~value := #in~value;havoc ~i~0;~i~0 := 0; {11703#true} is VALID [2018-11-23 12:11:05,873 INFO L273 TraceCheckUtils]: 44: Hoare triple {11703#true} assume !!(~i~0 < ~size);call #t~mem1 := read~int(~set.base, ~set.offset + 4 * ~i~0, 4); {11703#true} is VALID [2018-11-23 12:11:05,873 INFO L273 TraceCheckUtils]: 45: Hoare triple {11703#true} assume #t~mem1 == ~value;havoc #t~mem1;#res := 1; {11703#true} is VALID [2018-11-23 12:11:05,874 INFO L273 TraceCheckUtils]: 46: Hoare triple {11703#true} assume true; {11703#true} is VALID [2018-11-23 12:11:05,875 INFO L268 TraceCheckUtils]: 47: Hoare quadruple {11703#true} {11709#(<= (+ main_~v~0 99997) ~SIZE~0)} #127#return; {11709#(<= (+ main_~v~0 99997) ~SIZE~0)} is VALID [2018-11-23 12:11:05,876 INFO L273 TraceCheckUtils]: 48: Hoare triple {11709#(<= (+ main_~v~0 99997) ~SIZE~0)} assume -2147483648 <= #t~ret4 && #t~ret4 <= 2147483647; {11709#(<= (+ main_~v~0 99997) ~SIZE~0)} is VALID [2018-11-23 12:11:05,876 INFO L273 TraceCheckUtils]: 49: Hoare triple {11709#(<= (+ main_~v~0 99997) ~SIZE~0)} assume !(1 != #t~ret4);havoc #t~ret4;havoc #t~mem3; {11709#(<= (+ main_~v~0 99997) ~SIZE~0)} is VALID [2018-11-23 12:11:05,876 INFO L273 TraceCheckUtils]: 50: Hoare triple {11709#(<= (+ main_~v~0 99997) ~SIZE~0)} #t~post2 := ~v~0;~v~0 := 1 + #t~post2;havoc #t~post2; {11710#(<= (+ main_~v~0 99996) ~SIZE~0)} is VALID [2018-11-23 12:11:05,877 INFO L273 TraceCheckUtils]: 51: Hoare triple {11710#(<= (+ main_~v~0 99996) ~SIZE~0)} assume !!(~v~0 < ~SIZE~0);call #t~mem3 := read~int(~#values~0.base, ~#values~0.offset + 4 * ~v~0, 4); {11710#(<= (+ main_~v~0 99996) ~SIZE~0)} is VALID [2018-11-23 12:11:05,877 INFO L256 TraceCheckUtils]: 52: Hoare triple {11710#(<= (+ main_~v~0 99996) ~SIZE~0)} call #t~ret4 := elem_exists(~#set~0.base, ~#set~0.offset, ~n~0, #t~mem3); {11703#true} is VALID [2018-11-23 12:11:05,877 INFO L273 TraceCheckUtils]: 53: Hoare triple {11703#true} ~set.base, ~set.offset := #in~set.base, #in~set.offset;~size := #in~size;~value := #in~value;havoc ~i~0;~i~0 := 0; {11703#true} is VALID [2018-11-23 12:11:05,877 INFO L273 TraceCheckUtils]: 54: Hoare triple {11703#true} assume !!(~i~0 < ~size);call #t~mem1 := read~int(~set.base, ~set.offset + 4 * ~i~0, 4); {11703#true} is VALID [2018-11-23 12:11:05,877 INFO L273 TraceCheckUtils]: 55: Hoare triple {11703#true} assume #t~mem1 == ~value;havoc #t~mem1;#res := 1; {11703#true} is VALID [2018-11-23 12:11:05,878 INFO L273 TraceCheckUtils]: 56: Hoare triple {11703#true} assume true; {11703#true} is VALID [2018-11-23 12:11:05,879 INFO L268 TraceCheckUtils]: 57: Hoare quadruple {11703#true} {11710#(<= (+ main_~v~0 99996) ~SIZE~0)} #127#return; {11710#(<= (+ main_~v~0 99996) ~SIZE~0)} is VALID [2018-11-23 12:11:05,880 INFO L273 TraceCheckUtils]: 58: Hoare triple {11710#(<= (+ main_~v~0 99996) ~SIZE~0)} assume -2147483648 <= #t~ret4 && #t~ret4 <= 2147483647; {11710#(<= (+ main_~v~0 99996) ~SIZE~0)} is VALID [2018-11-23 12:11:05,880 INFO L273 TraceCheckUtils]: 59: Hoare triple {11710#(<= (+ main_~v~0 99996) ~SIZE~0)} assume !(1 != #t~ret4);havoc #t~ret4;havoc #t~mem3; {11710#(<= (+ main_~v~0 99996) ~SIZE~0)} is VALID [2018-11-23 12:11:05,880 INFO L273 TraceCheckUtils]: 60: Hoare triple {11710#(<= (+ main_~v~0 99996) ~SIZE~0)} #t~post2 := ~v~0;~v~0 := 1 + #t~post2;havoc #t~post2; {11711#(<= (+ main_~v~0 99995) ~SIZE~0)} is VALID [2018-11-23 12:11:05,881 INFO L273 TraceCheckUtils]: 61: Hoare triple {11711#(<= (+ main_~v~0 99995) ~SIZE~0)} assume !!(~v~0 < ~SIZE~0);call #t~mem3 := read~int(~#values~0.base, ~#values~0.offset + 4 * ~v~0, 4); {11711#(<= (+ main_~v~0 99995) ~SIZE~0)} is VALID [2018-11-23 12:11:05,881 INFO L256 TraceCheckUtils]: 62: Hoare triple {11711#(<= (+ main_~v~0 99995) ~SIZE~0)} call #t~ret4 := elem_exists(~#set~0.base, ~#set~0.offset, ~n~0, #t~mem3); {11703#true} is VALID [2018-11-23 12:11:05,881 INFO L273 TraceCheckUtils]: 63: Hoare triple {11703#true} ~set.base, ~set.offset := #in~set.base, #in~set.offset;~size := #in~size;~value := #in~value;havoc ~i~0;~i~0 := 0; {11703#true} is VALID [2018-11-23 12:11:05,881 INFO L273 TraceCheckUtils]: 64: Hoare triple {11703#true} assume !!(~i~0 < ~size);call #t~mem1 := read~int(~set.base, ~set.offset + 4 * ~i~0, 4); {11703#true} is VALID [2018-11-23 12:11:05,881 INFO L273 TraceCheckUtils]: 65: Hoare triple {11703#true} assume #t~mem1 == ~value;havoc #t~mem1;#res := 1; {11703#true} is VALID [2018-11-23 12:11:05,882 INFO L273 TraceCheckUtils]: 66: Hoare triple {11703#true} assume true; {11703#true} is VALID [2018-11-23 12:11:05,883 INFO L268 TraceCheckUtils]: 67: Hoare quadruple {11703#true} {11711#(<= (+ main_~v~0 99995) ~SIZE~0)} #127#return; {11711#(<= (+ main_~v~0 99995) ~SIZE~0)} is VALID [2018-11-23 12:11:05,884 INFO L273 TraceCheckUtils]: 68: Hoare triple {11711#(<= (+ main_~v~0 99995) ~SIZE~0)} assume -2147483648 <= #t~ret4 && #t~ret4 <= 2147483647; {11711#(<= (+ main_~v~0 99995) ~SIZE~0)} is VALID [2018-11-23 12:11:05,884 INFO L273 TraceCheckUtils]: 69: Hoare triple {11711#(<= (+ main_~v~0 99995) ~SIZE~0)} assume !(1 != #t~ret4);havoc #t~ret4;havoc #t~mem3; {11711#(<= (+ main_~v~0 99995) ~SIZE~0)} is VALID [2018-11-23 12:11:05,885 INFO L273 TraceCheckUtils]: 70: Hoare triple {11711#(<= (+ main_~v~0 99995) ~SIZE~0)} #t~post2 := ~v~0;~v~0 := 1 + #t~post2;havoc #t~post2; {11712#(<= (+ main_~v~0 99994) ~SIZE~0)} is VALID [2018-11-23 12:11:05,886 INFO L273 TraceCheckUtils]: 71: Hoare triple {11712#(<= (+ main_~v~0 99994) ~SIZE~0)} assume !!(~v~0 < ~SIZE~0);call #t~mem3 := read~int(~#values~0.base, ~#values~0.offset + 4 * ~v~0, 4); {11712#(<= (+ main_~v~0 99994) ~SIZE~0)} is VALID [2018-11-23 12:11:05,886 INFO L256 TraceCheckUtils]: 72: Hoare triple {11712#(<= (+ main_~v~0 99994) ~SIZE~0)} call #t~ret4 := elem_exists(~#set~0.base, ~#set~0.offset, ~n~0, #t~mem3); {11703#true} is VALID [2018-11-23 12:11:05,886 INFO L273 TraceCheckUtils]: 73: Hoare triple {11703#true} ~set.base, ~set.offset := #in~set.base, #in~set.offset;~size := #in~size;~value := #in~value;havoc ~i~0;~i~0 := 0; {11703#true} is VALID [2018-11-23 12:11:05,886 INFO L273 TraceCheckUtils]: 74: Hoare triple {11703#true} assume !!(~i~0 < ~size);call #t~mem1 := read~int(~set.base, ~set.offset + 4 * ~i~0, 4); {11703#true} is VALID [2018-11-23 12:11:05,887 INFO L273 TraceCheckUtils]: 75: Hoare triple {11703#true} assume #t~mem1 == ~value;havoc #t~mem1;#res := 1; {11703#true} is VALID [2018-11-23 12:11:05,887 INFO L273 TraceCheckUtils]: 76: Hoare triple {11703#true} assume true; {11703#true} is VALID [2018-11-23 12:11:05,889 INFO L268 TraceCheckUtils]: 77: Hoare quadruple {11703#true} {11712#(<= (+ main_~v~0 99994) ~SIZE~0)} #127#return; {11712#(<= (+ main_~v~0 99994) ~SIZE~0)} is VALID [2018-11-23 12:11:05,889 INFO L273 TraceCheckUtils]: 78: Hoare triple {11712#(<= (+ main_~v~0 99994) ~SIZE~0)} assume -2147483648 <= #t~ret4 && #t~ret4 <= 2147483647; {11712#(<= (+ main_~v~0 99994) ~SIZE~0)} is VALID [2018-11-23 12:11:05,890 INFO L273 TraceCheckUtils]: 79: Hoare triple {11712#(<= (+ main_~v~0 99994) ~SIZE~0)} assume !(1 != #t~ret4);havoc #t~ret4;havoc #t~mem3; {11712#(<= (+ main_~v~0 99994) ~SIZE~0)} is VALID [2018-11-23 12:11:05,890 INFO L273 TraceCheckUtils]: 80: Hoare triple {11712#(<= (+ main_~v~0 99994) ~SIZE~0)} #t~post2 := ~v~0;~v~0 := 1 + #t~post2;havoc #t~post2; {11713#(<= (+ main_~v~0 99993) ~SIZE~0)} is VALID [2018-11-23 12:11:05,891 INFO L273 TraceCheckUtils]: 81: Hoare triple {11713#(<= (+ main_~v~0 99993) ~SIZE~0)} assume !!(~v~0 < ~SIZE~0);call #t~mem3 := read~int(~#values~0.base, ~#values~0.offset + 4 * ~v~0, 4); {11713#(<= (+ main_~v~0 99993) ~SIZE~0)} is VALID [2018-11-23 12:11:05,891 INFO L256 TraceCheckUtils]: 82: Hoare triple {11713#(<= (+ main_~v~0 99993) ~SIZE~0)} call #t~ret4 := elem_exists(~#set~0.base, ~#set~0.offset, ~n~0, #t~mem3); {11703#true} is VALID [2018-11-23 12:11:05,891 INFO L273 TraceCheckUtils]: 83: Hoare triple {11703#true} ~set.base, ~set.offset := #in~set.base, #in~set.offset;~size := #in~size;~value := #in~value;havoc ~i~0;~i~0 := 0; {11703#true} is VALID [2018-11-23 12:11:05,892 INFO L273 TraceCheckUtils]: 84: Hoare triple {11703#true} assume !!(~i~0 < ~size);call #t~mem1 := read~int(~set.base, ~set.offset + 4 * ~i~0, 4); {11703#true} is VALID [2018-11-23 12:11:05,892 INFO L273 TraceCheckUtils]: 85: Hoare triple {11703#true} assume #t~mem1 == ~value;havoc #t~mem1;#res := 1; {11703#true} is VALID [2018-11-23 12:11:05,892 INFO L273 TraceCheckUtils]: 86: Hoare triple {11703#true} assume true; {11703#true} is VALID [2018-11-23 12:11:05,894 INFO L268 TraceCheckUtils]: 87: Hoare quadruple {11703#true} {11713#(<= (+ main_~v~0 99993) ~SIZE~0)} #127#return; {11713#(<= (+ main_~v~0 99993) ~SIZE~0)} is VALID [2018-11-23 12:11:05,894 INFO L273 TraceCheckUtils]: 88: Hoare triple {11713#(<= (+ main_~v~0 99993) ~SIZE~0)} assume -2147483648 <= #t~ret4 && #t~ret4 <= 2147483647; {11713#(<= (+ main_~v~0 99993) ~SIZE~0)} is VALID [2018-11-23 12:11:05,895 INFO L273 TraceCheckUtils]: 89: Hoare triple {11713#(<= (+ main_~v~0 99993) ~SIZE~0)} assume !(1 != #t~ret4);havoc #t~ret4;havoc #t~mem3; {11713#(<= (+ main_~v~0 99993) ~SIZE~0)} is VALID [2018-11-23 12:11:05,896 INFO L273 TraceCheckUtils]: 90: Hoare triple {11713#(<= (+ main_~v~0 99993) ~SIZE~0)} #t~post2 := ~v~0;~v~0 := 1 + #t~post2;havoc #t~post2; {11714#(<= (+ main_~v~0 99992) ~SIZE~0)} is VALID [2018-11-23 12:11:05,896 INFO L273 TraceCheckUtils]: 91: Hoare triple {11714#(<= (+ main_~v~0 99992) ~SIZE~0)} assume !!(~v~0 < ~SIZE~0);call #t~mem3 := read~int(~#values~0.base, ~#values~0.offset + 4 * ~v~0, 4); {11714#(<= (+ main_~v~0 99992) ~SIZE~0)} is VALID [2018-11-23 12:11:05,896 INFO L256 TraceCheckUtils]: 92: Hoare triple {11714#(<= (+ main_~v~0 99992) ~SIZE~0)} call #t~ret4 := elem_exists(~#set~0.base, ~#set~0.offset, ~n~0, #t~mem3); {11703#true} is VALID [2018-11-23 12:11:05,897 INFO L273 TraceCheckUtils]: 93: Hoare triple {11703#true} ~set.base, ~set.offset := #in~set.base, #in~set.offset;~size := #in~size;~value := #in~value;havoc ~i~0;~i~0 := 0; {11703#true} is VALID [2018-11-23 12:11:05,897 INFO L273 TraceCheckUtils]: 94: Hoare triple {11703#true} assume !!(~i~0 < ~size);call #t~mem1 := read~int(~set.base, ~set.offset + 4 * ~i~0, 4); {11703#true} is VALID [2018-11-23 12:11:05,897 INFO L273 TraceCheckUtils]: 95: Hoare triple {11703#true} assume #t~mem1 == ~value;havoc #t~mem1;#res := 1; {11703#true} is VALID [2018-11-23 12:11:05,897 INFO L273 TraceCheckUtils]: 96: Hoare triple {11703#true} assume true; {11703#true} is VALID [2018-11-23 12:11:05,899 INFO L268 TraceCheckUtils]: 97: Hoare quadruple {11703#true} {11714#(<= (+ main_~v~0 99992) ~SIZE~0)} #127#return; {11714#(<= (+ main_~v~0 99992) ~SIZE~0)} is VALID [2018-11-23 12:11:05,899 INFO L273 TraceCheckUtils]: 98: Hoare triple {11714#(<= (+ main_~v~0 99992) ~SIZE~0)} assume -2147483648 <= #t~ret4 && #t~ret4 <= 2147483647; {11714#(<= (+ main_~v~0 99992) ~SIZE~0)} is VALID [2018-11-23 12:11:05,900 INFO L273 TraceCheckUtils]: 99: Hoare triple {11714#(<= (+ main_~v~0 99992) ~SIZE~0)} assume !(1 != #t~ret4);havoc #t~ret4;havoc #t~mem3; {11714#(<= (+ main_~v~0 99992) ~SIZE~0)} is VALID [2018-11-23 12:11:05,901 INFO L273 TraceCheckUtils]: 100: Hoare triple {11714#(<= (+ main_~v~0 99992) ~SIZE~0)} #t~post2 := ~v~0;~v~0 := 1 + #t~post2;havoc #t~post2; {11715#(<= (+ main_~v~0 99991) ~SIZE~0)} is VALID [2018-11-23 12:11:05,901 INFO L273 TraceCheckUtils]: 101: Hoare triple {11715#(<= (+ main_~v~0 99991) ~SIZE~0)} assume !!(~v~0 < ~SIZE~0);call #t~mem3 := read~int(~#values~0.base, ~#values~0.offset + 4 * ~v~0, 4); {11715#(<= (+ main_~v~0 99991) ~SIZE~0)} is VALID [2018-11-23 12:11:05,902 INFO L256 TraceCheckUtils]: 102: Hoare triple {11715#(<= (+ main_~v~0 99991) ~SIZE~0)} call #t~ret4 := elem_exists(~#set~0.base, ~#set~0.offset, ~n~0, #t~mem3); {11703#true} is VALID [2018-11-23 12:11:05,902 INFO L273 TraceCheckUtils]: 103: Hoare triple {11703#true} ~set.base, ~set.offset := #in~set.base, #in~set.offset;~size := #in~size;~value := #in~value;havoc ~i~0;~i~0 := 0; {11703#true} is VALID [2018-11-23 12:11:05,902 INFO L273 TraceCheckUtils]: 104: Hoare triple {11703#true} assume !!(~i~0 < ~size);call #t~mem1 := read~int(~set.base, ~set.offset + 4 * ~i~0, 4); {11703#true} is VALID [2018-11-23 12:11:05,902 INFO L273 TraceCheckUtils]: 105: Hoare triple {11703#true} assume #t~mem1 == ~value;havoc #t~mem1;#res := 1; {11703#true} is VALID [2018-11-23 12:11:05,902 INFO L273 TraceCheckUtils]: 106: Hoare triple {11703#true} assume true; {11703#true} is VALID [2018-11-23 12:11:05,904 INFO L268 TraceCheckUtils]: 107: Hoare quadruple {11703#true} {11715#(<= (+ main_~v~0 99991) ~SIZE~0)} #127#return; {11715#(<= (+ main_~v~0 99991) ~SIZE~0)} is VALID [2018-11-23 12:11:05,904 INFO L273 TraceCheckUtils]: 108: Hoare triple {11715#(<= (+ main_~v~0 99991) ~SIZE~0)} assume -2147483648 <= #t~ret4 && #t~ret4 <= 2147483647; {11715#(<= (+ main_~v~0 99991) ~SIZE~0)} is VALID [2018-11-23 12:11:05,905 INFO L273 TraceCheckUtils]: 109: Hoare triple {11715#(<= (+ main_~v~0 99991) ~SIZE~0)} assume !(1 != #t~ret4);havoc #t~ret4;havoc #t~mem3; {11715#(<= (+ main_~v~0 99991) ~SIZE~0)} is VALID [2018-11-23 12:11:05,905 INFO L273 TraceCheckUtils]: 110: Hoare triple {11715#(<= (+ main_~v~0 99991) ~SIZE~0)} #t~post2 := ~v~0;~v~0 := 1 + #t~post2;havoc #t~post2; {11716#(<= (+ main_~v~0 99990) ~SIZE~0)} is VALID [2018-11-23 12:11:05,906 INFO L273 TraceCheckUtils]: 111: Hoare triple {11716#(<= (+ main_~v~0 99990) ~SIZE~0)} assume !!(~v~0 < ~SIZE~0);call #t~mem3 := read~int(~#values~0.base, ~#values~0.offset + 4 * ~v~0, 4); {11716#(<= (+ main_~v~0 99990) ~SIZE~0)} is VALID [2018-11-23 12:11:05,906 INFO L256 TraceCheckUtils]: 112: Hoare triple {11716#(<= (+ main_~v~0 99990) ~SIZE~0)} call #t~ret4 := elem_exists(~#set~0.base, ~#set~0.offset, ~n~0, #t~mem3); {11703#true} is VALID [2018-11-23 12:11:05,906 INFO L273 TraceCheckUtils]: 113: Hoare triple {11703#true} ~set.base, ~set.offset := #in~set.base, #in~set.offset;~size := #in~size;~value := #in~value;havoc ~i~0;~i~0 := 0; {11703#true} is VALID [2018-11-23 12:11:05,906 INFO L273 TraceCheckUtils]: 114: Hoare triple {11703#true} assume !!(~i~0 < ~size);call #t~mem1 := read~int(~set.base, ~set.offset + 4 * ~i~0, 4); {11703#true} is VALID [2018-11-23 12:11:05,906 INFO L273 TraceCheckUtils]: 115: Hoare triple {11703#true} assume #t~mem1 == ~value;havoc #t~mem1;#res := 1; {11703#true} is VALID [2018-11-23 12:11:05,906 INFO L273 TraceCheckUtils]: 116: Hoare triple {11703#true} assume true; {11703#true} is VALID [2018-11-23 12:11:05,908 INFO L268 TraceCheckUtils]: 117: Hoare quadruple {11703#true} {11716#(<= (+ main_~v~0 99990) ~SIZE~0)} #127#return; {11716#(<= (+ main_~v~0 99990) ~SIZE~0)} is VALID [2018-11-23 12:11:05,908 INFO L273 TraceCheckUtils]: 118: Hoare triple {11716#(<= (+ main_~v~0 99990) ~SIZE~0)} assume -2147483648 <= #t~ret4 && #t~ret4 <= 2147483647; {11716#(<= (+ main_~v~0 99990) ~SIZE~0)} is VALID [2018-11-23 12:11:05,909 INFO L273 TraceCheckUtils]: 119: Hoare triple {11716#(<= (+ main_~v~0 99990) ~SIZE~0)} assume !(1 != #t~ret4);havoc #t~ret4;havoc #t~mem3; {11716#(<= (+ main_~v~0 99990) ~SIZE~0)} is VALID [2018-11-23 12:11:05,909 INFO L273 TraceCheckUtils]: 120: Hoare triple {11716#(<= (+ main_~v~0 99990) ~SIZE~0)} #t~post2 := ~v~0;~v~0 := 1 + #t~post2;havoc #t~post2; {11717#(<= (+ main_~v~0 99989) ~SIZE~0)} is VALID [2018-11-23 12:11:05,909 INFO L273 TraceCheckUtils]: 121: Hoare triple {11717#(<= (+ main_~v~0 99989) ~SIZE~0)} assume !(~v~0 < ~SIZE~0); {11704#false} is VALID [2018-11-23 12:11:05,910 INFO L273 TraceCheckUtils]: 122: Hoare triple {11704#false} ~i~1 := 0; {11704#false} is VALID [2018-11-23 12:11:05,910 INFO L273 TraceCheckUtils]: 123: Hoare triple {11704#false} assume !!(~i~1 < ~SIZE~0 && 1 != ~found~0);call #t~mem8 := read~int(~#set~0.base, ~#set~0.offset + 4 * ~i~1, 4); {11704#false} is VALID [2018-11-23 12:11:05,910 INFO L273 TraceCheckUtils]: 124: Hoare triple {11704#false} assume !(#t~mem8 == ~element~0);havoc #t~mem8; {11704#false} is VALID [2018-11-23 12:11:05,910 INFO L273 TraceCheckUtils]: 125: Hoare triple {11704#false} #t~post7 := ~i~1;~i~1 := 1 + #t~post7;havoc #t~post7; {11704#false} is VALID [2018-11-23 12:11:05,910 INFO L273 TraceCheckUtils]: 126: Hoare triple {11704#false} assume !!(~i~1 < ~SIZE~0 && 1 != ~found~0);call #t~mem8 := read~int(~#set~0.base, ~#set~0.offset + 4 * ~i~1, 4); {11704#false} is VALID [2018-11-23 12:11:05,910 INFO L273 TraceCheckUtils]: 127: Hoare triple {11704#false} assume #t~mem8 == ~element~0;havoc #t~mem8;~found~0 := 1;~pos~0 := ~i~1; {11704#false} is VALID [2018-11-23 12:11:05,910 INFO L273 TraceCheckUtils]: 128: Hoare triple {11704#false} #t~post7 := ~i~1;~i~1 := 1 + #t~post7;havoc #t~post7; {11704#false} is VALID [2018-11-23 12:11:05,910 INFO L273 TraceCheckUtils]: 129: Hoare triple {11704#false} assume !(~i~1 < ~SIZE~0 && 1 != ~found~0); {11704#false} is VALID [2018-11-23 12:11:05,911 INFO L273 TraceCheckUtils]: 130: Hoare triple {11704#false} assume 1 == ~found~0;~i~1 := ~pos~0; {11704#false} is VALID [2018-11-23 12:11:05,911 INFO L273 TraceCheckUtils]: 131: Hoare triple {11704#false} assume !!(~i~1 < ~SIZE~0 - 1);call #t~mem10 := read~int(~#set~0.base, ~#set~0.offset + 4 * (1 + ~i~1), 4);call write~int(#t~mem10, ~#set~0.base, ~#set~0.offset + 4 * ~i~1, 4);havoc #t~mem10; {11704#false} is VALID [2018-11-23 12:11:05,911 INFO L273 TraceCheckUtils]: 132: Hoare triple {11704#false} #t~post9 := ~i~1;~i~1 := 1 + #t~post9;havoc #t~post9; {11704#false} is VALID [2018-11-23 12:11:05,911 INFO L273 TraceCheckUtils]: 133: Hoare triple {11704#false} assume !!(~i~1 < ~SIZE~0 - 1);call #t~mem10 := read~int(~#set~0.base, ~#set~0.offset + 4 * (1 + ~i~1), 4);call write~int(#t~mem10, ~#set~0.base, ~#set~0.offset + 4 * ~i~1, 4);havoc #t~mem10; {11704#false} is VALID [2018-11-23 12:11:05,911 INFO L273 TraceCheckUtils]: 134: Hoare triple {11704#false} #t~post9 := ~i~1;~i~1 := 1 + #t~post9;havoc #t~post9; {11704#false} is VALID [2018-11-23 12:11:05,911 INFO L273 TraceCheckUtils]: 135: Hoare triple {11704#false} assume !(~i~1 < ~SIZE~0 - 1); {11704#false} is VALID [2018-11-23 12:11:05,911 INFO L273 TraceCheckUtils]: 136: Hoare triple {11704#false} assume 1 == ~found~0;~i~1 := 0; {11704#false} is VALID [2018-11-23 12:11:05,911 INFO L273 TraceCheckUtils]: 137: Hoare triple {11704#false} assume !!(~i~1 < ~SIZE~0 - 1);call #t~mem12 := read~int(~#set~0.base, ~#set~0.offset + 4 * ~i~1, 4); {11704#false} is VALID [2018-11-23 12:11:05,912 INFO L256 TraceCheckUtils]: 138: Hoare triple {11704#false} call __VERIFIER_assert((if #t~mem12 != ~element~0 then 1 else 0)); {11704#false} is VALID [2018-11-23 12:11:05,912 INFO L273 TraceCheckUtils]: 139: Hoare triple {11704#false} ~cond := #in~cond; {11704#false} is VALID [2018-11-23 12:11:05,912 INFO L273 TraceCheckUtils]: 140: Hoare triple {11704#false} assume 0 == ~cond; {11704#false} is VALID [2018-11-23 12:11:05,912 INFO L273 TraceCheckUtils]: 141: Hoare triple {11704#false} assume !false; {11704#false} is VALID [2018-11-23 12:11:05,925 INFO L134 CoverageAnalysis]: Checked inductivity of 560 backedges. 0 proven. 286 refuted. 0 times theorem prover too weak. 274 trivial. 0 not checked. [2018-11-23 12:11:05,926 INFO L300 seRefinementStrategy]: The current sequences of interpolants are not accepted, trying to find more. [2018-11-23 12:11:05,926 INFO L223 ckRefinementStrategy]: Switched to mode Z3_FP No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 Starting monitored process 14 with z3 -smt2 -in SMTLIB2_COMPLIANT=true -t:12000 (exit command is (exit), workingDir is null) Waiting until toolchain timeout for monitored process 14 with z3 -smt2 -in SMTLIB2_COMPLIANT=true -t:12000 [2018-11-23 12:11:05,935 INFO L103 rtionOrderModulation]: Keeping assertion order TERMS_WITH_SMALL_CONSTANTS_FIRST [2018-11-23 12:11:06,012 INFO L249 tOrderPrioritization]: Assert order TERMS_WITH_SMALL_CONSTANTS_FIRST issued 0 check-sat command(s) [2018-11-23 12:11:06,012 INFO L250 tOrderPrioritization]: Conjunction of SSA is unsat [2018-11-23 12:11:06,045 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2018-11-23 12:11:06,047 INFO L273 TraceCheckSpWp]: Computing forward predicates... [2018-11-23 12:11:06,555 INFO L256 TraceCheckUtils]: 0: Hoare triple {11703#true} call ULTIMATE.init(); {11703#true} is VALID [2018-11-23 12:11:06,556 INFO L273 TraceCheckUtils]: 1: Hoare triple {11703#true} #NULL.base, #NULL.offset := 0, 0;#valid := #valid[0 := 0];~SIZE~0 := 100000; {11703#true} is VALID [2018-11-23 12:11:06,556 INFO L273 TraceCheckUtils]: 2: Hoare triple {11703#true} assume true; {11703#true} is VALID [2018-11-23 12:11:06,556 INFO L268 TraceCheckUtils]: 3: Hoare quadruple {11703#true} {11703#true} #123#return; {11703#true} is VALID [2018-11-23 12:11:06,556 INFO L256 TraceCheckUtils]: 4: Hoare triple {11703#true} call #t~ret13 := main(); {11703#true} is VALID [2018-11-23 12:11:06,557 INFO L273 TraceCheckUtils]: 5: Hoare triple {11703#true} havoc ~i~1;havoc ~pos~0;~n~0 := 0;~found~0 := 0;call ~#set~0.base, ~#set~0.offset := #Ultimate.alloc(4 * ~SIZE~0);call ~#values~0.base, ~#values~0.offset := #Ultimate.alloc(4 * ~SIZE~0);havoc ~element~0;havoc ~v~0;~v~0 := 0; {11736#(<= 0 main_~v~0)} is VALID [2018-11-23 12:11:06,558 INFO L273 TraceCheckUtils]: 6: Hoare triple {11736#(<= 0 main_~v~0)} assume !!(~v~0 < ~SIZE~0);call #t~mem3 := read~int(~#values~0.base, ~#values~0.offset + 4 * ~v~0, 4); {11736#(<= 0 main_~v~0)} is VALID [2018-11-23 12:11:06,558 INFO L256 TraceCheckUtils]: 7: Hoare triple {11736#(<= 0 main_~v~0)} call #t~ret4 := elem_exists(~#set~0.base, ~#set~0.offset, ~n~0, #t~mem3); {11703#true} is VALID [2018-11-23 12:11:06,558 INFO L273 TraceCheckUtils]: 8: Hoare triple {11703#true} ~set.base, ~set.offset := #in~set.base, #in~set.offset;~size := #in~size;~value := #in~value;havoc ~i~0;~i~0 := 0; {11703#true} is VALID [2018-11-23 12:11:06,558 INFO L273 TraceCheckUtils]: 9: Hoare triple {11703#true} assume !(~i~0 < ~size); {11703#true} is VALID [2018-11-23 12:11:06,558 INFO L273 TraceCheckUtils]: 10: Hoare triple {11703#true} #res := 0; {11703#true} is VALID [2018-11-23 12:11:06,558 INFO L273 TraceCheckUtils]: 11: Hoare triple {11703#true} assume true; {11703#true} is VALID [2018-11-23 12:11:06,560 INFO L268 TraceCheckUtils]: 12: Hoare quadruple {11703#true} {11736#(<= 0 main_~v~0)} #127#return; {11736#(<= 0 main_~v~0)} is VALID [2018-11-23 12:11:06,560 INFO L273 TraceCheckUtils]: 13: Hoare triple {11736#(<= 0 main_~v~0)} assume -2147483648 <= #t~ret4 && #t~ret4 <= 2147483647; {11736#(<= 0 main_~v~0)} is VALID [2018-11-23 12:11:06,561 INFO L273 TraceCheckUtils]: 14: Hoare triple {11736#(<= 0 main_~v~0)} assume 1 != #t~ret4;havoc #t~ret4;havoc #t~mem3;call #t~mem5 := read~int(~#values~0.base, ~#values~0.offset + 4 * ~v~0, 4); {11736#(<= 0 main_~v~0)} is VALID [2018-11-23 12:11:06,561 INFO L256 TraceCheckUtils]: 15: Hoare triple {11736#(<= 0 main_~v~0)} call #t~ret6 := insert(~#set~0.base, ~#set~0.offset, ~n~0, #t~mem5); {11703#true} is VALID [2018-11-23 12:11:06,561 INFO L273 TraceCheckUtils]: 16: Hoare triple {11703#true} ~set.base, ~set.offset := #in~set.base, #in~set.offset;~size := #in~size;~value := #in~value;call write~int(~value, ~set.base, ~set.offset + 4 * ~size, 4);#res := 1 + ~size; {11703#true} is VALID [2018-11-23 12:11:06,561 INFO L273 TraceCheckUtils]: 17: Hoare triple {11703#true} assume true; {11703#true} is VALID [2018-11-23 12:11:06,563 INFO L268 TraceCheckUtils]: 18: Hoare quadruple {11703#true} {11736#(<= 0 main_~v~0)} #129#return; {11736#(<= 0 main_~v~0)} is VALID [2018-11-23 12:11:06,564 INFO L273 TraceCheckUtils]: 19: Hoare triple {11736#(<= 0 main_~v~0)} assume -2147483648 <= #t~ret6 && #t~ret6 <= 2147483647;~n~0 := #t~ret6;havoc #t~mem5;havoc #t~ret6; {11736#(<= 0 main_~v~0)} is VALID [2018-11-23 12:11:06,564 INFO L273 TraceCheckUtils]: 20: Hoare triple {11736#(<= 0 main_~v~0)} #t~post2 := ~v~0;~v~0 := 1 + #t~post2;havoc #t~post2; {11782#(<= 1 main_~v~0)} is VALID [2018-11-23 12:11:06,565 INFO L273 TraceCheckUtils]: 21: Hoare triple {11782#(<= 1 main_~v~0)} assume !!(~v~0 < ~SIZE~0);call #t~mem3 := read~int(~#values~0.base, ~#values~0.offset + 4 * ~v~0, 4); {11782#(<= 1 main_~v~0)} is VALID [2018-11-23 12:11:06,565 INFO L256 TraceCheckUtils]: 22: Hoare triple {11782#(<= 1 main_~v~0)} call #t~ret4 := elem_exists(~#set~0.base, ~#set~0.offset, ~n~0, #t~mem3); {11703#true} is VALID [2018-11-23 12:11:06,565 INFO L273 TraceCheckUtils]: 23: Hoare triple {11703#true} ~set.base, ~set.offset := #in~set.base, #in~set.offset;~size := #in~size;~value := #in~value;havoc ~i~0;~i~0 := 0; {11703#true} is VALID [2018-11-23 12:11:06,566 INFO L273 TraceCheckUtils]: 24: Hoare triple {11703#true} assume !!(~i~0 < ~size);call #t~mem1 := read~int(~set.base, ~set.offset + 4 * ~i~0, 4); {11703#true} is VALID [2018-11-23 12:11:06,566 INFO L273 TraceCheckUtils]: 25: Hoare triple {11703#true} assume #t~mem1 == ~value;havoc #t~mem1;#res := 1; {11703#true} is VALID [2018-11-23 12:11:06,566 INFO L273 TraceCheckUtils]: 26: Hoare triple {11703#true} assume true; {11703#true} is VALID [2018-11-23 12:11:06,568 INFO L268 TraceCheckUtils]: 27: Hoare quadruple {11703#true} {11782#(<= 1 main_~v~0)} #127#return; {11782#(<= 1 main_~v~0)} is VALID [2018-11-23 12:11:06,568 INFO L273 TraceCheckUtils]: 28: Hoare triple {11782#(<= 1 main_~v~0)} assume -2147483648 <= #t~ret4 && #t~ret4 <= 2147483647; {11782#(<= 1 main_~v~0)} is VALID [2018-11-23 12:11:06,569 INFO L273 TraceCheckUtils]: 29: Hoare triple {11782#(<= 1 main_~v~0)} assume !(1 != #t~ret4);havoc #t~ret4;havoc #t~mem3; {11782#(<= 1 main_~v~0)} is VALID [2018-11-23 12:11:06,569 INFO L273 TraceCheckUtils]: 30: Hoare triple {11782#(<= 1 main_~v~0)} #t~post2 := ~v~0;~v~0 := 1 + #t~post2;havoc #t~post2; {11813#(<= 2 main_~v~0)} is VALID [2018-11-23 12:11:06,570 INFO L273 TraceCheckUtils]: 31: Hoare triple {11813#(<= 2 main_~v~0)} assume !!(~v~0 < ~SIZE~0);call #t~mem3 := read~int(~#values~0.base, ~#values~0.offset + 4 * ~v~0, 4); {11813#(<= 2 main_~v~0)} is VALID [2018-11-23 12:11:06,570 INFO L256 TraceCheckUtils]: 32: Hoare triple {11813#(<= 2 main_~v~0)} call #t~ret4 := elem_exists(~#set~0.base, ~#set~0.offset, ~n~0, #t~mem3); {11703#true} is VALID [2018-11-23 12:11:06,570 INFO L273 TraceCheckUtils]: 33: Hoare triple {11703#true} ~set.base, ~set.offset := #in~set.base, #in~set.offset;~size := #in~size;~value := #in~value;havoc ~i~0;~i~0 := 0; {11703#true} is VALID [2018-11-23 12:11:06,571 INFO L273 TraceCheckUtils]: 34: Hoare triple {11703#true} assume !!(~i~0 < ~size);call #t~mem1 := read~int(~set.base, ~set.offset + 4 * ~i~0, 4); {11703#true} is VALID [2018-11-23 12:11:06,571 INFO L273 TraceCheckUtils]: 35: Hoare triple {11703#true} assume #t~mem1 == ~value;havoc #t~mem1;#res := 1; {11703#true} is VALID [2018-11-23 12:11:06,571 INFO L273 TraceCheckUtils]: 36: Hoare triple {11703#true} assume true; {11703#true} is VALID [2018-11-23 12:11:06,573 INFO L268 TraceCheckUtils]: 37: Hoare quadruple {11703#true} {11813#(<= 2 main_~v~0)} #127#return; {11813#(<= 2 main_~v~0)} is VALID [2018-11-23 12:11:06,573 INFO L273 TraceCheckUtils]: 38: Hoare triple {11813#(<= 2 main_~v~0)} assume -2147483648 <= #t~ret4 && #t~ret4 <= 2147483647; {11813#(<= 2 main_~v~0)} is VALID [2018-11-23 12:11:06,574 INFO L273 TraceCheckUtils]: 39: Hoare triple {11813#(<= 2 main_~v~0)} assume !(1 != #t~ret4);havoc #t~ret4;havoc #t~mem3; {11813#(<= 2 main_~v~0)} is VALID [2018-11-23 12:11:06,574 INFO L273 TraceCheckUtils]: 40: Hoare triple {11813#(<= 2 main_~v~0)} #t~post2 := ~v~0;~v~0 := 1 + #t~post2;havoc #t~post2; {11844#(<= 3 main_~v~0)} is VALID [2018-11-23 12:11:06,575 INFO L273 TraceCheckUtils]: 41: Hoare triple {11844#(<= 3 main_~v~0)} assume !!(~v~0 < ~SIZE~0);call #t~mem3 := read~int(~#values~0.base, ~#values~0.offset + 4 * ~v~0, 4); {11844#(<= 3 main_~v~0)} is VALID [2018-11-23 12:11:06,575 INFO L256 TraceCheckUtils]: 42: Hoare triple {11844#(<= 3 main_~v~0)} call #t~ret4 := elem_exists(~#set~0.base, ~#set~0.offset, ~n~0, #t~mem3); {11703#true} is VALID [2018-11-23 12:11:06,575 INFO L273 TraceCheckUtils]: 43: Hoare triple {11703#true} ~set.base, ~set.offset := #in~set.base, #in~set.offset;~size := #in~size;~value := #in~value;havoc ~i~0;~i~0 := 0; {11703#true} is VALID [2018-11-23 12:11:06,576 INFO L273 TraceCheckUtils]: 44: Hoare triple {11703#true} assume !!(~i~0 < ~size);call #t~mem1 := read~int(~set.base, ~set.offset + 4 * ~i~0, 4); {11703#true} is VALID [2018-11-23 12:11:06,576 INFO L273 TraceCheckUtils]: 45: Hoare triple {11703#true} assume #t~mem1 == ~value;havoc #t~mem1;#res := 1; {11703#true} is VALID [2018-11-23 12:11:06,576 INFO L273 TraceCheckUtils]: 46: Hoare triple {11703#true} assume true; {11703#true} is VALID [2018-11-23 12:11:06,578 INFO L268 TraceCheckUtils]: 47: Hoare quadruple {11703#true} {11844#(<= 3 main_~v~0)} #127#return; {11844#(<= 3 main_~v~0)} is VALID [2018-11-23 12:11:06,578 INFO L273 TraceCheckUtils]: 48: Hoare triple {11844#(<= 3 main_~v~0)} assume -2147483648 <= #t~ret4 && #t~ret4 <= 2147483647; {11844#(<= 3 main_~v~0)} is VALID [2018-11-23 12:11:06,578 INFO L273 TraceCheckUtils]: 49: Hoare triple {11844#(<= 3 main_~v~0)} assume !(1 != #t~ret4);havoc #t~ret4;havoc #t~mem3; {11844#(<= 3 main_~v~0)} is VALID [2018-11-23 12:11:06,579 INFO L273 TraceCheckUtils]: 50: Hoare triple {11844#(<= 3 main_~v~0)} #t~post2 := ~v~0;~v~0 := 1 + #t~post2;havoc #t~post2; {11875#(<= 4 main_~v~0)} is VALID [2018-11-23 12:11:06,579 INFO L273 TraceCheckUtils]: 51: Hoare triple {11875#(<= 4 main_~v~0)} assume !!(~v~0 < ~SIZE~0);call #t~mem3 := read~int(~#values~0.base, ~#values~0.offset + 4 * ~v~0, 4); {11875#(<= 4 main_~v~0)} is VALID [2018-11-23 12:11:06,579 INFO L256 TraceCheckUtils]: 52: Hoare triple {11875#(<= 4 main_~v~0)} call #t~ret4 := elem_exists(~#set~0.base, ~#set~0.offset, ~n~0, #t~mem3); {11703#true} is VALID [2018-11-23 12:11:06,579 INFO L273 TraceCheckUtils]: 53: Hoare triple {11703#true} ~set.base, ~set.offset := #in~set.base, #in~set.offset;~size := #in~size;~value := #in~value;havoc ~i~0;~i~0 := 0; {11703#true} is VALID [2018-11-23 12:11:06,579 INFO L273 TraceCheckUtils]: 54: Hoare triple {11703#true} assume !!(~i~0 < ~size);call #t~mem1 := read~int(~set.base, ~set.offset + 4 * ~i~0, 4); {11703#true} is VALID [2018-11-23 12:11:06,580 INFO L273 TraceCheckUtils]: 55: Hoare triple {11703#true} assume #t~mem1 == ~value;havoc #t~mem1;#res := 1; {11703#true} is VALID [2018-11-23 12:11:06,580 INFO L273 TraceCheckUtils]: 56: Hoare triple {11703#true} assume true; {11703#true} is VALID [2018-11-23 12:11:06,581 INFO L268 TraceCheckUtils]: 57: Hoare quadruple {11703#true} {11875#(<= 4 main_~v~0)} #127#return; {11875#(<= 4 main_~v~0)} is VALID [2018-11-23 12:11:06,582 INFO L273 TraceCheckUtils]: 58: Hoare triple {11875#(<= 4 main_~v~0)} assume -2147483648 <= #t~ret4 && #t~ret4 <= 2147483647; {11875#(<= 4 main_~v~0)} is VALID [2018-11-23 12:11:06,582 INFO L273 TraceCheckUtils]: 59: Hoare triple {11875#(<= 4 main_~v~0)} assume !(1 != #t~ret4);havoc #t~ret4;havoc #t~mem3; {11875#(<= 4 main_~v~0)} is VALID [2018-11-23 12:11:06,583 INFO L273 TraceCheckUtils]: 60: Hoare triple {11875#(<= 4 main_~v~0)} #t~post2 := ~v~0;~v~0 := 1 + #t~post2;havoc #t~post2; {11906#(<= 5 main_~v~0)} is VALID [2018-11-23 12:11:06,584 INFO L273 TraceCheckUtils]: 61: Hoare triple {11906#(<= 5 main_~v~0)} assume !!(~v~0 < ~SIZE~0);call #t~mem3 := read~int(~#values~0.base, ~#values~0.offset + 4 * ~v~0, 4); {11906#(<= 5 main_~v~0)} is VALID [2018-11-23 12:11:06,584 INFO L256 TraceCheckUtils]: 62: Hoare triple {11906#(<= 5 main_~v~0)} call #t~ret4 := elem_exists(~#set~0.base, ~#set~0.offset, ~n~0, #t~mem3); {11703#true} is VALID [2018-11-23 12:11:06,584 INFO L273 TraceCheckUtils]: 63: Hoare triple {11703#true} ~set.base, ~set.offset := #in~set.base, #in~set.offset;~size := #in~size;~value := #in~value;havoc ~i~0;~i~0 := 0; {11703#true} is VALID [2018-11-23 12:11:06,584 INFO L273 TraceCheckUtils]: 64: Hoare triple {11703#true} assume !!(~i~0 < ~size);call #t~mem1 := read~int(~set.base, ~set.offset + 4 * ~i~0, 4); {11703#true} is VALID [2018-11-23 12:11:06,585 INFO L273 TraceCheckUtils]: 65: Hoare triple {11703#true} assume #t~mem1 == ~value;havoc #t~mem1;#res := 1; {11703#true} is VALID [2018-11-23 12:11:06,585 INFO L273 TraceCheckUtils]: 66: Hoare triple {11703#true} assume true; {11703#true} is VALID [2018-11-23 12:11:06,586 INFO L268 TraceCheckUtils]: 67: Hoare quadruple {11703#true} {11906#(<= 5 main_~v~0)} #127#return; {11906#(<= 5 main_~v~0)} is VALID [2018-11-23 12:11:06,587 INFO L273 TraceCheckUtils]: 68: Hoare triple {11906#(<= 5 main_~v~0)} assume -2147483648 <= #t~ret4 && #t~ret4 <= 2147483647; {11906#(<= 5 main_~v~0)} is VALID [2018-11-23 12:11:06,587 INFO L273 TraceCheckUtils]: 69: Hoare triple {11906#(<= 5 main_~v~0)} assume !(1 != #t~ret4);havoc #t~ret4;havoc #t~mem3; {11906#(<= 5 main_~v~0)} is VALID [2018-11-23 12:11:06,588 INFO L273 TraceCheckUtils]: 70: Hoare triple {11906#(<= 5 main_~v~0)} #t~post2 := ~v~0;~v~0 := 1 + #t~post2;havoc #t~post2; {11937#(<= 6 main_~v~0)} is VALID [2018-11-23 12:11:06,589 INFO L273 TraceCheckUtils]: 71: Hoare triple {11937#(<= 6 main_~v~0)} assume !!(~v~0 < ~SIZE~0);call #t~mem3 := read~int(~#values~0.base, ~#values~0.offset + 4 * ~v~0, 4); {11937#(<= 6 main_~v~0)} is VALID [2018-11-23 12:11:06,589 INFO L256 TraceCheckUtils]: 72: Hoare triple {11937#(<= 6 main_~v~0)} call #t~ret4 := elem_exists(~#set~0.base, ~#set~0.offset, ~n~0, #t~mem3); {11703#true} is VALID [2018-11-23 12:11:06,589 INFO L273 TraceCheckUtils]: 73: Hoare triple {11703#true} ~set.base, ~set.offset := #in~set.base, #in~set.offset;~size := #in~size;~value := #in~value;havoc ~i~0;~i~0 := 0; {11703#true} is VALID [2018-11-23 12:11:06,589 INFO L273 TraceCheckUtils]: 74: Hoare triple {11703#true} assume !!(~i~0 < ~size);call #t~mem1 := read~int(~set.base, ~set.offset + 4 * ~i~0, 4); {11703#true} is VALID [2018-11-23 12:11:06,589 INFO L273 TraceCheckUtils]: 75: Hoare triple {11703#true} assume #t~mem1 == ~value;havoc #t~mem1;#res := 1; {11703#true} is VALID [2018-11-23 12:11:06,590 INFO L273 TraceCheckUtils]: 76: Hoare triple {11703#true} assume true; {11703#true} is VALID [2018-11-23 12:11:06,591 INFO L268 TraceCheckUtils]: 77: Hoare quadruple {11703#true} {11937#(<= 6 main_~v~0)} #127#return; {11937#(<= 6 main_~v~0)} is VALID [2018-11-23 12:11:06,592 INFO L273 TraceCheckUtils]: 78: Hoare triple {11937#(<= 6 main_~v~0)} assume -2147483648 <= #t~ret4 && #t~ret4 <= 2147483647; {11937#(<= 6 main_~v~0)} is VALID [2018-11-23 12:11:06,592 INFO L273 TraceCheckUtils]: 79: Hoare triple {11937#(<= 6 main_~v~0)} assume !(1 != #t~ret4);havoc #t~ret4;havoc #t~mem3; {11937#(<= 6 main_~v~0)} is VALID [2018-11-23 12:11:06,593 INFO L273 TraceCheckUtils]: 80: Hoare triple {11937#(<= 6 main_~v~0)} #t~post2 := ~v~0;~v~0 := 1 + #t~post2;havoc #t~post2; {11968#(<= 7 main_~v~0)} is VALID [2018-11-23 12:11:06,593 INFO L273 TraceCheckUtils]: 81: Hoare triple {11968#(<= 7 main_~v~0)} assume !!(~v~0 < ~SIZE~0);call #t~mem3 := read~int(~#values~0.base, ~#values~0.offset + 4 * ~v~0, 4); {11968#(<= 7 main_~v~0)} is VALID [2018-11-23 12:11:06,594 INFO L256 TraceCheckUtils]: 82: Hoare triple {11968#(<= 7 main_~v~0)} call #t~ret4 := elem_exists(~#set~0.base, ~#set~0.offset, ~n~0, #t~mem3); {11703#true} is VALID [2018-11-23 12:11:06,594 INFO L273 TraceCheckUtils]: 83: Hoare triple {11703#true} ~set.base, ~set.offset := #in~set.base, #in~set.offset;~size := #in~size;~value := #in~value;havoc ~i~0;~i~0 := 0; {11703#true} is VALID [2018-11-23 12:11:06,594 INFO L273 TraceCheckUtils]: 84: Hoare triple {11703#true} assume !!(~i~0 < ~size);call #t~mem1 := read~int(~set.base, ~set.offset + 4 * ~i~0, 4); {11703#true} is VALID [2018-11-23 12:11:06,594 INFO L273 TraceCheckUtils]: 85: Hoare triple {11703#true} assume #t~mem1 == ~value;havoc #t~mem1;#res := 1; {11703#true} is VALID [2018-11-23 12:11:06,594 INFO L273 TraceCheckUtils]: 86: Hoare triple {11703#true} assume true; {11703#true} is VALID [2018-11-23 12:11:06,596 INFO L268 TraceCheckUtils]: 87: Hoare quadruple {11703#true} {11968#(<= 7 main_~v~0)} #127#return; {11968#(<= 7 main_~v~0)} is VALID [2018-11-23 12:11:06,597 INFO L273 TraceCheckUtils]: 88: Hoare triple {11968#(<= 7 main_~v~0)} assume -2147483648 <= #t~ret4 && #t~ret4 <= 2147483647; {11968#(<= 7 main_~v~0)} is VALID [2018-11-23 12:11:06,597 INFO L273 TraceCheckUtils]: 89: Hoare triple {11968#(<= 7 main_~v~0)} assume !(1 != #t~ret4);havoc #t~ret4;havoc #t~mem3; {11968#(<= 7 main_~v~0)} is VALID [2018-11-23 12:11:06,598 INFO L273 TraceCheckUtils]: 90: Hoare triple {11968#(<= 7 main_~v~0)} #t~post2 := ~v~0;~v~0 := 1 + #t~post2;havoc #t~post2; {11999#(<= 8 main_~v~0)} is VALID [2018-11-23 12:11:06,599 INFO L273 TraceCheckUtils]: 91: Hoare triple {11999#(<= 8 main_~v~0)} assume !!(~v~0 < ~SIZE~0);call #t~mem3 := read~int(~#values~0.base, ~#values~0.offset + 4 * ~v~0, 4); {11999#(<= 8 main_~v~0)} is VALID [2018-11-23 12:11:06,599 INFO L256 TraceCheckUtils]: 92: Hoare triple {11999#(<= 8 main_~v~0)} call #t~ret4 := elem_exists(~#set~0.base, ~#set~0.offset, ~n~0, #t~mem3); {11703#true} is VALID [2018-11-23 12:11:06,599 INFO L273 TraceCheckUtils]: 93: Hoare triple {11703#true} ~set.base, ~set.offset := #in~set.base, #in~set.offset;~size := #in~size;~value := #in~value;havoc ~i~0;~i~0 := 0; {11703#true} is VALID [2018-11-23 12:11:06,599 INFO L273 TraceCheckUtils]: 94: Hoare triple {11703#true} assume !!(~i~0 < ~size);call #t~mem1 := read~int(~set.base, ~set.offset + 4 * ~i~0, 4); {11703#true} is VALID [2018-11-23 12:11:06,599 INFO L273 TraceCheckUtils]: 95: Hoare triple {11703#true} assume #t~mem1 == ~value;havoc #t~mem1;#res := 1; {11703#true} is VALID [2018-11-23 12:11:06,600 INFO L273 TraceCheckUtils]: 96: Hoare triple {11703#true} assume true; {11703#true} is VALID [2018-11-23 12:11:06,601 INFO L268 TraceCheckUtils]: 97: Hoare quadruple {11703#true} {11999#(<= 8 main_~v~0)} #127#return; {11999#(<= 8 main_~v~0)} is VALID [2018-11-23 12:11:06,602 INFO L273 TraceCheckUtils]: 98: Hoare triple {11999#(<= 8 main_~v~0)} assume -2147483648 <= #t~ret4 && #t~ret4 <= 2147483647; {11999#(<= 8 main_~v~0)} is VALID [2018-11-23 12:11:06,602 INFO L273 TraceCheckUtils]: 99: Hoare triple {11999#(<= 8 main_~v~0)} assume !(1 != #t~ret4);havoc #t~ret4;havoc #t~mem3; {11999#(<= 8 main_~v~0)} is VALID [2018-11-23 12:11:06,603 INFO L273 TraceCheckUtils]: 100: Hoare triple {11999#(<= 8 main_~v~0)} #t~post2 := ~v~0;~v~0 := 1 + #t~post2;havoc #t~post2; {12030#(<= 9 main_~v~0)} is VALID [2018-11-23 12:11:06,604 INFO L273 TraceCheckUtils]: 101: Hoare triple {12030#(<= 9 main_~v~0)} assume !!(~v~0 < ~SIZE~0);call #t~mem3 := read~int(~#values~0.base, ~#values~0.offset + 4 * ~v~0, 4); {12030#(<= 9 main_~v~0)} is VALID [2018-11-23 12:11:06,604 INFO L256 TraceCheckUtils]: 102: Hoare triple {12030#(<= 9 main_~v~0)} call #t~ret4 := elem_exists(~#set~0.base, ~#set~0.offset, ~n~0, #t~mem3); {11703#true} is VALID [2018-11-23 12:11:06,604 INFO L273 TraceCheckUtils]: 103: Hoare triple {11703#true} ~set.base, ~set.offset := #in~set.base, #in~set.offset;~size := #in~size;~value := #in~value;havoc ~i~0;~i~0 := 0; {11703#true} is VALID [2018-11-23 12:11:06,604 INFO L273 TraceCheckUtils]: 104: Hoare triple {11703#true} assume !!(~i~0 < ~size);call #t~mem1 := read~int(~set.base, ~set.offset + 4 * ~i~0, 4); {11703#true} is VALID [2018-11-23 12:11:06,604 INFO L273 TraceCheckUtils]: 105: Hoare triple {11703#true} assume #t~mem1 == ~value;havoc #t~mem1;#res := 1; {11703#true} is VALID [2018-11-23 12:11:06,605 INFO L273 TraceCheckUtils]: 106: Hoare triple {11703#true} assume true; {11703#true} is VALID [2018-11-23 12:11:06,606 INFO L268 TraceCheckUtils]: 107: Hoare quadruple {11703#true} {12030#(<= 9 main_~v~0)} #127#return; {12030#(<= 9 main_~v~0)} is VALID [2018-11-23 12:11:06,607 INFO L273 TraceCheckUtils]: 108: Hoare triple {12030#(<= 9 main_~v~0)} assume -2147483648 <= #t~ret4 && #t~ret4 <= 2147483647; {12030#(<= 9 main_~v~0)} is VALID [2018-11-23 12:11:06,607 INFO L273 TraceCheckUtils]: 109: Hoare triple {12030#(<= 9 main_~v~0)} assume !(1 != #t~ret4);havoc #t~ret4;havoc #t~mem3; {12030#(<= 9 main_~v~0)} is VALID [2018-11-23 12:11:06,608 INFO L273 TraceCheckUtils]: 110: Hoare triple {12030#(<= 9 main_~v~0)} #t~post2 := ~v~0;~v~0 := 1 + #t~post2;havoc #t~post2; {12061#(<= 10 main_~v~0)} is VALID [2018-11-23 12:11:06,609 INFO L273 TraceCheckUtils]: 111: Hoare triple {12061#(<= 10 main_~v~0)} assume !!(~v~0 < ~SIZE~0);call #t~mem3 := read~int(~#values~0.base, ~#values~0.offset + 4 * ~v~0, 4); {12065#(<= 11 ~SIZE~0)} is VALID [2018-11-23 12:11:06,610 INFO L256 TraceCheckUtils]: 112: Hoare triple {12065#(<= 11 ~SIZE~0)} call #t~ret4 := elem_exists(~#set~0.base, ~#set~0.offset, ~n~0, #t~mem3); {12065#(<= 11 ~SIZE~0)} is VALID [2018-11-23 12:11:06,611 INFO L273 TraceCheckUtils]: 113: Hoare triple {12065#(<= 11 ~SIZE~0)} ~set.base, ~set.offset := #in~set.base, #in~set.offset;~size := #in~size;~value := #in~value;havoc ~i~0;~i~0 := 0; {12065#(<= 11 ~SIZE~0)} is VALID [2018-11-23 12:11:06,611 INFO L273 TraceCheckUtils]: 114: Hoare triple {12065#(<= 11 ~SIZE~0)} assume !!(~i~0 < ~size);call #t~mem1 := read~int(~set.base, ~set.offset + 4 * ~i~0, 4); {12065#(<= 11 ~SIZE~0)} is VALID [2018-11-23 12:11:06,612 INFO L273 TraceCheckUtils]: 115: Hoare triple {12065#(<= 11 ~SIZE~0)} assume #t~mem1 == ~value;havoc #t~mem1;#res := 1; {12065#(<= 11 ~SIZE~0)} is VALID [2018-11-23 12:11:06,612 INFO L273 TraceCheckUtils]: 116: Hoare triple {12065#(<= 11 ~SIZE~0)} assume true; {12065#(<= 11 ~SIZE~0)} is VALID [2018-11-23 12:11:06,614 INFO L268 TraceCheckUtils]: 117: Hoare quadruple {12065#(<= 11 ~SIZE~0)} {12065#(<= 11 ~SIZE~0)} #127#return; {12065#(<= 11 ~SIZE~0)} is VALID [2018-11-23 12:11:06,615 INFO L273 TraceCheckUtils]: 118: Hoare triple {12065#(<= 11 ~SIZE~0)} assume -2147483648 <= #t~ret4 && #t~ret4 <= 2147483647; {12065#(<= 11 ~SIZE~0)} is VALID [2018-11-23 12:11:06,615 INFO L273 TraceCheckUtils]: 119: Hoare triple {12065#(<= 11 ~SIZE~0)} assume !(1 != #t~ret4);havoc #t~ret4;havoc #t~mem3; {12065#(<= 11 ~SIZE~0)} is VALID [2018-11-23 12:11:06,616 INFO L273 TraceCheckUtils]: 120: Hoare triple {12065#(<= 11 ~SIZE~0)} #t~post2 := ~v~0;~v~0 := 1 + #t~post2;havoc #t~post2; {12065#(<= 11 ~SIZE~0)} is VALID [2018-11-23 12:11:06,616 INFO L273 TraceCheckUtils]: 121: Hoare triple {12065#(<= 11 ~SIZE~0)} assume !(~v~0 < ~SIZE~0); {12065#(<= 11 ~SIZE~0)} is VALID [2018-11-23 12:11:06,617 INFO L273 TraceCheckUtils]: 122: Hoare triple {12065#(<= 11 ~SIZE~0)} ~i~1 := 0; {12099#(and (<= main_~i~1 0) (<= 11 ~SIZE~0))} is VALID [2018-11-23 12:11:06,618 INFO L273 TraceCheckUtils]: 123: Hoare triple {12099#(and (<= main_~i~1 0) (<= 11 ~SIZE~0))} assume !!(~i~1 < ~SIZE~0 && 1 != ~found~0);call #t~mem8 := read~int(~#set~0.base, ~#set~0.offset + 4 * ~i~1, 4); {12099#(and (<= main_~i~1 0) (<= 11 ~SIZE~0))} is VALID [2018-11-23 12:11:06,618 INFO L273 TraceCheckUtils]: 124: Hoare triple {12099#(and (<= main_~i~1 0) (<= 11 ~SIZE~0))} assume !(#t~mem8 == ~element~0);havoc #t~mem8; {12099#(and (<= main_~i~1 0) (<= 11 ~SIZE~0))} is VALID [2018-11-23 12:11:06,619 INFO L273 TraceCheckUtils]: 125: Hoare triple {12099#(and (<= main_~i~1 0) (<= 11 ~SIZE~0))} #t~post7 := ~i~1;~i~1 := 1 + #t~post7;havoc #t~post7; {12109#(and (<= main_~i~1 1) (<= 11 ~SIZE~0))} is VALID [2018-11-23 12:11:06,620 INFO L273 TraceCheckUtils]: 126: Hoare triple {12109#(and (<= main_~i~1 1) (<= 11 ~SIZE~0))} assume !!(~i~1 < ~SIZE~0 && 1 != ~found~0);call #t~mem8 := read~int(~#set~0.base, ~#set~0.offset + 4 * ~i~1, 4); {12109#(and (<= main_~i~1 1) (<= 11 ~SIZE~0))} is VALID [2018-11-23 12:11:06,621 INFO L273 TraceCheckUtils]: 127: Hoare triple {12109#(and (<= main_~i~1 1) (<= 11 ~SIZE~0))} assume #t~mem8 == ~element~0;havoc #t~mem8;~found~0 := 1;~pos~0 := ~i~1; {12116#(and (<= main_~pos~0 1) (<= 11 ~SIZE~0))} is VALID [2018-11-23 12:11:06,621 INFO L273 TraceCheckUtils]: 128: Hoare triple {12116#(and (<= main_~pos~0 1) (<= 11 ~SIZE~0))} #t~post7 := ~i~1;~i~1 := 1 + #t~post7;havoc #t~post7; {12116#(and (<= main_~pos~0 1) (<= 11 ~SIZE~0))} is VALID [2018-11-23 12:11:06,622 INFO L273 TraceCheckUtils]: 129: Hoare triple {12116#(and (<= main_~pos~0 1) (<= 11 ~SIZE~0))} assume !(~i~1 < ~SIZE~0 && 1 != ~found~0); {12116#(and (<= main_~pos~0 1) (<= 11 ~SIZE~0))} is VALID [2018-11-23 12:11:06,623 INFO L273 TraceCheckUtils]: 130: Hoare triple {12116#(and (<= main_~pos~0 1) (<= 11 ~SIZE~0))} assume 1 == ~found~0;~i~1 := ~pos~0; {12109#(and (<= main_~i~1 1) (<= 11 ~SIZE~0))} is VALID [2018-11-23 12:11:06,623 INFO L273 TraceCheckUtils]: 131: Hoare triple {12109#(and (<= main_~i~1 1) (<= 11 ~SIZE~0))} assume !!(~i~1 < ~SIZE~0 - 1);call #t~mem10 := read~int(~#set~0.base, ~#set~0.offset + 4 * (1 + ~i~1), 4);call write~int(#t~mem10, ~#set~0.base, ~#set~0.offset + 4 * ~i~1, 4);havoc #t~mem10; {12109#(and (<= main_~i~1 1) (<= 11 ~SIZE~0))} is VALID [2018-11-23 12:11:06,624 INFO L273 TraceCheckUtils]: 132: Hoare triple {12109#(and (<= main_~i~1 1) (<= 11 ~SIZE~0))} #t~post9 := ~i~1;~i~1 := 1 + #t~post9;havoc #t~post9; {12132#(and (<= main_~i~1 2) (<= 11 ~SIZE~0))} is VALID [2018-11-23 12:11:06,625 INFO L273 TraceCheckUtils]: 133: Hoare triple {12132#(and (<= main_~i~1 2) (<= 11 ~SIZE~0))} assume !!(~i~1 < ~SIZE~0 - 1);call #t~mem10 := read~int(~#set~0.base, ~#set~0.offset + 4 * (1 + ~i~1), 4);call write~int(#t~mem10, ~#set~0.base, ~#set~0.offset + 4 * ~i~1, 4);havoc #t~mem10; {12132#(and (<= main_~i~1 2) (<= 11 ~SIZE~0))} is VALID [2018-11-23 12:11:06,626 INFO L273 TraceCheckUtils]: 134: Hoare triple {12132#(and (<= main_~i~1 2) (<= 11 ~SIZE~0))} #t~post9 := ~i~1;~i~1 := 1 + #t~post9;havoc #t~post9; {12139#(and (<= main_~i~1 3) (<= 11 ~SIZE~0))} is VALID [2018-11-23 12:11:06,627 INFO L273 TraceCheckUtils]: 135: Hoare triple {12139#(and (<= main_~i~1 3) (<= 11 ~SIZE~0))} assume !(~i~1 < ~SIZE~0 - 1); {11704#false} is VALID [2018-11-23 12:11:06,627 INFO L273 TraceCheckUtils]: 136: Hoare triple {11704#false} assume 1 == ~found~0;~i~1 := 0; {11704#false} is VALID [2018-11-23 12:11:06,627 INFO L273 TraceCheckUtils]: 137: Hoare triple {11704#false} assume !!(~i~1 < ~SIZE~0 - 1);call #t~mem12 := read~int(~#set~0.base, ~#set~0.offset + 4 * ~i~1, 4); {11704#false} is VALID [2018-11-23 12:11:06,627 INFO L256 TraceCheckUtils]: 138: Hoare triple {11704#false} call __VERIFIER_assert((if #t~mem12 != ~element~0 then 1 else 0)); {11704#false} is VALID [2018-11-23 12:11:06,628 INFO L273 TraceCheckUtils]: 139: Hoare triple {11704#false} ~cond := #in~cond; {11704#false} is VALID [2018-11-23 12:11:06,628 INFO L273 TraceCheckUtils]: 140: Hoare triple {11704#false} assume 0 == ~cond; {11704#false} is VALID [2018-11-23 12:11:06,628 INFO L273 TraceCheckUtils]: 141: Hoare triple {11704#false} assume !false; {11704#false} is VALID [2018-11-23 12:11:06,640 INFO L134 CoverageAnalysis]: Checked inductivity of 560 backedges. 284 proven. 60 refuted. 0 times theorem prover too weak. 216 trivial. 0 not checked. [2018-11-23 12:11:06,659 INFO L312 seRefinementStrategy]: Constructing automaton from 0 perfect and 2 imperfect interpolant sequences. [2018-11-23 12:11:06,659 INFO L327 seRefinementStrategy]: Number of different interpolants: perfect sequences [] imperfect sequences [15, 19] total 32 [2018-11-23 12:11:06,660 INFO L78 Accepts]: Start accepts. Automaton has 32 states. Word has length 142 [2018-11-23 12:11:06,660 INFO L84 Accepts]: Finished accepts. word is accepted. [2018-11-23 12:11:06,660 INFO L86 InductivityCheck]: Starting indutivity check of a Floyd-Hoare automaton with 32 states. [2018-11-23 12:11:06,849 INFO L119 InductivityCheck]: Floyd-Hoare automaton has 193 edges. 193 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2018-11-23 12:11:06,849 INFO L459 AbstractCegarLoop]: Interpolant automaton has 32 states [2018-11-23 12:11:06,850 INFO L142 InterpolantAutomaton]: Constructing interpolant automaton starting with 32 interpolants. [2018-11-23 12:11:06,851 INFO L144 InterpolantAutomaton]: CoverageRelationStatistics Valid=197, Invalid=795, Unknown=0, NotChecked=0, Total=992 [2018-11-23 12:11:06,851 INFO L87 Difference]: Start difference. First operand 164 states and 221 transitions. Second operand 32 states. [2018-11-23 12:11:13,856 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2018-11-23 12:11:13,856 INFO L93 Difference]: Finished difference Result 276 states and 361 transitions. [2018-11-23 12:11:13,857 INFO L142 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 25 states. [2018-11-23 12:11:13,857 INFO L78 Accepts]: Start accepts. Automaton has 32 states. Word has length 142 [2018-11-23 12:11:13,857 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2018-11-23 12:11:13,857 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 32 states. [2018-11-23 12:11:13,861 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 25 states to 25 states and 269 transitions. [2018-11-23 12:11:13,861 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 32 states. [2018-11-23 12:11:13,865 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 25 states to 25 states and 269 transitions. [2018-11-23 12:11:13,865 INFO L86 InductivityCheck]: Starting indutivity check of a Floyd-Hoare automaton with 25 states and 269 transitions. [2018-11-23 12:11:14,201 INFO L119 InductivityCheck]: Floyd-Hoare automaton has 269 edges. 269 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2018-11-23 12:11:14,206 INFO L225 Difference]: With dead ends: 276 [2018-11-23 12:11:14,206 INFO L226 Difference]: Without dead ends: 232 [2018-11-23 12:11:14,208 INFO L631 BasicCegarLoop]: 0 DeclaredPredicates, 177 GetRequests, 126 SyntacticMatches, 0 SemanticMatches, 51 ConstructedPredicates, 0 IntricatePredicates, 0 DeprecatedPredicates, 534 ImplicationChecksByTransitivity, 1.6s TimeCoverageRelationStatistics Valid=596, Invalid=2160, Unknown=0, NotChecked=0, Total=2756 [2018-11-23 12:11:14,208 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 232 states. [2018-11-23 12:11:14,523 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 232 to 173. [2018-11-23 12:11:14,524 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2018-11-23 12:11:14,524 INFO L82 GeneralOperation]: Start isEquivalent. First operand 232 states. Second operand 173 states. [2018-11-23 12:11:14,524 INFO L74 IsIncluded]: Start isIncluded. First operand 232 states. Second operand 173 states. [2018-11-23 12:11:14,524 INFO L87 Difference]: Start difference. First operand 232 states. Second operand 173 states. [2018-11-23 12:11:14,531 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2018-11-23 12:11:14,532 INFO L93 Difference]: Finished difference Result 232 states and 310 transitions. [2018-11-23 12:11:14,532 INFO L276 IsEmpty]: Start isEmpty. Operand 232 states and 310 transitions. [2018-11-23 12:11:14,533 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2018-11-23 12:11:14,533 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2018-11-23 12:11:14,534 INFO L74 IsIncluded]: Start isIncluded. First operand 173 states. Second operand 232 states. [2018-11-23 12:11:14,534 INFO L87 Difference]: Start difference. First operand 173 states. Second operand 232 states. [2018-11-23 12:11:14,541 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2018-11-23 12:11:14,541 INFO L93 Difference]: Finished difference Result 232 states and 310 transitions. [2018-11-23 12:11:14,542 INFO L276 IsEmpty]: Start isEmpty. Operand 232 states and 310 transitions. [2018-11-23 12:11:14,543 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2018-11-23 12:11:14,543 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2018-11-23 12:11:14,543 INFO L88 GeneralOperation]: Finished isEquivalent. [2018-11-23 12:11:14,543 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2018-11-23 12:11:14,543 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 173 states. [2018-11-23 12:11:14,548 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 173 states to 173 states and 235 transitions. [2018-11-23 12:11:14,549 INFO L78 Accepts]: Start accepts. Automaton has 173 states and 235 transitions. Word has length 142 [2018-11-23 12:11:14,549 INFO L84 Accepts]: Finished accepts. word is rejected. [2018-11-23 12:11:14,549 INFO L480 AbstractCegarLoop]: Abstraction has 173 states and 235 transitions. [2018-11-23 12:11:14,549 INFO L481 AbstractCegarLoop]: Interpolant automaton has 32 states. [2018-11-23 12:11:14,549 INFO L276 IsEmpty]: Start isEmpty. Operand 173 states and 235 transitions. [2018-11-23 12:11:14,552 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 154 [2018-11-23 12:11:14,552 INFO L394 BasicCegarLoop]: Found error trace [2018-11-23 12:11:14,552 INFO L402 BasicCegarLoop]: trace histogram [12, 12, 12, 12, 12, 12, 12, 11, 11, 11, 4, 4, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1] [2018-11-23 12:11:14,552 INFO L423 AbstractCegarLoop]: === Iteration 18 === [__VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION]=== [2018-11-23 12:11:14,553 INFO L141 PredicateUnifier]: Initialized classic predicate unifier [2018-11-23 12:11:14,553 INFO L82 PathProgramCache]: Analyzing trace with hash 18945109, now seen corresponding path program 3 times [2018-11-23 12:11:14,553 INFO L223 ckRefinementStrategy]: Switched to mode SMTINTERPOL_TREE_INTERPOLANTS [2018-11-23 12:11:14,553 INFO L69 tionRefinementEngine]: Using refinement strategy CamelRefinementStrategy [2018-11-23 12:11:14,554 INFO L119 rtionOrderModulation]: Craig_TreeInterpolation forces the order to NOT_INCREMENTALLY [2018-11-23 12:11:14,554 INFO L101 rtionOrderModulation]: Changing assertion order to NOT_INCREMENTALLY [2018-11-23 12:11:14,554 INFO L119 rtionOrderModulation]: Craig_TreeInterpolation forces the order to NOT_INCREMENTALLY [2018-11-23 12:11:14,578 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2018-11-23 12:11:15,027 INFO L256 TraceCheckUtils]: 0: Hoare triple {13279#true} call ULTIMATE.init(); {13279#true} is VALID [2018-11-23 12:11:15,027 INFO L273 TraceCheckUtils]: 1: Hoare triple {13279#true} #NULL.base, #NULL.offset := 0, 0;#valid := #valid[0 := 0];~SIZE~0 := 100000; {13281#(<= 100000 ~SIZE~0)} is VALID [2018-11-23 12:11:15,029 INFO L273 TraceCheckUtils]: 2: Hoare triple {13281#(<= 100000 ~SIZE~0)} assume true; {13281#(<= 100000 ~SIZE~0)} is VALID [2018-11-23 12:11:15,031 INFO L268 TraceCheckUtils]: 3: Hoare quadruple {13281#(<= 100000 ~SIZE~0)} {13279#true} #123#return; {13281#(<= 100000 ~SIZE~0)} is VALID [2018-11-23 12:11:15,034 INFO L256 TraceCheckUtils]: 4: Hoare triple {13281#(<= 100000 ~SIZE~0)} call #t~ret13 := main(); {13281#(<= 100000 ~SIZE~0)} is VALID [2018-11-23 12:11:15,034 INFO L273 TraceCheckUtils]: 5: Hoare triple {13281#(<= 100000 ~SIZE~0)} havoc ~i~1;havoc ~pos~0;~n~0 := 0;~found~0 := 0;call ~#set~0.base, ~#set~0.offset := #Ultimate.alloc(4 * ~SIZE~0);call ~#values~0.base, ~#values~0.offset := #Ultimate.alloc(4 * ~SIZE~0);havoc ~element~0;havoc ~v~0;~v~0 := 0; {13281#(<= 100000 ~SIZE~0)} is VALID [2018-11-23 12:11:15,037 INFO L273 TraceCheckUtils]: 6: Hoare triple {13281#(<= 100000 ~SIZE~0)} assume !!(~v~0 < ~SIZE~0);call #t~mem3 := read~int(~#values~0.base, ~#values~0.offset + 4 * ~v~0, 4); {13281#(<= 100000 ~SIZE~0)} is VALID [2018-11-23 12:11:15,037 INFO L256 TraceCheckUtils]: 7: Hoare triple {13281#(<= 100000 ~SIZE~0)} call #t~ret4 := elem_exists(~#set~0.base, ~#set~0.offset, ~n~0, #t~mem3); {13279#true} is VALID [2018-11-23 12:11:15,037 INFO L273 TraceCheckUtils]: 8: Hoare triple {13279#true} ~set.base, ~set.offset := #in~set.base, #in~set.offset;~size := #in~size;~value := #in~value;havoc ~i~0;~i~0 := 0; {13279#true} is VALID [2018-11-23 12:11:15,037 INFO L273 TraceCheckUtils]: 9: Hoare triple {13279#true} assume !(~i~0 < ~size); {13279#true} is VALID [2018-11-23 12:11:15,037 INFO L273 TraceCheckUtils]: 10: Hoare triple {13279#true} #res := 0; {13279#true} is VALID [2018-11-23 12:11:15,037 INFO L273 TraceCheckUtils]: 11: Hoare triple {13279#true} assume true; {13279#true} is VALID [2018-11-23 12:11:15,040 INFO L268 TraceCheckUtils]: 12: Hoare quadruple {13279#true} {13281#(<= 100000 ~SIZE~0)} #127#return; {13281#(<= 100000 ~SIZE~0)} is VALID [2018-11-23 12:11:15,040 INFO L273 TraceCheckUtils]: 13: Hoare triple {13281#(<= 100000 ~SIZE~0)} assume -2147483648 <= #t~ret4 && #t~ret4 <= 2147483647; {13281#(<= 100000 ~SIZE~0)} is VALID [2018-11-23 12:11:15,042 INFO L273 TraceCheckUtils]: 14: Hoare triple {13281#(<= 100000 ~SIZE~0)} assume 1 != #t~ret4;havoc #t~ret4;havoc #t~mem3;call #t~mem5 := read~int(~#values~0.base, ~#values~0.offset + 4 * ~v~0, 4); {13281#(<= 100000 ~SIZE~0)} is VALID [2018-11-23 12:11:15,042 INFO L256 TraceCheckUtils]: 15: Hoare triple {13281#(<= 100000 ~SIZE~0)} call #t~ret6 := insert(~#set~0.base, ~#set~0.offset, ~n~0, #t~mem5); {13279#true} is VALID [2018-11-23 12:11:15,042 INFO L273 TraceCheckUtils]: 16: Hoare triple {13279#true} ~set.base, ~set.offset := #in~set.base, #in~set.offset;~size := #in~size;~value := #in~value;call write~int(~value, ~set.base, ~set.offset + 4 * ~size, 4);#res := 1 + ~size; {13279#true} is VALID [2018-11-23 12:11:15,042 INFO L273 TraceCheckUtils]: 17: Hoare triple {13279#true} assume true; {13279#true} is VALID [2018-11-23 12:11:15,044 INFO L268 TraceCheckUtils]: 18: Hoare quadruple {13279#true} {13281#(<= 100000 ~SIZE~0)} #129#return; {13281#(<= 100000 ~SIZE~0)} is VALID [2018-11-23 12:11:15,045 INFO L273 TraceCheckUtils]: 19: Hoare triple {13281#(<= 100000 ~SIZE~0)} assume -2147483648 <= #t~ret6 && #t~ret6 <= 2147483647;~n~0 := #t~ret6;havoc #t~mem5;havoc #t~ret6; {13281#(<= 100000 ~SIZE~0)} is VALID [2018-11-23 12:11:15,045 INFO L273 TraceCheckUtils]: 20: Hoare triple {13281#(<= 100000 ~SIZE~0)} #t~post2 := ~v~0;~v~0 := 1 + #t~post2;havoc #t~post2; {13281#(<= 100000 ~SIZE~0)} is VALID [2018-11-23 12:11:15,047 INFO L273 TraceCheckUtils]: 21: Hoare triple {13281#(<= 100000 ~SIZE~0)} assume !!(~v~0 < ~SIZE~0);call #t~mem3 := read~int(~#values~0.base, ~#values~0.offset + 4 * ~v~0, 4); {13281#(<= 100000 ~SIZE~0)} is VALID [2018-11-23 12:11:15,047 INFO L256 TraceCheckUtils]: 22: Hoare triple {13281#(<= 100000 ~SIZE~0)} call #t~ret4 := elem_exists(~#set~0.base, ~#set~0.offset, ~n~0, #t~mem3); {13279#true} is VALID [2018-11-23 12:11:15,047 INFO L273 TraceCheckUtils]: 23: Hoare triple {13279#true} ~set.base, ~set.offset := #in~set.base, #in~set.offset;~size := #in~size;~value := #in~value;havoc ~i~0;~i~0 := 0; {13279#true} is VALID [2018-11-23 12:11:15,047 INFO L273 TraceCheckUtils]: 24: Hoare triple {13279#true} assume !!(~i~0 < ~size);call #t~mem1 := read~int(~set.base, ~set.offset + 4 * ~i~0, 4); {13279#true} is VALID [2018-11-23 12:11:15,048 INFO L273 TraceCheckUtils]: 25: Hoare triple {13279#true} assume #t~mem1 == ~value;havoc #t~mem1;#res := 1; {13279#true} is VALID [2018-11-23 12:11:15,048 INFO L273 TraceCheckUtils]: 26: Hoare triple {13279#true} assume true; {13279#true} is VALID [2018-11-23 12:11:15,050 INFO L268 TraceCheckUtils]: 27: Hoare quadruple {13279#true} {13281#(<= 100000 ~SIZE~0)} #127#return; {13281#(<= 100000 ~SIZE~0)} is VALID [2018-11-23 12:11:15,050 INFO L273 TraceCheckUtils]: 28: Hoare triple {13281#(<= 100000 ~SIZE~0)} assume -2147483648 <= #t~ret4 && #t~ret4 <= 2147483647; {13281#(<= 100000 ~SIZE~0)} is VALID [2018-11-23 12:11:15,053 INFO L273 TraceCheckUtils]: 29: Hoare triple {13281#(<= 100000 ~SIZE~0)} assume !(1 != #t~ret4);havoc #t~ret4;havoc #t~mem3; {13281#(<= 100000 ~SIZE~0)} is VALID [2018-11-23 12:11:15,053 INFO L273 TraceCheckUtils]: 30: Hoare triple {13281#(<= 100000 ~SIZE~0)} #t~post2 := ~v~0;~v~0 := 1 + #t~post2;havoc #t~post2; {13281#(<= 100000 ~SIZE~0)} is VALID [2018-11-23 12:11:15,056 INFO L273 TraceCheckUtils]: 31: Hoare triple {13281#(<= 100000 ~SIZE~0)} assume !!(~v~0 < ~SIZE~0);call #t~mem3 := read~int(~#values~0.base, ~#values~0.offset + 4 * ~v~0, 4); {13281#(<= 100000 ~SIZE~0)} is VALID [2018-11-23 12:11:15,056 INFO L256 TraceCheckUtils]: 32: Hoare triple {13281#(<= 100000 ~SIZE~0)} call #t~ret4 := elem_exists(~#set~0.base, ~#set~0.offset, ~n~0, #t~mem3); {13279#true} is VALID [2018-11-23 12:11:15,056 INFO L273 TraceCheckUtils]: 33: Hoare triple {13279#true} ~set.base, ~set.offset := #in~set.base, #in~set.offset;~size := #in~size;~value := #in~value;havoc ~i~0;~i~0 := 0; {13279#true} is VALID [2018-11-23 12:11:15,056 INFO L273 TraceCheckUtils]: 34: Hoare triple {13279#true} assume !!(~i~0 < ~size);call #t~mem1 := read~int(~set.base, ~set.offset + 4 * ~i~0, 4); {13279#true} is VALID [2018-11-23 12:11:15,056 INFO L273 TraceCheckUtils]: 35: Hoare triple {13279#true} assume #t~mem1 == ~value;havoc #t~mem1;#res := 1; {13279#true} is VALID [2018-11-23 12:11:15,056 INFO L273 TraceCheckUtils]: 36: Hoare triple {13279#true} assume true; {13279#true} is VALID [2018-11-23 12:11:15,059 INFO L268 TraceCheckUtils]: 37: Hoare quadruple {13279#true} {13281#(<= 100000 ~SIZE~0)} #127#return; {13281#(<= 100000 ~SIZE~0)} is VALID [2018-11-23 12:11:15,059 INFO L273 TraceCheckUtils]: 38: Hoare triple {13281#(<= 100000 ~SIZE~0)} assume -2147483648 <= #t~ret4 && #t~ret4 <= 2147483647; {13281#(<= 100000 ~SIZE~0)} is VALID [2018-11-23 12:11:15,062 INFO L273 TraceCheckUtils]: 39: Hoare triple {13281#(<= 100000 ~SIZE~0)} assume !(1 != #t~ret4);havoc #t~ret4;havoc #t~mem3; {13281#(<= 100000 ~SIZE~0)} is VALID [2018-11-23 12:11:15,062 INFO L273 TraceCheckUtils]: 40: Hoare triple {13281#(<= 100000 ~SIZE~0)} #t~post2 := ~v~0;~v~0 := 1 + #t~post2;havoc #t~post2; {13281#(<= 100000 ~SIZE~0)} is VALID [2018-11-23 12:11:15,065 INFO L273 TraceCheckUtils]: 41: Hoare triple {13281#(<= 100000 ~SIZE~0)} assume !!(~v~0 < ~SIZE~0);call #t~mem3 := read~int(~#values~0.base, ~#values~0.offset + 4 * ~v~0, 4); {13281#(<= 100000 ~SIZE~0)} is VALID [2018-11-23 12:11:15,065 INFO L256 TraceCheckUtils]: 42: Hoare triple {13281#(<= 100000 ~SIZE~0)} call #t~ret4 := elem_exists(~#set~0.base, ~#set~0.offset, ~n~0, #t~mem3); {13279#true} is VALID [2018-11-23 12:11:15,065 INFO L273 TraceCheckUtils]: 43: Hoare triple {13279#true} ~set.base, ~set.offset := #in~set.base, #in~set.offset;~size := #in~size;~value := #in~value;havoc ~i~0;~i~0 := 0; {13279#true} is VALID [2018-11-23 12:11:15,065 INFO L273 TraceCheckUtils]: 44: Hoare triple {13279#true} assume !!(~i~0 < ~size);call #t~mem1 := read~int(~set.base, ~set.offset + 4 * ~i~0, 4); {13279#true} is VALID [2018-11-23 12:11:15,065 INFO L273 TraceCheckUtils]: 45: Hoare triple {13279#true} assume #t~mem1 == ~value;havoc #t~mem1;#res := 1; {13279#true} is VALID [2018-11-23 12:11:15,065 INFO L273 TraceCheckUtils]: 46: Hoare triple {13279#true} assume true; {13279#true} is VALID [2018-11-23 12:11:15,067 INFO L268 TraceCheckUtils]: 47: Hoare quadruple {13279#true} {13281#(<= 100000 ~SIZE~0)} #127#return; {13281#(<= 100000 ~SIZE~0)} is VALID [2018-11-23 12:11:15,068 INFO L273 TraceCheckUtils]: 48: Hoare triple {13281#(<= 100000 ~SIZE~0)} assume -2147483648 <= #t~ret4 && #t~ret4 <= 2147483647; {13281#(<= 100000 ~SIZE~0)} is VALID [2018-11-23 12:11:15,068 INFO L273 TraceCheckUtils]: 49: Hoare triple {13281#(<= 100000 ~SIZE~0)} assume !(1 != #t~ret4);havoc #t~ret4;havoc #t~mem3; {13281#(<= 100000 ~SIZE~0)} is VALID [2018-11-23 12:11:15,071 INFO L273 TraceCheckUtils]: 50: Hoare triple {13281#(<= 100000 ~SIZE~0)} #t~post2 := ~v~0;~v~0 := 1 + #t~post2;havoc #t~post2; {13281#(<= 100000 ~SIZE~0)} is VALID [2018-11-23 12:11:15,071 INFO L273 TraceCheckUtils]: 51: Hoare triple {13281#(<= 100000 ~SIZE~0)} assume !!(~v~0 < ~SIZE~0);call #t~mem3 := read~int(~#values~0.base, ~#values~0.offset + 4 * ~v~0, 4); {13281#(<= 100000 ~SIZE~0)} is VALID [2018-11-23 12:11:15,071 INFO L256 TraceCheckUtils]: 52: Hoare triple {13281#(<= 100000 ~SIZE~0)} call #t~ret4 := elem_exists(~#set~0.base, ~#set~0.offset, ~n~0, #t~mem3); {13279#true} is VALID [2018-11-23 12:11:15,071 INFO L273 TraceCheckUtils]: 53: Hoare triple {13279#true} ~set.base, ~set.offset := #in~set.base, #in~set.offset;~size := #in~size;~value := #in~value;havoc ~i~0;~i~0 := 0; {13279#true} is VALID [2018-11-23 12:11:15,071 INFO L273 TraceCheckUtils]: 54: Hoare triple {13279#true} assume !!(~i~0 < ~size);call #t~mem1 := read~int(~set.base, ~set.offset + 4 * ~i~0, 4); {13279#true} is VALID [2018-11-23 12:11:15,071 INFO L273 TraceCheckUtils]: 55: Hoare triple {13279#true} assume #t~mem1 == ~value;havoc #t~mem1;#res := 1; {13279#true} is VALID [2018-11-23 12:11:15,072 INFO L273 TraceCheckUtils]: 56: Hoare triple {13279#true} assume true; {13279#true} is VALID [2018-11-23 12:11:15,073 INFO L268 TraceCheckUtils]: 57: Hoare quadruple {13279#true} {13281#(<= 100000 ~SIZE~0)} #127#return; {13281#(<= 100000 ~SIZE~0)} is VALID [2018-11-23 12:11:15,074 INFO L273 TraceCheckUtils]: 58: Hoare triple {13281#(<= 100000 ~SIZE~0)} assume -2147483648 <= #t~ret4 && #t~ret4 <= 2147483647; {13281#(<= 100000 ~SIZE~0)} is VALID [2018-11-23 12:11:15,074 INFO L273 TraceCheckUtils]: 59: Hoare triple {13281#(<= 100000 ~SIZE~0)} assume !(1 != #t~ret4);havoc #t~ret4;havoc #t~mem3; {13281#(<= 100000 ~SIZE~0)} is VALID [2018-11-23 12:11:15,077 INFO L273 TraceCheckUtils]: 60: Hoare triple {13281#(<= 100000 ~SIZE~0)} #t~post2 := ~v~0;~v~0 := 1 + #t~post2;havoc #t~post2; {13281#(<= 100000 ~SIZE~0)} is VALID [2018-11-23 12:11:15,077 INFO L273 TraceCheckUtils]: 61: Hoare triple {13281#(<= 100000 ~SIZE~0)} assume !!(~v~0 < ~SIZE~0);call #t~mem3 := read~int(~#values~0.base, ~#values~0.offset + 4 * ~v~0, 4); {13281#(<= 100000 ~SIZE~0)} is VALID [2018-11-23 12:11:15,077 INFO L256 TraceCheckUtils]: 62: Hoare triple {13281#(<= 100000 ~SIZE~0)} call #t~ret4 := elem_exists(~#set~0.base, ~#set~0.offset, ~n~0, #t~mem3); {13279#true} is VALID [2018-11-23 12:11:15,077 INFO L273 TraceCheckUtils]: 63: Hoare triple {13279#true} ~set.base, ~set.offset := #in~set.base, #in~set.offset;~size := #in~size;~value := #in~value;havoc ~i~0;~i~0 := 0; {13279#true} is VALID [2018-11-23 12:11:15,077 INFO L273 TraceCheckUtils]: 64: Hoare triple {13279#true} assume !!(~i~0 < ~size);call #t~mem1 := read~int(~set.base, ~set.offset + 4 * ~i~0, 4); {13279#true} is VALID [2018-11-23 12:11:15,077 INFO L273 TraceCheckUtils]: 65: Hoare triple {13279#true} assume #t~mem1 == ~value;havoc #t~mem1;#res := 1; {13279#true} is VALID [2018-11-23 12:11:15,078 INFO L273 TraceCheckUtils]: 66: Hoare triple {13279#true} assume true; {13279#true} is VALID [2018-11-23 12:11:15,079 INFO L268 TraceCheckUtils]: 67: Hoare quadruple {13279#true} {13281#(<= 100000 ~SIZE~0)} #127#return; {13281#(<= 100000 ~SIZE~0)} is VALID [2018-11-23 12:11:15,080 INFO L273 TraceCheckUtils]: 68: Hoare triple {13281#(<= 100000 ~SIZE~0)} assume -2147483648 <= #t~ret4 && #t~ret4 <= 2147483647; {13281#(<= 100000 ~SIZE~0)} is VALID [2018-11-23 12:11:15,080 INFO L273 TraceCheckUtils]: 69: Hoare triple {13281#(<= 100000 ~SIZE~0)} assume !(1 != #t~ret4);havoc #t~ret4;havoc #t~mem3; {13281#(<= 100000 ~SIZE~0)} is VALID [2018-11-23 12:11:15,082 INFO L273 TraceCheckUtils]: 70: Hoare triple {13281#(<= 100000 ~SIZE~0)} #t~post2 := ~v~0;~v~0 := 1 + #t~post2;havoc #t~post2; {13281#(<= 100000 ~SIZE~0)} is VALID [2018-11-23 12:11:15,082 INFO L273 TraceCheckUtils]: 71: Hoare triple {13281#(<= 100000 ~SIZE~0)} assume !!(~v~0 < ~SIZE~0);call #t~mem3 := read~int(~#values~0.base, ~#values~0.offset + 4 * ~v~0, 4); {13281#(<= 100000 ~SIZE~0)} is VALID [2018-11-23 12:11:15,082 INFO L256 TraceCheckUtils]: 72: Hoare triple {13281#(<= 100000 ~SIZE~0)} call #t~ret4 := elem_exists(~#set~0.base, ~#set~0.offset, ~n~0, #t~mem3); {13279#true} is VALID [2018-11-23 12:11:15,083 INFO L273 TraceCheckUtils]: 73: Hoare triple {13279#true} ~set.base, ~set.offset := #in~set.base, #in~set.offset;~size := #in~size;~value := #in~value;havoc ~i~0;~i~0 := 0; {13279#true} is VALID [2018-11-23 12:11:15,083 INFO L273 TraceCheckUtils]: 74: Hoare triple {13279#true} assume !!(~i~0 < ~size);call #t~mem1 := read~int(~set.base, ~set.offset + 4 * ~i~0, 4); {13279#true} is VALID [2018-11-23 12:11:15,083 INFO L273 TraceCheckUtils]: 75: Hoare triple {13279#true} assume #t~mem1 == ~value;havoc #t~mem1;#res := 1; {13279#true} is VALID [2018-11-23 12:11:15,083 INFO L273 TraceCheckUtils]: 76: Hoare triple {13279#true} assume true; {13279#true} is VALID [2018-11-23 12:11:15,086 INFO L268 TraceCheckUtils]: 77: Hoare quadruple {13279#true} {13281#(<= 100000 ~SIZE~0)} #127#return; {13281#(<= 100000 ~SIZE~0)} is VALID [2018-11-23 12:11:15,086 INFO L273 TraceCheckUtils]: 78: Hoare triple {13281#(<= 100000 ~SIZE~0)} assume -2147483648 <= #t~ret4 && #t~ret4 <= 2147483647; {13281#(<= 100000 ~SIZE~0)} is VALID [2018-11-23 12:11:15,089 INFO L273 TraceCheckUtils]: 79: Hoare triple {13281#(<= 100000 ~SIZE~0)} assume !(1 != #t~ret4);havoc #t~ret4;havoc #t~mem3; {13281#(<= 100000 ~SIZE~0)} is VALID [2018-11-23 12:11:15,089 INFO L273 TraceCheckUtils]: 80: Hoare triple {13281#(<= 100000 ~SIZE~0)} #t~post2 := ~v~0;~v~0 := 1 + #t~post2;havoc #t~post2; {13281#(<= 100000 ~SIZE~0)} is VALID [2018-11-23 12:11:15,092 INFO L273 TraceCheckUtils]: 81: Hoare triple {13281#(<= 100000 ~SIZE~0)} assume !!(~v~0 < ~SIZE~0);call #t~mem3 := read~int(~#values~0.base, ~#values~0.offset + 4 * ~v~0, 4); {13281#(<= 100000 ~SIZE~0)} is VALID [2018-11-23 12:11:15,092 INFO L256 TraceCheckUtils]: 82: Hoare triple {13281#(<= 100000 ~SIZE~0)} call #t~ret4 := elem_exists(~#set~0.base, ~#set~0.offset, ~n~0, #t~mem3); {13279#true} is VALID [2018-11-23 12:11:15,092 INFO L273 TraceCheckUtils]: 83: Hoare triple {13279#true} ~set.base, ~set.offset := #in~set.base, #in~set.offset;~size := #in~size;~value := #in~value;havoc ~i~0;~i~0 := 0; {13279#true} is VALID [2018-11-23 12:11:15,092 INFO L273 TraceCheckUtils]: 84: Hoare triple {13279#true} assume !!(~i~0 < ~size);call #t~mem1 := read~int(~set.base, ~set.offset + 4 * ~i~0, 4); {13279#true} is VALID [2018-11-23 12:11:15,092 INFO L273 TraceCheckUtils]: 85: Hoare triple {13279#true} assume #t~mem1 == ~value;havoc #t~mem1;#res := 1; {13279#true} is VALID [2018-11-23 12:11:15,092 INFO L273 TraceCheckUtils]: 86: Hoare triple {13279#true} assume true; {13279#true} is VALID [2018-11-23 12:11:15,095 INFO L268 TraceCheckUtils]: 87: Hoare quadruple {13279#true} {13281#(<= 100000 ~SIZE~0)} #127#return; {13281#(<= 100000 ~SIZE~0)} is VALID [2018-11-23 12:11:15,095 INFO L273 TraceCheckUtils]: 88: Hoare triple {13281#(<= 100000 ~SIZE~0)} assume -2147483648 <= #t~ret4 && #t~ret4 <= 2147483647; {13281#(<= 100000 ~SIZE~0)} is VALID [2018-11-23 12:11:15,097 INFO L273 TraceCheckUtils]: 89: Hoare triple {13281#(<= 100000 ~SIZE~0)} assume !(1 != #t~ret4);havoc #t~ret4;havoc #t~mem3; {13281#(<= 100000 ~SIZE~0)} is VALID [2018-11-23 12:11:15,097 INFO L273 TraceCheckUtils]: 90: Hoare triple {13281#(<= 100000 ~SIZE~0)} #t~post2 := ~v~0;~v~0 := 1 + #t~post2;havoc #t~post2; {13281#(<= 100000 ~SIZE~0)} is VALID [2018-11-23 12:11:15,100 INFO L273 TraceCheckUtils]: 91: Hoare triple {13281#(<= 100000 ~SIZE~0)} assume !!(~v~0 < ~SIZE~0);call #t~mem3 := read~int(~#values~0.base, ~#values~0.offset + 4 * ~v~0, 4); {13281#(<= 100000 ~SIZE~0)} is VALID [2018-11-23 12:11:15,100 INFO L256 TraceCheckUtils]: 92: Hoare triple {13281#(<= 100000 ~SIZE~0)} call #t~ret4 := elem_exists(~#set~0.base, ~#set~0.offset, ~n~0, #t~mem3); {13279#true} is VALID [2018-11-23 12:11:15,100 INFO L273 TraceCheckUtils]: 93: Hoare triple {13279#true} ~set.base, ~set.offset := #in~set.base, #in~set.offset;~size := #in~size;~value := #in~value;havoc ~i~0;~i~0 := 0; {13279#true} is VALID [2018-11-23 12:11:15,100 INFO L273 TraceCheckUtils]: 94: Hoare triple {13279#true} assume !!(~i~0 < ~size);call #t~mem1 := read~int(~set.base, ~set.offset + 4 * ~i~0, 4); {13279#true} is VALID [2018-11-23 12:11:15,100 INFO L273 TraceCheckUtils]: 95: Hoare triple {13279#true} assume #t~mem1 == ~value;havoc #t~mem1;#res := 1; {13279#true} is VALID [2018-11-23 12:11:15,100 INFO L273 TraceCheckUtils]: 96: Hoare triple {13279#true} assume true; {13279#true} is VALID [2018-11-23 12:11:15,103 INFO L268 TraceCheckUtils]: 97: Hoare quadruple {13279#true} {13281#(<= 100000 ~SIZE~0)} #127#return; {13281#(<= 100000 ~SIZE~0)} is VALID [2018-11-23 12:11:15,103 INFO L273 TraceCheckUtils]: 98: Hoare triple {13281#(<= 100000 ~SIZE~0)} assume -2147483648 <= #t~ret4 && #t~ret4 <= 2147483647; {13281#(<= 100000 ~SIZE~0)} is VALID [2018-11-23 12:11:15,105 INFO L273 TraceCheckUtils]: 99: Hoare triple {13281#(<= 100000 ~SIZE~0)} assume !(1 != #t~ret4);havoc #t~ret4;havoc #t~mem3; {13281#(<= 100000 ~SIZE~0)} is VALID [2018-11-23 12:11:15,105 INFO L273 TraceCheckUtils]: 100: Hoare triple {13281#(<= 100000 ~SIZE~0)} #t~post2 := ~v~0;~v~0 := 1 + #t~post2;havoc #t~post2; {13281#(<= 100000 ~SIZE~0)} is VALID [2018-11-23 12:11:15,108 INFO L273 TraceCheckUtils]: 101: Hoare triple {13281#(<= 100000 ~SIZE~0)} assume !!(~v~0 < ~SIZE~0);call #t~mem3 := read~int(~#values~0.base, ~#values~0.offset + 4 * ~v~0, 4); {13281#(<= 100000 ~SIZE~0)} is VALID [2018-11-23 12:11:15,108 INFO L256 TraceCheckUtils]: 102: Hoare triple {13281#(<= 100000 ~SIZE~0)} call #t~ret4 := elem_exists(~#set~0.base, ~#set~0.offset, ~n~0, #t~mem3); {13279#true} is VALID [2018-11-23 12:11:15,108 INFO L273 TraceCheckUtils]: 103: Hoare triple {13279#true} ~set.base, ~set.offset := #in~set.base, #in~set.offset;~size := #in~size;~value := #in~value;havoc ~i~0;~i~0 := 0; {13279#true} is VALID [2018-11-23 12:11:15,108 INFO L273 TraceCheckUtils]: 104: Hoare triple {13279#true} assume !!(~i~0 < ~size);call #t~mem1 := read~int(~set.base, ~set.offset + 4 * ~i~0, 4); {13279#true} is VALID [2018-11-23 12:11:15,108 INFO L273 TraceCheckUtils]: 105: Hoare triple {13279#true} assume #t~mem1 == ~value;havoc #t~mem1;#res := 1; {13279#true} is VALID [2018-11-23 12:11:15,108 INFO L273 TraceCheckUtils]: 106: Hoare triple {13279#true} assume true; {13279#true} is VALID [2018-11-23 12:11:15,114 INFO L268 TraceCheckUtils]: 107: Hoare quadruple {13279#true} {13281#(<= 100000 ~SIZE~0)} #127#return; {13281#(<= 100000 ~SIZE~0)} is VALID [2018-11-23 12:11:15,114 INFO L273 TraceCheckUtils]: 108: Hoare triple {13281#(<= 100000 ~SIZE~0)} assume -2147483648 <= #t~ret4 && #t~ret4 <= 2147483647; {13281#(<= 100000 ~SIZE~0)} is VALID [2018-11-23 12:11:15,116 INFO L273 TraceCheckUtils]: 109: Hoare triple {13281#(<= 100000 ~SIZE~0)} assume !(1 != #t~ret4);havoc #t~ret4;havoc #t~mem3; {13281#(<= 100000 ~SIZE~0)} is VALID [2018-11-23 12:11:15,116 INFO L273 TraceCheckUtils]: 110: Hoare triple {13281#(<= 100000 ~SIZE~0)} #t~post2 := ~v~0;~v~0 := 1 + #t~post2;havoc #t~post2; {13281#(<= 100000 ~SIZE~0)} is VALID [2018-11-23 12:11:15,119 INFO L273 TraceCheckUtils]: 111: Hoare triple {13281#(<= 100000 ~SIZE~0)} assume !!(~v~0 < ~SIZE~0);call #t~mem3 := read~int(~#values~0.base, ~#values~0.offset + 4 * ~v~0, 4); {13281#(<= 100000 ~SIZE~0)} is VALID [2018-11-23 12:11:15,119 INFO L256 TraceCheckUtils]: 112: Hoare triple {13281#(<= 100000 ~SIZE~0)} call #t~ret4 := elem_exists(~#set~0.base, ~#set~0.offset, ~n~0, #t~mem3); {13279#true} is VALID [2018-11-23 12:11:15,119 INFO L273 TraceCheckUtils]: 113: Hoare triple {13279#true} ~set.base, ~set.offset := #in~set.base, #in~set.offset;~size := #in~size;~value := #in~value;havoc ~i~0;~i~0 := 0; {13279#true} is VALID [2018-11-23 12:11:15,119 INFO L273 TraceCheckUtils]: 114: Hoare triple {13279#true} assume !!(~i~0 < ~size);call #t~mem1 := read~int(~set.base, ~set.offset + 4 * ~i~0, 4); {13279#true} is VALID [2018-11-23 12:11:15,119 INFO L273 TraceCheckUtils]: 115: Hoare triple {13279#true} assume #t~mem1 == ~value;havoc #t~mem1;#res := 1; {13279#true} is VALID [2018-11-23 12:11:15,119 INFO L273 TraceCheckUtils]: 116: Hoare triple {13279#true} assume true; {13279#true} is VALID [2018-11-23 12:11:15,122 INFO L268 TraceCheckUtils]: 117: Hoare quadruple {13279#true} {13281#(<= 100000 ~SIZE~0)} #127#return; {13281#(<= 100000 ~SIZE~0)} is VALID [2018-11-23 12:11:15,122 INFO L273 TraceCheckUtils]: 118: Hoare triple {13281#(<= 100000 ~SIZE~0)} assume -2147483648 <= #t~ret4 && #t~ret4 <= 2147483647; {13281#(<= 100000 ~SIZE~0)} is VALID [2018-11-23 12:11:15,125 INFO L273 TraceCheckUtils]: 119: Hoare triple {13281#(<= 100000 ~SIZE~0)} assume !(1 != #t~ret4);havoc #t~ret4;havoc #t~mem3; {13281#(<= 100000 ~SIZE~0)} is VALID [2018-11-23 12:11:15,125 INFO L273 TraceCheckUtils]: 120: Hoare triple {13281#(<= 100000 ~SIZE~0)} #t~post2 := ~v~0;~v~0 := 1 + #t~post2;havoc #t~post2; {13281#(<= 100000 ~SIZE~0)} is VALID [2018-11-23 12:11:15,128 INFO L273 TraceCheckUtils]: 121: Hoare triple {13281#(<= 100000 ~SIZE~0)} assume !!(~v~0 < ~SIZE~0);call #t~mem3 := read~int(~#values~0.base, ~#values~0.offset + 4 * ~v~0, 4); {13281#(<= 100000 ~SIZE~0)} is VALID [2018-11-23 12:11:15,128 INFO L256 TraceCheckUtils]: 122: Hoare triple {13281#(<= 100000 ~SIZE~0)} call #t~ret4 := elem_exists(~#set~0.base, ~#set~0.offset, ~n~0, #t~mem3); {13279#true} is VALID [2018-11-23 12:11:15,128 INFO L273 TraceCheckUtils]: 123: Hoare triple {13279#true} ~set.base, ~set.offset := #in~set.base, #in~set.offset;~size := #in~size;~value := #in~value;havoc ~i~0;~i~0 := 0; {13279#true} is VALID [2018-11-23 12:11:15,128 INFO L273 TraceCheckUtils]: 124: Hoare triple {13279#true} assume !!(~i~0 < ~size);call #t~mem1 := read~int(~set.base, ~set.offset + 4 * ~i~0, 4); {13279#true} is VALID [2018-11-23 12:11:15,128 INFO L273 TraceCheckUtils]: 125: Hoare triple {13279#true} assume #t~mem1 == ~value;havoc #t~mem1;#res := 1; {13279#true} is VALID [2018-11-23 12:11:15,128 INFO L273 TraceCheckUtils]: 126: Hoare triple {13279#true} assume true; {13279#true} is VALID [2018-11-23 12:11:15,131 INFO L268 TraceCheckUtils]: 127: Hoare quadruple {13279#true} {13281#(<= 100000 ~SIZE~0)} #127#return; {13281#(<= 100000 ~SIZE~0)} is VALID [2018-11-23 12:11:15,131 INFO L273 TraceCheckUtils]: 128: Hoare triple {13281#(<= 100000 ~SIZE~0)} assume -2147483648 <= #t~ret4 && #t~ret4 <= 2147483647; {13281#(<= 100000 ~SIZE~0)} is VALID [2018-11-23 12:11:15,134 INFO L273 TraceCheckUtils]: 129: Hoare triple {13281#(<= 100000 ~SIZE~0)} assume !(1 != #t~ret4);havoc #t~ret4;havoc #t~mem3; {13281#(<= 100000 ~SIZE~0)} is VALID [2018-11-23 12:11:15,134 INFO L273 TraceCheckUtils]: 130: Hoare triple {13281#(<= 100000 ~SIZE~0)} #t~post2 := ~v~0;~v~0 := 1 + #t~post2;havoc #t~post2; {13281#(<= 100000 ~SIZE~0)} is VALID [2018-11-23 12:11:15,137 INFO L273 TraceCheckUtils]: 131: Hoare triple {13281#(<= 100000 ~SIZE~0)} assume !(~v~0 < ~SIZE~0); {13281#(<= 100000 ~SIZE~0)} is VALID [2018-11-23 12:11:15,137 INFO L273 TraceCheckUtils]: 132: Hoare triple {13281#(<= 100000 ~SIZE~0)} ~i~1 := 0; {13282#(and (= 0 main_~i~1) (<= 100000 ~SIZE~0))} is VALID [2018-11-23 12:11:15,140 INFO L273 TraceCheckUtils]: 133: Hoare triple {13282#(and (= 0 main_~i~1) (<= 100000 ~SIZE~0))} assume !!(~i~1 < ~SIZE~0 && 1 != ~found~0);call #t~mem8 := read~int(~#set~0.base, ~#set~0.offset + 4 * ~i~1, 4); {13282#(and (= 0 main_~i~1) (<= 100000 ~SIZE~0))} is VALID [2018-11-23 12:11:15,140 INFO L273 TraceCheckUtils]: 134: Hoare triple {13282#(and (= 0 main_~i~1) (<= 100000 ~SIZE~0))} assume #t~mem8 == ~element~0;havoc #t~mem8;~found~0 := 1;~pos~0 := ~i~1; {13283#(and (= 0 main_~pos~0) (<= 100000 ~SIZE~0))} is VALID [2018-11-23 12:11:15,142 INFO L273 TraceCheckUtils]: 135: Hoare triple {13283#(and (= 0 main_~pos~0) (<= 100000 ~SIZE~0))} #t~post7 := ~i~1;~i~1 := 1 + #t~post7;havoc #t~post7; {13283#(and (= 0 main_~pos~0) (<= 100000 ~SIZE~0))} is VALID [2018-11-23 12:11:15,142 INFO L273 TraceCheckUtils]: 136: Hoare triple {13283#(and (= 0 main_~pos~0) (<= 100000 ~SIZE~0))} assume !(~i~1 < ~SIZE~0 && 1 != ~found~0); {13283#(and (= 0 main_~pos~0) (<= 100000 ~SIZE~0))} is VALID [2018-11-23 12:11:15,145 INFO L273 TraceCheckUtils]: 137: Hoare triple {13283#(and (= 0 main_~pos~0) (<= 100000 ~SIZE~0))} assume 1 == ~found~0;~i~1 := ~pos~0; {13282#(and (= 0 main_~i~1) (<= 100000 ~SIZE~0))} is VALID [2018-11-23 12:11:15,145 INFO L273 TraceCheckUtils]: 138: Hoare triple {13282#(and (= 0 main_~i~1) (<= 100000 ~SIZE~0))} assume !!(~i~1 < ~SIZE~0 - 1);call #t~mem10 := read~int(~#set~0.base, ~#set~0.offset + 4 * (1 + ~i~1), 4);call write~int(#t~mem10, ~#set~0.base, ~#set~0.offset + 4 * ~i~1, 4);havoc #t~mem10; {13282#(and (= 0 main_~i~1) (<= 100000 ~SIZE~0))} is VALID [2018-11-23 12:11:15,147 INFO L273 TraceCheckUtils]: 139: Hoare triple {13282#(and (= 0 main_~i~1) (<= 100000 ~SIZE~0))} #t~post9 := ~i~1;~i~1 := 1 + #t~post9;havoc #t~post9; {13284#(<= (+ main_~i~1 99999) ~SIZE~0)} is VALID [2018-11-23 12:11:15,147 INFO L273 TraceCheckUtils]: 140: Hoare triple {13284#(<= (+ main_~i~1 99999) ~SIZE~0)} assume !!(~i~1 < ~SIZE~0 - 1);call #t~mem10 := read~int(~#set~0.base, ~#set~0.offset + 4 * (1 + ~i~1), 4);call write~int(#t~mem10, ~#set~0.base, ~#set~0.offset + 4 * ~i~1, 4);havoc #t~mem10; {13284#(<= (+ main_~i~1 99999) ~SIZE~0)} is VALID [2018-11-23 12:11:15,150 INFO L273 TraceCheckUtils]: 141: Hoare triple {13284#(<= (+ main_~i~1 99999) ~SIZE~0)} #t~post9 := ~i~1;~i~1 := 1 + #t~post9;havoc #t~post9; {13285#(<= (+ main_~i~1 99998) ~SIZE~0)} is VALID [2018-11-23 12:11:15,150 INFO L273 TraceCheckUtils]: 142: Hoare triple {13285#(<= (+ main_~i~1 99998) ~SIZE~0)} assume !!(~i~1 < ~SIZE~0 - 1);call #t~mem10 := read~int(~#set~0.base, ~#set~0.offset + 4 * (1 + ~i~1), 4);call write~int(#t~mem10, ~#set~0.base, ~#set~0.offset + 4 * ~i~1, 4);havoc #t~mem10; {13285#(<= (+ main_~i~1 99998) ~SIZE~0)} is VALID [2018-11-23 12:11:15,152 INFO L273 TraceCheckUtils]: 143: Hoare triple {13285#(<= (+ main_~i~1 99998) ~SIZE~0)} #t~post9 := ~i~1;~i~1 := 1 + #t~post9;havoc #t~post9; {13286#(<= (+ main_~i~1 99997) ~SIZE~0)} is VALID [2018-11-23 12:11:15,152 INFO L273 TraceCheckUtils]: 144: Hoare triple {13286#(<= (+ main_~i~1 99997) ~SIZE~0)} assume !!(~i~1 < ~SIZE~0 - 1);call #t~mem10 := read~int(~#set~0.base, ~#set~0.offset + 4 * (1 + ~i~1), 4);call write~int(#t~mem10, ~#set~0.base, ~#set~0.offset + 4 * ~i~1, 4);havoc #t~mem10; {13286#(<= (+ main_~i~1 99997) ~SIZE~0)} is VALID [2018-11-23 12:11:15,154 INFO L273 TraceCheckUtils]: 145: Hoare triple {13286#(<= (+ main_~i~1 99997) ~SIZE~0)} #t~post9 := ~i~1;~i~1 := 1 + #t~post9;havoc #t~post9; {13287#(<= (+ main_~i~1 99996) ~SIZE~0)} is VALID [2018-11-23 12:11:15,154 INFO L273 TraceCheckUtils]: 146: Hoare triple {13287#(<= (+ main_~i~1 99996) ~SIZE~0)} assume !(~i~1 < ~SIZE~0 - 1); {13280#false} is VALID [2018-11-23 12:11:15,154 INFO L273 TraceCheckUtils]: 147: Hoare triple {13280#false} assume 1 == ~found~0;~i~1 := 0; {13280#false} is VALID [2018-11-23 12:11:15,154 INFO L273 TraceCheckUtils]: 148: Hoare triple {13280#false} assume !!(~i~1 < ~SIZE~0 - 1);call #t~mem12 := read~int(~#set~0.base, ~#set~0.offset + 4 * ~i~1, 4); {13280#false} is VALID [2018-11-23 12:11:15,154 INFO L256 TraceCheckUtils]: 149: Hoare triple {13280#false} call __VERIFIER_assert((if #t~mem12 != ~element~0 then 1 else 0)); {13280#false} is VALID [2018-11-23 12:11:15,155 INFO L273 TraceCheckUtils]: 150: Hoare triple {13280#false} ~cond := #in~cond; {13280#false} is VALID [2018-11-23 12:11:15,155 INFO L273 TraceCheckUtils]: 151: Hoare triple {13280#false} assume 0 == ~cond; {13280#false} is VALID [2018-11-23 12:11:15,155 INFO L273 TraceCheckUtils]: 152: Hoare triple {13280#false} assume !false; {13280#false} is VALID [2018-11-23 12:11:15,167 INFO L134 CoverageAnalysis]: Checked inductivity of 678 backedges. 0 proven. 17 refuted. 0 times theorem prover too weak. 661 trivial. 0 not checked. [2018-11-23 12:11:15,167 INFO L300 seRefinementStrategy]: The current sequences of interpolants are not accepted, trying to find more. [2018-11-23 12:11:15,167 INFO L223 ckRefinementStrategy]: Switched to mode Z3_FP No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 Starting monitored process 15 with z3 -smt2 -in SMTLIB2_COMPLIANT=true -t:12000 (exit command is (exit), workingDir is null) Waiting until toolchain timeout for monitored process 15 with z3 -smt2 -in SMTLIB2_COMPLIANT=true -t:12000 [2018-11-23 12:11:15,177 INFO L103 rtionOrderModulation]: Keeping assertion order OUTSIDE_LOOP_FIRST2 [2018-11-23 12:11:15,225 INFO L249 tOrderPrioritization]: Assert order OUTSIDE_LOOP_FIRST2 issued 5 check-sat command(s) [2018-11-23 12:11:15,225 INFO L250 tOrderPrioritization]: Conjunction of SSA is unsat [2018-11-23 12:11:15,257 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2018-11-23 12:11:15,260 INFO L273 TraceCheckSpWp]: Computing forward predicates... [2018-11-23 12:11:15,577 INFO L256 TraceCheckUtils]: 0: Hoare triple {13279#true} call ULTIMATE.init(); {13279#true} is VALID [2018-11-23 12:11:15,578 INFO L273 TraceCheckUtils]: 1: Hoare triple {13279#true} #NULL.base, #NULL.offset := 0, 0;#valid := #valid[0 := 0];~SIZE~0 := 100000; {13281#(<= 100000 ~SIZE~0)} is VALID [2018-11-23 12:11:15,579 INFO L273 TraceCheckUtils]: 2: Hoare triple {13281#(<= 100000 ~SIZE~0)} assume true; {13281#(<= 100000 ~SIZE~0)} is VALID [2018-11-23 12:11:15,579 INFO L268 TraceCheckUtils]: 3: Hoare quadruple {13281#(<= 100000 ~SIZE~0)} {13279#true} #123#return; {13281#(<= 100000 ~SIZE~0)} is VALID [2018-11-23 12:11:15,579 INFO L256 TraceCheckUtils]: 4: Hoare triple {13281#(<= 100000 ~SIZE~0)} call #t~ret13 := main(); {13281#(<= 100000 ~SIZE~0)} is VALID [2018-11-23 12:11:15,580 INFO L273 TraceCheckUtils]: 5: Hoare triple {13281#(<= 100000 ~SIZE~0)} havoc ~i~1;havoc ~pos~0;~n~0 := 0;~found~0 := 0;call ~#set~0.base, ~#set~0.offset := #Ultimate.alloc(4 * ~SIZE~0);call ~#values~0.base, ~#values~0.offset := #Ultimate.alloc(4 * ~SIZE~0);havoc ~element~0;havoc ~v~0;~v~0 := 0; {13281#(<= 100000 ~SIZE~0)} is VALID [2018-11-23 12:11:15,580 INFO L273 TraceCheckUtils]: 6: Hoare triple {13281#(<= 100000 ~SIZE~0)} assume !!(~v~0 < ~SIZE~0);call #t~mem3 := read~int(~#values~0.base, ~#values~0.offset + 4 * ~v~0, 4); {13281#(<= 100000 ~SIZE~0)} is VALID [2018-11-23 12:11:15,582 INFO L256 TraceCheckUtils]: 7: Hoare triple {13281#(<= 100000 ~SIZE~0)} call #t~ret4 := elem_exists(~#set~0.base, ~#set~0.offset, ~n~0, #t~mem3); {13281#(<= 100000 ~SIZE~0)} is VALID [2018-11-23 12:11:15,582 INFO L273 TraceCheckUtils]: 8: Hoare triple {13281#(<= 100000 ~SIZE~0)} ~set.base, ~set.offset := #in~set.base, #in~set.offset;~size := #in~size;~value := #in~value;havoc ~i~0;~i~0 := 0; {13281#(<= 100000 ~SIZE~0)} is VALID [2018-11-23 12:11:15,583 INFO L273 TraceCheckUtils]: 9: Hoare triple {13281#(<= 100000 ~SIZE~0)} assume !(~i~0 < ~size); {13281#(<= 100000 ~SIZE~0)} is VALID [2018-11-23 12:11:15,583 INFO L273 TraceCheckUtils]: 10: Hoare triple {13281#(<= 100000 ~SIZE~0)} #res := 0; {13281#(<= 100000 ~SIZE~0)} is VALID [2018-11-23 12:11:15,584 INFO L273 TraceCheckUtils]: 11: Hoare triple {13281#(<= 100000 ~SIZE~0)} assume true; {13281#(<= 100000 ~SIZE~0)} is VALID [2018-11-23 12:11:15,586 INFO L268 TraceCheckUtils]: 12: Hoare quadruple {13281#(<= 100000 ~SIZE~0)} {13281#(<= 100000 ~SIZE~0)} #127#return; {13281#(<= 100000 ~SIZE~0)} is VALID [2018-11-23 12:11:15,586 INFO L273 TraceCheckUtils]: 13: Hoare triple {13281#(<= 100000 ~SIZE~0)} assume -2147483648 <= #t~ret4 && #t~ret4 <= 2147483647; {13281#(<= 100000 ~SIZE~0)} is VALID [2018-11-23 12:11:15,587 INFO L273 TraceCheckUtils]: 14: Hoare triple {13281#(<= 100000 ~SIZE~0)} assume 1 != #t~ret4;havoc #t~ret4;havoc #t~mem3;call #t~mem5 := read~int(~#values~0.base, ~#values~0.offset + 4 * ~v~0, 4); {13281#(<= 100000 ~SIZE~0)} is VALID [2018-11-23 12:11:15,589 INFO L256 TraceCheckUtils]: 15: Hoare triple {13281#(<= 100000 ~SIZE~0)} call #t~ret6 := insert(~#set~0.base, ~#set~0.offset, ~n~0, #t~mem5); {13281#(<= 100000 ~SIZE~0)} is VALID [2018-11-23 12:11:15,589 INFO L273 TraceCheckUtils]: 16: Hoare triple {13281#(<= 100000 ~SIZE~0)} ~set.base, ~set.offset := #in~set.base, #in~set.offset;~size := #in~size;~value := #in~value;call write~int(~value, ~set.base, ~set.offset + 4 * ~size, 4);#res := 1 + ~size; {13281#(<= 100000 ~SIZE~0)} is VALID [2018-11-23 12:11:15,590 INFO L273 TraceCheckUtils]: 17: Hoare triple {13281#(<= 100000 ~SIZE~0)} assume true; {13281#(<= 100000 ~SIZE~0)} is VALID [2018-11-23 12:11:15,592 INFO L268 TraceCheckUtils]: 18: Hoare quadruple {13281#(<= 100000 ~SIZE~0)} {13281#(<= 100000 ~SIZE~0)} #129#return; {13281#(<= 100000 ~SIZE~0)} is VALID [2018-11-23 12:11:15,592 INFO L273 TraceCheckUtils]: 19: Hoare triple {13281#(<= 100000 ~SIZE~0)} assume -2147483648 <= #t~ret6 && #t~ret6 <= 2147483647;~n~0 := #t~ret6;havoc #t~mem5;havoc #t~ret6; {13281#(<= 100000 ~SIZE~0)} is VALID [2018-11-23 12:11:15,593 INFO L273 TraceCheckUtils]: 20: Hoare triple {13281#(<= 100000 ~SIZE~0)} #t~post2 := ~v~0;~v~0 := 1 + #t~post2;havoc #t~post2; {13281#(<= 100000 ~SIZE~0)} is VALID [2018-11-23 12:11:15,593 INFO L273 TraceCheckUtils]: 21: Hoare triple {13281#(<= 100000 ~SIZE~0)} assume !!(~v~0 < ~SIZE~0);call #t~mem3 := read~int(~#values~0.base, ~#values~0.offset + 4 * ~v~0, 4); {13281#(<= 100000 ~SIZE~0)} is VALID [2018-11-23 12:11:15,595 INFO L256 TraceCheckUtils]: 22: Hoare triple {13281#(<= 100000 ~SIZE~0)} call #t~ret4 := elem_exists(~#set~0.base, ~#set~0.offset, ~n~0, #t~mem3); {13281#(<= 100000 ~SIZE~0)} is VALID [2018-11-23 12:11:15,596 INFO L273 TraceCheckUtils]: 23: Hoare triple {13281#(<= 100000 ~SIZE~0)} ~set.base, ~set.offset := #in~set.base, #in~set.offset;~size := #in~size;~value := #in~value;havoc ~i~0;~i~0 := 0; {13281#(<= 100000 ~SIZE~0)} is VALID [2018-11-23 12:11:15,596 INFO L273 TraceCheckUtils]: 24: Hoare triple {13281#(<= 100000 ~SIZE~0)} assume !!(~i~0 < ~size);call #t~mem1 := read~int(~set.base, ~set.offset + 4 * ~i~0, 4); {13281#(<= 100000 ~SIZE~0)} is VALID [2018-11-23 12:11:15,597 INFO L273 TraceCheckUtils]: 25: Hoare triple {13281#(<= 100000 ~SIZE~0)} assume #t~mem1 == ~value;havoc #t~mem1;#res := 1; {13281#(<= 100000 ~SIZE~0)} is VALID [2018-11-23 12:11:15,597 INFO L273 TraceCheckUtils]: 26: Hoare triple {13281#(<= 100000 ~SIZE~0)} assume true; {13281#(<= 100000 ~SIZE~0)} is VALID [2018-11-23 12:11:15,599 INFO L268 TraceCheckUtils]: 27: Hoare quadruple {13281#(<= 100000 ~SIZE~0)} {13281#(<= 100000 ~SIZE~0)} #127#return; {13281#(<= 100000 ~SIZE~0)} is VALID [2018-11-23 12:11:15,600 INFO L273 TraceCheckUtils]: 28: Hoare triple {13281#(<= 100000 ~SIZE~0)} assume -2147483648 <= #t~ret4 && #t~ret4 <= 2147483647; {13281#(<= 100000 ~SIZE~0)} is VALID [2018-11-23 12:11:15,600 INFO L273 TraceCheckUtils]: 29: Hoare triple {13281#(<= 100000 ~SIZE~0)} assume !(1 != #t~ret4);havoc #t~ret4;havoc #t~mem3; {13281#(<= 100000 ~SIZE~0)} is VALID [2018-11-23 12:11:15,601 INFO L273 TraceCheckUtils]: 30: Hoare triple {13281#(<= 100000 ~SIZE~0)} #t~post2 := ~v~0;~v~0 := 1 + #t~post2;havoc #t~post2; {13281#(<= 100000 ~SIZE~0)} is VALID [2018-11-23 12:11:15,601 INFO L273 TraceCheckUtils]: 31: Hoare triple {13281#(<= 100000 ~SIZE~0)} assume !!(~v~0 < ~SIZE~0);call #t~mem3 := read~int(~#values~0.base, ~#values~0.offset + 4 * ~v~0, 4); {13281#(<= 100000 ~SIZE~0)} is VALID [2018-11-23 12:11:15,603 INFO L256 TraceCheckUtils]: 32: Hoare triple {13281#(<= 100000 ~SIZE~0)} call #t~ret4 := elem_exists(~#set~0.base, ~#set~0.offset, ~n~0, #t~mem3); {13281#(<= 100000 ~SIZE~0)} is VALID [2018-11-23 12:11:15,603 INFO L273 TraceCheckUtils]: 33: Hoare triple {13281#(<= 100000 ~SIZE~0)} ~set.base, ~set.offset := #in~set.base, #in~set.offset;~size := #in~size;~value := #in~value;havoc ~i~0;~i~0 := 0; {13281#(<= 100000 ~SIZE~0)} is VALID [2018-11-23 12:11:15,604 INFO L273 TraceCheckUtils]: 34: Hoare triple {13281#(<= 100000 ~SIZE~0)} assume !!(~i~0 < ~size);call #t~mem1 := read~int(~set.base, ~set.offset + 4 * ~i~0, 4); {13281#(<= 100000 ~SIZE~0)} is VALID [2018-11-23 12:11:15,604 INFO L273 TraceCheckUtils]: 35: Hoare triple {13281#(<= 100000 ~SIZE~0)} assume #t~mem1 == ~value;havoc #t~mem1;#res := 1; {13281#(<= 100000 ~SIZE~0)} is VALID [2018-11-23 12:11:15,605 INFO L273 TraceCheckUtils]: 36: Hoare triple {13281#(<= 100000 ~SIZE~0)} assume true; {13281#(<= 100000 ~SIZE~0)} is VALID [2018-11-23 12:11:15,607 INFO L268 TraceCheckUtils]: 37: Hoare quadruple {13281#(<= 100000 ~SIZE~0)} {13281#(<= 100000 ~SIZE~0)} #127#return; {13281#(<= 100000 ~SIZE~0)} is VALID [2018-11-23 12:11:15,607 INFO L273 TraceCheckUtils]: 38: Hoare triple {13281#(<= 100000 ~SIZE~0)} assume -2147483648 <= #t~ret4 && #t~ret4 <= 2147483647; {13281#(<= 100000 ~SIZE~0)} is VALID [2018-11-23 12:11:15,608 INFO L273 TraceCheckUtils]: 39: Hoare triple {13281#(<= 100000 ~SIZE~0)} assume !(1 != #t~ret4);havoc #t~ret4;havoc #t~mem3; {13281#(<= 100000 ~SIZE~0)} is VALID [2018-11-23 12:11:15,608 INFO L273 TraceCheckUtils]: 40: Hoare triple {13281#(<= 100000 ~SIZE~0)} #t~post2 := ~v~0;~v~0 := 1 + #t~post2;havoc #t~post2; {13281#(<= 100000 ~SIZE~0)} is VALID [2018-11-23 12:11:15,609 INFO L273 TraceCheckUtils]: 41: Hoare triple {13281#(<= 100000 ~SIZE~0)} assume !!(~v~0 < ~SIZE~0);call #t~mem3 := read~int(~#values~0.base, ~#values~0.offset + 4 * ~v~0, 4); {13281#(<= 100000 ~SIZE~0)} is VALID [2018-11-23 12:11:15,610 INFO L256 TraceCheckUtils]: 42: Hoare triple {13281#(<= 100000 ~SIZE~0)} call #t~ret4 := elem_exists(~#set~0.base, ~#set~0.offset, ~n~0, #t~mem3); {13281#(<= 100000 ~SIZE~0)} is VALID [2018-11-23 12:11:15,611 INFO L273 TraceCheckUtils]: 43: Hoare triple {13281#(<= 100000 ~SIZE~0)} ~set.base, ~set.offset := #in~set.base, #in~set.offset;~size := #in~size;~value := #in~value;havoc ~i~0;~i~0 := 0; {13281#(<= 100000 ~SIZE~0)} is VALID [2018-11-23 12:11:15,611 INFO L273 TraceCheckUtils]: 44: Hoare triple {13281#(<= 100000 ~SIZE~0)} assume !!(~i~0 < ~size);call #t~mem1 := read~int(~set.base, ~set.offset + 4 * ~i~0, 4); {13281#(<= 100000 ~SIZE~0)} is VALID [2018-11-23 12:11:15,612 INFO L273 TraceCheckUtils]: 45: Hoare triple {13281#(<= 100000 ~SIZE~0)} assume #t~mem1 == ~value;havoc #t~mem1;#res := 1; {13281#(<= 100000 ~SIZE~0)} is VALID [2018-11-23 12:11:15,612 INFO L273 TraceCheckUtils]: 46: Hoare triple {13281#(<= 100000 ~SIZE~0)} assume true; {13281#(<= 100000 ~SIZE~0)} is VALID [2018-11-23 12:11:15,614 INFO L268 TraceCheckUtils]: 47: Hoare quadruple {13281#(<= 100000 ~SIZE~0)} {13281#(<= 100000 ~SIZE~0)} #127#return; {13281#(<= 100000 ~SIZE~0)} is VALID [2018-11-23 12:11:15,615 INFO L273 TraceCheckUtils]: 48: Hoare triple {13281#(<= 100000 ~SIZE~0)} assume -2147483648 <= #t~ret4 && #t~ret4 <= 2147483647; {13281#(<= 100000 ~SIZE~0)} is VALID [2018-11-23 12:11:15,615 INFO L273 TraceCheckUtils]: 49: Hoare triple {13281#(<= 100000 ~SIZE~0)} assume !(1 != #t~ret4);havoc #t~ret4;havoc #t~mem3; {13281#(<= 100000 ~SIZE~0)} is VALID [2018-11-23 12:11:15,616 INFO L273 TraceCheckUtils]: 50: Hoare triple {13281#(<= 100000 ~SIZE~0)} #t~post2 := ~v~0;~v~0 := 1 + #t~post2;havoc #t~post2; {13281#(<= 100000 ~SIZE~0)} is VALID [2018-11-23 12:11:15,616 INFO L273 TraceCheckUtils]: 51: Hoare triple {13281#(<= 100000 ~SIZE~0)} assume !!(~v~0 < ~SIZE~0);call #t~mem3 := read~int(~#values~0.base, ~#values~0.offset + 4 * ~v~0, 4); {13281#(<= 100000 ~SIZE~0)} is VALID [2018-11-23 12:11:15,618 INFO L256 TraceCheckUtils]: 52: Hoare triple {13281#(<= 100000 ~SIZE~0)} call #t~ret4 := elem_exists(~#set~0.base, ~#set~0.offset, ~n~0, #t~mem3); {13281#(<= 100000 ~SIZE~0)} is VALID [2018-11-23 12:11:15,618 INFO L273 TraceCheckUtils]: 53: Hoare triple {13281#(<= 100000 ~SIZE~0)} ~set.base, ~set.offset := #in~set.base, #in~set.offset;~size := #in~size;~value := #in~value;havoc ~i~0;~i~0 := 0; {13281#(<= 100000 ~SIZE~0)} is VALID [2018-11-23 12:11:15,619 INFO L273 TraceCheckUtils]: 54: Hoare triple {13281#(<= 100000 ~SIZE~0)} assume !!(~i~0 < ~size);call #t~mem1 := read~int(~set.base, ~set.offset + 4 * ~i~0, 4); {13281#(<= 100000 ~SIZE~0)} is VALID [2018-11-23 12:11:15,619 INFO L273 TraceCheckUtils]: 55: Hoare triple {13281#(<= 100000 ~SIZE~0)} assume #t~mem1 == ~value;havoc #t~mem1;#res := 1; {13281#(<= 100000 ~SIZE~0)} is VALID [2018-11-23 12:11:15,620 INFO L273 TraceCheckUtils]: 56: Hoare triple {13281#(<= 100000 ~SIZE~0)} assume true; {13281#(<= 100000 ~SIZE~0)} is VALID [2018-11-23 12:11:15,622 INFO L268 TraceCheckUtils]: 57: Hoare quadruple {13281#(<= 100000 ~SIZE~0)} {13281#(<= 100000 ~SIZE~0)} #127#return; {13281#(<= 100000 ~SIZE~0)} is VALID [2018-11-23 12:11:15,622 INFO L273 TraceCheckUtils]: 58: Hoare triple {13281#(<= 100000 ~SIZE~0)} assume -2147483648 <= #t~ret4 && #t~ret4 <= 2147483647; {13281#(<= 100000 ~SIZE~0)} is VALID [2018-11-23 12:11:15,623 INFO L273 TraceCheckUtils]: 59: Hoare triple {13281#(<= 100000 ~SIZE~0)} assume !(1 != #t~ret4);havoc #t~ret4;havoc #t~mem3; {13281#(<= 100000 ~SIZE~0)} is VALID [2018-11-23 12:11:15,623 INFO L273 TraceCheckUtils]: 60: Hoare triple {13281#(<= 100000 ~SIZE~0)} #t~post2 := ~v~0;~v~0 := 1 + #t~post2;havoc #t~post2; {13281#(<= 100000 ~SIZE~0)} is VALID [2018-11-23 12:11:15,624 INFO L273 TraceCheckUtils]: 61: Hoare triple {13281#(<= 100000 ~SIZE~0)} assume !!(~v~0 < ~SIZE~0);call #t~mem3 := read~int(~#values~0.base, ~#values~0.offset + 4 * ~v~0, 4); {13281#(<= 100000 ~SIZE~0)} is VALID [2018-11-23 12:11:15,625 INFO L256 TraceCheckUtils]: 62: Hoare triple {13281#(<= 100000 ~SIZE~0)} call #t~ret4 := elem_exists(~#set~0.base, ~#set~0.offset, ~n~0, #t~mem3); {13281#(<= 100000 ~SIZE~0)} is VALID [2018-11-23 12:11:15,626 INFO L273 TraceCheckUtils]: 63: Hoare triple {13281#(<= 100000 ~SIZE~0)} ~set.base, ~set.offset := #in~set.base, #in~set.offset;~size := #in~size;~value := #in~value;havoc ~i~0;~i~0 := 0; {13281#(<= 100000 ~SIZE~0)} is VALID [2018-11-23 12:11:15,626 INFO L273 TraceCheckUtils]: 64: Hoare triple {13281#(<= 100000 ~SIZE~0)} assume !!(~i~0 < ~size);call #t~mem1 := read~int(~set.base, ~set.offset + 4 * ~i~0, 4); {13281#(<= 100000 ~SIZE~0)} is VALID [2018-11-23 12:11:15,627 INFO L273 TraceCheckUtils]: 65: Hoare triple {13281#(<= 100000 ~SIZE~0)} assume #t~mem1 == ~value;havoc #t~mem1;#res := 1; {13281#(<= 100000 ~SIZE~0)} is VALID [2018-11-23 12:11:15,627 INFO L273 TraceCheckUtils]: 66: Hoare triple {13281#(<= 100000 ~SIZE~0)} assume true; {13281#(<= 100000 ~SIZE~0)} is VALID [2018-11-23 12:11:15,629 INFO L268 TraceCheckUtils]: 67: Hoare quadruple {13281#(<= 100000 ~SIZE~0)} {13281#(<= 100000 ~SIZE~0)} #127#return; {13281#(<= 100000 ~SIZE~0)} is VALID [2018-11-23 12:11:15,630 INFO L273 TraceCheckUtils]: 68: Hoare triple {13281#(<= 100000 ~SIZE~0)} assume -2147483648 <= #t~ret4 && #t~ret4 <= 2147483647; {13281#(<= 100000 ~SIZE~0)} is VALID [2018-11-23 12:11:15,630 INFO L273 TraceCheckUtils]: 69: Hoare triple {13281#(<= 100000 ~SIZE~0)} assume !(1 != #t~ret4);havoc #t~ret4;havoc #t~mem3; {13281#(<= 100000 ~SIZE~0)} is VALID [2018-11-23 12:11:15,631 INFO L273 TraceCheckUtils]: 70: Hoare triple {13281#(<= 100000 ~SIZE~0)} #t~post2 := ~v~0;~v~0 := 1 + #t~post2;havoc #t~post2; {13281#(<= 100000 ~SIZE~0)} is VALID [2018-11-23 12:11:15,631 INFO L273 TraceCheckUtils]: 71: Hoare triple {13281#(<= 100000 ~SIZE~0)} assume !!(~v~0 < ~SIZE~0);call #t~mem3 := read~int(~#values~0.base, ~#values~0.offset + 4 * ~v~0, 4); {13281#(<= 100000 ~SIZE~0)} is VALID [2018-11-23 12:11:15,633 INFO L256 TraceCheckUtils]: 72: Hoare triple {13281#(<= 100000 ~SIZE~0)} call #t~ret4 := elem_exists(~#set~0.base, ~#set~0.offset, ~n~0, #t~mem3); {13281#(<= 100000 ~SIZE~0)} is VALID [2018-11-23 12:11:15,633 INFO L273 TraceCheckUtils]: 73: Hoare triple {13281#(<= 100000 ~SIZE~0)} ~set.base, ~set.offset := #in~set.base, #in~set.offset;~size := #in~size;~value := #in~value;havoc ~i~0;~i~0 := 0; {13281#(<= 100000 ~SIZE~0)} is VALID [2018-11-23 12:11:15,634 INFO L273 TraceCheckUtils]: 74: Hoare triple {13281#(<= 100000 ~SIZE~0)} assume !!(~i~0 < ~size);call #t~mem1 := read~int(~set.base, ~set.offset + 4 * ~i~0, 4); {13281#(<= 100000 ~SIZE~0)} is VALID [2018-11-23 12:11:15,634 INFO L273 TraceCheckUtils]: 75: Hoare triple {13281#(<= 100000 ~SIZE~0)} assume #t~mem1 == ~value;havoc #t~mem1;#res := 1; {13281#(<= 100000 ~SIZE~0)} is VALID [2018-11-23 12:11:15,635 INFO L273 TraceCheckUtils]: 76: Hoare triple {13281#(<= 100000 ~SIZE~0)} assume true; {13281#(<= 100000 ~SIZE~0)} is VALID [2018-11-23 12:11:15,637 INFO L268 TraceCheckUtils]: 77: Hoare quadruple {13281#(<= 100000 ~SIZE~0)} {13281#(<= 100000 ~SIZE~0)} #127#return; {13281#(<= 100000 ~SIZE~0)} is VALID [2018-11-23 12:11:15,637 INFO L273 TraceCheckUtils]: 78: Hoare triple {13281#(<= 100000 ~SIZE~0)} assume -2147483648 <= #t~ret4 && #t~ret4 <= 2147483647; {13281#(<= 100000 ~SIZE~0)} is VALID [2018-11-23 12:11:15,638 INFO L273 TraceCheckUtils]: 79: Hoare triple {13281#(<= 100000 ~SIZE~0)} assume !(1 != #t~ret4);havoc #t~ret4;havoc #t~mem3; {13281#(<= 100000 ~SIZE~0)} is VALID [2018-11-23 12:11:15,638 INFO L273 TraceCheckUtils]: 80: Hoare triple {13281#(<= 100000 ~SIZE~0)} #t~post2 := ~v~0;~v~0 := 1 + #t~post2;havoc #t~post2; {13281#(<= 100000 ~SIZE~0)} is VALID [2018-11-23 12:11:15,639 INFO L273 TraceCheckUtils]: 81: Hoare triple {13281#(<= 100000 ~SIZE~0)} assume !!(~v~0 < ~SIZE~0);call #t~mem3 := read~int(~#values~0.base, ~#values~0.offset + 4 * ~v~0, 4); {13281#(<= 100000 ~SIZE~0)} is VALID [2018-11-23 12:11:15,640 INFO L256 TraceCheckUtils]: 82: Hoare triple {13281#(<= 100000 ~SIZE~0)} call #t~ret4 := elem_exists(~#set~0.base, ~#set~0.offset, ~n~0, #t~mem3); {13281#(<= 100000 ~SIZE~0)} is VALID [2018-11-23 12:11:15,641 INFO L273 TraceCheckUtils]: 83: Hoare triple {13281#(<= 100000 ~SIZE~0)} ~set.base, ~set.offset := #in~set.base, #in~set.offset;~size := #in~size;~value := #in~value;havoc ~i~0;~i~0 := 0; {13281#(<= 100000 ~SIZE~0)} is VALID [2018-11-23 12:11:15,641 INFO L273 TraceCheckUtils]: 84: Hoare triple {13281#(<= 100000 ~SIZE~0)} assume !!(~i~0 < ~size);call #t~mem1 := read~int(~set.base, ~set.offset + 4 * ~i~0, 4); {13281#(<= 100000 ~SIZE~0)} is VALID [2018-11-23 12:11:15,642 INFO L273 TraceCheckUtils]: 85: Hoare triple {13281#(<= 100000 ~SIZE~0)} assume #t~mem1 == ~value;havoc #t~mem1;#res := 1; {13281#(<= 100000 ~SIZE~0)} is VALID [2018-11-23 12:11:15,642 INFO L273 TraceCheckUtils]: 86: Hoare triple {13281#(<= 100000 ~SIZE~0)} assume true; {13281#(<= 100000 ~SIZE~0)} is VALID [2018-11-23 12:11:15,644 INFO L268 TraceCheckUtils]: 87: Hoare quadruple {13281#(<= 100000 ~SIZE~0)} {13281#(<= 100000 ~SIZE~0)} #127#return; {13281#(<= 100000 ~SIZE~0)} is VALID [2018-11-23 12:11:15,645 INFO L273 TraceCheckUtils]: 88: Hoare triple {13281#(<= 100000 ~SIZE~0)} assume -2147483648 <= #t~ret4 && #t~ret4 <= 2147483647; {13281#(<= 100000 ~SIZE~0)} is VALID [2018-11-23 12:11:15,645 INFO L273 TraceCheckUtils]: 89: Hoare triple {13281#(<= 100000 ~SIZE~0)} assume !(1 != #t~ret4);havoc #t~ret4;havoc #t~mem3; {13281#(<= 100000 ~SIZE~0)} is VALID [2018-11-23 12:11:15,646 INFO L273 TraceCheckUtils]: 90: Hoare triple {13281#(<= 100000 ~SIZE~0)} #t~post2 := ~v~0;~v~0 := 1 + #t~post2;havoc #t~post2; {13281#(<= 100000 ~SIZE~0)} is VALID [2018-11-23 12:11:15,646 INFO L273 TraceCheckUtils]: 91: Hoare triple {13281#(<= 100000 ~SIZE~0)} assume !!(~v~0 < ~SIZE~0);call #t~mem3 := read~int(~#values~0.base, ~#values~0.offset + 4 * ~v~0, 4); {13281#(<= 100000 ~SIZE~0)} is VALID [2018-11-23 12:11:15,648 INFO L256 TraceCheckUtils]: 92: Hoare triple {13281#(<= 100000 ~SIZE~0)} call #t~ret4 := elem_exists(~#set~0.base, ~#set~0.offset, ~n~0, #t~mem3); {13281#(<= 100000 ~SIZE~0)} is VALID [2018-11-23 12:11:15,648 INFO L273 TraceCheckUtils]: 93: Hoare triple {13281#(<= 100000 ~SIZE~0)} ~set.base, ~set.offset := #in~set.base, #in~set.offset;~size := #in~size;~value := #in~value;havoc ~i~0;~i~0 := 0; {13281#(<= 100000 ~SIZE~0)} is VALID [2018-11-23 12:11:15,649 INFO L273 TraceCheckUtils]: 94: Hoare triple {13281#(<= 100000 ~SIZE~0)} assume !!(~i~0 < ~size);call #t~mem1 := read~int(~set.base, ~set.offset + 4 * ~i~0, 4); {13281#(<= 100000 ~SIZE~0)} is VALID [2018-11-23 12:11:15,649 INFO L273 TraceCheckUtils]: 95: Hoare triple {13281#(<= 100000 ~SIZE~0)} assume #t~mem1 == ~value;havoc #t~mem1;#res := 1; {13281#(<= 100000 ~SIZE~0)} is VALID [2018-11-23 12:11:15,650 INFO L273 TraceCheckUtils]: 96: Hoare triple {13281#(<= 100000 ~SIZE~0)} assume true; {13281#(<= 100000 ~SIZE~0)} is VALID [2018-11-23 12:11:15,652 INFO L268 TraceCheckUtils]: 97: Hoare quadruple {13281#(<= 100000 ~SIZE~0)} {13281#(<= 100000 ~SIZE~0)} #127#return; {13281#(<= 100000 ~SIZE~0)} is VALID [2018-11-23 12:11:15,652 INFO L273 TraceCheckUtils]: 98: Hoare triple {13281#(<= 100000 ~SIZE~0)} assume -2147483648 <= #t~ret4 && #t~ret4 <= 2147483647; {13281#(<= 100000 ~SIZE~0)} is VALID [2018-11-23 12:11:15,653 INFO L273 TraceCheckUtils]: 99: Hoare triple {13281#(<= 100000 ~SIZE~0)} assume !(1 != #t~ret4);havoc #t~ret4;havoc #t~mem3; {13281#(<= 100000 ~SIZE~0)} is VALID [2018-11-23 12:11:15,653 INFO L273 TraceCheckUtils]: 100: Hoare triple {13281#(<= 100000 ~SIZE~0)} #t~post2 := ~v~0;~v~0 := 1 + #t~post2;havoc #t~post2; {13281#(<= 100000 ~SIZE~0)} is VALID [2018-11-23 12:11:15,654 INFO L273 TraceCheckUtils]: 101: Hoare triple {13281#(<= 100000 ~SIZE~0)} assume !!(~v~0 < ~SIZE~0);call #t~mem3 := read~int(~#values~0.base, ~#values~0.offset + 4 * ~v~0, 4); {13281#(<= 100000 ~SIZE~0)} is VALID [2018-11-23 12:11:15,655 INFO L256 TraceCheckUtils]: 102: Hoare triple {13281#(<= 100000 ~SIZE~0)} call #t~ret4 := elem_exists(~#set~0.base, ~#set~0.offset, ~n~0, #t~mem3); {13281#(<= 100000 ~SIZE~0)} is VALID [2018-11-23 12:11:15,656 INFO L273 TraceCheckUtils]: 103: Hoare triple {13281#(<= 100000 ~SIZE~0)} ~set.base, ~set.offset := #in~set.base, #in~set.offset;~size := #in~size;~value := #in~value;havoc ~i~0;~i~0 := 0; {13281#(<= 100000 ~SIZE~0)} is VALID [2018-11-23 12:11:15,656 INFO L273 TraceCheckUtils]: 104: Hoare triple {13281#(<= 100000 ~SIZE~0)} assume !!(~i~0 < ~size);call #t~mem1 := read~int(~set.base, ~set.offset + 4 * ~i~0, 4); {13281#(<= 100000 ~SIZE~0)} is VALID [2018-11-23 12:11:15,657 INFO L273 TraceCheckUtils]: 105: Hoare triple {13281#(<= 100000 ~SIZE~0)} assume #t~mem1 == ~value;havoc #t~mem1;#res := 1; {13281#(<= 100000 ~SIZE~0)} is VALID [2018-11-23 12:11:15,657 INFO L273 TraceCheckUtils]: 106: Hoare triple {13281#(<= 100000 ~SIZE~0)} assume true; {13281#(<= 100000 ~SIZE~0)} is VALID [2018-11-23 12:11:15,659 INFO L268 TraceCheckUtils]: 107: Hoare quadruple {13281#(<= 100000 ~SIZE~0)} {13281#(<= 100000 ~SIZE~0)} #127#return; {13281#(<= 100000 ~SIZE~0)} is VALID [2018-11-23 12:11:15,660 INFO L273 TraceCheckUtils]: 108: Hoare triple {13281#(<= 100000 ~SIZE~0)} assume -2147483648 <= #t~ret4 && #t~ret4 <= 2147483647; {13281#(<= 100000 ~SIZE~0)} is VALID [2018-11-23 12:11:15,660 INFO L273 TraceCheckUtils]: 109: Hoare triple {13281#(<= 100000 ~SIZE~0)} assume !(1 != #t~ret4);havoc #t~ret4;havoc #t~mem3; {13281#(<= 100000 ~SIZE~0)} is VALID [2018-11-23 12:11:15,661 INFO L273 TraceCheckUtils]: 110: Hoare triple {13281#(<= 100000 ~SIZE~0)} #t~post2 := ~v~0;~v~0 := 1 + #t~post2;havoc #t~post2; {13281#(<= 100000 ~SIZE~0)} is VALID [2018-11-23 12:11:15,661 INFO L273 TraceCheckUtils]: 111: Hoare triple {13281#(<= 100000 ~SIZE~0)} assume !!(~v~0 < ~SIZE~0);call #t~mem3 := read~int(~#values~0.base, ~#values~0.offset + 4 * ~v~0, 4); {13281#(<= 100000 ~SIZE~0)} is VALID [2018-11-23 12:11:15,663 INFO L256 TraceCheckUtils]: 112: Hoare triple {13281#(<= 100000 ~SIZE~0)} call #t~ret4 := elem_exists(~#set~0.base, ~#set~0.offset, ~n~0, #t~mem3); {13281#(<= 100000 ~SIZE~0)} is VALID [2018-11-23 12:11:15,663 INFO L273 TraceCheckUtils]: 113: Hoare triple {13281#(<= 100000 ~SIZE~0)} ~set.base, ~set.offset := #in~set.base, #in~set.offset;~size := #in~size;~value := #in~value;havoc ~i~0;~i~0 := 0; {13281#(<= 100000 ~SIZE~0)} is VALID [2018-11-23 12:11:15,664 INFO L273 TraceCheckUtils]: 114: Hoare triple {13281#(<= 100000 ~SIZE~0)} assume !!(~i~0 < ~size);call #t~mem1 := read~int(~set.base, ~set.offset + 4 * ~i~0, 4); {13281#(<= 100000 ~SIZE~0)} is VALID [2018-11-23 12:11:15,664 INFO L273 TraceCheckUtils]: 115: Hoare triple {13281#(<= 100000 ~SIZE~0)} assume #t~mem1 == ~value;havoc #t~mem1;#res := 1; {13281#(<= 100000 ~SIZE~0)} is VALID [2018-11-23 12:11:15,665 INFO L273 TraceCheckUtils]: 116: Hoare triple {13281#(<= 100000 ~SIZE~0)} assume true; {13281#(<= 100000 ~SIZE~0)} is VALID [2018-11-23 12:11:15,667 INFO L268 TraceCheckUtils]: 117: Hoare quadruple {13281#(<= 100000 ~SIZE~0)} {13281#(<= 100000 ~SIZE~0)} #127#return; {13281#(<= 100000 ~SIZE~0)} is VALID [2018-11-23 12:11:15,667 INFO L273 TraceCheckUtils]: 118: Hoare triple {13281#(<= 100000 ~SIZE~0)} assume -2147483648 <= #t~ret4 && #t~ret4 <= 2147483647; {13281#(<= 100000 ~SIZE~0)} is VALID [2018-11-23 12:11:15,668 INFO L273 TraceCheckUtils]: 119: Hoare triple {13281#(<= 100000 ~SIZE~0)} assume !(1 != #t~ret4);havoc #t~ret4;havoc #t~mem3; {13281#(<= 100000 ~SIZE~0)} is VALID [2018-11-23 12:11:15,668 INFO L273 TraceCheckUtils]: 120: Hoare triple {13281#(<= 100000 ~SIZE~0)} #t~post2 := ~v~0;~v~0 := 1 + #t~post2;havoc #t~post2; {13281#(<= 100000 ~SIZE~0)} is VALID [2018-11-23 12:11:15,669 INFO L273 TraceCheckUtils]: 121: Hoare triple {13281#(<= 100000 ~SIZE~0)} assume !!(~v~0 < ~SIZE~0);call #t~mem3 := read~int(~#values~0.base, ~#values~0.offset + 4 * ~v~0, 4); {13281#(<= 100000 ~SIZE~0)} is VALID [2018-11-23 12:11:15,670 INFO L256 TraceCheckUtils]: 122: Hoare triple {13281#(<= 100000 ~SIZE~0)} call #t~ret4 := elem_exists(~#set~0.base, ~#set~0.offset, ~n~0, #t~mem3); {13281#(<= 100000 ~SIZE~0)} is VALID [2018-11-23 12:11:15,671 INFO L273 TraceCheckUtils]: 123: Hoare triple {13281#(<= 100000 ~SIZE~0)} ~set.base, ~set.offset := #in~set.base, #in~set.offset;~size := #in~size;~value := #in~value;havoc ~i~0;~i~0 := 0; {13281#(<= 100000 ~SIZE~0)} is VALID [2018-11-23 12:11:15,671 INFO L273 TraceCheckUtils]: 124: Hoare triple {13281#(<= 100000 ~SIZE~0)} assume !!(~i~0 < ~size);call #t~mem1 := read~int(~set.base, ~set.offset + 4 * ~i~0, 4); {13281#(<= 100000 ~SIZE~0)} is VALID [2018-11-23 12:11:15,672 INFO L273 TraceCheckUtils]: 125: Hoare triple {13281#(<= 100000 ~SIZE~0)} assume #t~mem1 == ~value;havoc #t~mem1;#res := 1; {13281#(<= 100000 ~SIZE~0)} is VALID [2018-11-23 12:11:15,672 INFO L273 TraceCheckUtils]: 126: Hoare triple {13281#(<= 100000 ~SIZE~0)} assume true; {13281#(<= 100000 ~SIZE~0)} is VALID [2018-11-23 12:11:15,674 INFO L268 TraceCheckUtils]: 127: Hoare quadruple {13281#(<= 100000 ~SIZE~0)} {13281#(<= 100000 ~SIZE~0)} #127#return; {13281#(<= 100000 ~SIZE~0)} is VALID [2018-11-23 12:11:15,675 INFO L273 TraceCheckUtils]: 128: Hoare triple {13281#(<= 100000 ~SIZE~0)} assume -2147483648 <= #t~ret4 && #t~ret4 <= 2147483647; {13281#(<= 100000 ~SIZE~0)} is VALID [2018-11-23 12:11:15,676 INFO L273 TraceCheckUtils]: 129: Hoare triple {13281#(<= 100000 ~SIZE~0)} assume !(1 != #t~ret4);havoc #t~ret4;havoc #t~mem3; {13281#(<= 100000 ~SIZE~0)} is VALID [2018-11-23 12:11:15,676 INFO L273 TraceCheckUtils]: 130: Hoare triple {13281#(<= 100000 ~SIZE~0)} #t~post2 := ~v~0;~v~0 := 1 + #t~post2;havoc #t~post2; {13281#(<= 100000 ~SIZE~0)} is VALID [2018-11-23 12:11:15,677 INFO L273 TraceCheckUtils]: 131: Hoare triple {13281#(<= 100000 ~SIZE~0)} assume !(~v~0 < ~SIZE~0); {13281#(<= 100000 ~SIZE~0)} is VALID [2018-11-23 12:11:15,677 INFO L273 TraceCheckUtils]: 132: Hoare triple {13281#(<= 100000 ~SIZE~0)} ~i~1 := 0; {13687#(and (<= main_~i~1 0) (<= 100000 ~SIZE~0))} is VALID [2018-11-23 12:11:15,678 INFO L273 TraceCheckUtils]: 133: Hoare triple {13687#(and (<= main_~i~1 0) (<= 100000 ~SIZE~0))} assume !!(~i~1 < ~SIZE~0 && 1 != ~found~0);call #t~mem8 := read~int(~#set~0.base, ~#set~0.offset + 4 * ~i~1, 4); {13687#(and (<= main_~i~1 0) (<= 100000 ~SIZE~0))} is VALID [2018-11-23 12:11:15,679 INFO L273 TraceCheckUtils]: 134: Hoare triple {13687#(and (<= main_~i~1 0) (<= 100000 ~SIZE~0))} assume #t~mem8 == ~element~0;havoc #t~mem8;~found~0 := 1;~pos~0 := ~i~1; {13694#(and (<= main_~pos~0 0) (<= 100000 ~SIZE~0))} is VALID [2018-11-23 12:11:15,679 INFO L273 TraceCheckUtils]: 135: Hoare triple {13694#(and (<= main_~pos~0 0) (<= 100000 ~SIZE~0))} #t~post7 := ~i~1;~i~1 := 1 + #t~post7;havoc #t~post7; {13694#(and (<= main_~pos~0 0) (<= 100000 ~SIZE~0))} is VALID [2018-11-23 12:11:15,680 INFO L273 TraceCheckUtils]: 136: Hoare triple {13694#(and (<= main_~pos~0 0) (<= 100000 ~SIZE~0))} assume !(~i~1 < ~SIZE~0 && 1 != ~found~0); {13694#(and (<= main_~pos~0 0) (<= 100000 ~SIZE~0))} is VALID [2018-11-23 12:11:15,681 INFO L273 TraceCheckUtils]: 137: Hoare triple {13694#(and (<= main_~pos~0 0) (<= 100000 ~SIZE~0))} assume 1 == ~found~0;~i~1 := ~pos~0; {13687#(and (<= main_~i~1 0) (<= 100000 ~SIZE~0))} is VALID [2018-11-23 12:11:15,682 INFO L273 TraceCheckUtils]: 138: Hoare triple {13687#(and (<= main_~i~1 0) (<= 100000 ~SIZE~0))} assume !!(~i~1 < ~SIZE~0 - 1);call #t~mem10 := read~int(~#set~0.base, ~#set~0.offset + 4 * (1 + ~i~1), 4);call write~int(#t~mem10, ~#set~0.base, ~#set~0.offset + 4 * ~i~1, 4);havoc #t~mem10; {13687#(and (<= main_~i~1 0) (<= 100000 ~SIZE~0))} is VALID [2018-11-23 12:11:15,683 INFO L273 TraceCheckUtils]: 139: Hoare triple {13687#(and (<= main_~i~1 0) (<= 100000 ~SIZE~0))} #t~post9 := ~i~1;~i~1 := 1 + #t~post9;havoc #t~post9; {13710#(and (<= main_~i~1 1) (<= 100000 ~SIZE~0))} is VALID [2018-11-23 12:11:15,683 INFO L273 TraceCheckUtils]: 140: Hoare triple {13710#(and (<= main_~i~1 1) (<= 100000 ~SIZE~0))} assume !!(~i~1 < ~SIZE~0 - 1);call #t~mem10 := read~int(~#set~0.base, ~#set~0.offset + 4 * (1 + ~i~1), 4);call write~int(#t~mem10, ~#set~0.base, ~#set~0.offset + 4 * ~i~1, 4);havoc #t~mem10; {13710#(and (<= main_~i~1 1) (<= 100000 ~SIZE~0))} is VALID [2018-11-23 12:11:15,684 INFO L273 TraceCheckUtils]: 141: Hoare triple {13710#(and (<= main_~i~1 1) (<= 100000 ~SIZE~0))} #t~post9 := ~i~1;~i~1 := 1 + #t~post9;havoc #t~post9; {13717#(and (<= main_~i~1 2) (<= 100000 ~SIZE~0))} is VALID [2018-11-23 12:11:15,685 INFO L273 TraceCheckUtils]: 142: Hoare triple {13717#(and (<= main_~i~1 2) (<= 100000 ~SIZE~0))} assume !!(~i~1 < ~SIZE~0 - 1);call #t~mem10 := read~int(~#set~0.base, ~#set~0.offset + 4 * (1 + ~i~1), 4);call write~int(#t~mem10, ~#set~0.base, ~#set~0.offset + 4 * ~i~1, 4);havoc #t~mem10; {13717#(and (<= main_~i~1 2) (<= 100000 ~SIZE~0))} is VALID [2018-11-23 12:11:15,686 INFO L273 TraceCheckUtils]: 143: Hoare triple {13717#(and (<= main_~i~1 2) (<= 100000 ~SIZE~0))} #t~post9 := ~i~1;~i~1 := 1 + #t~post9;havoc #t~post9; {13724#(and (<= main_~i~1 3) (<= 100000 ~SIZE~0))} is VALID [2018-11-23 12:11:15,687 INFO L273 TraceCheckUtils]: 144: Hoare triple {13724#(and (<= main_~i~1 3) (<= 100000 ~SIZE~0))} assume !!(~i~1 < ~SIZE~0 - 1);call #t~mem10 := read~int(~#set~0.base, ~#set~0.offset + 4 * (1 + ~i~1), 4);call write~int(#t~mem10, ~#set~0.base, ~#set~0.offset + 4 * ~i~1, 4);havoc #t~mem10; {13724#(and (<= main_~i~1 3) (<= 100000 ~SIZE~0))} is VALID [2018-11-23 12:11:15,688 INFO L273 TraceCheckUtils]: 145: Hoare triple {13724#(and (<= main_~i~1 3) (<= 100000 ~SIZE~0))} #t~post9 := ~i~1;~i~1 := 1 + #t~post9;havoc #t~post9; {13731#(and (<= main_~i~1 4) (<= 100000 ~SIZE~0))} is VALID [2018-11-23 12:11:15,688 INFO L273 TraceCheckUtils]: 146: Hoare triple {13731#(and (<= main_~i~1 4) (<= 100000 ~SIZE~0))} assume !(~i~1 < ~SIZE~0 - 1); {13280#false} is VALID [2018-11-23 12:11:15,689 INFO L273 TraceCheckUtils]: 147: Hoare triple {13280#false} assume 1 == ~found~0;~i~1 := 0; {13280#false} is VALID [2018-11-23 12:11:15,689 INFO L273 TraceCheckUtils]: 148: Hoare triple {13280#false} assume !!(~i~1 < ~SIZE~0 - 1);call #t~mem12 := read~int(~#set~0.base, ~#set~0.offset + 4 * ~i~1, 4); {13280#false} is VALID [2018-11-23 12:11:15,689 INFO L256 TraceCheckUtils]: 149: Hoare triple {13280#false} call __VERIFIER_assert((if #t~mem12 != ~element~0 then 1 else 0)); {13280#false} is VALID [2018-11-23 12:11:15,689 INFO L273 TraceCheckUtils]: 150: Hoare triple {13280#false} ~cond := #in~cond; {13280#false} is VALID [2018-11-23 12:11:15,689 INFO L273 TraceCheckUtils]: 151: Hoare triple {13280#false} assume 0 == ~cond; {13280#false} is VALID [2018-11-23 12:11:15,690 INFO L273 TraceCheckUtils]: 152: Hoare triple {13280#false} assume !false; {13280#false} is VALID [2018-11-23 12:11:15,706 INFO L134 CoverageAnalysis]: Checked inductivity of 678 backedges. 0 proven. 17 refuted. 0 times theorem prover too weak. 661 trivial. 0 not checked. [2018-11-23 12:11:15,725 INFO L312 seRefinementStrategy]: Constructing automaton from 0 perfect and 2 imperfect interpolant sequences. [2018-11-23 12:11:15,725 INFO L327 seRefinementStrategy]: Number of different interpolants: perfect sequences [] imperfect sequences [9, 9] total 15 [2018-11-23 12:11:15,726 INFO L78 Accepts]: Start accepts. Automaton has 15 states. Word has length 153 [2018-11-23 12:11:16,130 INFO L84 Accepts]: Finished accepts. word is accepted. [2018-11-23 12:11:16,130 INFO L86 InductivityCheck]: Starting indutivity check of a Floyd-Hoare automaton with 15 states. [2018-11-23 12:11:16,239 INFO L119 InductivityCheck]: Floyd-Hoare automaton has 73 edges. 73 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2018-11-23 12:11:16,239 INFO L459 AbstractCegarLoop]: Interpolant automaton has 15 states [2018-11-23 12:11:16,240 INFO L142 InterpolantAutomaton]: Constructing interpolant automaton starting with 15 interpolants. [2018-11-23 12:11:16,240 INFO L144 InterpolantAutomaton]: CoverageRelationStatistics Valid=75, Invalid=135, Unknown=0, NotChecked=0, Total=210 [2018-11-23 12:11:16,240 INFO L87 Difference]: Start difference. First operand 173 states and 235 transitions. Second operand 15 states. [2018-11-23 12:11:17,869 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2018-11-23 12:11:17,869 INFO L93 Difference]: Finished difference Result 250 states and 327 transitions. [2018-11-23 12:11:17,869 INFO L142 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 14 states. [2018-11-23 12:11:17,869 INFO L78 Accepts]: Start accepts. Automaton has 15 states. Word has length 153 [2018-11-23 12:11:17,870 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2018-11-23 12:11:17,870 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 15 states. [2018-11-23 12:11:17,872 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 14 states to 14 states and 158 transitions. [2018-11-23 12:11:17,872 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 15 states. [2018-11-23 12:11:17,873 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 14 states to 14 states and 158 transitions. [2018-11-23 12:11:17,874 INFO L86 InductivityCheck]: Starting indutivity check of a Floyd-Hoare automaton with 14 states and 158 transitions. [2018-11-23 12:11:18,031 INFO L119 InductivityCheck]: Floyd-Hoare automaton has 158 edges. 158 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2018-11-23 12:11:18,038 INFO L225 Difference]: With dead ends: 250 [2018-11-23 12:11:18,038 INFO L226 Difference]: Without dead ends: 239 [2018-11-23 12:11:18,039 INFO L631 BasicCegarLoop]: 0 DeclaredPredicates, 167 GetRequests, 148 SyntacticMatches, 1 SemanticMatches, 18 ConstructedPredicates, 0 IntricatePredicates, 0 DeprecatedPredicates, 70 ImplicationChecksByTransitivity, 0.4s TimeCoverageRelationStatistics Valid=140, Invalid=240, Unknown=0, NotChecked=0, Total=380 [2018-11-23 12:11:18,039 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 239 states. [2018-11-23 12:11:18,363 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 239 to 175. [2018-11-23 12:11:18,363 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2018-11-23 12:11:18,363 INFO L82 GeneralOperation]: Start isEquivalent. First operand 239 states. Second operand 175 states. [2018-11-23 12:11:18,364 INFO L74 IsIncluded]: Start isIncluded. First operand 239 states. Second operand 175 states. [2018-11-23 12:11:18,364 INFO L87 Difference]: Start difference. First operand 239 states. Second operand 175 states. [2018-11-23 12:11:18,372 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2018-11-23 12:11:18,372 INFO L93 Difference]: Finished difference Result 239 states and 315 transitions. [2018-11-23 12:11:18,372 INFO L276 IsEmpty]: Start isEmpty. Operand 239 states and 315 transitions. [2018-11-23 12:11:18,373 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2018-11-23 12:11:18,373 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2018-11-23 12:11:18,373 INFO L74 IsIncluded]: Start isIncluded. First operand 175 states. Second operand 239 states. [2018-11-23 12:11:18,374 INFO L87 Difference]: Start difference. First operand 175 states. Second operand 239 states. [2018-11-23 12:11:18,380 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2018-11-23 12:11:18,380 INFO L93 Difference]: Finished difference Result 239 states and 315 transitions. [2018-11-23 12:11:18,381 INFO L276 IsEmpty]: Start isEmpty. Operand 239 states and 315 transitions. [2018-11-23 12:11:18,382 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2018-11-23 12:11:18,382 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2018-11-23 12:11:18,382 INFO L88 GeneralOperation]: Finished isEquivalent. [2018-11-23 12:11:18,382 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2018-11-23 12:11:18,382 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 175 states. [2018-11-23 12:11:18,387 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 175 states to 175 states and 237 transitions. [2018-11-23 12:11:18,387 INFO L78 Accepts]: Start accepts. Automaton has 175 states and 237 transitions. Word has length 153 [2018-11-23 12:11:18,387 INFO L84 Accepts]: Finished accepts. word is rejected. [2018-11-23 12:11:18,388 INFO L480 AbstractCegarLoop]: Abstraction has 175 states and 237 transitions. [2018-11-23 12:11:18,388 INFO L481 AbstractCegarLoop]: Interpolant automaton has 15 states. [2018-11-23 12:11:18,388 INFO L276 IsEmpty]: Start isEmpty. Operand 175 states and 237 transitions. [2018-11-23 12:11:18,390 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 154 [2018-11-23 12:11:18,390 INFO L394 BasicCegarLoop]: Found error trace [2018-11-23 12:11:18,390 INFO L402 BasicCegarLoop]: trace histogram [12, 12, 12, 12, 12, 12, 12, 11, 11, 11, 3, 3, 2, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1] [2018-11-23 12:11:18,390 INFO L423 AbstractCegarLoop]: === Iteration 19 === [__VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION]=== [2018-11-23 12:11:18,390 INFO L141 PredicateUnifier]: Initialized classic predicate unifier [2018-11-23 12:11:18,391 INFO L82 PathProgramCache]: Analyzing trace with hash -795708805, now seen corresponding path program 5 times [2018-11-23 12:11:18,391 INFO L223 ckRefinementStrategy]: Switched to mode SMTINTERPOL_TREE_INTERPOLANTS [2018-11-23 12:11:18,391 INFO L69 tionRefinementEngine]: Using refinement strategy CamelRefinementStrategy [2018-11-23 12:11:18,391 INFO L119 rtionOrderModulation]: Craig_TreeInterpolation forces the order to NOT_INCREMENTALLY [2018-11-23 12:11:18,392 INFO L101 rtionOrderModulation]: Changing assertion order to NOT_INCREMENTALLY [2018-11-23 12:11:18,392 INFO L119 rtionOrderModulation]: Craig_TreeInterpolation forces the order to NOT_INCREMENTALLY [2018-11-23 12:11:18,415 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2018-11-23 12:11:18,702 INFO L256 TraceCheckUtils]: 0: Hoare triple {14821#true} call ULTIMATE.init(); {14821#true} is VALID [2018-11-23 12:11:18,703 INFO L273 TraceCheckUtils]: 1: Hoare triple {14821#true} #NULL.base, #NULL.offset := 0, 0;#valid := #valid[0 := 0];~SIZE~0 := 100000; {14823#(<= 100000 ~SIZE~0)} is VALID [2018-11-23 12:11:18,704 INFO L273 TraceCheckUtils]: 2: Hoare triple {14823#(<= 100000 ~SIZE~0)} assume true; {14823#(<= 100000 ~SIZE~0)} is VALID [2018-11-23 12:11:18,704 INFO L268 TraceCheckUtils]: 3: Hoare quadruple {14823#(<= 100000 ~SIZE~0)} {14821#true} #123#return; {14823#(<= 100000 ~SIZE~0)} is VALID [2018-11-23 12:11:18,705 INFO L256 TraceCheckUtils]: 4: Hoare triple {14823#(<= 100000 ~SIZE~0)} call #t~ret13 := main(); {14823#(<= 100000 ~SIZE~0)} is VALID [2018-11-23 12:11:18,706 INFO L273 TraceCheckUtils]: 5: Hoare triple {14823#(<= 100000 ~SIZE~0)} havoc ~i~1;havoc ~pos~0;~n~0 := 0;~found~0 := 0;call ~#set~0.base, ~#set~0.offset := #Ultimate.alloc(4 * ~SIZE~0);call ~#values~0.base, ~#values~0.offset := #Ultimate.alloc(4 * ~SIZE~0);havoc ~element~0;havoc ~v~0;~v~0 := 0; {14824#(and (= main_~v~0 0) (<= 100000 ~SIZE~0))} is VALID [2018-11-23 12:11:18,707 INFO L273 TraceCheckUtils]: 6: Hoare triple {14824#(and (= main_~v~0 0) (<= 100000 ~SIZE~0))} assume !!(~v~0 < ~SIZE~0);call #t~mem3 := read~int(~#values~0.base, ~#values~0.offset + 4 * ~v~0, 4); {14824#(and (= main_~v~0 0) (<= 100000 ~SIZE~0))} is VALID [2018-11-23 12:11:18,707 INFO L256 TraceCheckUtils]: 7: Hoare triple {14824#(and (= main_~v~0 0) (<= 100000 ~SIZE~0))} call #t~ret4 := elem_exists(~#set~0.base, ~#set~0.offset, ~n~0, #t~mem3); {14821#true} is VALID [2018-11-23 12:11:18,707 INFO L273 TraceCheckUtils]: 8: Hoare triple {14821#true} ~set.base, ~set.offset := #in~set.base, #in~set.offset;~size := #in~size;~value := #in~value;havoc ~i~0;~i~0 := 0; {14821#true} is VALID [2018-11-23 12:11:18,707 INFO L273 TraceCheckUtils]: 9: Hoare triple {14821#true} assume !(~i~0 < ~size); {14821#true} is VALID [2018-11-23 12:11:18,708 INFO L273 TraceCheckUtils]: 10: Hoare triple {14821#true} #res := 0; {14821#true} is VALID [2018-11-23 12:11:18,708 INFO L273 TraceCheckUtils]: 11: Hoare triple {14821#true} assume true; {14821#true} is VALID [2018-11-23 12:11:18,709 INFO L268 TraceCheckUtils]: 12: Hoare quadruple {14821#true} {14824#(and (= main_~v~0 0) (<= 100000 ~SIZE~0))} #127#return; {14824#(and (= main_~v~0 0) (<= 100000 ~SIZE~0))} is VALID [2018-11-23 12:11:18,710 INFO L273 TraceCheckUtils]: 13: Hoare triple {14824#(and (= main_~v~0 0) (<= 100000 ~SIZE~0))} assume -2147483648 <= #t~ret4 && #t~ret4 <= 2147483647; {14824#(and (= main_~v~0 0) (<= 100000 ~SIZE~0))} is VALID [2018-11-23 12:11:18,711 INFO L273 TraceCheckUtils]: 14: Hoare triple {14824#(and (= main_~v~0 0) (<= 100000 ~SIZE~0))} assume 1 != #t~ret4;havoc #t~ret4;havoc #t~mem3;call #t~mem5 := read~int(~#values~0.base, ~#values~0.offset + 4 * ~v~0, 4); {14824#(and (= main_~v~0 0) (<= 100000 ~SIZE~0))} is VALID [2018-11-23 12:11:18,711 INFO L256 TraceCheckUtils]: 15: Hoare triple {14824#(and (= main_~v~0 0) (<= 100000 ~SIZE~0))} call #t~ret6 := insert(~#set~0.base, ~#set~0.offset, ~n~0, #t~mem5); {14821#true} is VALID [2018-11-23 12:11:18,711 INFO L273 TraceCheckUtils]: 16: Hoare triple {14821#true} ~set.base, ~set.offset := #in~set.base, #in~set.offset;~size := #in~size;~value := #in~value;call write~int(~value, ~set.base, ~set.offset + 4 * ~size, 4);#res := 1 + ~size; {14821#true} is VALID [2018-11-23 12:11:18,711 INFO L273 TraceCheckUtils]: 17: Hoare triple {14821#true} assume true; {14821#true} is VALID [2018-11-23 12:11:18,712 INFO L268 TraceCheckUtils]: 18: Hoare quadruple {14821#true} {14824#(and (= main_~v~0 0) (<= 100000 ~SIZE~0))} #129#return; {14824#(and (= main_~v~0 0) (<= 100000 ~SIZE~0))} is VALID [2018-11-23 12:11:18,713 INFO L273 TraceCheckUtils]: 19: Hoare triple {14824#(and (= main_~v~0 0) (<= 100000 ~SIZE~0))} assume -2147483648 <= #t~ret6 && #t~ret6 <= 2147483647;~n~0 := #t~ret6;havoc #t~mem5;havoc #t~ret6; {14824#(and (= main_~v~0 0) (<= 100000 ~SIZE~0))} is VALID [2018-11-23 12:11:18,714 INFO L273 TraceCheckUtils]: 20: Hoare triple {14824#(and (= main_~v~0 0) (<= 100000 ~SIZE~0))} #t~post2 := ~v~0;~v~0 := 1 + #t~post2;havoc #t~post2; {14825#(<= (+ main_~v~0 99999) ~SIZE~0)} is VALID [2018-11-23 12:11:18,714 INFO L273 TraceCheckUtils]: 21: Hoare triple {14825#(<= (+ main_~v~0 99999) ~SIZE~0)} assume !!(~v~0 < ~SIZE~0);call #t~mem3 := read~int(~#values~0.base, ~#values~0.offset + 4 * ~v~0, 4); {14825#(<= (+ main_~v~0 99999) ~SIZE~0)} is VALID [2018-11-23 12:11:18,714 INFO L256 TraceCheckUtils]: 22: Hoare triple {14825#(<= (+ main_~v~0 99999) ~SIZE~0)} call #t~ret4 := elem_exists(~#set~0.base, ~#set~0.offset, ~n~0, #t~mem3); {14821#true} is VALID [2018-11-23 12:11:18,715 INFO L273 TraceCheckUtils]: 23: Hoare triple {14821#true} ~set.base, ~set.offset := #in~set.base, #in~set.offset;~size := #in~size;~value := #in~value;havoc ~i~0;~i~0 := 0; {14821#true} is VALID [2018-11-23 12:11:18,715 INFO L273 TraceCheckUtils]: 24: Hoare triple {14821#true} assume !!(~i~0 < ~size);call #t~mem1 := read~int(~set.base, ~set.offset + 4 * ~i~0, 4); {14821#true} is VALID [2018-11-23 12:11:18,715 INFO L273 TraceCheckUtils]: 25: Hoare triple {14821#true} assume #t~mem1 == ~value;havoc #t~mem1;#res := 1; {14821#true} is VALID [2018-11-23 12:11:18,715 INFO L273 TraceCheckUtils]: 26: Hoare triple {14821#true} assume true; {14821#true} is VALID [2018-11-23 12:11:18,716 INFO L268 TraceCheckUtils]: 27: Hoare quadruple {14821#true} {14825#(<= (+ main_~v~0 99999) ~SIZE~0)} #127#return; {14825#(<= (+ main_~v~0 99999) ~SIZE~0)} is VALID [2018-11-23 12:11:18,717 INFO L273 TraceCheckUtils]: 28: Hoare triple {14825#(<= (+ main_~v~0 99999) ~SIZE~0)} assume -2147483648 <= #t~ret4 && #t~ret4 <= 2147483647; {14825#(<= (+ main_~v~0 99999) ~SIZE~0)} is VALID [2018-11-23 12:11:18,718 INFO L273 TraceCheckUtils]: 29: Hoare triple {14825#(<= (+ main_~v~0 99999) ~SIZE~0)} assume !(1 != #t~ret4);havoc #t~ret4;havoc #t~mem3; {14825#(<= (+ main_~v~0 99999) ~SIZE~0)} is VALID [2018-11-23 12:11:18,718 INFO L273 TraceCheckUtils]: 30: Hoare triple {14825#(<= (+ main_~v~0 99999) ~SIZE~0)} #t~post2 := ~v~0;~v~0 := 1 + #t~post2;havoc #t~post2; {14826#(<= (+ main_~v~0 99998) ~SIZE~0)} is VALID [2018-11-23 12:11:18,719 INFO L273 TraceCheckUtils]: 31: Hoare triple {14826#(<= (+ main_~v~0 99998) ~SIZE~0)} assume !!(~v~0 < ~SIZE~0);call #t~mem3 := read~int(~#values~0.base, ~#values~0.offset + 4 * ~v~0, 4); {14826#(<= (+ main_~v~0 99998) ~SIZE~0)} is VALID [2018-11-23 12:11:18,719 INFO L256 TraceCheckUtils]: 32: Hoare triple {14826#(<= (+ main_~v~0 99998) ~SIZE~0)} call #t~ret4 := elem_exists(~#set~0.base, ~#set~0.offset, ~n~0, #t~mem3); {14821#true} is VALID [2018-11-23 12:11:18,719 INFO L273 TraceCheckUtils]: 33: Hoare triple {14821#true} ~set.base, ~set.offset := #in~set.base, #in~set.offset;~size := #in~size;~value := #in~value;havoc ~i~0;~i~0 := 0; {14821#true} is VALID [2018-11-23 12:11:18,720 INFO L273 TraceCheckUtils]: 34: Hoare triple {14821#true} assume !!(~i~0 < ~size);call #t~mem1 := read~int(~set.base, ~set.offset + 4 * ~i~0, 4); {14821#true} is VALID [2018-11-23 12:11:18,720 INFO L273 TraceCheckUtils]: 35: Hoare triple {14821#true} assume #t~mem1 == ~value;havoc #t~mem1;#res := 1; {14821#true} is VALID [2018-11-23 12:11:18,720 INFO L273 TraceCheckUtils]: 36: Hoare triple {14821#true} assume true; {14821#true} is VALID [2018-11-23 12:11:18,721 INFO L268 TraceCheckUtils]: 37: Hoare quadruple {14821#true} {14826#(<= (+ main_~v~0 99998) ~SIZE~0)} #127#return; {14826#(<= (+ main_~v~0 99998) ~SIZE~0)} is VALID [2018-11-23 12:11:18,722 INFO L273 TraceCheckUtils]: 38: Hoare triple {14826#(<= (+ main_~v~0 99998) ~SIZE~0)} assume -2147483648 <= #t~ret4 && #t~ret4 <= 2147483647; {14826#(<= (+ main_~v~0 99998) ~SIZE~0)} is VALID [2018-11-23 12:11:18,722 INFO L273 TraceCheckUtils]: 39: Hoare triple {14826#(<= (+ main_~v~0 99998) ~SIZE~0)} assume !(1 != #t~ret4);havoc #t~ret4;havoc #t~mem3; {14826#(<= (+ main_~v~0 99998) ~SIZE~0)} is VALID [2018-11-23 12:11:18,723 INFO L273 TraceCheckUtils]: 40: Hoare triple {14826#(<= (+ main_~v~0 99998) ~SIZE~0)} #t~post2 := ~v~0;~v~0 := 1 + #t~post2;havoc #t~post2; {14827#(<= (+ main_~v~0 99997) ~SIZE~0)} is VALID [2018-11-23 12:11:18,723 INFO L273 TraceCheckUtils]: 41: Hoare triple {14827#(<= (+ main_~v~0 99997) ~SIZE~0)} assume !!(~v~0 < ~SIZE~0);call #t~mem3 := read~int(~#values~0.base, ~#values~0.offset + 4 * ~v~0, 4); {14827#(<= (+ main_~v~0 99997) ~SIZE~0)} is VALID [2018-11-23 12:11:18,724 INFO L256 TraceCheckUtils]: 42: Hoare triple {14827#(<= (+ main_~v~0 99997) ~SIZE~0)} call #t~ret4 := elem_exists(~#set~0.base, ~#set~0.offset, ~n~0, #t~mem3); {14821#true} is VALID [2018-11-23 12:11:18,724 INFO L273 TraceCheckUtils]: 43: Hoare triple {14821#true} ~set.base, ~set.offset := #in~set.base, #in~set.offset;~size := #in~size;~value := #in~value;havoc ~i~0;~i~0 := 0; {14821#true} is VALID [2018-11-23 12:11:18,724 INFO L273 TraceCheckUtils]: 44: Hoare triple {14821#true} assume !!(~i~0 < ~size);call #t~mem1 := read~int(~set.base, ~set.offset + 4 * ~i~0, 4); {14821#true} is VALID [2018-11-23 12:11:18,724 INFO L273 TraceCheckUtils]: 45: Hoare triple {14821#true} assume #t~mem1 == ~value;havoc #t~mem1;#res := 1; {14821#true} is VALID [2018-11-23 12:11:18,725 INFO L273 TraceCheckUtils]: 46: Hoare triple {14821#true} assume true; {14821#true} is VALID [2018-11-23 12:11:18,726 INFO L268 TraceCheckUtils]: 47: Hoare quadruple {14821#true} {14827#(<= (+ main_~v~0 99997) ~SIZE~0)} #127#return; {14827#(<= (+ main_~v~0 99997) ~SIZE~0)} is VALID [2018-11-23 12:11:18,726 INFO L273 TraceCheckUtils]: 48: Hoare triple {14827#(<= (+ main_~v~0 99997) ~SIZE~0)} assume -2147483648 <= #t~ret4 && #t~ret4 <= 2147483647; {14827#(<= (+ main_~v~0 99997) ~SIZE~0)} is VALID [2018-11-23 12:11:18,727 INFO L273 TraceCheckUtils]: 49: Hoare triple {14827#(<= (+ main_~v~0 99997) ~SIZE~0)} assume !(1 != #t~ret4);havoc #t~ret4;havoc #t~mem3; {14827#(<= (+ main_~v~0 99997) ~SIZE~0)} is VALID [2018-11-23 12:11:18,728 INFO L273 TraceCheckUtils]: 50: Hoare triple {14827#(<= (+ main_~v~0 99997) ~SIZE~0)} #t~post2 := ~v~0;~v~0 := 1 + #t~post2;havoc #t~post2; {14828#(<= (+ main_~v~0 99996) ~SIZE~0)} is VALID [2018-11-23 12:11:18,728 INFO L273 TraceCheckUtils]: 51: Hoare triple {14828#(<= (+ main_~v~0 99996) ~SIZE~0)} assume !!(~v~0 < ~SIZE~0);call #t~mem3 := read~int(~#values~0.base, ~#values~0.offset + 4 * ~v~0, 4); {14828#(<= (+ main_~v~0 99996) ~SIZE~0)} is VALID [2018-11-23 12:11:18,728 INFO L256 TraceCheckUtils]: 52: Hoare triple {14828#(<= (+ main_~v~0 99996) ~SIZE~0)} call #t~ret4 := elem_exists(~#set~0.base, ~#set~0.offset, ~n~0, #t~mem3); {14821#true} is VALID [2018-11-23 12:11:18,729 INFO L273 TraceCheckUtils]: 53: Hoare triple {14821#true} ~set.base, ~set.offset := #in~set.base, #in~set.offset;~size := #in~size;~value := #in~value;havoc ~i~0;~i~0 := 0; {14821#true} is VALID [2018-11-23 12:11:18,729 INFO L273 TraceCheckUtils]: 54: Hoare triple {14821#true} assume !!(~i~0 < ~size);call #t~mem1 := read~int(~set.base, ~set.offset + 4 * ~i~0, 4); {14821#true} is VALID [2018-11-23 12:11:18,729 INFO L273 TraceCheckUtils]: 55: Hoare triple {14821#true} assume #t~mem1 == ~value;havoc #t~mem1;#res := 1; {14821#true} is VALID [2018-11-23 12:11:18,729 INFO L273 TraceCheckUtils]: 56: Hoare triple {14821#true} assume true; {14821#true} is VALID [2018-11-23 12:11:18,730 INFO L268 TraceCheckUtils]: 57: Hoare quadruple {14821#true} {14828#(<= (+ main_~v~0 99996) ~SIZE~0)} #127#return; {14828#(<= (+ main_~v~0 99996) ~SIZE~0)} is VALID [2018-11-23 12:11:18,731 INFO L273 TraceCheckUtils]: 58: Hoare triple {14828#(<= (+ main_~v~0 99996) ~SIZE~0)} assume -2147483648 <= #t~ret4 && #t~ret4 <= 2147483647; {14828#(<= (+ main_~v~0 99996) ~SIZE~0)} is VALID [2018-11-23 12:11:18,731 INFO L273 TraceCheckUtils]: 59: Hoare triple {14828#(<= (+ main_~v~0 99996) ~SIZE~0)} assume !(1 != #t~ret4);havoc #t~ret4;havoc #t~mem3; {14828#(<= (+ main_~v~0 99996) ~SIZE~0)} is VALID [2018-11-23 12:11:18,732 INFO L273 TraceCheckUtils]: 60: Hoare triple {14828#(<= (+ main_~v~0 99996) ~SIZE~0)} #t~post2 := ~v~0;~v~0 := 1 + #t~post2;havoc #t~post2; {14829#(<= (+ main_~v~0 99995) ~SIZE~0)} is VALID [2018-11-23 12:11:18,733 INFO L273 TraceCheckUtils]: 61: Hoare triple {14829#(<= (+ main_~v~0 99995) ~SIZE~0)} assume !!(~v~0 < ~SIZE~0);call #t~mem3 := read~int(~#values~0.base, ~#values~0.offset + 4 * ~v~0, 4); {14829#(<= (+ main_~v~0 99995) ~SIZE~0)} is VALID [2018-11-23 12:11:18,733 INFO L256 TraceCheckUtils]: 62: Hoare triple {14829#(<= (+ main_~v~0 99995) ~SIZE~0)} call #t~ret4 := elem_exists(~#set~0.base, ~#set~0.offset, ~n~0, #t~mem3); {14821#true} is VALID [2018-11-23 12:11:18,733 INFO L273 TraceCheckUtils]: 63: Hoare triple {14821#true} ~set.base, ~set.offset := #in~set.base, #in~set.offset;~size := #in~size;~value := #in~value;havoc ~i~0;~i~0 := 0; {14821#true} is VALID [2018-11-23 12:11:18,733 INFO L273 TraceCheckUtils]: 64: Hoare triple {14821#true} assume !!(~i~0 < ~size);call #t~mem1 := read~int(~set.base, ~set.offset + 4 * ~i~0, 4); {14821#true} is VALID [2018-11-23 12:11:18,733 INFO L273 TraceCheckUtils]: 65: Hoare triple {14821#true} assume #t~mem1 == ~value;havoc #t~mem1;#res := 1; {14821#true} is VALID [2018-11-23 12:11:18,734 INFO L273 TraceCheckUtils]: 66: Hoare triple {14821#true} assume true; {14821#true} is VALID [2018-11-23 12:11:18,735 INFO L268 TraceCheckUtils]: 67: Hoare quadruple {14821#true} {14829#(<= (+ main_~v~0 99995) ~SIZE~0)} #127#return; {14829#(<= (+ main_~v~0 99995) ~SIZE~0)} is VALID [2018-11-23 12:11:18,735 INFO L273 TraceCheckUtils]: 68: Hoare triple {14829#(<= (+ main_~v~0 99995) ~SIZE~0)} assume -2147483648 <= #t~ret4 && #t~ret4 <= 2147483647; {14829#(<= (+ main_~v~0 99995) ~SIZE~0)} is VALID [2018-11-23 12:11:18,735 INFO L273 TraceCheckUtils]: 69: Hoare triple {14829#(<= (+ main_~v~0 99995) ~SIZE~0)} assume !(1 != #t~ret4);havoc #t~ret4;havoc #t~mem3; {14829#(<= (+ main_~v~0 99995) ~SIZE~0)} is VALID [2018-11-23 12:11:18,736 INFO L273 TraceCheckUtils]: 70: Hoare triple {14829#(<= (+ main_~v~0 99995) ~SIZE~0)} #t~post2 := ~v~0;~v~0 := 1 + #t~post2;havoc #t~post2; {14830#(<= (+ main_~v~0 99994) ~SIZE~0)} is VALID [2018-11-23 12:11:18,736 INFO L273 TraceCheckUtils]: 71: Hoare triple {14830#(<= (+ main_~v~0 99994) ~SIZE~0)} assume !!(~v~0 < ~SIZE~0);call #t~mem3 := read~int(~#values~0.base, ~#values~0.offset + 4 * ~v~0, 4); {14830#(<= (+ main_~v~0 99994) ~SIZE~0)} is VALID [2018-11-23 12:11:18,736 INFO L256 TraceCheckUtils]: 72: Hoare triple {14830#(<= (+ main_~v~0 99994) ~SIZE~0)} call #t~ret4 := elem_exists(~#set~0.base, ~#set~0.offset, ~n~0, #t~mem3); {14821#true} is VALID [2018-11-23 12:11:18,736 INFO L273 TraceCheckUtils]: 73: Hoare triple {14821#true} ~set.base, ~set.offset := #in~set.base, #in~set.offset;~size := #in~size;~value := #in~value;havoc ~i~0;~i~0 := 0; {14821#true} is VALID [2018-11-23 12:11:18,737 INFO L273 TraceCheckUtils]: 74: Hoare triple {14821#true} assume !!(~i~0 < ~size);call #t~mem1 := read~int(~set.base, ~set.offset + 4 * ~i~0, 4); {14821#true} is VALID [2018-11-23 12:11:18,737 INFO L273 TraceCheckUtils]: 75: Hoare triple {14821#true} assume #t~mem1 == ~value;havoc #t~mem1;#res := 1; {14821#true} is VALID [2018-11-23 12:11:18,737 INFO L273 TraceCheckUtils]: 76: Hoare triple {14821#true} assume true; {14821#true} is VALID [2018-11-23 12:11:18,737 INFO L268 TraceCheckUtils]: 77: Hoare quadruple {14821#true} {14830#(<= (+ main_~v~0 99994) ~SIZE~0)} #127#return; {14830#(<= (+ main_~v~0 99994) ~SIZE~0)} is VALID [2018-11-23 12:11:18,738 INFO L273 TraceCheckUtils]: 78: Hoare triple {14830#(<= (+ main_~v~0 99994) ~SIZE~0)} assume -2147483648 <= #t~ret4 && #t~ret4 <= 2147483647; {14830#(<= (+ main_~v~0 99994) ~SIZE~0)} is VALID [2018-11-23 12:11:18,738 INFO L273 TraceCheckUtils]: 79: Hoare triple {14830#(<= (+ main_~v~0 99994) ~SIZE~0)} assume !(1 != #t~ret4);havoc #t~ret4;havoc #t~mem3; {14830#(<= (+ main_~v~0 99994) ~SIZE~0)} is VALID [2018-11-23 12:11:18,739 INFO L273 TraceCheckUtils]: 80: Hoare triple {14830#(<= (+ main_~v~0 99994) ~SIZE~0)} #t~post2 := ~v~0;~v~0 := 1 + #t~post2;havoc #t~post2; {14831#(<= (+ main_~v~0 99993) ~SIZE~0)} is VALID [2018-11-23 12:11:18,739 INFO L273 TraceCheckUtils]: 81: Hoare triple {14831#(<= (+ main_~v~0 99993) ~SIZE~0)} assume !!(~v~0 < ~SIZE~0);call #t~mem3 := read~int(~#values~0.base, ~#values~0.offset + 4 * ~v~0, 4); {14831#(<= (+ main_~v~0 99993) ~SIZE~0)} is VALID [2018-11-23 12:11:18,739 INFO L256 TraceCheckUtils]: 82: Hoare triple {14831#(<= (+ main_~v~0 99993) ~SIZE~0)} call #t~ret4 := elem_exists(~#set~0.base, ~#set~0.offset, ~n~0, #t~mem3); {14821#true} is VALID [2018-11-23 12:11:18,739 INFO L273 TraceCheckUtils]: 83: Hoare triple {14821#true} ~set.base, ~set.offset := #in~set.base, #in~set.offset;~size := #in~size;~value := #in~value;havoc ~i~0;~i~0 := 0; {14821#true} is VALID [2018-11-23 12:11:18,740 INFO L273 TraceCheckUtils]: 84: Hoare triple {14821#true} assume !!(~i~0 < ~size);call #t~mem1 := read~int(~set.base, ~set.offset + 4 * ~i~0, 4); {14821#true} is VALID [2018-11-23 12:11:18,740 INFO L273 TraceCheckUtils]: 85: Hoare triple {14821#true} assume #t~mem1 == ~value;havoc #t~mem1;#res := 1; {14821#true} is VALID [2018-11-23 12:11:18,740 INFO L273 TraceCheckUtils]: 86: Hoare triple {14821#true} assume true; {14821#true} is VALID [2018-11-23 12:11:18,741 INFO L268 TraceCheckUtils]: 87: Hoare quadruple {14821#true} {14831#(<= (+ main_~v~0 99993) ~SIZE~0)} #127#return; {14831#(<= (+ main_~v~0 99993) ~SIZE~0)} is VALID [2018-11-23 12:11:18,742 INFO L273 TraceCheckUtils]: 88: Hoare triple {14831#(<= (+ main_~v~0 99993) ~SIZE~0)} assume -2147483648 <= #t~ret4 && #t~ret4 <= 2147483647; {14831#(<= (+ main_~v~0 99993) ~SIZE~0)} is VALID [2018-11-23 12:11:18,742 INFO L273 TraceCheckUtils]: 89: Hoare triple {14831#(<= (+ main_~v~0 99993) ~SIZE~0)} assume !(1 != #t~ret4);havoc #t~ret4;havoc #t~mem3; {14831#(<= (+ main_~v~0 99993) ~SIZE~0)} is VALID [2018-11-23 12:11:18,742 INFO L273 TraceCheckUtils]: 90: Hoare triple {14831#(<= (+ main_~v~0 99993) ~SIZE~0)} #t~post2 := ~v~0;~v~0 := 1 + #t~post2;havoc #t~post2; {14832#(<= (+ main_~v~0 99992) ~SIZE~0)} is VALID [2018-11-23 12:11:18,743 INFO L273 TraceCheckUtils]: 91: Hoare triple {14832#(<= (+ main_~v~0 99992) ~SIZE~0)} assume !!(~v~0 < ~SIZE~0);call #t~mem3 := read~int(~#values~0.base, ~#values~0.offset + 4 * ~v~0, 4); {14832#(<= (+ main_~v~0 99992) ~SIZE~0)} is VALID [2018-11-23 12:11:18,743 INFO L256 TraceCheckUtils]: 92: Hoare triple {14832#(<= (+ main_~v~0 99992) ~SIZE~0)} call #t~ret4 := elem_exists(~#set~0.base, ~#set~0.offset, ~n~0, #t~mem3); {14821#true} is VALID [2018-11-23 12:11:18,743 INFO L273 TraceCheckUtils]: 93: Hoare triple {14821#true} ~set.base, ~set.offset := #in~set.base, #in~set.offset;~size := #in~size;~value := #in~value;havoc ~i~0;~i~0 := 0; {14821#true} is VALID [2018-11-23 12:11:18,743 INFO L273 TraceCheckUtils]: 94: Hoare triple {14821#true} assume !!(~i~0 < ~size);call #t~mem1 := read~int(~set.base, ~set.offset + 4 * ~i~0, 4); {14821#true} is VALID [2018-11-23 12:11:18,743 INFO L273 TraceCheckUtils]: 95: Hoare triple {14821#true} assume #t~mem1 == ~value;havoc #t~mem1;#res := 1; {14821#true} is VALID [2018-11-23 12:11:18,743 INFO L273 TraceCheckUtils]: 96: Hoare triple {14821#true} assume true; {14821#true} is VALID [2018-11-23 12:11:18,744 INFO L268 TraceCheckUtils]: 97: Hoare quadruple {14821#true} {14832#(<= (+ main_~v~0 99992) ~SIZE~0)} #127#return; {14832#(<= (+ main_~v~0 99992) ~SIZE~0)} is VALID [2018-11-23 12:11:18,745 INFO L273 TraceCheckUtils]: 98: Hoare triple {14832#(<= (+ main_~v~0 99992) ~SIZE~0)} assume -2147483648 <= #t~ret4 && #t~ret4 <= 2147483647; {14832#(<= (+ main_~v~0 99992) ~SIZE~0)} is VALID [2018-11-23 12:11:18,745 INFO L273 TraceCheckUtils]: 99: Hoare triple {14832#(<= (+ main_~v~0 99992) ~SIZE~0)} assume !(1 != #t~ret4);havoc #t~ret4;havoc #t~mem3; {14832#(<= (+ main_~v~0 99992) ~SIZE~0)} is VALID [2018-11-23 12:11:18,746 INFO L273 TraceCheckUtils]: 100: Hoare triple {14832#(<= (+ main_~v~0 99992) ~SIZE~0)} #t~post2 := ~v~0;~v~0 := 1 + #t~post2;havoc #t~post2; {14833#(<= (+ main_~v~0 99991) ~SIZE~0)} is VALID [2018-11-23 12:11:18,747 INFO L273 TraceCheckUtils]: 101: Hoare triple {14833#(<= (+ main_~v~0 99991) ~SIZE~0)} assume !!(~v~0 < ~SIZE~0);call #t~mem3 := read~int(~#values~0.base, ~#values~0.offset + 4 * ~v~0, 4); {14833#(<= (+ main_~v~0 99991) ~SIZE~0)} is VALID [2018-11-23 12:11:18,747 INFO L256 TraceCheckUtils]: 102: Hoare triple {14833#(<= (+ main_~v~0 99991) ~SIZE~0)} call #t~ret4 := elem_exists(~#set~0.base, ~#set~0.offset, ~n~0, #t~mem3); {14821#true} is VALID [2018-11-23 12:11:18,747 INFO L273 TraceCheckUtils]: 103: Hoare triple {14821#true} ~set.base, ~set.offset := #in~set.base, #in~set.offset;~size := #in~size;~value := #in~value;havoc ~i~0;~i~0 := 0; {14821#true} is VALID [2018-11-23 12:11:18,747 INFO L273 TraceCheckUtils]: 104: Hoare triple {14821#true} assume !!(~i~0 < ~size);call #t~mem1 := read~int(~set.base, ~set.offset + 4 * ~i~0, 4); {14821#true} is VALID [2018-11-23 12:11:18,748 INFO L273 TraceCheckUtils]: 105: Hoare triple {14821#true} assume #t~mem1 == ~value;havoc #t~mem1;#res := 1; {14821#true} is VALID [2018-11-23 12:11:18,748 INFO L273 TraceCheckUtils]: 106: Hoare triple {14821#true} assume true; {14821#true} is VALID [2018-11-23 12:11:18,749 INFO L268 TraceCheckUtils]: 107: Hoare quadruple {14821#true} {14833#(<= (+ main_~v~0 99991) ~SIZE~0)} #127#return; {14833#(<= (+ main_~v~0 99991) ~SIZE~0)} is VALID [2018-11-23 12:11:18,749 INFO L273 TraceCheckUtils]: 108: Hoare triple {14833#(<= (+ main_~v~0 99991) ~SIZE~0)} assume -2147483648 <= #t~ret4 && #t~ret4 <= 2147483647; {14833#(<= (+ main_~v~0 99991) ~SIZE~0)} is VALID [2018-11-23 12:11:18,750 INFO L273 TraceCheckUtils]: 109: Hoare triple {14833#(<= (+ main_~v~0 99991) ~SIZE~0)} assume !(1 != #t~ret4);havoc #t~ret4;havoc #t~mem3; {14833#(<= (+ main_~v~0 99991) ~SIZE~0)} is VALID [2018-11-23 12:11:18,751 INFO L273 TraceCheckUtils]: 110: Hoare triple {14833#(<= (+ main_~v~0 99991) ~SIZE~0)} #t~post2 := ~v~0;~v~0 := 1 + #t~post2;havoc #t~post2; {14834#(<= (+ main_~v~0 99990) ~SIZE~0)} is VALID [2018-11-23 12:11:18,751 INFO L273 TraceCheckUtils]: 111: Hoare triple {14834#(<= (+ main_~v~0 99990) ~SIZE~0)} assume !!(~v~0 < ~SIZE~0);call #t~mem3 := read~int(~#values~0.base, ~#values~0.offset + 4 * ~v~0, 4); {14834#(<= (+ main_~v~0 99990) ~SIZE~0)} is VALID [2018-11-23 12:11:18,752 INFO L256 TraceCheckUtils]: 112: Hoare triple {14834#(<= (+ main_~v~0 99990) ~SIZE~0)} call #t~ret4 := elem_exists(~#set~0.base, ~#set~0.offset, ~n~0, #t~mem3); {14821#true} is VALID [2018-11-23 12:11:18,752 INFO L273 TraceCheckUtils]: 113: Hoare triple {14821#true} ~set.base, ~set.offset := #in~set.base, #in~set.offset;~size := #in~size;~value := #in~value;havoc ~i~0;~i~0 := 0; {14821#true} is VALID [2018-11-23 12:11:18,752 INFO L273 TraceCheckUtils]: 114: Hoare triple {14821#true} assume !!(~i~0 < ~size);call #t~mem1 := read~int(~set.base, ~set.offset + 4 * ~i~0, 4); {14821#true} is VALID [2018-11-23 12:11:18,752 INFO L273 TraceCheckUtils]: 115: Hoare triple {14821#true} assume #t~mem1 == ~value;havoc #t~mem1;#res := 1; {14821#true} is VALID [2018-11-23 12:11:18,752 INFO L273 TraceCheckUtils]: 116: Hoare triple {14821#true} assume true; {14821#true} is VALID [2018-11-23 12:11:18,754 INFO L268 TraceCheckUtils]: 117: Hoare quadruple {14821#true} {14834#(<= (+ main_~v~0 99990) ~SIZE~0)} #127#return; {14834#(<= (+ main_~v~0 99990) ~SIZE~0)} is VALID [2018-11-23 12:11:18,754 INFO L273 TraceCheckUtils]: 118: Hoare triple {14834#(<= (+ main_~v~0 99990) ~SIZE~0)} assume -2147483648 <= #t~ret4 && #t~ret4 <= 2147483647; {14834#(<= (+ main_~v~0 99990) ~SIZE~0)} is VALID [2018-11-23 12:11:18,755 INFO L273 TraceCheckUtils]: 119: Hoare triple {14834#(<= (+ main_~v~0 99990) ~SIZE~0)} assume !(1 != #t~ret4);havoc #t~ret4;havoc #t~mem3; {14834#(<= (+ main_~v~0 99990) ~SIZE~0)} is VALID [2018-11-23 12:11:18,755 INFO L273 TraceCheckUtils]: 120: Hoare triple {14834#(<= (+ main_~v~0 99990) ~SIZE~0)} #t~post2 := ~v~0;~v~0 := 1 + #t~post2;havoc #t~post2; {14835#(<= (+ main_~v~0 99989) ~SIZE~0)} is VALID [2018-11-23 12:11:18,756 INFO L273 TraceCheckUtils]: 121: Hoare triple {14835#(<= (+ main_~v~0 99989) ~SIZE~0)} assume !!(~v~0 < ~SIZE~0);call #t~mem3 := read~int(~#values~0.base, ~#values~0.offset + 4 * ~v~0, 4); {14835#(<= (+ main_~v~0 99989) ~SIZE~0)} is VALID [2018-11-23 12:11:18,756 INFO L256 TraceCheckUtils]: 122: Hoare triple {14835#(<= (+ main_~v~0 99989) ~SIZE~0)} call #t~ret4 := elem_exists(~#set~0.base, ~#set~0.offset, ~n~0, #t~mem3); {14821#true} is VALID [2018-11-23 12:11:18,756 INFO L273 TraceCheckUtils]: 123: Hoare triple {14821#true} ~set.base, ~set.offset := #in~set.base, #in~set.offset;~size := #in~size;~value := #in~value;havoc ~i~0;~i~0 := 0; {14821#true} is VALID [2018-11-23 12:11:18,757 INFO L273 TraceCheckUtils]: 124: Hoare triple {14821#true} assume !!(~i~0 < ~size);call #t~mem1 := read~int(~set.base, ~set.offset + 4 * ~i~0, 4); {14821#true} is VALID [2018-11-23 12:11:18,757 INFO L273 TraceCheckUtils]: 125: Hoare triple {14821#true} assume #t~mem1 == ~value;havoc #t~mem1;#res := 1; {14821#true} is VALID [2018-11-23 12:11:18,757 INFO L273 TraceCheckUtils]: 126: Hoare triple {14821#true} assume true; {14821#true} is VALID [2018-11-23 12:11:18,758 INFO L268 TraceCheckUtils]: 127: Hoare quadruple {14821#true} {14835#(<= (+ main_~v~0 99989) ~SIZE~0)} #127#return; {14835#(<= (+ main_~v~0 99989) ~SIZE~0)} is VALID [2018-11-23 12:11:18,759 INFO L273 TraceCheckUtils]: 128: Hoare triple {14835#(<= (+ main_~v~0 99989) ~SIZE~0)} assume -2147483648 <= #t~ret4 && #t~ret4 <= 2147483647; {14835#(<= (+ main_~v~0 99989) ~SIZE~0)} is VALID [2018-11-23 12:11:18,759 INFO L273 TraceCheckUtils]: 129: Hoare triple {14835#(<= (+ main_~v~0 99989) ~SIZE~0)} assume !(1 != #t~ret4);havoc #t~ret4;havoc #t~mem3; {14835#(<= (+ main_~v~0 99989) ~SIZE~0)} is VALID [2018-11-23 12:11:18,760 INFO L273 TraceCheckUtils]: 130: Hoare triple {14835#(<= (+ main_~v~0 99989) ~SIZE~0)} #t~post2 := ~v~0;~v~0 := 1 + #t~post2;havoc #t~post2; {14836#(<= (+ main_~v~0 99988) ~SIZE~0)} is VALID [2018-11-23 12:11:18,761 INFO L273 TraceCheckUtils]: 131: Hoare triple {14836#(<= (+ main_~v~0 99988) ~SIZE~0)} assume !(~v~0 < ~SIZE~0); {14822#false} is VALID [2018-11-23 12:11:18,761 INFO L273 TraceCheckUtils]: 132: Hoare triple {14822#false} ~i~1 := 0; {14822#false} is VALID [2018-11-23 12:11:18,761 INFO L273 TraceCheckUtils]: 133: Hoare triple {14822#false} assume !!(~i~1 < ~SIZE~0 && 1 != ~found~0);call #t~mem8 := read~int(~#set~0.base, ~#set~0.offset + 4 * ~i~1, 4); {14822#false} is VALID [2018-11-23 12:11:18,761 INFO L273 TraceCheckUtils]: 134: Hoare triple {14822#false} assume !(#t~mem8 == ~element~0);havoc #t~mem8; {14822#false} is VALID [2018-11-23 12:11:18,762 INFO L273 TraceCheckUtils]: 135: Hoare triple {14822#false} #t~post7 := ~i~1;~i~1 := 1 + #t~post7;havoc #t~post7; {14822#false} is VALID [2018-11-23 12:11:18,762 INFO L273 TraceCheckUtils]: 136: Hoare triple {14822#false} assume !!(~i~1 < ~SIZE~0 && 1 != ~found~0);call #t~mem8 := read~int(~#set~0.base, ~#set~0.offset + 4 * ~i~1, 4); {14822#false} is VALID [2018-11-23 12:11:18,762 INFO L273 TraceCheckUtils]: 137: Hoare triple {14822#false} assume !(#t~mem8 == ~element~0);havoc #t~mem8; {14822#false} is VALID [2018-11-23 12:11:18,762 INFO L273 TraceCheckUtils]: 138: Hoare triple {14822#false} #t~post7 := ~i~1;~i~1 := 1 + #t~post7;havoc #t~post7; {14822#false} is VALID [2018-11-23 12:11:18,762 INFO L273 TraceCheckUtils]: 139: Hoare triple {14822#false} assume !!(~i~1 < ~SIZE~0 && 1 != ~found~0);call #t~mem8 := read~int(~#set~0.base, ~#set~0.offset + 4 * ~i~1, 4); {14822#false} is VALID [2018-11-23 12:11:18,763 INFO L273 TraceCheckUtils]: 140: Hoare triple {14822#false} assume #t~mem8 == ~element~0;havoc #t~mem8;~found~0 := 1;~pos~0 := ~i~1; {14822#false} is VALID [2018-11-23 12:11:18,763 INFO L273 TraceCheckUtils]: 141: Hoare triple {14822#false} #t~post7 := ~i~1;~i~1 := 1 + #t~post7;havoc #t~post7; {14822#false} is VALID [2018-11-23 12:11:18,763 INFO L273 TraceCheckUtils]: 142: Hoare triple {14822#false} assume !(~i~1 < ~SIZE~0 && 1 != ~found~0); {14822#false} is VALID [2018-11-23 12:11:18,763 INFO L273 TraceCheckUtils]: 143: Hoare triple {14822#false} assume 1 == ~found~0;~i~1 := ~pos~0; {14822#false} is VALID [2018-11-23 12:11:18,763 INFO L273 TraceCheckUtils]: 144: Hoare triple {14822#false} assume !!(~i~1 < ~SIZE~0 - 1);call #t~mem10 := read~int(~#set~0.base, ~#set~0.offset + 4 * (1 + ~i~1), 4);call write~int(#t~mem10, ~#set~0.base, ~#set~0.offset + 4 * ~i~1, 4);havoc #t~mem10; {14822#false} is VALID [2018-11-23 12:11:18,764 INFO L273 TraceCheckUtils]: 145: Hoare triple {14822#false} #t~post9 := ~i~1;~i~1 := 1 + #t~post9;havoc #t~post9; {14822#false} is VALID [2018-11-23 12:11:18,764 INFO L273 TraceCheckUtils]: 146: Hoare triple {14822#false} assume !(~i~1 < ~SIZE~0 - 1); {14822#false} is VALID [2018-11-23 12:11:18,764 INFO L273 TraceCheckUtils]: 147: Hoare triple {14822#false} assume 1 == ~found~0;~i~1 := 0; {14822#false} is VALID [2018-11-23 12:11:18,764 INFO L273 TraceCheckUtils]: 148: Hoare triple {14822#false} assume !!(~i~1 < ~SIZE~0 - 1);call #t~mem12 := read~int(~#set~0.base, ~#set~0.offset + 4 * ~i~1, 4); {14822#false} is VALID [2018-11-23 12:11:18,764 INFO L256 TraceCheckUtils]: 149: Hoare triple {14822#false} call __VERIFIER_assert((if #t~mem12 != ~element~0 then 1 else 0)); {14822#false} is VALID [2018-11-23 12:11:18,765 INFO L273 TraceCheckUtils]: 150: Hoare triple {14822#false} ~cond := #in~cond; {14822#false} is VALID [2018-11-23 12:11:18,765 INFO L273 TraceCheckUtils]: 151: Hoare triple {14822#false} assume 0 == ~cond; {14822#false} is VALID [2018-11-23 12:11:18,765 INFO L273 TraceCheckUtils]: 152: Hoare triple {14822#false} assume !false; {14822#false} is VALID [2018-11-23 12:11:18,780 INFO L134 CoverageAnalysis]: Checked inductivity of 674 backedges. 0 proven. 342 refuted. 0 times theorem prover too weak. 332 trivial. 0 not checked. [2018-11-23 12:11:18,780 INFO L300 seRefinementStrategy]: The current sequences of interpolants are not accepted, trying to find more. [2018-11-23 12:11:18,780 INFO L223 ckRefinementStrategy]: Switched to mode Z3_FP No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 Starting monitored process 16 with z3 -smt2 -in SMTLIB2_COMPLIANT=true -t:12000 (exit command is (exit), workingDir is null) Waiting until toolchain timeout for monitored process 16 with z3 -smt2 -in SMTLIB2_COMPLIANT=true -t:12000 [2018-11-23 12:11:18,789 INFO L103 rtionOrderModulation]: Keeping assertion order INSIDE_LOOP_FIRST1 [2018-11-23 12:11:18,900 INFO L249 tOrderPrioritization]: Assert order INSIDE_LOOP_FIRST1 issued 13 check-sat command(s) [2018-11-23 12:11:18,900 INFO L250 tOrderPrioritization]: Conjunction of SSA is unsat [2018-11-23 12:11:18,930 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2018-11-23 12:11:18,933 INFO L273 TraceCheckSpWp]: Computing forward predicates... [2018-11-23 12:11:19,429 INFO L256 TraceCheckUtils]: 0: Hoare triple {14821#true} call ULTIMATE.init(); {14821#true} is VALID [2018-11-23 12:11:19,430 INFO L273 TraceCheckUtils]: 1: Hoare triple {14821#true} #NULL.base, #NULL.offset := 0, 0;#valid := #valid[0 := 0];~SIZE~0 := 100000; {14823#(<= 100000 ~SIZE~0)} is VALID [2018-11-23 12:11:19,451 INFO L273 TraceCheckUtils]: 2: Hoare triple {14823#(<= 100000 ~SIZE~0)} assume true; {14823#(<= 100000 ~SIZE~0)} is VALID [2018-11-23 12:11:19,456 INFO L268 TraceCheckUtils]: 3: Hoare quadruple {14823#(<= 100000 ~SIZE~0)} {14821#true} #123#return; {14823#(<= 100000 ~SIZE~0)} is VALID [2018-11-23 12:11:19,457 INFO L256 TraceCheckUtils]: 4: Hoare triple {14823#(<= 100000 ~SIZE~0)} call #t~ret13 := main(); {14823#(<= 100000 ~SIZE~0)} is VALID [2018-11-23 12:11:19,458 INFO L273 TraceCheckUtils]: 5: Hoare triple {14823#(<= 100000 ~SIZE~0)} havoc ~i~1;havoc ~pos~0;~n~0 := 0;~found~0 := 0;call ~#set~0.base, ~#set~0.offset := #Ultimate.alloc(4 * ~SIZE~0);call ~#values~0.base, ~#values~0.offset := #Ultimate.alloc(4 * ~SIZE~0);havoc ~element~0;havoc ~v~0;~v~0 := 0; {14855#(and (<= main_~v~0 0) (<= 100000 ~SIZE~0))} is VALID [2018-11-23 12:11:19,458 INFO L273 TraceCheckUtils]: 6: Hoare triple {14855#(and (<= main_~v~0 0) (<= 100000 ~SIZE~0))} assume !!(~v~0 < ~SIZE~0);call #t~mem3 := read~int(~#values~0.base, ~#values~0.offset + 4 * ~v~0, 4); {14855#(and (<= main_~v~0 0) (<= 100000 ~SIZE~0))} is VALID [2018-11-23 12:11:19,459 INFO L256 TraceCheckUtils]: 7: Hoare triple {14855#(and (<= main_~v~0 0) (<= 100000 ~SIZE~0))} call #t~ret4 := elem_exists(~#set~0.base, ~#set~0.offset, ~n~0, #t~mem3); {14823#(<= 100000 ~SIZE~0)} is VALID [2018-11-23 12:11:19,459 INFO L273 TraceCheckUtils]: 8: Hoare triple {14823#(<= 100000 ~SIZE~0)} ~set.base, ~set.offset := #in~set.base, #in~set.offset;~size := #in~size;~value := #in~value;havoc ~i~0;~i~0 := 0; {14823#(<= 100000 ~SIZE~0)} is VALID [2018-11-23 12:11:19,459 INFO L273 TraceCheckUtils]: 9: Hoare triple {14823#(<= 100000 ~SIZE~0)} assume !(~i~0 < ~size); {14823#(<= 100000 ~SIZE~0)} is VALID [2018-11-23 12:11:19,463 INFO L273 TraceCheckUtils]: 10: Hoare triple {14823#(<= 100000 ~SIZE~0)} #res := 0; {14823#(<= 100000 ~SIZE~0)} is VALID [2018-11-23 12:11:19,464 INFO L273 TraceCheckUtils]: 11: Hoare triple {14823#(<= 100000 ~SIZE~0)} assume true; {14823#(<= 100000 ~SIZE~0)} is VALID [2018-11-23 12:11:19,465 INFO L268 TraceCheckUtils]: 12: Hoare quadruple {14823#(<= 100000 ~SIZE~0)} {14855#(and (<= main_~v~0 0) (<= 100000 ~SIZE~0))} #127#return; {14855#(and (<= main_~v~0 0) (<= 100000 ~SIZE~0))} is VALID [2018-11-23 12:11:19,465 INFO L273 TraceCheckUtils]: 13: Hoare triple {14855#(and (<= main_~v~0 0) (<= 100000 ~SIZE~0))} assume -2147483648 <= #t~ret4 && #t~ret4 <= 2147483647; {14855#(and (<= main_~v~0 0) (<= 100000 ~SIZE~0))} is VALID [2018-11-23 12:11:19,466 INFO L273 TraceCheckUtils]: 14: Hoare triple {14855#(and (<= main_~v~0 0) (<= 100000 ~SIZE~0))} assume 1 != #t~ret4;havoc #t~ret4;havoc #t~mem3;call #t~mem5 := read~int(~#values~0.base, ~#values~0.offset + 4 * ~v~0, 4); {14855#(and (<= main_~v~0 0) (<= 100000 ~SIZE~0))} is VALID [2018-11-23 12:11:19,466 INFO L256 TraceCheckUtils]: 15: Hoare triple {14855#(and (<= main_~v~0 0) (<= 100000 ~SIZE~0))} call #t~ret6 := insert(~#set~0.base, ~#set~0.offset, ~n~0, #t~mem5); {14823#(<= 100000 ~SIZE~0)} is VALID [2018-11-23 12:11:19,467 INFO L273 TraceCheckUtils]: 16: Hoare triple {14823#(<= 100000 ~SIZE~0)} ~set.base, ~set.offset := #in~set.base, #in~set.offset;~size := #in~size;~value := #in~value;call write~int(~value, ~set.base, ~set.offset + 4 * ~size, 4);#res := 1 + ~size; {14823#(<= 100000 ~SIZE~0)} is VALID [2018-11-23 12:11:19,467 INFO L273 TraceCheckUtils]: 17: Hoare triple {14823#(<= 100000 ~SIZE~0)} assume true; {14823#(<= 100000 ~SIZE~0)} is VALID [2018-11-23 12:11:19,468 INFO L268 TraceCheckUtils]: 18: Hoare quadruple {14823#(<= 100000 ~SIZE~0)} {14855#(and (<= main_~v~0 0) (<= 100000 ~SIZE~0))} #129#return; {14855#(and (<= main_~v~0 0) (<= 100000 ~SIZE~0))} is VALID [2018-11-23 12:11:19,469 INFO L273 TraceCheckUtils]: 19: Hoare triple {14855#(and (<= main_~v~0 0) (<= 100000 ~SIZE~0))} assume -2147483648 <= #t~ret6 && #t~ret6 <= 2147483647;~n~0 := #t~ret6;havoc #t~mem5;havoc #t~ret6; {14855#(and (<= main_~v~0 0) (<= 100000 ~SIZE~0))} is VALID [2018-11-23 12:11:19,470 INFO L273 TraceCheckUtils]: 20: Hoare triple {14855#(and (<= main_~v~0 0) (<= 100000 ~SIZE~0))} #t~post2 := ~v~0;~v~0 := 1 + #t~post2;havoc #t~post2; {14901#(and (<= main_~v~0 1) (<= 100000 ~SIZE~0))} is VALID [2018-11-23 12:11:19,470 INFO L273 TraceCheckUtils]: 21: Hoare triple {14901#(and (<= main_~v~0 1) (<= 100000 ~SIZE~0))} assume !!(~v~0 < ~SIZE~0);call #t~mem3 := read~int(~#values~0.base, ~#values~0.offset + 4 * ~v~0, 4); {14901#(and (<= main_~v~0 1) (<= 100000 ~SIZE~0))} is VALID [2018-11-23 12:11:19,472 INFO L256 TraceCheckUtils]: 22: Hoare triple {14901#(and (<= main_~v~0 1) (<= 100000 ~SIZE~0))} call #t~ret4 := elem_exists(~#set~0.base, ~#set~0.offset, ~n~0, #t~mem3); {14823#(<= 100000 ~SIZE~0)} is VALID [2018-11-23 12:11:19,472 INFO L273 TraceCheckUtils]: 23: Hoare triple {14823#(<= 100000 ~SIZE~0)} ~set.base, ~set.offset := #in~set.base, #in~set.offset;~size := #in~size;~value := #in~value;havoc ~i~0;~i~0 := 0; {14823#(<= 100000 ~SIZE~0)} is VALID [2018-11-23 12:11:19,473 INFO L273 TraceCheckUtils]: 24: Hoare triple {14823#(<= 100000 ~SIZE~0)} assume !!(~i~0 < ~size);call #t~mem1 := read~int(~set.base, ~set.offset + 4 * ~i~0, 4); {14823#(<= 100000 ~SIZE~0)} is VALID [2018-11-23 12:11:19,473 INFO L273 TraceCheckUtils]: 25: Hoare triple {14823#(<= 100000 ~SIZE~0)} assume #t~mem1 == ~value;havoc #t~mem1;#res := 1; {14823#(<= 100000 ~SIZE~0)} is VALID [2018-11-23 12:11:19,474 INFO L273 TraceCheckUtils]: 26: Hoare triple {14823#(<= 100000 ~SIZE~0)} assume true; {14823#(<= 100000 ~SIZE~0)} is VALID [2018-11-23 12:11:19,475 INFO L268 TraceCheckUtils]: 27: Hoare quadruple {14823#(<= 100000 ~SIZE~0)} {14901#(and (<= main_~v~0 1) (<= 100000 ~SIZE~0))} #127#return; {14901#(and (<= main_~v~0 1) (<= 100000 ~SIZE~0))} is VALID [2018-11-23 12:11:19,476 INFO L273 TraceCheckUtils]: 28: Hoare triple {14901#(and (<= main_~v~0 1) (<= 100000 ~SIZE~0))} assume -2147483648 <= #t~ret4 && #t~ret4 <= 2147483647; {14901#(and (<= main_~v~0 1) (<= 100000 ~SIZE~0))} is VALID [2018-11-23 12:11:19,476 INFO L273 TraceCheckUtils]: 29: Hoare triple {14901#(and (<= main_~v~0 1) (<= 100000 ~SIZE~0))} assume !(1 != #t~ret4);havoc #t~ret4;havoc #t~mem3; {14901#(and (<= main_~v~0 1) (<= 100000 ~SIZE~0))} is VALID [2018-11-23 12:11:19,477 INFO L273 TraceCheckUtils]: 30: Hoare triple {14901#(and (<= main_~v~0 1) (<= 100000 ~SIZE~0))} #t~post2 := ~v~0;~v~0 := 1 + #t~post2;havoc #t~post2; {14932#(and (<= main_~v~0 2) (<= 100000 ~SIZE~0))} is VALID [2018-11-23 12:11:19,478 INFO L273 TraceCheckUtils]: 31: Hoare triple {14932#(and (<= main_~v~0 2) (<= 100000 ~SIZE~0))} assume !!(~v~0 < ~SIZE~0);call #t~mem3 := read~int(~#values~0.base, ~#values~0.offset + 4 * ~v~0, 4); {14932#(and (<= main_~v~0 2) (<= 100000 ~SIZE~0))} is VALID [2018-11-23 12:11:19,479 INFO L256 TraceCheckUtils]: 32: Hoare triple {14932#(and (<= main_~v~0 2) (<= 100000 ~SIZE~0))} call #t~ret4 := elem_exists(~#set~0.base, ~#set~0.offset, ~n~0, #t~mem3); {14823#(<= 100000 ~SIZE~0)} is VALID [2018-11-23 12:11:19,480 INFO L273 TraceCheckUtils]: 33: Hoare triple {14823#(<= 100000 ~SIZE~0)} ~set.base, ~set.offset := #in~set.base, #in~set.offset;~size := #in~size;~value := #in~value;havoc ~i~0;~i~0 := 0; {14823#(<= 100000 ~SIZE~0)} is VALID [2018-11-23 12:11:19,480 INFO L273 TraceCheckUtils]: 34: Hoare triple {14823#(<= 100000 ~SIZE~0)} assume !!(~i~0 < ~size);call #t~mem1 := read~int(~set.base, ~set.offset + 4 * ~i~0, 4); {14823#(<= 100000 ~SIZE~0)} is VALID [2018-11-23 12:11:19,481 INFO L273 TraceCheckUtils]: 35: Hoare triple {14823#(<= 100000 ~SIZE~0)} assume #t~mem1 == ~value;havoc #t~mem1;#res := 1; {14823#(<= 100000 ~SIZE~0)} is VALID [2018-11-23 12:11:19,481 INFO L273 TraceCheckUtils]: 36: Hoare triple {14823#(<= 100000 ~SIZE~0)} assume true; {14823#(<= 100000 ~SIZE~0)} is VALID [2018-11-23 12:11:19,482 INFO L268 TraceCheckUtils]: 37: Hoare quadruple {14823#(<= 100000 ~SIZE~0)} {14932#(and (<= main_~v~0 2) (<= 100000 ~SIZE~0))} #127#return; {14932#(and (<= main_~v~0 2) (<= 100000 ~SIZE~0))} is VALID [2018-11-23 12:11:19,483 INFO L273 TraceCheckUtils]: 38: Hoare triple {14932#(and (<= main_~v~0 2) (<= 100000 ~SIZE~0))} assume -2147483648 <= #t~ret4 && #t~ret4 <= 2147483647; {14932#(and (<= main_~v~0 2) (<= 100000 ~SIZE~0))} is VALID [2018-11-23 12:11:19,484 INFO L273 TraceCheckUtils]: 39: Hoare triple {14932#(and (<= main_~v~0 2) (<= 100000 ~SIZE~0))} assume !(1 != #t~ret4);havoc #t~ret4;havoc #t~mem3; {14932#(and (<= main_~v~0 2) (<= 100000 ~SIZE~0))} is VALID [2018-11-23 12:11:19,485 INFO L273 TraceCheckUtils]: 40: Hoare triple {14932#(and (<= main_~v~0 2) (<= 100000 ~SIZE~0))} #t~post2 := ~v~0;~v~0 := 1 + #t~post2;havoc #t~post2; {14963#(and (<= main_~v~0 3) (<= 100000 ~SIZE~0))} is VALID [2018-11-23 12:11:19,485 INFO L273 TraceCheckUtils]: 41: Hoare triple {14963#(and (<= main_~v~0 3) (<= 100000 ~SIZE~0))} assume !!(~v~0 < ~SIZE~0);call #t~mem3 := read~int(~#values~0.base, ~#values~0.offset + 4 * ~v~0, 4); {14963#(and (<= main_~v~0 3) (<= 100000 ~SIZE~0))} is VALID [2018-11-23 12:11:19,487 INFO L256 TraceCheckUtils]: 42: Hoare triple {14963#(and (<= main_~v~0 3) (<= 100000 ~SIZE~0))} call #t~ret4 := elem_exists(~#set~0.base, ~#set~0.offset, ~n~0, #t~mem3); {14823#(<= 100000 ~SIZE~0)} is VALID [2018-11-23 12:11:19,487 INFO L273 TraceCheckUtils]: 43: Hoare triple {14823#(<= 100000 ~SIZE~0)} ~set.base, ~set.offset := #in~set.base, #in~set.offset;~size := #in~size;~value := #in~value;havoc ~i~0;~i~0 := 0; {14823#(<= 100000 ~SIZE~0)} is VALID [2018-11-23 12:11:19,488 INFO L273 TraceCheckUtils]: 44: Hoare triple {14823#(<= 100000 ~SIZE~0)} assume !!(~i~0 < ~size);call #t~mem1 := read~int(~set.base, ~set.offset + 4 * ~i~0, 4); {14823#(<= 100000 ~SIZE~0)} is VALID [2018-11-23 12:11:19,488 INFO L273 TraceCheckUtils]: 45: Hoare triple {14823#(<= 100000 ~SIZE~0)} assume #t~mem1 == ~value;havoc #t~mem1;#res := 1; {14823#(<= 100000 ~SIZE~0)} is VALID [2018-11-23 12:11:19,489 INFO L273 TraceCheckUtils]: 46: Hoare triple {14823#(<= 100000 ~SIZE~0)} assume true; {14823#(<= 100000 ~SIZE~0)} is VALID [2018-11-23 12:11:19,490 INFO L268 TraceCheckUtils]: 47: Hoare quadruple {14823#(<= 100000 ~SIZE~0)} {14963#(and (<= main_~v~0 3) (<= 100000 ~SIZE~0))} #127#return; {14963#(and (<= main_~v~0 3) (<= 100000 ~SIZE~0))} is VALID [2018-11-23 12:11:19,491 INFO L273 TraceCheckUtils]: 48: Hoare triple {14963#(and (<= main_~v~0 3) (<= 100000 ~SIZE~0))} assume -2147483648 <= #t~ret4 && #t~ret4 <= 2147483647; {14963#(and (<= main_~v~0 3) (<= 100000 ~SIZE~0))} is VALID [2018-11-23 12:11:19,491 INFO L273 TraceCheckUtils]: 49: Hoare triple {14963#(and (<= main_~v~0 3) (<= 100000 ~SIZE~0))} assume !(1 != #t~ret4);havoc #t~ret4;havoc #t~mem3; {14963#(and (<= main_~v~0 3) (<= 100000 ~SIZE~0))} is VALID [2018-11-23 12:11:19,492 INFO L273 TraceCheckUtils]: 50: Hoare triple {14963#(and (<= main_~v~0 3) (<= 100000 ~SIZE~0))} #t~post2 := ~v~0;~v~0 := 1 + #t~post2;havoc #t~post2; {14994#(and (<= main_~v~0 4) (<= 100000 ~SIZE~0))} is VALID [2018-11-23 12:11:19,493 INFO L273 TraceCheckUtils]: 51: Hoare triple {14994#(and (<= main_~v~0 4) (<= 100000 ~SIZE~0))} assume !!(~v~0 < ~SIZE~0);call #t~mem3 := read~int(~#values~0.base, ~#values~0.offset + 4 * ~v~0, 4); {14994#(and (<= main_~v~0 4) (<= 100000 ~SIZE~0))} is VALID [2018-11-23 12:11:19,494 INFO L256 TraceCheckUtils]: 52: Hoare triple {14994#(and (<= main_~v~0 4) (<= 100000 ~SIZE~0))} call #t~ret4 := elem_exists(~#set~0.base, ~#set~0.offset, ~n~0, #t~mem3); {14823#(<= 100000 ~SIZE~0)} is VALID [2018-11-23 12:11:19,497 INFO L273 TraceCheckUtils]: 53: Hoare triple {14823#(<= 100000 ~SIZE~0)} ~set.base, ~set.offset := #in~set.base, #in~set.offset;~size := #in~size;~value := #in~value;havoc ~i~0;~i~0 := 0; {14823#(<= 100000 ~SIZE~0)} is VALID [2018-11-23 12:11:19,497 INFO L273 TraceCheckUtils]: 54: Hoare triple {14823#(<= 100000 ~SIZE~0)} assume !!(~i~0 < ~size);call #t~mem1 := read~int(~set.base, ~set.offset + 4 * ~i~0, 4); {14823#(<= 100000 ~SIZE~0)} is VALID [2018-11-23 12:11:19,498 INFO L273 TraceCheckUtils]: 55: Hoare triple {14823#(<= 100000 ~SIZE~0)} assume #t~mem1 == ~value;havoc #t~mem1;#res := 1; {14823#(<= 100000 ~SIZE~0)} is VALID [2018-11-23 12:11:19,498 INFO L273 TraceCheckUtils]: 56: Hoare triple {14823#(<= 100000 ~SIZE~0)} assume true; {14823#(<= 100000 ~SIZE~0)} is VALID [2018-11-23 12:11:19,499 INFO L268 TraceCheckUtils]: 57: Hoare quadruple {14823#(<= 100000 ~SIZE~0)} {14994#(and (<= main_~v~0 4) (<= 100000 ~SIZE~0))} #127#return; {14994#(and (<= main_~v~0 4) (<= 100000 ~SIZE~0))} is VALID [2018-11-23 12:11:19,500 INFO L273 TraceCheckUtils]: 58: Hoare triple {14994#(and (<= main_~v~0 4) (<= 100000 ~SIZE~0))} assume -2147483648 <= #t~ret4 && #t~ret4 <= 2147483647; {14994#(and (<= main_~v~0 4) (<= 100000 ~SIZE~0))} is VALID [2018-11-23 12:11:19,500 INFO L273 TraceCheckUtils]: 59: Hoare triple {14994#(and (<= main_~v~0 4) (<= 100000 ~SIZE~0))} assume !(1 != #t~ret4);havoc #t~ret4;havoc #t~mem3; {14994#(and (<= main_~v~0 4) (<= 100000 ~SIZE~0))} is VALID [2018-11-23 12:11:19,501 INFO L273 TraceCheckUtils]: 60: Hoare triple {14994#(and (<= main_~v~0 4) (<= 100000 ~SIZE~0))} #t~post2 := ~v~0;~v~0 := 1 + #t~post2;havoc #t~post2; {15025#(and (<= main_~v~0 5) (<= 100000 ~SIZE~0))} is VALID [2018-11-23 12:11:19,501 INFO L273 TraceCheckUtils]: 61: Hoare triple {15025#(and (<= main_~v~0 5) (<= 100000 ~SIZE~0))} assume !!(~v~0 < ~SIZE~0);call #t~mem3 := read~int(~#values~0.base, ~#values~0.offset + 4 * ~v~0, 4); {15025#(and (<= main_~v~0 5) (<= 100000 ~SIZE~0))} is VALID [2018-11-23 12:11:19,502 INFO L256 TraceCheckUtils]: 62: Hoare triple {15025#(and (<= main_~v~0 5) (<= 100000 ~SIZE~0))} call #t~ret4 := elem_exists(~#set~0.base, ~#set~0.offset, ~n~0, #t~mem3); {14823#(<= 100000 ~SIZE~0)} is VALID [2018-11-23 12:11:19,503 INFO L273 TraceCheckUtils]: 63: Hoare triple {14823#(<= 100000 ~SIZE~0)} ~set.base, ~set.offset := #in~set.base, #in~set.offset;~size := #in~size;~value := #in~value;havoc ~i~0;~i~0 := 0; {14823#(<= 100000 ~SIZE~0)} is VALID [2018-11-23 12:11:19,503 INFO L273 TraceCheckUtils]: 64: Hoare triple {14823#(<= 100000 ~SIZE~0)} assume !!(~i~0 < ~size);call #t~mem1 := read~int(~set.base, ~set.offset + 4 * ~i~0, 4); {14823#(<= 100000 ~SIZE~0)} is VALID [2018-11-23 12:11:19,504 INFO L273 TraceCheckUtils]: 65: Hoare triple {14823#(<= 100000 ~SIZE~0)} assume #t~mem1 == ~value;havoc #t~mem1;#res := 1; {14823#(<= 100000 ~SIZE~0)} is VALID [2018-11-23 12:11:19,504 INFO L273 TraceCheckUtils]: 66: Hoare triple {14823#(<= 100000 ~SIZE~0)} assume true; {14823#(<= 100000 ~SIZE~0)} is VALID [2018-11-23 12:11:19,506 INFO L268 TraceCheckUtils]: 67: Hoare quadruple {14823#(<= 100000 ~SIZE~0)} {15025#(and (<= main_~v~0 5) (<= 100000 ~SIZE~0))} #127#return; {15025#(and (<= main_~v~0 5) (<= 100000 ~SIZE~0))} is VALID [2018-11-23 12:11:19,506 INFO L273 TraceCheckUtils]: 68: Hoare triple {15025#(and (<= main_~v~0 5) (<= 100000 ~SIZE~0))} assume -2147483648 <= #t~ret4 && #t~ret4 <= 2147483647; {15025#(and (<= main_~v~0 5) (<= 100000 ~SIZE~0))} is VALID [2018-11-23 12:11:19,507 INFO L273 TraceCheckUtils]: 69: Hoare triple {15025#(and (<= main_~v~0 5) (<= 100000 ~SIZE~0))} assume !(1 != #t~ret4);havoc #t~ret4;havoc #t~mem3; {15025#(and (<= main_~v~0 5) (<= 100000 ~SIZE~0))} is VALID [2018-11-23 12:11:19,508 INFO L273 TraceCheckUtils]: 70: Hoare triple {15025#(and (<= main_~v~0 5) (<= 100000 ~SIZE~0))} #t~post2 := ~v~0;~v~0 := 1 + #t~post2;havoc #t~post2; {15056#(and (<= main_~v~0 6) (<= 100000 ~SIZE~0))} is VALID [2018-11-23 12:11:19,508 INFO L273 TraceCheckUtils]: 71: Hoare triple {15056#(and (<= main_~v~0 6) (<= 100000 ~SIZE~0))} assume !!(~v~0 < ~SIZE~0);call #t~mem3 := read~int(~#values~0.base, ~#values~0.offset + 4 * ~v~0, 4); {15056#(and (<= main_~v~0 6) (<= 100000 ~SIZE~0))} is VALID [2018-11-23 12:11:19,510 INFO L256 TraceCheckUtils]: 72: Hoare triple {15056#(and (<= main_~v~0 6) (<= 100000 ~SIZE~0))} call #t~ret4 := elem_exists(~#set~0.base, ~#set~0.offset, ~n~0, #t~mem3); {14823#(<= 100000 ~SIZE~0)} is VALID [2018-11-23 12:11:19,510 INFO L273 TraceCheckUtils]: 73: Hoare triple {14823#(<= 100000 ~SIZE~0)} ~set.base, ~set.offset := #in~set.base, #in~set.offset;~size := #in~size;~value := #in~value;havoc ~i~0;~i~0 := 0; {14823#(<= 100000 ~SIZE~0)} is VALID [2018-11-23 12:11:19,511 INFO L273 TraceCheckUtils]: 74: Hoare triple {14823#(<= 100000 ~SIZE~0)} assume !!(~i~0 < ~size);call #t~mem1 := read~int(~set.base, ~set.offset + 4 * ~i~0, 4); {14823#(<= 100000 ~SIZE~0)} is VALID [2018-11-23 12:11:19,511 INFO L273 TraceCheckUtils]: 75: Hoare triple {14823#(<= 100000 ~SIZE~0)} assume #t~mem1 == ~value;havoc #t~mem1;#res := 1; {14823#(<= 100000 ~SIZE~0)} is VALID [2018-11-23 12:11:19,512 INFO L273 TraceCheckUtils]: 76: Hoare triple {14823#(<= 100000 ~SIZE~0)} assume true; {14823#(<= 100000 ~SIZE~0)} is VALID [2018-11-23 12:11:19,513 INFO L268 TraceCheckUtils]: 77: Hoare quadruple {14823#(<= 100000 ~SIZE~0)} {15056#(and (<= main_~v~0 6) (<= 100000 ~SIZE~0))} #127#return; {15056#(and (<= main_~v~0 6) (<= 100000 ~SIZE~0))} is VALID [2018-11-23 12:11:19,514 INFO L273 TraceCheckUtils]: 78: Hoare triple {15056#(and (<= main_~v~0 6) (<= 100000 ~SIZE~0))} assume -2147483648 <= #t~ret4 && #t~ret4 <= 2147483647; {15056#(and (<= main_~v~0 6) (<= 100000 ~SIZE~0))} is VALID [2018-11-23 12:11:19,514 INFO L273 TraceCheckUtils]: 79: Hoare triple {15056#(and (<= main_~v~0 6) (<= 100000 ~SIZE~0))} assume !(1 != #t~ret4);havoc #t~ret4;havoc #t~mem3; {15056#(and (<= main_~v~0 6) (<= 100000 ~SIZE~0))} is VALID [2018-11-23 12:11:19,515 INFO L273 TraceCheckUtils]: 80: Hoare triple {15056#(and (<= main_~v~0 6) (<= 100000 ~SIZE~0))} #t~post2 := ~v~0;~v~0 := 1 + #t~post2;havoc #t~post2; {15087#(and (<= main_~v~0 7) (<= 100000 ~SIZE~0))} is VALID [2018-11-23 12:11:19,516 INFO L273 TraceCheckUtils]: 81: Hoare triple {15087#(and (<= main_~v~0 7) (<= 100000 ~SIZE~0))} assume !!(~v~0 < ~SIZE~0);call #t~mem3 := read~int(~#values~0.base, ~#values~0.offset + 4 * ~v~0, 4); {15087#(and (<= main_~v~0 7) (<= 100000 ~SIZE~0))} is VALID [2018-11-23 12:11:19,517 INFO L256 TraceCheckUtils]: 82: Hoare triple {15087#(and (<= main_~v~0 7) (<= 100000 ~SIZE~0))} call #t~ret4 := elem_exists(~#set~0.base, ~#set~0.offset, ~n~0, #t~mem3); {14823#(<= 100000 ~SIZE~0)} is VALID [2018-11-23 12:11:19,518 INFO L273 TraceCheckUtils]: 83: Hoare triple {14823#(<= 100000 ~SIZE~0)} ~set.base, ~set.offset := #in~set.base, #in~set.offset;~size := #in~size;~value := #in~value;havoc ~i~0;~i~0 := 0; {14823#(<= 100000 ~SIZE~0)} is VALID [2018-11-23 12:11:19,518 INFO L273 TraceCheckUtils]: 84: Hoare triple {14823#(<= 100000 ~SIZE~0)} assume !!(~i~0 < ~size);call #t~mem1 := read~int(~set.base, ~set.offset + 4 * ~i~0, 4); {14823#(<= 100000 ~SIZE~0)} is VALID [2018-11-23 12:11:19,519 INFO L273 TraceCheckUtils]: 85: Hoare triple {14823#(<= 100000 ~SIZE~0)} assume #t~mem1 == ~value;havoc #t~mem1;#res := 1; {14823#(<= 100000 ~SIZE~0)} is VALID [2018-11-23 12:11:19,519 INFO L273 TraceCheckUtils]: 86: Hoare triple {14823#(<= 100000 ~SIZE~0)} assume true; {14823#(<= 100000 ~SIZE~0)} is VALID [2018-11-23 12:11:19,520 INFO L268 TraceCheckUtils]: 87: Hoare quadruple {14823#(<= 100000 ~SIZE~0)} {15087#(and (<= main_~v~0 7) (<= 100000 ~SIZE~0))} #127#return; {15087#(and (<= main_~v~0 7) (<= 100000 ~SIZE~0))} is VALID [2018-11-23 12:11:19,521 INFO L273 TraceCheckUtils]: 88: Hoare triple {15087#(and (<= main_~v~0 7) (<= 100000 ~SIZE~0))} assume -2147483648 <= #t~ret4 && #t~ret4 <= 2147483647; {15087#(and (<= main_~v~0 7) (<= 100000 ~SIZE~0))} is VALID [2018-11-23 12:11:19,522 INFO L273 TraceCheckUtils]: 89: Hoare triple {15087#(and (<= main_~v~0 7) (<= 100000 ~SIZE~0))} assume !(1 != #t~ret4);havoc #t~ret4;havoc #t~mem3; {15087#(and (<= main_~v~0 7) (<= 100000 ~SIZE~0))} is VALID [2018-11-23 12:11:19,523 INFO L273 TraceCheckUtils]: 90: Hoare triple {15087#(and (<= main_~v~0 7) (<= 100000 ~SIZE~0))} #t~post2 := ~v~0;~v~0 := 1 + #t~post2;havoc #t~post2; {15118#(and (<= main_~v~0 8) (<= 100000 ~SIZE~0))} is VALID [2018-11-23 12:11:19,523 INFO L273 TraceCheckUtils]: 91: Hoare triple {15118#(and (<= main_~v~0 8) (<= 100000 ~SIZE~0))} assume !!(~v~0 < ~SIZE~0);call #t~mem3 := read~int(~#values~0.base, ~#values~0.offset + 4 * ~v~0, 4); {15118#(and (<= main_~v~0 8) (<= 100000 ~SIZE~0))} is VALID [2018-11-23 12:11:19,525 INFO L256 TraceCheckUtils]: 92: Hoare triple {15118#(and (<= main_~v~0 8) (<= 100000 ~SIZE~0))} call #t~ret4 := elem_exists(~#set~0.base, ~#set~0.offset, ~n~0, #t~mem3); {14823#(<= 100000 ~SIZE~0)} is VALID [2018-11-23 12:11:19,525 INFO L273 TraceCheckUtils]: 93: Hoare triple {14823#(<= 100000 ~SIZE~0)} ~set.base, ~set.offset := #in~set.base, #in~set.offset;~size := #in~size;~value := #in~value;havoc ~i~0;~i~0 := 0; {14823#(<= 100000 ~SIZE~0)} is VALID [2018-11-23 12:11:19,526 INFO L273 TraceCheckUtils]: 94: Hoare triple {14823#(<= 100000 ~SIZE~0)} assume !!(~i~0 < ~size);call #t~mem1 := read~int(~set.base, ~set.offset + 4 * ~i~0, 4); {14823#(<= 100000 ~SIZE~0)} is VALID [2018-11-23 12:11:19,526 INFO L273 TraceCheckUtils]: 95: Hoare triple {14823#(<= 100000 ~SIZE~0)} assume #t~mem1 == ~value;havoc #t~mem1;#res := 1; {14823#(<= 100000 ~SIZE~0)} is VALID [2018-11-23 12:11:19,526 INFO L273 TraceCheckUtils]: 96: Hoare triple {14823#(<= 100000 ~SIZE~0)} assume true; {14823#(<= 100000 ~SIZE~0)} is VALID [2018-11-23 12:11:19,528 INFO L268 TraceCheckUtils]: 97: Hoare quadruple {14823#(<= 100000 ~SIZE~0)} {15118#(and (<= main_~v~0 8) (<= 100000 ~SIZE~0))} #127#return; {15118#(and (<= main_~v~0 8) (<= 100000 ~SIZE~0))} is VALID [2018-11-23 12:11:19,528 INFO L273 TraceCheckUtils]: 98: Hoare triple {15118#(and (<= main_~v~0 8) (<= 100000 ~SIZE~0))} assume -2147483648 <= #t~ret4 && #t~ret4 <= 2147483647; {15118#(and (<= main_~v~0 8) (<= 100000 ~SIZE~0))} is VALID [2018-11-23 12:11:19,529 INFO L273 TraceCheckUtils]: 99: Hoare triple {15118#(and (<= main_~v~0 8) (<= 100000 ~SIZE~0))} assume !(1 != #t~ret4);havoc #t~ret4;havoc #t~mem3; {15118#(and (<= main_~v~0 8) (<= 100000 ~SIZE~0))} is VALID [2018-11-23 12:11:19,530 INFO L273 TraceCheckUtils]: 100: Hoare triple {15118#(and (<= main_~v~0 8) (<= 100000 ~SIZE~0))} #t~post2 := ~v~0;~v~0 := 1 + #t~post2;havoc #t~post2; {15149#(and (<= main_~v~0 9) (<= 100000 ~SIZE~0))} is VALID [2018-11-23 12:11:19,531 INFO L273 TraceCheckUtils]: 101: Hoare triple {15149#(and (<= main_~v~0 9) (<= 100000 ~SIZE~0))} assume !!(~v~0 < ~SIZE~0);call #t~mem3 := read~int(~#values~0.base, ~#values~0.offset + 4 * ~v~0, 4); {15149#(and (<= main_~v~0 9) (<= 100000 ~SIZE~0))} is VALID [2018-11-23 12:11:19,532 INFO L256 TraceCheckUtils]: 102: Hoare triple {15149#(and (<= main_~v~0 9) (<= 100000 ~SIZE~0))} call #t~ret4 := elem_exists(~#set~0.base, ~#set~0.offset, ~n~0, #t~mem3); {14823#(<= 100000 ~SIZE~0)} is VALID [2018-11-23 12:11:19,532 INFO L273 TraceCheckUtils]: 103: Hoare triple {14823#(<= 100000 ~SIZE~0)} ~set.base, ~set.offset := #in~set.base, #in~set.offset;~size := #in~size;~value := #in~value;havoc ~i~0;~i~0 := 0; {14823#(<= 100000 ~SIZE~0)} is VALID [2018-11-23 12:11:19,533 INFO L273 TraceCheckUtils]: 104: Hoare triple {14823#(<= 100000 ~SIZE~0)} assume !!(~i~0 < ~size);call #t~mem1 := read~int(~set.base, ~set.offset + 4 * ~i~0, 4); {14823#(<= 100000 ~SIZE~0)} is VALID [2018-11-23 12:11:19,533 INFO L273 TraceCheckUtils]: 105: Hoare triple {14823#(<= 100000 ~SIZE~0)} assume #t~mem1 == ~value;havoc #t~mem1;#res := 1; {14823#(<= 100000 ~SIZE~0)} is VALID [2018-11-23 12:11:19,534 INFO L273 TraceCheckUtils]: 106: Hoare triple {14823#(<= 100000 ~SIZE~0)} assume true; {14823#(<= 100000 ~SIZE~0)} is VALID [2018-11-23 12:11:19,535 INFO L268 TraceCheckUtils]: 107: Hoare quadruple {14823#(<= 100000 ~SIZE~0)} {15149#(and (<= main_~v~0 9) (<= 100000 ~SIZE~0))} #127#return; {15149#(and (<= main_~v~0 9) (<= 100000 ~SIZE~0))} is VALID [2018-11-23 12:11:19,536 INFO L273 TraceCheckUtils]: 108: Hoare triple {15149#(and (<= main_~v~0 9) (<= 100000 ~SIZE~0))} assume -2147483648 <= #t~ret4 && #t~ret4 <= 2147483647; {15149#(and (<= main_~v~0 9) (<= 100000 ~SIZE~0))} is VALID [2018-11-23 12:11:19,536 INFO L273 TraceCheckUtils]: 109: Hoare triple {15149#(and (<= main_~v~0 9) (<= 100000 ~SIZE~0))} assume !(1 != #t~ret4);havoc #t~ret4;havoc #t~mem3; {15149#(and (<= main_~v~0 9) (<= 100000 ~SIZE~0))} is VALID [2018-11-23 12:11:19,537 INFO L273 TraceCheckUtils]: 110: Hoare triple {15149#(and (<= main_~v~0 9) (<= 100000 ~SIZE~0))} #t~post2 := ~v~0;~v~0 := 1 + #t~post2;havoc #t~post2; {15180#(and (<= main_~v~0 10) (<= 100000 ~SIZE~0))} is VALID [2018-11-23 12:11:19,538 INFO L273 TraceCheckUtils]: 111: Hoare triple {15180#(and (<= main_~v~0 10) (<= 100000 ~SIZE~0))} assume !!(~v~0 < ~SIZE~0);call #t~mem3 := read~int(~#values~0.base, ~#values~0.offset + 4 * ~v~0, 4); {15180#(and (<= main_~v~0 10) (<= 100000 ~SIZE~0))} is VALID [2018-11-23 12:11:19,539 INFO L256 TraceCheckUtils]: 112: Hoare triple {15180#(and (<= main_~v~0 10) (<= 100000 ~SIZE~0))} call #t~ret4 := elem_exists(~#set~0.base, ~#set~0.offset, ~n~0, #t~mem3); {14823#(<= 100000 ~SIZE~0)} is VALID [2018-11-23 12:11:19,540 INFO L273 TraceCheckUtils]: 113: Hoare triple {14823#(<= 100000 ~SIZE~0)} ~set.base, ~set.offset := #in~set.base, #in~set.offset;~size := #in~size;~value := #in~value;havoc ~i~0;~i~0 := 0; {14823#(<= 100000 ~SIZE~0)} is VALID [2018-11-23 12:11:19,540 INFO L273 TraceCheckUtils]: 114: Hoare triple {14823#(<= 100000 ~SIZE~0)} assume !!(~i~0 < ~size);call #t~mem1 := read~int(~set.base, ~set.offset + 4 * ~i~0, 4); {14823#(<= 100000 ~SIZE~0)} is VALID [2018-11-23 12:11:19,541 INFO L273 TraceCheckUtils]: 115: Hoare triple {14823#(<= 100000 ~SIZE~0)} assume #t~mem1 == ~value;havoc #t~mem1;#res := 1; {14823#(<= 100000 ~SIZE~0)} is VALID [2018-11-23 12:11:19,541 INFO L273 TraceCheckUtils]: 116: Hoare triple {14823#(<= 100000 ~SIZE~0)} assume true; {14823#(<= 100000 ~SIZE~0)} is VALID [2018-11-23 12:11:19,545 INFO L268 TraceCheckUtils]: 117: Hoare quadruple {14823#(<= 100000 ~SIZE~0)} {15180#(and (<= main_~v~0 10) (<= 100000 ~SIZE~0))} #127#return; {15180#(and (<= main_~v~0 10) (<= 100000 ~SIZE~0))} is VALID [2018-11-23 12:11:19,546 INFO L273 TraceCheckUtils]: 118: Hoare triple {15180#(and (<= main_~v~0 10) (<= 100000 ~SIZE~0))} assume -2147483648 <= #t~ret4 && #t~ret4 <= 2147483647; {15180#(and (<= main_~v~0 10) (<= 100000 ~SIZE~0))} is VALID [2018-11-23 12:11:19,546 INFO L273 TraceCheckUtils]: 119: Hoare triple {15180#(and (<= main_~v~0 10) (<= 100000 ~SIZE~0))} assume !(1 != #t~ret4);havoc #t~ret4;havoc #t~mem3; {15180#(and (<= main_~v~0 10) (<= 100000 ~SIZE~0))} is VALID [2018-11-23 12:11:19,547 INFO L273 TraceCheckUtils]: 120: Hoare triple {15180#(and (<= main_~v~0 10) (<= 100000 ~SIZE~0))} #t~post2 := ~v~0;~v~0 := 1 + #t~post2;havoc #t~post2; {15211#(and (<= main_~v~0 11) (<= 100000 ~SIZE~0))} is VALID [2018-11-23 12:11:19,547 INFO L273 TraceCheckUtils]: 121: Hoare triple {15211#(and (<= main_~v~0 11) (<= 100000 ~SIZE~0))} assume !!(~v~0 < ~SIZE~0);call #t~mem3 := read~int(~#values~0.base, ~#values~0.offset + 4 * ~v~0, 4); {15211#(and (<= main_~v~0 11) (<= 100000 ~SIZE~0))} is VALID [2018-11-23 12:11:19,548 INFO L256 TraceCheckUtils]: 122: Hoare triple {15211#(and (<= main_~v~0 11) (<= 100000 ~SIZE~0))} call #t~ret4 := elem_exists(~#set~0.base, ~#set~0.offset, ~n~0, #t~mem3); {14823#(<= 100000 ~SIZE~0)} is VALID [2018-11-23 12:11:19,549 INFO L273 TraceCheckUtils]: 123: Hoare triple {14823#(<= 100000 ~SIZE~0)} ~set.base, ~set.offset := #in~set.base, #in~set.offset;~size := #in~size;~value := #in~value;havoc ~i~0;~i~0 := 0; {14823#(<= 100000 ~SIZE~0)} is VALID [2018-11-23 12:11:19,550 INFO L273 TraceCheckUtils]: 124: Hoare triple {14823#(<= 100000 ~SIZE~0)} assume !!(~i~0 < ~size);call #t~mem1 := read~int(~set.base, ~set.offset + 4 * ~i~0, 4); {14823#(<= 100000 ~SIZE~0)} is VALID [2018-11-23 12:11:19,550 INFO L273 TraceCheckUtils]: 125: Hoare triple {14823#(<= 100000 ~SIZE~0)} assume #t~mem1 == ~value;havoc #t~mem1;#res := 1; {14823#(<= 100000 ~SIZE~0)} is VALID [2018-11-23 12:11:19,551 INFO L273 TraceCheckUtils]: 126: Hoare triple {14823#(<= 100000 ~SIZE~0)} assume true; {14823#(<= 100000 ~SIZE~0)} is VALID [2018-11-23 12:11:19,552 INFO L268 TraceCheckUtils]: 127: Hoare quadruple {14823#(<= 100000 ~SIZE~0)} {15211#(and (<= main_~v~0 11) (<= 100000 ~SIZE~0))} #127#return; {15211#(and (<= main_~v~0 11) (<= 100000 ~SIZE~0))} is VALID [2018-11-23 12:11:19,553 INFO L273 TraceCheckUtils]: 128: Hoare triple {15211#(and (<= main_~v~0 11) (<= 100000 ~SIZE~0))} assume -2147483648 <= #t~ret4 && #t~ret4 <= 2147483647; {15211#(and (<= main_~v~0 11) (<= 100000 ~SIZE~0))} is VALID [2018-11-23 12:11:19,553 INFO L273 TraceCheckUtils]: 129: Hoare triple {15211#(and (<= main_~v~0 11) (<= 100000 ~SIZE~0))} assume !(1 != #t~ret4);havoc #t~ret4;havoc #t~mem3; {15211#(and (<= main_~v~0 11) (<= 100000 ~SIZE~0))} is VALID [2018-11-23 12:11:19,554 INFO L273 TraceCheckUtils]: 130: Hoare triple {15211#(and (<= main_~v~0 11) (<= 100000 ~SIZE~0))} #t~post2 := ~v~0;~v~0 := 1 + #t~post2;havoc #t~post2; {15242#(and (<= main_~v~0 12) (<= 100000 ~SIZE~0))} is VALID [2018-11-23 12:11:19,555 INFO L273 TraceCheckUtils]: 131: Hoare triple {15242#(and (<= main_~v~0 12) (<= 100000 ~SIZE~0))} assume !(~v~0 < ~SIZE~0); {14822#false} is VALID [2018-11-23 12:11:19,555 INFO L273 TraceCheckUtils]: 132: Hoare triple {14822#false} ~i~1 := 0; {14822#false} is VALID [2018-11-23 12:11:19,555 INFO L273 TraceCheckUtils]: 133: Hoare triple {14822#false} assume !!(~i~1 < ~SIZE~0 && 1 != ~found~0);call #t~mem8 := read~int(~#set~0.base, ~#set~0.offset + 4 * ~i~1, 4); {14822#false} is VALID [2018-11-23 12:11:19,555 INFO L273 TraceCheckUtils]: 134: Hoare triple {14822#false} assume !(#t~mem8 == ~element~0);havoc #t~mem8; {14822#false} is VALID [2018-11-23 12:11:19,556 INFO L273 TraceCheckUtils]: 135: Hoare triple {14822#false} #t~post7 := ~i~1;~i~1 := 1 + #t~post7;havoc #t~post7; {14822#false} is VALID [2018-11-23 12:11:19,556 INFO L273 TraceCheckUtils]: 136: Hoare triple {14822#false} assume !!(~i~1 < ~SIZE~0 && 1 != ~found~0);call #t~mem8 := read~int(~#set~0.base, ~#set~0.offset + 4 * ~i~1, 4); {14822#false} is VALID [2018-11-23 12:11:19,556 INFO L273 TraceCheckUtils]: 137: Hoare triple {14822#false} assume !(#t~mem8 == ~element~0);havoc #t~mem8; {14822#false} is VALID [2018-11-23 12:11:19,556 INFO L273 TraceCheckUtils]: 138: Hoare triple {14822#false} #t~post7 := ~i~1;~i~1 := 1 + #t~post7;havoc #t~post7; {14822#false} is VALID [2018-11-23 12:11:19,556 INFO L273 TraceCheckUtils]: 139: Hoare triple {14822#false} assume !!(~i~1 < ~SIZE~0 && 1 != ~found~0);call #t~mem8 := read~int(~#set~0.base, ~#set~0.offset + 4 * ~i~1, 4); {14822#false} is VALID [2018-11-23 12:11:19,556 INFO L273 TraceCheckUtils]: 140: Hoare triple {14822#false} assume #t~mem8 == ~element~0;havoc #t~mem8;~found~0 := 1;~pos~0 := ~i~1; {14822#false} is VALID [2018-11-23 12:11:19,557 INFO L273 TraceCheckUtils]: 141: Hoare triple {14822#false} #t~post7 := ~i~1;~i~1 := 1 + #t~post7;havoc #t~post7; {14822#false} is VALID [2018-11-23 12:11:19,557 INFO L273 TraceCheckUtils]: 142: Hoare triple {14822#false} assume !(~i~1 < ~SIZE~0 && 1 != ~found~0); {14822#false} is VALID [2018-11-23 12:11:19,557 INFO L273 TraceCheckUtils]: 143: Hoare triple {14822#false} assume 1 == ~found~0;~i~1 := ~pos~0; {14822#false} is VALID [2018-11-23 12:11:19,557 INFO L273 TraceCheckUtils]: 144: Hoare triple {14822#false} assume !!(~i~1 < ~SIZE~0 - 1);call #t~mem10 := read~int(~#set~0.base, ~#set~0.offset + 4 * (1 + ~i~1), 4);call write~int(#t~mem10, ~#set~0.base, ~#set~0.offset + 4 * ~i~1, 4);havoc #t~mem10; {14822#false} is VALID [2018-11-23 12:11:19,557 INFO L273 TraceCheckUtils]: 145: Hoare triple {14822#false} #t~post9 := ~i~1;~i~1 := 1 + #t~post9;havoc #t~post9; {14822#false} is VALID [2018-11-23 12:11:19,557 INFO L273 TraceCheckUtils]: 146: Hoare triple {14822#false} assume !(~i~1 < ~SIZE~0 - 1); {14822#false} is VALID [2018-11-23 12:11:19,557 INFO L273 TraceCheckUtils]: 147: Hoare triple {14822#false} assume 1 == ~found~0;~i~1 := 0; {14822#false} is VALID [2018-11-23 12:11:19,558 INFO L273 TraceCheckUtils]: 148: Hoare triple {14822#false} assume !!(~i~1 < ~SIZE~0 - 1);call #t~mem12 := read~int(~#set~0.base, ~#set~0.offset + 4 * ~i~1, 4); {14822#false} is VALID [2018-11-23 12:11:19,558 INFO L256 TraceCheckUtils]: 149: Hoare triple {14822#false} call __VERIFIER_assert((if #t~mem12 != ~element~0 then 1 else 0)); {14822#false} is VALID [2018-11-23 12:11:19,558 INFO L273 TraceCheckUtils]: 150: Hoare triple {14822#false} ~cond := #in~cond; {14822#false} is VALID [2018-11-23 12:11:19,558 INFO L273 TraceCheckUtils]: 151: Hoare triple {14822#false} assume 0 == ~cond; {14822#false} is VALID [2018-11-23 12:11:19,558 INFO L273 TraceCheckUtils]: 152: Hoare triple {14822#false} assume !false; {14822#false} is VALID [2018-11-23 12:11:19,579 INFO L134 CoverageAnalysis]: Checked inductivity of 674 backedges. 0 proven. 342 refuted. 0 times theorem prover too weak. 332 trivial. 0 not checked. [2018-11-23 12:11:19,598 INFO L312 seRefinementStrategy]: Constructing automaton from 0 perfect and 2 imperfect interpolant sequences. [2018-11-23 12:11:19,598 INFO L327 seRefinementStrategy]: Number of different interpolants: perfect sequences [] imperfect sequences [16, 16] total 29 [2018-11-23 12:11:19,599 INFO L78 Accepts]: Start accepts. Automaton has 29 states. Word has length 153 [2018-11-23 12:11:19,599 INFO L84 Accepts]: Finished accepts. word is accepted. [2018-11-23 12:11:19,599 INFO L86 InductivityCheck]: Starting indutivity check of a Floyd-Hoare automaton with 29 states. [2018-11-23 12:11:19,875 INFO L119 InductivityCheck]: Floyd-Hoare automaton has 191 edges. 191 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2018-11-23 12:11:19,875 INFO L459 AbstractCegarLoop]: Interpolant automaton has 29 states [2018-11-23 12:11:19,876 INFO L142 InterpolantAutomaton]: Constructing interpolant automaton starting with 29 interpolants. [2018-11-23 12:11:19,876 INFO L144 InterpolantAutomaton]: CoverageRelationStatistics Valid=328, Invalid=484, Unknown=0, NotChecked=0, Total=812 [2018-11-23 12:11:19,877 INFO L87 Difference]: Start difference. First operand 175 states and 237 transitions. Second operand 29 states. [2018-11-23 12:11:22,917 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2018-11-23 12:11:22,917 INFO L93 Difference]: Finished difference Result 238 states and 316 transitions. [2018-11-23 12:11:22,918 INFO L142 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 16 states. [2018-11-23 12:11:22,918 INFO L78 Accepts]: Start accepts. Automaton has 29 states. Word has length 153 [2018-11-23 12:11:22,918 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2018-11-23 12:11:22,918 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 29 states. [2018-11-23 12:11:22,921 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 16 states to 16 states and 199 transitions. [2018-11-23 12:11:22,921 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 29 states. [2018-11-23 12:11:22,924 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 16 states to 16 states and 199 transitions. [2018-11-23 12:11:22,925 INFO L86 InductivityCheck]: Starting indutivity check of a Floyd-Hoare automaton with 16 states and 199 transitions. [2018-11-23 12:11:23,206 INFO L119 InductivityCheck]: Floyd-Hoare automaton has 199 edges. 199 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2018-11-23 12:11:23,210 INFO L225 Difference]: With dead ends: 238 [2018-11-23 12:11:23,210 INFO L226 Difference]: Without dead ends: 192 [2018-11-23 12:11:23,211 INFO L631 BasicCegarLoop]: 0 DeclaredPredicates, 168 GetRequests, 141 SyntacticMatches, 0 SemanticMatches, 27 ConstructedPredicates, 0 IntricatePredicates, 0 DeprecatedPredicates, 309 ImplicationChecksByTransitivity, 0.3s TimeCoverageRelationStatistics Valid=328, Invalid=484, Unknown=0, NotChecked=0, Total=812 [2018-11-23 12:11:23,211 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 192 states. [2018-11-23 12:11:23,549 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 192 to 184. [2018-11-23 12:11:23,549 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2018-11-23 12:11:23,549 INFO L82 GeneralOperation]: Start isEquivalent. First operand 192 states. Second operand 184 states. [2018-11-23 12:11:23,550 INFO L74 IsIncluded]: Start isIncluded. First operand 192 states. Second operand 184 states. [2018-11-23 12:11:23,550 INFO L87 Difference]: Start difference. First operand 192 states. Second operand 184 states. [2018-11-23 12:11:23,556 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2018-11-23 12:11:23,556 INFO L93 Difference]: Finished difference Result 192 states and 264 transitions. [2018-11-23 12:11:23,556 INFO L276 IsEmpty]: Start isEmpty. Operand 192 states and 264 transitions. [2018-11-23 12:11:23,557 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2018-11-23 12:11:23,558 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2018-11-23 12:11:23,558 INFO L74 IsIncluded]: Start isIncluded. First operand 184 states. Second operand 192 states. [2018-11-23 12:11:23,558 INFO L87 Difference]: Start difference. First operand 184 states. Second operand 192 states. [2018-11-23 12:11:23,563 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2018-11-23 12:11:23,563 INFO L93 Difference]: Finished difference Result 192 states and 264 transitions. [2018-11-23 12:11:23,564 INFO L276 IsEmpty]: Start isEmpty. Operand 192 states and 264 transitions. [2018-11-23 12:11:23,565 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2018-11-23 12:11:23,565 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2018-11-23 12:11:23,565 INFO L88 GeneralOperation]: Finished isEquivalent. [2018-11-23 12:11:23,565 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2018-11-23 12:11:23,565 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 184 states. [2018-11-23 12:11:23,570 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 184 states to 184 states and 251 transitions. [2018-11-23 12:11:23,570 INFO L78 Accepts]: Start accepts. Automaton has 184 states and 251 transitions. Word has length 153 [2018-11-23 12:11:23,570 INFO L84 Accepts]: Finished accepts. word is rejected. [2018-11-23 12:11:23,571 INFO L480 AbstractCegarLoop]: Abstraction has 184 states and 251 transitions. [2018-11-23 12:11:23,571 INFO L481 AbstractCegarLoop]: Interpolant automaton has 29 states. [2018-11-23 12:11:23,571 INFO L276 IsEmpty]: Start isEmpty. Operand 184 states and 251 transitions. [2018-11-23 12:11:23,573 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 164 [2018-11-23 12:11:23,573 INFO L394 BasicCegarLoop]: Found error trace [2018-11-23 12:11:23,573 INFO L402 BasicCegarLoop]: trace histogram [13, 13, 13, 13, 13, 13, 13, 12, 12, 12, 3, 3, 2, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1] [2018-11-23 12:11:23,574 INFO L423 AbstractCegarLoop]: === Iteration 20 === [__VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION]=== [2018-11-23 12:11:23,574 INFO L141 PredicateUnifier]: Initialized classic predicate unifier [2018-11-23 12:11:23,574 INFO L82 PathProgramCache]: Analyzing trace with hash -932345682, now seen corresponding path program 6 times [2018-11-23 12:11:23,574 INFO L223 ckRefinementStrategy]: Switched to mode SMTINTERPOL_TREE_INTERPOLANTS [2018-11-23 12:11:23,574 INFO L69 tionRefinementEngine]: Using refinement strategy CamelRefinementStrategy [2018-11-23 12:11:23,575 INFO L119 rtionOrderModulation]: Craig_TreeInterpolation forces the order to NOT_INCREMENTALLY [2018-11-23 12:11:23,575 INFO L101 rtionOrderModulation]: Changing assertion order to NOT_INCREMENTALLY [2018-11-23 12:11:23,575 INFO L119 rtionOrderModulation]: Craig_TreeInterpolation forces the order to NOT_INCREMENTALLY [2018-11-23 12:11:23,598 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2018-11-23 12:11:23,882 INFO L256 TraceCheckUtils]: 0: Hoare triple {16263#true} call ULTIMATE.init(); {16263#true} is VALID [2018-11-23 12:11:23,883 INFO L273 TraceCheckUtils]: 1: Hoare triple {16263#true} #NULL.base, #NULL.offset := 0, 0;#valid := #valid[0 := 0];~SIZE~0 := 100000; {16265#(<= 100000 ~SIZE~0)} is VALID [2018-11-23 12:11:23,883 INFO L273 TraceCheckUtils]: 2: Hoare triple {16265#(<= 100000 ~SIZE~0)} assume true; {16265#(<= 100000 ~SIZE~0)} is VALID [2018-11-23 12:11:23,884 INFO L268 TraceCheckUtils]: 3: Hoare quadruple {16265#(<= 100000 ~SIZE~0)} {16263#true} #123#return; {16265#(<= 100000 ~SIZE~0)} is VALID [2018-11-23 12:11:23,884 INFO L256 TraceCheckUtils]: 4: Hoare triple {16265#(<= 100000 ~SIZE~0)} call #t~ret13 := main(); {16265#(<= 100000 ~SIZE~0)} is VALID [2018-11-23 12:11:23,885 INFO L273 TraceCheckUtils]: 5: Hoare triple {16265#(<= 100000 ~SIZE~0)} havoc ~i~1;havoc ~pos~0;~n~0 := 0;~found~0 := 0;call ~#set~0.base, ~#set~0.offset := #Ultimate.alloc(4 * ~SIZE~0);call ~#values~0.base, ~#values~0.offset := #Ultimate.alloc(4 * ~SIZE~0);havoc ~element~0;havoc ~v~0;~v~0 := 0; {16266#(and (= main_~v~0 0) (<= 100000 ~SIZE~0))} is VALID [2018-11-23 12:11:23,886 INFO L273 TraceCheckUtils]: 6: Hoare triple {16266#(and (= main_~v~0 0) (<= 100000 ~SIZE~0))} assume !!(~v~0 < ~SIZE~0);call #t~mem3 := read~int(~#values~0.base, ~#values~0.offset + 4 * ~v~0, 4); {16266#(and (= main_~v~0 0) (<= 100000 ~SIZE~0))} is VALID [2018-11-23 12:11:23,886 INFO L256 TraceCheckUtils]: 7: Hoare triple {16266#(and (= main_~v~0 0) (<= 100000 ~SIZE~0))} call #t~ret4 := elem_exists(~#set~0.base, ~#set~0.offset, ~n~0, #t~mem3); {16263#true} is VALID [2018-11-23 12:11:23,887 INFO L273 TraceCheckUtils]: 8: Hoare triple {16263#true} ~set.base, ~set.offset := #in~set.base, #in~set.offset;~size := #in~size;~value := #in~value;havoc ~i~0;~i~0 := 0; {16263#true} is VALID [2018-11-23 12:11:23,887 INFO L273 TraceCheckUtils]: 9: Hoare triple {16263#true} assume !(~i~0 < ~size); {16263#true} is VALID [2018-11-23 12:11:23,887 INFO L273 TraceCheckUtils]: 10: Hoare triple {16263#true} #res := 0; {16263#true} is VALID [2018-11-23 12:11:23,887 INFO L273 TraceCheckUtils]: 11: Hoare triple {16263#true} assume true; {16263#true} is VALID [2018-11-23 12:11:23,888 INFO L268 TraceCheckUtils]: 12: Hoare quadruple {16263#true} {16266#(and (= main_~v~0 0) (<= 100000 ~SIZE~0))} #127#return; {16266#(and (= main_~v~0 0) (<= 100000 ~SIZE~0))} is VALID [2018-11-23 12:11:23,889 INFO L273 TraceCheckUtils]: 13: Hoare triple {16266#(and (= main_~v~0 0) (<= 100000 ~SIZE~0))} assume -2147483648 <= #t~ret4 && #t~ret4 <= 2147483647; {16266#(and (= main_~v~0 0) (<= 100000 ~SIZE~0))} is VALID [2018-11-23 12:11:23,889 INFO L273 TraceCheckUtils]: 14: Hoare triple {16266#(and (= main_~v~0 0) (<= 100000 ~SIZE~0))} assume 1 != #t~ret4;havoc #t~ret4;havoc #t~mem3;call #t~mem5 := read~int(~#values~0.base, ~#values~0.offset + 4 * ~v~0, 4); {16266#(and (= main_~v~0 0) (<= 100000 ~SIZE~0))} is VALID [2018-11-23 12:11:23,889 INFO L256 TraceCheckUtils]: 15: Hoare triple {16266#(and (= main_~v~0 0) (<= 100000 ~SIZE~0))} call #t~ret6 := insert(~#set~0.base, ~#set~0.offset, ~n~0, #t~mem5); {16263#true} is VALID [2018-11-23 12:11:23,889 INFO L273 TraceCheckUtils]: 16: Hoare triple {16263#true} ~set.base, ~set.offset := #in~set.base, #in~set.offset;~size := #in~size;~value := #in~value;call write~int(~value, ~set.base, ~set.offset + 4 * ~size, 4);#res := 1 + ~size; {16263#true} is VALID [2018-11-23 12:11:23,889 INFO L273 TraceCheckUtils]: 17: Hoare triple {16263#true} assume true; {16263#true} is VALID [2018-11-23 12:11:23,890 INFO L268 TraceCheckUtils]: 18: Hoare quadruple {16263#true} {16266#(and (= main_~v~0 0) (<= 100000 ~SIZE~0))} #129#return; {16266#(and (= main_~v~0 0) (<= 100000 ~SIZE~0))} is VALID [2018-11-23 12:11:23,891 INFO L273 TraceCheckUtils]: 19: Hoare triple {16266#(and (= main_~v~0 0) (<= 100000 ~SIZE~0))} assume -2147483648 <= #t~ret6 && #t~ret6 <= 2147483647;~n~0 := #t~ret6;havoc #t~mem5;havoc #t~ret6; {16266#(and (= main_~v~0 0) (<= 100000 ~SIZE~0))} is VALID [2018-11-23 12:11:23,891 INFO L273 TraceCheckUtils]: 20: Hoare triple {16266#(and (= main_~v~0 0) (<= 100000 ~SIZE~0))} #t~post2 := ~v~0;~v~0 := 1 + #t~post2;havoc #t~post2; {16267#(<= (+ main_~v~0 99999) ~SIZE~0)} is VALID [2018-11-23 12:11:23,891 INFO L273 TraceCheckUtils]: 21: Hoare triple {16267#(<= (+ main_~v~0 99999) ~SIZE~0)} assume !!(~v~0 < ~SIZE~0);call #t~mem3 := read~int(~#values~0.base, ~#values~0.offset + 4 * ~v~0, 4); {16267#(<= (+ main_~v~0 99999) ~SIZE~0)} is VALID [2018-11-23 12:11:23,891 INFO L256 TraceCheckUtils]: 22: Hoare triple {16267#(<= (+ main_~v~0 99999) ~SIZE~0)} call #t~ret4 := elem_exists(~#set~0.base, ~#set~0.offset, ~n~0, #t~mem3); {16263#true} is VALID [2018-11-23 12:11:23,892 INFO L273 TraceCheckUtils]: 23: Hoare triple {16263#true} ~set.base, ~set.offset := #in~set.base, #in~set.offset;~size := #in~size;~value := #in~value;havoc ~i~0;~i~0 := 0; {16263#true} is VALID [2018-11-23 12:11:23,892 INFO L273 TraceCheckUtils]: 24: Hoare triple {16263#true} assume !!(~i~0 < ~size);call #t~mem1 := read~int(~set.base, ~set.offset + 4 * ~i~0, 4); {16263#true} is VALID [2018-11-23 12:11:23,892 INFO L273 TraceCheckUtils]: 25: Hoare triple {16263#true} assume #t~mem1 == ~value;havoc #t~mem1;#res := 1; {16263#true} is VALID [2018-11-23 12:11:23,892 INFO L273 TraceCheckUtils]: 26: Hoare triple {16263#true} assume true; {16263#true} is VALID [2018-11-23 12:11:23,893 INFO L268 TraceCheckUtils]: 27: Hoare quadruple {16263#true} {16267#(<= (+ main_~v~0 99999) ~SIZE~0)} #127#return; {16267#(<= (+ main_~v~0 99999) ~SIZE~0)} is VALID [2018-11-23 12:11:23,894 INFO L273 TraceCheckUtils]: 28: Hoare triple {16267#(<= (+ main_~v~0 99999) ~SIZE~0)} assume -2147483648 <= #t~ret4 && #t~ret4 <= 2147483647; {16267#(<= (+ main_~v~0 99999) ~SIZE~0)} is VALID [2018-11-23 12:11:23,894 INFO L273 TraceCheckUtils]: 29: Hoare triple {16267#(<= (+ main_~v~0 99999) ~SIZE~0)} assume !(1 != #t~ret4);havoc #t~ret4;havoc #t~mem3; {16267#(<= (+ main_~v~0 99999) ~SIZE~0)} is VALID [2018-11-23 12:11:23,894 INFO L273 TraceCheckUtils]: 30: Hoare triple {16267#(<= (+ main_~v~0 99999) ~SIZE~0)} #t~post2 := ~v~0;~v~0 := 1 + #t~post2;havoc #t~post2; {16268#(<= (+ main_~v~0 99998) ~SIZE~0)} is VALID [2018-11-23 12:11:23,895 INFO L273 TraceCheckUtils]: 31: Hoare triple {16268#(<= (+ main_~v~0 99998) ~SIZE~0)} assume !!(~v~0 < ~SIZE~0);call #t~mem3 := read~int(~#values~0.base, ~#values~0.offset + 4 * ~v~0, 4); {16268#(<= (+ main_~v~0 99998) ~SIZE~0)} is VALID [2018-11-23 12:11:23,895 INFO L256 TraceCheckUtils]: 32: Hoare triple {16268#(<= (+ main_~v~0 99998) ~SIZE~0)} call #t~ret4 := elem_exists(~#set~0.base, ~#set~0.offset, ~n~0, #t~mem3); {16263#true} is VALID [2018-11-23 12:11:23,895 INFO L273 TraceCheckUtils]: 33: Hoare triple {16263#true} ~set.base, ~set.offset := #in~set.base, #in~set.offset;~size := #in~size;~value := #in~value;havoc ~i~0;~i~0 := 0; {16263#true} is VALID [2018-11-23 12:11:23,895 INFO L273 TraceCheckUtils]: 34: Hoare triple {16263#true} assume !!(~i~0 < ~size);call #t~mem1 := read~int(~set.base, ~set.offset + 4 * ~i~0, 4); {16263#true} is VALID [2018-11-23 12:11:23,895 INFO L273 TraceCheckUtils]: 35: Hoare triple {16263#true} assume #t~mem1 == ~value;havoc #t~mem1;#res := 1; {16263#true} is VALID [2018-11-23 12:11:23,895 INFO L273 TraceCheckUtils]: 36: Hoare triple {16263#true} assume true; {16263#true} is VALID [2018-11-23 12:11:23,896 INFO L268 TraceCheckUtils]: 37: Hoare quadruple {16263#true} {16268#(<= (+ main_~v~0 99998) ~SIZE~0)} #127#return; {16268#(<= (+ main_~v~0 99998) ~SIZE~0)} is VALID [2018-11-23 12:11:23,897 INFO L273 TraceCheckUtils]: 38: Hoare triple {16268#(<= (+ main_~v~0 99998) ~SIZE~0)} assume -2147483648 <= #t~ret4 && #t~ret4 <= 2147483647; {16268#(<= (+ main_~v~0 99998) ~SIZE~0)} is VALID [2018-11-23 12:11:23,897 INFO L273 TraceCheckUtils]: 39: Hoare triple {16268#(<= (+ main_~v~0 99998) ~SIZE~0)} assume !(1 != #t~ret4);havoc #t~ret4;havoc #t~mem3; {16268#(<= (+ main_~v~0 99998) ~SIZE~0)} is VALID [2018-11-23 12:11:23,898 INFO L273 TraceCheckUtils]: 40: Hoare triple {16268#(<= (+ main_~v~0 99998) ~SIZE~0)} #t~post2 := ~v~0;~v~0 := 1 + #t~post2;havoc #t~post2; {16269#(<= (+ main_~v~0 99997) ~SIZE~0)} is VALID [2018-11-23 12:11:23,899 INFO L273 TraceCheckUtils]: 41: Hoare triple {16269#(<= (+ main_~v~0 99997) ~SIZE~0)} assume !!(~v~0 < ~SIZE~0);call #t~mem3 := read~int(~#values~0.base, ~#values~0.offset + 4 * ~v~0, 4); {16269#(<= (+ main_~v~0 99997) ~SIZE~0)} is VALID [2018-11-23 12:11:23,899 INFO L256 TraceCheckUtils]: 42: Hoare triple {16269#(<= (+ main_~v~0 99997) ~SIZE~0)} call #t~ret4 := elem_exists(~#set~0.base, ~#set~0.offset, ~n~0, #t~mem3); {16263#true} is VALID [2018-11-23 12:11:23,899 INFO L273 TraceCheckUtils]: 43: Hoare triple {16263#true} ~set.base, ~set.offset := #in~set.base, #in~set.offset;~size := #in~size;~value := #in~value;havoc ~i~0;~i~0 := 0; {16263#true} is VALID [2018-11-23 12:11:23,899 INFO L273 TraceCheckUtils]: 44: Hoare triple {16263#true} assume !!(~i~0 < ~size);call #t~mem1 := read~int(~set.base, ~set.offset + 4 * ~i~0, 4); {16263#true} is VALID [2018-11-23 12:11:23,900 INFO L273 TraceCheckUtils]: 45: Hoare triple {16263#true} assume #t~mem1 == ~value;havoc #t~mem1;#res := 1; {16263#true} is VALID [2018-11-23 12:11:23,900 INFO L273 TraceCheckUtils]: 46: Hoare triple {16263#true} assume true; {16263#true} is VALID [2018-11-23 12:11:23,901 INFO L268 TraceCheckUtils]: 47: Hoare quadruple {16263#true} {16269#(<= (+ main_~v~0 99997) ~SIZE~0)} #127#return; {16269#(<= (+ main_~v~0 99997) ~SIZE~0)} is VALID [2018-11-23 12:11:23,901 INFO L273 TraceCheckUtils]: 48: Hoare triple {16269#(<= (+ main_~v~0 99997) ~SIZE~0)} assume -2147483648 <= #t~ret4 && #t~ret4 <= 2147483647; {16269#(<= (+ main_~v~0 99997) ~SIZE~0)} is VALID [2018-11-23 12:11:23,902 INFO L273 TraceCheckUtils]: 49: Hoare triple {16269#(<= (+ main_~v~0 99997) ~SIZE~0)} assume !(1 != #t~ret4);havoc #t~ret4;havoc #t~mem3; {16269#(<= (+ main_~v~0 99997) ~SIZE~0)} is VALID [2018-11-23 12:11:23,903 INFO L273 TraceCheckUtils]: 50: Hoare triple {16269#(<= (+ main_~v~0 99997) ~SIZE~0)} #t~post2 := ~v~0;~v~0 := 1 + #t~post2;havoc #t~post2; {16270#(<= (+ main_~v~0 99996) ~SIZE~0)} is VALID [2018-11-23 12:11:23,903 INFO L273 TraceCheckUtils]: 51: Hoare triple {16270#(<= (+ main_~v~0 99996) ~SIZE~0)} assume !!(~v~0 < ~SIZE~0);call #t~mem3 := read~int(~#values~0.base, ~#values~0.offset + 4 * ~v~0, 4); {16270#(<= (+ main_~v~0 99996) ~SIZE~0)} is VALID [2018-11-23 12:11:23,903 INFO L256 TraceCheckUtils]: 52: Hoare triple {16270#(<= (+ main_~v~0 99996) ~SIZE~0)} call #t~ret4 := elem_exists(~#set~0.base, ~#set~0.offset, ~n~0, #t~mem3); {16263#true} is VALID [2018-11-23 12:11:23,904 INFO L273 TraceCheckUtils]: 53: Hoare triple {16263#true} ~set.base, ~set.offset := #in~set.base, #in~set.offset;~size := #in~size;~value := #in~value;havoc ~i~0;~i~0 := 0; {16263#true} is VALID [2018-11-23 12:11:23,904 INFO L273 TraceCheckUtils]: 54: Hoare triple {16263#true} assume !!(~i~0 < ~size);call #t~mem1 := read~int(~set.base, ~set.offset + 4 * ~i~0, 4); {16263#true} is VALID [2018-11-23 12:11:23,904 INFO L273 TraceCheckUtils]: 55: Hoare triple {16263#true} assume #t~mem1 == ~value;havoc #t~mem1;#res := 1; {16263#true} is VALID [2018-11-23 12:11:23,904 INFO L273 TraceCheckUtils]: 56: Hoare triple {16263#true} assume true; {16263#true} is VALID [2018-11-23 12:11:23,905 INFO L268 TraceCheckUtils]: 57: Hoare quadruple {16263#true} {16270#(<= (+ main_~v~0 99996) ~SIZE~0)} #127#return; {16270#(<= (+ main_~v~0 99996) ~SIZE~0)} is VALID [2018-11-23 12:11:23,906 INFO L273 TraceCheckUtils]: 58: Hoare triple {16270#(<= (+ main_~v~0 99996) ~SIZE~0)} assume -2147483648 <= #t~ret4 && #t~ret4 <= 2147483647; {16270#(<= (+ main_~v~0 99996) ~SIZE~0)} is VALID [2018-11-23 12:11:23,906 INFO L273 TraceCheckUtils]: 59: Hoare triple {16270#(<= (+ main_~v~0 99996) ~SIZE~0)} assume !(1 != #t~ret4);havoc #t~ret4;havoc #t~mem3; {16270#(<= (+ main_~v~0 99996) ~SIZE~0)} is VALID [2018-11-23 12:11:23,907 INFO L273 TraceCheckUtils]: 60: Hoare triple {16270#(<= (+ main_~v~0 99996) ~SIZE~0)} #t~post2 := ~v~0;~v~0 := 1 + #t~post2;havoc #t~post2; {16271#(<= (+ main_~v~0 99995) ~SIZE~0)} is VALID [2018-11-23 12:11:23,908 INFO L273 TraceCheckUtils]: 61: Hoare triple {16271#(<= (+ main_~v~0 99995) ~SIZE~0)} assume !!(~v~0 < ~SIZE~0);call #t~mem3 := read~int(~#values~0.base, ~#values~0.offset + 4 * ~v~0, 4); {16271#(<= (+ main_~v~0 99995) ~SIZE~0)} is VALID [2018-11-23 12:11:23,908 INFO L256 TraceCheckUtils]: 62: Hoare triple {16271#(<= (+ main_~v~0 99995) ~SIZE~0)} call #t~ret4 := elem_exists(~#set~0.base, ~#set~0.offset, ~n~0, #t~mem3); {16263#true} is VALID [2018-11-23 12:11:23,908 INFO L273 TraceCheckUtils]: 63: Hoare triple {16263#true} ~set.base, ~set.offset := #in~set.base, #in~set.offset;~size := #in~size;~value := #in~value;havoc ~i~0;~i~0 := 0; {16263#true} is VALID [2018-11-23 12:11:23,908 INFO L273 TraceCheckUtils]: 64: Hoare triple {16263#true} assume !!(~i~0 < ~size);call #t~mem1 := read~int(~set.base, ~set.offset + 4 * ~i~0, 4); {16263#true} is VALID [2018-11-23 12:11:23,909 INFO L273 TraceCheckUtils]: 65: Hoare triple {16263#true} assume #t~mem1 == ~value;havoc #t~mem1;#res := 1; {16263#true} is VALID [2018-11-23 12:11:23,909 INFO L273 TraceCheckUtils]: 66: Hoare triple {16263#true} assume true; {16263#true} is VALID [2018-11-23 12:11:23,910 INFO L268 TraceCheckUtils]: 67: Hoare quadruple {16263#true} {16271#(<= (+ main_~v~0 99995) ~SIZE~0)} #127#return; {16271#(<= (+ main_~v~0 99995) ~SIZE~0)} is VALID [2018-11-23 12:11:23,910 INFO L273 TraceCheckUtils]: 68: Hoare triple {16271#(<= (+ main_~v~0 99995) ~SIZE~0)} assume -2147483648 <= #t~ret4 && #t~ret4 <= 2147483647; {16271#(<= (+ main_~v~0 99995) ~SIZE~0)} is VALID [2018-11-23 12:11:23,911 INFO L273 TraceCheckUtils]: 69: Hoare triple {16271#(<= (+ main_~v~0 99995) ~SIZE~0)} assume !(1 != #t~ret4);havoc #t~ret4;havoc #t~mem3; {16271#(<= (+ main_~v~0 99995) ~SIZE~0)} is VALID [2018-11-23 12:11:23,912 INFO L273 TraceCheckUtils]: 70: Hoare triple {16271#(<= (+ main_~v~0 99995) ~SIZE~0)} #t~post2 := ~v~0;~v~0 := 1 + #t~post2;havoc #t~post2; {16272#(<= (+ main_~v~0 99994) ~SIZE~0)} is VALID [2018-11-23 12:11:23,912 INFO L273 TraceCheckUtils]: 71: Hoare triple {16272#(<= (+ main_~v~0 99994) ~SIZE~0)} assume !!(~v~0 < ~SIZE~0);call #t~mem3 := read~int(~#values~0.base, ~#values~0.offset + 4 * ~v~0, 4); {16272#(<= (+ main_~v~0 99994) ~SIZE~0)} is VALID [2018-11-23 12:11:23,912 INFO L256 TraceCheckUtils]: 72: Hoare triple {16272#(<= (+ main_~v~0 99994) ~SIZE~0)} call #t~ret4 := elem_exists(~#set~0.base, ~#set~0.offset, ~n~0, #t~mem3); {16263#true} is VALID [2018-11-23 12:11:23,913 INFO L273 TraceCheckUtils]: 73: Hoare triple {16263#true} ~set.base, ~set.offset := #in~set.base, #in~set.offset;~size := #in~size;~value := #in~value;havoc ~i~0;~i~0 := 0; {16263#true} is VALID [2018-11-23 12:11:23,913 INFO L273 TraceCheckUtils]: 74: Hoare triple {16263#true} assume !!(~i~0 < ~size);call #t~mem1 := read~int(~set.base, ~set.offset + 4 * ~i~0, 4); {16263#true} is VALID [2018-11-23 12:11:23,913 INFO L273 TraceCheckUtils]: 75: Hoare triple {16263#true} assume #t~mem1 == ~value;havoc #t~mem1;#res := 1; {16263#true} is VALID [2018-11-23 12:11:23,913 INFO L273 TraceCheckUtils]: 76: Hoare triple {16263#true} assume true; {16263#true} is VALID [2018-11-23 12:11:23,914 INFO L268 TraceCheckUtils]: 77: Hoare quadruple {16263#true} {16272#(<= (+ main_~v~0 99994) ~SIZE~0)} #127#return; {16272#(<= (+ main_~v~0 99994) ~SIZE~0)} is VALID [2018-11-23 12:11:23,915 INFO L273 TraceCheckUtils]: 78: Hoare triple {16272#(<= (+ main_~v~0 99994) ~SIZE~0)} assume -2147483648 <= #t~ret4 && #t~ret4 <= 2147483647; {16272#(<= (+ main_~v~0 99994) ~SIZE~0)} is VALID [2018-11-23 12:11:23,915 INFO L273 TraceCheckUtils]: 79: Hoare triple {16272#(<= (+ main_~v~0 99994) ~SIZE~0)} assume !(1 != #t~ret4);havoc #t~ret4;havoc #t~mem3; {16272#(<= (+ main_~v~0 99994) ~SIZE~0)} is VALID [2018-11-23 12:11:23,916 INFO L273 TraceCheckUtils]: 80: Hoare triple {16272#(<= (+ main_~v~0 99994) ~SIZE~0)} #t~post2 := ~v~0;~v~0 := 1 + #t~post2;havoc #t~post2; {16273#(<= (+ main_~v~0 99993) ~SIZE~0)} is VALID [2018-11-23 12:11:23,917 INFO L273 TraceCheckUtils]: 81: Hoare triple {16273#(<= (+ main_~v~0 99993) ~SIZE~0)} assume !!(~v~0 < ~SIZE~0);call #t~mem3 := read~int(~#values~0.base, ~#values~0.offset + 4 * ~v~0, 4); {16273#(<= (+ main_~v~0 99993) ~SIZE~0)} is VALID [2018-11-23 12:11:23,917 INFO L256 TraceCheckUtils]: 82: Hoare triple {16273#(<= (+ main_~v~0 99993) ~SIZE~0)} call #t~ret4 := elem_exists(~#set~0.base, ~#set~0.offset, ~n~0, #t~mem3); {16263#true} is VALID [2018-11-23 12:11:23,917 INFO L273 TraceCheckUtils]: 83: Hoare triple {16263#true} ~set.base, ~set.offset := #in~set.base, #in~set.offset;~size := #in~size;~value := #in~value;havoc ~i~0;~i~0 := 0; {16263#true} is VALID [2018-11-23 12:11:23,917 INFO L273 TraceCheckUtils]: 84: Hoare triple {16263#true} assume !!(~i~0 < ~size);call #t~mem1 := read~int(~set.base, ~set.offset + 4 * ~i~0, 4); {16263#true} is VALID [2018-11-23 12:11:23,918 INFO L273 TraceCheckUtils]: 85: Hoare triple {16263#true} assume #t~mem1 == ~value;havoc #t~mem1;#res := 1; {16263#true} is VALID [2018-11-23 12:11:23,918 INFO L273 TraceCheckUtils]: 86: Hoare triple {16263#true} assume true; {16263#true} is VALID [2018-11-23 12:11:23,919 INFO L268 TraceCheckUtils]: 87: Hoare quadruple {16263#true} {16273#(<= (+ main_~v~0 99993) ~SIZE~0)} #127#return; {16273#(<= (+ main_~v~0 99993) ~SIZE~0)} is VALID [2018-11-23 12:11:23,919 INFO L273 TraceCheckUtils]: 88: Hoare triple {16273#(<= (+ main_~v~0 99993) ~SIZE~0)} assume -2147483648 <= #t~ret4 && #t~ret4 <= 2147483647; {16273#(<= (+ main_~v~0 99993) ~SIZE~0)} is VALID [2018-11-23 12:11:23,920 INFO L273 TraceCheckUtils]: 89: Hoare triple {16273#(<= (+ main_~v~0 99993) ~SIZE~0)} assume !(1 != #t~ret4);havoc #t~ret4;havoc #t~mem3; {16273#(<= (+ main_~v~0 99993) ~SIZE~0)} is VALID [2018-11-23 12:11:23,920 INFO L273 TraceCheckUtils]: 90: Hoare triple {16273#(<= (+ main_~v~0 99993) ~SIZE~0)} #t~post2 := ~v~0;~v~0 := 1 + #t~post2;havoc #t~post2; {16274#(<= (+ main_~v~0 99992) ~SIZE~0)} is VALID [2018-11-23 12:11:23,921 INFO L273 TraceCheckUtils]: 91: Hoare triple {16274#(<= (+ main_~v~0 99992) ~SIZE~0)} assume !!(~v~0 < ~SIZE~0);call #t~mem3 := read~int(~#values~0.base, ~#values~0.offset + 4 * ~v~0, 4); {16274#(<= (+ main_~v~0 99992) ~SIZE~0)} is VALID [2018-11-23 12:11:23,921 INFO L256 TraceCheckUtils]: 92: Hoare triple {16274#(<= (+ main_~v~0 99992) ~SIZE~0)} call #t~ret4 := elem_exists(~#set~0.base, ~#set~0.offset, ~n~0, #t~mem3); {16263#true} is VALID [2018-11-23 12:11:23,921 INFO L273 TraceCheckUtils]: 93: Hoare triple {16263#true} ~set.base, ~set.offset := #in~set.base, #in~set.offset;~size := #in~size;~value := #in~value;havoc ~i~0;~i~0 := 0; {16263#true} is VALID [2018-11-23 12:11:23,922 INFO L273 TraceCheckUtils]: 94: Hoare triple {16263#true} assume !!(~i~0 < ~size);call #t~mem1 := read~int(~set.base, ~set.offset + 4 * ~i~0, 4); {16263#true} is VALID [2018-11-23 12:11:23,922 INFO L273 TraceCheckUtils]: 95: Hoare triple {16263#true} assume #t~mem1 == ~value;havoc #t~mem1;#res := 1; {16263#true} is VALID [2018-11-23 12:11:23,922 INFO L273 TraceCheckUtils]: 96: Hoare triple {16263#true} assume true; {16263#true} is VALID [2018-11-23 12:11:23,923 INFO L268 TraceCheckUtils]: 97: Hoare quadruple {16263#true} {16274#(<= (+ main_~v~0 99992) ~SIZE~0)} #127#return; {16274#(<= (+ main_~v~0 99992) ~SIZE~0)} is VALID [2018-11-23 12:11:23,924 INFO L273 TraceCheckUtils]: 98: Hoare triple {16274#(<= (+ main_~v~0 99992) ~SIZE~0)} assume -2147483648 <= #t~ret4 && #t~ret4 <= 2147483647; {16274#(<= (+ main_~v~0 99992) ~SIZE~0)} is VALID [2018-11-23 12:11:23,925 INFO L273 TraceCheckUtils]: 99: Hoare triple {16274#(<= (+ main_~v~0 99992) ~SIZE~0)} assume !(1 != #t~ret4);havoc #t~ret4;havoc #t~mem3; {16274#(<= (+ main_~v~0 99992) ~SIZE~0)} is VALID [2018-11-23 12:11:23,926 INFO L273 TraceCheckUtils]: 100: Hoare triple {16274#(<= (+ main_~v~0 99992) ~SIZE~0)} #t~post2 := ~v~0;~v~0 := 1 + #t~post2;havoc #t~post2; {16275#(<= (+ main_~v~0 99991) ~SIZE~0)} is VALID [2018-11-23 12:11:23,926 INFO L273 TraceCheckUtils]: 101: Hoare triple {16275#(<= (+ main_~v~0 99991) ~SIZE~0)} assume !!(~v~0 < ~SIZE~0);call #t~mem3 := read~int(~#values~0.base, ~#values~0.offset + 4 * ~v~0, 4); {16275#(<= (+ main_~v~0 99991) ~SIZE~0)} is VALID [2018-11-23 12:11:23,926 INFO L256 TraceCheckUtils]: 102: Hoare triple {16275#(<= (+ main_~v~0 99991) ~SIZE~0)} call #t~ret4 := elem_exists(~#set~0.base, ~#set~0.offset, ~n~0, #t~mem3); {16263#true} is VALID [2018-11-23 12:11:23,926 INFO L273 TraceCheckUtils]: 103: Hoare triple {16263#true} ~set.base, ~set.offset := #in~set.base, #in~set.offset;~size := #in~size;~value := #in~value;havoc ~i~0;~i~0 := 0; {16263#true} is VALID [2018-11-23 12:11:23,926 INFO L273 TraceCheckUtils]: 104: Hoare triple {16263#true} assume !!(~i~0 < ~size);call #t~mem1 := read~int(~set.base, ~set.offset + 4 * ~i~0, 4); {16263#true} is VALID [2018-11-23 12:11:23,926 INFO L273 TraceCheckUtils]: 105: Hoare triple {16263#true} assume #t~mem1 == ~value;havoc #t~mem1;#res := 1; {16263#true} is VALID [2018-11-23 12:11:23,926 INFO L273 TraceCheckUtils]: 106: Hoare triple {16263#true} assume true; {16263#true} is VALID [2018-11-23 12:11:23,927 INFO L268 TraceCheckUtils]: 107: Hoare quadruple {16263#true} {16275#(<= (+ main_~v~0 99991) ~SIZE~0)} #127#return; {16275#(<= (+ main_~v~0 99991) ~SIZE~0)} is VALID [2018-11-23 12:11:23,928 INFO L273 TraceCheckUtils]: 108: Hoare triple {16275#(<= (+ main_~v~0 99991) ~SIZE~0)} assume -2147483648 <= #t~ret4 && #t~ret4 <= 2147483647; {16275#(<= (+ main_~v~0 99991) ~SIZE~0)} is VALID [2018-11-23 12:11:23,928 INFO L273 TraceCheckUtils]: 109: Hoare triple {16275#(<= (+ main_~v~0 99991) ~SIZE~0)} assume !(1 != #t~ret4);havoc #t~ret4;havoc #t~mem3; {16275#(<= (+ main_~v~0 99991) ~SIZE~0)} is VALID [2018-11-23 12:11:23,929 INFO L273 TraceCheckUtils]: 110: Hoare triple {16275#(<= (+ main_~v~0 99991) ~SIZE~0)} #t~post2 := ~v~0;~v~0 := 1 + #t~post2;havoc #t~post2; {16276#(<= (+ main_~v~0 99990) ~SIZE~0)} is VALID [2018-11-23 12:11:23,929 INFO L273 TraceCheckUtils]: 111: Hoare triple {16276#(<= (+ main_~v~0 99990) ~SIZE~0)} assume !!(~v~0 < ~SIZE~0);call #t~mem3 := read~int(~#values~0.base, ~#values~0.offset + 4 * ~v~0, 4); {16276#(<= (+ main_~v~0 99990) ~SIZE~0)} is VALID [2018-11-23 12:11:23,930 INFO L256 TraceCheckUtils]: 112: Hoare triple {16276#(<= (+ main_~v~0 99990) ~SIZE~0)} call #t~ret4 := elem_exists(~#set~0.base, ~#set~0.offset, ~n~0, #t~mem3); {16263#true} is VALID [2018-11-23 12:11:23,930 INFO L273 TraceCheckUtils]: 113: Hoare triple {16263#true} ~set.base, ~set.offset := #in~set.base, #in~set.offset;~size := #in~size;~value := #in~value;havoc ~i~0;~i~0 := 0; {16263#true} is VALID [2018-11-23 12:11:23,930 INFO L273 TraceCheckUtils]: 114: Hoare triple {16263#true} assume !!(~i~0 < ~size);call #t~mem1 := read~int(~set.base, ~set.offset + 4 * ~i~0, 4); {16263#true} is VALID [2018-11-23 12:11:23,930 INFO L273 TraceCheckUtils]: 115: Hoare triple {16263#true} assume #t~mem1 == ~value;havoc #t~mem1;#res := 1; {16263#true} is VALID [2018-11-23 12:11:23,930 INFO L273 TraceCheckUtils]: 116: Hoare triple {16263#true} assume true; {16263#true} is VALID [2018-11-23 12:11:23,931 INFO L268 TraceCheckUtils]: 117: Hoare quadruple {16263#true} {16276#(<= (+ main_~v~0 99990) ~SIZE~0)} #127#return; {16276#(<= (+ main_~v~0 99990) ~SIZE~0)} is VALID [2018-11-23 12:11:23,932 INFO L273 TraceCheckUtils]: 118: Hoare triple {16276#(<= (+ main_~v~0 99990) ~SIZE~0)} assume -2147483648 <= #t~ret4 && #t~ret4 <= 2147483647; {16276#(<= (+ main_~v~0 99990) ~SIZE~0)} is VALID [2018-11-23 12:11:23,932 INFO L273 TraceCheckUtils]: 119: Hoare triple {16276#(<= (+ main_~v~0 99990) ~SIZE~0)} assume !(1 != #t~ret4);havoc #t~ret4;havoc #t~mem3; {16276#(<= (+ main_~v~0 99990) ~SIZE~0)} is VALID [2018-11-23 12:11:23,933 INFO L273 TraceCheckUtils]: 120: Hoare triple {16276#(<= (+ main_~v~0 99990) ~SIZE~0)} #t~post2 := ~v~0;~v~0 := 1 + #t~post2;havoc #t~post2; {16277#(<= (+ main_~v~0 99989) ~SIZE~0)} is VALID [2018-11-23 12:11:23,934 INFO L273 TraceCheckUtils]: 121: Hoare triple {16277#(<= (+ main_~v~0 99989) ~SIZE~0)} assume !!(~v~0 < ~SIZE~0);call #t~mem3 := read~int(~#values~0.base, ~#values~0.offset + 4 * ~v~0, 4); {16277#(<= (+ main_~v~0 99989) ~SIZE~0)} is VALID [2018-11-23 12:11:23,934 INFO L256 TraceCheckUtils]: 122: Hoare triple {16277#(<= (+ main_~v~0 99989) ~SIZE~0)} call #t~ret4 := elem_exists(~#set~0.base, ~#set~0.offset, ~n~0, #t~mem3); {16263#true} is VALID [2018-11-23 12:11:23,934 INFO L273 TraceCheckUtils]: 123: Hoare triple {16263#true} ~set.base, ~set.offset := #in~set.base, #in~set.offset;~size := #in~size;~value := #in~value;havoc ~i~0;~i~0 := 0; {16263#true} is VALID [2018-11-23 12:11:23,934 INFO L273 TraceCheckUtils]: 124: Hoare triple {16263#true} assume !!(~i~0 < ~size);call #t~mem1 := read~int(~set.base, ~set.offset + 4 * ~i~0, 4); {16263#true} is VALID [2018-11-23 12:11:23,934 INFO L273 TraceCheckUtils]: 125: Hoare triple {16263#true} assume #t~mem1 == ~value;havoc #t~mem1;#res := 1; {16263#true} is VALID [2018-11-23 12:11:23,935 INFO L273 TraceCheckUtils]: 126: Hoare triple {16263#true} assume true; {16263#true} is VALID [2018-11-23 12:11:23,936 INFO L268 TraceCheckUtils]: 127: Hoare quadruple {16263#true} {16277#(<= (+ main_~v~0 99989) ~SIZE~0)} #127#return; {16277#(<= (+ main_~v~0 99989) ~SIZE~0)} is VALID [2018-11-23 12:11:23,936 INFO L273 TraceCheckUtils]: 128: Hoare triple {16277#(<= (+ main_~v~0 99989) ~SIZE~0)} assume -2147483648 <= #t~ret4 && #t~ret4 <= 2147483647; {16277#(<= (+ main_~v~0 99989) ~SIZE~0)} is VALID [2018-11-23 12:11:23,937 INFO L273 TraceCheckUtils]: 129: Hoare triple {16277#(<= (+ main_~v~0 99989) ~SIZE~0)} assume !(1 != #t~ret4);havoc #t~ret4;havoc #t~mem3; {16277#(<= (+ main_~v~0 99989) ~SIZE~0)} is VALID [2018-11-23 12:11:23,937 INFO L273 TraceCheckUtils]: 130: Hoare triple {16277#(<= (+ main_~v~0 99989) ~SIZE~0)} #t~post2 := ~v~0;~v~0 := 1 + #t~post2;havoc #t~post2; {16278#(<= (+ main_~v~0 99988) ~SIZE~0)} is VALID [2018-11-23 12:11:23,938 INFO L273 TraceCheckUtils]: 131: Hoare triple {16278#(<= (+ main_~v~0 99988) ~SIZE~0)} assume !!(~v~0 < ~SIZE~0);call #t~mem3 := read~int(~#values~0.base, ~#values~0.offset + 4 * ~v~0, 4); {16278#(<= (+ main_~v~0 99988) ~SIZE~0)} is VALID [2018-11-23 12:11:23,938 INFO L256 TraceCheckUtils]: 132: Hoare triple {16278#(<= (+ main_~v~0 99988) ~SIZE~0)} call #t~ret4 := elem_exists(~#set~0.base, ~#set~0.offset, ~n~0, #t~mem3); {16263#true} is VALID [2018-11-23 12:11:23,938 INFO L273 TraceCheckUtils]: 133: Hoare triple {16263#true} ~set.base, ~set.offset := #in~set.base, #in~set.offset;~size := #in~size;~value := #in~value;havoc ~i~0;~i~0 := 0; {16263#true} is VALID [2018-11-23 12:11:23,938 INFO L273 TraceCheckUtils]: 134: Hoare triple {16263#true} assume !!(~i~0 < ~size);call #t~mem1 := read~int(~set.base, ~set.offset + 4 * ~i~0, 4); {16263#true} is VALID [2018-11-23 12:11:23,939 INFO L273 TraceCheckUtils]: 135: Hoare triple {16263#true} assume #t~mem1 == ~value;havoc #t~mem1;#res := 1; {16263#true} is VALID [2018-11-23 12:11:23,939 INFO L273 TraceCheckUtils]: 136: Hoare triple {16263#true} assume true; {16263#true} is VALID [2018-11-23 12:11:23,940 INFO L268 TraceCheckUtils]: 137: Hoare quadruple {16263#true} {16278#(<= (+ main_~v~0 99988) ~SIZE~0)} #127#return; {16278#(<= (+ main_~v~0 99988) ~SIZE~0)} is VALID [2018-11-23 12:11:23,940 INFO L273 TraceCheckUtils]: 138: Hoare triple {16278#(<= (+ main_~v~0 99988) ~SIZE~0)} assume -2147483648 <= #t~ret4 && #t~ret4 <= 2147483647; {16278#(<= (+ main_~v~0 99988) ~SIZE~0)} is VALID [2018-11-23 12:11:23,941 INFO L273 TraceCheckUtils]: 139: Hoare triple {16278#(<= (+ main_~v~0 99988) ~SIZE~0)} assume !(1 != #t~ret4);havoc #t~ret4;havoc #t~mem3; {16278#(<= (+ main_~v~0 99988) ~SIZE~0)} is VALID [2018-11-23 12:11:23,942 INFO L273 TraceCheckUtils]: 140: Hoare triple {16278#(<= (+ main_~v~0 99988) ~SIZE~0)} #t~post2 := ~v~0;~v~0 := 1 + #t~post2;havoc #t~post2; {16279#(<= (+ main_~v~0 99987) ~SIZE~0)} is VALID [2018-11-23 12:11:23,942 INFO L273 TraceCheckUtils]: 141: Hoare triple {16279#(<= (+ main_~v~0 99987) ~SIZE~0)} assume !(~v~0 < ~SIZE~0); {16264#false} is VALID [2018-11-23 12:11:23,943 INFO L273 TraceCheckUtils]: 142: Hoare triple {16264#false} ~i~1 := 0; {16264#false} is VALID [2018-11-23 12:11:23,943 INFO L273 TraceCheckUtils]: 143: Hoare triple {16264#false} assume !!(~i~1 < ~SIZE~0 && 1 != ~found~0);call #t~mem8 := read~int(~#set~0.base, ~#set~0.offset + 4 * ~i~1, 4); {16264#false} is VALID [2018-11-23 12:11:23,943 INFO L273 TraceCheckUtils]: 144: Hoare triple {16264#false} assume !(#t~mem8 == ~element~0);havoc #t~mem8; {16264#false} is VALID [2018-11-23 12:11:23,943 INFO L273 TraceCheckUtils]: 145: Hoare triple {16264#false} #t~post7 := ~i~1;~i~1 := 1 + #t~post7;havoc #t~post7; {16264#false} is VALID [2018-11-23 12:11:23,943 INFO L273 TraceCheckUtils]: 146: Hoare triple {16264#false} assume !!(~i~1 < ~SIZE~0 && 1 != ~found~0);call #t~mem8 := read~int(~#set~0.base, ~#set~0.offset + 4 * ~i~1, 4); {16264#false} is VALID [2018-11-23 12:11:23,943 INFO L273 TraceCheckUtils]: 147: Hoare triple {16264#false} assume !(#t~mem8 == ~element~0);havoc #t~mem8; {16264#false} is VALID [2018-11-23 12:11:23,944 INFO L273 TraceCheckUtils]: 148: Hoare triple {16264#false} #t~post7 := ~i~1;~i~1 := 1 + #t~post7;havoc #t~post7; {16264#false} is VALID [2018-11-23 12:11:23,944 INFO L273 TraceCheckUtils]: 149: Hoare triple {16264#false} assume !!(~i~1 < ~SIZE~0 && 1 != ~found~0);call #t~mem8 := read~int(~#set~0.base, ~#set~0.offset + 4 * ~i~1, 4); {16264#false} is VALID [2018-11-23 12:11:23,944 INFO L273 TraceCheckUtils]: 150: Hoare triple {16264#false} assume #t~mem8 == ~element~0;havoc #t~mem8;~found~0 := 1;~pos~0 := ~i~1; {16264#false} is VALID [2018-11-23 12:11:23,944 INFO L273 TraceCheckUtils]: 151: Hoare triple {16264#false} #t~post7 := ~i~1;~i~1 := 1 + #t~post7;havoc #t~post7; {16264#false} is VALID [2018-11-23 12:11:23,944 INFO L273 TraceCheckUtils]: 152: Hoare triple {16264#false} assume !(~i~1 < ~SIZE~0 && 1 != ~found~0); {16264#false} is VALID [2018-11-23 12:11:23,945 INFO L273 TraceCheckUtils]: 153: Hoare triple {16264#false} assume 1 == ~found~0;~i~1 := ~pos~0; {16264#false} is VALID [2018-11-23 12:11:23,945 INFO L273 TraceCheckUtils]: 154: Hoare triple {16264#false} assume !!(~i~1 < ~SIZE~0 - 1);call #t~mem10 := read~int(~#set~0.base, ~#set~0.offset + 4 * (1 + ~i~1), 4);call write~int(#t~mem10, ~#set~0.base, ~#set~0.offset + 4 * ~i~1, 4);havoc #t~mem10; {16264#false} is VALID [2018-11-23 12:11:23,945 INFO L273 TraceCheckUtils]: 155: Hoare triple {16264#false} #t~post9 := ~i~1;~i~1 := 1 + #t~post9;havoc #t~post9; {16264#false} is VALID [2018-11-23 12:11:23,945 INFO L273 TraceCheckUtils]: 156: Hoare triple {16264#false} assume !(~i~1 < ~SIZE~0 - 1); {16264#false} is VALID [2018-11-23 12:11:23,945 INFO L273 TraceCheckUtils]: 157: Hoare triple {16264#false} assume 1 == ~found~0;~i~1 := 0; {16264#false} is VALID [2018-11-23 12:11:23,945 INFO L273 TraceCheckUtils]: 158: Hoare triple {16264#false} assume !!(~i~1 < ~SIZE~0 - 1);call #t~mem12 := read~int(~#set~0.base, ~#set~0.offset + 4 * ~i~1, 4); {16264#false} is VALID [2018-11-23 12:11:23,946 INFO L256 TraceCheckUtils]: 159: Hoare triple {16264#false} call __VERIFIER_assert((if #t~mem12 != ~element~0 then 1 else 0)); {16264#false} is VALID [2018-11-23 12:11:23,946 INFO L273 TraceCheckUtils]: 160: Hoare triple {16264#false} ~cond := #in~cond; {16264#false} is VALID [2018-11-23 12:11:23,946 INFO L273 TraceCheckUtils]: 161: Hoare triple {16264#false} assume 0 == ~cond; {16264#false} is VALID [2018-11-23 12:11:23,946 INFO L273 TraceCheckUtils]: 162: Hoare triple {16264#false} assume !false; {16264#false} is VALID [2018-11-23 12:11:23,963 INFO L134 CoverageAnalysis]: Checked inductivity of 794 backedges. 0 proven. 403 refuted. 0 times theorem prover too weak. 391 trivial. 0 not checked. [2018-11-23 12:11:23,963 INFO L300 seRefinementStrategy]: The current sequences of interpolants are not accepted, trying to find more. [2018-11-23 12:11:23,963 INFO L223 ckRefinementStrategy]: Switched to mode Z3_FP No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 Starting monitored process 17 with z3 -smt2 -in SMTLIB2_COMPLIANT=true -t:12000 (exit command is (exit), workingDir is null) Waiting until toolchain timeout for monitored process 17 with z3 -smt2 -in SMTLIB2_COMPLIANT=true -t:12000 [2018-11-23 12:11:23,972 INFO L103 rtionOrderModulation]: Keeping assertion order MIX_INSIDE_OUTSIDE [2018-11-23 12:11:24,030 INFO L249 tOrderPrioritization]: Assert order MIX_INSIDE_OUTSIDE issued 5 check-sat command(s) [2018-11-23 12:11:24,031 INFO L250 tOrderPrioritization]: Conjunction of SSA is unsat [2018-11-23 12:11:24,064 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2018-11-23 12:11:24,067 INFO L273 TraceCheckSpWp]: Computing forward predicates... [2018-11-23 12:11:24,488 INFO L478 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 2, 1 stores, 1 select indices, 1 select index equivalence classes, 0 disjoint index pairs (out of 0 index pairs), introduced 1 new quantified variables, introduced 0 case distinctions, treesize of input 33 treesize of output 26 [2018-11-23 12:11:24,499 INFO L701 Elim1Store]: detected not equals via solver [2018-11-23 12:11:24,516 INFO L478 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 1, 1 stores, 2 select indices, 2 select index equivalence classes, 2 disjoint index pairs (out of 1 index pairs), introduced 1 new quantified variables, introduced 3 case distinctions, treesize of input 26 treesize of output 53 [2018-11-23 12:11:24,534 INFO L267 ElimStorePlain]: Start of recursive call 3: End of recursive call: and 2 xjuncts. [2018-11-23 12:11:24,555 INFO L267 ElimStorePlain]: Start of recursive call 2: 1 dim-1 vars, End of recursive call: and 2 xjuncts. [2018-11-23 12:11:24,575 INFO L267 ElimStorePlain]: Start of recursive call 1: 1 dim-2 vars, End of recursive call: and 2 xjuncts. [2018-11-23 12:11:24,575 INFO L202 ElimStorePlain]: Needed 3 recursive calls to eliminate 1 variables, input treesize:39, output treesize:70 [2018-11-23 12:11:24,580 WARN L383 uantifierElimination]: Trying to double check SDD result, but SMT solver's response was UNKNOWN. [2018-11-23 12:11:24,581 WARN L384 uantifierElimination]: Input elimination task: ∃ [|v_#memory_int_14|]. (let ((.cse0 (select |v_#memory_int_14| |main_~#set~0.base|))) (and (= |main_~#set~0.offset| 0) (= |#memory_int| (store |v_#memory_int_14| |main_~#set~0.base| (let ((.cse1 (* 4 main_~i~1))) (store .cse0 (+ |main_~#set~0.offset| .cse1) (select .cse0 (+ |main_~#set~0.offset| .cse1 4)))))) (not (= (select .cse0 |main_~#set~0.offset|) main_~element~0)) (<= 100000 ~SIZE~0))) [2018-11-23 12:11:24,581 WARN L385 uantifierElimination]: ElimStorePlain result: ∃ []. (let ((.cse5 (* 4 main_~i~1))) (let ((.cse4 (+ |main_~#set~0.offset| .cse5)) (.cse1 (select |#memory_int| |main_~#set~0.base|))) (let ((.cse0 (= |main_~#set~0.offset| 0)) (.cse2 (= (select .cse1 .cse4) (select .cse1 (+ |main_~#set~0.offset| .cse5 4)))) (.cse3 (<= 100000 ~SIZE~0))) (or (and .cse0 (not (= (select .cse1 |main_~#set~0.offset|) main_~element~0)) .cse2 .cse3) (and .cse0 .cse2 (= |main_~#set~0.offset| .cse4) .cse3))))) [2018-11-23 12:11:28,872 WARN L180 SmtUtils]: Spent 2.04 s on a formula simplification that was a NOOP. DAG size: 34 [2018-11-23 12:11:32,983 WARN L180 SmtUtils]: Spent 2.01 s on a formula simplification that was a NOOP. DAG size: 23 [2018-11-23 12:11:35,030 WARN L180 SmtUtils]: Spent 2.01 s on a formula simplification that was a NOOP. DAG size: 25 [2018-11-23 12:11:35,168 INFO L478 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 2, 0 stores, 1 select indices, 1 select index equivalence classes, 0 disjoint index pairs (out of 0 index pairs), introduced 1 new quantified variables, introduced 0 case distinctions, treesize of input 33 treesize of output 25 [2018-11-23 12:11:35,173 INFO L701 Elim1Store]: detected not equals via solver [2018-11-23 12:11:35,175 INFO L701 Elim1Store]: detected not equals via solver [2018-11-23 12:11:35,176 INFO L701 Elim1Store]: detected not equals via solver [2018-11-23 12:11:35,180 INFO L478 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 1, 0 stores, 3 select indices, 3 select index equivalence classes, 4 disjoint index pairs (out of 3 index pairs), introduced 2 new quantified variables, introduced 0 case distinctions, treesize of input 25 treesize of output 32 [2018-11-23 12:11:35,183 INFO L267 ElimStorePlain]: Start of recursive call 3: End of recursive call: and 1 xjuncts. [2018-11-23 12:11:35,189 INFO L267 ElimStorePlain]: Start of recursive call 2: 1 dim-1 vars, End of recursive call: and 1 xjuncts. [2018-11-23 12:11:35,194 INFO L267 ElimStorePlain]: Start of recursive call 1: 2 dim-0 vars, 1 dim-2 vars, End of recursive call: and 1 xjuncts. [2018-11-23 12:11:35,195 INFO L202 ElimStorePlain]: Needed 3 recursive calls to eliminate 3 variables, input treesize:36, output treesize:4 [2018-11-23 12:11:35,197 WARN L383 uantifierElimination]: Trying to double check SDD result, but SMT solver's response was UNKNOWN. [2018-11-23 12:11:35,197 WARN L384 uantifierElimination]: Input elimination task: ∃ [|#memory_int|, |main_~#set~0.base|, v_main_~i~1_30]. (let ((.cse1 (select |#memory_int| |main_~#set~0.base|))) (let ((.cse0 (select .cse1 0))) (and (<= 99998 v_main_~i~1_30) (= |main_#t~mem12| .cse0) (let ((.cse2 (* 4 v_main_~i~1_30))) (= (select .cse1 .cse2) (select .cse1 (+ .cse2 4)))) (not (= .cse0 main_~element~0))))) [2018-11-23 12:11:35,197 WARN L385 uantifierElimination]: ElimStorePlain result: ∃ []. (not (= |main_#t~mem12| main_~element~0)) [2018-11-23 12:11:35,263 INFO L256 TraceCheckUtils]: 0: Hoare triple {16263#true} call ULTIMATE.init(); {16263#true} is VALID [2018-11-23 12:11:35,265 INFO L273 TraceCheckUtils]: 1: Hoare triple {16263#true} #NULL.base, #NULL.offset := 0, 0;#valid := #valid[0 := 0];~SIZE~0 := 100000; {16265#(<= 100000 ~SIZE~0)} is VALID [2018-11-23 12:11:35,265 INFO L273 TraceCheckUtils]: 2: Hoare triple {16265#(<= 100000 ~SIZE~0)} assume true; {16265#(<= 100000 ~SIZE~0)} is VALID [2018-11-23 12:11:35,267 INFO L268 TraceCheckUtils]: 3: Hoare quadruple {16265#(<= 100000 ~SIZE~0)} {16263#true} #123#return; {16265#(<= 100000 ~SIZE~0)} is VALID [2018-11-23 12:11:35,270 INFO L256 TraceCheckUtils]: 4: Hoare triple {16265#(<= 100000 ~SIZE~0)} call #t~ret13 := main(); {16265#(<= 100000 ~SIZE~0)} is VALID [2018-11-23 12:11:35,270 INFO L273 TraceCheckUtils]: 5: Hoare triple {16265#(<= 100000 ~SIZE~0)} havoc ~i~1;havoc ~pos~0;~n~0 := 0;~found~0 := 0;call ~#set~0.base, ~#set~0.offset := #Ultimate.alloc(4 * ~SIZE~0);call ~#values~0.base, ~#values~0.offset := #Ultimate.alloc(4 * ~SIZE~0);havoc ~element~0;havoc ~v~0;~v~0 := 0; {16298#(and (= 0 main_~found~0) (= |main_~#set~0.offset| 0) (<= 100000 ~SIZE~0))} is VALID [2018-11-23 12:11:35,272 INFO L273 TraceCheckUtils]: 6: Hoare triple {16298#(and (= 0 main_~found~0) (= |main_~#set~0.offset| 0) (<= 100000 ~SIZE~0))} assume !!(~v~0 < ~SIZE~0);call #t~mem3 := read~int(~#values~0.base, ~#values~0.offset + 4 * ~v~0, 4); {16298#(and (= 0 main_~found~0) (= |main_~#set~0.offset| 0) (<= 100000 ~SIZE~0))} is VALID [2018-11-23 12:11:35,272 INFO L256 TraceCheckUtils]: 7: Hoare triple {16298#(and (= 0 main_~found~0) (= |main_~#set~0.offset| 0) (<= 100000 ~SIZE~0))} call #t~ret4 := elem_exists(~#set~0.base, ~#set~0.offset, ~n~0, #t~mem3); {16265#(<= 100000 ~SIZE~0)} is VALID [2018-11-23 12:11:35,275 INFO L273 TraceCheckUtils]: 8: Hoare triple {16265#(<= 100000 ~SIZE~0)} ~set.base, ~set.offset := #in~set.base, #in~set.offset;~size := #in~size;~value := #in~value;havoc ~i~0;~i~0 := 0; {16265#(<= 100000 ~SIZE~0)} is VALID [2018-11-23 12:11:35,275 INFO L273 TraceCheckUtils]: 9: Hoare triple {16265#(<= 100000 ~SIZE~0)} assume !(~i~0 < ~size); {16265#(<= 100000 ~SIZE~0)} is VALID [2018-11-23 12:11:35,278 INFO L273 TraceCheckUtils]: 10: Hoare triple {16265#(<= 100000 ~SIZE~0)} #res := 0; {16265#(<= 100000 ~SIZE~0)} is VALID [2018-11-23 12:11:35,278 INFO L273 TraceCheckUtils]: 11: Hoare triple {16265#(<= 100000 ~SIZE~0)} assume true; {16265#(<= 100000 ~SIZE~0)} is VALID [2018-11-23 12:11:35,281 INFO L268 TraceCheckUtils]: 12: Hoare quadruple {16265#(<= 100000 ~SIZE~0)} {16298#(and (= 0 main_~found~0) (= |main_~#set~0.offset| 0) (<= 100000 ~SIZE~0))} #127#return; {16298#(and (= 0 main_~found~0) (= |main_~#set~0.offset| 0) (<= 100000 ~SIZE~0))} is VALID [2018-11-23 12:11:35,281 INFO L273 TraceCheckUtils]: 13: Hoare triple {16298#(and (= 0 main_~found~0) (= |main_~#set~0.offset| 0) (<= 100000 ~SIZE~0))} assume -2147483648 <= #t~ret4 && #t~ret4 <= 2147483647; {16298#(and (= 0 main_~found~0) (= |main_~#set~0.offset| 0) (<= 100000 ~SIZE~0))} is VALID [2018-11-23 12:11:35,284 INFO L273 TraceCheckUtils]: 14: Hoare triple {16298#(and (= 0 main_~found~0) (= |main_~#set~0.offset| 0) (<= 100000 ~SIZE~0))} assume 1 != #t~ret4;havoc #t~ret4;havoc #t~mem3;call #t~mem5 := read~int(~#values~0.base, ~#values~0.offset + 4 * ~v~0, 4); {16298#(and (= 0 main_~found~0) (= |main_~#set~0.offset| 0) (<= 100000 ~SIZE~0))} is VALID [2018-11-23 12:11:35,287 INFO L256 TraceCheckUtils]: 15: Hoare triple {16298#(and (= 0 main_~found~0) (= |main_~#set~0.offset| 0) (<= 100000 ~SIZE~0))} call #t~ret6 := insert(~#set~0.base, ~#set~0.offset, ~n~0, #t~mem5); {16265#(<= 100000 ~SIZE~0)} is VALID [2018-11-23 12:11:35,287 INFO L273 TraceCheckUtils]: 16: Hoare triple {16265#(<= 100000 ~SIZE~0)} ~set.base, ~set.offset := #in~set.base, #in~set.offset;~size := #in~size;~value := #in~value;call write~int(~value, ~set.base, ~set.offset + 4 * ~size, 4);#res := 1 + ~size; {16265#(<= 100000 ~SIZE~0)} is VALID [2018-11-23 12:11:35,290 INFO L273 TraceCheckUtils]: 17: Hoare triple {16265#(<= 100000 ~SIZE~0)} assume true; {16265#(<= 100000 ~SIZE~0)} is VALID [2018-11-23 12:11:35,290 INFO L268 TraceCheckUtils]: 18: Hoare quadruple {16265#(<= 100000 ~SIZE~0)} {16298#(and (= 0 main_~found~0) (= |main_~#set~0.offset| 0) (<= 100000 ~SIZE~0))} #129#return; {16298#(and (= 0 main_~found~0) (= |main_~#set~0.offset| 0) (<= 100000 ~SIZE~0))} is VALID [2018-11-23 12:11:35,292 INFO L273 TraceCheckUtils]: 19: Hoare triple {16298#(and (= 0 main_~found~0) (= |main_~#set~0.offset| 0) (<= 100000 ~SIZE~0))} assume -2147483648 <= #t~ret6 && #t~ret6 <= 2147483647;~n~0 := #t~ret6;havoc #t~mem5;havoc #t~ret6; {16298#(and (= 0 main_~found~0) (= |main_~#set~0.offset| 0) (<= 100000 ~SIZE~0))} is VALID [2018-11-23 12:11:35,292 INFO L273 TraceCheckUtils]: 20: Hoare triple {16298#(and (= 0 main_~found~0) (= |main_~#set~0.offset| 0) (<= 100000 ~SIZE~0))} #t~post2 := ~v~0;~v~0 := 1 + #t~post2;havoc #t~post2; {16298#(and (= 0 main_~found~0) (= |main_~#set~0.offset| 0) (<= 100000 ~SIZE~0))} is VALID [2018-11-23 12:11:35,307 INFO L273 TraceCheckUtils]: 21: Hoare triple {16298#(and (= 0 main_~found~0) (= |main_~#set~0.offset| 0) (<= 100000 ~SIZE~0))} assume !!(~v~0 < ~SIZE~0);call #t~mem3 := read~int(~#values~0.base, ~#values~0.offset + 4 * ~v~0, 4); {16298#(and (= 0 main_~found~0) (= |main_~#set~0.offset| 0) (<= 100000 ~SIZE~0))} is VALID [2018-11-23 12:11:35,308 INFO L256 TraceCheckUtils]: 22: Hoare triple {16298#(and (= 0 main_~found~0) (= |main_~#set~0.offset| 0) (<= 100000 ~SIZE~0))} call #t~ret4 := elem_exists(~#set~0.base, ~#set~0.offset, ~n~0, #t~mem3); {16265#(<= 100000 ~SIZE~0)} is VALID [2018-11-23 12:11:35,309 INFO L273 TraceCheckUtils]: 23: Hoare triple {16265#(<= 100000 ~SIZE~0)} ~set.base, ~set.offset := #in~set.base, #in~set.offset;~size := #in~size;~value := #in~value;havoc ~i~0;~i~0 := 0; {16265#(<= 100000 ~SIZE~0)} is VALID [2018-11-23 12:11:35,309 INFO L273 TraceCheckUtils]: 24: Hoare triple {16265#(<= 100000 ~SIZE~0)} assume !!(~i~0 < ~size);call #t~mem1 := read~int(~set.base, ~set.offset + 4 * ~i~0, 4); {16265#(<= 100000 ~SIZE~0)} is VALID [2018-11-23 12:11:35,310 INFO L273 TraceCheckUtils]: 25: Hoare triple {16265#(<= 100000 ~SIZE~0)} assume #t~mem1 == ~value;havoc #t~mem1;#res := 1; {16265#(<= 100000 ~SIZE~0)} is VALID [2018-11-23 12:11:35,310 INFO L273 TraceCheckUtils]: 26: Hoare triple {16265#(<= 100000 ~SIZE~0)} assume true; {16265#(<= 100000 ~SIZE~0)} is VALID [2018-11-23 12:11:35,311 INFO L268 TraceCheckUtils]: 27: Hoare quadruple {16265#(<= 100000 ~SIZE~0)} {16298#(and (= 0 main_~found~0) (= |main_~#set~0.offset| 0) (<= 100000 ~SIZE~0))} #127#return; {16298#(and (= 0 main_~found~0) (= |main_~#set~0.offset| 0) (<= 100000 ~SIZE~0))} is VALID [2018-11-23 12:11:35,311 INFO L273 TraceCheckUtils]: 28: Hoare triple {16298#(and (= 0 main_~found~0) (= |main_~#set~0.offset| 0) (<= 100000 ~SIZE~0))} assume -2147483648 <= #t~ret4 && #t~ret4 <= 2147483647; {16298#(and (= 0 main_~found~0) (= |main_~#set~0.offset| 0) (<= 100000 ~SIZE~0))} is VALID [2018-11-23 12:11:35,311 INFO L273 TraceCheckUtils]: 29: Hoare triple {16298#(and (= 0 main_~found~0) (= |main_~#set~0.offset| 0) (<= 100000 ~SIZE~0))} assume !(1 != #t~ret4);havoc #t~ret4;havoc #t~mem3; {16298#(and (= 0 main_~found~0) (= |main_~#set~0.offset| 0) (<= 100000 ~SIZE~0))} is VALID [2018-11-23 12:11:35,312 INFO L273 TraceCheckUtils]: 30: Hoare triple {16298#(and (= 0 main_~found~0) (= |main_~#set~0.offset| 0) (<= 100000 ~SIZE~0))} #t~post2 := ~v~0;~v~0 := 1 + #t~post2;havoc #t~post2; {16298#(and (= 0 main_~found~0) (= |main_~#set~0.offset| 0) (<= 100000 ~SIZE~0))} is VALID [2018-11-23 12:11:35,312 INFO L273 TraceCheckUtils]: 31: Hoare triple {16298#(and (= 0 main_~found~0) (= |main_~#set~0.offset| 0) (<= 100000 ~SIZE~0))} assume !!(~v~0 < ~SIZE~0);call #t~mem3 := read~int(~#values~0.base, ~#values~0.offset + 4 * ~v~0, 4); {16298#(and (= 0 main_~found~0) (= |main_~#set~0.offset| 0) (<= 100000 ~SIZE~0))} is VALID [2018-11-23 12:11:35,313 INFO L256 TraceCheckUtils]: 32: Hoare triple {16298#(and (= 0 main_~found~0) (= |main_~#set~0.offset| 0) (<= 100000 ~SIZE~0))} call #t~ret4 := elem_exists(~#set~0.base, ~#set~0.offset, ~n~0, #t~mem3); {16265#(<= 100000 ~SIZE~0)} is VALID [2018-11-23 12:11:35,314 INFO L273 TraceCheckUtils]: 33: Hoare triple {16265#(<= 100000 ~SIZE~0)} ~set.base, ~set.offset := #in~set.base, #in~set.offset;~size := #in~size;~value := #in~value;havoc ~i~0;~i~0 := 0; {16265#(<= 100000 ~SIZE~0)} is VALID [2018-11-23 12:11:35,314 INFO L273 TraceCheckUtils]: 34: Hoare triple {16265#(<= 100000 ~SIZE~0)} assume !!(~i~0 < ~size);call #t~mem1 := read~int(~set.base, ~set.offset + 4 * ~i~0, 4); {16265#(<= 100000 ~SIZE~0)} is VALID [2018-11-23 12:11:35,315 INFO L273 TraceCheckUtils]: 35: Hoare triple {16265#(<= 100000 ~SIZE~0)} assume #t~mem1 == ~value;havoc #t~mem1;#res := 1; {16265#(<= 100000 ~SIZE~0)} is VALID [2018-11-23 12:11:35,315 INFO L273 TraceCheckUtils]: 36: Hoare triple {16265#(<= 100000 ~SIZE~0)} assume true; {16265#(<= 100000 ~SIZE~0)} is VALID [2018-11-23 12:11:35,316 INFO L268 TraceCheckUtils]: 37: Hoare quadruple {16265#(<= 100000 ~SIZE~0)} {16298#(and (= 0 main_~found~0) (= |main_~#set~0.offset| 0) (<= 100000 ~SIZE~0))} #127#return; {16298#(and (= 0 main_~found~0) (= |main_~#set~0.offset| 0) (<= 100000 ~SIZE~0))} is VALID [2018-11-23 12:11:35,317 INFO L273 TraceCheckUtils]: 38: Hoare triple {16298#(and (= 0 main_~found~0) (= |main_~#set~0.offset| 0) (<= 100000 ~SIZE~0))} assume -2147483648 <= #t~ret4 && #t~ret4 <= 2147483647; {16298#(and (= 0 main_~found~0) (= |main_~#set~0.offset| 0) (<= 100000 ~SIZE~0))} is VALID [2018-11-23 12:11:35,318 INFO L273 TraceCheckUtils]: 39: Hoare triple {16298#(and (= 0 main_~found~0) (= |main_~#set~0.offset| 0) (<= 100000 ~SIZE~0))} assume !(1 != #t~ret4);havoc #t~ret4;havoc #t~mem3; {16298#(and (= 0 main_~found~0) (= |main_~#set~0.offset| 0) (<= 100000 ~SIZE~0))} is VALID [2018-11-23 12:11:35,318 INFO L273 TraceCheckUtils]: 40: Hoare triple {16298#(and (= 0 main_~found~0) (= |main_~#set~0.offset| 0) (<= 100000 ~SIZE~0))} #t~post2 := ~v~0;~v~0 := 1 + #t~post2;havoc #t~post2; {16298#(and (= 0 main_~found~0) (= |main_~#set~0.offset| 0) (<= 100000 ~SIZE~0))} is VALID [2018-11-23 12:11:35,319 INFO L273 TraceCheckUtils]: 41: Hoare triple {16298#(and (= 0 main_~found~0) (= |main_~#set~0.offset| 0) (<= 100000 ~SIZE~0))} assume !!(~v~0 < ~SIZE~0);call #t~mem3 := read~int(~#values~0.base, ~#values~0.offset + 4 * ~v~0, 4); {16298#(and (= 0 main_~found~0) (= |main_~#set~0.offset| 0) (<= 100000 ~SIZE~0))} is VALID [2018-11-23 12:11:35,320 INFO L256 TraceCheckUtils]: 42: Hoare triple {16298#(and (= 0 main_~found~0) (= |main_~#set~0.offset| 0) (<= 100000 ~SIZE~0))} call #t~ret4 := elem_exists(~#set~0.base, ~#set~0.offset, ~n~0, #t~mem3); {16265#(<= 100000 ~SIZE~0)} is VALID [2018-11-23 12:11:35,321 INFO L273 TraceCheckUtils]: 43: Hoare triple {16265#(<= 100000 ~SIZE~0)} ~set.base, ~set.offset := #in~set.base, #in~set.offset;~size := #in~size;~value := #in~value;havoc ~i~0;~i~0 := 0; {16265#(<= 100000 ~SIZE~0)} is VALID [2018-11-23 12:11:35,321 INFO L273 TraceCheckUtils]: 44: Hoare triple {16265#(<= 100000 ~SIZE~0)} assume !!(~i~0 < ~size);call #t~mem1 := read~int(~set.base, ~set.offset + 4 * ~i~0, 4); {16265#(<= 100000 ~SIZE~0)} is VALID [2018-11-23 12:11:35,322 INFO L273 TraceCheckUtils]: 45: Hoare triple {16265#(<= 100000 ~SIZE~0)} assume #t~mem1 == ~value;havoc #t~mem1;#res := 1; {16265#(<= 100000 ~SIZE~0)} is VALID [2018-11-23 12:11:35,322 INFO L273 TraceCheckUtils]: 46: Hoare triple {16265#(<= 100000 ~SIZE~0)} assume true; {16265#(<= 100000 ~SIZE~0)} is VALID [2018-11-23 12:11:35,324 INFO L268 TraceCheckUtils]: 47: Hoare quadruple {16265#(<= 100000 ~SIZE~0)} {16298#(and (= 0 main_~found~0) (= |main_~#set~0.offset| 0) (<= 100000 ~SIZE~0))} #127#return; {16298#(and (= 0 main_~found~0) (= |main_~#set~0.offset| 0) (<= 100000 ~SIZE~0))} is VALID [2018-11-23 12:11:35,325 INFO L273 TraceCheckUtils]: 48: Hoare triple {16298#(and (= 0 main_~found~0) (= |main_~#set~0.offset| 0) (<= 100000 ~SIZE~0))} assume -2147483648 <= #t~ret4 && #t~ret4 <= 2147483647; {16298#(and (= 0 main_~found~0) (= |main_~#set~0.offset| 0) (<= 100000 ~SIZE~0))} is VALID [2018-11-23 12:11:35,325 INFO L273 TraceCheckUtils]: 49: Hoare triple {16298#(and (= 0 main_~found~0) (= |main_~#set~0.offset| 0) (<= 100000 ~SIZE~0))} assume !(1 != #t~ret4);havoc #t~ret4;havoc #t~mem3; {16298#(and (= 0 main_~found~0) (= |main_~#set~0.offset| 0) (<= 100000 ~SIZE~0))} is VALID [2018-11-23 12:11:35,326 INFO L273 TraceCheckUtils]: 50: Hoare triple {16298#(and (= 0 main_~found~0) (= |main_~#set~0.offset| 0) (<= 100000 ~SIZE~0))} #t~post2 := ~v~0;~v~0 := 1 + #t~post2;havoc #t~post2; {16298#(and (= 0 main_~found~0) (= |main_~#set~0.offset| 0) (<= 100000 ~SIZE~0))} is VALID [2018-11-23 12:11:35,326 INFO L273 TraceCheckUtils]: 51: Hoare triple {16298#(and (= 0 main_~found~0) (= |main_~#set~0.offset| 0) (<= 100000 ~SIZE~0))} assume !!(~v~0 < ~SIZE~0);call #t~mem3 := read~int(~#values~0.base, ~#values~0.offset + 4 * ~v~0, 4); {16298#(and (= 0 main_~found~0) (= |main_~#set~0.offset| 0) (<= 100000 ~SIZE~0))} is VALID [2018-11-23 12:11:35,327 INFO L256 TraceCheckUtils]: 52: Hoare triple {16298#(and (= 0 main_~found~0) (= |main_~#set~0.offset| 0) (<= 100000 ~SIZE~0))} call #t~ret4 := elem_exists(~#set~0.base, ~#set~0.offset, ~n~0, #t~mem3); {16265#(<= 100000 ~SIZE~0)} is VALID [2018-11-23 12:11:35,328 INFO L273 TraceCheckUtils]: 53: Hoare triple {16265#(<= 100000 ~SIZE~0)} ~set.base, ~set.offset := #in~set.base, #in~set.offset;~size := #in~size;~value := #in~value;havoc ~i~0;~i~0 := 0; {16265#(<= 100000 ~SIZE~0)} is VALID [2018-11-23 12:11:35,328 INFO L273 TraceCheckUtils]: 54: Hoare triple {16265#(<= 100000 ~SIZE~0)} assume !!(~i~0 < ~size);call #t~mem1 := read~int(~set.base, ~set.offset + 4 * ~i~0, 4); {16265#(<= 100000 ~SIZE~0)} is VALID [2018-11-23 12:11:35,328 INFO L273 TraceCheckUtils]: 55: Hoare triple {16265#(<= 100000 ~SIZE~0)} assume #t~mem1 == ~value;havoc #t~mem1;#res := 1; {16265#(<= 100000 ~SIZE~0)} is VALID [2018-11-23 12:11:35,329 INFO L273 TraceCheckUtils]: 56: Hoare triple {16265#(<= 100000 ~SIZE~0)} assume true; {16265#(<= 100000 ~SIZE~0)} is VALID [2018-11-23 12:11:35,330 INFO L268 TraceCheckUtils]: 57: Hoare quadruple {16265#(<= 100000 ~SIZE~0)} {16298#(and (= 0 main_~found~0) (= |main_~#set~0.offset| 0) (<= 100000 ~SIZE~0))} #127#return; {16298#(and (= 0 main_~found~0) (= |main_~#set~0.offset| 0) (<= 100000 ~SIZE~0))} is VALID [2018-11-23 12:11:35,331 INFO L273 TraceCheckUtils]: 58: Hoare triple {16298#(and (= 0 main_~found~0) (= |main_~#set~0.offset| 0) (<= 100000 ~SIZE~0))} assume -2147483648 <= #t~ret4 && #t~ret4 <= 2147483647; {16298#(and (= 0 main_~found~0) (= |main_~#set~0.offset| 0) (<= 100000 ~SIZE~0))} is VALID [2018-11-23 12:11:35,331 INFO L273 TraceCheckUtils]: 59: Hoare triple {16298#(and (= 0 main_~found~0) (= |main_~#set~0.offset| 0) (<= 100000 ~SIZE~0))} assume !(1 != #t~ret4);havoc #t~ret4;havoc #t~mem3; {16298#(and (= 0 main_~found~0) (= |main_~#set~0.offset| 0) (<= 100000 ~SIZE~0))} is VALID [2018-11-23 12:11:35,332 INFO L273 TraceCheckUtils]: 60: Hoare triple {16298#(and (= 0 main_~found~0) (= |main_~#set~0.offset| 0) (<= 100000 ~SIZE~0))} #t~post2 := ~v~0;~v~0 := 1 + #t~post2;havoc #t~post2; {16298#(and (= 0 main_~found~0) (= |main_~#set~0.offset| 0) (<= 100000 ~SIZE~0))} is VALID [2018-11-23 12:11:35,333 INFO L273 TraceCheckUtils]: 61: Hoare triple {16298#(and (= 0 main_~found~0) (= |main_~#set~0.offset| 0) (<= 100000 ~SIZE~0))} assume !!(~v~0 < ~SIZE~0);call #t~mem3 := read~int(~#values~0.base, ~#values~0.offset + 4 * ~v~0, 4); {16298#(and (= 0 main_~found~0) (= |main_~#set~0.offset| 0) (<= 100000 ~SIZE~0))} is VALID [2018-11-23 12:11:35,334 INFO L256 TraceCheckUtils]: 62: Hoare triple {16298#(and (= 0 main_~found~0) (= |main_~#set~0.offset| 0) (<= 100000 ~SIZE~0))} call #t~ret4 := elem_exists(~#set~0.base, ~#set~0.offset, ~n~0, #t~mem3); {16265#(<= 100000 ~SIZE~0)} is VALID [2018-11-23 12:11:35,334 INFO L273 TraceCheckUtils]: 63: Hoare triple {16265#(<= 100000 ~SIZE~0)} ~set.base, ~set.offset := #in~set.base, #in~set.offset;~size := #in~size;~value := #in~value;havoc ~i~0;~i~0 := 0; {16265#(<= 100000 ~SIZE~0)} is VALID [2018-11-23 12:11:35,335 INFO L273 TraceCheckUtils]: 64: Hoare triple {16265#(<= 100000 ~SIZE~0)} assume !!(~i~0 < ~size);call #t~mem1 := read~int(~set.base, ~set.offset + 4 * ~i~0, 4); {16265#(<= 100000 ~SIZE~0)} is VALID [2018-11-23 12:11:35,335 INFO L273 TraceCheckUtils]: 65: Hoare triple {16265#(<= 100000 ~SIZE~0)} assume #t~mem1 == ~value;havoc #t~mem1;#res := 1; {16265#(<= 100000 ~SIZE~0)} is VALID [2018-11-23 12:11:35,336 INFO L273 TraceCheckUtils]: 66: Hoare triple {16265#(<= 100000 ~SIZE~0)} assume true; {16265#(<= 100000 ~SIZE~0)} is VALID [2018-11-23 12:11:35,337 INFO L268 TraceCheckUtils]: 67: Hoare quadruple {16265#(<= 100000 ~SIZE~0)} {16298#(and (= 0 main_~found~0) (= |main_~#set~0.offset| 0) (<= 100000 ~SIZE~0))} #127#return; {16298#(and (= 0 main_~found~0) (= |main_~#set~0.offset| 0) (<= 100000 ~SIZE~0))} is VALID [2018-11-23 12:11:35,338 INFO L273 TraceCheckUtils]: 68: Hoare triple {16298#(and (= 0 main_~found~0) (= |main_~#set~0.offset| 0) (<= 100000 ~SIZE~0))} assume -2147483648 <= #t~ret4 && #t~ret4 <= 2147483647; {16298#(and (= 0 main_~found~0) (= |main_~#set~0.offset| 0) (<= 100000 ~SIZE~0))} is VALID [2018-11-23 12:11:35,338 INFO L273 TraceCheckUtils]: 69: Hoare triple {16298#(and (= 0 main_~found~0) (= |main_~#set~0.offset| 0) (<= 100000 ~SIZE~0))} assume !(1 != #t~ret4);havoc #t~ret4;havoc #t~mem3; {16298#(and (= 0 main_~found~0) (= |main_~#set~0.offset| 0) (<= 100000 ~SIZE~0))} is VALID [2018-11-23 12:11:35,339 INFO L273 TraceCheckUtils]: 70: Hoare triple {16298#(and (= 0 main_~found~0) (= |main_~#set~0.offset| 0) (<= 100000 ~SIZE~0))} #t~post2 := ~v~0;~v~0 := 1 + #t~post2;havoc #t~post2; {16298#(and (= 0 main_~found~0) (= |main_~#set~0.offset| 0) (<= 100000 ~SIZE~0))} is VALID [2018-11-23 12:11:35,340 INFO L273 TraceCheckUtils]: 71: Hoare triple {16298#(and (= 0 main_~found~0) (= |main_~#set~0.offset| 0) (<= 100000 ~SIZE~0))} assume !!(~v~0 < ~SIZE~0);call #t~mem3 := read~int(~#values~0.base, ~#values~0.offset + 4 * ~v~0, 4); {16298#(and (= 0 main_~found~0) (= |main_~#set~0.offset| 0) (<= 100000 ~SIZE~0))} is VALID [2018-11-23 12:11:35,341 INFO L256 TraceCheckUtils]: 72: Hoare triple {16298#(and (= 0 main_~found~0) (= |main_~#set~0.offset| 0) (<= 100000 ~SIZE~0))} call #t~ret4 := elem_exists(~#set~0.base, ~#set~0.offset, ~n~0, #t~mem3); {16265#(<= 100000 ~SIZE~0)} is VALID [2018-11-23 12:11:35,341 INFO L273 TraceCheckUtils]: 73: Hoare triple {16265#(<= 100000 ~SIZE~0)} ~set.base, ~set.offset := #in~set.base, #in~set.offset;~size := #in~size;~value := #in~value;havoc ~i~0;~i~0 := 0; {16265#(<= 100000 ~SIZE~0)} is VALID [2018-11-23 12:11:35,342 INFO L273 TraceCheckUtils]: 74: Hoare triple {16265#(<= 100000 ~SIZE~0)} assume !!(~i~0 < ~size);call #t~mem1 := read~int(~set.base, ~set.offset + 4 * ~i~0, 4); {16265#(<= 100000 ~SIZE~0)} is VALID [2018-11-23 12:11:35,342 INFO L273 TraceCheckUtils]: 75: Hoare triple {16265#(<= 100000 ~SIZE~0)} assume #t~mem1 == ~value;havoc #t~mem1;#res := 1; {16265#(<= 100000 ~SIZE~0)} is VALID [2018-11-23 12:11:35,343 INFO L273 TraceCheckUtils]: 76: Hoare triple {16265#(<= 100000 ~SIZE~0)} assume true; {16265#(<= 100000 ~SIZE~0)} is VALID [2018-11-23 12:11:35,344 INFO L268 TraceCheckUtils]: 77: Hoare quadruple {16265#(<= 100000 ~SIZE~0)} {16298#(and (= 0 main_~found~0) (= |main_~#set~0.offset| 0) (<= 100000 ~SIZE~0))} #127#return; {16298#(and (= 0 main_~found~0) (= |main_~#set~0.offset| 0) (<= 100000 ~SIZE~0))} is VALID [2018-11-23 12:11:35,345 INFO L273 TraceCheckUtils]: 78: Hoare triple {16298#(and (= 0 main_~found~0) (= |main_~#set~0.offset| 0) (<= 100000 ~SIZE~0))} assume -2147483648 <= #t~ret4 && #t~ret4 <= 2147483647; {16298#(and (= 0 main_~found~0) (= |main_~#set~0.offset| 0) (<= 100000 ~SIZE~0))} is VALID [2018-11-23 12:11:35,345 INFO L273 TraceCheckUtils]: 79: Hoare triple {16298#(and (= 0 main_~found~0) (= |main_~#set~0.offset| 0) (<= 100000 ~SIZE~0))} assume !(1 != #t~ret4);havoc #t~ret4;havoc #t~mem3; {16298#(and (= 0 main_~found~0) (= |main_~#set~0.offset| 0) (<= 100000 ~SIZE~0))} is VALID [2018-11-23 12:11:35,346 INFO L273 TraceCheckUtils]: 80: Hoare triple {16298#(and (= 0 main_~found~0) (= |main_~#set~0.offset| 0) (<= 100000 ~SIZE~0))} #t~post2 := ~v~0;~v~0 := 1 + #t~post2;havoc #t~post2; {16298#(and (= 0 main_~found~0) (= |main_~#set~0.offset| 0) (<= 100000 ~SIZE~0))} is VALID [2018-11-23 12:11:35,347 INFO L273 TraceCheckUtils]: 81: Hoare triple {16298#(and (= 0 main_~found~0) (= |main_~#set~0.offset| 0) (<= 100000 ~SIZE~0))} assume !!(~v~0 < ~SIZE~0);call #t~mem3 := read~int(~#values~0.base, ~#values~0.offset + 4 * ~v~0, 4); {16298#(and (= 0 main_~found~0) (= |main_~#set~0.offset| 0) (<= 100000 ~SIZE~0))} is VALID [2018-11-23 12:11:35,348 INFO L256 TraceCheckUtils]: 82: Hoare triple {16298#(and (= 0 main_~found~0) (= |main_~#set~0.offset| 0) (<= 100000 ~SIZE~0))} call #t~ret4 := elem_exists(~#set~0.base, ~#set~0.offset, ~n~0, #t~mem3); {16265#(<= 100000 ~SIZE~0)} is VALID [2018-11-23 12:11:35,348 INFO L273 TraceCheckUtils]: 83: Hoare triple {16265#(<= 100000 ~SIZE~0)} ~set.base, ~set.offset := #in~set.base, #in~set.offset;~size := #in~size;~value := #in~value;havoc ~i~0;~i~0 := 0; {16265#(<= 100000 ~SIZE~0)} is VALID [2018-11-23 12:11:35,349 INFO L273 TraceCheckUtils]: 84: Hoare triple {16265#(<= 100000 ~SIZE~0)} assume !!(~i~0 < ~size);call #t~mem1 := read~int(~set.base, ~set.offset + 4 * ~i~0, 4); {16265#(<= 100000 ~SIZE~0)} is VALID [2018-11-23 12:11:35,349 INFO L273 TraceCheckUtils]: 85: Hoare triple {16265#(<= 100000 ~SIZE~0)} assume #t~mem1 == ~value;havoc #t~mem1;#res := 1; {16265#(<= 100000 ~SIZE~0)} is VALID [2018-11-23 12:11:35,350 INFO L273 TraceCheckUtils]: 86: Hoare triple {16265#(<= 100000 ~SIZE~0)} assume true; {16265#(<= 100000 ~SIZE~0)} is VALID [2018-11-23 12:11:35,351 INFO L268 TraceCheckUtils]: 87: Hoare quadruple {16265#(<= 100000 ~SIZE~0)} {16298#(and (= 0 main_~found~0) (= |main_~#set~0.offset| 0) (<= 100000 ~SIZE~0))} #127#return; {16298#(and (= 0 main_~found~0) (= |main_~#set~0.offset| 0) (<= 100000 ~SIZE~0))} is VALID [2018-11-23 12:11:35,352 INFO L273 TraceCheckUtils]: 88: Hoare triple {16298#(and (= 0 main_~found~0) (= |main_~#set~0.offset| 0) (<= 100000 ~SIZE~0))} assume -2147483648 <= #t~ret4 && #t~ret4 <= 2147483647; {16298#(and (= 0 main_~found~0) (= |main_~#set~0.offset| 0) (<= 100000 ~SIZE~0))} is VALID [2018-11-23 12:11:35,352 INFO L273 TraceCheckUtils]: 89: Hoare triple {16298#(and (= 0 main_~found~0) (= |main_~#set~0.offset| 0) (<= 100000 ~SIZE~0))} assume !(1 != #t~ret4);havoc #t~ret4;havoc #t~mem3; {16298#(and (= 0 main_~found~0) (= |main_~#set~0.offset| 0) (<= 100000 ~SIZE~0))} is VALID [2018-11-23 12:11:35,353 INFO L273 TraceCheckUtils]: 90: Hoare triple {16298#(and (= 0 main_~found~0) (= |main_~#set~0.offset| 0) (<= 100000 ~SIZE~0))} #t~post2 := ~v~0;~v~0 := 1 + #t~post2;havoc #t~post2; {16298#(and (= 0 main_~found~0) (= |main_~#set~0.offset| 0) (<= 100000 ~SIZE~0))} is VALID [2018-11-23 12:11:35,354 INFO L273 TraceCheckUtils]: 91: Hoare triple {16298#(and (= 0 main_~found~0) (= |main_~#set~0.offset| 0) (<= 100000 ~SIZE~0))} assume !!(~v~0 < ~SIZE~0);call #t~mem3 := read~int(~#values~0.base, ~#values~0.offset + 4 * ~v~0, 4); {16298#(and (= 0 main_~found~0) (= |main_~#set~0.offset| 0) (<= 100000 ~SIZE~0))} is VALID [2018-11-23 12:11:35,355 INFO L256 TraceCheckUtils]: 92: Hoare triple {16298#(and (= 0 main_~found~0) (= |main_~#set~0.offset| 0) (<= 100000 ~SIZE~0))} call #t~ret4 := elem_exists(~#set~0.base, ~#set~0.offset, ~n~0, #t~mem3); {16265#(<= 100000 ~SIZE~0)} is VALID [2018-11-23 12:11:35,355 INFO L273 TraceCheckUtils]: 93: Hoare triple {16265#(<= 100000 ~SIZE~0)} ~set.base, ~set.offset := #in~set.base, #in~set.offset;~size := #in~size;~value := #in~value;havoc ~i~0;~i~0 := 0; {16265#(<= 100000 ~SIZE~0)} is VALID [2018-11-23 12:11:35,356 INFO L273 TraceCheckUtils]: 94: Hoare triple {16265#(<= 100000 ~SIZE~0)} assume !!(~i~0 < ~size);call #t~mem1 := read~int(~set.base, ~set.offset + 4 * ~i~0, 4); {16265#(<= 100000 ~SIZE~0)} is VALID [2018-11-23 12:11:35,356 INFO L273 TraceCheckUtils]: 95: Hoare triple {16265#(<= 100000 ~SIZE~0)} assume #t~mem1 == ~value;havoc #t~mem1;#res := 1; {16265#(<= 100000 ~SIZE~0)} is VALID [2018-11-23 12:11:35,357 INFO L273 TraceCheckUtils]: 96: Hoare triple {16265#(<= 100000 ~SIZE~0)} assume true; {16265#(<= 100000 ~SIZE~0)} is VALID [2018-11-23 12:11:35,358 INFO L268 TraceCheckUtils]: 97: Hoare quadruple {16265#(<= 100000 ~SIZE~0)} {16298#(and (= 0 main_~found~0) (= |main_~#set~0.offset| 0) (<= 100000 ~SIZE~0))} #127#return; {16298#(and (= 0 main_~found~0) (= |main_~#set~0.offset| 0) (<= 100000 ~SIZE~0))} is VALID [2018-11-23 12:11:35,359 INFO L273 TraceCheckUtils]: 98: Hoare triple {16298#(and (= 0 main_~found~0) (= |main_~#set~0.offset| 0) (<= 100000 ~SIZE~0))} assume -2147483648 <= #t~ret4 && #t~ret4 <= 2147483647; {16298#(and (= 0 main_~found~0) (= |main_~#set~0.offset| 0) (<= 100000 ~SIZE~0))} is VALID [2018-11-23 12:11:35,359 INFO L273 TraceCheckUtils]: 99: Hoare triple {16298#(and (= 0 main_~found~0) (= |main_~#set~0.offset| 0) (<= 100000 ~SIZE~0))} assume !(1 != #t~ret4);havoc #t~ret4;havoc #t~mem3; {16298#(and (= 0 main_~found~0) (= |main_~#set~0.offset| 0) (<= 100000 ~SIZE~0))} is VALID [2018-11-23 12:11:35,360 INFO L273 TraceCheckUtils]: 100: Hoare triple {16298#(and (= 0 main_~found~0) (= |main_~#set~0.offset| 0) (<= 100000 ~SIZE~0))} #t~post2 := ~v~0;~v~0 := 1 + #t~post2;havoc #t~post2; {16298#(and (= 0 main_~found~0) (= |main_~#set~0.offset| 0) (<= 100000 ~SIZE~0))} is VALID [2018-11-23 12:11:35,361 INFO L273 TraceCheckUtils]: 101: Hoare triple {16298#(and (= 0 main_~found~0) (= |main_~#set~0.offset| 0) (<= 100000 ~SIZE~0))} assume !!(~v~0 < ~SIZE~0);call #t~mem3 := read~int(~#values~0.base, ~#values~0.offset + 4 * ~v~0, 4); {16298#(and (= 0 main_~found~0) (= |main_~#set~0.offset| 0) (<= 100000 ~SIZE~0))} is VALID [2018-11-23 12:11:35,362 INFO L256 TraceCheckUtils]: 102: Hoare triple {16298#(and (= 0 main_~found~0) (= |main_~#set~0.offset| 0) (<= 100000 ~SIZE~0))} call #t~ret4 := elem_exists(~#set~0.base, ~#set~0.offset, ~n~0, #t~mem3); {16265#(<= 100000 ~SIZE~0)} is VALID [2018-11-23 12:11:35,362 INFO L273 TraceCheckUtils]: 103: Hoare triple {16265#(<= 100000 ~SIZE~0)} ~set.base, ~set.offset := #in~set.base, #in~set.offset;~size := #in~size;~value := #in~value;havoc ~i~0;~i~0 := 0; {16265#(<= 100000 ~SIZE~0)} is VALID [2018-11-23 12:11:35,363 INFO L273 TraceCheckUtils]: 104: Hoare triple {16265#(<= 100000 ~SIZE~0)} assume !!(~i~0 < ~size);call #t~mem1 := read~int(~set.base, ~set.offset + 4 * ~i~0, 4); {16265#(<= 100000 ~SIZE~0)} is VALID [2018-11-23 12:11:35,363 INFO L273 TraceCheckUtils]: 105: Hoare triple {16265#(<= 100000 ~SIZE~0)} assume #t~mem1 == ~value;havoc #t~mem1;#res := 1; {16265#(<= 100000 ~SIZE~0)} is VALID [2018-11-23 12:11:35,364 INFO L273 TraceCheckUtils]: 106: Hoare triple {16265#(<= 100000 ~SIZE~0)} assume true; {16265#(<= 100000 ~SIZE~0)} is VALID [2018-11-23 12:11:35,365 INFO L268 TraceCheckUtils]: 107: Hoare quadruple {16265#(<= 100000 ~SIZE~0)} {16298#(and (= 0 main_~found~0) (= |main_~#set~0.offset| 0) (<= 100000 ~SIZE~0))} #127#return; {16298#(and (= 0 main_~found~0) (= |main_~#set~0.offset| 0) (<= 100000 ~SIZE~0))} is VALID [2018-11-23 12:11:35,366 INFO L273 TraceCheckUtils]: 108: Hoare triple {16298#(and (= 0 main_~found~0) (= |main_~#set~0.offset| 0) (<= 100000 ~SIZE~0))} assume -2147483648 <= #t~ret4 && #t~ret4 <= 2147483647; {16298#(and (= 0 main_~found~0) (= |main_~#set~0.offset| 0) (<= 100000 ~SIZE~0))} is VALID [2018-11-23 12:11:35,366 INFO L273 TraceCheckUtils]: 109: Hoare triple {16298#(and (= 0 main_~found~0) (= |main_~#set~0.offset| 0) (<= 100000 ~SIZE~0))} assume !(1 != #t~ret4);havoc #t~ret4;havoc #t~mem3; {16298#(and (= 0 main_~found~0) (= |main_~#set~0.offset| 0) (<= 100000 ~SIZE~0))} is VALID [2018-11-23 12:11:35,367 INFO L273 TraceCheckUtils]: 110: Hoare triple {16298#(and (= 0 main_~found~0) (= |main_~#set~0.offset| 0) (<= 100000 ~SIZE~0))} #t~post2 := ~v~0;~v~0 := 1 + #t~post2;havoc #t~post2; {16298#(and (= 0 main_~found~0) (= |main_~#set~0.offset| 0) (<= 100000 ~SIZE~0))} is VALID [2018-11-23 12:11:35,368 INFO L273 TraceCheckUtils]: 111: Hoare triple {16298#(and (= 0 main_~found~0) (= |main_~#set~0.offset| 0) (<= 100000 ~SIZE~0))} assume !!(~v~0 < ~SIZE~0);call #t~mem3 := read~int(~#values~0.base, ~#values~0.offset + 4 * ~v~0, 4); {16298#(and (= 0 main_~found~0) (= |main_~#set~0.offset| 0) (<= 100000 ~SIZE~0))} is VALID [2018-11-23 12:11:35,369 INFO L256 TraceCheckUtils]: 112: Hoare triple {16298#(and (= 0 main_~found~0) (= |main_~#set~0.offset| 0) (<= 100000 ~SIZE~0))} call #t~ret4 := elem_exists(~#set~0.base, ~#set~0.offset, ~n~0, #t~mem3); {16265#(<= 100000 ~SIZE~0)} is VALID [2018-11-23 12:11:35,369 INFO L273 TraceCheckUtils]: 113: Hoare triple {16265#(<= 100000 ~SIZE~0)} ~set.base, ~set.offset := #in~set.base, #in~set.offset;~size := #in~size;~value := #in~value;havoc ~i~0;~i~0 := 0; {16265#(<= 100000 ~SIZE~0)} is VALID [2018-11-23 12:11:35,370 INFO L273 TraceCheckUtils]: 114: Hoare triple {16265#(<= 100000 ~SIZE~0)} assume !!(~i~0 < ~size);call #t~mem1 := read~int(~set.base, ~set.offset + 4 * ~i~0, 4); {16265#(<= 100000 ~SIZE~0)} is VALID [2018-11-23 12:11:35,370 INFO L273 TraceCheckUtils]: 115: Hoare triple {16265#(<= 100000 ~SIZE~0)} assume #t~mem1 == ~value;havoc #t~mem1;#res := 1; {16265#(<= 100000 ~SIZE~0)} is VALID [2018-11-23 12:11:35,371 INFO L273 TraceCheckUtils]: 116: Hoare triple {16265#(<= 100000 ~SIZE~0)} assume true; {16265#(<= 100000 ~SIZE~0)} is VALID [2018-11-23 12:11:35,372 INFO L268 TraceCheckUtils]: 117: Hoare quadruple {16265#(<= 100000 ~SIZE~0)} {16298#(and (= 0 main_~found~0) (= |main_~#set~0.offset| 0) (<= 100000 ~SIZE~0))} #127#return; {16298#(and (= 0 main_~found~0) (= |main_~#set~0.offset| 0) (<= 100000 ~SIZE~0))} is VALID [2018-11-23 12:11:35,373 INFO L273 TraceCheckUtils]: 118: Hoare triple {16298#(and (= 0 main_~found~0) (= |main_~#set~0.offset| 0) (<= 100000 ~SIZE~0))} assume -2147483648 <= #t~ret4 && #t~ret4 <= 2147483647; {16298#(and (= 0 main_~found~0) (= |main_~#set~0.offset| 0) (<= 100000 ~SIZE~0))} is VALID [2018-11-23 12:11:35,373 INFO L273 TraceCheckUtils]: 119: Hoare triple {16298#(and (= 0 main_~found~0) (= |main_~#set~0.offset| 0) (<= 100000 ~SIZE~0))} assume !(1 != #t~ret4);havoc #t~ret4;havoc #t~mem3; {16298#(and (= 0 main_~found~0) (= |main_~#set~0.offset| 0) (<= 100000 ~SIZE~0))} is VALID [2018-11-23 12:11:35,374 INFO L273 TraceCheckUtils]: 120: Hoare triple {16298#(and (= 0 main_~found~0) (= |main_~#set~0.offset| 0) (<= 100000 ~SIZE~0))} #t~post2 := ~v~0;~v~0 := 1 + #t~post2;havoc #t~post2; {16298#(and (= 0 main_~found~0) (= |main_~#set~0.offset| 0) (<= 100000 ~SIZE~0))} is VALID [2018-11-23 12:11:35,375 INFO L273 TraceCheckUtils]: 121: Hoare triple {16298#(and (= 0 main_~found~0) (= |main_~#set~0.offset| 0) (<= 100000 ~SIZE~0))} assume !!(~v~0 < ~SIZE~0);call #t~mem3 := read~int(~#values~0.base, ~#values~0.offset + 4 * ~v~0, 4); {16298#(and (= 0 main_~found~0) (= |main_~#set~0.offset| 0) (<= 100000 ~SIZE~0))} is VALID [2018-11-23 12:11:35,376 INFO L256 TraceCheckUtils]: 122: Hoare triple {16298#(and (= 0 main_~found~0) (= |main_~#set~0.offset| 0) (<= 100000 ~SIZE~0))} call #t~ret4 := elem_exists(~#set~0.base, ~#set~0.offset, ~n~0, #t~mem3); {16265#(<= 100000 ~SIZE~0)} is VALID [2018-11-23 12:11:35,376 INFO L273 TraceCheckUtils]: 123: Hoare triple {16265#(<= 100000 ~SIZE~0)} ~set.base, ~set.offset := #in~set.base, #in~set.offset;~size := #in~size;~value := #in~value;havoc ~i~0;~i~0 := 0; {16265#(<= 100000 ~SIZE~0)} is VALID [2018-11-23 12:11:35,377 INFO L273 TraceCheckUtils]: 124: Hoare triple {16265#(<= 100000 ~SIZE~0)} assume !!(~i~0 < ~size);call #t~mem1 := read~int(~set.base, ~set.offset + 4 * ~i~0, 4); {16265#(<= 100000 ~SIZE~0)} is VALID [2018-11-23 12:11:35,377 INFO L273 TraceCheckUtils]: 125: Hoare triple {16265#(<= 100000 ~SIZE~0)} assume #t~mem1 == ~value;havoc #t~mem1;#res := 1; {16265#(<= 100000 ~SIZE~0)} is VALID [2018-11-23 12:11:35,378 INFO L273 TraceCheckUtils]: 126: Hoare triple {16265#(<= 100000 ~SIZE~0)} assume true; {16265#(<= 100000 ~SIZE~0)} is VALID [2018-11-23 12:11:35,379 INFO L268 TraceCheckUtils]: 127: Hoare quadruple {16265#(<= 100000 ~SIZE~0)} {16298#(and (= 0 main_~found~0) (= |main_~#set~0.offset| 0) (<= 100000 ~SIZE~0))} #127#return; {16298#(and (= 0 main_~found~0) (= |main_~#set~0.offset| 0) (<= 100000 ~SIZE~0))} is VALID [2018-11-23 12:11:35,380 INFO L273 TraceCheckUtils]: 128: Hoare triple {16298#(and (= 0 main_~found~0) (= |main_~#set~0.offset| 0) (<= 100000 ~SIZE~0))} assume -2147483648 <= #t~ret4 && #t~ret4 <= 2147483647; {16298#(and (= 0 main_~found~0) (= |main_~#set~0.offset| 0) (<= 100000 ~SIZE~0))} is VALID [2018-11-23 12:11:35,380 INFO L273 TraceCheckUtils]: 129: Hoare triple {16298#(and (= 0 main_~found~0) (= |main_~#set~0.offset| 0) (<= 100000 ~SIZE~0))} assume !(1 != #t~ret4);havoc #t~ret4;havoc #t~mem3; {16298#(and (= 0 main_~found~0) (= |main_~#set~0.offset| 0) (<= 100000 ~SIZE~0))} is VALID [2018-11-23 12:11:35,381 INFO L273 TraceCheckUtils]: 130: Hoare triple {16298#(and (= 0 main_~found~0) (= |main_~#set~0.offset| 0) (<= 100000 ~SIZE~0))} #t~post2 := ~v~0;~v~0 := 1 + #t~post2;havoc #t~post2; {16298#(and (= 0 main_~found~0) (= |main_~#set~0.offset| 0) (<= 100000 ~SIZE~0))} is VALID [2018-11-23 12:11:35,382 INFO L273 TraceCheckUtils]: 131: Hoare triple {16298#(and (= 0 main_~found~0) (= |main_~#set~0.offset| 0) (<= 100000 ~SIZE~0))} assume !!(~v~0 < ~SIZE~0);call #t~mem3 := read~int(~#values~0.base, ~#values~0.offset + 4 * ~v~0, 4); {16298#(and (= 0 main_~found~0) (= |main_~#set~0.offset| 0) (<= 100000 ~SIZE~0))} is VALID [2018-11-23 12:11:35,383 INFO L256 TraceCheckUtils]: 132: Hoare triple {16298#(and (= 0 main_~found~0) (= |main_~#set~0.offset| 0) (<= 100000 ~SIZE~0))} call #t~ret4 := elem_exists(~#set~0.base, ~#set~0.offset, ~n~0, #t~mem3); {16265#(<= 100000 ~SIZE~0)} is VALID [2018-11-23 12:11:35,384 INFO L273 TraceCheckUtils]: 133: Hoare triple {16265#(<= 100000 ~SIZE~0)} ~set.base, ~set.offset := #in~set.base, #in~set.offset;~size := #in~size;~value := #in~value;havoc ~i~0;~i~0 := 0; {16265#(<= 100000 ~SIZE~0)} is VALID [2018-11-23 12:11:35,384 INFO L273 TraceCheckUtils]: 134: Hoare triple {16265#(<= 100000 ~SIZE~0)} assume !!(~i~0 < ~size);call #t~mem1 := read~int(~set.base, ~set.offset + 4 * ~i~0, 4); {16265#(<= 100000 ~SIZE~0)} is VALID [2018-11-23 12:11:35,385 INFO L273 TraceCheckUtils]: 135: Hoare triple {16265#(<= 100000 ~SIZE~0)} assume #t~mem1 == ~value;havoc #t~mem1;#res := 1; {16265#(<= 100000 ~SIZE~0)} is VALID [2018-11-23 12:11:35,385 INFO L273 TraceCheckUtils]: 136: Hoare triple {16265#(<= 100000 ~SIZE~0)} assume true; {16265#(<= 100000 ~SIZE~0)} is VALID [2018-11-23 12:11:35,386 INFO L268 TraceCheckUtils]: 137: Hoare quadruple {16265#(<= 100000 ~SIZE~0)} {16298#(and (= 0 main_~found~0) (= |main_~#set~0.offset| 0) (<= 100000 ~SIZE~0))} #127#return; {16298#(and (= 0 main_~found~0) (= |main_~#set~0.offset| 0) (<= 100000 ~SIZE~0))} is VALID [2018-11-23 12:11:35,387 INFO L273 TraceCheckUtils]: 138: Hoare triple {16298#(and (= 0 main_~found~0) (= |main_~#set~0.offset| 0) (<= 100000 ~SIZE~0))} assume -2147483648 <= #t~ret4 && #t~ret4 <= 2147483647; {16298#(and (= 0 main_~found~0) (= |main_~#set~0.offset| 0) (<= 100000 ~SIZE~0))} is VALID [2018-11-23 12:11:35,387 INFO L273 TraceCheckUtils]: 139: Hoare triple {16298#(and (= 0 main_~found~0) (= |main_~#set~0.offset| 0) (<= 100000 ~SIZE~0))} assume !(1 != #t~ret4);havoc #t~ret4;havoc #t~mem3; {16298#(and (= 0 main_~found~0) (= |main_~#set~0.offset| 0) (<= 100000 ~SIZE~0))} is VALID [2018-11-23 12:11:35,388 INFO L273 TraceCheckUtils]: 140: Hoare triple {16298#(and (= 0 main_~found~0) (= |main_~#set~0.offset| 0) (<= 100000 ~SIZE~0))} #t~post2 := ~v~0;~v~0 := 1 + #t~post2;havoc #t~post2; {16298#(and (= 0 main_~found~0) (= |main_~#set~0.offset| 0) (<= 100000 ~SIZE~0))} is VALID [2018-11-23 12:11:35,389 INFO L273 TraceCheckUtils]: 141: Hoare triple {16298#(and (= 0 main_~found~0) (= |main_~#set~0.offset| 0) (<= 100000 ~SIZE~0))} assume !(~v~0 < ~SIZE~0); {16298#(and (= 0 main_~found~0) (= |main_~#set~0.offset| 0) (<= 100000 ~SIZE~0))} is VALID [2018-11-23 12:11:35,389 INFO L273 TraceCheckUtils]: 142: Hoare triple {16298#(and (= 0 main_~found~0) (= |main_~#set~0.offset| 0) (<= 100000 ~SIZE~0))} ~i~1 := 0; {16710#(and (= 0 main_~found~0) (= |main_~#set~0.offset| 0) (= main_~i~1 0) (<= 100000 ~SIZE~0))} is VALID [2018-11-23 12:11:35,390 INFO L273 TraceCheckUtils]: 143: Hoare triple {16710#(and (= 0 main_~found~0) (= |main_~#set~0.offset| 0) (= main_~i~1 0) (<= 100000 ~SIZE~0))} assume !!(~i~1 < ~SIZE~0 && 1 != ~found~0);call #t~mem8 := read~int(~#set~0.base, ~#set~0.offset + 4 * ~i~1, 4); {16714#(and (= (select (select |#memory_int| |main_~#set~0.base|) |main_~#set~0.offset|) |main_#t~mem8|) (= |main_~#set~0.offset| 0) (<= 100000 ~SIZE~0))} is VALID [2018-11-23 12:11:35,391 INFO L273 TraceCheckUtils]: 144: Hoare triple {16714#(and (= (select (select |#memory_int| |main_~#set~0.base|) |main_~#set~0.offset|) |main_#t~mem8|) (= |main_~#set~0.offset| 0) (<= 100000 ~SIZE~0))} assume !(#t~mem8 == ~element~0);havoc #t~mem8; {16718#(and (= |main_~#set~0.offset| 0) (not (= (select (select |#memory_int| |main_~#set~0.base|) |main_~#set~0.offset|) main_~element~0)) (<= 100000 ~SIZE~0))} is VALID [2018-11-23 12:11:35,392 INFO L273 TraceCheckUtils]: 145: Hoare triple {16718#(and (= |main_~#set~0.offset| 0) (not (= (select (select |#memory_int| |main_~#set~0.base|) |main_~#set~0.offset|) main_~element~0)) (<= 100000 ~SIZE~0))} #t~post7 := ~i~1;~i~1 := 1 + #t~post7;havoc #t~post7; {16718#(and (= |main_~#set~0.offset| 0) (not (= (select (select |#memory_int| |main_~#set~0.base|) |main_~#set~0.offset|) main_~element~0)) (<= 100000 ~SIZE~0))} is VALID [2018-11-23 12:11:35,393 INFO L273 TraceCheckUtils]: 146: Hoare triple {16718#(and (= |main_~#set~0.offset| 0) (not (= (select (select |#memory_int| |main_~#set~0.base|) |main_~#set~0.offset|) main_~element~0)) (<= 100000 ~SIZE~0))} assume !!(~i~1 < ~SIZE~0 && 1 != ~found~0);call #t~mem8 := read~int(~#set~0.base, ~#set~0.offset + 4 * ~i~1, 4); {16718#(and (= |main_~#set~0.offset| 0) (not (= (select (select |#memory_int| |main_~#set~0.base|) |main_~#set~0.offset|) main_~element~0)) (<= 100000 ~SIZE~0))} is VALID [2018-11-23 12:11:35,393 INFO L273 TraceCheckUtils]: 147: Hoare triple {16718#(and (= |main_~#set~0.offset| 0) (not (= (select (select |#memory_int| |main_~#set~0.base|) |main_~#set~0.offset|) main_~element~0)) (<= 100000 ~SIZE~0))} assume !(#t~mem8 == ~element~0);havoc #t~mem8; {16718#(and (= |main_~#set~0.offset| 0) (not (= (select (select |#memory_int| |main_~#set~0.base|) |main_~#set~0.offset|) main_~element~0)) (<= 100000 ~SIZE~0))} is VALID [2018-11-23 12:11:35,394 INFO L273 TraceCheckUtils]: 148: Hoare triple {16718#(and (= |main_~#set~0.offset| 0) (not (= (select (select |#memory_int| |main_~#set~0.base|) |main_~#set~0.offset|) main_~element~0)) (<= 100000 ~SIZE~0))} #t~post7 := ~i~1;~i~1 := 1 + #t~post7;havoc #t~post7; {16718#(and (= |main_~#set~0.offset| 0) (not (= (select (select |#memory_int| |main_~#set~0.base|) |main_~#set~0.offset|) main_~element~0)) (<= 100000 ~SIZE~0))} is VALID [2018-11-23 12:11:35,398 INFO L273 TraceCheckUtils]: 149: Hoare triple {16718#(and (= |main_~#set~0.offset| 0) (not (= (select (select |#memory_int| |main_~#set~0.base|) |main_~#set~0.offset|) main_~element~0)) (<= 100000 ~SIZE~0))} assume !!(~i~1 < ~SIZE~0 && 1 != ~found~0);call #t~mem8 := read~int(~#set~0.base, ~#set~0.offset + 4 * ~i~1, 4); {16718#(and (= |main_~#set~0.offset| 0) (not (= (select (select |#memory_int| |main_~#set~0.base|) |main_~#set~0.offset|) main_~element~0)) (<= 100000 ~SIZE~0))} is VALID [2018-11-23 12:11:35,398 INFO L273 TraceCheckUtils]: 150: Hoare triple {16718#(and (= |main_~#set~0.offset| 0) (not (= (select (select |#memory_int| |main_~#set~0.base|) |main_~#set~0.offset|) main_~element~0)) (<= 100000 ~SIZE~0))} assume #t~mem8 == ~element~0;havoc #t~mem8;~found~0 := 1;~pos~0 := ~i~1; {16718#(and (= |main_~#set~0.offset| 0) (not (= (select (select |#memory_int| |main_~#set~0.base|) |main_~#set~0.offset|) main_~element~0)) (<= 100000 ~SIZE~0))} is VALID [2018-11-23 12:11:35,399 INFO L273 TraceCheckUtils]: 151: Hoare triple {16718#(and (= |main_~#set~0.offset| 0) (not (= (select (select |#memory_int| |main_~#set~0.base|) |main_~#set~0.offset|) main_~element~0)) (<= 100000 ~SIZE~0))} #t~post7 := ~i~1;~i~1 := 1 + #t~post7;havoc #t~post7; {16718#(and (= |main_~#set~0.offset| 0) (not (= (select (select |#memory_int| |main_~#set~0.base|) |main_~#set~0.offset|) main_~element~0)) (<= 100000 ~SIZE~0))} is VALID [2018-11-23 12:11:35,399 INFO L273 TraceCheckUtils]: 152: Hoare triple {16718#(and (= |main_~#set~0.offset| 0) (not (= (select (select |#memory_int| |main_~#set~0.base|) |main_~#set~0.offset|) main_~element~0)) (<= 100000 ~SIZE~0))} assume !(~i~1 < ~SIZE~0 && 1 != ~found~0); {16718#(and (= |main_~#set~0.offset| 0) (not (= (select (select |#memory_int| |main_~#set~0.base|) |main_~#set~0.offset|) main_~element~0)) (<= 100000 ~SIZE~0))} is VALID [2018-11-23 12:11:35,400 INFO L273 TraceCheckUtils]: 153: Hoare triple {16718#(and (= |main_~#set~0.offset| 0) (not (= (select (select |#memory_int| |main_~#set~0.base|) |main_~#set~0.offset|) main_~element~0)) (<= 100000 ~SIZE~0))} assume 1 == ~found~0;~i~1 := ~pos~0; {16718#(and (= |main_~#set~0.offset| 0) (not (= (select (select |#memory_int| |main_~#set~0.base|) |main_~#set~0.offset|) main_~element~0)) (<= 100000 ~SIZE~0))} is VALID [2018-11-23 12:11:35,401 INFO L273 TraceCheckUtils]: 154: Hoare triple {16718#(and (= |main_~#set~0.offset| 0) (not (= (select (select |#memory_int| |main_~#set~0.base|) |main_~#set~0.offset|) main_~element~0)) (<= 100000 ~SIZE~0))} assume !!(~i~1 < ~SIZE~0 - 1);call #t~mem10 := read~int(~#set~0.base, ~#set~0.offset + 4 * (1 + ~i~1), 4);call write~int(#t~mem10, ~#set~0.base, ~#set~0.offset + 4 * ~i~1, 4);havoc #t~mem10; {16749#(or (and (= 0 (* 4 main_~i~1)) (= |main_~#set~0.offset| 0) (= (select (select |#memory_int| |main_~#set~0.base|) (+ |main_~#set~0.offset| (* 4 main_~i~1))) (select (select |#memory_int| |main_~#set~0.base|) (+ |main_~#set~0.offset| (* 4 main_~i~1) 4))) (<= 100000 ~SIZE~0)) (and (= |main_~#set~0.offset| 0) (not (= (select (select |#memory_int| |main_~#set~0.base|) |main_~#set~0.offset|) main_~element~0)) (= (select (select |#memory_int| |main_~#set~0.base|) (+ |main_~#set~0.offset| (* 4 main_~i~1))) (select (select |#memory_int| |main_~#set~0.base|) (+ |main_~#set~0.offset| (* 4 main_~i~1) 4))) (<= 100000 ~SIZE~0)))} is VALID [2018-11-23 12:11:35,404 INFO L273 TraceCheckUtils]: 155: Hoare triple {16749#(or (and (= 0 (* 4 main_~i~1)) (= |main_~#set~0.offset| 0) (= (select (select |#memory_int| |main_~#set~0.base|) (+ |main_~#set~0.offset| (* 4 main_~i~1))) (select (select |#memory_int| |main_~#set~0.base|) (+ |main_~#set~0.offset| (* 4 main_~i~1) 4))) (<= 100000 ~SIZE~0)) (and (= |main_~#set~0.offset| 0) (not (= (select (select |#memory_int| |main_~#set~0.base|) |main_~#set~0.offset|) main_~element~0)) (= (select (select |#memory_int| |main_~#set~0.base|) (+ |main_~#set~0.offset| (* 4 main_~i~1))) (select (select |#memory_int| |main_~#set~0.base|) (+ |main_~#set~0.offset| (* 4 main_~i~1) 4))) (<= 100000 ~SIZE~0)))} #t~post9 := ~i~1;~i~1 := 1 + #t~post9;havoc #t~post9; {16753#(or (and (= |main_~#set~0.offset| 0) (not (= (select (select |#memory_int| |main_~#set~0.base|) |main_~#set~0.offset|) main_~element~0)) (exists ((v_main_~i~1_30 Int)) (and (= (select (select |#memory_int| |main_~#set~0.base|) (+ |main_~#set~0.offset| (* 4 v_main_~i~1_30))) (select (select |#memory_int| |main_~#set~0.base|) (+ |main_~#set~0.offset| (* 4 v_main_~i~1_30) 4))) (<= main_~i~1 (+ v_main_~i~1_30 1)))) (<= 100000 ~SIZE~0)) (and (= |main_~#set~0.offset| 0) (<= main_~i~1 1) (= (select (select |#memory_int| |main_~#set~0.base|) |main_~#set~0.offset|) (select (select |#memory_int| |main_~#set~0.base|) (+ |main_~#set~0.offset| 4))) (<= 100000 ~SIZE~0)))} is VALID [2018-11-23 12:11:35,406 INFO L273 TraceCheckUtils]: 156: Hoare triple {16753#(or (and (= |main_~#set~0.offset| 0) (not (= (select (select |#memory_int| |main_~#set~0.base|) |main_~#set~0.offset|) main_~element~0)) (exists ((v_main_~i~1_30 Int)) (and (= (select (select |#memory_int| |main_~#set~0.base|) (+ |main_~#set~0.offset| (* 4 v_main_~i~1_30))) (select (select |#memory_int| |main_~#set~0.base|) (+ |main_~#set~0.offset| (* 4 v_main_~i~1_30) 4))) (<= main_~i~1 (+ v_main_~i~1_30 1)))) (<= 100000 ~SIZE~0)) (and (= |main_~#set~0.offset| 0) (<= main_~i~1 1) (= (select (select |#memory_int| |main_~#set~0.base|) |main_~#set~0.offset|) (select (select |#memory_int| |main_~#set~0.base|) (+ |main_~#set~0.offset| 4))) (<= 100000 ~SIZE~0)))} assume !(~i~1 < ~SIZE~0 - 1); {16757#(and (= |main_~#set~0.offset| 0) (exists ((v_main_~i~1_30 Int)) (and (<= 99998 v_main_~i~1_30) (= (select (select |#memory_int| |main_~#set~0.base|) (+ |main_~#set~0.offset| (* 4 v_main_~i~1_30))) (select (select |#memory_int| |main_~#set~0.base|) (+ |main_~#set~0.offset| (* 4 v_main_~i~1_30) 4))))) (not (= (select (select |#memory_int| |main_~#set~0.base|) |main_~#set~0.offset|) main_~element~0)))} is VALID [2018-11-23 12:11:35,407 INFO L273 TraceCheckUtils]: 157: Hoare triple {16757#(and (= |main_~#set~0.offset| 0) (exists ((v_main_~i~1_30 Int)) (and (<= 99998 v_main_~i~1_30) (= (select (select |#memory_int| |main_~#set~0.base|) (+ |main_~#set~0.offset| (* 4 v_main_~i~1_30))) (select (select |#memory_int| |main_~#set~0.base|) (+ |main_~#set~0.offset| (* 4 v_main_~i~1_30) 4))))) (not (= (select (select |#memory_int| |main_~#set~0.base|) |main_~#set~0.offset|) main_~element~0)))} assume 1 == ~found~0;~i~1 := 0; {16761#(and (= |main_~#set~0.offset| 0) (exists ((v_main_~i~1_30 Int)) (and (<= 99998 v_main_~i~1_30) (= (select (select |#memory_int| |main_~#set~0.base|) (+ |main_~#set~0.offset| (* 4 v_main_~i~1_30))) (select (select |#memory_int| |main_~#set~0.base|) (+ |main_~#set~0.offset| (* 4 v_main_~i~1_30) 4))))) (not (= (select (select |#memory_int| |main_~#set~0.base|) |main_~#set~0.offset|) main_~element~0)) (= main_~i~1 0))} is VALID [2018-11-23 12:11:35,409 INFO L273 TraceCheckUtils]: 158: Hoare triple {16761#(and (= |main_~#set~0.offset| 0) (exists ((v_main_~i~1_30 Int)) (and (<= 99998 v_main_~i~1_30) (= (select (select |#memory_int| |main_~#set~0.base|) (+ |main_~#set~0.offset| (* 4 v_main_~i~1_30))) (select (select |#memory_int| |main_~#set~0.base|) (+ |main_~#set~0.offset| (* 4 v_main_~i~1_30) 4))))) (not (= (select (select |#memory_int| |main_~#set~0.base|) |main_~#set~0.offset|) main_~element~0)) (= main_~i~1 0))} assume !!(~i~1 < ~SIZE~0 - 1);call #t~mem12 := read~int(~#set~0.base, ~#set~0.offset + 4 * ~i~1, 4); {16765#(not (= |main_#t~mem12| main_~element~0))} is VALID [2018-11-23 12:11:35,411 INFO L256 TraceCheckUtils]: 159: Hoare triple {16765#(not (= |main_#t~mem12| main_~element~0))} call __VERIFIER_assert((if #t~mem12 != ~element~0 then 1 else 0)); {16769#(= |__VERIFIER_assert_#in~cond| 1)} is VALID [2018-11-23 12:11:35,411 INFO L273 TraceCheckUtils]: 160: Hoare triple {16769#(= |__VERIFIER_assert_#in~cond| 1)} ~cond := #in~cond; {16773#(= 1 __VERIFIER_assert_~cond)} is VALID [2018-11-23 12:11:35,414 INFO L273 TraceCheckUtils]: 161: Hoare triple {16773#(= 1 __VERIFIER_assert_~cond)} assume 0 == ~cond; {16264#false} is VALID [2018-11-23 12:11:35,414 INFO L273 TraceCheckUtils]: 162: Hoare triple {16264#false} assume !false; {16264#false} is VALID [2018-11-23 12:11:35,463 INFO L134 CoverageAnalysis]: Checked inductivity of 794 backedges. 0 proven. 6 refuted. 0 times theorem prover too weak. 788 trivial. 0 not checked. [2018-11-23 12:11:35,482 INFO L312 seRefinementStrategy]: Constructing automaton from 0 perfect and 2 imperfect interpolant sequences. [2018-11-23 12:11:35,483 INFO L327 seRefinementStrategy]: Number of different interpolants: perfect sequences [] imperfect sequences [17, 14] total 28 [2018-11-23 12:11:35,483 INFO L78 Accepts]: Start accepts. Automaton has 28 states. Word has length 163 [2018-11-23 12:11:35,484 INFO L84 Accepts]: Finished accepts. word is accepted. [2018-11-23 12:11:35,484 INFO L86 InductivityCheck]: Starting indutivity check of a Floyd-Hoare automaton with 28 states. [2018-11-23 12:11:35,737 INFO L119 InductivityCheck]: Floyd-Hoare automaton has 149 edges. 149 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2018-11-23 12:11:35,738 INFO L459 AbstractCegarLoop]: Interpolant automaton has 28 states [2018-11-23 12:11:35,738 INFO L142 InterpolantAutomaton]: Constructing interpolant automaton starting with 28 interpolants. [2018-11-23 12:11:35,738 INFO L144 InterpolantAutomaton]: CoverageRelationStatistics Valid=154, Invalid=600, Unknown=2, NotChecked=0, Total=756 [2018-11-23 12:11:35,738 INFO L87 Difference]: Start difference. First operand 184 states and 251 transitions. Second operand 28 states. [2018-11-23 12:13:16,801 WARN L180 SmtUtils]: Spent 14.08 s on a formula simplification. DAG size of input: 39 DAG size of output: 32