/usr/bin/java -ea -Xmx8000000000 -Xss4m -jar ./plugins/org.eclipse.equinox.launcher_1.3.100.v20150511-1540.jar -data @noDefault -ultimatedata ./data -tc ../../../trunk/examples/toolchains/AutomizerC.xml -s ../../../trunk/examples/settings/default/automizer/svcomp-Reach-32bit-Automizer_Default.epf -i ../../../trunk/examples/svcomp/array-examples/data_structures_set_multi_proc_trivial_ground.i -------------------------------------------------------------------------------- This is Ultimate 0.1.25-267fbe0 [2020-07-17 22:48:38,540 INFO L177 SettingsManager]: Resetting all preferences to default values... [2020-07-17 22:48:38,543 INFO L181 SettingsManager]: Resetting UltimateCore preferences to default values [2020-07-17 22:48:38,555 INFO L184 SettingsManager]: Ultimate Commandline Interface provides no preferences, ignoring... [2020-07-17 22:48:38,556 INFO L181 SettingsManager]: Resetting Boogie Preprocessor preferences to default values [2020-07-17 22:48:38,557 INFO L181 SettingsManager]: Resetting Boogie Procedure Inliner preferences to default values [2020-07-17 22:48:38,558 INFO L181 SettingsManager]: Resetting Abstract Interpretation preferences to default values [2020-07-17 22:48:38,560 INFO L181 SettingsManager]: Resetting LassoRanker preferences to default values [2020-07-17 22:48:38,562 INFO L181 SettingsManager]: Resetting Reaching Definitions preferences to default values [2020-07-17 22:48:38,563 INFO L181 SettingsManager]: Resetting SyntaxChecker preferences to default values [2020-07-17 22:48:38,564 INFO L181 SettingsManager]: Resetting Sifa preferences to default values [2020-07-17 22:48:38,565 INFO L184 SettingsManager]: Büchi Program Product provides no preferences, ignoring... [2020-07-17 22:48:38,565 INFO L181 SettingsManager]: Resetting LTL2Aut preferences to default values [2020-07-17 22:48:38,566 INFO L181 SettingsManager]: Resetting PEA to Boogie preferences to default values [2020-07-17 22:48:38,567 INFO L181 SettingsManager]: Resetting BlockEncodingV2 preferences to default values [2020-07-17 22:48:38,568 INFO L181 SettingsManager]: Resetting ChcToBoogie preferences to default values [2020-07-17 22:48:38,569 INFO L181 SettingsManager]: Resetting AutomataScriptInterpreter preferences to default values [2020-07-17 22:48:38,570 INFO L181 SettingsManager]: Resetting BuchiAutomizer preferences to default values [2020-07-17 22:48:38,572 INFO L181 SettingsManager]: Resetting CACSL2BoogieTranslator preferences to default values [2020-07-17 22:48:38,574 INFO L181 SettingsManager]: Resetting CodeCheck preferences to default values [2020-07-17 22:48:38,576 INFO L181 SettingsManager]: Resetting InvariantSynthesis preferences to default values [2020-07-17 22:48:38,577 INFO L181 SettingsManager]: Resetting RCFGBuilder preferences to default values [2020-07-17 22:48:38,578 INFO L181 SettingsManager]: Resetting Referee preferences to default values [2020-07-17 22:48:38,579 INFO L181 SettingsManager]: Resetting TraceAbstraction preferences to default values [2020-07-17 22:48:38,581 INFO L184 SettingsManager]: TraceAbstractionConcurrent provides no preferences, ignoring... [2020-07-17 22:48:38,582 INFO L184 SettingsManager]: TraceAbstractionWithAFAs provides no preferences, ignoring... [2020-07-17 22:48:38,582 INFO L181 SettingsManager]: Resetting TreeAutomizer preferences to default values [2020-07-17 22:48:38,583 INFO L181 SettingsManager]: Resetting IcfgToChc preferences to default values [2020-07-17 22:48:38,583 INFO L181 SettingsManager]: Resetting IcfgTransformer preferences to default values [2020-07-17 22:48:38,585 INFO L184 SettingsManager]: ReqToTest provides no preferences, ignoring... [2020-07-17 22:48:38,585 INFO L181 SettingsManager]: Resetting Boogie Printer preferences to default values [2020-07-17 22:48:38,586 INFO L181 SettingsManager]: Resetting ChcSmtPrinter preferences to default values [2020-07-17 22:48:38,586 INFO L181 SettingsManager]: Resetting ReqPrinter preferences to default values [2020-07-17 22:48:38,587 INFO L181 SettingsManager]: Resetting Witness Printer preferences to default values [2020-07-17 22:48:38,588 INFO L184 SettingsManager]: Boogie PL CUP Parser provides no preferences, ignoring... [2020-07-17 22:48:38,588 INFO L181 SettingsManager]: Resetting CDTParser preferences to default values [2020-07-17 22:48:38,589 INFO L184 SettingsManager]: AutomataScriptParser provides no preferences, ignoring... [2020-07-17 22:48:38,589 INFO L184 SettingsManager]: ReqParser provides no preferences, ignoring... [2020-07-17 22:48:38,589 INFO L181 SettingsManager]: Resetting SmtParser preferences to default values [2020-07-17 22:48:38,590 INFO L181 SettingsManager]: Resetting Witness Parser preferences to default values [2020-07-17 22:48:38,593 INFO L188 SettingsManager]: Finished resetting all preferences to default values... [2020-07-17 22:48:38,594 INFO L101 SettingsManager]: Beginning loading settings from /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/../../../trunk/examples/settings/default/automizer/svcomp-Reach-32bit-Automizer_Default.epf [2020-07-17 22:48:38,622 INFO L113 SettingsManager]: Loading preferences was successful [2020-07-17 22:48:38,622 INFO L115 SettingsManager]: Preferences different from defaults after loading the file: [2020-07-17 22:48:38,624 INFO L136 SettingsManager]: Preferences of BlockEncodingV2 differ from their defaults: [2020-07-17 22:48:38,624 INFO L138 SettingsManager]: * Create parallel compositions if possible=false [2020-07-17 22:48:38,625 INFO L138 SettingsManager]: * Use SBE=true [2020-07-17 22:48:38,625 INFO L136 SettingsManager]: Preferences of CACSL2BoogieTranslator differ from their defaults: [2020-07-17 22:48:38,625 INFO L138 SettingsManager]: * sizeof long=4 [2020-07-17 22:48:38,625 INFO L138 SettingsManager]: * Overapproximate operations on floating types=true [2020-07-17 22:48:38,626 INFO L138 SettingsManager]: * sizeof POINTER=4 [2020-07-17 22:48:38,626 INFO L138 SettingsManager]: * Check division by zero=IGNORE [2020-07-17 22:48:38,627 INFO L138 SettingsManager]: * Pointer to allocated memory at dereference=IGNORE [2020-07-17 22:48:38,627 INFO L138 SettingsManager]: * If two pointers are subtracted or compared they have the same base address=IGNORE [2020-07-17 22:48:38,627 INFO L138 SettingsManager]: * Check array bounds for arrays that are off heap=IGNORE [2020-07-17 22:48:38,628 INFO L138 SettingsManager]: * sizeof long double=12 [2020-07-17 22:48:38,628 INFO L138 SettingsManager]: * Check if freed pointer was valid=false [2020-07-17 22:48:38,628 INFO L138 SettingsManager]: * Use constant arrays=true [2020-07-17 22:48:38,628 INFO L138 SettingsManager]: * Pointer base address is valid at dereference=IGNORE [2020-07-17 22:48:38,628 INFO L136 SettingsManager]: Preferences of RCFGBuilder differ from their defaults: [2020-07-17 22:48:38,629 INFO L138 SettingsManager]: * Size of a code block=SequenceOfStatements [2020-07-17 22:48:38,629 INFO L138 SettingsManager]: * To the following directory=./dump/ [2020-07-17 22:48:38,629 INFO L138 SettingsManager]: * SMT solver=External_DefaultMode [2020-07-17 22:48:38,630 INFO L138 SettingsManager]: * Command for external solver=z3 SMTLIB2_COMPLIANT=true -memory:2024 -smt2 -in -t:2000 [2020-07-17 22:48:38,630 INFO L136 SettingsManager]: Preferences of TraceAbstraction differ from their defaults: [2020-07-17 22:48:38,630 INFO L138 SettingsManager]: * Compute Interpolants along a Counterexample=FPandBP [2020-07-17 22:48:38,630 INFO L138 SettingsManager]: * Positions where we compute the Hoare Annotation=LoopsAndPotentialCycles [2020-07-17 22:48:38,630 INFO L138 SettingsManager]: * Trace refinement strategy=CAMEL [2020-07-17 22:48:38,631 INFO L138 SettingsManager]: * Command for external solver=z3 SMTLIB2_COMPLIANT=true -memory:2024 -smt2 -in [2020-07-17 22:48:38,631 INFO L138 SettingsManager]: * Compute Hoare Annotation of negated interpolant automaton, abstraction and CFG=true [2020-07-17 22:48:38,631 INFO L138 SettingsManager]: * Trace refinement exception blacklist=NONE [2020-07-17 22:48:38,631 INFO L138 SettingsManager]: * SMT solver=External_ModelsAndUnsatCoreMode [2020-07-17 22:48:38,916 INFO L81 nceAwareModelManager]: Repository-Root is: /tmp [2020-07-17 22:48:38,929 INFO L258 ainManager$Toolchain]: [Toolchain 1]: Applicable parser(s) successfully (re)initialized [2020-07-17 22:48:38,933 INFO L214 ainManager$Toolchain]: [Toolchain 1]: Toolchain selected. [2020-07-17 22:48:38,934 INFO L271 PluginConnector]: Initializing CDTParser... [2020-07-17 22:48:38,935 INFO L275 PluginConnector]: CDTParser initialized [2020-07-17 22:48:38,935 INFO L429 ainManager$Toolchain]: [Toolchain 1]: Parsing single file: /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/../../../trunk/examples/svcomp/array-examples/data_structures_set_multi_proc_trivial_ground.i [2020-07-17 22:48:39,014 INFO L220 CDTParser]: Created temporary CDT project at /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/data/2fd647e1f/9f02f1afd8ba4c41a7b74e886cf47e2b/FLAG9721b4b75 [2020-07-17 22:48:39,477 INFO L306 CDTParser]: Found 1 translation units. [2020-07-17 22:48:39,479 INFO L160 CDTParser]: Scanning /storage/repos/ultimate/trunk/examples/svcomp/array-examples/data_structures_set_multi_proc_trivial_ground.i [2020-07-17 22:48:39,488 INFO L349 CDTParser]: About to delete temporary CDT project at /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/data/2fd647e1f/9f02f1afd8ba4c41a7b74e886cf47e2b/FLAG9721b4b75 [2020-07-17 22:48:39,821 INFO L357 CDTParser]: Successfully deleted /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/data/2fd647e1f/9f02f1afd8ba4c41a7b74e886cf47e2b [2020-07-17 22:48:39,832 INFO L296 ainManager$Toolchain]: ####################### [Toolchain 1] ####################### [2020-07-17 22:48:39,836 INFO L131 ToolchainWalker]: Walking toolchain with 4 elements. [2020-07-17 22:48:39,837 INFO L113 PluginConnector]: ------------------------CACSL2BoogieTranslator---------------------------- [2020-07-17 22:48:39,837 INFO L271 PluginConnector]: Initializing CACSL2BoogieTranslator... [2020-07-17 22:48:39,841 INFO L275 PluginConnector]: CACSL2BoogieTranslator initialized [2020-07-17 22:48:39,843 INFO L185 PluginConnector]: Executing the observer ACSLObjectContainerObserver from plugin CACSL2BoogieTranslator for "CDTParser AST 17.07 10:48:39" (1/1) ... [2020-07-17 22:48:39,847 INFO L205 PluginConnector]: Invalid model from CACSL2BoogieTranslator for observer de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator.ACSLObjectContainerObserver@714eb6f6 and model type de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 17.07 10:48:39, skipping insertion in model container [2020-07-17 22:48:39,847 INFO L185 PluginConnector]: Executing the observer CACSL2BoogieTranslatorObserver from plugin CACSL2BoogieTranslator for "CDTParser AST 17.07 10:48:39" (1/1) ... [2020-07-17 22:48:39,856 INFO L145 MainTranslator]: Starting translation in SV-COMP mode [2020-07-17 22:48:39,878 INFO L178 MainTranslator]: Built tables and reachable declarations [2020-07-17 22:48:40,165 INFO L206 PostProcessor]: Analyzing one entry point: main [2020-07-17 22:48:40,175 INFO L203 MainTranslator]: Completed pre-run [2020-07-17 22:48:40,208 INFO L206 PostProcessor]: Analyzing one entry point: main [2020-07-17 22:48:40,228 INFO L208 MainTranslator]: Completed translation [2020-07-17 22:48:40,229 INFO L202 PluginConnector]: Adding new model de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 17.07 10:48:40 WrapperNode [2020-07-17 22:48:40,229 INFO L132 PluginConnector]: ------------------------ END CACSL2BoogieTranslator---------------------------- [2020-07-17 22:48:40,230 INFO L113 PluginConnector]: ------------------------Boogie Preprocessor---------------------------- [2020-07-17 22:48:40,230 INFO L271 PluginConnector]: Initializing Boogie Preprocessor... [2020-07-17 22:48:40,230 INFO L275 PluginConnector]: Boogie Preprocessor initialized [2020-07-17 22:48:40,354 INFO L185 PluginConnector]: Executing the observer EnsureBoogieModelObserver from plugin Boogie Preprocessor for "de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 17.07 10:48:40" (1/1) ... [2020-07-17 22:48:40,354 INFO L185 PluginConnector]: Executing the observer TypeChecker from plugin Boogie Preprocessor for "de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 17.07 10:48:40" (1/1) ... [2020-07-17 22:48:40,379 INFO L185 PluginConnector]: Executing the observer ConstExpander from plugin Boogie Preprocessor for "de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 17.07 10:48:40" (1/1) ... [2020-07-17 22:48:40,380 INFO L185 PluginConnector]: Executing the observer StructExpander from plugin Boogie Preprocessor for "de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 17.07 10:48:40" (1/1) ... [2020-07-17 22:48:40,416 INFO L185 PluginConnector]: Executing the observer UnstructureCode from plugin Boogie Preprocessor for "de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 17.07 10:48:40" (1/1) ... [2020-07-17 22:48:40,437 INFO L185 PluginConnector]: Executing the observer FunctionInliner from plugin Boogie Preprocessor for "de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 17.07 10:48:40" (1/1) ... [2020-07-17 22:48:40,441 INFO L185 PluginConnector]: Executing the observer BoogieSymbolTableConstructor from plugin Boogie Preprocessor for "de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 17.07 10:48:40" (1/1) ... [2020-07-17 22:48:40,445 INFO L132 PluginConnector]: ------------------------ END Boogie Preprocessor---------------------------- [2020-07-17 22:48:40,445 INFO L113 PluginConnector]: ------------------------RCFGBuilder---------------------------- [2020-07-17 22:48:40,445 INFO L271 PluginConnector]: Initializing RCFGBuilder... [2020-07-17 22:48:40,445 INFO L275 PluginConnector]: RCFGBuilder initialized [2020-07-17 22:48:40,446 INFO L185 PluginConnector]: Executing the observer RCFGBuilderObserver from plugin RCFGBuilder for "de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 17.07 10:48:40" (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 [2020-07-17 22:48:40,516 INFO L138 BoogieDeclarations]: Found implementation of procedure ULTIMATE.init [2020-07-17 22:48:40,516 INFO L138 BoogieDeclarations]: Found implementation of procedure ULTIMATE.start [2020-07-17 22:48:40,516 INFO L138 BoogieDeclarations]: Found implementation of procedure __VERIFIER_assert [2020-07-17 22:48:40,516 INFO L138 BoogieDeclarations]: Found implementation of procedure insert [2020-07-17 22:48:40,516 INFO L138 BoogieDeclarations]: Found implementation of procedure elem_exists [2020-07-17 22:48:40,517 INFO L138 BoogieDeclarations]: Found implementation of procedure main [2020-07-17 22:48:40,517 INFO L130 BoogieDeclarations]: Found specification of procedure __VERIFIER_error [2020-07-17 22:48:40,517 INFO L130 BoogieDeclarations]: Found specification of procedure __VERIFIER_assert [2020-07-17 22:48:40,517 INFO L130 BoogieDeclarations]: Found specification of procedure __VERIFIER_nondet_int [2020-07-17 22:48:40,517 INFO L130 BoogieDeclarations]: Found specification of procedure insert [2020-07-17 22:48:40,517 INFO L130 BoogieDeclarations]: Found specification of procedure write~int [2020-07-17 22:48:40,518 INFO L130 BoogieDeclarations]: Found specification of procedure elem_exists [2020-07-17 22:48:40,518 INFO L130 BoogieDeclarations]: Found specification of procedure read~int [2020-07-17 22:48:40,518 INFO L130 BoogieDeclarations]: Found specification of procedure main [2020-07-17 22:48:40,518 INFO L130 BoogieDeclarations]: Found specification of procedure #Ultimate.allocOnStack [2020-07-17 22:48:40,518 INFO L130 BoogieDeclarations]: Found specification of procedure ULTIMATE.dealloc [2020-07-17 22:48:40,518 INFO L130 BoogieDeclarations]: Found specification of procedure ULTIMATE.init [2020-07-17 22:48:40,519 INFO L130 BoogieDeclarations]: Found specification of procedure ULTIMATE.start [2020-07-17 22:48:41,111 INFO L290 CfgBuilder]: Using the 1 location(s) as analysis (start of procedure ULTIMATE.start) [2020-07-17 22:48:41,112 INFO L295 CfgBuilder]: Removed 10 assume(true) statements. [2020-07-17 22:48:41,116 INFO L202 PluginConnector]: Adding new model de.uni_freiburg.informatik.ultimate.plugins.generator.rcfgbuilder CFG 17.07 10:48:41 BoogieIcfgContainer [2020-07-17 22:48:41,117 INFO L132 PluginConnector]: ------------------------ END RCFGBuilder---------------------------- [2020-07-17 22:48:41,118 INFO L113 PluginConnector]: ------------------------TraceAbstraction---------------------------- [2020-07-17 22:48:41,118 INFO L271 PluginConnector]: Initializing TraceAbstraction... [2020-07-17 22:48:41,122 INFO L275 PluginConnector]: TraceAbstraction initialized [2020-07-17 22:48:41,122 INFO L185 PluginConnector]: Executing the observer TraceAbstractionObserver from plugin TraceAbstraction for "CDTParser AST 17.07 10:48:39" (1/3) ... [2020-07-17 22:48:41,123 INFO L205 PluginConnector]: Invalid model from TraceAbstraction for observer de.uni_freiburg.informatik.ultimate.plugins.generator.traceabstraction.TraceAbstractionObserver@32f9fbeb and model type de.uni_freiburg.informatik.ultimate.plugins.generator.traceabstraction AST 17.07 10:48:41, skipping insertion in model container [2020-07-17 22:48:41,123 INFO L185 PluginConnector]: Executing the observer TraceAbstractionObserver from plugin TraceAbstraction for "de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 17.07 10:48:40" (2/3) ... [2020-07-17 22:48:41,124 INFO L205 PluginConnector]: Invalid model from TraceAbstraction for observer de.uni_freiburg.informatik.ultimate.plugins.generator.traceabstraction.TraceAbstractionObserver@32f9fbeb and model type de.uni_freiburg.informatik.ultimate.plugins.generator.traceabstraction AST 17.07 10:48:41, skipping insertion in model container [2020-07-17 22:48:41,124 INFO L185 PluginConnector]: Executing the observer TraceAbstractionObserver from plugin TraceAbstraction for "de.uni_freiburg.informatik.ultimate.plugins.generator.rcfgbuilder CFG 17.07 10:48:41" (3/3) ... [2020-07-17 22:48:41,126 INFO L109 eAbstractionObserver]: Analyzing ICFG data_structures_set_multi_proc_trivial_ground.i [2020-07-17 22:48:41,138 INFO L157 ceAbstractionStarter]: Automizer settings: Hoare:true NWA Interpolation:FPandBP Determinization: PREDICATE_ABSTRACTION [2020-07-17 22:48:41,146 INFO L169 ceAbstractionStarter]: Appying trace abstraction to program that has 1 error locations. [2020-07-17 22:48:41,161 INFO L251 AbstractCegarLoop]: Starting to check reachability of 1 error locations. [2020-07-17 22:48:41,187 INFO L375 AbstractCegarLoop]: Interprodecural is true [2020-07-17 22:48:41,188 INFO L376 AbstractCegarLoop]: Hoare is true [2020-07-17 22:48:41,188 INFO L377 AbstractCegarLoop]: Compute interpolants for FPandBP [2020-07-17 22:48:41,188 INFO L378 AbstractCegarLoop]: Backedges is STRAIGHT_LINE [2020-07-17 22:48:41,188 INFO L379 AbstractCegarLoop]: Determinization is PREDICATE_ABSTRACTION [2020-07-17 22:48:41,189 INFO L380 AbstractCegarLoop]: Difference is false [2020-07-17 22:48:41,189 INFO L381 AbstractCegarLoop]: Minimize is MINIMIZE_SEVPA [2020-07-17 22:48:41,189 INFO L385 AbstractCegarLoop]: ======== Iteration 0==of CEGAR loop == AllErrorsAtOnce======== [2020-07-17 22:48:41,208 INFO L276 IsEmpty]: Start isEmpty. Operand 61 states. [2020-07-17 22:48:41,213 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 15 [2020-07-17 22:48:41,213 INFO L414 BasicCegarLoop]: Found error trace [2020-07-17 22:48:41,214 INFO L422 BasicCegarLoop]: trace histogram [1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1] [2020-07-17 22:48:41,215 INFO L427 AbstractCegarLoop]: === Iteration 1 === [__VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION]=== [2020-07-17 22:48:41,219 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2020-07-17 22:48:41,220 INFO L82 PathProgramCache]: Analyzing trace with hash 528217166, now seen corresponding path program 1 times [2020-07-17 22:48:41,228 INFO L163 FreeRefinementEngine]: Executing refinement strategy CAMEL [2020-07-17 22:48:41,229 INFO L354 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [781750633] [2020-07-17 22:48:41,229 INFO L94 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2020-07-17 22:48:41,334 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2020-07-17 22:48:41,446 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2020-07-17 22:48:41,465 INFO L280 TraceCheckUtils]: 0: Hoare triple {70#(and (= |#valid| |old(#valid)|) (= |#NULL.base| |old(#NULL.base)|) (= |#NULL.offset| |old(#NULL.offset)|))} #NULL.base, #NULL.offset := 0, 0;#valid := #valid[0 := 0];assume 0 < #StackHeapBarrier; {64#true} is VALID [2020-07-17 22:48:41,466 INFO L280 TraceCheckUtils]: 1: Hoare triple {64#true} assume true; {64#true} is VALID [2020-07-17 22:48:41,466 INFO L275 TraceCheckUtils]: 2: Hoare quadruple {64#true} {64#true} #176#return; {64#true} is VALID [2020-07-17 22:48:41,470 INFO L263 TraceCheckUtils]: 0: Hoare triple {64#true} call ULTIMATE.init(); {70#(and (= |#valid| |old(#valid)|) (= |#NULL.base| |old(#NULL.base)|) (= |#NULL.offset| |old(#NULL.offset)|))} is VALID [2020-07-17 22:48:41,471 INFO L280 TraceCheckUtils]: 1: Hoare triple {70#(and (= |#valid| |old(#valid)|) (= |#NULL.base| |old(#NULL.base)|) (= |#NULL.offset| |old(#NULL.offset)|))} #NULL.base, #NULL.offset := 0, 0;#valid := #valid[0 := 0];assume 0 < #StackHeapBarrier; {64#true} is VALID [2020-07-17 22:48:41,472 INFO L280 TraceCheckUtils]: 2: Hoare triple {64#true} assume true; {64#true} is VALID [2020-07-17 22:48:41,472 INFO L275 TraceCheckUtils]: 3: Hoare quadruple {64#true} {64#true} #176#return; {64#true} is VALID [2020-07-17 22:48:41,473 INFO L263 TraceCheckUtils]: 4: Hoare triple {64#true} call #t~ret23 := main(); {64#true} is VALID [2020-07-17 22:48:41,474 INFO L280 TraceCheckUtils]: 5: Hoare triple {64#true} ~n~0 := 0;call ~#set~0.base, ~#set~0.offset := #Ultimate.allocOnStack(400000);havoc ~x~0;havoc ~y~0;~x~0 := 0; {69#(= 0 main_~x~0)} is VALID [2020-07-17 22:48:41,476 INFO L280 TraceCheckUtils]: 6: Hoare triple {69#(= 0 main_~x~0)} assume !(~x~0 < 100000); {65#false} is VALID [2020-07-17 22:48:41,476 INFO L280 TraceCheckUtils]: 7: Hoare triple {65#false} ~x~0 := 0; {65#false} is VALID [2020-07-17 22:48:41,477 INFO L280 TraceCheckUtils]: 8: Hoare triple {65#false} assume !!(~x~0 < ~n~0);~y~0 := 1 + ~x~0; {65#false} is VALID [2020-07-17 22:48:41,477 INFO L280 TraceCheckUtils]: 9: Hoare triple {65#false} assume !!(~y~0 < ~n~0);call #t~mem6 := read~int(~#set~0.base, ~#set~0.offset + 4 * ~x~0, 4);call #t~mem7 := read~int(~#set~0.base, ~#set~0.offset + 4 * ~y~0, 4); {65#false} is VALID [2020-07-17 22:48:41,478 INFO L263 TraceCheckUtils]: 10: Hoare triple {65#false} call __VERIFIER_assert((if #t~mem6 != #t~mem7 then 1 else 0)); {65#false} is VALID [2020-07-17 22:48:41,478 INFO L280 TraceCheckUtils]: 11: Hoare triple {65#false} ~cond := #in~cond; {65#false} is VALID [2020-07-17 22:48:41,478 INFO L280 TraceCheckUtils]: 12: Hoare triple {65#false} assume 0 == ~cond; {65#false} is VALID [2020-07-17 22:48:41,479 INFO L280 TraceCheckUtils]: 13: Hoare triple {65#false} assume !false; {65#false} is VALID [2020-07-17 22:48:41,480 INFO L134 CoverageAnalysis]: Checked inductivity of 0 backedges. 0 proven. 0 refuted. 0 times theorem prover too weak. 0 trivial. 0 not checked. [2020-07-17 22:48:41,481 INFO L354 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleSmtInterpolCraig [781750633] [2020-07-17 22:48:41,482 INFO L220 FreeRefinementEngine]: Constructing automaton from 1 perfect and 0 imperfect interpolant sequences. [2020-07-17 22:48:41,483 INFO L233 FreeRefinementEngine]: Number of different interpolants: perfect sequences [4] imperfect sequences [] total 4 [2020-07-17 22:48:41,484 INFO L156 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [209879511] [2020-07-17 22:48:41,490 INFO L78 Accepts]: Start accepts. Automaton has 4 states. Word has length 14 [2020-07-17 22:48:41,493 INFO L84 Accepts]: Finished accepts. word is accepted. [2020-07-17 22:48:41,497 INFO L86 InductivityCheck]: Starting indutivity check of a Floyd-Hoare automaton with 4 states. [2020-07-17 22:48:41,526 INFO L119 InductivityCheck]: Floyd-Hoare automaton has 14 edges. 14 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2020-07-17 22:48:41,527 INFO L459 AbstractCegarLoop]: Interpolant automaton has 4 states [2020-07-17 22:48:41,527 INFO L143 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy CAMEL [2020-07-17 22:48:41,534 INFO L142 InterpolantAutomaton]: Constructing interpolant automaton starting with 4 interpolants. [2020-07-17 22:48:41,535 INFO L144 InterpolantAutomaton]: CoverageRelationStatistics Valid=5, Invalid=7, Unknown=0, NotChecked=0, Total=12 [2020-07-17 22:48:41,538 INFO L87 Difference]: Start difference. First operand 61 states. Second operand 4 states. [2020-07-17 22:48:42,235 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2020-07-17 22:48:42,236 INFO L93 Difference]: Finished difference Result 150 states and 228 transitions. [2020-07-17 22:48:42,236 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 4 states. [2020-07-17 22:48:42,237 INFO L78 Accepts]: Start accepts. Automaton has 4 states. Word has length 14 [2020-07-17 22:48:42,237 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2020-07-17 22:48:42,239 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 4 states. [2020-07-17 22:48:42,257 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 4 states to 4 states and 228 transitions. [2020-07-17 22:48:42,257 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 4 states. [2020-07-17 22:48:42,268 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 4 states to 4 states and 228 transitions. [2020-07-17 22:48:42,268 INFO L86 InductivityCheck]: Starting indutivity check of a Floyd-Hoare automaton with 4 states and 228 transitions. [2020-07-17 22:48:42,587 INFO L119 InductivityCheck]: Floyd-Hoare automaton has 228 edges. 228 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2020-07-17 22:48:42,606 INFO L225 Difference]: With dead ends: 150 [2020-07-17 22:48:42,606 INFO L226 Difference]: Without dead ends: 89 [2020-07-17 22:48:42,612 INFO L675 BasicCegarLoop]: 0 DeclaredPredicates, 5 GetRequests, 3 SyntacticMatches, 0 SemanticMatches, 2 ConstructedPredicates, 0 IntricatePredicates, 0 DeprecatedPredicates, 0 ImplicationChecksByTransitivity, 0.0s TimeCoverageRelationStatistics Valid=5, Invalid=7, Unknown=0, NotChecked=0, Total=12 [2020-07-17 22:48:42,635 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 89 states. [2020-07-17 22:48:42,689 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 89 to 57. [2020-07-17 22:48:42,690 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2020-07-17 22:48:42,691 INFO L82 GeneralOperation]: Start isEquivalent. First operand 89 states. Second operand 57 states. [2020-07-17 22:48:42,691 INFO L74 IsIncluded]: Start isIncluded. First operand 89 states. Second operand 57 states. [2020-07-17 22:48:42,692 INFO L87 Difference]: Start difference. First operand 89 states. Second operand 57 states. [2020-07-17 22:48:42,703 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2020-07-17 22:48:42,703 INFO L93 Difference]: Finished difference Result 89 states and 115 transitions. [2020-07-17 22:48:42,704 INFO L276 IsEmpty]: Start isEmpty. Operand 89 states and 115 transitions. [2020-07-17 22:48:42,707 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2020-07-17 22:48:42,707 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2020-07-17 22:48:42,708 INFO L74 IsIncluded]: Start isIncluded. First operand 57 states. Second operand 89 states. [2020-07-17 22:48:42,708 INFO L87 Difference]: Start difference. First operand 57 states. Second operand 89 states. [2020-07-17 22:48:42,718 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2020-07-17 22:48:42,718 INFO L93 Difference]: Finished difference Result 89 states and 115 transitions. [2020-07-17 22:48:42,718 INFO L276 IsEmpty]: Start isEmpty. Operand 89 states and 115 transitions. [2020-07-17 22:48:42,720 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2020-07-17 22:48:42,721 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2020-07-17 22:48:42,721 INFO L88 GeneralOperation]: Finished isEquivalent. [2020-07-17 22:48:42,721 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2020-07-17 22:48:42,721 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 57 states. [2020-07-17 22:48:42,728 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 57 states to 57 states and 70 transitions. [2020-07-17 22:48:42,730 INFO L78 Accepts]: Start accepts. Automaton has 57 states and 70 transitions. Word has length 14 [2020-07-17 22:48:42,731 INFO L84 Accepts]: Finished accepts. word is rejected. [2020-07-17 22:48:42,731 INFO L479 AbstractCegarLoop]: Abstraction has 57 states and 70 transitions. [2020-07-17 22:48:42,731 INFO L480 AbstractCegarLoop]: Interpolant automaton has 4 states. [2020-07-17 22:48:42,731 INFO L276 IsEmpty]: Start isEmpty. Operand 57 states and 70 transitions. [2020-07-17 22:48:42,732 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 17 [2020-07-17 22:48:42,733 INFO L414 BasicCegarLoop]: Found error trace [2020-07-17 22:48:42,733 INFO L422 BasicCegarLoop]: trace histogram [1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1] [2020-07-17 22:48:42,733 WARN L516 AbstractCegarLoop]: Destroyed unattended storables created during the last iteration: SelfDestructingSolverStorable0 [2020-07-17 22:48:42,734 INFO L427 AbstractCegarLoop]: === Iteration 2 === [__VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION]=== [2020-07-17 22:48:42,734 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2020-07-17 22:48:42,734 INFO L82 PathProgramCache]: Analyzing trace with hash 396779504, now seen corresponding path program 1 times [2020-07-17 22:48:42,735 INFO L163 FreeRefinementEngine]: Executing refinement strategy CAMEL [2020-07-17 22:48:42,735 INFO L354 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [1793260142] [2020-07-17 22:48:42,735 INFO L94 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2020-07-17 22:48:42,752 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2020-07-17 22:48:42,809 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2020-07-17 22:48:42,816 INFO L280 TraceCheckUtils]: 0: Hoare triple {541#(and (= |#valid| |old(#valid)|) (= |#NULL.base| |old(#NULL.base)|) (= |#NULL.offset| |old(#NULL.offset)|))} #NULL.base, #NULL.offset := 0, 0;#valid := #valid[0 := 0];assume 0 < #StackHeapBarrier; {534#true} is VALID [2020-07-17 22:48:42,817 INFO L280 TraceCheckUtils]: 1: Hoare triple {534#true} assume true; {534#true} is VALID [2020-07-17 22:48:42,817 INFO L275 TraceCheckUtils]: 2: Hoare quadruple {534#true} {534#true} #176#return; {534#true} is VALID [2020-07-17 22:48:42,819 INFO L263 TraceCheckUtils]: 0: Hoare triple {534#true} call ULTIMATE.init(); {541#(and (= |#valid| |old(#valid)|) (= |#NULL.base| |old(#NULL.base)|) (= |#NULL.offset| |old(#NULL.offset)|))} is VALID [2020-07-17 22:48:42,819 INFO L280 TraceCheckUtils]: 1: Hoare triple {541#(and (= |#valid| |old(#valid)|) (= |#NULL.base| |old(#NULL.base)|) (= |#NULL.offset| |old(#NULL.offset)|))} #NULL.base, #NULL.offset := 0, 0;#valid := #valid[0 := 0];assume 0 < #StackHeapBarrier; {534#true} is VALID [2020-07-17 22:48:42,820 INFO L280 TraceCheckUtils]: 2: Hoare triple {534#true} assume true; {534#true} is VALID [2020-07-17 22:48:42,820 INFO L275 TraceCheckUtils]: 3: Hoare quadruple {534#true} {534#true} #176#return; {534#true} is VALID [2020-07-17 22:48:42,820 INFO L263 TraceCheckUtils]: 4: Hoare triple {534#true} call #t~ret23 := main(); {534#true} is VALID [2020-07-17 22:48:42,822 INFO L280 TraceCheckUtils]: 5: Hoare triple {534#true} ~n~0 := 0;call ~#set~0.base, ~#set~0.offset := #Ultimate.allocOnStack(400000);havoc ~x~0;havoc ~y~0;~x~0 := 0; {539#(= 0 main_~x~0)} is VALID [2020-07-17 22:48:42,823 INFO L280 TraceCheckUtils]: 6: Hoare triple {539#(= 0 main_~x~0)} assume !!(~x~0 < 100000);assume -2147483648 <= #t~nondet3 && #t~nondet3 <= 2147483647;call write~int(#t~nondet3, ~#set~0.base, ~#set~0.offset + 4 * ~x~0, 4);havoc #t~nondet3; {539#(= 0 main_~x~0)} is VALID [2020-07-17 22:48:42,824 INFO L280 TraceCheckUtils]: 7: Hoare triple {539#(= 0 main_~x~0)} #t~post2 := ~x~0;~x~0 := 1 + #t~post2;havoc #t~post2; {540#(<= main_~x~0 1)} is VALID [2020-07-17 22:48:42,825 INFO L280 TraceCheckUtils]: 8: Hoare triple {540#(<= main_~x~0 1)} assume !(~x~0 < 100000); {535#false} is VALID [2020-07-17 22:48:42,825 INFO L280 TraceCheckUtils]: 9: Hoare triple {535#false} ~x~0 := 0; {535#false} is VALID [2020-07-17 22:48:42,826 INFO L280 TraceCheckUtils]: 10: Hoare triple {535#false} assume !!(~x~0 < ~n~0);~y~0 := 1 + ~x~0; {535#false} is VALID [2020-07-17 22:48:42,826 INFO L280 TraceCheckUtils]: 11: Hoare triple {535#false} assume !!(~y~0 < ~n~0);call #t~mem6 := read~int(~#set~0.base, ~#set~0.offset + 4 * ~x~0, 4);call #t~mem7 := read~int(~#set~0.base, ~#set~0.offset + 4 * ~y~0, 4); {535#false} is VALID [2020-07-17 22:48:42,826 INFO L263 TraceCheckUtils]: 12: Hoare triple {535#false} call __VERIFIER_assert((if #t~mem6 != #t~mem7 then 1 else 0)); {535#false} is VALID [2020-07-17 22:48:42,827 INFO L280 TraceCheckUtils]: 13: Hoare triple {535#false} ~cond := #in~cond; {535#false} is VALID [2020-07-17 22:48:42,827 INFO L280 TraceCheckUtils]: 14: Hoare triple {535#false} assume 0 == ~cond; {535#false} is VALID [2020-07-17 22:48:42,827 INFO L280 TraceCheckUtils]: 15: Hoare triple {535#false} assume !false; {535#false} is VALID [2020-07-17 22:48:42,829 INFO L134 CoverageAnalysis]: Checked inductivity of 1 backedges. 0 proven. 1 refuted. 0 times theorem prover too weak. 0 trivial. 0 not checked. [2020-07-17 22:48:42,830 INFO L354 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleSmtInterpolCraig [1793260142] [2020-07-17 22:48:42,830 INFO L354 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleZ3 [12142988] [2020-07-17 22:48:42,830 INFO L94 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 Starting monitored process 2 with z3 -smt2 -in SMTLIB2_COMPLIANT=true (exit command is (exit), workingDir is null) Waiting until toolchain timeout for monitored process 2 with z3 -smt2 -in SMTLIB2_COMPLIANT=true [2020-07-17 22:48:42,908 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2020-07-17 22:48:42,913 INFO L264 TraceCheckSpWp]: Trace formula consists of 66 conjuncts, 3 conjunts are in the unsatisfiable core [2020-07-17 22:48:42,937 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2020-07-17 22:48:42,942 INFO L287 TraceCheckSpWp]: Computing forward predicates... [2020-07-17 22:48:43,021 INFO L263 TraceCheckUtils]: 0: Hoare triple {534#true} call ULTIMATE.init(); {534#true} is VALID [2020-07-17 22:48:43,022 INFO L280 TraceCheckUtils]: 1: Hoare triple {534#true} #NULL.base, #NULL.offset := 0, 0;#valid := #valid[0 := 0];assume 0 < #StackHeapBarrier; {534#true} is VALID [2020-07-17 22:48:43,022 INFO L280 TraceCheckUtils]: 2: Hoare triple {534#true} assume true; {534#true} is VALID [2020-07-17 22:48:43,022 INFO L275 TraceCheckUtils]: 3: Hoare quadruple {534#true} {534#true} #176#return; {534#true} is VALID [2020-07-17 22:48:43,023 INFO L263 TraceCheckUtils]: 4: Hoare triple {534#true} call #t~ret23 := main(); {534#true} is VALID [2020-07-17 22:48:43,024 INFO L280 TraceCheckUtils]: 5: Hoare triple {534#true} ~n~0 := 0;call ~#set~0.base, ~#set~0.offset := #Ultimate.allocOnStack(400000);havoc ~x~0;havoc ~y~0;~x~0 := 0; {560#(<= main_~x~0 0)} is VALID [2020-07-17 22:48:43,024 INFO L280 TraceCheckUtils]: 6: Hoare triple {560#(<= main_~x~0 0)} assume !!(~x~0 < 100000);assume -2147483648 <= #t~nondet3 && #t~nondet3 <= 2147483647;call write~int(#t~nondet3, ~#set~0.base, ~#set~0.offset + 4 * ~x~0, 4);havoc #t~nondet3; {560#(<= main_~x~0 0)} is VALID [2020-07-17 22:48:43,025 INFO L280 TraceCheckUtils]: 7: Hoare triple {560#(<= main_~x~0 0)} #t~post2 := ~x~0;~x~0 := 1 + #t~post2;havoc #t~post2; {540#(<= main_~x~0 1)} is VALID [2020-07-17 22:48:43,026 INFO L280 TraceCheckUtils]: 8: Hoare triple {540#(<= main_~x~0 1)} assume !(~x~0 < 100000); {535#false} is VALID [2020-07-17 22:48:43,027 INFO L280 TraceCheckUtils]: 9: Hoare triple {535#false} ~x~0 := 0; {535#false} is VALID [2020-07-17 22:48:43,027 INFO L280 TraceCheckUtils]: 10: Hoare triple {535#false} assume !!(~x~0 < ~n~0);~y~0 := 1 + ~x~0; {535#false} is VALID [2020-07-17 22:48:43,027 INFO L280 TraceCheckUtils]: 11: Hoare triple {535#false} assume !!(~y~0 < ~n~0);call #t~mem6 := read~int(~#set~0.base, ~#set~0.offset + 4 * ~x~0, 4);call #t~mem7 := read~int(~#set~0.base, ~#set~0.offset + 4 * ~y~0, 4); {535#false} is VALID [2020-07-17 22:48:43,028 INFO L263 TraceCheckUtils]: 12: Hoare triple {535#false} call __VERIFIER_assert((if #t~mem6 != #t~mem7 then 1 else 0)); {535#false} is VALID [2020-07-17 22:48:43,028 INFO L280 TraceCheckUtils]: 13: Hoare triple {535#false} ~cond := #in~cond; {535#false} is VALID [2020-07-17 22:48:43,028 INFO L280 TraceCheckUtils]: 14: Hoare triple {535#false} assume 0 == ~cond; {535#false} is VALID [2020-07-17 22:48:43,029 INFO L280 TraceCheckUtils]: 15: Hoare triple {535#false} assume !false; {535#false} is VALID [2020-07-17 22:48:43,029 INFO L134 CoverageAnalysis]: Checked inductivity of 1 backedges. 0 proven. 1 refuted. 0 times theorem prover too weak. 0 trivial. 0 not checked. [2020-07-17 22:48:43,030 INFO L220 FreeRefinementEngine]: Constructing automaton from 0 perfect and 2 imperfect interpolant sequences. [2020-07-17 22:48:43,030 INFO L233 FreeRefinementEngine]: Number of different interpolants: perfect sequences [] imperfect sequences [5, 4] total 6 [2020-07-17 22:48:43,031 INFO L156 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [2011267712] [2020-07-17 22:48:43,032 INFO L78 Accepts]: Start accepts. Automaton has 6 states. Word has length 16 [2020-07-17 22:48:43,033 INFO L84 Accepts]: Finished accepts. word is accepted. [2020-07-17 22:48:43,033 INFO L86 InductivityCheck]: Starting indutivity check of a Floyd-Hoare automaton with 6 states. [2020-07-17 22:48:43,058 INFO L119 InductivityCheck]: Floyd-Hoare automaton has 21 edges. 21 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2020-07-17 22:48:43,058 INFO L459 AbstractCegarLoop]: Interpolant automaton has 6 states [2020-07-17 22:48:43,059 INFO L143 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy CAMEL [2020-07-17 22:48:43,059 INFO L142 InterpolantAutomaton]: Constructing interpolant automaton starting with 6 interpolants. [2020-07-17 22:48:43,059 INFO L144 InterpolantAutomaton]: CoverageRelationStatistics Valid=12, Invalid=18, Unknown=0, NotChecked=0, Total=30 [2020-07-17 22:48:43,060 INFO L87 Difference]: Start difference. First operand 57 states and 70 transitions. Second operand 6 states. [2020-07-17 22:48:43,907 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2020-07-17 22:48:43,907 INFO L93 Difference]: Finished difference Result 170 states and 222 transitions. [2020-07-17 22:48:43,908 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 5 states. [2020-07-17 22:48:43,908 INFO L78 Accepts]: Start accepts. Automaton has 6 states. Word has length 16 [2020-07-17 22:48:43,910 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2020-07-17 22:48:43,910 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 6 states. [2020-07-17 22:48:43,922 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 5 states to 5 states and 222 transitions. [2020-07-17 22:48:43,922 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 6 states. [2020-07-17 22:48:43,931 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 5 states to 5 states and 222 transitions. [2020-07-17 22:48:43,932 INFO L86 InductivityCheck]: Starting indutivity check of a Floyd-Hoare automaton with 5 states and 222 transitions. [2020-07-17 22:48:44,175 INFO L119 InductivityCheck]: Floyd-Hoare automaton has 222 edges. 222 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2020-07-17 22:48:44,182 INFO L225 Difference]: With dead ends: 170 [2020-07-17 22:48:44,182 INFO L226 Difference]: Without dead ends: 122 [2020-07-17 22:48:44,185 INFO L675 BasicCegarLoop]: 0 DeclaredPredicates, 21 GetRequests, 17 SyntacticMatches, 0 SemanticMatches, 4 ConstructedPredicates, 0 IntricatePredicates, 0 DeprecatedPredicates, 1 ImplicationChecksByTransitivity, 0.0s TimeCoverageRelationStatistics Valid=12, Invalid=18, Unknown=0, NotChecked=0, Total=30 [2020-07-17 22:48:44,186 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 122 states. [2020-07-17 22:48:44,222 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 122 to 59. [2020-07-17 22:48:44,222 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2020-07-17 22:48:44,222 INFO L82 GeneralOperation]: Start isEquivalent. First operand 122 states. Second operand 59 states. [2020-07-17 22:48:44,223 INFO L74 IsIncluded]: Start isIncluded. First operand 122 states. Second operand 59 states. [2020-07-17 22:48:44,223 INFO L87 Difference]: Start difference. First operand 122 states. Second operand 59 states. [2020-07-17 22:48:44,231 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2020-07-17 22:48:44,232 INFO L93 Difference]: Finished difference Result 122 states and 161 transitions. [2020-07-17 22:48:44,232 INFO L276 IsEmpty]: Start isEmpty. Operand 122 states and 161 transitions. [2020-07-17 22:48:44,240 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2020-07-17 22:48:44,245 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2020-07-17 22:48:44,245 INFO L74 IsIncluded]: Start isIncluded. First operand 59 states. Second operand 122 states. [2020-07-17 22:48:44,245 INFO L87 Difference]: Start difference. First operand 59 states. Second operand 122 states. [2020-07-17 22:48:44,258 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2020-07-17 22:48:44,258 INFO L93 Difference]: Finished difference Result 122 states and 161 transitions. [2020-07-17 22:48:44,258 INFO L276 IsEmpty]: Start isEmpty. Operand 122 states and 161 transitions. [2020-07-17 22:48:44,260 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2020-07-17 22:48:44,260 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2020-07-17 22:48:44,261 INFO L88 GeneralOperation]: Finished isEquivalent. [2020-07-17 22:48:44,261 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2020-07-17 22:48:44,261 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 59 states. [2020-07-17 22:48:44,267 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 59 states to 59 states and 72 transitions. [2020-07-17 22:48:44,267 INFO L78 Accepts]: Start accepts. Automaton has 59 states and 72 transitions. Word has length 16 [2020-07-17 22:48:44,267 INFO L84 Accepts]: Finished accepts. word is rejected. [2020-07-17 22:48:44,267 INFO L479 AbstractCegarLoop]: Abstraction has 59 states and 72 transitions. [2020-07-17 22:48:44,268 INFO L480 AbstractCegarLoop]: Interpolant automaton has 6 states. [2020-07-17 22:48:44,268 INFO L276 IsEmpty]: Start isEmpty. Operand 59 states and 72 transitions. [2020-07-17 22:48:44,268 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 19 [2020-07-17 22:48:44,269 INFO L414 BasicCegarLoop]: Found error trace [2020-07-17 22:48:44,269 INFO L422 BasicCegarLoop]: trace histogram [2, 2, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1] [2020-07-17 22:48:44,484 WARN L516 AbstractCegarLoop]: Destroyed unattended storables created during the last iteration: 2 z3 -smt2 -in SMTLIB2_COMPLIANT=true,SelfDestructingSolverStorable1 [2020-07-17 22:48:44,485 INFO L427 AbstractCegarLoop]: === Iteration 3 === [__VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION]=== [2020-07-17 22:48:44,485 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2020-07-17 22:48:44,485 INFO L82 PathProgramCache]: Analyzing trace with hash -1360762094, now seen corresponding path program 2 times [2020-07-17 22:48:44,486 INFO L163 FreeRefinementEngine]: Executing refinement strategy CAMEL [2020-07-17 22:48:44,486 INFO L354 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [1720653061] [2020-07-17 22:48:44,487 INFO L94 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2020-07-17 22:48:44,526 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2020-07-17 22:48:44,633 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2020-07-17 22:48:44,641 INFO L280 TraceCheckUtils]: 0: Hoare triple {1162#(and (= |#valid| |old(#valid)|) (= |#NULL.base| |old(#NULL.base)|) (= |#NULL.offset| |old(#NULL.offset)|))} #NULL.base, #NULL.offset := 0, 0;#valid := #valid[0 := 0];assume 0 < #StackHeapBarrier; {1154#true} is VALID [2020-07-17 22:48:44,642 INFO L280 TraceCheckUtils]: 1: Hoare triple {1154#true} assume true; {1154#true} is VALID [2020-07-17 22:48:44,642 INFO L275 TraceCheckUtils]: 2: Hoare quadruple {1154#true} {1154#true} #176#return; {1154#true} is VALID [2020-07-17 22:48:44,643 INFO L263 TraceCheckUtils]: 0: Hoare triple {1154#true} call ULTIMATE.init(); {1162#(and (= |#valid| |old(#valid)|) (= |#NULL.base| |old(#NULL.base)|) (= |#NULL.offset| |old(#NULL.offset)|))} is VALID [2020-07-17 22:48:44,644 INFO L280 TraceCheckUtils]: 1: Hoare triple {1162#(and (= |#valid| |old(#valid)|) (= |#NULL.base| |old(#NULL.base)|) (= |#NULL.offset| |old(#NULL.offset)|))} #NULL.base, #NULL.offset := 0, 0;#valid := #valid[0 := 0];assume 0 < #StackHeapBarrier; {1154#true} is VALID [2020-07-17 22:48:44,644 INFO L280 TraceCheckUtils]: 2: Hoare triple {1154#true} assume true; {1154#true} is VALID [2020-07-17 22:48:44,644 INFO L275 TraceCheckUtils]: 3: Hoare quadruple {1154#true} {1154#true} #176#return; {1154#true} is VALID [2020-07-17 22:48:44,644 INFO L263 TraceCheckUtils]: 4: Hoare triple {1154#true} call #t~ret23 := main(); {1154#true} is VALID [2020-07-17 22:48:44,647 INFO L280 TraceCheckUtils]: 5: Hoare triple {1154#true} ~n~0 := 0;call ~#set~0.base, ~#set~0.offset := #Ultimate.allocOnStack(400000);havoc ~x~0;havoc ~y~0;~x~0 := 0; {1159#(= 0 main_~x~0)} is VALID [2020-07-17 22:48:44,647 INFO L280 TraceCheckUtils]: 6: Hoare triple {1159#(= 0 main_~x~0)} assume !!(~x~0 < 100000);assume -2147483648 <= #t~nondet3 && #t~nondet3 <= 2147483647;call write~int(#t~nondet3, ~#set~0.base, ~#set~0.offset + 4 * ~x~0, 4);havoc #t~nondet3; {1159#(= 0 main_~x~0)} is VALID [2020-07-17 22:48:44,650 INFO L280 TraceCheckUtils]: 7: Hoare triple {1159#(= 0 main_~x~0)} #t~post2 := ~x~0;~x~0 := 1 + #t~post2;havoc #t~post2; {1160#(<= main_~x~0 1)} is VALID [2020-07-17 22:48:44,652 INFO L280 TraceCheckUtils]: 8: Hoare triple {1160#(<= main_~x~0 1)} assume !!(~x~0 < 100000);assume -2147483648 <= #t~nondet3 && #t~nondet3 <= 2147483647;call write~int(#t~nondet3, ~#set~0.base, ~#set~0.offset + 4 * ~x~0, 4);havoc #t~nondet3; {1160#(<= main_~x~0 1)} is VALID [2020-07-17 22:48:44,653 INFO L280 TraceCheckUtils]: 9: Hoare triple {1160#(<= main_~x~0 1)} #t~post2 := ~x~0;~x~0 := 1 + #t~post2;havoc #t~post2; {1161#(<= main_~x~0 2)} is VALID [2020-07-17 22:48:44,654 INFO L280 TraceCheckUtils]: 10: Hoare triple {1161#(<= main_~x~0 2)} assume !(~x~0 < 100000); {1155#false} is VALID [2020-07-17 22:48:44,654 INFO L280 TraceCheckUtils]: 11: Hoare triple {1155#false} ~x~0 := 0; {1155#false} is VALID [2020-07-17 22:48:44,654 INFO L280 TraceCheckUtils]: 12: Hoare triple {1155#false} assume !!(~x~0 < ~n~0);~y~0 := 1 + ~x~0; {1155#false} is VALID [2020-07-17 22:48:44,655 INFO L280 TraceCheckUtils]: 13: Hoare triple {1155#false} assume !!(~y~0 < ~n~0);call #t~mem6 := read~int(~#set~0.base, ~#set~0.offset + 4 * ~x~0, 4);call #t~mem7 := read~int(~#set~0.base, ~#set~0.offset + 4 * ~y~0, 4); {1155#false} is VALID [2020-07-17 22:48:44,655 INFO L263 TraceCheckUtils]: 14: Hoare triple {1155#false} call __VERIFIER_assert((if #t~mem6 != #t~mem7 then 1 else 0)); {1155#false} is VALID [2020-07-17 22:48:44,655 INFO L280 TraceCheckUtils]: 15: Hoare triple {1155#false} ~cond := #in~cond; {1155#false} is VALID [2020-07-17 22:48:44,656 INFO L280 TraceCheckUtils]: 16: Hoare triple {1155#false} assume 0 == ~cond; {1155#false} is VALID [2020-07-17 22:48:44,656 INFO L280 TraceCheckUtils]: 17: Hoare triple {1155#false} assume !false; {1155#false} is VALID [2020-07-17 22:48:44,661 INFO L134 CoverageAnalysis]: Checked inductivity of 4 backedges. 0 proven. 4 refuted. 0 times theorem prover too weak. 0 trivial. 0 not checked. [2020-07-17 22:48:44,661 INFO L354 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleSmtInterpolCraig [1720653061] [2020-07-17 22:48:44,662 INFO L354 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleZ3 [141426226] [2020-07-17 22:48:44,662 INFO L92 rtionOrderModulation]: Changing assertion order to OUTSIDE_LOOP_FIRST1 No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 Starting monitored process 3 with z3 -smt2 -in SMTLIB2_COMPLIANT=true (exit command is (exit), workingDir is null) Waiting until toolchain timeout for monitored process 3 with z3 -smt2 -in SMTLIB2_COMPLIANT=true [2020-07-17 22:48:44,703 INFO L249 tOrderPrioritization]: Assert order OUTSIDE_LOOP_FIRST1 issued 1 check-sat command(s) [2020-07-17 22:48:44,703 INFO L250 tOrderPrioritization]: Conjunction of SSA is unsat [2020-07-17 22:48:44,705 INFO L264 TraceCheckSpWp]: Trace formula consists of 60 conjuncts, 3 conjunts are in the unsatisfiable core [2020-07-17 22:48:44,714 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2020-07-17 22:48:44,715 INFO L287 TraceCheckSpWp]: Computing forward predicates... [2020-07-17 22:48:44,777 INFO L263 TraceCheckUtils]: 0: Hoare triple {1154#true} call ULTIMATE.init(); {1154#true} is VALID [2020-07-17 22:48:44,778 INFO L280 TraceCheckUtils]: 1: Hoare triple {1154#true} #NULL.base, #NULL.offset := 0, 0;#valid := #valid[0 := 0];assume 0 < #StackHeapBarrier; {1154#true} is VALID [2020-07-17 22:48:44,779 INFO L280 TraceCheckUtils]: 2: Hoare triple {1154#true} assume true; {1154#true} is VALID [2020-07-17 22:48:44,779 INFO L275 TraceCheckUtils]: 3: Hoare quadruple {1154#true} {1154#true} #176#return; {1154#true} is VALID [2020-07-17 22:48:44,780 INFO L263 TraceCheckUtils]: 4: Hoare triple {1154#true} call #t~ret23 := main(); {1154#true} is VALID [2020-07-17 22:48:44,781 INFO L280 TraceCheckUtils]: 5: Hoare triple {1154#true} ~n~0 := 0;call ~#set~0.base, ~#set~0.offset := #Ultimate.allocOnStack(400000);havoc ~x~0;havoc ~y~0;~x~0 := 0; {1181#(<= main_~n~0 0)} is VALID [2020-07-17 22:48:44,782 INFO L280 TraceCheckUtils]: 6: Hoare triple {1181#(<= main_~n~0 0)} assume !!(~x~0 < 100000);assume -2147483648 <= #t~nondet3 && #t~nondet3 <= 2147483647;call write~int(#t~nondet3, ~#set~0.base, ~#set~0.offset + 4 * ~x~0, 4);havoc #t~nondet3; {1181#(<= main_~n~0 0)} is VALID [2020-07-17 22:48:44,783 INFO L280 TraceCheckUtils]: 7: Hoare triple {1181#(<= main_~n~0 0)} #t~post2 := ~x~0;~x~0 := 1 + #t~post2;havoc #t~post2; {1181#(<= main_~n~0 0)} is VALID [2020-07-17 22:48:44,784 INFO L280 TraceCheckUtils]: 8: Hoare triple {1181#(<= main_~n~0 0)} assume !!(~x~0 < 100000);assume -2147483648 <= #t~nondet3 && #t~nondet3 <= 2147483647;call write~int(#t~nondet3, ~#set~0.base, ~#set~0.offset + 4 * ~x~0, 4);havoc #t~nondet3; {1181#(<= main_~n~0 0)} is VALID [2020-07-17 22:48:44,785 INFO L280 TraceCheckUtils]: 9: Hoare triple {1181#(<= main_~n~0 0)} #t~post2 := ~x~0;~x~0 := 1 + #t~post2;havoc #t~post2; {1181#(<= main_~n~0 0)} is VALID [2020-07-17 22:48:44,790 INFO L280 TraceCheckUtils]: 10: Hoare triple {1181#(<= main_~n~0 0)} assume !(~x~0 < 100000); {1181#(<= main_~n~0 0)} is VALID [2020-07-17 22:48:44,795 INFO L280 TraceCheckUtils]: 11: Hoare triple {1181#(<= main_~n~0 0)} ~x~0 := 0; {1200#(and (<= main_~n~0 0) (<= 0 main_~x~0))} is VALID [2020-07-17 22:48:44,796 INFO L280 TraceCheckUtils]: 12: Hoare triple {1200#(and (<= main_~n~0 0) (<= 0 main_~x~0))} assume !!(~x~0 < ~n~0);~y~0 := 1 + ~x~0; {1155#false} is VALID [2020-07-17 22:48:44,797 INFO L280 TraceCheckUtils]: 13: Hoare triple {1155#false} assume !!(~y~0 < ~n~0);call #t~mem6 := read~int(~#set~0.base, ~#set~0.offset + 4 * ~x~0, 4);call #t~mem7 := read~int(~#set~0.base, ~#set~0.offset + 4 * ~y~0, 4); {1155#false} is VALID [2020-07-17 22:48:44,797 INFO L263 TraceCheckUtils]: 14: Hoare triple {1155#false} call __VERIFIER_assert((if #t~mem6 != #t~mem7 then 1 else 0)); {1155#false} is VALID [2020-07-17 22:48:44,797 INFO L280 TraceCheckUtils]: 15: Hoare triple {1155#false} ~cond := #in~cond; {1155#false} is VALID [2020-07-17 22:48:44,798 INFO L280 TraceCheckUtils]: 16: Hoare triple {1155#false} assume 0 == ~cond; {1155#false} is VALID [2020-07-17 22:48:44,798 INFO L280 TraceCheckUtils]: 17: Hoare triple {1155#false} assume !false; {1155#false} is VALID [2020-07-17 22:48:44,799 INFO L134 CoverageAnalysis]: Checked inductivity of 4 backedges. 0 proven. 0 refuted. 0 times theorem prover too weak. 4 trivial. 0 not checked. [2020-07-17 22:48:44,801 INFO L220 FreeRefinementEngine]: Constructing automaton from 1 perfect and 1 imperfect interpolant sequences. [2020-07-17 22:48:44,803 INFO L233 FreeRefinementEngine]: Number of different interpolants: perfect sequences [4] imperfect sequences [6] total 8 [2020-07-17 22:48:44,804 INFO L156 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [1843243726] [2020-07-17 22:48:44,804 INFO L78 Accepts]: Start accepts. Automaton has 4 states. Word has length 18 [2020-07-17 22:48:44,805 INFO L84 Accepts]: Finished accepts. word is accepted. [2020-07-17 22:48:44,805 INFO L86 InductivityCheck]: Starting indutivity check of a Floyd-Hoare automaton with 4 states. [2020-07-17 22:48:44,824 INFO L119 InductivityCheck]: Floyd-Hoare automaton has 16 edges. 16 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2020-07-17 22:48:44,825 INFO L459 AbstractCegarLoop]: Interpolant automaton has 4 states [2020-07-17 22:48:44,825 INFO L143 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy CAMEL [2020-07-17 22:48:44,825 INFO L142 InterpolantAutomaton]: Constructing interpolant automaton starting with 4 interpolants. [2020-07-17 22:48:44,826 INFO L144 InterpolantAutomaton]: CoverageRelationStatistics Valid=17, Invalid=39, Unknown=0, NotChecked=0, Total=56 [2020-07-17 22:48:44,826 INFO L87 Difference]: Start difference. First operand 59 states and 72 transitions. Second operand 4 states. [2020-07-17 22:48:45,088 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2020-07-17 22:48:45,089 INFO L93 Difference]: Finished difference Result 112 states and 140 transitions. [2020-07-17 22:48:45,089 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 3 states. [2020-07-17 22:48:45,089 INFO L78 Accepts]: Start accepts. Automaton has 4 states. Word has length 18 [2020-07-17 22:48:45,089 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2020-07-17 22:48:45,089 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 4 states. [2020-07-17 22:48:45,093 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 3 states to 3 states and 137 transitions. [2020-07-17 22:48:45,093 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 4 states. [2020-07-17 22:48:45,096 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 3 states to 3 states and 137 transitions. [2020-07-17 22:48:45,096 INFO L86 InductivityCheck]: Starting indutivity check of a Floyd-Hoare automaton with 3 states and 137 transitions. [2020-07-17 22:48:45,250 INFO L119 InductivityCheck]: Floyd-Hoare automaton has 137 edges. 137 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2020-07-17 22:48:45,253 INFO L225 Difference]: With dead ends: 112 [2020-07-17 22:48:45,253 INFO L226 Difference]: Without dead ends: 63 [2020-07-17 22:48:45,254 INFO L675 BasicCegarLoop]: 0 DeclaredPredicates, 24 GetRequests, 18 SyntacticMatches, 0 SemanticMatches, 6 ConstructedPredicates, 0 IntricatePredicates, 0 DeprecatedPredicates, 6 ImplicationChecksByTransitivity, 0.0s TimeCoverageRelationStatistics Valid=17, Invalid=39, Unknown=0, NotChecked=0, Total=56 [2020-07-17 22:48:45,255 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 63 states. [2020-07-17 22:48:45,296 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 63 to 61. [2020-07-17 22:48:45,297 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2020-07-17 22:48:45,297 INFO L82 GeneralOperation]: Start isEquivalent. First operand 63 states. Second operand 61 states. [2020-07-17 22:48:45,297 INFO L74 IsIncluded]: Start isIncluded. First operand 63 states. Second operand 61 states. [2020-07-17 22:48:45,297 INFO L87 Difference]: Start difference. First operand 63 states. Second operand 61 states. [2020-07-17 22:48:45,301 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2020-07-17 22:48:45,301 INFO L93 Difference]: Finished difference Result 63 states and 76 transitions. [2020-07-17 22:48:45,301 INFO L276 IsEmpty]: Start isEmpty. Operand 63 states and 76 transitions. [2020-07-17 22:48:45,302 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2020-07-17 22:48:45,302 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2020-07-17 22:48:45,302 INFO L74 IsIncluded]: Start isIncluded. First operand 61 states. Second operand 63 states. [2020-07-17 22:48:45,303 INFO L87 Difference]: Start difference. First operand 61 states. Second operand 63 states. [2020-07-17 22:48:45,306 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2020-07-17 22:48:45,306 INFO L93 Difference]: Finished difference Result 63 states and 76 transitions. [2020-07-17 22:48:45,307 INFO L276 IsEmpty]: Start isEmpty. Operand 63 states and 76 transitions. [2020-07-17 22:48:45,307 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2020-07-17 22:48:45,307 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2020-07-17 22:48:45,307 INFO L88 GeneralOperation]: Finished isEquivalent. [2020-07-17 22:48:45,308 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2020-07-17 22:48:45,308 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 61 states. [2020-07-17 22:48:45,311 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 61 states to 61 states and 73 transitions. [2020-07-17 22:48:45,311 INFO L78 Accepts]: Start accepts. Automaton has 61 states and 73 transitions. Word has length 18 [2020-07-17 22:48:45,312 INFO L84 Accepts]: Finished accepts. word is rejected. [2020-07-17 22:48:45,312 INFO L479 AbstractCegarLoop]: Abstraction has 61 states and 73 transitions. [2020-07-17 22:48:45,312 INFO L480 AbstractCegarLoop]: Interpolant automaton has 4 states. [2020-07-17 22:48:45,312 INFO L276 IsEmpty]: Start isEmpty. Operand 61 states and 73 transitions. [2020-07-17 22:48:45,313 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 38 [2020-07-17 22:48:45,313 INFO L414 BasicCegarLoop]: Found error trace [2020-07-17 22:48:45,313 INFO L422 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] [2020-07-17 22:48:45,527 WARN L516 AbstractCegarLoop]: Destroyed unattended storables created during the last iteration: SelfDestructingSolverStorable2,3 z3 -smt2 -in SMTLIB2_COMPLIANT=true [2020-07-17 22:48:45,528 INFO L427 AbstractCegarLoop]: === Iteration 4 === [__VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION]=== [2020-07-17 22:48:45,528 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2020-07-17 22:48:45,528 INFO L82 PathProgramCache]: Analyzing trace with hash 1841898364, now seen corresponding path program 1 times [2020-07-17 22:48:45,529 INFO L163 FreeRefinementEngine]: Executing refinement strategy CAMEL [2020-07-17 22:48:45,529 INFO L354 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [910930586] [2020-07-17 22:48:45,529 INFO L94 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2020-07-17 22:48:45,559 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2020-07-17 22:48:45,622 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2020-07-17 22:48:45,631 INFO L280 TraceCheckUtils]: 0: Hoare triple {1602#(and (= |#valid| |old(#valid)|) (= |#NULL.base| |old(#NULL.base)|) (= |#NULL.offset| |old(#NULL.offset)|))} #NULL.base, #NULL.offset := 0, 0;#valid := #valid[0 := 0];assume 0 < #StackHeapBarrier; {1586#true} is VALID [2020-07-17 22:48:45,631 INFO L280 TraceCheckUtils]: 1: Hoare triple {1586#true} assume true; {1586#true} is VALID [2020-07-17 22:48:45,632 INFO L275 TraceCheckUtils]: 2: Hoare quadruple {1586#true} {1586#true} #176#return; {1586#true} is VALID [2020-07-17 22:48:45,634 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2020-07-17 22:48:45,639 INFO L280 TraceCheckUtils]: 0: Hoare triple {1586#true} ~set.base, ~set.offset := #in~set.base, #in~set.offset;~size := #in~size;~value := #in~value;havoc ~i~0;~i~0 := 0; {1586#true} is VALID [2020-07-17 22:48:45,640 INFO L280 TraceCheckUtils]: 1: Hoare triple {1586#true} assume !(~i~0 < ~size); {1586#true} is VALID [2020-07-17 22:48:45,640 INFO L280 TraceCheckUtils]: 2: Hoare triple {1586#true} #res := 0; {1586#true} is VALID [2020-07-17 22:48:45,640 INFO L280 TraceCheckUtils]: 3: Hoare triple {1586#true} assume true; {1586#true} is VALID [2020-07-17 22:48:45,641 INFO L275 TraceCheckUtils]: 4: Hoare quadruple {1586#true} {1587#false} #182#return; {1587#false} is VALID [2020-07-17 22:48:45,650 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2020-07-17 22:48:45,665 INFO L280 TraceCheckUtils]: 0: Hoare triple {1603#(= |#memory_int| |old(#memory_int)|)} ~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; {1586#true} is VALID [2020-07-17 22:48:45,666 INFO L280 TraceCheckUtils]: 1: Hoare triple {1586#true} assume true; {1586#true} is VALID [2020-07-17 22:48:45,666 INFO L275 TraceCheckUtils]: 2: Hoare quadruple {1586#true} {1587#false} #184#return; {1587#false} is VALID [2020-07-17 22:48:45,667 INFO L263 TraceCheckUtils]: 0: Hoare triple {1586#true} call ULTIMATE.init(); {1602#(and (= |#valid| |old(#valid)|) (= |#NULL.base| |old(#NULL.base)|) (= |#NULL.offset| |old(#NULL.offset)|))} is VALID [2020-07-17 22:48:45,667 INFO L280 TraceCheckUtils]: 1: Hoare triple {1602#(and (= |#valid| |old(#valid)|) (= |#NULL.base| |old(#NULL.base)|) (= |#NULL.offset| |old(#NULL.offset)|))} #NULL.base, #NULL.offset := 0, 0;#valid := #valid[0 := 0];assume 0 < #StackHeapBarrier; {1586#true} is VALID [2020-07-17 22:48:45,668 INFO L280 TraceCheckUtils]: 2: Hoare triple {1586#true} assume true; {1586#true} is VALID [2020-07-17 22:48:45,668 INFO L275 TraceCheckUtils]: 3: Hoare quadruple {1586#true} {1586#true} #176#return; {1586#true} is VALID [2020-07-17 22:48:45,668 INFO L263 TraceCheckUtils]: 4: Hoare triple {1586#true} call #t~ret23 := main(); {1586#true} is VALID [2020-07-17 22:48:45,670 INFO L280 TraceCheckUtils]: 5: Hoare triple {1586#true} ~n~0 := 0;call ~#set~0.base, ~#set~0.offset := #Ultimate.allocOnStack(400000);havoc ~x~0;havoc ~y~0;~x~0 := 0; {1591#(= 0 main_~x~0)} is VALID [2020-07-17 22:48:45,671 INFO L280 TraceCheckUtils]: 6: Hoare triple {1591#(= 0 main_~x~0)} assume !!(~x~0 < 100000);assume -2147483648 <= #t~nondet3 && #t~nondet3 <= 2147483647;call write~int(#t~nondet3, ~#set~0.base, ~#set~0.offset + 4 * ~x~0, 4);havoc #t~nondet3; {1591#(= 0 main_~x~0)} is VALID [2020-07-17 22:48:45,672 INFO L280 TraceCheckUtils]: 7: Hoare triple {1591#(= 0 main_~x~0)} #t~post2 := ~x~0;~x~0 := 1 + #t~post2;havoc #t~post2; {1592#(<= main_~x~0 1)} is VALID [2020-07-17 22:48:45,674 INFO L280 TraceCheckUtils]: 8: Hoare triple {1592#(<= main_~x~0 1)} assume !!(~x~0 < 100000);assume -2147483648 <= #t~nondet3 && #t~nondet3 <= 2147483647;call write~int(#t~nondet3, ~#set~0.base, ~#set~0.offset + 4 * ~x~0, 4);havoc #t~nondet3; {1592#(<= main_~x~0 1)} is VALID [2020-07-17 22:48:45,676 INFO L280 TraceCheckUtils]: 9: Hoare triple {1592#(<= main_~x~0 1)} #t~post2 := ~x~0;~x~0 := 1 + #t~post2;havoc #t~post2; {1593#(<= main_~x~0 2)} is VALID [2020-07-17 22:48:45,677 INFO L280 TraceCheckUtils]: 10: Hoare triple {1593#(<= main_~x~0 2)} assume !(~x~0 < 100000); {1587#false} is VALID [2020-07-17 22:48:45,678 INFO L280 TraceCheckUtils]: 11: Hoare triple {1587#false} ~x~0 := 0; {1587#false} is VALID [2020-07-17 22:48:45,678 INFO L280 TraceCheckUtils]: 12: Hoare triple {1587#false} assume !(~x~0 < ~n~0); {1587#false} is VALID [2020-07-17 22:48:45,678 INFO L280 TraceCheckUtils]: 13: Hoare triple {1587#false} call ~#values~0.base, ~#values~0.offset := #Ultimate.allocOnStack(400000);havoc ~v~0;~v~0 := 0; {1587#false} is VALID [2020-07-17 22:48:45,678 INFO L280 TraceCheckUtils]: 14: Hoare triple {1587#false} assume !(~v~0 < 100000); {1587#false} is VALID [2020-07-17 22:48:45,679 INFO L280 TraceCheckUtils]: 15: Hoare triple {1587#false} ~v~0 := 0; {1587#false} is VALID [2020-07-17 22:48:45,679 INFO L280 TraceCheckUtils]: 16: Hoare triple {1587#false} assume !!(~v~0 < 100000);call #t~mem11 := read~int(~#values~0.base, ~#values~0.offset + 4 * ~v~0, 4); {1587#false} is VALID [2020-07-17 22:48:45,679 INFO L263 TraceCheckUtils]: 17: Hoare triple {1587#false} call #t~ret12 := elem_exists(~#set~0.base, ~#set~0.offset, ~n~0, #t~mem11); {1586#true} is VALID [2020-07-17 22:48:45,680 INFO L280 TraceCheckUtils]: 18: Hoare triple {1586#true} ~set.base, ~set.offset := #in~set.base, #in~set.offset;~size := #in~size;~value := #in~value;havoc ~i~0;~i~0 := 0; {1586#true} is VALID [2020-07-17 22:48:45,680 INFO L280 TraceCheckUtils]: 19: Hoare triple {1586#true} assume !(~i~0 < ~size); {1586#true} is VALID [2020-07-17 22:48:45,681 INFO L280 TraceCheckUtils]: 20: Hoare triple {1586#true} #res := 0; {1586#true} is VALID [2020-07-17 22:48:45,681 INFO L280 TraceCheckUtils]: 21: Hoare triple {1586#true} assume true; {1586#true} is VALID [2020-07-17 22:48:45,681 INFO L275 TraceCheckUtils]: 22: Hoare quadruple {1586#true} {1587#false} #182#return; {1587#false} is VALID [2020-07-17 22:48:45,682 INFO L280 TraceCheckUtils]: 23: Hoare triple {1587#false} assume -2147483648 <= #t~ret12 && #t~ret12 <= 2147483647; {1587#false} is VALID [2020-07-17 22:48:45,682 INFO L280 TraceCheckUtils]: 24: Hoare triple {1587#false} assume 0 != #t~ret12;havoc #t~mem11;havoc #t~ret12;call #t~mem13 := read~int(~#values~0.base, ~#values~0.offset + 4 * ~v~0, 4); {1587#false} is VALID [2020-07-17 22:48:45,682 INFO L263 TraceCheckUtils]: 25: Hoare triple {1587#false} call #t~ret14 := insert(~#set~0.base, ~#set~0.offset, ~n~0, #t~mem13); {1603#(= |#memory_int| |old(#memory_int)|)} is VALID [2020-07-17 22:48:45,683 INFO L280 TraceCheckUtils]: 26: Hoare triple {1603#(= |#memory_int| |old(#memory_int)|)} ~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; {1586#true} is VALID [2020-07-17 22:48:45,683 INFO L280 TraceCheckUtils]: 27: Hoare triple {1586#true} assume true; {1586#true} is VALID [2020-07-17 22:48:45,683 INFO L275 TraceCheckUtils]: 28: Hoare quadruple {1586#true} {1587#false} #184#return; {1587#false} is VALID [2020-07-17 22:48:45,684 INFO L280 TraceCheckUtils]: 29: Hoare triple {1587#false} assume -2147483648 <= #t~ret14 && #t~ret14 <= 2147483647;~n~0 := #t~ret14;havoc #t~mem13;havoc #t~ret14; {1587#false} is VALID [2020-07-17 22:48:45,684 INFO L280 TraceCheckUtils]: 30: Hoare triple {1587#false} ~x~0 := 0; {1587#false} is VALID [2020-07-17 22:48:45,684 INFO L280 TraceCheckUtils]: 31: Hoare triple {1587#false} assume !!(~x~0 < ~n~0);~y~0 := 1 + ~x~0; {1587#false} is VALID [2020-07-17 22:48:45,684 INFO L280 TraceCheckUtils]: 32: Hoare triple {1587#false} assume !!(~y~0 < ~n~0);call #t~mem17 := read~int(~#set~0.base, ~#set~0.offset + 4 * ~x~0, 4);call #t~mem18 := read~int(~#set~0.base, ~#set~0.offset + 4 * ~y~0, 4); {1587#false} is VALID [2020-07-17 22:48:45,685 INFO L263 TraceCheckUtils]: 33: Hoare triple {1587#false} call __VERIFIER_assert((if #t~mem17 != #t~mem18 then 1 else 0)); {1587#false} is VALID [2020-07-17 22:48:45,685 INFO L280 TraceCheckUtils]: 34: Hoare triple {1587#false} ~cond := #in~cond; {1587#false} is VALID [2020-07-17 22:48:45,685 INFO L280 TraceCheckUtils]: 35: Hoare triple {1587#false} assume 0 == ~cond; {1587#false} is VALID [2020-07-17 22:48:45,685 INFO L280 TraceCheckUtils]: 36: Hoare triple {1587#false} assume !false; {1587#false} is VALID [2020-07-17 22:48:45,687 INFO L134 CoverageAnalysis]: Checked inductivity of 4 backedges. 0 proven. 4 refuted. 0 times theorem prover too weak. 0 trivial. 0 not checked. [2020-07-17 22:48:45,688 INFO L354 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleSmtInterpolCraig [910930586] [2020-07-17 22:48:45,688 INFO L354 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleZ3 [788885414] [2020-07-17 22:48:45,688 INFO L94 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 Starting monitored process 4 with z3 -smt2 -in SMTLIB2_COMPLIANT=true (exit command is (exit), workingDir is null) Waiting until toolchain timeout for monitored process 4 with z3 -smt2 -in SMTLIB2_COMPLIANT=true [2020-07-17 22:48:45,742 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2020-07-17 22:48:45,744 INFO L264 TraceCheckSpWp]: Trace formula consists of 150 conjuncts, 2 conjunts are in the unsatisfiable core [2020-07-17 22:48:45,754 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2020-07-17 22:48:45,756 INFO L287 TraceCheckSpWp]: Computing forward predicates... [2020-07-17 22:48:45,806 INFO L263 TraceCheckUtils]: 0: Hoare triple {1586#true} call ULTIMATE.init(); {1586#true} is VALID [2020-07-17 22:48:45,806 INFO L280 TraceCheckUtils]: 1: Hoare triple {1586#true} #NULL.base, #NULL.offset := 0, 0;#valid := #valid[0 := 0];assume 0 < #StackHeapBarrier; {1586#true} is VALID [2020-07-17 22:48:45,807 INFO L280 TraceCheckUtils]: 2: Hoare triple {1586#true} assume true; {1586#true} is VALID [2020-07-17 22:48:45,807 INFO L275 TraceCheckUtils]: 3: Hoare quadruple {1586#true} {1586#true} #176#return; {1586#true} is VALID [2020-07-17 22:48:45,808 INFO L263 TraceCheckUtils]: 4: Hoare triple {1586#true} call #t~ret23 := main(); {1586#true} is VALID [2020-07-17 22:48:45,808 INFO L280 TraceCheckUtils]: 5: Hoare triple {1586#true} ~n~0 := 0;call ~#set~0.base, ~#set~0.offset := #Ultimate.allocOnStack(400000);havoc ~x~0;havoc ~y~0;~x~0 := 0; {1586#true} is VALID [2020-07-17 22:48:45,808 INFO L280 TraceCheckUtils]: 6: Hoare triple {1586#true} assume !!(~x~0 < 100000);assume -2147483648 <= #t~nondet3 && #t~nondet3 <= 2147483647;call write~int(#t~nondet3, ~#set~0.base, ~#set~0.offset + 4 * ~x~0, 4);havoc #t~nondet3; {1586#true} is VALID [2020-07-17 22:48:45,809 INFO L280 TraceCheckUtils]: 7: Hoare triple {1586#true} #t~post2 := ~x~0;~x~0 := 1 + #t~post2;havoc #t~post2; {1586#true} is VALID [2020-07-17 22:48:45,809 INFO L280 TraceCheckUtils]: 8: Hoare triple {1586#true} assume !!(~x~0 < 100000);assume -2147483648 <= #t~nondet3 && #t~nondet3 <= 2147483647;call write~int(#t~nondet3, ~#set~0.base, ~#set~0.offset + 4 * ~x~0, 4);havoc #t~nondet3; {1586#true} is VALID [2020-07-17 22:48:45,809 INFO L280 TraceCheckUtils]: 9: Hoare triple {1586#true} #t~post2 := ~x~0;~x~0 := 1 + #t~post2;havoc #t~post2; {1586#true} is VALID [2020-07-17 22:48:45,810 INFO L280 TraceCheckUtils]: 10: Hoare triple {1586#true} assume !(~x~0 < 100000); {1586#true} is VALID [2020-07-17 22:48:45,810 INFO L280 TraceCheckUtils]: 11: Hoare triple {1586#true} ~x~0 := 0; {1586#true} is VALID [2020-07-17 22:48:45,810 INFO L280 TraceCheckUtils]: 12: Hoare triple {1586#true} assume !(~x~0 < ~n~0); {1586#true} is VALID [2020-07-17 22:48:45,811 INFO L280 TraceCheckUtils]: 13: Hoare triple {1586#true} call ~#values~0.base, ~#values~0.offset := #Ultimate.allocOnStack(400000);havoc ~v~0;~v~0 := 0; {1646#(<= main_~v~0 0)} is VALID [2020-07-17 22:48:45,811 INFO L280 TraceCheckUtils]: 14: Hoare triple {1646#(<= main_~v~0 0)} assume !(~v~0 < 100000); {1587#false} is VALID [2020-07-17 22:48:45,812 INFO L280 TraceCheckUtils]: 15: Hoare triple {1587#false} ~v~0 := 0; {1587#false} is VALID [2020-07-17 22:48:45,812 INFO L280 TraceCheckUtils]: 16: Hoare triple {1587#false} assume !!(~v~0 < 100000);call #t~mem11 := read~int(~#values~0.base, ~#values~0.offset + 4 * ~v~0, 4); {1587#false} is VALID [2020-07-17 22:48:45,812 INFO L263 TraceCheckUtils]: 17: Hoare triple {1587#false} call #t~ret12 := elem_exists(~#set~0.base, ~#set~0.offset, ~n~0, #t~mem11); {1587#false} is VALID [2020-07-17 22:48:45,812 INFO L280 TraceCheckUtils]: 18: Hoare triple {1587#false} ~set.base, ~set.offset := #in~set.base, #in~set.offset;~size := #in~size;~value := #in~value;havoc ~i~0;~i~0 := 0; {1587#false} is VALID [2020-07-17 22:48:45,813 INFO L280 TraceCheckUtils]: 19: Hoare triple {1587#false} assume !(~i~0 < ~size); {1587#false} is VALID [2020-07-17 22:48:45,813 INFO L280 TraceCheckUtils]: 20: Hoare triple {1587#false} #res := 0; {1587#false} is VALID [2020-07-17 22:48:45,813 INFO L280 TraceCheckUtils]: 21: Hoare triple {1587#false} assume true; {1587#false} is VALID [2020-07-17 22:48:45,813 INFO L275 TraceCheckUtils]: 22: Hoare quadruple {1587#false} {1587#false} #182#return; {1587#false} is VALID [2020-07-17 22:48:45,814 INFO L280 TraceCheckUtils]: 23: Hoare triple {1587#false} assume -2147483648 <= #t~ret12 && #t~ret12 <= 2147483647; {1587#false} is VALID [2020-07-17 22:48:45,814 INFO L280 TraceCheckUtils]: 24: Hoare triple {1587#false} assume 0 != #t~ret12;havoc #t~mem11;havoc #t~ret12;call #t~mem13 := read~int(~#values~0.base, ~#values~0.offset + 4 * ~v~0, 4); {1587#false} is VALID [2020-07-17 22:48:45,814 INFO L263 TraceCheckUtils]: 25: Hoare triple {1587#false} call #t~ret14 := insert(~#set~0.base, ~#set~0.offset, ~n~0, #t~mem13); {1587#false} is VALID [2020-07-17 22:48:45,814 INFO L280 TraceCheckUtils]: 26: Hoare triple {1587#false} ~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; {1587#false} is VALID [2020-07-17 22:48:45,815 INFO L280 TraceCheckUtils]: 27: Hoare triple {1587#false} assume true; {1587#false} is VALID [2020-07-17 22:48:45,815 INFO L275 TraceCheckUtils]: 28: Hoare quadruple {1587#false} {1587#false} #184#return; {1587#false} is VALID [2020-07-17 22:48:45,815 INFO L280 TraceCheckUtils]: 29: Hoare triple {1587#false} assume -2147483648 <= #t~ret14 && #t~ret14 <= 2147483647;~n~0 := #t~ret14;havoc #t~mem13;havoc #t~ret14; {1587#false} is VALID [2020-07-17 22:48:45,815 INFO L280 TraceCheckUtils]: 30: Hoare triple {1587#false} ~x~0 := 0; {1587#false} is VALID [2020-07-17 22:48:45,816 INFO L280 TraceCheckUtils]: 31: Hoare triple {1587#false} assume !!(~x~0 < ~n~0);~y~0 := 1 + ~x~0; {1587#false} is VALID [2020-07-17 22:48:45,816 INFO L280 TraceCheckUtils]: 32: Hoare triple {1587#false} assume !!(~y~0 < ~n~0);call #t~mem17 := read~int(~#set~0.base, ~#set~0.offset + 4 * ~x~0, 4);call #t~mem18 := read~int(~#set~0.base, ~#set~0.offset + 4 * ~y~0, 4); {1587#false} is VALID [2020-07-17 22:48:45,816 INFO L263 TraceCheckUtils]: 33: Hoare triple {1587#false} call __VERIFIER_assert((if #t~mem17 != #t~mem18 then 1 else 0)); {1587#false} is VALID [2020-07-17 22:48:45,817 INFO L280 TraceCheckUtils]: 34: Hoare triple {1587#false} ~cond := #in~cond; {1587#false} is VALID [2020-07-17 22:48:45,817 INFO L280 TraceCheckUtils]: 35: Hoare triple {1587#false} assume 0 == ~cond; {1587#false} is VALID [2020-07-17 22:48:45,817 INFO L280 TraceCheckUtils]: 36: Hoare triple {1587#false} assume !false; {1587#false} is VALID [2020-07-17 22:48:45,819 INFO L134 CoverageAnalysis]: Checked inductivity of 4 backedges. 0 proven. 0 refuted. 0 times theorem prover too weak. 4 trivial. 0 not checked. [2020-07-17 22:48:45,819 INFO L220 FreeRefinementEngine]: Constructing automaton from 1 perfect and 1 imperfect interpolant sequences. [2020-07-17 22:48:45,819 INFO L233 FreeRefinementEngine]: Number of different interpolants: perfect sequences [3] imperfect sequences [7] total 8 [2020-07-17 22:48:45,820 INFO L156 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [385170284] [2020-07-17 22:48:45,820 INFO L78 Accepts]: Start accepts. Automaton has 3 states. Word has length 37 [2020-07-17 22:48:45,821 INFO L84 Accepts]: Finished accepts. word is accepted. [2020-07-17 22:48:45,821 INFO L86 InductivityCheck]: Starting indutivity check of a Floyd-Hoare automaton with 3 states. [2020-07-17 22:48:45,883 INFO L119 InductivityCheck]: Floyd-Hoare automaton has 35 edges. 35 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2020-07-17 22:48:45,883 INFO L459 AbstractCegarLoop]: Interpolant automaton has 3 states [2020-07-17 22:48:45,883 INFO L143 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy CAMEL [2020-07-17 22:48:45,883 INFO L142 InterpolantAutomaton]: Constructing interpolant automaton starting with 3 interpolants. [2020-07-17 22:48:45,884 INFO L144 InterpolantAutomaton]: CoverageRelationStatistics Valid=16, Invalid=40, Unknown=0, NotChecked=0, Total=56 [2020-07-17 22:48:45,884 INFO L87 Difference]: Start difference. First operand 61 states and 73 transitions. Second operand 3 states. [2020-07-17 22:48:46,064 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2020-07-17 22:48:46,064 INFO L93 Difference]: Finished difference Result 125 states and 154 transitions. [2020-07-17 22:48:46,064 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 3 states. [2020-07-17 22:48:46,064 INFO L78 Accepts]: Start accepts. Automaton has 3 states. Word has length 37 [2020-07-17 22:48:46,065 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2020-07-17 22:48:46,065 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 3 states. [2020-07-17 22:48:46,067 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 3 states to 3 states and 130 transitions. [2020-07-17 22:48:46,068 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 3 states. [2020-07-17 22:48:46,071 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 3 states to 3 states and 130 transitions. [2020-07-17 22:48:46,071 INFO L86 InductivityCheck]: Starting indutivity check of a Floyd-Hoare automaton with 3 states and 130 transitions. [2020-07-17 22:48:46,254 INFO L119 InductivityCheck]: Floyd-Hoare automaton has 130 edges. 130 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2020-07-17 22:48:46,258 INFO L225 Difference]: With dead ends: 125 [2020-07-17 22:48:46,258 INFO L226 Difference]: Without dead ends: 80 [2020-07-17 22:48:46,259 INFO L675 BasicCegarLoop]: 0 DeclaredPredicates, 47 GetRequests, 41 SyntacticMatches, 0 SemanticMatches, 6 ConstructedPredicates, 0 IntricatePredicates, 0 DeprecatedPredicates, 6 ImplicationChecksByTransitivity, 0.0s TimeCoverageRelationStatistics Valid=16, Invalid=40, Unknown=0, NotChecked=0, Total=56 [2020-07-17 22:48:46,260 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 80 states. [2020-07-17 22:48:46,291 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 80 to 62. [2020-07-17 22:48:46,292 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2020-07-17 22:48:46,292 INFO L82 GeneralOperation]: Start isEquivalent. First operand 80 states. Second operand 62 states. [2020-07-17 22:48:46,292 INFO L74 IsIncluded]: Start isIncluded. First operand 80 states. Second operand 62 states. [2020-07-17 22:48:46,292 INFO L87 Difference]: Start difference. First operand 80 states. Second operand 62 states. [2020-07-17 22:48:46,296 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2020-07-17 22:48:46,297 INFO L93 Difference]: Finished difference Result 80 states and 98 transitions. [2020-07-17 22:48:46,297 INFO L276 IsEmpty]: Start isEmpty. Operand 80 states and 98 transitions. [2020-07-17 22:48:46,297 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2020-07-17 22:48:46,298 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2020-07-17 22:48:46,298 INFO L74 IsIncluded]: Start isIncluded. First operand 62 states. Second operand 80 states. [2020-07-17 22:48:46,298 INFO L87 Difference]: Start difference. First operand 62 states. Second operand 80 states. [2020-07-17 22:48:46,302 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2020-07-17 22:48:46,302 INFO L93 Difference]: Finished difference Result 80 states and 98 transitions. [2020-07-17 22:48:46,303 INFO L276 IsEmpty]: Start isEmpty. Operand 80 states and 98 transitions. [2020-07-17 22:48:46,303 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2020-07-17 22:48:46,303 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2020-07-17 22:48:46,304 INFO L88 GeneralOperation]: Finished isEquivalent. [2020-07-17 22:48:46,304 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2020-07-17 22:48:46,304 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 62 states. [2020-07-17 22:48:46,307 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 62 states to 62 states and 74 transitions. [2020-07-17 22:48:46,307 INFO L78 Accepts]: Start accepts. Automaton has 62 states and 74 transitions. Word has length 37 [2020-07-17 22:48:46,307 INFO L84 Accepts]: Finished accepts. word is rejected. [2020-07-17 22:48:46,307 INFO L479 AbstractCegarLoop]: Abstraction has 62 states and 74 transitions. [2020-07-17 22:48:46,308 INFO L480 AbstractCegarLoop]: Interpolant automaton has 3 states. [2020-07-17 22:48:46,308 INFO L276 IsEmpty]: Start isEmpty. Operand 62 states and 74 transitions. [2020-07-17 22:48:46,309 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 40 [2020-07-17 22:48:46,309 INFO L414 BasicCegarLoop]: Found error trace [2020-07-17 22:48:46,309 INFO L422 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, 1] [2020-07-17 22:48:46,522 WARN L516 AbstractCegarLoop]: Destroyed unattended storables created during the last iteration: SelfDestructingSolverStorable3,4 z3 -smt2 -in SMTLIB2_COMPLIANT=true [2020-07-17 22:48:46,523 INFO L427 AbstractCegarLoop]: === Iteration 5 === [__VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION]=== [2020-07-17 22:48:46,523 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2020-07-17 22:48:46,524 INFO L82 PathProgramCache]: Analyzing trace with hash 581153498, now seen corresponding path program 1 times [2020-07-17 22:48:46,524 INFO L163 FreeRefinementEngine]: Executing refinement strategy CAMEL [2020-07-17 22:48:46,525 INFO L354 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [725678352] [2020-07-17 22:48:46,525 INFO L94 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2020-07-17 22:48:46,543 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2020-07-17 22:48:46,594 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2020-07-17 22:48:46,602 INFO L280 TraceCheckUtils]: 0: Hoare triple {2153#(and (= |#valid| |old(#valid)|) (= |#NULL.base| |old(#NULL.base)|) (= |#NULL.offset| |old(#NULL.offset)|))} #NULL.base, #NULL.offset := 0, 0;#valid := #valid[0 := 0];assume 0 < #StackHeapBarrier; {2137#true} is VALID [2020-07-17 22:48:46,603 INFO L280 TraceCheckUtils]: 1: Hoare triple {2137#true} assume true; {2137#true} is VALID [2020-07-17 22:48:46,603 INFO L275 TraceCheckUtils]: 2: Hoare quadruple {2137#true} {2137#true} #176#return; {2137#true} is VALID [2020-07-17 22:48:46,605 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2020-07-17 22:48:46,613 INFO L280 TraceCheckUtils]: 0: Hoare triple {2137#true} ~set.base, ~set.offset := #in~set.base, #in~set.offset;~size := #in~size;~value := #in~value;havoc ~i~0;~i~0 := 0; {2137#true} is VALID [2020-07-17 22:48:46,614 INFO L280 TraceCheckUtils]: 1: Hoare triple {2137#true} assume !(~i~0 < ~size); {2137#true} is VALID [2020-07-17 22:48:46,614 INFO L280 TraceCheckUtils]: 2: Hoare triple {2137#true} #res := 0; {2137#true} is VALID [2020-07-17 22:48:46,614 INFO L280 TraceCheckUtils]: 3: Hoare triple {2137#true} assume true; {2137#true} is VALID [2020-07-17 22:48:46,614 INFO L275 TraceCheckUtils]: 4: Hoare quadruple {2137#true} {2138#false} #182#return; {2138#false} is VALID [2020-07-17 22:48:46,624 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2020-07-17 22:48:46,632 INFO L280 TraceCheckUtils]: 0: Hoare triple {2154#(= |#memory_int| |old(#memory_int)|)} ~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; {2137#true} is VALID [2020-07-17 22:48:46,632 INFO L280 TraceCheckUtils]: 1: Hoare triple {2137#true} assume true; {2137#true} is VALID [2020-07-17 22:48:46,633 INFO L275 TraceCheckUtils]: 2: Hoare quadruple {2137#true} {2138#false} #184#return; {2138#false} is VALID [2020-07-17 22:48:46,634 INFO L263 TraceCheckUtils]: 0: Hoare triple {2137#true} call ULTIMATE.init(); {2153#(and (= |#valid| |old(#valid)|) (= |#NULL.base| |old(#NULL.base)|) (= |#NULL.offset| |old(#NULL.offset)|))} is VALID [2020-07-17 22:48:46,634 INFO L280 TraceCheckUtils]: 1: Hoare triple {2153#(and (= |#valid| |old(#valid)|) (= |#NULL.base| |old(#NULL.base)|) (= |#NULL.offset| |old(#NULL.offset)|))} #NULL.base, #NULL.offset := 0, 0;#valid := #valid[0 := 0];assume 0 < #StackHeapBarrier; {2137#true} is VALID [2020-07-17 22:48:46,634 INFO L280 TraceCheckUtils]: 2: Hoare triple {2137#true} assume true; {2137#true} is VALID [2020-07-17 22:48:46,635 INFO L275 TraceCheckUtils]: 3: Hoare quadruple {2137#true} {2137#true} #176#return; {2137#true} is VALID [2020-07-17 22:48:46,635 INFO L263 TraceCheckUtils]: 4: Hoare triple {2137#true} call #t~ret23 := main(); {2137#true} is VALID [2020-07-17 22:48:46,637 INFO L280 TraceCheckUtils]: 5: Hoare triple {2137#true} ~n~0 := 0;call ~#set~0.base, ~#set~0.offset := #Ultimate.allocOnStack(400000);havoc ~x~0;havoc ~y~0;~x~0 := 0; {2142#(= 0 main_~x~0)} is VALID [2020-07-17 22:48:46,639 INFO L280 TraceCheckUtils]: 6: Hoare triple {2142#(= 0 main_~x~0)} assume !!(~x~0 < 100000);assume -2147483648 <= #t~nondet3 && #t~nondet3 <= 2147483647;call write~int(#t~nondet3, ~#set~0.base, ~#set~0.offset + 4 * ~x~0, 4);havoc #t~nondet3; {2142#(= 0 main_~x~0)} is VALID [2020-07-17 22:48:46,640 INFO L280 TraceCheckUtils]: 7: Hoare triple {2142#(= 0 main_~x~0)} #t~post2 := ~x~0;~x~0 := 1 + #t~post2;havoc #t~post2; {2143#(<= main_~x~0 1)} is VALID [2020-07-17 22:48:46,641 INFO L280 TraceCheckUtils]: 8: Hoare triple {2143#(<= main_~x~0 1)} assume !!(~x~0 < 100000);assume -2147483648 <= #t~nondet3 && #t~nondet3 <= 2147483647;call write~int(#t~nondet3, ~#set~0.base, ~#set~0.offset + 4 * ~x~0, 4);havoc #t~nondet3; {2143#(<= main_~x~0 1)} is VALID [2020-07-17 22:48:46,642 INFO L280 TraceCheckUtils]: 9: Hoare triple {2143#(<= main_~x~0 1)} #t~post2 := ~x~0;~x~0 := 1 + #t~post2;havoc #t~post2; {2144#(<= main_~x~0 2)} is VALID [2020-07-17 22:48:46,643 INFO L280 TraceCheckUtils]: 10: Hoare triple {2144#(<= main_~x~0 2)} assume !(~x~0 < 100000); {2138#false} is VALID [2020-07-17 22:48:46,643 INFO L280 TraceCheckUtils]: 11: Hoare triple {2138#false} ~x~0 := 0; {2138#false} is VALID [2020-07-17 22:48:46,643 INFO L280 TraceCheckUtils]: 12: Hoare triple {2138#false} assume !(~x~0 < ~n~0); {2138#false} is VALID [2020-07-17 22:48:46,644 INFO L280 TraceCheckUtils]: 13: Hoare triple {2138#false} call ~#values~0.base, ~#values~0.offset := #Ultimate.allocOnStack(400000);havoc ~v~0;~v~0 := 0; {2138#false} is VALID [2020-07-17 22:48:46,644 INFO L280 TraceCheckUtils]: 14: Hoare triple {2138#false} assume !!(~v~0 < 100000);assume -2147483648 <= #t~nondet9 && #t~nondet9 <= 2147483647;call write~int(#t~nondet9, ~#values~0.base, ~#values~0.offset + 4 * ~v~0, 4);havoc #t~nondet9; {2138#false} is VALID [2020-07-17 22:48:46,644 INFO L280 TraceCheckUtils]: 15: Hoare triple {2138#false} #t~post8 := ~v~0;~v~0 := 1 + #t~post8;havoc #t~post8; {2138#false} is VALID [2020-07-17 22:48:46,645 INFO L280 TraceCheckUtils]: 16: Hoare triple {2138#false} assume !(~v~0 < 100000); {2138#false} is VALID [2020-07-17 22:48:46,645 INFO L280 TraceCheckUtils]: 17: Hoare triple {2138#false} ~v~0 := 0; {2138#false} is VALID [2020-07-17 22:48:46,645 INFO L280 TraceCheckUtils]: 18: Hoare triple {2138#false} assume !!(~v~0 < 100000);call #t~mem11 := read~int(~#values~0.base, ~#values~0.offset + 4 * ~v~0, 4); {2138#false} is VALID [2020-07-17 22:48:46,645 INFO L263 TraceCheckUtils]: 19: Hoare triple {2138#false} call #t~ret12 := elem_exists(~#set~0.base, ~#set~0.offset, ~n~0, #t~mem11); {2137#true} is VALID [2020-07-17 22:48:46,646 INFO L280 TraceCheckUtils]: 20: Hoare triple {2137#true} ~set.base, ~set.offset := #in~set.base, #in~set.offset;~size := #in~size;~value := #in~value;havoc ~i~0;~i~0 := 0; {2137#true} is VALID [2020-07-17 22:48:46,646 INFO L280 TraceCheckUtils]: 21: Hoare triple {2137#true} assume !(~i~0 < ~size); {2137#true} is VALID [2020-07-17 22:48:46,646 INFO L280 TraceCheckUtils]: 22: Hoare triple {2137#true} #res := 0; {2137#true} is VALID [2020-07-17 22:48:46,646 INFO L280 TraceCheckUtils]: 23: Hoare triple {2137#true} assume true; {2137#true} is VALID [2020-07-17 22:48:46,647 INFO L275 TraceCheckUtils]: 24: Hoare quadruple {2137#true} {2138#false} #182#return; {2138#false} is VALID [2020-07-17 22:48:46,647 INFO L280 TraceCheckUtils]: 25: Hoare triple {2138#false} assume -2147483648 <= #t~ret12 && #t~ret12 <= 2147483647; {2138#false} is VALID [2020-07-17 22:48:46,647 INFO L280 TraceCheckUtils]: 26: Hoare triple {2138#false} assume 0 != #t~ret12;havoc #t~mem11;havoc #t~ret12;call #t~mem13 := read~int(~#values~0.base, ~#values~0.offset + 4 * ~v~0, 4); {2138#false} is VALID [2020-07-17 22:48:46,647 INFO L263 TraceCheckUtils]: 27: Hoare triple {2138#false} call #t~ret14 := insert(~#set~0.base, ~#set~0.offset, ~n~0, #t~mem13); {2154#(= |#memory_int| |old(#memory_int)|)} is VALID [2020-07-17 22:48:46,648 INFO L280 TraceCheckUtils]: 28: Hoare triple {2154#(= |#memory_int| |old(#memory_int)|)} ~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; {2137#true} is VALID [2020-07-17 22:48:46,648 INFO L280 TraceCheckUtils]: 29: Hoare triple {2137#true} assume true; {2137#true} is VALID [2020-07-17 22:48:46,648 INFO L275 TraceCheckUtils]: 30: Hoare quadruple {2137#true} {2138#false} #184#return; {2138#false} is VALID [2020-07-17 22:48:46,648 INFO L280 TraceCheckUtils]: 31: Hoare triple {2138#false} assume -2147483648 <= #t~ret14 && #t~ret14 <= 2147483647;~n~0 := #t~ret14;havoc #t~mem13;havoc #t~ret14; {2138#false} is VALID [2020-07-17 22:48:46,649 INFO L280 TraceCheckUtils]: 32: Hoare triple {2138#false} ~x~0 := 0; {2138#false} is VALID [2020-07-17 22:48:46,649 INFO L280 TraceCheckUtils]: 33: Hoare triple {2138#false} assume !!(~x~0 < ~n~0);~y~0 := 1 + ~x~0; {2138#false} is VALID [2020-07-17 22:48:46,649 INFO L280 TraceCheckUtils]: 34: Hoare triple {2138#false} assume !!(~y~0 < ~n~0);call #t~mem17 := read~int(~#set~0.base, ~#set~0.offset + 4 * ~x~0, 4);call #t~mem18 := read~int(~#set~0.base, ~#set~0.offset + 4 * ~y~0, 4); {2138#false} is VALID [2020-07-17 22:48:46,650 INFO L263 TraceCheckUtils]: 35: Hoare triple {2138#false} call __VERIFIER_assert((if #t~mem17 != #t~mem18 then 1 else 0)); {2138#false} is VALID [2020-07-17 22:48:46,650 INFO L280 TraceCheckUtils]: 36: Hoare triple {2138#false} ~cond := #in~cond; {2138#false} is VALID [2020-07-17 22:48:46,650 INFO L280 TraceCheckUtils]: 37: Hoare triple {2138#false} assume 0 == ~cond; {2138#false} is VALID [2020-07-17 22:48:46,650 INFO L280 TraceCheckUtils]: 38: Hoare triple {2138#false} assume !false; {2138#false} is VALID [2020-07-17 22:48:46,652 INFO L134 CoverageAnalysis]: Checked inductivity of 5 backedges. 0 proven. 4 refuted. 0 times theorem prover too weak. 1 trivial. 0 not checked. [2020-07-17 22:48:46,653 INFO L354 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleSmtInterpolCraig [725678352] [2020-07-17 22:48:46,653 INFO L354 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleZ3 [659456359] [2020-07-17 22:48:46,653 INFO L94 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 Starting monitored process 5 with z3 -smt2 -in SMTLIB2_COMPLIANT=true (exit command is (exit), workingDir is null) Waiting until toolchain timeout for monitored process 5 with z3 -smt2 -in SMTLIB2_COMPLIANT=true [2020-07-17 22:48:46,710 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2020-07-17 22:48:46,711 INFO L264 TraceCheckSpWp]: Trace formula consists of 156 conjuncts, 4 conjunts are in the unsatisfiable core [2020-07-17 22:48:46,727 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2020-07-17 22:48:46,731 INFO L287 TraceCheckSpWp]: Computing forward predicates... [2020-07-17 22:48:46,812 INFO L263 TraceCheckUtils]: 0: Hoare triple {2137#true} call ULTIMATE.init(); {2137#true} is VALID [2020-07-17 22:48:46,812 INFO L280 TraceCheckUtils]: 1: Hoare triple {2137#true} #NULL.base, #NULL.offset := 0, 0;#valid := #valid[0 := 0];assume 0 < #StackHeapBarrier; {2137#true} is VALID [2020-07-17 22:48:46,813 INFO L280 TraceCheckUtils]: 2: Hoare triple {2137#true} assume true; {2137#true} is VALID [2020-07-17 22:48:46,813 INFO L275 TraceCheckUtils]: 3: Hoare quadruple {2137#true} {2137#true} #176#return; {2137#true} is VALID [2020-07-17 22:48:46,813 INFO L263 TraceCheckUtils]: 4: Hoare triple {2137#true} call #t~ret23 := main(); {2137#true} is VALID [2020-07-17 22:48:46,815 INFO L280 TraceCheckUtils]: 5: Hoare triple {2137#true} ~n~0 := 0;call ~#set~0.base, ~#set~0.offset := #Ultimate.allocOnStack(400000);havoc ~x~0;havoc ~y~0;~x~0 := 0; {2173#(<= main_~x~0 0)} is VALID [2020-07-17 22:48:46,816 INFO L280 TraceCheckUtils]: 6: Hoare triple {2173#(<= main_~x~0 0)} assume !!(~x~0 < 100000);assume -2147483648 <= #t~nondet3 && #t~nondet3 <= 2147483647;call write~int(#t~nondet3, ~#set~0.base, ~#set~0.offset + 4 * ~x~0, 4);havoc #t~nondet3; {2173#(<= main_~x~0 0)} is VALID [2020-07-17 22:48:46,817 INFO L280 TraceCheckUtils]: 7: Hoare triple {2173#(<= main_~x~0 0)} #t~post2 := ~x~0;~x~0 := 1 + #t~post2;havoc #t~post2; {2143#(<= main_~x~0 1)} is VALID [2020-07-17 22:48:46,818 INFO L280 TraceCheckUtils]: 8: Hoare triple {2143#(<= main_~x~0 1)} assume !!(~x~0 < 100000);assume -2147483648 <= #t~nondet3 && #t~nondet3 <= 2147483647;call write~int(#t~nondet3, ~#set~0.base, ~#set~0.offset + 4 * ~x~0, 4);havoc #t~nondet3; {2143#(<= main_~x~0 1)} is VALID [2020-07-17 22:48:46,819 INFO L280 TraceCheckUtils]: 9: Hoare triple {2143#(<= main_~x~0 1)} #t~post2 := ~x~0;~x~0 := 1 + #t~post2;havoc #t~post2; {2144#(<= main_~x~0 2)} is VALID [2020-07-17 22:48:46,820 INFO L280 TraceCheckUtils]: 10: Hoare triple {2144#(<= main_~x~0 2)} assume !(~x~0 < 100000); {2138#false} is VALID [2020-07-17 22:48:46,820 INFO L280 TraceCheckUtils]: 11: Hoare triple {2138#false} ~x~0 := 0; {2138#false} is VALID [2020-07-17 22:48:46,820 INFO L280 TraceCheckUtils]: 12: Hoare triple {2138#false} assume !(~x~0 < ~n~0); {2138#false} is VALID [2020-07-17 22:48:46,821 INFO L280 TraceCheckUtils]: 13: Hoare triple {2138#false} call ~#values~0.base, ~#values~0.offset := #Ultimate.allocOnStack(400000);havoc ~v~0;~v~0 := 0; {2138#false} is VALID [2020-07-17 22:48:46,821 INFO L280 TraceCheckUtils]: 14: Hoare triple {2138#false} assume !!(~v~0 < 100000);assume -2147483648 <= #t~nondet9 && #t~nondet9 <= 2147483647;call write~int(#t~nondet9, ~#values~0.base, ~#values~0.offset + 4 * ~v~0, 4);havoc #t~nondet9; {2138#false} is VALID [2020-07-17 22:48:46,821 INFO L280 TraceCheckUtils]: 15: Hoare triple {2138#false} #t~post8 := ~v~0;~v~0 := 1 + #t~post8;havoc #t~post8; {2138#false} is VALID [2020-07-17 22:48:46,821 INFO L280 TraceCheckUtils]: 16: Hoare triple {2138#false} assume !(~v~0 < 100000); {2138#false} is VALID [2020-07-17 22:48:46,822 INFO L280 TraceCheckUtils]: 17: Hoare triple {2138#false} ~v~0 := 0; {2138#false} is VALID [2020-07-17 22:48:46,822 INFO L280 TraceCheckUtils]: 18: Hoare triple {2138#false} assume !!(~v~0 < 100000);call #t~mem11 := read~int(~#values~0.base, ~#values~0.offset + 4 * ~v~0, 4); {2138#false} is VALID [2020-07-17 22:48:46,822 INFO L263 TraceCheckUtils]: 19: Hoare triple {2138#false} call #t~ret12 := elem_exists(~#set~0.base, ~#set~0.offset, ~n~0, #t~mem11); {2138#false} is VALID [2020-07-17 22:48:46,822 INFO L280 TraceCheckUtils]: 20: Hoare triple {2138#false} ~set.base, ~set.offset := #in~set.base, #in~set.offset;~size := #in~size;~value := #in~value;havoc ~i~0;~i~0 := 0; {2138#false} is VALID [2020-07-17 22:48:46,823 INFO L280 TraceCheckUtils]: 21: Hoare triple {2138#false} assume !(~i~0 < ~size); {2138#false} is VALID [2020-07-17 22:48:46,823 INFO L280 TraceCheckUtils]: 22: Hoare triple {2138#false} #res := 0; {2138#false} is VALID [2020-07-17 22:48:46,823 INFO L280 TraceCheckUtils]: 23: Hoare triple {2138#false} assume true; {2138#false} is VALID [2020-07-17 22:48:46,823 INFO L275 TraceCheckUtils]: 24: Hoare quadruple {2138#false} {2138#false} #182#return; {2138#false} is VALID [2020-07-17 22:48:46,824 INFO L280 TraceCheckUtils]: 25: Hoare triple {2138#false} assume -2147483648 <= #t~ret12 && #t~ret12 <= 2147483647; {2138#false} is VALID [2020-07-17 22:48:46,824 INFO L280 TraceCheckUtils]: 26: Hoare triple {2138#false} assume 0 != #t~ret12;havoc #t~mem11;havoc #t~ret12;call #t~mem13 := read~int(~#values~0.base, ~#values~0.offset + 4 * ~v~0, 4); {2138#false} is VALID [2020-07-17 22:48:46,824 INFO L263 TraceCheckUtils]: 27: Hoare triple {2138#false} call #t~ret14 := insert(~#set~0.base, ~#set~0.offset, ~n~0, #t~mem13); {2138#false} is VALID [2020-07-17 22:48:46,825 INFO L280 TraceCheckUtils]: 28: Hoare triple {2138#false} ~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; {2138#false} is VALID [2020-07-17 22:48:46,826 INFO L280 TraceCheckUtils]: 29: Hoare triple {2138#false} assume true; {2138#false} is VALID [2020-07-17 22:48:46,826 INFO L275 TraceCheckUtils]: 30: Hoare quadruple {2138#false} {2138#false} #184#return; {2138#false} is VALID [2020-07-17 22:48:46,833 INFO L280 TraceCheckUtils]: 31: Hoare triple {2138#false} assume -2147483648 <= #t~ret14 && #t~ret14 <= 2147483647;~n~0 := #t~ret14;havoc #t~mem13;havoc #t~ret14; {2138#false} is VALID [2020-07-17 22:48:46,834 INFO L280 TraceCheckUtils]: 32: Hoare triple {2138#false} ~x~0 := 0; {2138#false} is VALID [2020-07-17 22:48:46,834 INFO L280 TraceCheckUtils]: 33: Hoare triple {2138#false} assume !!(~x~0 < ~n~0);~y~0 := 1 + ~x~0; {2138#false} is VALID [2020-07-17 22:48:46,834 INFO L280 TraceCheckUtils]: 34: Hoare triple {2138#false} assume !!(~y~0 < ~n~0);call #t~mem17 := read~int(~#set~0.base, ~#set~0.offset + 4 * ~x~0, 4);call #t~mem18 := read~int(~#set~0.base, ~#set~0.offset + 4 * ~y~0, 4); {2138#false} is VALID [2020-07-17 22:48:46,835 INFO L263 TraceCheckUtils]: 35: Hoare triple {2138#false} call __VERIFIER_assert((if #t~mem17 != #t~mem18 then 1 else 0)); {2138#false} is VALID [2020-07-17 22:48:46,835 INFO L280 TraceCheckUtils]: 36: Hoare triple {2138#false} ~cond := #in~cond; {2138#false} is VALID [2020-07-17 22:48:46,835 INFO L280 TraceCheckUtils]: 37: Hoare triple {2138#false} assume 0 == ~cond; {2138#false} is VALID [2020-07-17 22:48:46,837 INFO L280 TraceCheckUtils]: 38: Hoare triple {2138#false} assume !false; {2138#false} is VALID [2020-07-17 22:48:46,838 INFO L134 CoverageAnalysis]: Checked inductivity of 5 backedges. 0 proven. 4 refuted. 0 times theorem prover too weak. 1 trivial. 0 not checked. [2020-07-17 22:48:46,839 INFO L220 FreeRefinementEngine]: Constructing automaton from 0 perfect and 2 imperfect interpolant sequences. [2020-07-17 22:48:46,839 INFO L233 FreeRefinementEngine]: Number of different interpolants: perfect sequences [] imperfect sequences [7, 5] total 8 [2020-07-17 22:48:46,840 INFO L156 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [912125545] [2020-07-17 22:48:46,840 INFO L78 Accepts]: Start accepts. Automaton has 8 states. Word has length 39 [2020-07-17 22:48:46,842 INFO L84 Accepts]: Finished accepts. word is accepted. [2020-07-17 22:48:46,842 INFO L86 InductivityCheck]: Starting indutivity check of a Floyd-Hoare automaton with 8 states. [2020-07-17 22:48:46,911 INFO L119 InductivityCheck]: Floyd-Hoare automaton has 54 edges. 54 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2020-07-17 22:48:46,912 INFO L459 AbstractCegarLoop]: Interpolant automaton has 8 states [2020-07-17 22:48:46,912 INFO L143 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy CAMEL [2020-07-17 22:48:46,912 INFO L142 InterpolantAutomaton]: Constructing interpolant automaton starting with 8 interpolants. [2020-07-17 22:48:46,913 INFO L144 InterpolantAutomaton]: CoverageRelationStatistics Valid=19, Invalid=37, Unknown=0, NotChecked=0, Total=56 [2020-07-17 22:48:46,913 INFO L87 Difference]: Start difference. First operand 62 states and 74 transitions. Second operand 8 states. [2020-07-17 22:48:47,848 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2020-07-17 22:48:47,849 INFO L93 Difference]: Finished difference Result 179 states and 230 transitions. [2020-07-17 22:48:47,849 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 9 states. [2020-07-17 22:48:47,849 INFO L78 Accepts]: Start accepts. Automaton has 8 states. Word has length 39 [2020-07-17 22:48:47,851 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2020-07-17 22:48:47,851 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 8 states. [2020-07-17 22:48:47,856 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 9 states to 9 states and 210 transitions. [2020-07-17 22:48:47,857 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 8 states. [2020-07-17 22:48:47,871 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 9 states to 9 states and 210 transitions. [2020-07-17 22:48:47,872 INFO L86 InductivityCheck]: Starting indutivity check of a Floyd-Hoare automaton with 9 states and 210 transitions. [2020-07-17 22:48:48,120 INFO L119 InductivityCheck]: Floyd-Hoare automaton has 210 edges. 210 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2020-07-17 22:48:48,125 INFO L225 Difference]: With dead ends: 179 [2020-07-17 22:48:48,125 INFO L226 Difference]: Without dead ends: 128 [2020-07-17 22:48:48,126 INFO L675 BasicCegarLoop]: 0 DeclaredPredicates, 52 GetRequests, 44 SyntacticMatches, 0 SemanticMatches, 8 ConstructedPredicates, 0 IntricatePredicates, 0 DeprecatedPredicates, 8 ImplicationChecksByTransitivity, 0.0s TimeCoverageRelationStatistics Valid=30, Invalid=60, Unknown=0, NotChecked=0, Total=90 [2020-07-17 22:48:48,126 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 128 states. [2020-07-17 22:48:48,179 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 128 to 64. [2020-07-17 22:48:48,179 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2020-07-17 22:48:48,179 INFO L82 GeneralOperation]: Start isEquivalent. First operand 128 states. Second operand 64 states. [2020-07-17 22:48:48,179 INFO L74 IsIncluded]: Start isIncluded. First operand 128 states. Second operand 64 states. [2020-07-17 22:48:48,179 INFO L87 Difference]: Start difference. First operand 128 states. Second operand 64 states. [2020-07-17 22:48:48,186 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2020-07-17 22:48:48,187 INFO L93 Difference]: Finished difference Result 128 states and 167 transitions. [2020-07-17 22:48:48,187 INFO L276 IsEmpty]: Start isEmpty. Operand 128 states and 167 transitions. [2020-07-17 22:48:48,188 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2020-07-17 22:48:48,188 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2020-07-17 22:48:48,188 INFO L74 IsIncluded]: Start isIncluded. First operand 64 states. Second operand 128 states. [2020-07-17 22:48:48,188 INFO L87 Difference]: Start difference. First operand 64 states. Second operand 128 states. [2020-07-17 22:48:48,195 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2020-07-17 22:48:48,195 INFO L93 Difference]: Finished difference Result 128 states and 167 transitions. [2020-07-17 22:48:48,196 INFO L276 IsEmpty]: Start isEmpty. Operand 128 states and 167 transitions. [2020-07-17 22:48:48,196 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2020-07-17 22:48:48,197 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2020-07-17 22:48:48,197 INFO L88 GeneralOperation]: Finished isEquivalent. [2020-07-17 22:48:48,197 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2020-07-17 22:48:48,197 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 64 states. [2020-07-17 22:48:48,200 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 64 states to 64 states and 76 transitions. [2020-07-17 22:48:48,200 INFO L78 Accepts]: Start accepts. Automaton has 64 states and 76 transitions. Word has length 39 [2020-07-17 22:48:48,200 INFO L84 Accepts]: Finished accepts. word is rejected. [2020-07-17 22:48:48,200 INFO L479 AbstractCegarLoop]: Abstraction has 64 states and 76 transitions. [2020-07-17 22:48:48,201 INFO L480 AbstractCegarLoop]: Interpolant automaton has 8 states. [2020-07-17 22:48:48,201 INFO L276 IsEmpty]: Start isEmpty. Operand 64 states and 76 transitions. [2020-07-17 22:48:48,202 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 42 [2020-07-17 22:48:48,202 INFO L414 BasicCegarLoop]: Found error trace [2020-07-17 22:48:48,202 INFO L422 BasicCegarLoop]: trace histogram [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, 1, 1, 1, 1, 1, 1, 1] [2020-07-17 22:48:48,417 WARN L516 AbstractCegarLoop]: Destroyed unattended storables created during the last iteration: SelfDestructingSolverStorable4,5 z3 -smt2 -in SMTLIB2_COMPLIANT=true [2020-07-17 22:48:48,418 INFO L427 AbstractCegarLoop]: === Iteration 6 === [__VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION]=== [2020-07-17 22:48:48,419 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2020-07-17 22:48:48,419 INFO L82 PathProgramCache]: Analyzing trace with hash -822197896, now seen corresponding path program 2 times [2020-07-17 22:48:48,419 INFO L163 FreeRefinementEngine]: Executing refinement strategy CAMEL [2020-07-17 22:48:48,420 INFO L354 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [823889020] [2020-07-17 22:48:48,420 INFO L94 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2020-07-17 22:48:48,440 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2020-07-17 22:48:48,512 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2020-07-17 22:48:48,519 INFO L280 TraceCheckUtils]: 0: Hoare triple {2893#(and (= |#valid| |old(#valid)|) (= |#NULL.base| |old(#NULL.base)|) (= |#NULL.offset| |old(#NULL.offset)|))} #NULL.base, #NULL.offset := 0, 0;#valid := #valid[0 := 0];assume 0 < #StackHeapBarrier; {2876#true} is VALID [2020-07-17 22:48:48,520 INFO L280 TraceCheckUtils]: 1: Hoare triple {2876#true} assume true; {2876#true} is VALID [2020-07-17 22:48:48,520 INFO L275 TraceCheckUtils]: 2: Hoare quadruple {2876#true} {2876#true} #176#return; {2876#true} is VALID [2020-07-17 22:48:48,522 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2020-07-17 22:48:48,532 INFO L280 TraceCheckUtils]: 0: Hoare triple {2876#true} ~set.base, ~set.offset := #in~set.base, #in~set.offset;~size := #in~size;~value := #in~value;havoc ~i~0;~i~0 := 0; {2876#true} is VALID [2020-07-17 22:48:48,533 INFO L280 TraceCheckUtils]: 1: Hoare triple {2876#true} assume !(~i~0 < ~size); {2876#true} is VALID [2020-07-17 22:48:48,533 INFO L280 TraceCheckUtils]: 2: Hoare triple {2876#true} #res := 0; {2876#true} is VALID [2020-07-17 22:48:48,533 INFO L280 TraceCheckUtils]: 3: Hoare triple {2876#true} assume true; {2876#true} is VALID [2020-07-17 22:48:48,534 INFO L275 TraceCheckUtils]: 4: Hoare quadruple {2876#true} {2877#false} #182#return; {2877#false} is VALID [2020-07-17 22:48:48,549 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2020-07-17 22:48:48,563 INFO L280 TraceCheckUtils]: 0: Hoare triple {2894#(= |#memory_int| |old(#memory_int)|)} ~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; {2876#true} is VALID [2020-07-17 22:48:48,564 INFO L280 TraceCheckUtils]: 1: Hoare triple {2876#true} assume true; {2876#true} is VALID [2020-07-17 22:48:48,564 INFO L275 TraceCheckUtils]: 2: Hoare quadruple {2876#true} {2877#false} #184#return; {2877#false} is VALID [2020-07-17 22:48:48,566 INFO L263 TraceCheckUtils]: 0: Hoare triple {2876#true} call ULTIMATE.init(); {2893#(and (= |#valid| |old(#valid)|) (= |#NULL.base| |old(#NULL.base)|) (= |#NULL.offset| |old(#NULL.offset)|))} is VALID [2020-07-17 22:48:48,566 INFO L280 TraceCheckUtils]: 1: Hoare triple {2893#(and (= |#valid| |old(#valid)|) (= |#NULL.base| |old(#NULL.base)|) (= |#NULL.offset| |old(#NULL.offset)|))} #NULL.base, #NULL.offset := 0, 0;#valid := #valid[0 := 0];assume 0 < #StackHeapBarrier; {2876#true} is VALID [2020-07-17 22:48:48,567 INFO L280 TraceCheckUtils]: 2: Hoare triple {2876#true} assume true; {2876#true} is VALID [2020-07-17 22:48:48,567 INFO L275 TraceCheckUtils]: 3: Hoare quadruple {2876#true} {2876#true} #176#return; {2876#true} is VALID [2020-07-17 22:48:48,567 INFO L263 TraceCheckUtils]: 4: Hoare triple {2876#true} call #t~ret23 := main(); {2876#true} is VALID [2020-07-17 22:48:48,568 INFO L280 TraceCheckUtils]: 5: Hoare triple {2876#true} ~n~0 := 0;call ~#set~0.base, ~#set~0.offset := #Ultimate.allocOnStack(400000);havoc ~x~0;havoc ~y~0;~x~0 := 0; {2881#(= 0 main_~x~0)} is VALID [2020-07-17 22:48:48,568 INFO L280 TraceCheckUtils]: 6: Hoare triple {2881#(= 0 main_~x~0)} assume !!(~x~0 < 100000);assume -2147483648 <= #t~nondet3 && #t~nondet3 <= 2147483647;call write~int(#t~nondet3, ~#set~0.base, ~#set~0.offset + 4 * ~x~0, 4);havoc #t~nondet3; {2881#(= 0 main_~x~0)} is VALID [2020-07-17 22:48:48,569 INFO L280 TraceCheckUtils]: 7: Hoare triple {2881#(= 0 main_~x~0)} #t~post2 := ~x~0;~x~0 := 1 + #t~post2;havoc #t~post2; {2882#(<= main_~x~0 1)} is VALID [2020-07-17 22:48:48,570 INFO L280 TraceCheckUtils]: 8: Hoare triple {2882#(<= main_~x~0 1)} assume !!(~x~0 < 100000);assume -2147483648 <= #t~nondet3 && #t~nondet3 <= 2147483647;call write~int(#t~nondet3, ~#set~0.base, ~#set~0.offset + 4 * ~x~0, 4);havoc #t~nondet3; {2882#(<= main_~x~0 1)} is VALID [2020-07-17 22:48:48,570 INFO L280 TraceCheckUtils]: 9: Hoare triple {2882#(<= main_~x~0 1)} #t~post2 := ~x~0;~x~0 := 1 + #t~post2;havoc #t~post2; {2883#(<= main_~x~0 2)} is VALID [2020-07-17 22:48:48,571 INFO L280 TraceCheckUtils]: 10: Hoare triple {2883#(<= main_~x~0 2)} assume !!(~x~0 < 100000);assume -2147483648 <= #t~nondet3 && #t~nondet3 <= 2147483647;call write~int(#t~nondet3, ~#set~0.base, ~#set~0.offset + 4 * ~x~0, 4);havoc #t~nondet3; {2883#(<= main_~x~0 2)} is VALID [2020-07-17 22:48:48,572 INFO L280 TraceCheckUtils]: 11: Hoare triple {2883#(<= main_~x~0 2)} #t~post2 := ~x~0;~x~0 := 1 + #t~post2;havoc #t~post2; {2884#(<= main_~x~0 3)} is VALID [2020-07-17 22:48:48,573 INFO L280 TraceCheckUtils]: 12: Hoare triple {2884#(<= main_~x~0 3)} assume !(~x~0 < 100000); {2877#false} is VALID [2020-07-17 22:48:48,573 INFO L280 TraceCheckUtils]: 13: Hoare triple {2877#false} ~x~0 := 0; {2877#false} is VALID [2020-07-17 22:48:48,573 INFO L280 TraceCheckUtils]: 14: Hoare triple {2877#false} assume !(~x~0 < ~n~0); {2877#false} is VALID [2020-07-17 22:48:48,573 INFO L280 TraceCheckUtils]: 15: Hoare triple {2877#false} call ~#values~0.base, ~#values~0.offset := #Ultimate.allocOnStack(400000);havoc ~v~0;~v~0 := 0; {2877#false} is VALID [2020-07-17 22:48:48,574 INFO L280 TraceCheckUtils]: 16: Hoare triple {2877#false} assume !!(~v~0 < 100000);assume -2147483648 <= #t~nondet9 && #t~nondet9 <= 2147483647;call write~int(#t~nondet9, ~#values~0.base, ~#values~0.offset + 4 * ~v~0, 4);havoc #t~nondet9; {2877#false} is VALID [2020-07-17 22:48:48,574 INFO L280 TraceCheckUtils]: 17: Hoare triple {2877#false} #t~post8 := ~v~0;~v~0 := 1 + #t~post8;havoc #t~post8; {2877#false} is VALID [2020-07-17 22:48:48,574 INFO L280 TraceCheckUtils]: 18: Hoare triple {2877#false} assume !(~v~0 < 100000); {2877#false} is VALID [2020-07-17 22:48:48,574 INFO L280 TraceCheckUtils]: 19: Hoare triple {2877#false} ~v~0 := 0; {2877#false} is VALID [2020-07-17 22:48:48,575 INFO L280 TraceCheckUtils]: 20: Hoare triple {2877#false} assume !!(~v~0 < 100000);call #t~mem11 := read~int(~#values~0.base, ~#values~0.offset + 4 * ~v~0, 4); {2877#false} is VALID [2020-07-17 22:48:48,575 INFO L263 TraceCheckUtils]: 21: Hoare triple {2877#false} call #t~ret12 := elem_exists(~#set~0.base, ~#set~0.offset, ~n~0, #t~mem11); {2876#true} is VALID [2020-07-17 22:48:48,575 INFO L280 TraceCheckUtils]: 22: Hoare triple {2876#true} ~set.base, ~set.offset := #in~set.base, #in~set.offset;~size := #in~size;~value := #in~value;havoc ~i~0;~i~0 := 0; {2876#true} is VALID [2020-07-17 22:48:48,575 INFO L280 TraceCheckUtils]: 23: Hoare triple {2876#true} assume !(~i~0 < ~size); {2876#true} is VALID [2020-07-17 22:48:48,576 INFO L280 TraceCheckUtils]: 24: Hoare triple {2876#true} #res := 0; {2876#true} is VALID [2020-07-17 22:48:48,576 INFO L280 TraceCheckUtils]: 25: Hoare triple {2876#true} assume true; {2876#true} is VALID [2020-07-17 22:48:48,576 INFO L275 TraceCheckUtils]: 26: Hoare quadruple {2876#true} {2877#false} #182#return; {2877#false} is VALID [2020-07-17 22:48:48,580 INFO L280 TraceCheckUtils]: 27: Hoare triple {2877#false} assume -2147483648 <= #t~ret12 && #t~ret12 <= 2147483647; {2877#false} is VALID [2020-07-17 22:48:48,581 INFO L280 TraceCheckUtils]: 28: Hoare triple {2877#false} assume 0 != #t~ret12;havoc #t~mem11;havoc #t~ret12;call #t~mem13 := read~int(~#values~0.base, ~#values~0.offset + 4 * ~v~0, 4); {2877#false} is VALID [2020-07-17 22:48:48,581 INFO L263 TraceCheckUtils]: 29: Hoare triple {2877#false} call #t~ret14 := insert(~#set~0.base, ~#set~0.offset, ~n~0, #t~mem13); {2894#(= |#memory_int| |old(#memory_int)|)} is VALID [2020-07-17 22:48:48,581 INFO L280 TraceCheckUtils]: 30: Hoare triple {2894#(= |#memory_int| |old(#memory_int)|)} ~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; {2876#true} is VALID [2020-07-17 22:48:48,581 INFO L280 TraceCheckUtils]: 31: Hoare triple {2876#true} assume true; {2876#true} is VALID [2020-07-17 22:48:48,582 INFO L275 TraceCheckUtils]: 32: Hoare quadruple {2876#true} {2877#false} #184#return; {2877#false} is VALID [2020-07-17 22:48:48,582 INFO L280 TraceCheckUtils]: 33: Hoare triple {2877#false} assume -2147483648 <= #t~ret14 && #t~ret14 <= 2147483647;~n~0 := #t~ret14;havoc #t~mem13;havoc #t~ret14; {2877#false} is VALID [2020-07-17 22:48:48,582 INFO L280 TraceCheckUtils]: 34: Hoare triple {2877#false} ~x~0 := 0; {2877#false} is VALID [2020-07-17 22:48:48,583 INFO L280 TraceCheckUtils]: 35: Hoare triple {2877#false} assume !!(~x~0 < ~n~0);~y~0 := 1 + ~x~0; {2877#false} is VALID [2020-07-17 22:48:48,584 INFO L280 TraceCheckUtils]: 36: Hoare triple {2877#false} assume !!(~y~0 < ~n~0);call #t~mem17 := read~int(~#set~0.base, ~#set~0.offset + 4 * ~x~0, 4);call #t~mem18 := read~int(~#set~0.base, ~#set~0.offset + 4 * ~y~0, 4); {2877#false} is VALID [2020-07-17 22:48:48,584 INFO L263 TraceCheckUtils]: 37: Hoare triple {2877#false} call __VERIFIER_assert((if #t~mem17 != #t~mem18 then 1 else 0)); {2877#false} is VALID [2020-07-17 22:48:48,584 INFO L280 TraceCheckUtils]: 38: Hoare triple {2877#false} ~cond := #in~cond; {2877#false} is VALID [2020-07-17 22:48:48,584 INFO L280 TraceCheckUtils]: 39: Hoare triple {2877#false} assume 0 == ~cond; {2877#false} is VALID [2020-07-17 22:48:48,585 INFO L280 TraceCheckUtils]: 40: Hoare triple {2877#false} assume !false; {2877#false} is VALID [2020-07-17 22:48:48,586 INFO L134 CoverageAnalysis]: Checked inductivity of 10 backedges. 0 proven. 9 refuted. 0 times theorem prover too weak. 1 trivial. 0 not checked. [2020-07-17 22:48:48,587 INFO L354 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleSmtInterpolCraig [823889020] [2020-07-17 22:48:48,588 INFO L354 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleZ3 [464165181] [2020-07-17 22:48:48,588 INFO L92 rtionOrderModulation]: Changing assertion order to OUTSIDE_LOOP_FIRST1 No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 Starting monitored process 6 with z3 -smt2 -in SMTLIB2_COMPLIANT=true (exit command is (exit), workingDir is null) Waiting until toolchain timeout for monitored process 6 with z3 -smt2 -in SMTLIB2_COMPLIANT=true [2020-07-17 22:48:48,640 INFO L249 tOrderPrioritization]: Assert order OUTSIDE_LOOP_FIRST1 issued 1 check-sat command(s) [2020-07-17 22:48:48,640 INFO L250 tOrderPrioritization]: Conjunction of SSA is unsat [2020-07-17 22:48:48,641 INFO L264 TraceCheckSpWp]: Trace formula consists of 138 conjuncts, 9 conjunts are in the unsatisfiable core [2020-07-17 22:48:48,655 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2020-07-17 22:48:48,657 INFO L287 TraceCheckSpWp]: Computing forward predicates... [2020-07-17 22:48:48,870 INFO L263 TraceCheckUtils]: 0: Hoare triple {2876#true} call ULTIMATE.init(); {2876#true} is VALID [2020-07-17 22:48:48,870 INFO L280 TraceCheckUtils]: 1: Hoare triple {2876#true} #NULL.base, #NULL.offset := 0, 0;#valid := #valid[0 := 0];assume 0 < #StackHeapBarrier; {2876#true} is VALID [2020-07-17 22:48:48,870 INFO L280 TraceCheckUtils]: 2: Hoare triple {2876#true} assume true; {2876#true} is VALID [2020-07-17 22:48:48,871 INFO L275 TraceCheckUtils]: 3: Hoare quadruple {2876#true} {2876#true} #176#return; {2876#true} is VALID [2020-07-17 22:48:48,871 INFO L263 TraceCheckUtils]: 4: Hoare triple {2876#true} call #t~ret23 := main(); {2876#true} is VALID [2020-07-17 22:48:48,872 INFO L280 TraceCheckUtils]: 5: Hoare triple {2876#true} ~n~0 := 0;call ~#set~0.base, ~#set~0.offset := #Ultimate.allocOnStack(400000);havoc ~x~0;havoc ~y~0;~x~0 := 0; {2913#(<= main_~n~0 0)} is VALID [2020-07-17 22:48:48,872 INFO L280 TraceCheckUtils]: 6: Hoare triple {2913#(<= main_~n~0 0)} assume !!(~x~0 < 100000);assume -2147483648 <= #t~nondet3 && #t~nondet3 <= 2147483647;call write~int(#t~nondet3, ~#set~0.base, ~#set~0.offset + 4 * ~x~0, 4);havoc #t~nondet3; {2913#(<= main_~n~0 0)} is VALID [2020-07-17 22:48:48,873 INFO L280 TraceCheckUtils]: 7: Hoare triple {2913#(<= main_~n~0 0)} #t~post2 := ~x~0;~x~0 := 1 + #t~post2;havoc #t~post2; {2913#(<= main_~n~0 0)} is VALID [2020-07-17 22:48:48,874 INFO L280 TraceCheckUtils]: 8: Hoare triple {2913#(<= main_~n~0 0)} assume !!(~x~0 < 100000);assume -2147483648 <= #t~nondet3 && #t~nondet3 <= 2147483647;call write~int(#t~nondet3, ~#set~0.base, ~#set~0.offset + 4 * ~x~0, 4);havoc #t~nondet3; {2913#(<= main_~n~0 0)} is VALID [2020-07-17 22:48:48,874 INFO L280 TraceCheckUtils]: 9: Hoare triple {2913#(<= main_~n~0 0)} #t~post2 := ~x~0;~x~0 := 1 + #t~post2;havoc #t~post2; {2913#(<= main_~n~0 0)} is VALID [2020-07-17 22:48:48,875 INFO L280 TraceCheckUtils]: 10: Hoare triple {2913#(<= main_~n~0 0)} assume !!(~x~0 < 100000);assume -2147483648 <= #t~nondet3 && #t~nondet3 <= 2147483647;call write~int(#t~nondet3, ~#set~0.base, ~#set~0.offset + 4 * ~x~0, 4);havoc #t~nondet3; {2913#(<= main_~n~0 0)} is VALID [2020-07-17 22:48:48,876 INFO L280 TraceCheckUtils]: 11: Hoare triple {2913#(<= main_~n~0 0)} #t~post2 := ~x~0;~x~0 := 1 + #t~post2;havoc #t~post2; {2913#(<= main_~n~0 0)} is VALID [2020-07-17 22:48:48,876 INFO L280 TraceCheckUtils]: 12: Hoare triple {2913#(<= main_~n~0 0)} assume !(~x~0 < 100000); {2913#(<= main_~n~0 0)} is VALID [2020-07-17 22:48:48,877 INFO L280 TraceCheckUtils]: 13: Hoare triple {2913#(<= main_~n~0 0)} ~x~0 := 0; {2913#(<= main_~n~0 0)} is VALID [2020-07-17 22:48:48,877 INFO L280 TraceCheckUtils]: 14: Hoare triple {2913#(<= main_~n~0 0)} assume !(~x~0 < ~n~0); {2913#(<= main_~n~0 0)} is VALID [2020-07-17 22:48:48,879 INFO L280 TraceCheckUtils]: 15: Hoare triple {2913#(<= main_~n~0 0)} call ~#values~0.base, ~#values~0.offset := #Ultimate.allocOnStack(400000);havoc ~v~0;~v~0 := 0; {2913#(<= main_~n~0 0)} is VALID [2020-07-17 22:48:48,880 INFO L280 TraceCheckUtils]: 16: Hoare triple {2913#(<= main_~n~0 0)} assume !!(~v~0 < 100000);assume -2147483648 <= #t~nondet9 && #t~nondet9 <= 2147483647;call write~int(#t~nondet9, ~#values~0.base, ~#values~0.offset + 4 * ~v~0, 4);havoc #t~nondet9; {2913#(<= main_~n~0 0)} is VALID [2020-07-17 22:48:48,880 INFO L280 TraceCheckUtils]: 17: Hoare triple {2913#(<= main_~n~0 0)} #t~post8 := ~v~0;~v~0 := 1 + #t~post8;havoc #t~post8; {2913#(<= main_~n~0 0)} is VALID [2020-07-17 22:48:48,881 INFO L280 TraceCheckUtils]: 18: Hoare triple {2913#(<= main_~n~0 0)} assume !(~v~0 < 100000); {2913#(<= main_~n~0 0)} is VALID [2020-07-17 22:48:48,881 INFO L280 TraceCheckUtils]: 19: Hoare triple {2913#(<= main_~n~0 0)} ~v~0 := 0; {2913#(<= main_~n~0 0)} is VALID [2020-07-17 22:48:48,882 INFO L280 TraceCheckUtils]: 20: Hoare triple {2913#(<= main_~n~0 0)} assume !!(~v~0 < 100000);call #t~mem11 := read~int(~#values~0.base, ~#values~0.offset + 4 * ~v~0, 4); {2913#(<= main_~n~0 0)} is VALID [2020-07-17 22:48:48,882 INFO L263 TraceCheckUtils]: 21: Hoare triple {2913#(<= main_~n~0 0)} call #t~ret12 := elem_exists(~#set~0.base, ~#set~0.offset, ~n~0, #t~mem11); {2876#true} is VALID [2020-07-17 22:48:48,882 INFO L280 TraceCheckUtils]: 22: Hoare triple {2876#true} ~set.base, ~set.offset := #in~set.base, #in~set.offset;~size := #in~size;~value := #in~value;havoc ~i~0;~i~0 := 0; {2876#true} is VALID [2020-07-17 22:48:48,883 INFO L280 TraceCheckUtils]: 23: Hoare triple {2876#true} assume !(~i~0 < ~size); {2876#true} is VALID [2020-07-17 22:48:48,883 INFO L280 TraceCheckUtils]: 24: Hoare triple {2876#true} #res := 0; {2876#true} is VALID [2020-07-17 22:48:48,883 INFO L280 TraceCheckUtils]: 25: Hoare triple {2876#true} assume true; {2876#true} is VALID [2020-07-17 22:48:48,884 INFO L275 TraceCheckUtils]: 26: Hoare quadruple {2876#true} {2913#(<= main_~n~0 0)} #182#return; {2913#(<= main_~n~0 0)} is VALID [2020-07-17 22:48:48,885 INFO L280 TraceCheckUtils]: 27: Hoare triple {2913#(<= main_~n~0 0)} assume -2147483648 <= #t~ret12 && #t~ret12 <= 2147483647; {2913#(<= main_~n~0 0)} is VALID [2020-07-17 22:48:48,886 INFO L280 TraceCheckUtils]: 28: Hoare triple {2913#(<= main_~n~0 0)} assume 0 != #t~ret12;havoc #t~mem11;havoc #t~ret12;call #t~mem13 := read~int(~#values~0.base, ~#values~0.offset + 4 * ~v~0, 4); {2913#(<= main_~n~0 0)} is VALID [2020-07-17 22:48:48,886 INFO L263 TraceCheckUtils]: 29: Hoare triple {2913#(<= main_~n~0 0)} call #t~ret14 := insert(~#set~0.base, ~#set~0.offset, ~n~0, #t~mem13); {2876#true} is VALID [2020-07-17 22:48:48,888 INFO L280 TraceCheckUtils]: 30: Hoare triple {2876#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; {2989#(<= |insert_#res| (+ |insert_#in~size| 1))} is VALID [2020-07-17 22:48:48,889 INFO L280 TraceCheckUtils]: 31: Hoare triple {2989#(<= |insert_#res| (+ |insert_#in~size| 1))} assume true; {2989#(<= |insert_#res| (+ |insert_#in~size| 1))} is VALID [2020-07-17 22:48:48,891 INFO L275 TraceCheckUtils]: 32: Hoare quadruple {2989#(<= |insert_#res| (+ |insert_#in~size| 1))} {2913#(<= main_~n~0 0)} #184#return; {2996#(<= |main_#t~ret14| 1)} is VALID [2020-07-17 22:48:48,892 INFO L280 TraceCheckUtils]: 33: Hoare triple {2996#(<= |main_#t~ret14| 1)} assume -2147483648 <= #t~ret14 && #t~ret14 <= 2147483647;~n~0 := #t~ret14;havoc #t~mem13;havoc #t~ret14; {3000#(<= main_~n~0 1)} is VALID [2020-07-17 22:48:48,892 INFO L280 TraceCheckUtils]: 34: Hoare triple {3000#(<= main_~n~0 1)} ~x~0 := 0; {3004#(and (<= 0 main_~x~0) (<= main_~n~0 1))} is VALID [2020-07-17 22:48:48,893 INFO L280 TraceCheckUtils]: 35: Hoare triple {3004#(and (<= 0 main_~x~0) (<= main_~n~0 1))} assume !!(~x~0 < ~n~0);~y~0 := 1 + ~x~0; {3008#(and (<= 1 main_~y~0) (<= main_~n~0 1))} is VALID [2020-07-17 22:48:48,895 INFO L280 TraceCheckUtils]: 36: Hoare triple {3008#(and (<= 1 main_~y~0) (<= main_~n~0 1))} assume !!(~y~0 < ~n~0);call #t~mem17 := read~int(~#set~0.base, ~#set~0.offset + 4 * ~x~0, 4);call #t~mem18 := read~int(~#set~0.base, ~#set~0.offset + 4 * ~y~0, 4); {2877#false} is VALID [2020-07-17 22:48:48,895 INFO L263 TraceCheckUtils]: 37: Hoare triple {2877#false} call __VERIFIER_assert((if #t~mem17 != #t~mem18 then 1 else 0)); {2877#false} is VALID [2020-07-17 22:48:48,895 INFO L280 TraceCheckUtils]: 38: Hoare triple {2877#false} ~cond := #in~cond; {2877#false} is VALID [2020-07-17 22:48:48,895 INFO L280 TraceCheckUtils]: 39: Hoare triple {2877#false} assume 0 == ~cond; {2877#false} is VALID [2020-07-17 22:48:48,896 INFO L280 TraceCheckUtils]: 40: Hoare triple {2877#false} assume !false; {2877#false} is VALID [2020-07-17 22:48:48,900 INFO L134 CoverageAnalysis]: Checked inductivity of 10 backedges. 0 proven. 0 refuted. 0 times theorem prover too weak. 10 trivial. 0 not checked. [2020-07-17 22:48:48,900 INFO L220 FreeRefinementEngine]: Constructing automaton from 1 perfect and 1 imperfect interpolant sequences. [2020-07-17 22:48:48,900 INFO L233 FreeRefinementEngine]: Number of different interpolants: perfect sequences [8] imperfect sequences [8] total 14 [2020-07-17 22:48:48,901 INFO L156 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [397557563] [2020-07-17 22:48:48,901 INFO L78 Accepts]: Start accepts. Automaton has 8 states. Word has length 41 [2020-07-17 22:48:48,902 INFO L84 Accepts]: Finished accepts. word is accepted. [2020-07-17 22:48:48,902 INFO L86 InductivityCheck]: Starting indutivity check of a Floyd-Hoare automaton with 8 states. [2020-07-17 22:48:48,948 INFO L119 InductivityCheck]: Floyd-Hoare automaton has 37 edges. 37 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2020-07-17 22:48:48,949 INFO L459 AbstractCegarLoop]: Interpolant automaton has 8 states [2020-07-17 22:48:48,949 INFO L143 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy CAMEL [2020-07-17 22:48:48,949 INFO L142 InterpolantAutomaton]: Constructing interpolant automaton starting with 8 interpolants. [2020-07-17 22:48:48,950 INFO L144 InterpolantAutomaton]: CoverageRelationStatistics Valid=34, Invalid=148, Unknown=0, NotChecked=0, Total=182 [2020-07-17 22:48:48,950 INFO L87 Difference]: Start difference. First operand 64 states and 76 transitions. Second operand 8 states. [2020-07-17 22:48:49,651 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2020-07-17 22:48:49,652 INFO L93 Difference]: Finished difference Result 129 states and 162 transitions. [2020-07-17 22:48:49,652 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 7 states. [2020-07-17 22:48:49,653 INFO L78 Accepts]: Start accepts. Automaton has 8 states. Word has length 41 [2020-07-17 22:48:49,653 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2020-07-17 22:48:49,653 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 8 states. [2020-07-17 22:48:49,659 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 7 states to 7 states and 156 transitions. [2020-07-17 22:48:49,659 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 8 states. [2020-07-17 22:48:49,664 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 7 states to 7 states and 156 transitions. [2020-07-17 22:48:49,664 INFO L86 InductivityCheck]: Starting indutivity check of a Floyd-Hoare automaton with 7 states and 156 transitions. [2020-07-17 22:48:49,861 INFO L119 InductivityCheck]: Floyd-Hoare automaton has 156 edges. 156 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2020-07-17 22:48:49,864 INFO L225 Difference]: With dead ends: 129 [2020-07-17 22:48:49,864 INFO L226 Difference]: Without dead ends: 86 [2020-07-17 22:48:49,865 INFO L675 BasicCegarLoop]: 0 DeclaredPredicates, 55 GetRequests, 40 SyntacticMatches, 0 SemanticMatches, 15 ConstructedPredicates, 0 IntricatePredicates, 0 DeprecatedPredicates, 28 ImplicationChecksByTransitivity, 0.1s TimeCoverageRelationStatistics Valid=51, Invalid=221, Unknown=0, NotChecked=0, Total=272 [2020-07-17 22:48:49,866 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 86 states. [2020-07-17 22:48:49,923 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 86 to 75. [2020-07-17 22:48:49,923 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2020-07-17 22:48:49,923 INFO L82 GeneralOperation]: Start isEquivalent. First operand 86 states. Second operand 75 states. [2020-07-17 22:48:49,923 INFO L74 IsIncluded]: Start isIncluded. First operand 86 states. Second operand 75 states. [2020-07-17 22:48:49,924 INFO L87 Difference]: Start difference. First operand 86 states. Second operand 75 states. [2020-07-17 22:48:49,929 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2020-07-17 22:48:49,929 INFO L93 Difference]: Finished difference Result 86 states and 107 transitions. [2020-07-17 22:48:49,929 INFO L276 IsEmpty]: Start isEmpty. Operand 86 states and 107 transitions. [2020-07-17 22:48:49,930 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2020-07-17 22:48:49,930 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2020-07-17 22:48:49,930 INFO L74 IsIncluded]: Start isIncluded. First operand 75 states. Second operand 86 states. [2020-07-17 22:48:49,930 INFO L87 Difference]: Start difference. First operand 75 states. Second operand 86 states. [2020-07-17 22:48:49,934 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2020-07-17 22:48:49,935 INFO L93 Difference]: Finished difference Result 86 states and 107 transitions. [2020-07-17 22:48:49,935 INFO L276 IsEmpty]: Start isEmpty. Operand 86 states and 107 transitions. [2020-07-17 22:48:49,936 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2020-07-17 22:48:49,936 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2020-07-17 22:48:49,936 INFO L88 GeneralOperation]: Finished isEquivalent. [2020-07-17 22:48:49,936 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2020-07-17 22:48:49,936 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 75 states. [2020-07-17 22:48:49,939 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 75 states to 75 states and 91 transitions. [2020-07-17 22:48:49,940 INFO L78 Accepts]: Start accepts. Automaton has 75 states and 91 transitions. Word has length 41 [2020-07-17 22:48:49,940 INFO L84 Accepts]: Finished accepts. word is rejected. [2020-07-17 22:48:49,940 INFO L479 AbstractCegarLoop]: Abstraction has 75 states and 91 transitions. [2020-07-17 22:48:49,940 INFO L480 AbstractCegarLoop]: Interpolant automaton has 8 states. [2020-07-17 22:48:49,940 INFO L276 IsEmpty]: Start isEmpty. Operand 75 states and 91 transitions. [2020-07-17 22:48:49,942 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 59 [2020-07-17 22:48:49,942 INFO L414 BasicCegarLoop]: Found error trace [2020-07-17 22:48:49,942 INFO L422 BasicCegarLoop]: trace histogram [3, 3, 2, 2, 2, 2, 2, 2, 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] [2020-07-17 22:48:50,156 WARN L516 AbstractCegarLoop]: Destroyed unattended storables created during the last iteration: 6 z3 -smt2 -in SMTLIB2_COMPLIANT=true,SelfDestructingSolverStorable5 [2020-07-17 22:48:50,157 INFO L427 AbstractCegarLoop]: === Iteration 7 === [__VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION]=== [2020-07-17 22:48:50,158 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2020-07-17 22:48:50,158 INFO L82 PathProgramCache]: Analyzing trace with hash -665199112, now seen corresponding path program 1 times [2020-07-17 22:48:50,159 INFO L163 FreeRefinementEngine]: Executing refinement strategy CAMEL [2020-07-17 22:48:50,159 INFO L354 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [944220811] [2020-07-17 22:48:50,159 INFO L94 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2020-07-17 22:48:50,179 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2020-07-17 22:48:50,245 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2020-07-17 22:48:50,258 INFO L280 TraceCheckUtils]: 0: Hoare triple {3515#(and (= |#valid| |old(#valid)|) (= |#NULL.base| |old(#NULL.base)|) (= |#NULL.offset| |old(#NULL.offset)|))} #NULL.base, #NULL.offset := 0, 0;#valid := #valid[0 := 0];assume 0 < #StackHeapBarrier; {3490#true} is VALID [2020-07-17 22:48:50,258 INFO L280 TraceCheckUtils]: 1: Hoare triple {3490#true} assume true; {3490#true} is VALID [2020-07-17 22:48:50,258 INFO L275 TraceCheckUtils]: 2: Hoare quadruple {3490#true} {3490#true} #176#return; {3490#true} is VALID [2020-07-17 22:48:50,260 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2020-07-17 22:48:50,270 INFO L280 TraceCheckUtils]: 0: Hoare triple {3490#true} ~set.base, ~set.offset := #in~set.base, #in~set.offset;~size := #in~size;~value := #in~value;havoc ~i~0;~i~0 := 0; {3490#true} is VALID [2020-07-17 22:48:50,270 INFO L280 TraceCheckUtils]: 1: Hoare triple {3490#true} assume !(~i~0 < ~size); {3490#true} is VALID [2020-07-17 22:48:50,270 INFO L280 TraceCheckUtils]: 2: Hoare triple {3490#true} #res := 0; {3490#true} is VALID [2020-07-17 22:48:50,271 INFO L280 TraceCheckUtils]: 3: Hoare triple {3490#true} assume true; {3490#true} is VALID [2020-07-17 22:48:50,271 INFO L275 TraceCheckUtils]: 4: Hoare quadruple {3490#true} {3491#false} #182#return; {3491#false} is VALID [2020-07-17 22:48:50,281 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2020-07-17 22:48:50,291 INFO L280 TraceCheckUtils]: 0: Hoare triple {3516#(= |#memory_int| |old(#memory_int)|)} ~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; {3490#true} is VALID [2020-07-17 22:48:50,291 INFO L280 TraceCheckUtils]: 1: Hoare triple {3490#true} assume true; {3490#true} is VALID [2020-07-17 22:48:50,291 INFO L275 TraceCheckUtils]: 2: Hoare quadruple {3490#true} {3491#false} #184#return; {3491#false} is VALID [2020-07-17 22:48:50,293 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2020-07-17 22:48:50,299 INFO L280 TraceCheckUtils]: 0: Hoare triple {3490#true} ~set.base, ~set.offset := #in~set.base, #in~set.offset;~size := #in~size;~value := #in~value;havoc ~i~0;~i~0 := 0; {3490#true} is VALID [2020-07-17 22:48:50,300 INFO L280 TraceCheckUtils]: 1: Hoare triple {3490#true} assume !(~i~0 < ~size); {3490#true} is VALID [2020-07-17 22:48:50,300 INFO L280 TraceCheckUtils]: 2: Hoare triple {3490#true} #res := 0; {3490#true} is VALID [2020-07-17 22:48:50,300 INFO L280 TraceCheckUtils]: 3: Hoare triple {3490#true} assume true; {3490#true} is VALID [2020-07-17 22:48:50,300 INFO L275 TraceCheckUtils]: 4: Hoare quadruple {3490#true} {3491#false} #182#return; {3491#false} is VALID [2020-07-17 22:48:50,304 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2020-07-17 22:48:50,324 INFO L280 TraceCheckUtils]: 0: Hoare triple {3516#(= |#memory_int| |old(#memory_int)|)} ~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; {3490#true} is VALID [2020-07-17 22:48:50,324 INFO L280 TraceCheckUtils]: 1: Hoare triple {3490#true} assume true; {3490#true} is VALID [2020-07-17 22:48:50,324 INFO L275 TraceCheckUtils]: 2: Hoare quadruple {3490#true} {3491#false} #184#return; {3491#false} is VALID [2020-07-17 22:48:50,325 INFO L263 TraceCheckUtils]: 0: Hoare triple {3490#true} call ULTIMATE.init(); {3515#(and (= |#valid| |old(#valid)|) (= |#NULL.base| |old(#NULL.base)|) (= |#NULL.offset| |old(#NULL.offset)|))} is VALID [2020-07-17 22:48:50,325 INFO L280 TraceCheckUtils]: 1: Hoare triple {3515#(and (= |#valid| |old(#valid)|) (= |#NULL.base| |old(#NULL.base)|) (= |#NULL.offset| |old(#NULL.offset)|))} #NULL.base, #NULL.offset := 0, 0;#valid := #valid[0 := 0];assume 0 < #StackHeapBarrier; {3490#true} is VALID [2020-07-17 22:48:50,325 INFO L280 TraceCheckUtils]: 2: Hoare triple {3490#true} assume true; {3490#true} is VALID [2020-07-17 22:48:50,326 INFO L275 TraceCheckUtils]: 3: Hoare quadruple {3490#true} {3490#true} #176#return; {3490#true} is VALID [2020-07-17 22:48:50,326 INFO L263 TraceCheckUtils]: 4: Hoare triple {3490#true} call #t~ret23 := main(); {3490#true} is VALID [2020-07-17 22:48:50,329 INFO L280 TraceCheckUtils]: 5: Hoare triple {3490#true} ~n~0 := 0;call ~#set~0.base, ~#set~0.offset := #Ultimate.allocOnStack(400000);havoc ~x~0;havoc ~y~0;~x~0 := 0; {3495#(= 0 main_~x~0)} is VALID [2020-07-17 22:48:50,330 INFO L280 TraceCheckUtils]: 6: Hoare triple {3495#(= 0 main_~x~0)} assume !!(~x~0 < 100000);assume -2147483648 <= #t~nondet3 && #t~nondet3 <= 2147483647;call write~int(#t~nondet3, ~#set~0.base, ~#set~0.offset + 4 * ~x~0, 4);havoc #t~nondet3; {3495#(= 0 main_~x~0)} is VALID [2020-07-17 22:48:50,332 INFO L280 TraceCheckUtils]: 7: Hoare triple {3495#(= 0 main_~x~0)} #t~post2 := ~x~0;~x~0 := 1 + #t~post2;havoc #t~post2; {3496#(<= main_~x~0 1)} is VALID [2020-07-17 22:48:50,332 INFO L280 TraceCheckUtils]: 8: Hoare triple {3496#(<= main_~x~0 1)} assume !!(~x~0 < 100000);assume -2147483648 <= #t~nondet3 && #t~nondet3 <= 2147483647;call write~int(#t~nondet3, ~#set~0.base, ~#set~0.offset + 4 * ~x~0, 4);havoc #t~nondet3; {3496#(<= main_~x~0 1)} is VALID [2020-07-17 22:48:50,333 INFO L280 TraceCheckUtils]: 9: Hoare triple {3496#(<= main_~x~0 1)} #t~post2 := ~x~0;~x~0 := 1 + #t~post2;havoc #t~post2; {3497#(<= main_~x~0 2)} is VALID [2020-07-17 22:48:50,334 INFO L280 TraceCheckUtils]: 10: Hoare triple {3497#(<= main_~x~0 2)} assume !!(~x~0 < 100000);assume -2147483648 <= #t~nondet3 && #t~nondet3 <= 2147483647;call write~int(#t~nondet3, ~#set~0.base, ~#set~0.offset + 4 * ~x~0, 4);havoc #t~nondet3; {3497#(<= main_~x~0 2)} is VALID [2020-07-17 22:48:50,335 INFO L280 TraceCheckUtils]: 11: Hoare triple {3497#(<= main_~x~0 2)} #t~post2 := ~x~0;~x~0 := 1 + #t~post2;havoc #t~post2; {3498#(<= main_~x~0 3)} is VALID [2020-07-17 22:48:50,336 INFO L280 TraceCheckUtils]: 12: Hoare triple {3498#(<= main_~x~0 3)} assume !(~x~0 < 100000); {3491#false} is VALID [2020-07-17 22:48:50,336 INFO L280 TraceCheckUtils]: 13: Hoare triple {3491#false} ~x~0 := 0; {3491#false} is VALID [2020-07-17 22:48:50,336 INFO L280 TraceCheckUtils]: 14: Hoare triple {3491#false} assume !(~x~0 < ~n~0); {3491#false} is VALID [2020-07-17 22:48:50,336 INFO L280 TraceCheckUtils]: 15: Hoare triple {3491#false} call ~#values~0.base, ~#values~0.offset := #Ultimate.allocOnStack(400000);havoc ~v~0;~v~0 := 0; {3491#false} is VALID [2020-07-17 22:48:50,337 INFO L280 TraceCheckUtils]: 16: Hoare triple {3491#false} assume !!(~v~0 < 100000);assume -2147483648 <= #t~nondet9 && #t~nondet9 <= 2147483647;call write~int(#t~nondet9, ~#values~0.base, ~#values~0.offset + 4 * ~v~0, 4);havoc #t~nondet9; {3491#false} is VALID [2020-07-17 22:48:50,337 INFO L280 TraceCheckUtils]: 17: Hoare triple {3491#false} #t~post8 := ~v~0;~v~0 := 1 + #t~post8;havoc #t~post8; {3491#false} is VALID [2020-07-17 22:48:50,337 INFO L280 TraceCheckUtils]: 18: Hoare triple {3491#false} assume !(~v~0 < 100000); {3491#false} is VALID [2020-07-17 22:48:50,337 INFO L280 TraceCheckUtils]: 19: Hoare triple {3491#false} ~v~0 := 0; {3491#false} is VALID [2020-07-17 22:48:50,338 INFO L280 TraceCheckUtils]: 20: Hoare triple {3491#false} assume !!(~v~0 < 100000);call #t~mem11 := read~int(~#values~0.base, ~#values~0.offset + 4 * ~v~0, 4); {3491#false} is VALID [2020-07-17 22:48:50,338 INFO L263 TraceCheckUtils]: 21: Hoare triple {3491#false} call #t~ret12 := elem_exists(~#set~0.base, ~#set~0.offset, ~n~0, #t~mem11); {3490#true} is VALID [2020-07-17 22:48:50,338 INFO L280 TraceCheckUtils]: 22: Hoare triple {3490#true} ~set.base, ~set.offset := #in~set.base, #in~set.offset;~size := #in~size;~value := #in~value;havoc ~i~0;~i~0 := 0; {3490#true} is VALID [2020-07-17 22:48:50,338 INFO L280 TraceCheckUtils]: 23: Hoare triple {3490#true} assume !(~i~0 < ~size); {3490#true} is VALID [2020-07-17 22:48:50,339 INFO L280 TraceCheckUtils]: 24: Hoare triple {3490#true} #res := 0; {3490#true} is VALID [2020-07-17 22:48:50,339 INFO L280 TraceCheckUtils]: 25: Hoare triple {3490#true} assume true; {3490#true} is VALID [2020-07-17 22:48:50,339 INFO L275 TraceCheckUtils]: 26: Hoare quadruple {3490#true} {3491#false} #182#return; {3491#false} is VALID [2020-07-17 22:48:50,339 INFO L280 TraceCheckUtils]: 27: Hoare triple {3491#false} assume -2147483648 <= #t~ret12 && #t~ret12 <= 2147483647; {3491#false} is VALID [2020-07-17 22:48:50,339 INFO L280 TraceCheckUtils]: 28: Hoare triple {3491#false} assume 0 != #t~ret12;havoc #t~mem11;havoc #t~ret12;call #t~mem13 := read~int(~#values~0.base, ~#values~0.offset + 4 * ~v~0, 4); {3491#false} is VALID [2020-07-17 22:48:50,340 INFO L263 TraceCheckUtils]: 29: Hoare triple {3491#false} call #t~ret14 := insert(~#set~0.base, ~#set~0.offset, ~n~0, #t~mem13); {3516#(= |#memory_int| |old(#memory_int)|)} is VALID [2020-07-17 22:48:50,340 INFO L280 TraceCheckUtils]: 30: Hoare triple {3516#(= |#memory_int| |old(#memory_int)|)} ~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; {3490#true} is VALID [2020-07-17 22:48:50,340 INFO L280 TraceCheckUtils]: 31: Hoare triple {3490#true} assume true; {3490#true} is VALID [2020-07-17 22:48:50,340 INFO L275 TraceCheckUtils]: 32: Hoare quadruple {3490#true} {3491#false} #184#return; {3491#false} is VALID [2020-07-17 22:48:50,340 INFO L280 TraceCheckUtils]: 33: Hoare triple {3491#false} assume -2147483648 <= #t~ret14 && #t~ret14 <= 2147483647;~n~0 := #t~ret14;havoc #t~mem13;havoc #t~ret14; {3491#false} is VALID [2020-07-17 22:48:50,341 INFO L280 TraceCheckUtils]: 34: Hoare triple {3491#false} ~x~0 := 0; {3491#false} is VALID [2020-07-17 22:48:50,341 INFO L280 TraceCheckUtils]: 35: Hoare triple {3491#false} assume !(~x~0 < ~n~0); {3491#false} is VALID [2020-07-17 22:48:50,341 INFO L280 TraceCheckUtils]: 36: Hoare triple {3491#false} #t~post10 := ~v~0;~v~0 := 1 + #t~post10;havoc #t~post10; {3491#false} is VALID [2020-07-17 22:48:50,341 INFO L280 TraceCheckUtils]: 37: Hoare triple {3491#false} assume !!(~v~0 < 100000);call #t~mem11 := read~int(~#values~0.base, ~#values~0.offset + 4 * ~v~0, 4); {3491#false} is VALID [2020-07-17 22:48:50,342 INFO L263 TraceCheckUtils]: 38: Hoare triple {3491#false} call #t~ret12 := elem_exists(~#set~0.base, ~#set~0.offset, ~n~0, #t~mem11); {3490#true} is VALID [2020-07-17 22:48:50,342 INFO L280 TraceCheckUtils]: 39: Hoare triple {3490#true} ~set.base, ~set.offset := #in~set.base, #in~set.offset;~size := #in~size;~value := #in~value;havoc ~i~0;~i~0 := 0; {3490#true} is VALID [2020-07-17 22:48:50,342 INFO L280 TraceCheckUtils]: 40: Hoare triple {3490#true} assume !(~i~0 < ~size); {3490#true} is VALID [2020-07-17 22:48:50,342 INFO L280 TraceCheckUtils]: 41: Hoare triple {3490#true} #res := 0; {3490#true} is VALID [2020-07-17 22:48:50,342 INFO L280 TraceCheckUtils]: 42: Hoare triple {3490#true} assume true; {3490#true} is VALID [2020-07-17 22:48:50,343 INFO L275 TraceCheckUtils]: 43: Hoare quadruple {3490#true} {3491#false} #182#return; {3491#false} is VALID [2020-07-17 22:48:50,343 INFO L280 TraceCheckUtils]: 44: Hoare triple {3491#false} assume -2147483648 <= #t~ret12 && #t~ret12 <= 2147483647; {3491#false} is VALID [2020-07-17 22:48:50,343 INFO L280 TraceCheckUtils]: 45: Hoare triple {3491#false} assume 0 != #t~ret12;havoc #t~mem11;havoc #t~ret12;call #t~mem13 := read~int(~#values~0.base, ~#values~0.offset + 4 * ~v~0, 4); {3491#false} is VALID [2020-07-17 22:48:50,343 INFO L263 TraceCheckUtils]: 46: Hoare triple {3491#false} call #t~ret14 := insert(~#set~0.base, ~#set~0.offset, ~n~0, #t~mem13); {3516#(= |#memory_int| |old(#memory_int)|)} is VALID [2020-07-17 22:48:50,344 INFO L280 TraceCheckUtils]: 47: Hoare triple {3516#(= |#memory_int| |old(#memory_int)|)} ~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; {3490#true} is VALID [2020-07-17 22:48:50,344 INFO L280 TraceCheckUtils]: 48: Hoare triple {3490#true} assume true; {3490#true} is VALID [2020-07-17 22:48:50,344 INFO L275 TraceCheckUtils]: 49: Hoare quadruple {3490#true} {3491#false} #184#return; {3491#false} is VALID [2020-07-17 22:48:50,344 INFO L280 TraceCheckUtils]: 50: Hoare triple {3491#false} assume -2147483648 <= #t~ret14 && #t~ret14 <= 2147483647;~n~0 := #t~ret14;havoc #t~mem13;havoc #t~ret14; {3491#false} is VALID [2020-07-17 22:48:50,344 INFO L280 TraceCheckUtils]: 51: Hoare triple {3491#false} ~x~0 := 0; {3491#false} is VALID [2020-07-17 22:48:50,345 INFO L280 TraceCheckUtils]: 52: Hoare triple {3491#false} assume !!(~x~0 < ~n~0);~y~0 := 1 + ~x~0; {3491#false} is VALID [2020-07-17 22:48:50,345 INFO L280 TraceCheckUtils]: 53: Hoare triple {3491#false} assume !!(~y~0 < ~n~0);call #t~mem17 := read~int(~#set~0.base, ~#set~0.offset + 4 * ~x~0, 4);call #t~mem18 := read~int(~#set~0.base, ~#set~0.offset + 4 * ~y~0, 4); {3491#false} is VALID [2020-07-17 22:48:50,345 INFO L263 TraceCheckUtils]: 54: Hoare triple {3491#false} call __VERIFIER_assert((if #t~mem17 != #t~mem18 then 1 else 0)); {3491#false} is VALID [2020-07-17 22:48:50,345 INFO L280 TraceCheckUtils]: 55: Hoare triple {3491#false} ~cond := #in~cond; {3491#false} is VALID [2020-07-17 22:48:50,346 INFO L280 TraceCheckUtils]: 56: Hoare triple {3491#false} assume 0 == ~cond; {3491#false} is VALID [2020-07-17 22:48:50,346 INFO L280 TraceCheckUtils]: 57: Hoare triple {3491#false} assume !false; {3491#false} is VALID [2020-07-17 22:48:50,349 INFO L134 CoverageAnalysis]: Checked inductivity of 26 backedges. 0 proven. 9 refuted. 0 times theorem prover too weak. 17 trivial. 0 not checked. [2020-07-17 22:48:50,349 INFO L354 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleSmtInterpolCraig [944220811] [2020-07-17 22:48:50,349 INFO L354 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleZ3 [1475423664] [2020-07-17 22:48:50,350 INFO L94 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 Starting monitored process 7 with z3 -smt2 -in SMTLIB2_COMPLIANT=true (exit command is (exit), workingDir is null) Waiting until toolchain timeout for monitored process 7 with z3 -smt2 -in SMTLIB2_COMPLIANT=true [2020-07-17 22:48:50,422 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2020-07-17 22:48:50,423 INFO L264 TraceCheckSpWp]: Trace formula consists of 229 conjuncts, 5 conjunts are in the unsatisfiable core [2020-07-17 22:48:50,437 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2020-07-17 22:48:50,439 INFO L287 TraceCheckSpWp]: Computing forward predicates... [2020-07-17 22:48:50,533 INFO L263 TraceCheckUtils]: 0: Hoare triple {3490#true} call ULTIMATE.init(); {3490#true} is VALID [2020-07-17 22:48:50,534 INFO L280 TraceCheckUtils]: 1: Hoare triple {3490#true} #NULL.base, #NULL.offset := 0, 0;#valid := #valid[0 := 0];assume 0 < #StackHeapBarrier; {3490#true} is VALID [2020-07-17 22:48:50,534 INFO L280 TraceCheckUtils]: 2: Hoare triple {3490#true} assume true; {3490#true} is VALID [2020-07-17 22:48:50,535 INFO L275 TraceCheckUtils]: 3: Hoare quadruple {3490#true} {3490#true} #176#return; {3490#true} is VALID [2020-07-17 22:48:50,535 INFO L263 TraceCheckUtils]: 4: Hoare triple {3490#true} call #t~ret23 := main(); {3490#true} is VALID [2020-07-17 22:48:50,536 INFO L280 TraceCheckUtils]: 5: Hoare triple {3490#true} ~n~0 := 0;call ~#set~0.base, ~#set~0.offset := #Ultimate.allocOnStack(400000);havoc ~x~0;havoc ~y~0;~x~0 := 0; {3535#(<= main_~x~0 0)} is VALID [2020-07-17 22:48:50,537 INFO L280 TraceCheckUtils]: 6: Hoare triple {3535#(<= main_~x~0 0)} assume !!(~x~0 < 100000);assume -2147483648 <= #t~nondet3 && #t~nondet3 <= 2147483647;call write~int(#t~nondet3, ~#set~0.base, ~#set~0.offset + 4 * ~x~0, 4);havoc #t~nondet3; {3535#(<= main_~x~0 0)} is VALID [2020-07-17 22:48:50,537 INFO L280 TraceCheckUtils]: 7: Hoare triple {3535#(<= main_~x~0 0)} #t~post2 := ~x~0;~x~0 := 1 + #t~post2;havoc #t~post2; {3496#(<= main_~x~0 1)} is VALID [2020-07-17 22:48:50,538 INFO L280 TraceCheckUtils]: 8: Hoare triple {3496#(<= main_~x~0 1)} assume !!(~x~0 < 100000);assume -2147483648 <= #t~nondet3 && #t~nondet3 <= 2147483647;call write~int(#t~nondet3, ~#set~0.base, ~#set~0.offset + 4 * ~x~0, 4);havoc #t~nondet3; {3496#(<= main_~x~0 1)} is VALID [2020-07-17 22:48:50,538 INFO L280 TraceCheckUtils]: 9: Hoare triple {3496#(<= main_~x~0 1)} #t~post2 := ~x~0;~x~0 := 1 + #t~post2;havoc #t~post2; {3497#(<= main_~x~0 2)} is VALID [2020-07-17 22:48:50,539 INFO L280 TraceCheckUtils]: 10: Hoare triple {3497#(<= main_~x~0 2)} assume !!(~x~0 < 100000);assume -2147483648 <= #t~nondet3 && #t~nondet3 <= 2147483647;call write~int(#t~nondet3, ~#set~0.base, ~#set~0.offset + 4 * ~x~0, 4);havoc #t~nondet3; {3497#(<= main_~x~0 2)} is VALID [2020-07-17 22:48:50,539 INFO L280 TraceCheckUtils]: 11: Hoare triple {3497#(<= main_~x~0 2)} #t~post2 := ~x~0;~x~0 := 1 + #t~post2;havoc #t~post2; {3498#(<= main_~x~0 3)} is VALID [2020-07-17 22:48:50,540 INFO L280 TraceCheckUtils]: 12: Hoare triple {3498#(<= main_~x~0 3)} assume !(~x~0 < 100000); {3491#false} is VALID [2020-07-17 22:48:50,540 INFO L280 TraceCheckUtils]: 13: Hoare triple {3491#false} ~x~0 := 0; {3491#false} is VALID [2020-07-17 22:48:50,540 INFO L280 TraceCheckUtils]: 14: Hoare triple {3491#false} assume !(~x~0 < ~n~0); {3491#false} is VALID [2020-07-17 22:48:50,540 INFO L280 TraceCheckUtils]: 15: Hoare triple {3491#false} call ~#values~0.base, ~#values~0.offset := #Ultimate.allocOnStack(400000);havoc ~v~0;~v~0 := 0; {3491#false} is VALID [2020-07-17 22:48:50,541 INFO L280 TraceCheckUtils]: 16: Hoare triple {3491#false} assume !!(~v~0 < 100000);assume -2147483648 <= #t~nondet9 && #t~nondet9 <= 2147483647;call write~int(#t~nondet9, ~#values~0.base, ~#values~0.offset + 4 * ~v~0, 4);havoc #t~nondet9; {3491#false} is VALID [2020-07-17 22:48:50,541 INFO L280 TraceCheckUtils]: 17: Hoare triple {3491#false} #t~post8 := ~v~0;~v~0 := 1 + #t~post8;havoc #t~post8; {3491#false} is VALID [2020-07-17 22:48:50,541 INFO L280 TraceCheckUtils]: 18: Hoare triple {3491#false} assume !(~v~0 < 100000); {3491#false} is VALID [2020-07-17 22:48:50,541 INFO L280 TraceCheckUtils]: 19: Hoare triple {3491#false} ~v~0 := 0; {3491#false} is VALID [2020-07-17 22:48:50,541 INFO L280 TraceCheckUtils]: 20: Hoare triple {3491#false} assume !!(~v~0 < 100000);call #t~mem11 := read~int(~#values~0.base, ~#values~0.offset + 4 * ~v~0, 4); {3491#false} is VALID [2020-07-17 22:48:50,542 INFO L263 TraceCheckUtils]: 21: Hoare triple {3491#false} call #t~ret12 := elem_exists(~#set~0.base, ~#set~0.offset, ~n~0, #t~mem11); {3491#false} is VALID [2020-07-17 22:48:50,542 INFO L280 TraceCheckUtils]: 22: Hoare triple {3491#false} ~set.base, ~set.offset := #in~set.base, #in~set.offset;~size := #in~size;~value := #in~value;havoc ~i~0;~i~0 := 0; {3491#false} is VALID [2020-07-17 22:48:50,542 INFO L280 TraceCheckUtils]: 23: Hoare triple {3491#false} assume !(~i~0 < ~size); {3491#false} is VALID [2020-07-17 22:48:50,542 INFO L280 TraceCheckUtils]: 24: Hoare triple {3491#false} #res := 0; {3491#false} is VALID [2020-07-17 22:48:50,543 INFO L280 TraceCheckUtils]: 25: Hoare triple {3491#false} assume true; {3491#false} is VALID [2020-07-17 22:48:50,543 INFO L275 TraceCheckUtils]: 26: Hoare quadruple {3491#false} {3491#false} #182#return; {3491#false} is VALID [2020-07-17 22:48:50,543 INFO L280 TraceCheckUtils]: 27: Hoare triple {3491#false} assume -2147483648 <= #t~ret12 && #t~ret12 <= 2147483647; {3491#false} is VALID [2020-07-17 22:48:50,543 INFO L280 TraceCheckUtils]: 28: Hoare triple {3491#false} assume 0 != #t~ret12;havoc #t~mem11;havoc #t~ret12;call #t~mem13 := read~int(~#values~0.base, ~#values~0.offset + 4 * ~v~0, 4); {3491#false} is VALID [2020-07-17 22:48:50,543 INFO L263 TraceCheckUtils]: 29: Hoare triple {3491#false} call #t~ret14 := insert(~#set~0.base, ~#set~0.offset, ~n~0, #t~mem13); {3491#false} is VALID [2020-07-17 22:48:50,544 INFO L280 TraceCheckUtils]: 30: Hoare triple {3491#false} ~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; {3491#false} is VALID [2020-07-17 22:48:50,544 INFO L280 TraceCheckUtils]: 31: Hoare triple {3491#false} assume true; {3491#false} is VALID [2020-07-17 22:48:50,544 INFO L275 TraceCheckUtils]: 32: Hoare quadruple {3491#false} {3491#false} #184#return; {3491#false} is VALID [2020-07-17 22:48:50,544 INFO L280 TraceCheckUtils]: 33: Hoare triple {3491#false} assume -2147483648 <= #t~ret14 && #t~ret14 <= 2147483647;~n~0 := #t~ret14;havoc #t~mem13;havoc #t~ret14; {3491#false} is VALID [2020-07-17 22:48:50,544 INFO L280 TraceCheckUtils]: 34: Hoare triple {3491#false} ~x~0 := 0; {3491#false} is VALID [2020-07-17 22:48:50,545 INFO L280 TraceCheckUtils]: 35: Hoare triple {3491#false} assume !(~x~0 < ~n~0); {3491#false} is VALID [2020-07-17 22:48:50,545 INFO L280 TraceCheckUtils]: 36: Hoare triple {3491#false} #t~post10 := ~v~0;~v~0 := 1 + #t~post10;havoc #t~post10; {3491#false} is VALID [2020-07-17 22:48:50,545 INFO L280 TraceCheckUtils]: 37: Hoare triple {3491#false} assume !!(~v~0 < 100000);call #t~mem11 := read~int(~#values~0.base, ~#values~0.offset + 4 * ~v~0, 4); {3491#false} is VALID [2020-07-17 22:48:50,545 INFO L263 TraceCheckUtils]: 38: Hoare triple {3491#false} call #t~ret12 := elem_exists(~#set~0.base, ~#set~0.offset, ~n~0, #t~mem11); {3491#false} is VALID [2020-07-17 22:48:50,545 INFO L280 TraceCheckUtils]: 39: Hoare triple {3491#false} ~set.base, ~set.offset := #in~set.base, #in~set.offset;~size := #in~size;~value := #in~value;havoc ~i~0;~i~0 := 0; {3491#false} is VALID [2020-07-17 22:48:50,546 INFO L280 TraceCheckUtils]: 40: Hoare triple {3491#false} assume !(~i~0 < ~size); {3491#false} is VALID [2020-07-17 22:48:50,546 INFO L280 TraceCheckUtils]: 41: Hoare triple {3491#false} #res := 0; {3491#false} is VALID [2020-07-17 22:48:50,546 INFO L280 TraceCheckUtils]: 42: Hoare triple {3491#false} assume true; {3491#false} is VALID [2020-07-17 22:48:50,546 INFO L275 TraceCheckUtils]: 43: Hoare quadruple {3491#false} {3491#false} #182#return; {3491#false} is VALID [2020-07-17 22:48:50,547 INFO L280 TraceCheckUtils]: 44: Hoare triple {3491#false} assume -2147483648 <= #t~ret12 && #t~ret12 <= 2147483647; {3491#false} is VALID [2020-07-17 22:48:50,547 INFO L280 TraceCheckUtils]: 45: Hoare triple {3491#false} assume 0 != #t~ret12;havoc #t~mem11;havoc #t~ret12;call #t~mem13 := read~int(~#values~0.base, ~#values~0.offset + 4 * ~v~0, 4); {3491#false} is VALID [2020-07-17 22:48:50,547 INFO L263 TraceCheckUtils]: 46: Hoare triple {3491#false} call #t~ret14 := insert(~#set~0.base, ~#set~0.offset, ~n~0, #t~mem13); {3491#false} is VALID [2020-07-17 22:48:50,547 INFO L280 TraceCheckUtils]: 47: Hoare triple {3491#false} ~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; {3491#false} is VALID [2020-07-17 22:48:50,548 INFO L280 TraceCheckUtils]: 48: Hoare triple {3491#false} assume true; {3491#false} is VALID [2020-07-17 22:48:50,548 INFO L275 TraceCheckUtils]: 49: Hoare quadruple {3491#false} {3491#false} #184#return; {3491#false} is VALID [2020-07-17 22:48:50,548 INFO L280 TraceCheckUtils]: 50: Hoare triple {3491#false} assume -2147483648 <= #t~ret14 && #t~ret14 <= 2147483647;~n~0 := #t~ret14;havoc #t~mem13;havoc #t~ret14; {3491#false} is VALID [2020-07-17 22:48:50,548 INFO L280 TraceCheckUtils]: 51: Hoare triple {3491#false} ~x~0 := 0; {3491#false} is VALID [2020-07-17 22:48:50,548 INFO L280 TraceCheckUtils]: 52: Hoare triple {3491#false} assume !!(~x~0 < ~n~0);~y~0 := 1 + ~x~0; {3491#false} is VALID [2020-07-17 22:48:50,549 INFO L280 TraceCheckUtils]: 53: Hoare triple {3491#false} assume !!(~y~0 < ~n~0);call #t~mem17 := read~int(~#set~0.base, ~#set~0.offset + 4 * ~x~0, 4);call #t~mem18 := read~int(~#set~0.base, ~#set~0.offset + 4 * ~y~0, 4); {3491#false} is VALID [2020-07-17 22:48:50,549 INFO L263 TraceCheckUtils]: 54: Hoare triple {3491#false} call __VERIFIER_assert((if #t~mem17 != #t~mem18 then 1 else 0)); {3491#false} is VALID [2020-07-17 22:48:50,549 INFO L280 TraceCheckUtils]: 55: Hoare triple {3491#false} ~cond := #in~cond; {3491#false} is VALID [2020-07-17 22:48:50,549 INFO L280 TraceCheckUtils]: 56: Hoare triple {3491#false} assume 0 == ~cond; {3491#false} is VALID [2020-07-17 22:48:50,549 INFO L280 TraceCheckUtils]: 57: Hoare triple {3491#false} assume !false; {3491#false} is VALID [2020-07-17 22:48:50,552 INFO L134 CoverageAnalysis]: Checked inductivity of 26 backedges. 0 proven. 9 refuted. 0 times theorem prover too weak. 17 trivial. 0 not checked. [2020-07-17 22:48:50,554 INFO L220 FreeRefinementEngine]: Constructing automaton from 0 perfect and 2 imperfect interpolant sequences. [2020-07-17 22:48:50,554 INFO L233 FreeRefinementEngine]: Number of different interpolants: perfect sequences [] imperfect sequences [8, 6] total 9 [2020-07-17 22:48:50,554 INFO L156 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [137007864] [2020-07-17 22:48:50,555 INFO L78 Accepts]: Start accepts. Automaton has 9 states. Word has length 58 [2020-07-17 22:48:50,558 INFO L84 Accepts]: Finished accepts. word is accepted. [2020-07-17 22:48:50,558 INFO L86 InductivityCheck]: Starting indutivity check of a Floyd-Hoare automaton with 9 states. [2020-07-17 22:48:50,622 INFO L119 InductivityCheck]: Floyd-Hoare automaton has 58 edges. 58 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2020-07-17 22:48:50,623 INFO L459 AbstractCegarLoop]: Interpolant automaton has 9 states [2020-07-17 22:48:50,623 INFO L143 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy CAMEL [2020-07-17 22:48:50,623 INFO L142 InterpolantAutomaton]: Constructing interpolant automaton starting with 9 interpolants. [2020-07-17 22:48:50,624 INFO L144 InterpolantAutomaton]: CoverageRelationStatistics Valid=25, Invalid=47, Unknown=0, NotChecked=0, Total=72 [2020-07-17 22:48:50,624 INFO L87 Difference]: Start difference. First operand 75 states and 91 transitions. Second operand 9 states. [2020-07-17 22:48:51,838 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2020-07-17 22:48:51,839 INFO L93 Difference]: Finished difference Result 260 states and 340 transitions. [2020-07-17 22:48:51,839 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 10 states. [2020-07-17 22:48:51,839 INFO L78 Accepts]: Start accepts. Automaton has 9 states. Word has length 58 [2020-07-17 22:48:51,839 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2020-07-17 22:48:51,839 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 9 states. [2020-07-17 22:48:51,844 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 10 states to 10 states and 242 transitions. [2020-07-17 22:48:51,845 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 9 states. [2020-07-17 22:48:51,850 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 10 states to 10 states and 242 transitions. [2020-07-17 22:48:51,850 INFO L86 InductivityCheck]: Starting indutivity check of a Floyd-Hoare automaton with 10 states and 242 transitions. [2020-07-17 22:48:52,152 INFO L119 InductivityCheck]: Floyd-Hoare automaton has 242 edges. 242 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2020-07-17 22:48:52,158 INFO L225 Difference]: With dead ends: 260 [2020-07-17 22:48:52,158 INFO L226 Difference]: Without dead ends: 198 [2020-07-17 22:48:52,159 INFO L675 BasicCegarLoop]: 0 DeclaredPredicates, 76 GetRequests, 67 SyntacticMatches, 0 SemanticMatches, 9 ConstructedPredicates, 0 IntricatePredicates, 0 DeprecatedPredicates, 12 ImplicationChecksByTransitivity, 0.0s TimeCoverageRelationStatistics Valid=37, Invalid=73, Unknown=0, NotChecked=0, Total=110 [2020-07-17 22:48:52,160 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 198 states. [2020-07-17 22:48:52,230 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 198 to 77. [2020-07-17 22:48:52,230 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2020-07-17 22:48:52,231 INFO L82 GeneralOperation]: Start isEquivalent. First operand 198 states. Second operand 77 states. [2020-07-17 22:48:52,231 INFO L74 IsIncluded]: Start isIncluded. First operand 198 states. Second operand 77 states. [2020-07-17 22:48:52,231 INFO L87 Difference]: Start difference. First operand 198 states. Second operand 77 states. [2020-07-17 22:48:52,240 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2020-07-17 22:48:52,240 INFO L93 Difference]: Finished difference Result 198 states and 262 transitions. [2020-07-17 22:48:52,241 INFO L276 IsEmpty]: Start isEmpty. Operand 198 states and 262 transitions. [2020-07-17 22:48:52,242 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2020-07-17 22:48:52,242 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2020-07-17 22:48:52,242 INFO L74 IsIncluded]: Start isIncluded. First operand 77 states. Second operand 198 states. [2020-07-17 22:48:52,242 INFO L87 Difference]: Start difference. First operand 77 states. Second operand 198 states. [2020-07-17 22:48:52,252 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2020-07-17 22:48:52,252 INFO L93 Difference]: Finished difference Result 198 states and 262 transitions. [2020-07-17 22:48:52,252 INFO L276 IsEmpty]: Start isEmpty. Operand 198 states and 262 transitions. [2020-07-17 22:48:52,253 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2020-07-17 22:48:52,254 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2020-07-17 22:48:52,254 INFO L88 GeneralOperation]: Finished isEquivalent. [2020-07-17 22:48:52,254 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2020-07-17 22:48:52,254 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 77 states. [2020-07-17 22:48:52,257 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 77 states to 77 states and 93 transitions. [2020-07-17 22:48:52,257 INFO L78 Accepts]: Start accepts. Automaton has 77 states and 93 transitions. Word has length 58 [2020-07-17 22:48:52,257 INFO L84 Accepts]: Finished accepts. word is rejected. [2020-07-17 22:48:52,257 INFO L479 AbstractCegarLoop]: Abstraction has 77 states and 93 transitions. [2020-07-17 22:48:52,258 INFO L480 AbstractCegarLoop]: Interpolant automaton has 9 states. [2020-07-17 22:48:52,258 INFO L276 IsEmpty]: Start isEmpty. Operand 77 states and 93 transitions. [2020-07-17 22:48:52,259 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 61 [2020-07-17 22:48:52,259 INFO L414 BasicCegarLoop]: Found error trace [2020-07-17 22:48:52,259 INFO L422 BasicCegarLoop]: trace histogram [4, 4, 2, 2, 2, 2, 2, 2, 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] [2020-07-17 22:48:52,472 WARN L516 AbstractCegarLoop]: Destroyed unattended storables created during the last iteration: SelfDestructingSolverStorable6,7 z3 -smt2 -in SMTLIB2_COMPLIANT=true [2020-07-17 22:48:52,473 INFO L427 AbstractCegarLoop]: === Iteration 8 === [__VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION]=== [2020-07-17 22:48:52,474 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2020-07-17 22:48:52,474 INFO L82 PathProgramCache]: Analyzing trace with hash -997532006, now seen corresponding path program 2 times [2020-07-17 22:48:52,474 INFO L163 FreeRefinementEngine]: Executing refinement strategy CAMEL [2020-07-17 22:48:52,475 INFO L354 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [1344331601] [2020-07-17 22:48:52,475 INFO L94 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2020-07-17 22:48:52,492 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2020-07-17 22:48:52,558 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2020-07-17 22:48:52,564 INFO L280 TraceCheckUtils]: 0: Hoare triple {4594#(and (= |#valid| |old(#valid)|) (= |#NULL.base| |old(#NULL.base)|) (= |#NULL.offset| |old(#NULL.offset)|))} #NULL.base, #NULL.offset := 0, 0;#valid := #valid[0 := 0];assume 0 < #StackHeapBarrier; {4571#true} is VALID [2020-07-17 22:48:52,565 INFO L280 TraceCheckUtils]: 1: Hoare triple {4571#true} assume true; {4571#true} is VALID [2020-07-17 22:48:52,565 INFO L275 TraceCheckUtils]: 2: Hoare quadruple {4571#true} {4571#true} #176#return; {4571#true} is VALID [2020-07-17 22:48:52,567 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2020-07-17 22:48:52,586 INFO L280 TraceCheckUtils]: 0: Hoare triple {4571#true} ~set.base, ~set.offset := #in~set.base, #in~set.offset;~size := #in~size;~value := #in~value;havoc ~i~0;~i~0 := 0; {4571#true} is VALID [2020-07-17 22:48:52,586 INFO L280 TraceCheckUtils]: 1: Hoare triple {4571#true} assume !(~i~0 < ~size); {4571#true} is VALID [2020-07-17 22:48:52,586 INFO L280 TraceCheckUtils]: 2: Hoare triple {4571#true} #res := 0; {4571#true} is VALID [2020-07-17 22:48:52,586 INFO L280 TraceCheckUtils]: 3: Hoare triple {4571#true} assume true; {4571#true} is VALID [2020-07-17 22:48:52,587 INFO L275 TraceCheckUtils]: 4: Hoare quadruple {4571#true} {4572#false} #182#return; {4572#false} is VALID [2020-07-17 22:48:52,595 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2020-07-17 22:48:52,606 INFO L280 TraceCheckUtils]: 0: Hoare triple {4595#(= |#memory_int| |old(#memory_int)|)} ~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; {4571#true} is VALID [2020-07-17 22:48:52,606 INFO L280 TraceCheckUtils]: 1: Hoare triple {4571#true} assume true; {4571#true} is VALID [2020-07-17 22:48:52,607 INFO L275 TraceCheckUtils]: 2: Hoare quadruple {4571#true} {4572#false} #184#return; {4572#false} is VALID [2020-07-17 22:48:52,609 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2020-07-17 22:48:52,614 INFO L280 TraceCheckUtils]: 0: Hoare triple {4571#true} ~set.base, ~set.offset := #in~set.base, #in~set.offset;~size := #in~size;~value := #in~value;havoc ~i~0;~i~0 := 0; {4571#true} is VALID [2020-07-17 22:48:52,615 INFO L280 TraceCheckUtils]: 1: Hoare triple {4571#true} assume !(~i~0 < ~size); {4571#true} is VALID [2020-07-17 22:48:52,615 INFO L280 TraceCheckUtils]: 2: Hoare triple {4571#true} #res := 0; {4571#true} is VALID [2020-07-17 22:48:52,615 INFO L280 TraceCheckUtils]: 3: Hoare triple {4571#true} assume true; {4571#true} is VALID [2020-07-17 22:48:52,615 INFO L275 TraceCheckUtils]: 4: Hoare quadruple {4571#true} {4572#false} #182#return; {4572#false} is VALID [2020-07-17 22:48:52,617 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2020-07-17 22:48:52,630 INFO L280 TraceCheckUtils]: 0: Hoare triple {4595#(= |#memory_int| |old(#memory_int)|)} ~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; {4571#true} is VALID [2020-07-17 22:48:52,630 INFO L280 TraceCheckUtils]: 1: Hoare triple {4571#true} assume true; {4571#true} is VALID [2020-07-17 22:48:52,630 INFO L275 TraceCheckUtils]: 2: Hoare quadruple {4571#true} {4572#false} #184#return; {4572#false} is VALID [2020-07-17 22:48:52,632 INFO L263 TraceCheckUtils]: 0: Hoare triple {4571#true} call ULTIMATE.init(); {4594#(and (= |#valid| |old(#valid)|) (= |#NULL.base| |old(#NULL.base)|) (= |#NULL.offset| |old(#NULL.offset)|))} is VALID [2020-07-17 22:48:52,633 INFO L280 TraceCheckUtils]: 1: Hoare triple {4594#(and (= |#valid| |old(#valid)|) (= |#NULL.base| |old(#NULL.base)|) (= |#NULL.offset| |old(#NULL.offset)|))} #NULL.base, #NULL.offset := 0, 0;#valid := #valid[0 := 0];assume 0 < #StackHeapBarrier; {4571#true} is VALID [2020-07-17 22:48:52,634 INFO L280 TraceCheckUtils]: 2: Hoare triple {4571#true} assume true; {4571#true} is VALID [2020-07-17 22:48:52,635 INFO L275 TraceCheckUtils]: 3: Hoare quadruple {4571#true} {4571#true} #176#return; {4571#true} is VALID [2020-07-17 22:48:52,635 INFO L263 TraceCheckUtils]: 4: Hoare triple {4571#true} call #t~ret23 := main(); {4571#true} is VALID [2020-07-17 22:48:52,635 INFO L280 TraceCheckUtils]: 5: Hoare triple {4571#true} ~n~0 := 0;call ~#set~0.base, ~#set~0.offset := #Ultimate.allocOnStack(400000);havoc ~x~0;havoc ~y~0;~x~0 := 0; {4571#true} is VALID [2020-07-17 22:48:52,635 INFO L280 TraceCheckUtils]: 6: Hoare triple {4571#true} assume !!(~x~0 < 100000);assume -2147483648 <= #t~nondet3 && #t~nondet3 <= 2147483647;call write~int(#t~nondet3, ~#set~0.base, ~#set~0.offset + 4 * ~x~0, 4);havoc #t~nondet3; {4571#true} is VALID [2020-07-17 22:48:52,636 INFO L280 TraceCheckUtils]: 7: Hoare triple {4571#true} #t~post2 := ~x~0;~x~0 := 1 + #t~post2;havoc #t~post2; {4571#true} is VALID [2020-07-17 22:48:52,636 INFO L280 TraceCheckUtils]: 8: Hoare triple {4571#true} assume !!(~x~0 < 100000);assume -2147483648 <= #t~nondet3 && #t~nondet3 <= 2147483647;call write~int(#t~nondet3, ~#set~0.base, ~#set~0.offset + 4 * ~x~0, 4);havoc #t~nondet3; {4571#true} is VALID [2020-07-17 22:48:52,636 INFO L280 TraceCheckUtils]: 9: Hoare triple {4571#true} #t~post2 := ~x~0;~x~0 := 1 + #t~post2;havoc #t~post2; {4571#true} is VALID [2020-07-17 22:48:52,637 INFO L280 TraceCheckUtils]: 10: Hoare triple {4571#true} assume !!(~x~0 < 100000);assume -2147483648 <= #t~nondet3 && #t~nondet3 <= 2147483647;call write~int(#t~nondet3, ~#set~0.base, ~#set~0.offset + 4 * ~x~0, 4);havoc #t~nondet3; {4571#true} is VALID [2020-07-17 22:48:52,637 INFO L280 TraceCheckUtils]: 11: Hoare triple {4571#true} #t~post2 := ~x~0;~x~0 := 1 + #t~post2;havoc #t~post2; {4571#true} is VALID [2020-07-17 22:48:52,637 INFO L280 TraceCheckUtils]: 12: Hoare triple {4571#true} assume !!(~x~0 < 100000);assume -2147483648 <= #t~nondet3 && #t~nondet3 <= 2147483647;call write~int(#t~nondet3, ~#set~0.base, ~#set~0.offset + 4 * ~x~0, 4);havoc #t~nondet3; {4571#true} is VALID [2020-07-17 22:48:52,637 INFO L280 TraceCheckUtils]: 13: Hoare triple {4571#true} #t~post2 := ~x~0;~x~0 := 1 + #t~post2;havoc #t~post2; {4571#true} is VALID [2020-07-17 22:48:52,637 INFO L280 TraceCheckUtils]: 14: Hoare triple {4571#true} assume !(~x~0 < 100000); {4571#true} is VALID [2020-07-17 22:48:52,638 INFO L280 TraceCheckUtils]: 15: Hoare triple {4571#true} ~x~0 := 0; {4571#true} is VALID [2020-07-17 22:48:52,638 INFO L280 TraceCheckUtils]: 16: Hoare triple {4571#true} assume !(~x~0 < ~n~0); {4571#true} is VALID [2020-07-17 22:48:52,646 INFO L280 TraceCheckUtils]: 17: Hoare triple {4571#true} call ~#values~0.base, ~#values~0.offset := #Ultimate.allocOnStack(400000);havoc ~v~0;~v~0 := 0; {4576#(= 0 main_~v~0)} is VALID [2020-07-17 22:48:52,647 INFO L280 TraceCheckUtils]: 18: Hoare triple {4576#(= 0 main_~v~0)} assume !!(~v~0 < 100000);assume -2147483648 <= #t~nondet9 && #t~nondet9 <= 2147483647;call write~int(#t~nondet9, ~#values~0.base, ~#values~0.offset + 4 * ~v~0, 4);havoc #t~nondet9; {4576#(= 0 main_~v~0)} is VALID [2020-07-17 22:48:52,647 INFO L280 TraceCheckUtils]: 19: Hoare triple {4576#(= 0 main_~v~0)} #t~post8 := ~v~0;~v~0 := 1 + #t~post8;havoc #t~post8; {4577#(<= main_~v~0 1)} is VALID [2020-07-17 22:48:52,648 INFO L280 TraceCheckUtils]: 20: Hoare triple {4577#(<= main_~v~0 1)} assume !(~v~0 < 100000); {4572#false} is VALID [2020-07-17 22:48:52,648 INFO L280 TraceCheckUtils]: 21: Hoare triple {4572#false} ~v~0 := 0; {4572#false} is VALID [2020-07-17 22:48:52,648 INFO L280 TraceCheckUtils]: 22: Hoare triple {4572#false} assume !!(~v~0 < 100000);call #t~mem11 := read~int(~#values~0.base, ~#values~0.offset + 4 * ~v~0, 4); {4572#false} is VALID [2020-07-17 22:48:52,649 INFO L263 TraceCheckUtils]: 23: Hoare triple {4572#false} call #t~ret12 := elem_exists(~#set~0.base, ~#set~0.offset, ~n~0, #t~mem11); {4571#true} is VALID [2020-07-17 22:48:52,649 INFO L280 TraceCheckUtils]: 24: Hoare triple {4571#true} ~set.base, ~set.offset := #in~set.base, #in~set.offset;~size := #in~size;~value := #in~value;havoc ~i~0;~i~0 := 0; {4571#true} is VALID [2020-07-17 22:48:52,649 INFO L280 TraceCheckUtils]: 25: Hoare triple {4571#true} assume !(~i~0 < ~size); {4571#true} is VALID [2020-07-17 22:48:52,649 INFO L280 TraceCheckUtils]: 26: Hoare triple {4571#true} #res := 0; {4571#true} is VALID [2020-07-17 22:48:52,649 INFO L280 TraceCheckUtils]: 27: Hoare triple {4571#true} assume true; {4571#true} is VALID [2020-07-17 22:48:52,650 INFO L275 TraceCheckUtils]: 28: Hoare quadruple {4571#true} {4572#false} #182#return; {4572#false} is VALID [2020-07-17 22:48:52,650 INFO L280 TraceCheckUtils]: 29: Hoare triple {4572#false} assume -2147483648 <= #t~ret12 && #t~ret12 <= 2147483647; {4572#false} is VALID [2020-07-17 22:48:52,650 INFO L280 TraceCheckUtils]: 30: Hoare triple {4572#false} assume 0 != #t~ret12;havoc #t~mem11;havoc #t~ret12;call #t~mem13 := read~int(~#values~0.base, ~#values~0.offset + 4 * ~v~0, 4); {4572#false} is VALID [2020-07-17 22:48:52,650 INFO L263 TraceCheckUtils]: 31: Hoare triple {4572#false} call #t~ret14 := insert(~#set~0.base, ~#set~0.offset, ~n~0, #t~mem13); {4595#(= |#memory_int| |old(#memory_int)|)} is VALID [2020-07-17 22:48:52,650 INFO L280 TraceCheckUtils]: 32: Hoare triple {4595#(= |#memory_int| |old(#memory_int)|)} ~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; {4571#true} is VALID [2020-07-17 22:48:52,650 INFO L280 TraceCheckUtils]: 33: Hoare triple {4571#true} assume true; {4571#true} is VALID [2020-07-17 22:48:52,651 INFO L275 TraceCheckUtils]: 34: Hoare quadruple {4571#true} {4572#false} #184#return; {4572#false} is VALID [2020-07-17 22:48:52,651 INFO L280 TraceCheckUtils]: 35: Hoare triple {4572#false} assume -2147483648 <= #t~ret14 && #t~ret14 <= 2147483647;~n~0 := #t~ret14;havoc #t~mem13;havoc #t~ret14; {4572#false} is VALID [2020-07-17 22:48:52,651 INFO L280 TraceCheckUtils]: 36: Hoare triple {4572#false} ~x~0 := 0; {4572#false} is VALID [2020-07-17 22:48:52,651 INFO L280 TraceCheckUtils]: 37: Hoare triple {4572#false} assume !(~x~0 < ~n~0); {4572#false} is VALID [2020-07-17 22:48:52,651 INFO L280 TraceCheckUtils]: 38: Hoare triple {4572#false} #t~post10 := ~v~0;~v~0 := 1 + #t~post10;havoc #t~post10; {4572#false} is VALID [2020-07-17 22:48:52,652 INFO L280 TraceCheckUtils]: 39: Hoare triple {4572#false} assume !!(~v~0 < 100000);call #t~mem11 := read~int(~#values~0.base, ~#values~0.offset + 4 * ~v~0, 4); {4572#false} is VALID [2020-07-17 22:48:52,652 INFO L263 TraceCheckUtils]: 40: Hoare triple {4572#false} call #t~ret12 := elem_exists(~#set~0.base, ~#set~0.offset, ~n~0, #t~mem11); {4571#true} is VALID [2020-07-17 22:48:52,652 INFO L280 TraceCheckUtils]: 41: Hoare triple {4571#true} ~set.base, ~set.offset := #in~set.base, #in~set.offset;~size := #in~size;~value := #in~value;havoc ~i~0;~i~0 := 0; {4571#true} is VALID [2020-07-17 22:48:52,652 INFO L280 TraceCheckUtils]: 42: Hoare triple {4571#true} assume !(~i~0 < ~size); {4571#true} is VALID [2020-07-17 22:48:52,653 INFO L280 TraceCheckUtils]: 43: Hoare triple {4571#true} #res := 0; {4571#true} is VALID [2020-07-17 22:48:52,653 INFO L280 TraceCheckUtils]: 44: Hoare triple {4571#true} assume true; {4571#true} is VALID [2020-07-17 22:48:52,653 INFO L275 TraceCheckUtils]: 45: Hoare quadruple {4571#true} {4572#false} #182#return; {4572#false} is VALID [2020-07-17 22:48:52,654 INFO L280 TraceCheckUtils]: 46: Hoare triple {4572#false} assume -2147483648 <= #t~ret12 && #t~ret12 <= 2147483647; {4572#false} is VALID [2020-07-17 22:48:52,654 INFO L280 TraceCheckUtils]: 47: Hoare triple {4572#false} assume 0 != #t~ret12;havoc #t~mem11;havoc #t~ret12;call #t~mem13 := read~int(~#values~0.base, ~#values~0.offset + 4 * ~v~0, 4); {4572#false} is VALID [2020-07-17 22:48:52,654 INFO L263 TraceCheckUtils]: 48: Hoare triple {4572#false} call #t~ret14 := insert(~#set~0.base, ~#set~0.offset, ~n~0, #t~mem13); {4595#(= |#memory_int| |old(#memory_int)|)} is VALID [2020-07-17 22:48:52,656 INFO L280 TraceCheckUtils]: 49: Hoare triple {4595#(= |#memory_int| |old(#memory_int)|)} ~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; {4571#true} is VALID [2020-07-17 22:48:52,656 INFO L280 TraceCheckUtils]: 50: Hoare triple {4571#true} assume true; {4571#true} is VALID [2020-07-17 22:48:52,656 INFO L275 TraceCheckUtils]: 51: Hoare quadruple {4571#true} {4572#false} #184#return; {4572#false} is VALID [2020-07-17 22:48:52,656 INFO L280 TraceCheckUtils]: 52: Hoare triple {4572#false} assume -2147483648 <= #t~ret14 && #t~ret14 <= 2147483647;~n~0 := #t~ret14;havoc #t~mem13;havoc #t~ret14; {4572#false} is VALID [2020-07-17 22:48:52,657 INFO L280 TraceCheckUtils]: 53: Hoare triple {4572#false} ~x~0 := 0; {4572#false} is VALID [2020-07-17 22:48:52,657 INFO L280 TraceCheckUtils]: 54: Hoare triple {4572#false} assume !!(~x~0 < ~n~0);~y~0 := 1 + ~x~0; {4572#false} is VALID [2020-07-17 22:48:52,657 INFO L280 TraceCheckUtils]: 55: Hoare triple {4572#false} assume !!(~y~0 < ~n~0);call #t~mem17 := read~int(~#set~0.base, ~#set~0.offset + 4 * ~x~0, 4);call #t~mem18 := read~int(~#set~0.base, ~#set~0.offset + 4 * ~y~0, 4); {4572#false} is VALID [2020-07-17 22:48:52,657 INFO L263 TraceCheckUtils]: 56: Hoare triple {4572#false} call __VERIFIER_assert((if #t~mem17 != #t~mem18 then 1 else 0)); {4572#false} is VALID [2020-07-17 22:48:52,657 INFO L280 TraceCheckUtils]: 57: Hoare triple {4572#false} ~cond := #in~cond; {4572#false} is VALID [2020-07-17 22:48:52,657 INFO L280 TraceCheckUtils]: 58: Hoare triple {4572#false} assume 0 == ~cond; {4572#false} is VALID [2020-07-17 22:48:52,658 INFO L280 TraceCheckUtils]: 59: Hoare triple {4572#false} assume !false; {4572#false} is VALID [2020-07-17 22:48:52,660 INFO L134 CoverageAnalysis]: Checked inductivity of 33 backedges. 0 proven. 1 refuted. 0 times theorem prover too weak. 32 trivial. 0 not checked. [2020-07-17 22:48:52,660 INFO L354 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleSmtInterpolCraig [1344331601] [2020-07-17 22:48:52,661 INFO L354 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleZ3 [358717040] [2020-07-17 22:48:52,661 INFO L92 rtionOrderModulation]: Changing assertion order to OUTSIDE_LOOP_FIRST1 No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 Starting monitored process 8 with z3 -smt2 -in SMTLIB2_COMPLIANT=true (exit command is (exit), workingDir is null) Waiting until toolchain timeout for monitored process 8 with z3 -smt2 -in SMTLIB2_COMPLIANT=true [2020-07-17 22:48:52,718 INFO L249 tOrderPrioritization]: Assert order OUTSIDE_LOOP_FIRST1 issued 1 check-sat command(s) [2020-07-17 22:48:52,718 INFO L250 tOrderPrioritization]: Conjunction of SSA is unsat [2020-07-17 22:48:52,719 INFO L264 TraceCheckSpWp]: Trace formula consists of 138 conjuncts, 12 conjunts are in the unsatisfiable core [2020-07-17 22:48:52,737 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2020-07-17 22:48:52,740 INFO L287 TraceCheckSpWp]: Computing forward predicates... [2020-07-17 22:48:52,960 INFO L263 TraceCheckUtils]: 0: Hoare triple {4571#true} call ULTIMATE.init(); {4571#true} is VALID [2020-07-17 22:48:52,960 INFO L280 TraceCheckUtils]: 1: Hoare triple {4571#true} #NULL.base, #NULL.offset := 0, 0;#valid := #valid[0 := 0];assume 0 < #StackHeapBarrier; {4571#true} is VALID [2020-07-17 22:48:52,960 INFO L280 TraceCheckUtils]: 2: Hoare triple {4571#true} assume true; {4571#true} is VALID [2020-07-17 22:48:52,960 INFO L275 TraceCheckUtils]: 3: Hoare quadruple {4571#true} {4571#true} #176#return; {4571#true} is VALID [2020-07-17 22:48:52,960 INFO L263 TraceCheckUtils]: 4: Hoare triple {4571#true} call #t~ret23 := main(); {4571#true} is VALID [2020-07-17 22:48:52,961 INFO L280 TraceCheckUtils]: 5: Hoare triple {4571#true} ~n~0 := 0;call ~#set~0.base, ~#set~0.offset := #Ultimate.allocOnStack(400000);havoc ~x~0;havoc ~y~0;~x~0 := 0; {4571#true} is VALID [2020-07-17 22:48:52,961 INFO L280 TraceCheckUtils]: 6: Hoare triple {4571#true} assume !!(~x~0 < 100000);assume -2147483648 <= #t~nondet3 && #t~nondet3 <= 2147483647;call write~int(#t~nondet3, ~#set~0.base, ~#set~0.offset + 4 * ~x~0, 4);havoc #t~nondet3; {4571#true} is VALID [2020-07-17 22:48:52,961 INFO L280 TraceCheckUtils]: 7: Hoare triple {4571#true} #t~post2 := ~x~0;~x~0 := 1 + #t~post2;havoc #t~post2; {4571#true} is VALID [2020-07-17 22:48:52,961 INFO L280 TraceCheckUtils]: 8: Hoare triple {4571#true} assume !!(~x~0 < 100000);assume -2147483648 <= #t~nondet3 && #t~nondet3 <= 2147483647;call write~int(#t~nondet3, ~#set~0.base, ~#set~0.offset + 4 * ~x~0, 4);havoc #t~nondet3; {4571#true} is VALID [2020-07-17 22:48:52,961 INFO L280 TraceCheckUtils]: 9: Hoare triple {4571#true} #t~post2 := ~x~0;~x~0 := 1 + #t~post2;havoc #t~post2; {4571#true} is VALID [2020-07-17 22:48:52,961 INFO L280 TraceCheckUtils]: 10: Hoare triple {4571#true} assume !!(~x~0 < 100000);assume -2147483648 <= #t~nondet3 && #t~nondet3 <= 2147483647;call write~int(#t~nondet3, ~#set~0.base, ~#set~0.offset + 4 * ~x~0, 4);havoc #t~nondet3; {4571#true} is VALID [2020-07-17 22:48:52,961 INFO L280 TraceCheckUtils]: 11: Hoare triple {4571#true} #t~post2 := ~x~0;~x~0 := 1 + #t~post2;havoc #t~post2; {4571#true} is VALID [2020-07-17 22:48:52,962 INFO L280 TraceCheckUtils]: 12: Hoare triple {4571#true} assume !!(~x~0 < 100000);assume -2147483648 <= #t~nondet3 && #t~nondet3 <= 2147483647;call write~int(#t~nondet3, ~#set~0.base, ~#set~0.offset + 4 * ~x~0, 4);havoc #t~nondet3; {4571#true} is VALID [2020-07-17 22:48:52,962 INFO L280 TraceCheckUtils]: 13: Hoare triple {4571#true} #t~post2 := ~x~0;~x~0 := 1 + #t~post2;havoc #t~post2; {4571#true} is VALID [2020-07-17 22:48:52,962 INFO L280 TraceCheckUtils]: 14: Hoare triple {4571#true} assume !(~x~0 < 100000); {4571#true} is VALID [2020-07-17 22:48:52,962 INFO L280 TraceCheckUtils]: 15: Hoare triple {4571#true} ~x~0 := 0; {4571#true} is VALID [2020-07-17 22:48:52,962 INFO L280 TraceCheckUtils]: 16: Hoare triple {4571#true} assume !(~x~0 < ~n~0); {4571#true} is VALID [2020-07-17 22:48:52,962 INFO L280 TraceCheckUtils]: 17: Hoare triple {4571#true} call ~#values~0.base, ~#values~0.offset := #Ultimate.allocOnStack(400000);havoc ~v~0;~v~0 := 0; {4571#true} is VALID [2020-07-17 22:48:52,962 INFO L280 TraceCheckUtils]: 18: Hoare triple {4571#true} assume !!(~v~0 < 100000);assume -2147483648 <= #t~nondet9 && #t~nondet9 <= 2147483647;call write~int(#t~nondet9, ~#values~0.base, ~#values~0.offset + 4 * ~v~0, 4);havoc #t~nondet9; {4571#true} is VALID [2020-07-17 22:48:52,962 INFO L280 TraceCheckUtils]: 19: Hoare triple {4571#true} #t~post8 := ~v~0;~v~0 := 1 + #t~post8;havoc #t~post8; {4571#true} is VALID [2020-07-17 22:48:52,963 INFO L280 TraceCheckUtils]: 20: Hoare triple {4571#true} assume !(~v~0 < 100000); {4571#true} is VALID [2020-07-17 22:48:52,963 INFO L280 TraceCheckUtils]: 21: Hoare triple {4571#true} ~v~0 := 0; {4571#true} is VALID [2020-07-17 22:48:52,963 INFO L280 TraceCheckUtils]: 22: Hoare triple {4571#true} assume !!(~v~0 < 100000);call #t~mem11 := read~int(~#values~0.base, ~#values~0.offset + 4 * ~v~0, 4); {4571#true} is VALID [2020-07-17 22:48:52,963 INFO L263 TraceCheckUtils]: 23: Hoare triple {4571#true} call #t~ret12 := elem_exists(~#set~0.base, ~#set~0.offset, ~n~0, #t~mem11); {4571#true} is VALID [2020-07-17 22:48:52,963 INFO L280 TraceCheckUtils]: 24: Hoare triple {4571#true} ~set.base, ~set.offset := #in~set.base, #in~set.offset;~size := #in~size;~value := #in~value;havoc ~i~0;~i~0 := 0; {4571#true} is VALID [2020-07-17 22:48:52,963 INFO L280 TraceCheckUtils]: 25: Hoare triple {4571#true} assume !(~i~0 < ~size); {4571#true} is VALID [2020-07-17 22:48:52,963 INFO L280 TraceCheckUtils]: 26: Hoare triple {4571#true} #res := 0; {4571#true} is VALID [2020-07-17 22:48:52,963 INFO L280 TraceCheckUtils]: 27: Hoare triple {4571#true} assume true; {4571#true} is VALID [2020-07-17 22:48:52,964 INFO L275 TraceCheckUtils]: 28: Hoare quadruple {4571#true} {4571#true} #182#return; {4571#true} is VALID [2020-07-17 22:48:52,964 INFO L280 TraceCheckUtils]: 29: Hoare triple {4571#true} assume -2147483648 <= #t~ret12 && #t~ret12 <= 2147483647; {4571#true} is VALID [2020-07-17 22:48:52,964 INFO L280 TraceCheckUtils]: 30: Hoare triple {4571#true} assume 0 != #t~ret12;havoc #t~mem11;havoc #t~ret12;call #t~mem13 := read~int(~#values~0.base, ~#values~0.offset + 4 * ~v~0, 4); {4571#true} is VALID [2020-07-17 22:48:52,964 INFO L263 TraceCheckUtils]: 31: Hoare triple {4571#true} call #t~ret14 := insert(~#set~0.base, ~#set~0.offset, ~n~0, #t~mem13); {4571#true} is VALID [2020-07-17 22:48:52,964 INFO L280 TraceCheckUtils]: 32: Hoare triple {4571#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; {4571#true} is VALID [2020-07-17 22:48:52,964 INFO L280 TraceCheckUtils]: 33: Hoare triple {4571#true} assume true; {4571#true} is VALID [2020-07-17 22:48:52,964 INFO L275 TraceCheckUtils]: 34: Hoare quadruple {4571#true} {4571#true} #184#return; {4571#true} is VALID [2020-07-17 22:48:52,965 INFO L280 TraceCheckUtils]: 35: Hoare triple {4571#true} assume -2147483648 <= #t~ret14 && #t~ret14 <= 2147483647;~n~0 := #t~ret14;havoc #t~mem13;havoc #t~ret14; {4571#true} is VALID [2020-07-17 22:48:52,965 INFO L280 TraceCheckUtils]: 36: Hoare triple {4571#true} ~x~0 := 0; {4571#true} is VALID [2020-07-17 22:48:52,965 INFO L280 TraceCheckUtils]: 37: Hoare triple {4571#true} assume !(~x~0 < ~n~0); {4571#true} is VALID [2020-07-17 22:48:52,965 INFO L280 TraceCheckUtils]: 38: Hoare triple {4571#true} #t~post10 := ~v~0;~v~0 := 1 + #t~post10;havoc #t~post10; {4571#true} is VALID [2020-07-17 22:48:52,965 INFO L280 TraceCheckUtils]: 39: Hoare triple {4571#true} assume !!(~v~0 < 100000);call #t~mem11 := read~int(~#values~0.base, ~#values~0.offset + 4 * ~v~0, 4); {4571#true} is VALID [2020-07-17 22:48:52,965 INFO L263 TraceCheckUtils]: 40: Hoare triple {4571#true} call #t~ret12 := elem_exists(~#set~0.base, ~#set~0.offset, ~n~0, #t~mem11); {4571#true} is VALID [2020-07-17 22:48:52,966 INFO L280 TraceCheckUtils]: 41: Hoare triple {4571#true} ~set.base, ~set.offset := #in~set.base, #in~set.offset;~size := #in~size;~value := #in~value;havoc ~i~0;~i~0 := 0; {4722#(and (<= elem_exists_~i~0 0) (<= |elem_exists_#in~size| elem_exists_~size))} is VALID [2020-07-17 22:48:52,966 INFO L280 TraceCheckUtils]: 42: Hoare triple {4722#(and (<= elem_exists_~i~0 0) (<= |elem_exists_#in~size| elem_exists_~size))} assume !(~i~0 < ~size); {4726#(<= |elem_exists_#in~size| 0)} is VALID [2020-07-17 22:48:52,967 INFO L280 TraceCheckUtils]: 43: Hoare triple {4726#(<= |elem_exists_#in~size| 0)} #res := 0; {4726#(<= |elem_exists_#in~size| 0)} is VALID [2020-07-17 22:48:52,967 INFO L280 TraceCheckUtils]: 44: Hoare triple {4726#(<= |elem_exists_#in~size| 0)} assume true; {4726#(<= |elem_exists_#in~size| 0)} is VALID [2020-07-17 22:48:52,968 INFO L275 TraceCheckUtils]: 45: Hoare quadruple {4726#(<= |elem_exists_#in~size| 0)} {4571#true} #182#return; {4736#(<= main_~n~0 0)} is VALID [2020-07-17 22:48:52,968 INFO L280 TraceCheckUtils]: 46: Hoare triple {4736#(<= main_~n~0 0)} assume -2147483648 <= #t~ret12 && #t~ret12 <= 2147483647; {4736#(<= main_~n~0 0)} is VALID [2020-07-17 22:48:52,969 INFO L280 TraceCheckUtils]: 47: Hoare triple {4736#(<= main_~n~0 0)} assume 0 != #t~ret12;havoc #t~mem11;havoc #t~ret12;call #t~mem13 := read~int(~#values~0.base, ~#values~0.offset + 4 * ~v~0, 4); {4736#(<= main_~n~0 0)} is VALID [2020-07-17 22:48:52,969 INFO L263 TraceCheckUtils]: 48: Hoare triple {4736#(<= main_~n~0 0)} call #t~ret14 := insert(~#set~0.base, ~#set~0.offset, ~n~0, #t~mem13); {4571#true} is VALID [2020-07-17 22:48:52,969 INFO L280 TraceCheckUtils]: 49: Hoare triple {4571#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; {4749#(<= |insert_#res| (+ |insert_#in~size| 1))} is VALID [2020-07-17 22:48:52,970 INFO L280 TraceCheckUtils]: 50: Hoare triple {4749#(<= |insert_#res| (+ |insert_#in~size| 1))} assume true; {4749#(<= |insert_#res| (+ |insert_#in~size| 1))} is VALID [2020-07-17 22:48:52,971 INFO L275 TraceCheckUtils]: 51: Hoare quadruple {4749#(<= |insert_#res| (+ |insert_#in~size| 1))} {4736#(<= main_~n~0 0)} #184#return; {4756#(<= |main_#t~ret14| 1)} is VALID [2020-07-17 22:48:52,971 INFO L280 TraceCheckUtils]: 52: Hoare triple {4756#(<= |main_#t~ret14| 1)} assume -2147483648 <= #t~ret14 && #t~ret14 <= 2147483647;~n~0 := #t~ret14;havoc #t~mem13;havoc #t~ret14; {4760#(<= main_~n~0 1)} is VALID [2020-07-17 22:48:52,972 INFO L280 TraceCheckUtils]: 53: Hoare triple {4760#(<= main_~n~0 1)} ~x~0 := 0; {4764#(and (<= 0 main_~x~0) (<= main_~n~0 1))} is VALID [2020-07-17 22:48:52,972 INFO L280 TraceCheckUtils]: 54: Hoare triple {4764#(and (<= 0 main_~x~0) (<= main_~n~0 1))} assume !!(~x~0 < ~n~0);~y~0 := 1 + ~x~0; {4768#(and (<= 1 main_~y~0) (<= main_~n~0 1))} is VALID [2020-07-17 22:48:52,973 INFO L280 TraceCheckUtils]: 55: Hoare triple {4768#(and (<= 1 main_~y~0) (<= main_~n~0 1))} assume !!(~y~0 < ~n~0);call #t~mem17 := read~int(~#set~0.base, ~#set~0.offset + 4 * ~x~0, 4);call #t~mem18 := read~int(~#set~0.base, ~#set~0.offset + 4 * ~y~0, 4); {4572#false} is VALID [2020-07-17 22:48:52,973 INFO L263 TraceCheckUtils]: 56: Hoare triple {4572#false} call __VERIFIER_assert((if #t~mem17 != #t~mem18 then 1 else 0)); {4572#false} is VALID [2020-07-17 22:48:52,973 INFO L280 TraceCheckUtils]: 57: Hoare triple {4572#false} ~cond := #in~cond; {4572#false} is VALID [2020-07-17 22:48:52,974 INFO L280 TraceCheckUtils]: 58: Hoare triple {4572#false} assume 0 == ~cond; {4572#false} is VALID [2020-07-17 22:48:52,974 INFO L280 TraceCheckUtils]: 59: Hoare triple {4572#false} assume !false; {4572#false} is VALID [2020-07-17 22:48:52,976 INFO L134 CoverageAnalysis]: Checked inductivity of 33 backedges. 12 proven. 0 refuted. 0 times theorem prover too weak. 21 trivial. 0 not checked. [2020-07-17 22:48:52,977 INFO L220 FreeRefinementEngine]: Constructing automaton from 1 perfect and 1 imperfect interpolant sequences. [2020-07-17 22:48:52,977 INFO L233 FreeRefinementEngine]: Number of different interpolants: perfect sequences [10] imperfect sequences [6] total 14 [2020-07-17 22:48:52,977 INFO L156 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [912763639] [2020-07-17 22:48:52,978 INFO L78 Accepts]: Start accepts. Automaton has 10 states. Word has length 60 [2020-07-17 22:48:52,978 INFO L84 Accepts]: Finished accepts. word is accepted. [2020-07-17 22:48:52,978 INFO L86 InductivityCheck]: Starting indutivity check of a Floyd-Hoare automaton with 10 states. [2020-07-17 22:48:53,033 INFO L119 InductivityCheck]: Floyd-Hoare automaton has 52 edges. 52 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2020-07-17 22:48:53,033 INFO L459 AbstractCegarLoop]: Interpolant automaton has 10 states [2020-07-17 22:48:53,033 INFO L143 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy CAMEL [2020-07-17 22:48:53,033 INFO L142 InterpolantAutomaton]: Constructing interpolant automaton starting with 10 interpolants. [2020-07-17 22:48:53,034 INFO L144 InterpolantAutomaton]: CoverageRelationStatistics Valid=29, Invalid=153, Unknown=0, NotChecked=0, Total=182 [2020-07-17 22:48:53,034 INFO L87 Difference]: Start difference. First operand 77 states and 93 transitions. Second operand 10 states. [2020-07-17 22:48:54,458 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2020-07-17 22:48:54,458 INFO L93 Difference]: Finished difference Result 216 states and 294 transitions. [2020-07-17 22:48:54,458 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 15 states. [2020-07-17 22:48:54,458 INFO L78 Accepts]: Start accepts. Automaton has 10 states. Word has length 60 [2020-07-17 22:48:54,459 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2020-07-17 22:48:54,459 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 10 states. [2020-07-17 22:48:54,475 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 15 states to 15 states and 213 transitions. [2020-07-17 22:48:54,475 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 10 states. [2020-07-17 22:48:54,481 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 15 states to 15 states and 213 transitions. [2020-07-17 22:48:54,481 INFO L86 InductivityCheck]: Starting indutivity check of a Floyd-Hoare automaton with 15 states and 213 transitions. [2020-07-17 22:48:54,719 INFO L119 InductivityCheck]: Floyd-Hoare automaton has 213 edges. 213 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2020-07-17 22:48:54,724 INFO L225 Difference]: With dead ends: 216 [2020-07-17 22:48:54,724 INFO L226 Difference]: Without dead ends: 160 [2020-07-17 22:48:54,725 INFO L675 BasicCegarLoop]: 0 DeclaredPredicates, 84 GetRequests, 65 SyntacticMatches, 0 SemanticMatches, 19 ConstructedPredicates, 0 IntricatePredicates, 0 DeprecatedPredicates, 29 ImplicationChecksByTransitivity, 0.2s TimeCoverageRelationStatistics Valid=76, Invalid=344, Unknown=0, NotChecked=0, Total=420 [2020-07-17 22:48:54,726 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 160 states. [2020-07-17 22:48:54,800 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 160 to 90. [2020-07-17 22:48:54,801 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2020-07-17 22:48:54,801 INFO L82 GeneralOperation]: Start isEquivalent. First operand 160 states. Second operand 90 states. [2020-07-17 22:48:54,801 INFO L74 IsIncluded]: Start isIncluded. First operand 160 states. Second operand 90 states. [2020-07-17 22:48:54,801 INFO L87 Difference]: Start difference. First operand 160 states. Second operand 90 states. [2020-07-17 22:48:54,811 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2020-07-17 22:48:54,811 INFO L93 Difference]: Finished difference Result 160 states and 217 transitions. [2020-07-17 22:48:54,811 INFO L276 IsEmpty]: Start isEmpty. Operand 160 states and 217 transitions. [2020-07-17 22:48:54,812 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2020-07-17 22:48:54,812 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2020-07-17 22:48:54,812 INFO L74 IsIncluded]: Start isIncluded. First operand 90 states. Second operand 160 states. [2020-07-17 22:48:54,813 INFO L87 Difference]: Start difference. First operand 90 states. Second operand 160 states. [2020-07-17 22:48:54,821 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2020-07-17 22:48:54,821 INFO L93 Difference]: Finished difference Result 160 states and 217 transitions. [2020-07-17 22:48:54,821 INFO L276 IsEmpty]: Start isEmpty. Operand 160 states and 217 transitions. [2020-07-17 22:48:54,822 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2020-07-17 22:48:54,822 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2020-07-17 22:48:54,823 INFO L88 GeneralOperation]: Finished isEquivalent. [2020-07-17 22:48:54,823 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2020-07-17 22:48:54,823 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 90 states. [2020-07-17 22:48:54,827 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 90 states to 90 states and 112 transitions. [2020-07-17 22:48:54,827 INFO L78 Accepts]: Start accepts. Automaton has 90 states and 112 transitions. Word has length 60 [2020-07-17 22:48:54,828 INFO L84 Accepts]: Finished accepts. word is rejected. [2020-07-17 22:48:54,828 INFO L479 AbstractCegarLoop]: Abstraction has 90 states and 112 transitions. [2020-07-17 22:48:54,828 INFO L480 AbstractCegarLoop]: Interpolant automaton has 10 states. [2020-07-17 22:48:54,828 INFO L276 IsEmpty]: Start isEmpty. Operand 90 states and 112 transitions. [2020-07-17 22:48:54,829 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 61 [2020-07-17 22:48:54,829 INFO L414 BasicCegarLoop]: Found error trace [2020-07-17 22:48:54,829 INFO L422 BasicCegarLoop]: trace histogram [4, 4, 2, 2, 2, 2, 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] [2020-07-17 22:48:55,042 WARN L516 AbstractCegarLoop]: Destroyed unattended storables created during the last iteration: SelfDestructingSolverStorable7,8 z3 -smt2 -in SMTLIB2_COMPLIANT=true [2020-07-17 22:48:55,043 INFO L427 AbstractCegarLoop]: === Iteration 9 === [__VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION]=== [2020-07-17 22:48:55,044 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2020-07-17 22:48:55,045 INFO L82 PathProgramCache]: Analyzing trace with hash 420057297, now seen corresponding path program 1 times [2020-07-17 22:48:55,045 INFO L163 FreeRefinementEngine]: Executing refinement strategy CAMEL [2020-07-17 22:48:55,045 INFO L354 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [297624450] [2020-07-17 22:48:55,046 INFO L94 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2020-07-17 22:48:55,064 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2020-07-17 22:48:55,108 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2020-07-17 22:48:55,114 INFO L280 TraceCheckUtils]: 0: Hoare triple {5573#(and (= |#valid| |old(#valid)|) (= |#NULL.base| |old(#NULL.base)|) (= |#NULL.offset| |old(#NULL.offset)|))} #NULL.base, #NULL.offset := 0, 0;#valid := #valid[0 := 0];assume 0 < #StackHeapBarrier; {5550#true} is VALID [2020-07-17 22:48:55,115 INFO L280 TraceCheckUtils]: 1: Hoare triple {5550#true} assume true; {5550#true} is VALID [2020-07-17 22:48:55,115 INFO L275 TraceCheckUtils]: 2: Hoare quadruple {5550#true} {5550#true} #176#return; {5550#true} is VALID [2020-07-17 22:48:55,117 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2020-07-17 22:48:55,137 INFO L280 TraceCheckUtils]: 0: Hoare triple {5550#true} ~set.base, ~set.offset := #in~set.base, #in~set.offset;~size := #in~size;~value := #in~value;havoc ~i~0;~i~0 := 0; {5550#true} is VALID [2020-07-17 22:48:55,137 INFO L280 TraceCheckUtils]: 1: Hoare triple {5550#true} assume !(~i~0 < ~size); {5550#true} is VALID [2020-07-17 22:48:55,137 INFO L280 TraceCheckUtils]: 2: Hoare triple {5550#true} #res := 0; {5550#true} is VALID [2020-07-17 22:48:55,138 INFO L280 TraceCheckUtils]: 3: Hoare triple {5550#true} assume true; {5550#true} is VALID [2020-07-17 22:48:55,138 INFO L275 TraceCheckUtils]: 4: Hoare quadruple {5550#true} {5551#false} #182#return; {5551#false} is VALID [2020-07-17 22:48:55,146 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2020-07-17 22:48:55,154 INFO L280 TraceCheckUtils]: 0: Hoare triple {5574#(= |#memory_int| |old(#memory_int)|)} ~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; {5550#true} is VALID [2020-07-17 22:48:55,154 INFO L280 TraceCheckUtils]: 1: Hoare triple {5550#true} assume true; {5550#true} is VALID [2020-07-17 22:48:55,155 INFO L275 TraceCheckUtils]: 2: Hoare quadruple {5550#true} {5551#false} #184#return; {5551#false} is VALID [2020-07-17 22:48:55,156 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2020-07-17 22:48:55,172 INFO L280 TraceCheckUtils]: 0: Hoare triple {5550#true} ~set.base, ~set.offset := #in~set.base, #in~set.offset;~size := #in~size;~value := #in~value;havoc ~i~0;~i~0 := 0; {5550#true} is VALID [2020-07-17 22:48:55,173 INFO L280 TraceCheckUtils]: 1: Hoare triple {5550#true} assume !!(~i~0 < ~size);call #t~mem1 := read~int(~set.base, ~set.offset + 4 * ~i~0, 4); {5550#true} is VALID [2020-07-17 22:48:55,173 INFO L280 TraceCheckUtils]: 2: Hoare triple {5550#true} assume #t~mem1 == ~value;havoc #t~mem1;#res := 1; {5550#true} is VALID [2020-07-17 22:48:55,173 INFO L280 TraceCheckUtils]: 3: Hoare triple {5550#true} assume true; {5550#true} is VALID [2020-07-17 22:48:55,173 INFO L275 TraceCheckUtils]: 4: Hoare quadruple {5550#true} {5551#false} #182#return; {5551#false} is VALID [2020-07-17 22:48:55,175 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2020-07-17 22:48:55,183 INFO L280 TraceCheckUtils]: 0: Hoare triple {5574#(= |#memory_int| |old(#memory_int)|)} ~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; {5550#true} is VALID [2020-07-17 22:48:55,184 INFO L280 TraceCheckUtils]: 1: Hoare triple {5550#true} assume true; {5550#true} is VALID [2020-07-17 22:48:55,184 INFO L275 TraceCheckUtils]: 2: Hoare quadruple {5550#true} {5551#false} #184#return; {5551#false} is VALID [2020-07-17 22:48:55,187 INFO L263 TraceCheckUtils]: 0: Hoare triple {5550#true} call ULTIMATE.init(); {5573#(and (= |#valid| |old(#valid)|) (= |#NULL.base| |old(#NULL.base)|) (= |#NULL.offset| |old(#NULL.offset)|))} is VALID [2020-07-17 22:48:55,187 INFO L280 TraceCheckUtils]: 1: Hoare triple {5573#(and (= |#valid| |old(#valid)|) (= |#NULL.base| |old(#NULL.base)|) (= |#NULL.offset| |old(#NULL.offset)|))} #NULL.base, #NULL.offset := 0, 0;#valid := #valid[0 := 0];assume 0 < #StackHeapBarrier; {5550#true} is VALID [2020-07-17 22:48:55,188 INFO L280 TraceCheckUtils]: 2: Hoare triple {5550#true} assume true; {5550#true} is VALID [2020-07-17 22:48:55,188 INFO L275 TraceCheckUtils]: 3: Hoare quadruple {5550#true} {5550#true} #176#return; {5550#true} is VALID [2020-07-17 22:48:55,188 INFO L263 TraceCheckUtils]: 4: Hoare triple {5550#true} call #t~ret23 := main(); {5550#true} is VALID [2020-07-17 22:48:55,188 INFO L280 TraceCheckUtils]: 5: Hoare triple {5550#true} ~n~0 := 0;call ~#set~0.base, ~#set~0.offset := #Ultimate.allocOnStack(400000);havoc ~x~0;havoc ~y~0;~x~0 := 0; {5550#true} is VALID [2020-07-17 22:48:55,188 INFO L280 TraceCheckUtils]: 6: Hoare triple {5550#true} assume !!(~x~0 < 100000);assume -2147483648 <= #t~nondet3 && #t~nondet3 <= 2147483647;call write~int(#t~nondet3, ~#set~0.base, ~#set~0.offset + 4 * ~x~0, 4);havoc #t~nondet3; {5550#true} is VALID [2020-07-17 22:48:55,189 INFO L280 TraceCheckUtils]: 7: Hoare triple {5550#true} #t~post2 := ~x~0;~x~0 := 1 + #t~post2;havoc #t~post2; {5550#true} is VALID [2020-07-17 22:48:55,189 INFO L280 TraceCheckUtils]: 8: Hoare triple {5550#true} assume !!(~x~0 < 100000);assume -2147483648 <= #t~nondet3 && #t~nondet3 <= 2147483647;call write~int(#t~nondet3, ~#set~0.base, ~#set~0.offset + 4 * ~x~0, 4);havoc #t~nondet3; {5550#true} is VALID [2020-07-17 22:48:55,189 INFO L280 TraceCheckUtils]: 9: Hoare triple {5550#true} #t~post2 := ~x~0;~x~0 := 1 + #t~post2;havoc #t~post2; {5550#true} is VALID [2020-07-17 22:48:55,189 INFO L280 TraceCheckUtils]: 10: Hoare triple {5550#true} assume !!(~x~0 < 100000);assume -2147483648 <= #t~nondet3 && #t~nondet3 <= 2147483647;call write~int(#t~nondet3, ~#set~0.base, ~#set~0.offset + 4 * ~x~0, 4);havoc #t~nondet3; {5550#true} is VALID [2020-07-17 22:48:55,189 INFO L280 TraceCheckUtils]: 11: Hoare triple {5550#true} #t~post2 := ~x~0;~x~0 := 1 + #t~post2;havoc #t~post2; {5550#true} is VALID [2020-07-17 22:48:55,190 INFO L280 TraceCheckUtils]: 12: Hoare triple {5550#true} assume !!(~x~0 < 100000);assume -2147483648 <= #t~nondet3 && #t~nondet3 <= 2147483647;call write~int(#t~nondet3, ~#set~0.base, ~#set~0.offset + 4 * ~x~0, 4);havoc #t~nondet3; {5550#true} is VALID [2020-07-17 22:48:55,190 INFO L280 TraceCheckUtils]: 13: Hoare triple {5550#true} #t~post2 := ~x~0;~x~0 := 1 + #t~post2;havoc #t~post2; {5550#true} is VALID [2020-07-17 22:48:55,190 INFO L280 TraceCheckUtils]: 14: Hoare triple {5550#true} assume !(~x~0 < 100000); {5550#true} is VALID [2020-07-17 22:48:55,190 INFO L280 TraceCheckUtils]: 15: Hoare triple {5550#true} ~x~0 := 0; {5550#true} is VALID [2020-07-17 22:48:55,190 INFO L280 TraceCheckUtils]: 16: Hoare triple {5550#true} assume !(~x~0 < ~n~0); {5550#true} is VALID [2020-07-17 22:48:55,191 INFO L280 TraceCheckUtils]: 17: Hoare triple {5550#true} call ~#values~0.base, ~#values~0.offset := #Ultimate.allocOnStack(400000);havoc ~v~0;~v~0 := 0; {5555#(= 0 main_~v~0)} is VALID [2020-07-17 22:48:55,192 INFO L280 TraceCheckUtils]: 18: Hoare triple {5555#(= 0 main_~v~0)} assume !!(~v~0 < 100000);assume -2147483648 <= #t~nondet9 && #t~nondet9 <= 2147483647;call write~int(#t~nondet9, ~#values~0.base, ~#values~0.offset + 4 * ~v~0, 4);havoc #t~nondet9; {5555#(= 0 main_~v~0)} is VALID [2020-07-17 22:48:55,193 INFO L280 TraceCheckUtils]: 19: Hoare triple {5555#(= 0 main_~v~0)} #t~post8 := ~v~0;~v~0 := 1 + #t~post8;havoc #t~post8; {5556#(<= main_~v~0 1)} is VALID [2020-07-17 22:48:55,193 INFO L280 TraceCheckUtils]: 20: Hoare triple {5556#(<= main_~v~0 1)} assume !(~v~0 < 100000); {5551#false} is VALID [2020-07-17 22:48:55,194 INFO L280 TraceCheckUtils]: 21: Hoare triple {5551#false} ~v~0 := 0; {5551#false} is VALID [2020-07-17 22:48:55,194 INFO L280 TraceCheckUtils]: 22: Hoare triple {5551#false} assume !!(~v~0 < 100000);call #t~mem11 := read~int(~#values~0.base, ~#values~0.offset + 4 * ~v~0, 4); {5551#false} is VALID [2020-07-17 22:48:55,194 INFO L263 TraceCheckUtils]: 23: Hoare triple {5551#false} call #t~ret12 := elem_exists(~#set~0.base, ~#set~0.offset, ~n~0, #t~mem11); {5550#true} is VALID [2020-07-17 22:48:55,194 INFO L280 TraceCheckUtils]: 24: Hoare triple {5550#true} ~set.base, ~set.offset := #in~set.base, #in~set.offset;~size := #in~size;~value := #in~value;havoc ~i~0;~i~0 := 0; {5550#true} is VALID [2020-07-17 22:48:55,195 INFO L280 TraceCheckUtils]: 25: Hoare triple {5550#true} assume !(~i~0 < ~size); {5550#true} is VALID [2020-07-17 22:48:55,195 INFO L280 TraceCheckUtils]: 26: Hoare triple {5550#true} #res := 0; {5550#true} is VALID [2020-07-17 22:48:55,195 INFO L280 TraceCheckUtils]: 27: Hoare triple {5550#true} assume true; {5550#true} is VALID [2020-07-17 22:48:55,195 INFO L275 TraceCheckUtils]: 28: Hoare quadruple {5550#true} {5551#false} #182#return; {5551#false} is VALID [2020-07-17 22:48:55,196 INFO L280 TraceCheckUtils]: 29: Hoare triple {5551#false} assume -2147483648 <= #t~ret12 && #t~ret12 <= 2147483647; {5551#false} is VALID [2020-07-17 22:48:55,196 INFO L280 TraceCheckUtils]: 30: Hoare triple {5551#false} assume 0 != #t~ret12;havoc #t~mem11;havoc #t~ret12;call #t~mem13 := read~int(~#values~0.base, ~#values~0.offset + 4 * ~v~0, 4); {5551#false} is VALID [2020-07-17 22:48:55,196 INFO L263 TraceCheckUtils]: 31: Hoare triple {5551#false} call #t~ret14 := insert(~#set~0.base, ~#set~0.offset, ~n~0, #t~mem13); {5574#(= |#memory_int| |old(#memory_int)|)} is VALID [2020-07-17 22:48:55,196 INFO L280 TraceCheckUtils]: 32: Hoare triple {5574#(= |#memory_int| |old(#memory_int)|)} ~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; {5550#true} is VALID [2020-07-17 22:48:55,197 INFO L280 TraceCheckUtils]: 33: Hoare triple {5550#true} assume true; {5550#true} is VALID [2020-07-17 22:48:55,197 INFO L275 TraceCheckUtils]: 34: Hoare quadruple {5550#true} {5551#false} #184#return; {5551#false} is VALID [2020-07-17 22:48:55,197 INFO L280 TraceCheckUtils]: 35: Hoare triple {5551#false} assume -2147483648 <= #t~ret14 && #t~ret14 <= 2147483647;~n~0 := #t~ret14;havoc #t~mem13;havoc #t~ret14; {5551#false} is VALID [2020-07-17 22:48:55,198 INFO L280 TraceCheckUtils]: 36: Hoare triple {5551#false} ~x~0 := 0; {5551#false} is VALID [2020-07-17 22:48:55,198 INFO L280 TraceCheckUtils]: 37: Hoare triple {5551#false} assume !(~x~0 < ~n~0); {5551#false} is VALID [2020-07-17 22:48:55,199 INFO L280 TraceCheckUtils]: 38: Hoare triple {5551#false} #t~post10 := ~v~0;~v~0 := 1 + #t~post10;havoc #t~post10; {5551#false} is VALID [2020-07-17 22:48:55,199 INFO L280 TraceCheckUtils]: 39: Hoare triple {5551#false} assume !!(~v~0 < 100000);call #t~mem11 := read~int(~#values~0.base, ~#values~0.offset + 4 * ~v~0, 4); {5551#false} is VALID [2020-07-17 22:48:55,199 INFO L263 TraceCheckUtils]: 40: Hoare triple {5551#false} call #t~ret12 := elem_exists(~#set~0.base, ~#set~0.offset, ~n~0, #t~mem11); {5550#true} is VALID [2020-07-17 22:48:55,199 INFO L280 TraceCheckUtils]: 41: Hoare triple {5550#true} ~set.base, ~set.offset := #in~set.base, #in~set.offset;~size := #in~size;~value := #in~value;havoc ~i~0;~i~0 := 0; {5550#true} is VALID [2020-07-17 22:48:55,200 INFO L280 TraceCheckUtils]: 42: Hoare triple {5550#true} assume !!(~i~0 < ~size);call #t~mem1 := read~int(~set.base, ~set.offset + 4 * ~i~0, 4); {5550#true} is VALID [2020-07-17 22:48:55,200 INFO L280 TraceCheckUtils]: 43: Hoare triple {5550#true} assume #t~mem1 == ~value;havoc #t~mem1;#res := 1; {5550#true} is VALID [2020-07-17 22:48:55,200 INFO L280 TraceCheckUtils]: 44: Hoare triple {5550#true} assume true; {5550#true} is VALID [2020-07-17 22:48:55,200 INFO L275 TraceCheckUtils]: 45: Hoare quadruple {5550#true} {5551#false} #182#return; {5551#false} is VALID [2020-07-17 22:48:55,200 INFO L280 TraceCheckUtils]: 46: Hoare triple {5551#false} assume -2147483648 <= #t~ret12 && #t~ret12 <= 2147483647; {5551#false} is VALID [2020-07-17 22:48:55,201 INFO L280 TraceCheckUtils]: 47: Hoare triple {5551#false} assume 0 != #t~ret12;havoc #t~mem11;havoc #t~ret12;call #t~mem13 := read~int(~#values~0.base, ~#values~0.offset + 4 * ~v~0, 4); {5551#false} is VALID [2020-07-17 22:48:55,201 INFO L263 TraceCheckUtils]: 48: Hoare triple {5551#false} call #t~ret14 := insert(~#set~0.base, ~#set~0.offset, ~n~0, #t~mem13); {5574#(= |#memory_int| |old(#memory_int)|)} is VALID [2020-07-17 22:48:55,201 INFO L280 TraceCheckUtils]: 49: Hoare triple {5574#(= |#memory_int| |old(#memory_int)|)} ~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; {5550#true} is VALID [2020-07-17 22:48:55,201 INFO L280 TraceCheckUtils]: 50: Hoare triple {5550#true} assume true; {5550#true} is VALID [2020-07-17 22:48:55,201 INFO L275 TraceCheckUtils]: 51: Hoare quadruple {5550#true} {5551#false} #184#return; {5551#false} is VALID [2020-07-17 22:48:55,202 INFO L280 TraceCheckUtils]: 52: Hoare triple {5551#false} assume -2147483648 <= #t~ret14 && #t~ret14 <= 2147483647;~n~0 := #t~ret14;havoc #t~mem13;havoc #t~ret14; {5551#false} is VALID [2020-07-17 22:48:55,202 INFO L280 TraceCheckUtils]: 53: Hoare triple {5551#false} ~x~0 := 0; {5551#false} is VALID [2020-07-17 22:48:55,202 INFO L280 TraceCheckUtils]: 54: Hoare triple {5551#false} assume !!(~x~0 < ~n~0);~y~0 := 1 + ~x~0; {5551#false} is VALID [2020-07-17 22:48:55,202 INFO L280 TraceCheckUtils]: 55: Hoare triple {5551#false} assume !!(~y~0 < ~n~0);call #t~mem17 := read~int(~#set~0.base, ~#set~0.offset + 4 * ~x~0, 4);call #t~mem18 := read~int(~#set~0.base, ~#set~0.offset + 4 * ~y~0, 4); {5551#false} is VALID [2020-07-17 22:48:55,203 INFO L263 TraceCheckUtils]: 56: Hoare triple {5551#false} call __VERIFIER_assert((if #t~mem17 != #t~mem18 then 1 else 0)); {5551#false} is VALID [2020-07-17 22:48:55,203 INFO L280 TraceCheckUtils]: 57: Hoare triple {5551#false} ~cond := #in~cond; {5551#false} is VALID [2020-07-17 22:48:55,203 INFO L280 TraceCheckUtils]: 58: Hoare triple {5551#false} assume 0 == ~cond; {5551#false} is VALID [2020-07-17 22:48:55,203 INFO L280 TraceCheckUtils]: 59: Hoare triple {5551#false} assume !false; {5551#false} is VALID [2020-07-17 22:48:55,206 INFO L134 CoverageAnalysis]: Checked inductivity of 32 backedges. 0 proven. 1 refuted. 0 times theorem prover too weak. 31 trivial. 0 not checked. [2020-07-17 22:48:55,207 INFO L354 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleSmtInterpolCraig [297624450] [2020-07-17 22:48:55,209 INFO L354 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleZ3 [2000303872] [2020-07-17 22:48:55,209 INFO L94 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 Starting monitored process 9 with z3 -smt2 -in SMTLIB2_COMPLIANT=true (exit command is (exit), workingDir is null) Waiting until toolchain timeout for monitored process 9 with z3 -smt2 -in SMTLIB2_COMPLIANT=true [2020-07-17 22:48:55,313 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2020-07-17 22:48:55,315 INFO L264 TraceCheckSpWp]: Trace formula consists of 239 conjuncts, 6 conjunts are in the unsatisfiable core [2020-07-17 22:48:55,349 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2020-07-17 22:48:55,351 INFO L287 TraceCheckSpWp]: Computing forward predicates... [2020-07-17 22:48:55,503 INFO L263 TraceCheckUtils]: 0: Hoare triple {5550#true} call ULTIMATE.init(); {5550#true} is VALID [2020-07-17 22:48:55,503 INFO L280 TraceCheckUtils]: 1: Hoare triple {5550#true} #NULL.base, #NULL.offset := 0, 0;#valid := #valid[0 := 0];assume 0 < #StackHeapBarrier; {5550#true} is VALID [2020-07-17 22:48:55,503 INFO L280 TraceCheckUtils]: 2: Hoare triple {5550#true} assume true; {5550#true} is VALID [2020-07-17 22:48:55,504 INFO L275 TraceCheckUtils]: 3: Hoare quadruple {5550#true} {5550#true} #176#return; {5550#true} is VALID [2020-07-17 22:48:55,504 INFO L263 TraceCheckUtils]: 4: Hoare triple {5550#true} call #t~ret23 := main(); {5550#true} is VALID [2020-07-17 22:48:55,505 INFO L280 TraceCheckUtils]: 5: Hoare triple {5550#true} ~n~0 := 0;call ~#set~0.base, ~#set~0.offset := #Ultimate.allocOnStack(400000);havoc ~x~0;havoc ~y~0;~x~0 := 0; {5593#(<= main_~x~0 0)} is VALID [2020-07-17 22:48:55,505 INFO L280 TraceCheckUtils]: 6: Hoare triple {5593#(<= main_~x~0 0)} assume !!(~x~0 < 100000);assume -2147483648 <= #t~nondet3 && #t~nondet3 <= 2147483647;call write~int(#t~nondet3, ~#set~0.base, ~#set~0.offset + 4 * ~x~0, 4);havoc #t~nondet3; {5593#(<= main_~x~0 0)} is VALID [2020-07-17 22:48:55,507 INFO L280 TraceCheckUtils]: 7: Hoare triple {5593#(<= main_~x~0 0)} #t~post2 := ~x~0;~x~0 := 1 + #t~post2;havoc #t~post2; {5600#(<= main_~x~0 1)} is VALID [2020-07-17 22:48:55,508 INFO L280 TraceCheckUtils]: 8: Hoare triple {5600#(<= main_~x~0 1)} assume !!(~x~0 < 100000);assume -2147483648 <= #t~nondet3 && #t~nondet3 <= 2147483647;call write~int(#t~nondet3, ~#set~0.base, ~#set~0.offset + 4 * ~x~0, 4);havoc #t~nondet3; {5600#(<= main_~x~0 1)} is VALID [2020-07-17 22:48:55,508 INFO L280 TraceCheckUtils]: 9: Hoare triple {5600#(<= main_~x~0 1)} #t~post2 := ~x~0;~x~0 := 1 + #t~post2;havoc #t~post2; {5607#(<= main_~x~0 2)} is VALID [2020-07-17 22:48:55,509 INFO L280 TraceCheckUtils]: 10: Hoare triple {5607#(<= main_~x~0 2)} assume !!(~x~0 < 100000);assume -2147483648 <= #t~nondet3 && #t~nondet3 <= 2147483647;call write~int(#t~nondet3, ~#set~0.base, ~#set~0.offset + 4 * ~x~0, 4);havoc #t~nondet3; {5607#(<= main_~x~0 2)} is VALID [2020-07-17 22:48:55,510 INFO L280 TraceCheckUtils]: 11: Hoare triple {5607#(<= main_~x~0 2)} #t~post2 := ~x~0;~x~0 := 1 + #t~post2;havoc #t~post2; {5614#(<= main_~x~0 3)} is VALID [2020-07-17 22:48:55,511 INFO L280 TraceCheckUtils]: 12: Hoare triple {5614#(<= main_~x~0 3)} assume !!(~x~0 < 100000);assume -2147483648 <= #t~nondet3 && #t~nondet3 <= 2147483647;call write~int(#t~nondet3, ~#set~0.base, ~#set~0.offset + 4 * ~x~0, 4);havoc #t~nondet3; {5614#(<= main_~x~0 3)} is VALID [2020-07-17 22:48:55,511 INFO L280 TraceCheckUtils]: 13: Hoare triple {5614#(<= main_~x~0 3)} #t~post2 := ~x~0;~x~0 := 1 + #t~post2;havoc #t~post2; {5621#(<= main_~x~0 4)} is VALID [2020-07-17 22:48:55,512 INFO L280 TraceCheckUtils]: 14: Hoare triple {5621#(<= main_~x~0 4)} assume !(~x~0 < 100000); {5551#false} is VALID [2020-07-17 22:48:55,513 INFO L280 TraceCheckUtils]: 15: Hoare triple {5551#false} ~x~0 := 0; {5551#false} is VALID [2020-07-17 22:48:55,513 INFO L280 TraceCheckUtils]: 16: Hoare triple {5551#false} assume !(~x~0 < ~n~0); {5551#false} is VALID [2020-07-17 22:48:55,513 INFO L280 TraceCheckUtils]: 17: Hoare triple {5551#false} call ~#values~0.base, ~#values~0.offset := #Ultimate.allocOnStack(400000);havoc ~v~0;~v~0 := 0; {5551#false} is VALID [2020-07-17 22:48:55,513 INFO L280 TraceCheckUtils]: 18: Hoare triple {5551#false} assume !!(~v~0 < 100000);assume -2147483648 <= #t~nondet9 && #t~nondet9 <= 2147483647;call write~int(#t~nondet9, ~#values~0.base, ~#values~0.offset + 4 * ~v~0, 4);havoc #t~nondet9; {5551#false} is VALID [2020-07-17 22:48:55,513 INFO L280 TraceCheckUtils]: 19: Hoare triple {5551#false} #t~post8 := ~v~0;~v~0 := 1 + #t~post8;havoc #t~post8; {5551#false} is VALID [2020-07-17 22:48:55,514 INFO L280 TraceCheckUtils]: 20: Hoare triple {5551#false} assume !(~v~0 < 100000); {5551#false} is VALID [2020-07-17 22:48:55,514 INFO L280 TraceCheckUtils]: 21: Hoare triple {5551#false} ~v~0 := 0; {5551#false} is VALID [2020-07-17 22:48:55,514 INFO L280 TraceCheckUtils]: 22: Hoare triple {5551#false} assume !!(~v~0 < 100000);call #t~mem11 := read~int(~#values~0.base, ~#values~0.offset + 4 * ~v~0, 4); {5551#false} is VALID [2020-07-17 22:48:55,514 INFO L263 TraceCheckUtils]: 23: Hoare triple {5551#false} call #t~ret12 := elem_exists(~#set~0.base, ~#set~0.offset, ~n~0, #t~mem11); {5551#false} is VALID [2020-07-17 22:48:55,514 INFO L280 TraceCheckUtils]: 24: Hoare triple {5551#false} ~set.base, ~set.offset := #in~set.base, #in~set.offset;~size := #in~size;~value := #in~value;havoc ~i~0;~i~0 := 0; {5551#false} is VALID [2020-07-17 22:48:55,515 INFO L280 TraceCheckUtils]: 25: Hoare triple {5551#false} assume !(~i~0 < ~size); {5551#false} is VALID [2020-07-17 22:48:55,515 INFO L280 TraceCheckUtils]: 26: Hoare triple {5551#false} #res := 0; {5551#false} is VALID [2020-07-17 22:48:55,515 INFO L280 TraceCheckUtils]: 27: Hoare triple {5551#false} assume true; {5551#false} is VALID [2020-07-17 22:48:55,515 INFO L275 TraceCheckUtils]: 28: Hoare quadruple {5551#false} {5551#false} #182#return; {5551#false} is VALID [2020-07-17 22:48:55,515 INFO L280 TraceCheckUtils]: 29: Hoare triple {5551#false} assume -2147483648 <= #t~ret12 && #t~ret12 <= 2147483647; {5551#false} is VALID [2020-07-17 22:48:55,516 INFO L280 TraceCheckUtils]: 30: Hoare triple {5551#false} assume 0 != #t~ret12;havoc #t~mem11;havoc #t~ret12;call #t~mem13 := read~int(~#values~0.base, ~#values~0.offset + 4 * ~v~0, 4); {5551#false} is VALID [2020-07-17 22:48:55,516 INFO L263 TraceCheckUtils]: 31: Hoare triple {5551#false} call #t~ret14 := insert(~#set~0.base, ~#set~0.offset, ~n~0, #t~mem13); {5551#false} is VALID [2020-07-17 22:48:55,516 INFO L280 TraceCheckUtils]: 32: Hoare triple {5551#false} ~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; {5551#false} is VALID [2020-07-17 22:48:55,516 INFO L280 TraceCheckUtils]: 33: Hoare triple {5551#false} assume true; {5551#false} is VALID [2020-07-17 22:48:55,516 INFO L275 TraceCheckUtils]: 34: Hoare quadruple {5551#false} {5551#false} #184#return; {5551#false} is VALID [2020-07-17 22:48:55,517 INFO L280 TraceCheckUtils]: 35: Hoare triple {5551#false} assume -2147483648 <= #t~ret14 && #t~ret14 <= 2147483647;~n~0 := #t~ret14;havoc #t~mem13;havoc #t~ret14; {5551#false} is VALID [2020-07-17 22:48:55,517 INFO L280 TraceCheckUtils]: 36: Hoare triple {5551#false} ~x~0 := 0; {5551#false} is VALID [2020-07-17 22:48:55,517 INFO L280 TraceCheckUtils]: 37: Hoare triple {5551#false} assume !(~x~0 < ~n~0); {5551#false} is VALID [2020-07-17 22:48:55,517 INFO L280 TraceCheckUtils]: 38: Hoare triple {5551#false} #t~post10 := ~v~0;~v~0 := 1 + #t~post10;havoc #t~post10; {5551#false} is VALID [2020-07-17 22:48:55,517 INFO L280 TraceCheckUtils]: 39: Hoare triple {5551#false} assume !!(~v~0 < 100000);call #t~mem11 := read~int(~#values~0.base, ~#values~0.offset + 4 * ~v~0, 4); {5551#false} is VALID [2020-07-17 22:48:55,518 INFO L263 TraceCheckUtils]: 40: Hoare triple {5551#false} call #t~ret12 := elem_exists(~#set~0.base, ~#set~0.offset, ~n~0, #t~mem11); {5551#false} is VALID [2020-07-17 22:48:55,518 INFO L280 TraceCheckUtils]: 41: Hoare triple {5551#false} ~set.base, ~set.offset := #in~set.base, #in~set.offset;~size := #in~size;~value := #in~value;havoc ~i~0;~i~0 := 0; {5551#false} is VALID [2020-07-17 22:48:55,518 INFO L280 TraceCheckUtils]: 42: Hoare triple {5551#false} assume !!(~i~0 < ~size);call #t~mem1 := read~int(~set.base, ~set.offset + 4 * ~i~0, 4); {5551#false} is VALID [2020-07-17 22:48:55,518 INFO L280 TraceCheckUtils]: 43: Hoare triple {5551#false} assume #t~mem1 == ~value;havoc #t~mem1;#res := 1; {5551#false} is VALID [2020-07-17 22:48:55,518 INFO L280 TraceCheckUtils]: 44: Hoare triple {5551#false} assume true; {5551#false} is VALID [2020-07-17 22:48:55,519 INFO L275 TraceCheckUtils]: 45: Hoare quadruple {5551#false} {5551#false} #182#return; {5551#false} is VALID [2020-07-17 22:48:55,519 INFO L280 TraceCheckUtils]: 46: Hoare triple {5551#false} assume -2147483648 <= #t~ret12 && #t~ret12 <= 2147483647; {5551#false} is VALID [2020-07-17 22:48:55,519 INFO L280 TraceCheckUtils]: 47: Hoare triple {5551#false} assume 0 != #t~ret12;havoc #t~mem11;havoc #t~ret12;call #t~mem13 := read~int(~#values~0.base, ~#values~0.offset + 4 * ~v~0, 4); {5551#false} is VALID [2020-07-17 22:48:55,519 INFO L263 TraceCheckUtils]: 48: Hoare triple {5551#false} call #t~ret14 := insert(~#set~0.base, ~#set~0.offset, ~n~0, #t~mem13); {5551#false} is VALID [2020-07-17 22:48:55,519 INFO L280 TraceCheckUtils]: 49: Hoare triple {5551#false} ~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; {5551#false} is VALID [2020-07-17 22:48:55,520 INFO L280 TraceCheckUtils]: 50: Hoare triple {5551#false} assume true; {5551#false} is VALID [2020-07-17 22:48:55,520 INFO L275 TraceCheckUtils]: 51: Hoare quadruple {5551#false} {5551#false} #184#return; {5551#false} is VALID [2020-07-17 22:48:55,520 INFO L280 TraceCheckUtils]: 52: Hoare triple {5551#false} assume -2147483648 <= #t~ret14 && #t~ret14 <= 2147483647;~n~0 := #t~ret14;havoc #t~mem13;havoc #t~ret14; {5551#false} is VALID [2020-07-17 22:48:55,520 INFO L280 TraceCheckUtils]: 53: Hoare triple {5551#false} ~x~0 := 0; {5551#false} is VALID [2020-07-17 22:48:55,520 INFO L280 TraceCheckUtils]: 54: Hoare triple {5551#false} assume !!(~x~0 < ~n~0);~y~0 := 1 + ~x~0; {5551#false} is VALID [2020-07-17 22:48:55,521 INFO L280 TraceCheckUtils]: 55: Hoare triple {5551#false} assume !!(~y~0 < ~n~0);call #t~mem17 := read~int(~#set~0.base, ~#set~0.offset + 4 * ~x~0, 4);call #t~mem18 := read~int(~#set~0.base, ~#set~0.offset + 4 * ~y~0, 4); {5551#false} is VALID [2020-07-17 22:48:55,521 INFO L263 TraceCheckUtils]: 56: Hoare triple {5551#false} call __VERIFIER_assert((if #t~mem17 != #t~mem18 then 1 else 0)); {5551#false} is VALID [2020-07-17 22:48:55,521 INFO L280 TraceCheckUtils]: 57: Hoare triple {5551#false} ~cond := #in~cond; {5551#false} is VALID [2020-07-17 22:48:55,521 INFO L280 TraceCheckUtils]: 58: Hoare triple {5551#false} assume 0 == ~cond; {5551#false} is VALID [2020-07-17 22:48:55,522 INFO L280 TraceCheckUtils]: 59: Hoare triple {5551#false} assume !false; {5551#false} is VALID [2020-07-17 22:48:55,525 INFO L134 CoverageAnalysis]: Checked inductivity of 32 backedges. 0 proven. 16 refuted. 0 times theorem prover too weak. 16 trivial. 0 not checked. [2020-07-17 22:48:55,525 INFO L220 FreeRefinementEngine]: Constructing automaton from 0 perfect and 2 imperfect interpolant sequences. [2020-07-17 22:48:55,526 INFO L233 FreeRefinementEngine]: Number of different interpolants: perfect sequences [] imperfect sequences [6, 7] total 11 [2020-07-17 22:48:55,529 INFO L156 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [397735723] [2020-07-17 22:48:55,532 INFO L78 Accepts]: Start accepts. Automaton has 11 states. Word has length 60 [2020-07-17 22:48:55,539 INFO L84 Accepts]: Finished accepts. word is accepted. [2020-07-17 22:48:55,539 INFO L86 InductivityCheck]: Starting indutivity check of a Floyd-Hoare automaton with 11 states. [2020-07-17 22:48:55,617 INFO L119 InductivityCheck]: Floyd-Hoare automaton has 71 edges. 71 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2020-07-17 22:48:55,618 INFO L459 AbstractCegarLoop]: Interpolant automaton has 11 states [2020-07-17 22:48:55,618 INFO L143 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy CAMEL [2020-07-17 22:48:55,618 INFO L142 InterpolantAutomaton]: Constructing interpolant automaton starting with 11 interpolants. [2020-07-17 22:48:55,619 INFO L144 InterpolantAutomaton]: CoverageRelationStatistics Valid=30, Invalid=80, Unknown=0, NotChecked=0, Total=110 [2020-07-17 22:48:55,619 INFO L87 Difference]: Start difference. First operand 90 states and 112 transitions. Second operand 11 states. [2020-07-17 22:48:58,296 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2020-07-17 22:48:58,296 INFO L93 Difference]: Finished difference Result 528 states and 725 transitions. [2020-07-17 22:48:58,296 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 23 states. [2020-07-17 22:48:58,296 INFO L78 Accepts]: Start accepts. Automaton has 11 states. Word has length 60 [2020-07-17 22:48:58,297 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2020-07-17 22:48:58,297 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 11 states. [2020-07-17 22:48:58,304 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 23 states to 23 states and 439 transitions. [2020-07-17 22:48:58,304 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 11 states. [2020-07-17 22:48:58,311 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 23 states to 23 states and 439 transitions. [2020-07-17 22:48:58,312 INFO L86 InductivityCheck]: Starting indutivity check of a Floyd-Hoare automaton with 23 states and 439 transitions. [2020-07-17 22:48:58,849 INFO L119 InductivityCheck]: Floyd-Hoare automaton has 439 edges. 439 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2020-07-17 22:48:58,869 INFO L225 Difference]: With dead ends: 528 [2020-07-17 22:48:58,870 INFO L226 Difference]: Without dead ends: 453 [2020-07-17 22:48:58,870 INFO L675 BasicCegarLoop]: 0 DeclaredPredicates, 86 GetRequests, 65 SyntacticMatches, 0 SemanticMatches, 21 ConstructedPredicates, 0 IntricatePredicates, 0 DeprecatedPredicates, 73 ImplicationChecksByTransitivity, 0.2s TimeCoverageRelationStatistics Valid=142, Invalid=364, Unknown=0, NotChecked=0, Total=506 [2020-07-17 22:48:58,871 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 453 states. [2020-07-17 22:48:58,983 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 453 to 94. [2020-07-17 22:48:58,983 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2020-07-17 22:48:58,983 INFO L82 GeneralOperation]: Start isEquivalent. First operand 453 states. Second operand 94 states. [2020-07-17 22:48:58,983 INFO L74 IsIncluded]: Start isIncluded. First operand 453 states. Second operand 94 states. [2020-07-17 22:48:58,983 INFO L87 Difference]: Start difference. First operand 453 states. Second operand 94 states. [2020-07-17 22:48:59,005 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2020-07-17 22:48:59,006 INFO L93 Difference]: Finished difference Result 453 states and 627 transitions. [2020-07-17 22:48:59,006 INFO L276 IsEmpty]: Start isEmpty. Operand 453 states and 627 transitions. [2020-07-17 22:48:59,008 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2020-07-17 22:48:59,008 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2020-07-17 22:48:59,008 INFO L74 IsIncluded]: Start isIncluded. First operand 94 states. Second operand 453 states. [2020-07-17 22:48:59,009 INFO L87 Difference]: Start difference. First operand 94 states. Second operand 453 states. [2020-07-17 22:48:59,030 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2020-07-17 22:48:59,031 INFO L93 Difference]: Finished difference Result 453 states and 627 transitions. [2020-07-17 22:48:59,031 INFO L276 IsEmpty]: Start isEmpty. Operand 453 states and 627 transitions. [2020-07-17 22:48:59,033 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2020-07-17 22:48:59,033 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2020-07-17 22:48:59,033 INFO L88 GeneralOperation]: Finished isEquivalent. [2020-07-17 22:48:59,034 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2020-07-17 22:48:59,034 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 94 states. [2020-07-17 22:48:59,036 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 94 states to 94 states and 116 transitions. [2020-07-17 22:48:59,037 INFO L78 Accepts]: Start accepts. Automaton has 94 states and 116 transitions. Word has length 60 [2020-07-17 22:48:59,037 INFO L84 Accepts]: Finished accepts. word is rejected. [2020-07-17 22:48:59,037 INFO L479 AbstractCegarLoop]: Abstraction has 94 states and 116 transitions. [2020-07-17 22:48:59,037 INFO L480 AbstractCegarLoop]: Interpolant automaton has 11 states. [2020-07-17 22:48:59,037 INFO L276 IsEmpty]: Start isEmpty. Operand 94 states and 116 transitions. [2020-07-17 22:48:59,038 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 65 [2020-07-17 22:48:59,038 INFO L414 BasicCegarLoop]: Found error trace [2020-07-17 22:48:59,038 INFO L422 BasicCegarLoop]: trace histogram [5, 5, 2, 2, 2, 2, 2, 2, 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] [2020-07-17 22:48:59,251 WARN L516 AbstractCegarLoop]: Destroyed unattended storables created during the last iteration: 9 z3 -smt2 -in SMTLIB2_COMPLIANT=true,SelfDestructingSolverStorable8 [2020-07-17 22:48:59,252 INFO L427 AbstractCegarLoop]: === Iteration 10 === [__VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION]=== [2020-07-17 22:48:59,252 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2020-07-17 22:48:59,252 INFO L82 PathProgramCache]: Analyzing trace with hash 1850595157, now seen corresponding path program 2 times [2020-07-17 22:48:59,252 INFO L163 FreeRefinementEngine]: Executing refinement strategy CAMEL [2020-07-17 22:48:59,253 INFO L354 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [780456398] [2020-07-17 22:48:59,253 INFO L94 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2020-07-17 22:48:59,271 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2020-07-17 22:48:59,354 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2020-07-17 22:48:59,357 INFO L280 TraceCheckUtils]: 0: Hoare triple {7588#(and (= |#valid| |old(#valid)|) (= |#NULL.base| |old(#NULL.base)|) (= |#NULL.offset| |old(#NULL.offset)|))} #NULL.base, #NULL.offset := 0, 0;#valid := #valid[0 := 0];assume 0 < #StackHeapBarrier; {7561#true} is VALID [2020-07-17 22:48:59,357 INFO L280 TraceCheckUtils]: 1: Hoare triple {7561#true} assume true; {7561#true} is VALID [2020-07-17 22:48:59,358 INFO L275 TraceCheckUtils]: 2: Hoare quadruple {7561#true} {7561#true} #176#return; {7561#true} is VALID [2020-07-17 22:48:59,359 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2020-07-17 22:48:59,362 INFO L280 TraceCheckUtils]: 0: Hoare triple {7561#true} ~set.base, ~set.offset := #in~set.base, #in~set.offset;~size := #in~size;~value := #in~value;havoc ~i~0;~i~0 := 0; {7561#true} is VALID [2020-07-17 22:48:59,362 INFO L280 TraceCheckUtils]: 1: Hoare triple {7561#true} assume !(~i~0 < ~size); {7561#true} is VALID [2020-07-17 22:48:59,363 INFO L280 TraceCheckUtils]: 2: Hoare triple {7561#true} #res := 0; {7561#true} is VALID [2020-07-17 22:48:59,363 INFO L280 TraceCheckUtils]: 3: Hoare triple {7561#true} assume true; {7561#true} is VALID [2020-07-17 22:48:59,363 INFO L275 TraceCheckUtils]: 4: Hoare quadruple {7561#true} {7562#false} #182#return; {7562#false} is VALID [2020-07-17 22:48:59,373 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2020-07-17 22:48:59,382 INFO L280 TraceCheckUtils]: 0: Hoare triple {7589#(= |#memory_int| |old(#memory_int)|)} ~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; {7561#true} is VALID [2020-07-17 22:48:59,382 INFO L280 TraceCheckUtils]: 1: Hoare triple {7561#true} assume true; {7561#true} is VALID [2020-07-17 22:48:59,382 INFO L275 TraceCheckUtils]: 2: Hoare quadruple {7561#true} {7562#false} #184#return; {7562#false} is VALID [2020-07-17 22:48:59,384 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2020-07-17 22:48:59,387 INFO L280 TraceCheckUtils]: 0: Hoare triple {7561#true} ~set.base, ~set.offset := #in~set.base, #in~set.offset;~size := #in~size;~value := #in~value;havoc ~i~0;~i~0 := 0; {7561#true} is VALID [2020-07-17 22:48:59,387 INFO L280 TraceCheckUtils]: 1: Hoare triple {7561#true} assume !!(~i~0 < ~size);call #t~mem1 := read~int(~set.base, ~set.offset + 4 * ~i~0, 4); {7561#true} is VALID [2020-07-17 22:48:59,387 INFO L280 TraceCheckUtils]: 2: Hoare triple {7561#true} assume #t~mem1 == ~value;havoc #t~mem1;#res := 1; {7561#true} is VALID [2020-07-17 22:48:59,387 INFO L280 TraceCheckUtils]: 3: Hoare triple {7561#true} assume true; {7561#true} is VALID [2020-07-17 22:48:59,388 INFO L275 TraceCheckUtils]: 4: Hoare quadruple {7561#true} {7562#false} #182#return; {7562#false} is VALID [2020-07-17 22:48:59,389 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2020-07-17 22:48:59,393 INFO L280 TraceCheckUtils]: 0: Hoare triple {7589#(= |#memory_int| |old(#memory_int)|)} ~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; {7561#true} is VALID [2020-07-17 22:48:59,393 INFO L280 TraceCheckUtils]: 1: Hoare triple {7561#true} assume true; {7561#true} is VALID [2020-07-17 22:48:59,393 INFO L275 TraceCheckUtils]: 2: Hoare quadruple {7561#true} {7562#false} #184#return; {7562#false} is VALID [2020-07-17 22:48:59,394 INFO L263 TraceCheckUtils]: 0: Hoare triple {7561#true} call ULTIMATE.init(); {7588#(and (= |#valid| |old(#valid)|) (= |#NULL.base| |old(#NULL.base)|) (= |#NULL.offset| |old(#NULL.offset)|))} is VALID [2020-07-17 22:48:59,394 INFO L280 TraceCheckUtils]: 1: Hoare triple {7588#(and (= |#valid| |old(#valid)|) (= |#NULL.base| |old(#NULL.base)|) (= |#NULL.offset| |old(#NULL.offset)|))} #NULL.base, #NULL.offset := 0, 0;#valid := #valid[0 := 0];assume 0 < #StackHeapBarrier; {7561#true} is VALID [2020-07-17 22:48:59,395 INFO L280 TraceCheckUtils]: 2: Hoare triple {7561#true} assume true; {7561#true} is VALID [2020-07-17 22:48:59,395 INFO L275 TraceCheckUtils]: 3: Hoare quadruple {7561#true} {7561#true} #176#return; {7561#true} is VALID [2020-07-17 22:48:59,395 INFO L263 TraceCheckUtils]: 4: Hoare triple {7561#true} call #t~ret23 := main(); {7561#true} is VALID [2020-07-17 22:48:59,396 INFO L280 TraceCheckUtils]: 5: Hoare triple {7561#true} ~n~0 := 0;call ~#set~0.base, ~#set~0.offset := #Ultimate.allocOnStack(400000);havoc ~x~0;havoc ~y~0;~x~0 := 0; {7566#(= 0 main_~x~0)} is VALID [2020-07-17 22:48:59,396 INFO L280 TraceCheckUtils]: 6: Hoare triple {7566#(= 0 main_~x~0)} assume !!(~x~0 < 100000);assume -2147483648 <= #t~nondet3 && #t~nondet3 <= 2147483647;call write~int(#t~nondet3, ~#set~0.base, ~#set~0.offset + 4 * ~x~0, 4);havoc #t~nondet3; {7566#(= 0 main_~x~0)} is VALID [2020-07-17 22:48:59,397 INFO L280 TraceCheckUtils]: 7: Hoare triple {7566#(= 0 main_~x~0)} #t~post2 := ~x~0;~x~0 := 1 + #t~post2;havoc #t~post2; {7567#(<= main_~x~0 1)} is VALID [2020-07-17 22:48:59,397 INFO L280 TraceCheckUtils]: 8: Hoare triple {7567#(<= main_~x~0 1)} assume !!(~x~0 < 100000);assume -2147483648 <= #t~nondet3 && #t~nondet3 <= 2147483647;call write~int(#t~nondet3, ~#set~0.base, ~#set~0.offset + 4 * ~x~0, 4);havoc #t~nondet3; {7567#(<= main_~x~0 1)} is VALID [2020-07-17 22:48:59,398 INFO L280 TraceCheckUtils]: 9: Hoare triple {7567#(<= main_~x~0 1)} #t~post2 := ~x~0;~x~0 := 1 + #t~post2;havoc #t~post2; {7568#(<= main_~x~0 2)} is VALID [2020-07-17 22:48:59,399 INFO L280 TraceCheckUtils]: 10: Hoare triple {7568#(<= main_~x~0 2)} assume !!(~x~0 < 100000);assume -2147483648 <= #t~nondet3 && #t~nondet3 <= 2147483647;call write~int(#t~nondet3, ~#set~0.base, ~#set~0.offset + 4 * ~x~0, 4);havoc #t~nondet3; {7568#(<= main_~x~0 2)} is VALID [2020-07-17 22:48:59,399 INFO L280 TraceCheckUtils]: 11: Hoare triple {7568#(<= main_~x~0 2)} #t~post2 := ~x~0;~x~0 := 1 + #t~post2;havoc #t~post2; {7569#(<= main_~x~0 3)} is VALID [2020-07-17 22:48:59,400 INFO L280 TraceCheckUtils]: 12: Hoare triple {7569#(<= main_~x~0 3)} assume !!(~x~0 < 100000);assume -2147483648 <= #t~nondet3 && #t~nondet3 <= 2147483647;call write~int(#t~nondet3, ~#set~0.base, ~#set~0.offset + 4 * ~x~0, 4);havoc #t~nondet3; {7569#(<= main_~x~0 3)} is VALID [2020-07-17 22:48:59,401 INFO L280 TraceCheckUtils]: 13: Hoare triple {7569#(<= main_~x~0 3)} #t~post2 := ~x~0;~x~0 := 1 + #t~post2;havoc #t~post2; {7570#(<= main_~x~0 4)} is VALID [2020-07-17 22:48:59,401 INFO L280 TraceCheckUtils]: 14: Hoare triple {7570#(<= main_~x~0 4)} assume !!(~x~0 < 100000);assume -2147483648 <= #t~nondet3 && #t~nondet3 <= 2147483647;call write~int(#t~nondet3, ~#set~0.base, ~#set~0.offset + 4 * ~x~0, 4);havoc #t~nondet3; {7570#(<= main_~x~0 4)} is VALID [2020-07-17 22:48:59,402 INFO L280 TraceCheckUtils]: 15: Hoare triple {7570#(<= main_~x~0 4)} #t~post2 := ~x~0;~x~0 := 1 + #t~post2;havoc #t~post2; {7571#(<= main_~x~0 5)} is VALID [2020-07-17 22:48:59,402 INFO L280 TraceCheckUtils]: 16: Hoare triple {7571#(<= main_~x~0 5)} assume !(~x~0 < 100000); {7562#false} is VALID [2020-07-17 22:48:59,403 INFO L280 TraceCheckUtils]: 17: Hoare triple {7562#false} ~x~0 := 0; {7562#false} is VALID [2020-07-17 22:48:59,403 INFO L280 TraceCheckUtils]: 18: Hoare triple {7562#false} assume !(~x~0 < ~n~0); {7562#false} is VALID [2020-07-17 22:48:59,403 INFO L280 TraceCheckUtils]: 19: Hoare triple {7562#false} call ~#values~0.base, ~#values~0.offset := #Ultimate.allocOnStack(400000);havoc ~v~0;~v~0 := 0; {7562#false} is VALID [2020-07-17 22:48:59,403 INFO L280 TraceCheckUtils]: 20: Hoare triple {7562#false} assume !!(~v~0 < 100000);assume -2147483648 <= #t~nondet9 && #t~nondet9 <= 2147483647;call write~int(#t~nondet9, ~#values~0.base, ~#values~0.offset + 4 * ~v~0, 4);havoc #t~nondet9; {7562#false} is VALID [2020-07-17 22:48:59,404 INFO L280 TraceCheckUtils]: 21: Hoare triple {7562#false} #t~post8 := ~v~0;~v~0 := 1 + #t~post8;havoc #t~post8; {7562#false} is VALID [2020-07-17 22:48:59,404 INFO L280 TraceCheckUtils]: 22: Hoare triple {7562#false} assume !!(~v~0 < 100000);assume -2147483648 <= #t~nondet9 && #t~nondet9 <= 2147483647;call write~int(#t~nondet9, ~#values~0.base, ~#values~0.offset + 4 * ~v~0, 4);havoc #t~nondet9; {7562#false} is VALID [2020-07-17 22:48:59,404 INFO L280 TraceCheckUtils]: 23: Hoare triple {7562#false} #t~post8 := ~v~0;~v~0 := 1 + #t~post8;havoc #t~post8; {7562#false} is VALID [2020-07-17 22:48:59,404 INFO L280 TraceCheckUtils]: 24: Hoare triple {7562#false} assume !(~v~0 < 100000); {7562#false} is VALID [2020-07-17 22:48:59,404 INFO L280 TraceCheckUtils]: 25: Hoare triple {7562#false} ~v~0 := 0; {7562#false} is VALID [2020-07-17 22:48:59,405 INFO L280 TraceCheckUtils]: 26: Hoare triple {7562#false} assume !!(~v~0 < 100000);call #t~mem11 := read~int(~#values~0.base, ~#values~0.offset + 4 * ~v~0, 4); {7562#false} is VALID [2020-07-17 22:48:59,405 INFO L263 TraceCheckUtils]: 27: Hoare triple {7562#false} call #t~ret12 := elem_exists(~#set~0.base, ~#set~0.offset, ~n~0, #t~mem11); {7561#true} is VALID [2020-07-17 22:48:59,405 INFO L280 TraceCheckUtils]: 28: Hoare triple {7561#true} ~set.base, ~set.offset := #in~set.base, #in~set.offset;~size := #in~size;~value := #in~value;havoc ~i~0;~i~0 := 0; {7561#true} is VALID [2020-07-17 22:48:59,405 INFO L280 TraceCheckUtils]: 29: Hoare triple {7561#true} assume !(~i~0 < ~size); {7561#true} is VALID [2020-07-17 22:48:59,405 INFO L280 TraceCheckUtils]: 30: Hoare triple {7561#true} #res := 0; {7561#true} is VALID [2020-07-17 22:48:59,406 INFO L280 TraceCheckUtils]: 31: Hoare triple {7561#true} assume true; {7561#true} is VALID [2020-07-17 22:48:59,406 INFO L275 TraceCheckUtils]: 32: Hoare quadruple {7561#true} {7562#false} #182#return; {7562#false} is VALID [2020-07-17 22:48:59,406 INFO L280 TraceCheckUtils]: 33: Hoare triple {7562#false} assume -2147483648 <= #t~ret12 && #t~ret12 <= 2147483647; {7562#false} is VALID [2020-07-17 22:48:59,406 INFO L280 TraceCheckUtils]: 34: Hoare triple {7562#false} assume 0 != #t~ret12;havoc #t~mem11;havoc #t~ret12;call #t~mem13 := read~int(~#values~0.base, ~#values~0.offset + 4 * ~v~0, 4); {7562#false} is VALID [2020-07-17 22:48:59,407 INFO L263 TraceCheckUtils]: 35: Hoare triple {7562#false} call #t~ret14 := insert(~#set~0.base, ~#set~0.offset, ~n~0, #t~mem13); {7589#(= |#memory_int| |old(#memory_int)|)} is VALID [2020-07-17 22:48:59,407 INFO L280 TraceCheckUtils]: 36: Hoare triple {7589#(= |#memory_int| |old(#memory_int)|)} ~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; {7561#true} is VALID [2020-07-17 22:48:59,407 INFO L280 TraceCheckUtils]: 37: Hoare triple {7561#true} assume true; {7561#true} is VALID [2020-07-17 22:48:59,407 INFO L275 TraceCheckUtils]: 38: Hoare quadruple {7561#true} {7562#false} #184#return; {7562#false} is VALID [2020-07-17 22:48:59,407 INFO L280 TraceCheckUtils]: 39: Hoare triple {7562#false} assume -2147483648 <= #t~ret14 && #t~ret14 <= 2147483647;~n~0 := #t~ret14;havoc #t~mem13;havoc #t~ret14; {7562#false} is VALID [2020-07-17 22:48:59,408 INFO L280 TraceCheckUtils]: 40: Hoare triple {7562#false} ~x~0 := 0; {7562#false} is VALID [2020-07-17 22:48:59,408 INFO L280 TraceCheckUtils]: 41: Hoare triple {7562#false} assume !(~x~0 < ~n~0); {7562#false} is VALID [2020-07-17 22:48:59,408 INFO L280 TraceCheckUtils]: 42: Hoare triple {7562#false} #t~post10 := ~v~0;~v~0 := 1 + #t~post10;havoc #t~post10; {7562#false} is VALID [2020-07-17 22:48:59,408 INFO L280 TraceCheckUtils]: 43: Hoare triple {7562#false} assume !!(~v~0 < 100000);call #t~mem11 := read~int(~#values~0.base, ~#values~0.offset + 4 * ~v~0, 4); {7562#false} is VALID [2020-07-17 22:48:59,409 INFO L263 TraceCheckUtils]: 44: Hoare triple {7562#false} call #t~ret12 := elem_exists(~#set~0.base, ~#set~0.offset, ~n~0, #t~mem11); {7561#true} is VALID [2020-07-17 22:48:59,409 INFO L280 TraceCheckUtils]: 45: Hoare triple {7561#true} ~set.base, ~set.offset := #in~set.base, #in~set.offset;~size := #in~size;~value := #in~value;havoc ~i~0;~i~0 := 0; {7561#true} is VALID [2020-07-17 22:48:59,409 INFO L280 TraceCheckUtils]: 46: Hoare triple {7561#true} assume !!(~i~0 < ~size);call #t~mem1 := read~int(~set.base, ~set.offset + 4 * ~i~0, 4); {7561#true} is VALID [2020-07-17 22:48:59,409 INFO L280 TraceCheckUtils]: 47: Hoare triple {7561#true} assume #t~mem1 == ~value;havoc #t~mem1;#res := 1; {7561#true} is VALID [2020-07-17 22:48:59,409 INFO L280 TraceCheckUtils]: 48: Hoare triple {7561#true} assume true; {7561#true} is VALID [2020-07-17 22:48:59,410 INFO L275 TraceCheckUtils]: 49: Hoare quadruple {7561#true} {7562#false} #182#return; {7562#false} is VALID [2020-07-17 22:48:59,410 INFO L280 TraceCheckUtils]: 50: Hoare triple {7562#false} assume -2147483648 <= #t~ret12 && #t~ret12 <= 2147483647; {7562#false} is VALID [2020-07-17 22:48:59,410 INFO L280 TraceCheckUtils]: 51: Hoare triple {7562#false} assume 0 != #t~ret12;havoc #t~mem11;havoc #t~ret12;call #t~mem13 := read~int(~#values~0.base, ~#values~0.offset + 4 * ~v~0, 4); {7562#false} is VALID [2020-07-17 22:48:59,410 INFO L263 TraceCheckUtils]: 52: Hoare triple {7562#false} call #t~ret14 := insert(~#set~0.base, ~#set~0.offset, ~n~0, #t~mem13); {7589#(= |#memory_int| |old(#memory_int)|)} is VALID [2020-07-17 22:48:59,411 INFO L280 TraceCheckUtils]: 53: Hoare triple {7589#(= |#memory_int| |old(#memory_int)|)} ~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; {7561#true} is VALID [2020-07-17 22:48:59,411 INFO L280 TraceCheckUtils]: 54: Hoare triple {7561#true} assume true; {7561#true} is VALID [2020-07-17 22:48:59,411 INFO L275 TraceCheckUtils]: 55: Hoare quadruple {7561#true} {7562#false} #184#return; {7562#false} is VALID [2020-07-17 22:48:59,411 INFO L280 TraceCheckUtils]: 56: Hoare triple {7562#false} assume -2147483648 <= #t~ret14 && #t~ret14 <= 2147483647;~n~0 := #t~ret14;havoc #t~mem13;havoc #t~ret14; {7562#false} is VALID [2020-07-17 22:48:59,411 INFO L280 TraceCheckUtils]: 57: Hoare triple {7562#false} ~x~0 := 0; {7562#false} is VALID [2020-07-17 22:48:59,412 INFO L280 TraceCheckUtils]: 58: Hoare triple {7562#false} assume !!(~x~0 < ~n~0);~y~0 := 1 + ~x~0; {7562#false} is VALID [2020-07-17 22:48:59,412 INFO L280 TraceCheckUtils]: 59: Hoare triple {7562#false} assume !!(~y~0 < ~n~0);call #t~mem17 := read~int(~#set~0.base, ~#set~0.offset + 4 * ~x~0, 4);call #t~mem18 := read~int(~#set~0.base, ~#set~0.offset + 4 * ~y~0, 4); {7562#false} is VALID [2020-07-17 22:48:59,412 INFO L263 TraceCheckUtils]: 60: Hoare triple {7562#false} call __VERIFIER_assert((if #t~mem17 != #t~mem18 then 1 else 0)); {7562#false} is VALID [2020-07-17 22:48:59,412 INFO L280 TraceCheckUtils]: 61: Hoare triple {7562#false} ~cond := #in~cond; {7562#false} is VALID [2020-07-17 22:48:59,412 INFO L280 TraceCheckUtils]: 62: Hoare triple {7562#false} assume 0 == ~cond; {7562#false} is VALID [2020-07-17 22:48:59,413 INFO L280 TraceCheckUtils]: 63: Hoare triple {7562#false} assume !false; {7562#false} is VALID [2020-07-17 22:48:59,419 INFO L134 CoverageAnalysis]: Checked inductivity of 44 backedges. 0 proven. 25 refuted. 0 times theorem prover too weak. 19 trivial. 0 not checked. [2020-07-17 22:48:59,419 INFO L354 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleSmtInterpolCraig [780456398] [2020-07-17 22:48:59,420 INFO L354 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleZ3 [288414106] [2020-07-17 22:48:59,420 INFO L92 rtionOrderModulation]: Changing assertion order to OUTSIDE_LOOP_FIRST1 No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 Starting monitored process 10 with z3 -smt2 -in SMTLIB2_COMPLIANT=true (exit command is (exit), workingDir is null) Waiting until toolchain timeout for monitored process 10 with z3 -smt2 -in SMTLIB2_COMPLIANT=true [2020-07-17 22:48:59,510 INFO L249 tOrderPrioritization]: Assert order OUTSIDE_LOOP_FIRST1 issued 2 check-sat command(s) [2020-07-17 22:48:59,510 INFO L250 tOrderPrioritization]: Conjunction of SSA is unsat [2020-07-17 22:48:59,512 INFO L264 TraceCheckSpWp]: Trace formula consists of 251 conjuncts, 7 conjunts are in the unsatisfiable core [2020-07-17 22:48:59,526 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2020-07-17 22:48:59,528 INFO L287 TraceCheckSpWp]: Computing forward predicates... [2020-07-17 22:48:59,630 INFO L263 TraceCheckUtils]: 0: Hoare triple {7561#true} call ULTIMATE.init(); {7561#true} is VALID [2020-07-17 22:48:59,630 INFO L280 TraceCheckUtils]: 1: Hoare triple {7561#true} #NULL.base, #NULL.offset := 0, 0;#valid := #valid[0 := 0];assume 0 < #StackHeapBarrier; {7561#true} is VALID [2020-07-17 22:48:59,630 INFO L280 TraceCheckUtils]: 2: Hoare triple {7561#true} assume true; {7561#true} is VALID [2020-07-17 22:48:59,631 INFO L275 TraceCheckUtils]: 3: Hoare quadruple {7561#true} {7561#true} #176#return; {7561#true} is VALID [2020-07-17 22:48:59,631 INFO L263 TraceCheckUtils]: 4: Hoare triple {7561#true} call #t~ret23 := main(); {7561#true} is VALID [2020-07-17 22:48:59,631 INFO L280 TraceCheckUtils]: 5: Hoare triple {7561#true} ~n~0 := 0;call ~#set~0.base, ~#set~0.offset := #Ultimate.allocOnStack(400000);havoc ~x~0;havoc ~y~0;~x~0 := 0; {7608#(<= main_~x~0 0)} is VALID [2020-07-17 22:48:59,632 INFO L280 TraceCheckUtils]: 6: Hoare triple {7608#(<= main_~x~0 0)} assume !!(~x~0 < 100000);assume -2147483648 <= #t~nondet3 && #t~nondet3 <= 2147483647;call write~int(#t~nondet3, ~#set~0.base, ~#set~0.offset + 4 * ~x~0, 4);havoc #t~nondet3; {7608#(<= main_~x~0 0)} is VALID [2020-07-17 22:48:59,633 INFO L280 TraceCheckUtils]: 7: Hoare triple {7608#(<= main_~x~0 0)} #t~post2 := ~x~0;~x~0 := 1 + #t~post2;havoc #t~post2; {7567#(<= main_~x~0 1)} is VALID [2020-07-17 22:48:59,633 INFO L280 TraceCheckUtils]: 8: Hoare triple {7567#(<= main_~x~0 1)} assume !!(~x~0 < 100000);assume -2147483648 <= #t~nondet3 && #t~nondet3 <= 2147483647;call write~int(#t~nondet3, ~#set~0.base, ~#set~0.offset + 4 * ~x~0, 4);havoc #t~nondet3; {7567#(<= main_~x~0 1)} is VALID [2020-07-17 22:48:59,634 INFO L280 TraceCheckUtils]: 9: Hoare triple {7567#(<= main_~x~0 1)} #t~post2 := ~x~0;~x~0 := 1 + #t~post2;havoc #t~post2; {7568#(<= main_~x~0 2)} is VALID [2020-07-17 22:48:59,634 INFO L280 TraceCheckUtils]: 10: Hoare triple {7568#(<= main_~x~0 2)} assume !!(~x~0 < 100000);assume -2147483648 <= #t~nondet3 && #t~nondet3 <= 2147483647;call write~int(#t~nondet3, ~#set~0.base, ~#set~0.offset + 4 * ~x~0, 4);havoc #t~nondet3; {7568#(<= main_~x~0 2)} is VALID [2020-07-17 22:48:59,634 INFO L280 TraceCheckUtils]: 11: Hoare triple {7568#(<= main_~x~0 2)} #t~post2 := ~x~0;~x~0 := 1 + #t~post2;havoc #t~post2; {7569#(<= main_~x~0 3)} is VALID [2020-07-17 22:48:59,635 INFO L280 TraceCheckUtils]: 12: Hoare triple {7569#(<= main_~x~0 3)} assume !!(~x~0 < 100000);assume -2147483648 <= #t~nondet3 && #t~nondet3 <= 2147483647;call write~int(#t~nondet3, ~#set~0.base, ~#set~0.offset + 4 * ~x~0, 4);havoc #t~nondet3; {7569#(<= main_~x~0 3)} is VALID [2020-07-17 22:48:59,635 INFO L280 TraceCheckUtils]: 13: Hoare triple {7569#(<= main_~x~0 3)} #t~post2 := ~x~0;~x~0 := 1 + #t~post2;havoc #t~post2; {7570#(<= main_~x~0 4)} is VALID [2020-07-17 22:48:59,636 INFO L280 TraceCheckUtils]: 14: Hoare triple {7570#(<= main_~x~0 4)} assume !!(~x~0 < 100000);assume -2147483648 <= #t~nondet3 && #t~nondet3 <= 2147483647;call write~int(#t~nondet3, ~#set~0.base, ~#set~0.offset + 4 * ~x~0, 4);havoc #t~nondet3; {7570#(<= main_~x~0 4)} is VALID [2020-07-17 22:48:59,636 INFO L280 TraceCheckUtils]: 15: Hoare triple {7570#(<= main_~x~0 4)} #t~post2 := ~x~0;~x~0 := 1 + #t~post2;havoc #t~post2; {7571#(<= main_~x~0 5)} is VALID [2020-07-17 22:48:59,637 INFO L280 TraceCheckUtils]: 16: Hoare triple {7571#(<= main_~x~0 5)} assume !(~x~0 < 100000); {7562#false} is VALID [2020-07-17 22:48:59,637 INFO L280 TraceCheckUtils]: 17: Hoare triple {7562#false} ~x~0 := 0; {7562#false} is VALID [2020-07-17 22:48:59,637 INFO L280 TraceCheckUtils]: 18: Hoare triple {7562#false} assume !(~x~0 < ~n~0); {7562#false} is VALID [2020-07-17 22:48:59,637 INFO L280 TraceCheckUtils]: 19: Hoare triple {7562#false} call ~#values~0.base, ~#values~0.offset := #Ultimate.allocOnStack(400000);havoc ~v~0;~v~0 := 0; {7562#false} is VALID [2020-07-17 22:48:59,637 INFO L280 TraceCheckUtils]: 20: Hoare triple {7562#false} assume !!(~v~0 < 100000);assume -2147483648 <= #t~nondet9 && #t~nondet9 <= 2147483647;call write~int(#t~nondet9, ~#values~0.base, ~#values~0.offset + 4 * ~v~0, 4);havoc #t~nondet9; {7562#false} is VALID [2020-07-17 22:48:59,638 INFO L280 TraceCheckUtils]: 21: Hoare triple {7562#false} #t~post8 := ~v~0;~v~0 := 1 + #t~post8;havoc #t~post8; {7562#false} is VALID [2020-07-17 22:48:59,638 INFO L280 TraceCheckUtils]: 22: Hoare triple {7562#false} assume !!(~v~0 < 100000);assume -2147483648 <= #t~nondet9 && #t~nondet9 <= 2147483647;call write~int(#t~nondet9, ~#values~0.base, ~#values~0.offset + 4 * ~v~0, 4);havoc #t~nondet9; {7562#false} is VALID [2020-07-17 22:48:59,638 INFO L280 TraceCheckUtils]: 23: Hoare triple {7562#false} #t~post8 := ~v~0;~v~0 := 1 + #t~post8;havoc #t~post8; {7562#false} is VALID [2020-07-17 22:48:59,638 INFO L280 TraceCheckUtils]: 24: Hoare triple {7562#false} assume !(~v~0 < 100000); {7562#false} is VALID [2020-07-17 22:48:59,638 INFO L280 TraceCheckUtils]: 25: Hoare triple {7562#false} ~v~0 := 0; {7562#false} is VALID [2020-07-17 22:48:59,638 INFO L280 TraceCheckUtils]: 26: Hoare triple {7562#false} assume !!(~v~0 < 100000);call #t~mem11 := read~int(~#values~0.base, ~#values~0.offset + 4 * ~v~0, 4); {7562#false} is VALID [2020-07-17 22:48:59,638 INFO L263 TraceCheckUtils]: 27: Hoare triple {7562#false} call #t~ret12 := elem_exists(~#set~0.base, ~#set~0.offset, ~n~0, #t~mem11); {7562#false} is VALID [2020-07-17 22:48:59,639 INFO L280 TraceCheckUtils]: 28: Hoare triple {7562#false} ~set.base, ~set.offset := #in~set.base, #in~set.offset;~size := #in~size;~value := #in~value;havoc ~i~0;~i~0 := 0; {7562#false} is VALID [2020-07-17 22:48:59,639 INFO L280 TraceCheckUtils]: 29: Hoare triple {7562#false} assume !(~i~0 < ~size); {7562#false} is VALID [2020-07-17 22:48:59,639 INFO L280 TraceCheckUtils]: 30: Hoare triple {7562#false} #res := 0; {7562#false} is VALID [2020-07-17 22:48:59,639 INFO L280 TraceCheckUtils]: 31: Hoare triple {7562#false} assume true; {7562#false} is VALID [2020-07-17 22:48:59,639 INFO L275 TraceCheckUtils]: 32: Hoare quadruple {7562#false} {7562#false} #182#return; {7562#false} is VALID [2020-07-17 22:48:59,639 INFO L280 TraceCheckUtils]: 33: Hoare triple {7562#false} assume -2147483648 <= #t~ret12 && #t~ret12 <= 2147483647; {7562#false} is VALID [2020-07-17 22:48:59,639 INFO L280 TraceCheckUtils]: 34: Hoare triple {7562#false} assume 0 != #t~ret12;havoc #t~mem11;havoc #t~ret12;call #t~mem13 := read~int(~#values~0.base, ~#values~0.offset + 4 * ~v~0, 4); {7562#false} is VALID [2020-07-17 22:48:59,640 INFO L263 TraceCheckUtils]: 35: Hoare triple {7562#false} call #t~ret14 := insert(~#set~0.base, ~#set~0.offset, ~n~0, #t~mem13); {7562#false} is VALID [2020-07-17 22:48:59,640 INFO L280 TraceCheckUtils]: 36: Hoare triple {7562#false} ~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; {7562#false} is VALID [2020-07-17 22:48:59,640 INFO L280 TraceCheckUtils]: 37: Hoare triple {7562#false} assume true; {7562#false} is VALID [2020-07-17 22:48:59,640 INFO L275 TraceCheckUtils]: 38: Hoare quadruple {7562#false} {7562#false} #184#return; {7562#false} is VALID [2020-07-17 22:48:59,640 INFO L280 TraceCheckUtils]: 39: Hoare triple {7562#false} assume -2147483648 <= #t~ret14 && #t~ret14 <= 2147483647;~n~0 := #t~ret14;havoc #t~mem13;havoc #t~ret14; {7562#false} is VALID [2020-07-17 22:48:59,640 INFO L280 TraceCheckUtils]: 40: Hoare triple {7562#false} ~x~0 := 0; {7562#false} is VALID [2020-07-17 22:48:59,640 INFO L280 TraceCheckUtils]: 41: Hoare triple {7562#false} assume !(~x~0 < ~n~0); {7562#false} is VALID [2020-07-17 22:48:59,641 INFO L280 TraceCheckUtils]: 42: Hoare triple {7562#false} #t~post10 := ~v~0;~v~0 := 1 + #t~post10;havoc #t~post10; {7562#false} is VALID [2020-07-17 22:48:59,641 INFO L280 TraceCheckUtils]: 43: Hoare triple {7562#false} assume !!(~v~0 < 100000);call #t~mem11 := read~int(~#values~0.base, ~#values~0.offset + 4 * ~v~0, 4); {7562#false} is VALID [2020-07-17 22:48:59,641 INFO L263 TraceCheckUtils]: 44: Hoare triple {7562#false} call #t~ret12 := elem_exists(~#set~0.base, ~#set~0.offset, ~n~0, #t~mem11); {7562#false} is VALID [2020-07-17 22:48:59,641 INFO L280 TraceCheckUtils]: 45: Hoare triple {7562#false} ~set.base, ~set.offset := #in~set.base, #in~set.offset;~size := #in~size;~value := #in~value;havoc ~i~0;~i~0 := 0; {7562#false} is VALID [2020-07-17 22:48:59,641 INFO L280 TraceCheckUtils]: 46: Hoare triple {7562#false} assume !!(~i~0 < ~size);call #t~mem1 := read~int(~set.base, ~set.offset + 4 * ~i~0, 4); {7562#false} is VALID [2020-07-17 22:48:59,641 INFO L280 TraceCheckUtils]: 47: Hoare triple {7562#false} assume #t~mem1 == ~value;havoc #t~mem1;#res := 1; {7562#false} is VALID [2020-07-17 22:48:59,641 INFO L280 TraceCheckUtils]: 48: Hoare triple {7562#false} assume true; {7562#false} is VALID [2020-07-17 22:48:59,641 INFO L275 TraceCheckUtils]: 49: Hoare quadruple {7562#false} {7562#false} #182#return; {7562#false} is VALID [2020-07-17 22:48:59,642 INFO L280 TraceCheckUtils]: 50: Hoare triple {7562#false} assume -2147483648 <= #t~ret12 && #t~ret12 <= 2147483647; {7562#false} is VALID [2020-07-17 22:48:59,642 INFO L280 TraceCheckUtils]: 51: Hoare triple {7562#false} assume 0 != #t~ret12;havoc #t~mem11;havoc #t~ret12;call #t~mem13 := read~int(~#values~0.base, ~#values~0.offset + 4 * ~v~0, 4); {7562#false} is VALID [2020-07-17 22:48:59,642 INFO L263 TraceCheckUtils]: 52: Hoare triple {7562#false} call #t~ret14 := insert(~#set~0.base, ~#set~0.offset, ~n~0, #t~mem13); {7562#false} is VALID [2020-07-17 22:48:59,642 INFO L280 TraceCheckUtils]: 53: Hoare triple {7562#false} ~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; {7562#false} is VALID [2020-07-17 22:48:59,642 INFO L280 TraceCheckUtils]: 54: Hoare triple {7562#false} assume true; {7562#false} is VALID [2020-07-17 22:48:59,642 INFO L275 TraceCheckUtils]: 55: Hoare quadruple {7562#false} {7562#false} #184#return; {7562#false} is VALID [2020-07-17 22:48:59,643 INFO L280 TraceCheckUtils]: 56: Hoare triple {7562#false} assume -2147483648 <= #t~ret14 && #t~ret14 <= 2147483647;~n~0 := #t~ret14;havoc #t~mem13;havoc #t~ret14; {7562#false} is VALID [2020-07-17 22:48:59,643 INFO L280 TraceCheckUtils]: 57: Hoare triple {7562#false} ~x~0 := 0; {7562#false} is VALID [2020-07-17 22:48:59,643 INFO L280 TraceCheckUtils]: 58: Hoare triple {7562#false} assume !!(~x~0 < ~n~0);~y~0 := 1 + ~x~0; {7562#false} is VALID [2020-07-17 22:48:59,643 INFO L280 TraceCheckUtils]: 59: Hoare triple {7562#false} assume !!(~y~0 < ~n~0);call #t~mem17 := read~int(~#set~0.base, ~#set~0.offset + 4 * ~x~0, 4);call #t~mem18 := read~int(~#set~0.base, ~#set~0.offset + 4 * ~y~0, 4); {7562#false} is VALID [2020-07-17 22:48:59,643 INFO L263 TraceCheckUtils]: 60: Hoare triple {7562#false} call __VERIFIER_assert((if #t~mem17 != #t~mem18 then 1 else 0)); {7562#false} is VALID [2020-07-17 22:48:59,644 INFO L280 TraceCheckUtils]: 61: Hoare triple {7562#false} ~cond := #in~cond; {7562#false} is VALID [2020-07-17 22:48:59,644 INFO L280 TraceCheckUtils]: 62: Hoare triple {7562#false} assume 0 == ~cond; {7562#false} is VALID [2020-07-17 22:48:59,644 INFO L280 TraceCheckUtils]: 63: Hoare triple {7562#false} assume !false; {7562#false} is VALID [2020-07-17 22:48:59,647 INFO L134 CoverageAnalysis]: Checked inductivity of 44 backedges. 0 proven. 25 refuted. 0 times theorem prover too weak. 19 trivial. 0 not checked. [2020-07-17 22:48:59,647 INFO L220 FreeRefinementEngine]: Constructing automaton from 0 perfect and 2 imperfect interpolant sequences. [2020-07-17 22:48:59,647 INFO L233 FreeRefinementEngine]: Number of different interpolants: perfect sequences [] imperfect sequences [10, 8] total 11 [2020-07-17 22:48:59,648 INFO L156 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [1346022256] [2020-07-17 22:48:59,648 INFO L78 Accepts]: Start accepts. Automaton has 11 states. Word has length 64 [2020-07-17 22:48:59,650 INFO L84 Accepts]: Finished accepts. word is accepted. [2020-07-17 22:48:59,650 INFO L86 InductivityCheck]: Starting indutivity check of a Floyd-Hoare automaton with 11 states. [2020-07-17 22:48:59,712 INFO L119 InductivityCheck]: Floyd-Hoare automaton has 66 edges. 66 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2020-07-17 22:48:59,713 INFO L459 AbstractCegarLoop]: Interpolant automaton has 11 states [2020-07-17 22:48:59,713 INFO L143 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy CAMEL [2020-07-17 22:48:59,713 INFO L142 InterpolantAutomaton]: Constructing interpolant automaton starting with 11 interpolants. [2020-07-17 22:48:59,713 INFO L144 InterpolantAutomaton]: CoverageRelationStatistics Valid=40, Invalid=70, Unknown=0, NotChecked=0, Total=110 [2020-07-17 22:48:59,714 INFO L87 Difference]: Start difference. First operand 94 states and 116 transitions. Second operand 11 states. [2020-07-17 22:49:01,385 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2020-07-17 22:49:01,385 INFO L93 Difference]: Finished difference Result 384 states and 524 transitions. [2020-07-17 22:49:01,385 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 12 states. [2020-07-17 22:49:01,385 INFO L78 Accepts]: Start accepts. Automaton has 11 states. Word has length 64 [2020-07-17 22:49:01,386 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2020-07-17 22:49:01,386 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 11 states. [2020-07-17 22:49:01,390 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 12 states to 12 states and 306 transitions. [2020-07-17 22:49:01,390 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 11 states. [2020-07-17 22:49:01,394 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 12 states to 12 states and 306 transitions. [2020-07-17 22:49:01,395 INFO L86 InductivityCheck]: Starting indutivity check of a Floyd-Hoare automaton with 12 states and 306 transitions. [2020-07-17 22:49:01,780 INFO L119 InductivityCheck]: Floyd-Hoare automaton has 306 edges. 306 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2020-07-17 22:49:01,797 INFO L225 Difference]: With dead ends: 384 [2020-07-17 22:49:01,798 INFO L226 Difference]: Without dead ends: 307 [2020-07-17 22:49:01,804 INFO L675 BasicCegarLoop]: 0 DeclaredPredicates, 84 GetRequests, 73 SyntacticMatches, 0 SemanticMatches, 11 ConstructedPredicates, 0 IntricatePredicates, 0 DeprecatedPredicates, 20 ImplicationChecksByTransitivity, 0.0s TimeCoverageRelationStatistics Valid=54, Invalid=102, Unknown=0, NotChecked=0, Total=156 [2020-07-17 22:49:01,805 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 307 states. [2020-07-17 22:49:01,935 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 307 to 96. [2020-07-17 22:49:01,935 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2020-07-17 22:49:01,935 INFO L82 GeneralOperation]: Start isEquivalent. First operand 307 states. Second operand 96 states. [2020-07-17 22:49:01,935 INFO L74 IsIncluded]: Start isIncluded. First operand 307 states. Second operand 96 states. [2020-07-17 22:49:01,935 INFO L87 Difference]: Start difference. First operand 307 states. Second operand 96 states. [2020-07-17 22:49:01,945 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2020-07-17 22:49:01,945 INFO L93 Difference]: Finished difference Result 307 states and 425 transitions. [2020-07-17 22:49:01,946 INFO L276 IsEmpty]: Start isEmpty. Operand 307 states and 425 transitions. [2020-07-17 22:49:01,947 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2020-07-17 22:49:01,948 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2020-07-17 22:49:01,948 INFO L74 IsIncluded]: Start isIncluded. First operand 96 states. Second operand 307 states. [2020-07-17 22:49:01,948 INFO L87 Difference]: Start difference. First operand 96 states. Second operand 307 states. [2020-07-17 22:49:01,969 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2020-07-17 22:49:01,969 INFO L93 Difference]: Finished difference Result 307 states and 425 transitions. [2020-07-17 22:49:01,970 INFO L276 IsEmpty]: Start isEmpty. Operand 307 states and 425 transitions. [2020-07-17 22:49:01,972 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2020-07-17 22:49:01,972 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2020-07-17 22:49:01,973 INFO L88 GeneralOperation]: Finished isEquivalent. [2020-07-17 22:49:01,973 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2020-07-17 22:49:01,973 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 96 states. [2020-07-17 22:49:01,977 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 96 states to 96 states and 118 transitions. [2020-07-17 22:49:01,977 INFO L78 Accepts]: Start accepts. Automaton has 96 states and 118 transitions. Word has length 64 [2020-07-17 22:49:01,978 INFO L84 Accepts]: Finished accepts. word is rejected. [2020-07-17 22:49:01,978 INFO L479 AbstractCegarLoop]: Abstraction has 96 states and 118 transitions. [2020-07-17 22:49:01,978 INFO L480 AbstractCegarLoop]: Interpolant automaton has 11 states. [2020-07-17 22:49:01,978 INFO L276 IsEmpty]: Start isEmpty. Operand 96 states and 118 transitions. [2020-07-17 22:49:01,980 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 67 [2020-07-17 22:49:01,980 INFO L414 BasicCegarLoop]: Found error trace [2020-07-17 22:49:01,980 INFO L422 BasicCegarLoop]: trace histogram [6, 6, 2, 2, 2, 2, 2, 2, 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] [2020-07-17 22:49:02,193 WARN L516 AbstractCegarLoop]: Destroyed unattended storables created during the last iteration: SelfDestructingSolverStorable9,10 z3 -smt2 -in SMTLIB2_COMPLIANT=true [2020-07-17 22:49:02,195 INFO L427 AbstractCegarLoop]: === Iteration 11 === [__VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION]=== [2020-07-17 22:49:02,196 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2020-07-17 22:49:02,196 INFO L82 PathProgramCache]: Analyzing trace with hash 728782455, now seen corresponding path program 3 times [2020-07-17 22:49:02,196 INFO L163 FreeRefinementEngine]: Executing refinement strategy CAMEL [2020-07-17 22:49:02,196 INFO L354 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [62839820] [2020-07-17 22:49:02,197 INFO L94 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2020-07-17 22:49:02,237 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2020-07-17 22:49:02,389 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2020-07-17 22:49:02,392 INFO L280 TraceCheckUtils]: 0: Hoare triple {9102#(and (= |#valid| |old(#valid)|) (= |#NULL.base| |old(#NULL.base)|) (= |#NULL.offset| |old(#NULL.offset)|))} #NULL.base, #NULL.offset := 0, 0;#valid := #valid[0 := 0];assume 0 < #StackHeapBarrier; {9074#true} is VALID [2020-07-17 22:49:02,393 INFO L280 TraceCheckUtils]: 1: Hoare triple {9074#true} assume true; {9074#true} is VALID [2020-07-17 22:49:02,393 INFO L275 TraceCheckUtils]: 2: Hoare quadruple {9074#true} {9074#true} #176#return; {9074#true} is VALID [2020-07-17 22:49:02,394 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2020-07-17 22:49:02,398 INFO L280 TraceCheckUtils]: 0: Hoare triple {9074#true} ~set.base, ~set.offset := #in~set.base, #in~set.offset;~size := #in~size;~value := #in~value;havoc ~i~0;~i~0 := 0; {9074#true} is VALID [2020-07-17 22:49:02,398 INFO L280 TraceCheckUtils]: 1: Hoare triple {9074#true} assume !(~i~0 < ~size); {9074#true} is VALID [2020-07-17 22:49:02,399 INFO L280 TraceCheckUtils]: 2: Hoare triple {9074#true} #res := 0; {9074#true} is VALID [2020-07-17 22:49:02,399 INFO L280 TraceCheckUtils]: 3: Hoare triple {9074#true} assume true; {9074#true} is VALID [2020-07-17 22:49:02,399 INFO L275 TraceCheckUtils]: 4: Hoare quadruple {9074#true} {9075#false} #182#return; {9075#false} is VALID [2020-07-17 22:49:02,411 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2020-07-17 22:49:02,415 INFO L280 TraceCheckUtils]: 0: Hoare triple {9103#(= |#memory_int| |old(#memory_int)|)} ~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; {9074#true} is VALID [2020-07-17 22:49:02,415 INFO L280 TraceCheckUtils]: 1: Hoare triple {9074#true} assume true; {9074#true} is VALID [2020-07-17 22:49:02,416 INFO L275 TraceCheckUtils]: 2: Hoare quadruple {9074#true} {9075#false} #184#return; {9075#false} is VALID [2020-07-17 22:49:02,418 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2020-07-17 22:49:02,425 INFO L280 TraceCheckUtils]: 0: Hoare triple {9074#true} ~set.base, ~set.offset := #in~set.base, #in~set.offset;~size := #in~size;~value := #in~value;havoc ~i~0;~i~0 := 0; {9074#true} is VALID [2020-07-17 22:49:02,425 INFO L280 TraceCheckUtils]: 1: Hoare triple {9074#true} assume !!(~i~0 < ~size);call #t~mem1 := read~int(~set.base, ~set.offset + 4 * ~i~0, 4); {9074#true} is VALID [2020-07-17 22:49:02,425 INFO L280 TraceCheckUtils]: 2: Hoare triple {9074#true} assume #t~mem1 == ~value;havoc #t~mem1;#res := 1; {9074#true} is VALID [2020-07-17 22:49:02,425 INFO L280 TraceCheckUtils]: 3: Hoare triple {9074#true} assume true; {9074#true} is VALID [2020-07-17 22:49:02,426 INFO L275 TraceCheckUtils]: 4: Hoare quadruple {9074#true} {9075#false} #182#return; {9075#false} is VALID [2020-07-17 22:49:02,427 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2020-07-17 22:49:02,431 INFO L280 TraceCheckUtils]: 0: Hoare triple {9103#(= |#memory_int| |old(#memory_int)|)} ~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; {9074#true} is VALID [2020-07-17 22:49:02,431 INFO L280 TraceCheckUtils]: 1: Hoare triple {9074#true} assume true; {9074#true} is VALID [2020-07-17 22:49:02,432 INFO L275 TraceCheckUtils]: 2: Hoare quadruple {9074#true} {9075#false} #184#return; {9075#false} is VALID [2020-07-17 22:49:02,433 INFO L263 TraceCheckUtils]: 0: Hoare triple {9074#true} call ULTIMATE.init(); {9102#(and (= |#valid| |old(#valid)|) (= |#NULL.base| |old(#NULL.base)|) (= |#NULL.offset| |old(#NULL.offset)|))} is VALID [2020-07-17 22:49:02,433 INFO L280 TraceCheckUtils]: 1: Hoare triple {9102#(and (= |#valid| |old(#valid)|) (= |#NULL.base| |old(#NULL.base)|) (= |#NULL.offset| |old(#NULL.offset)|))} #NULL.base, #NULL.offset := 0, 0;#valid := #valid[0 := 0];assume 0 < #StackHeapBarrier; {9074#true} is VALID [2020-07-17 22:49:02,433 INFO L280 TraceCheckUtils]: 2: Hoare triple {9074#true} assume true; {9074#true} is VALID [2020-07-17 22:49:02,433 INFO L275 TraceCheckUtils]: 3: Hoare quadruple {9074#true} {9074#true} #176#return; {9074#true} is VALID [2020-07-17 22:49:02,434 INFO L263 TraceCheckUtils]: 4: Hoare triple {9074#true} call #t~ret23 := main(); {9074#true} is VALID [2020-07-17 22:49:02,434 INFO L280 TraceCheckUtils]: 5: Hoare triple {9074#true} ~n~0 := 0;call ~#set~0.base, ~#set~0.offset := #Ultimate.allocOnStack(400000);havoc ~x~0;havoc ~y~0;~x~0 := 0; {9079#(= 0 main_~x~0)} is VALID [2020-07-17 22:49:02,435 INFO L280 TraceCheckUtils]: 6: Hoare triple {9079#(= 0 main_~x~0)} assume !!(~x~0 < 100000);assume -2147483648 <= #t~nondet3 && #t~nondet3 <= 2147483647;call write~int(#t~nondet3, ~#set~0.base, ~#set~0.offset + 4 * ~x~0, 4);havoc #t~nondet3; {9079#(= 0 main_~x~0)} is VALID [2020-07-17 22:49:02,436 INFO L280 TraceCheckUtils]: 7: Hoare triple {9079#(= 0 main_~x~0)} #t~post2 := ~x~0;~x~0 := 1 + #t~post2;havoc #t~post2; {9080#(<= main_~x~0 1)} is VALID [2020-07-17 22:49:02,436 INFO L280 TraceCheckUtils]: 8: Hoare triple {9080#(<= main_~x~0 1)} assume !!(~x~0 < 100000);assume -2147483648 <= #t~nondet3 && #t~nondet3 <= 2147483647;call write~int(#t~nondet3, ~#set~0.base, ~#set~0.offset + 4 * ~x~0, 4);havoc #t~nondet3; {9080#(<= main_~x~0 1)} is VALID [2020-07-17 22:49:02,437 INFO L280 TraceCheckUtils]: 9: Hoare triple {9080#(<= main_~x~0 1)} #t~post2 := ~x~0;~x~0 := 1 + #t~post2;havoc #t~post2; {9081#(<= main_~x~0 2)} is VALID [2020-07-17 22:49:02,438 INFO L280 TraceCheckUtils]: 10: Hoare triple {9081#(<= main_~x~0 2)} assume !!(~x~0 < 100000);assume -2147483648 <= #t~nondet3 && #t~nondet3 <= 2147483647;call write~int(#t~nondet3, ~#set~0.base, ~#set~0.offset + 4 * ~x~0, 4);havoc #t~nondet3; {9081#(<= main_~x~0 2)} is VALID [2020-07-17 22:49:02,439 INFO L280 TraceCheckUtils]: 11: Hoare triple {9081#(<= main_~x~0 2)} #t~post2 := ~x~0;~x~0 := 1 + #t~post2;havoc #t~post2; {9082#(<= main_~x~0 3)} is VALID [2020-07-17 22:49:02,440 INFO L280 TraceCheckUtils]: 12: Hoare triple {9082#(<= main_~x~0 3)} assume !!(~x~0 < 100000);assume -2147483648 <= #t~nondet3 && #t~nondet3 <= 2147483647;call write~int(#t~nondet3, ~#set~0.base, ~#set~0.offset + 4 * ~x~0, 4);havoc #t~nondet3; {9082#(<= main_~x~0 3)} is VALID [2020-07-17 22:49:02,440 INFO L280 TraceCheckUtils]: 13: Hoare triple {9082#(<= main_~x~0 3)} #t~post2 := ~x~0;~x~0 := 1 + #t~post2;havoc #t~post2; {9083#(<= main_~x~0 4)} is VALID [2020-07-17 22:49:02,441 INFO L280 TraceCheckUtils]: 14: Hoare triple {9083#(<= main_~x~0 4)} assume !!(~x~0 < 100000);assume -2147483648 <= #t~nondet3 && #t~nondet3 <= 2147483647;call write~int(#t~nondet3, ~#set~0.base, ~#set~0.offset + 4 * ~x~0, 4);havoc #t~nondet3; {9083#(<= main_~x~0 4)} is VALID [2020-07-17 22:49:02,443 INFO L280 TraceCheckUtils]: 15: Hoare triple {9083#(<= main_~x~0 4)} #t~post2 := ~x~0;~x~0 := 1 + #t~post2;havoc #t~post2; {9084#(<= main_~x~0 5)} is VALID [2020-07-17 22:49:02,443 INFO L280 TraceCheckUtils]: 16: Hoare triple {9084#(<= main_~x~0 5)} assume !!(~x~0 < 100000);assume -2147483648 <= #t~nondet3 && #t~nondet3 <= 2147483647;call write~int(#t~nondet3, ~#set~0.base, ~#set~0.offset + 4 * ~x~0, 4);havoc #t~nondet3; {9084#(<= main_~x~0 5)} is VALID [2020-07-17 22:49:02,444 INFO L280 TraceCheckUtils]: 17: Hoare triple {9084#(<= main_~x~0 5)} #t~post2 := ~x~0;~x~0 := 1 + #t~post2;havoc #t~post2; {9085#(<= main_~x~0 6)} is VALID [2020-07-17 22:49:02,445 INFO L280 TraceCheckUtils]: 18: Hoare triple {9085#(<= main_~x~0 6)} assume !(~x~0 < 100000); {9075#false} is VALID [2020-07-17 22:49:02,446 INFO L280 TraceCheckUtils]: 19: Hoare triple {9075#false} ~x~0 := 0; {9075#false} is VALID [2020-07-17 22:49:02,446 INFO L280 TraceCheckUtils]: 20: Hoare triple {9075#false} assume !(~x~0 < ~n~0); {9075#false} is VALID [2020-07-17 22:49:02,446 INFO L280 TraceCheckUtils]: 21: Hoare triple {9075#false} call ~#values~0.base, ~#values~0.offset := #Ultimate.allocOnStack(400000);havoc ~v~0;~v~0 := 0; {9075#false} is VALID [2020-07-17 22:49:02,446 INFO L280 TraceCheckUtils]: 22: Hoare triple {9075#false} assume !!(~v~0 < 100000);assume -2147483648 <= #t~nondet9 && #t~nondet9 <= 2147483647;call write~int(#t~nondet9, ~#values~0.base, ~#values~0.offset + 4 * ~v~0, 4);havoc #t~nondet9; {9075#false} is VALID [2020-07-17 22:49:02,447 INFO L280 TraceCheckUtils]: 23: Hoare triple {9075#false} #t~post8 := ~v~0;~v~0 := 1 + #t~post8;havoc #t~post8; {9075#false} is VALID [2020-07-17 22:49:02,447 INFO L280 TraceCheckUtils]: 24: Hoare triple {9075#false} assume !!(~v~0 < 100000);assume -2147483648 <= #t~nondet9 && #t~nondet9 <= 2147483647;call write~int(#t~nondet9, ~#values~0.base, ~#values~0.offset + 4 * ~v~0, 4);havoc #t~nondet9; {9075#false} is VALID [2020-07-17 22:49:02,447 INFO L280 TraceCheckUtils]: 25: Hoare triple {9075#false} #t~post8 := ~v~0;~v~0 := 1 + #t~post8;havoc #t~post8; {9075#false} is VALID [2020-07-17 22:49:02,447 INFO L280 TraceCheckUtils]: 26: Hoare triple {9075#false} assume !(~v~0 < 100000); {9075#false} is VALID [2020-07-17 22:49:02,448 INFO L280 TraceCheckUtils]: 27: Hoare triple {9075#false} ~v~0 := 0; {9075#false} is VALID [2020-07-17 22:49:02,448 INFO L280 TraceCheckUtils]: 28: Hoare triple {9075#false} assume !!(~v~0 < 100000);call #t~mem11 := read~int(~#values~0.base, ~#values~0.offset + 4 * ~v~0, 4); {9075#false} is VALID [2020-07-17 22:49:02,448 INFO L263 TraceCheckUtils]: 29: Hoare triple {9075#false} call #t~ret12 := elem_exists(~#set~0.base, ~#set~0.offset, ~n~0, #t~mem11); {9074#true} is VALID [2020-07-17 22:49:02,448 INFO L280 TraceCheckUtils]: 30: Hoare triple {9074#true} ~set.base, ~set.offset := #in~set.base, #in~set.offset;~size := #in~size;~value := #in~value;havoc ~i~0;~i~0 := 0; {9074#true} is VALID [2020-07-17 22:49:02,449 INFO L280 TraceCheckUtils]: 31: Hoare triple {9074#true} assume !(~i~0 < ~size); {9074#true} is VALID [2020-07-17 22:49:02,449 INFO L280 TraceCheckUtils]: 32: Hoare triple {9074#true} #res := 0; {9074#true} is VALID [2020-07-17 22:49:02,449 INFO L280 TraceCheckUtils]: 33: Hoare triple {9074#true} assume true; {9074#true} is VALID [2020-07-17 22:49:02,449 INFO L275 TraceCheckUtils]: 34: Hoare quadruple {9074#true} {9075#false} #182#return; {9075#false} is VALID [2020-07-17 22:49:02,450 INFO L280 TraceCheckUtils]: 35: Hoare triple {9075#false} assume -2147483648 <= #t~ret12 && #t~ret12 <= 2147483647; {9075#false} is VALID [2020-07-17 22:49:02,450 INFO L280 TraceCheckUtils]: 36: Hoare triple {9075#false} assume 0 != #t~ret12;havoc #t~mem11;havoc #t~ret12;call #t~mem13 := read~int(~#values~0.base, ~#values~0.offset + 4 * ~v~0, 4); {9075#false} is VALID [2020-07-17 22:49:02,450 INFO L263 TraceCheckUtils]: 37: Hoare triple {9075#false} call #t~ret14 := insert(~#set~0.base, ~#set~0.offset, ~n~0, #t~mem13); {9103#(= |#memory_int| |old(#memory_int)|)} is VALID [2020-07-17 22:49:02,450 INFO L280 TraceCheckUtils]: 38: Hoare triple {9103#(= |#memory_int| |old(#memory_int)|)} ~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; {9074#true} is VALID [2020-07-17 22:49:02,451 INFO L280 TraceCheckUtils]: 39: Hoare triple {9074#true} assume true; {9074#true} is VALID [2020-07-17 22:49:02,451 INFO L275 TraceCheckUtils]: 40: Hoare quadruple {9074#true} {9075#false} #184#return; {9075#false} is VALID [2020-07-17 22:49:02,451 INFO L280 TraceCheckUtils]: 41: Hoare triple {9075#false} assume -2147483648 <= #t~ret14 && #t~ret14 <= 2147483647;~n~0 := #t~ret14;havoc #t~mem13;havoc #t~ret14; {9075#false} is VALID [2020-07-17 22:49:02,451 INFO L280 TraceCheckUtils]: 42: Hoare triple {9075#false} ~x~0 := 0; {9075#false} is VALID [2020-07-17 22:49:02,452 INFO L280 TraceCheckUtils]: 43: Hoare triple {9075#false} assume !(~x~0 < ~n~0); {9075#false} is VALID [2020-07-17 22:49:02,452 INFO L280 TraceCheckUtils]: 44: Hoare triple {9075#false} #t~post10 := ~v~0;~v~0 := 1 + #t~post10;havoc #t~post10; {9075#false} is VALID [2020-07-17 22:49:02,452 INFO L280 TraceCheckUtils]: 45: Hoare triple {9075#false} assume !!(~v~0 < 100000);call #t~mem11 := read~int(~#values~0.base, ~#values~0.offset + 4 * ~v~0, 4); {9075#false} is VALID [2020-07-17 22:49:02,452 INFO L263 TraceCheckUtils]: 46: Hoare triple {9075#false} call #t~ret12 := elem_exists(~#set~0.base, ~#set~0.offset, ~n~0, #t~mem11); {9074#true} is VALID [2020-07-17 22:49:02,453 INFO L280 TraceCheckUtils]: 47: Hoare triple {9074#true} ~set.base, ~set.offset := #in~set.base, #in~set.offset;~size := #in~size;~value := #in~value;havoc ~i~0;~i~0 := 0; {9074#true} is VALID [2020-07-17 22:49:02,453 INFO L280 TraceCheckUtils]: 48: Hoare triple {9074#true} assume !!(~i~0 < ~size);call #t~mem1 := read~int(~set.base, ~set.offset + 4 * ~i~0, 4); {9074#true} is VALID [2020-07-17 22:49:02,453 INFO L280 TraceCheckUtils]: 49: Hoare triple {9074#true} assume #t~mem1 == ~value;havoc #t~mem1;#res := 1; {9074#true} is VALID [2020-07-17 22:49:02,453 INFO L280 TraceCheckUtils]: 50: Hoare triple {9074#true} assume true; {9074#true} is VALID [2020-07-17 22:49:02,454 INFO L275 TraceCheckUtils]: 51: Hoare quadruple {9074#true} {9075#false} #182#return; {9075#false} is VALID [2020-07-17 22:49:02,454 INFO L280 TraceCheckUtils]: 52: Hoare triple {9075#false} assume -2147483648 <= #t~ret12 && #t~ret12 <= 2147483647; {9075#false} is VALID [2020-07-17 22:49:02,454 INFO L280 TraceCheckUtils]: 53: Hoare triple {9075#false} assume 0 != #t~ret12;havoc #t~mem11;havoc #t~ret12;call #t~mem13 := read~int(~#values~0.base, ~#values~0.offset + 4 * ~v~0, 4); {9075#false} is VALID [2020-07-17 22:49:02,454 INFO L263 TraceCheckUtils]: 54: Hoare triple {9075#false} call #t~ret14 := insert(~#set~0.base, ~#set~0.offset, ~n~0, #t~mem13); {9103#(= |#memory_int| |old(#memory_int)|)} is VALID [2020-07-17 22:49:02,454 INFO L280 TraceCheckUtils]: 55: Hoare triple {9103#(= |#memory_int| |old(#memory_int)|)} ~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; {9074#true} is VALID [2020-07-17 22:49:02,455 INFO L280 TraceCheckUtils]: 56: Hoare triple {9074#true} assume true; {9074#true} is VALID [2020-07-17 22:49:02,455 INFO L275 TraceCheckUtils]: 57: Hoare quadruple {9074#true} {9075#false} #184#return; {9075#false} is VALID [2020-07-17 22:49:02,455 INFO L280 TraceCheckUtils]: 58: Hoare triple {9075#false} assume -2147483648 <= #t~ret14 && #t~ret14 <= 2147483647;~n~0 := #t~ret14;havoc #t~mem13;havoc #t~ret14; {9075#false} is VALID [2020-07-17 22:49:02,455 INFO L280 TraceCheckUtils]: 59: Hoare triple {9075#false} ~x~0 := 0; {9075#false} is VALID [2020-07-17 22:49:02,456 INFO L280 TraceCheckUtils]: 60: Hoare triple {9075#false} assume !!(~x~0 < ~n~0);~y~0 := 1 + ~x~0; {9075#false} is VALID [2020-07-17 22:49:02,456 INFO L280 TraceCheckUtils]: 61: Hoare triple {9075#false} assume !!(~y~0 < ~n~0);call #t~mem17 := read~int(~#set~0.base, ~#set~0.offset + 4 * ~x~0, 4);call #t~mem18 := read~int(~#set~0.base, ~#set~0.offset + 4 * ~y~0, 4); {9075#false} is VALID [2020-07-17 22:49:02,456 INFO L263 TraceCheckUtils]: 62: Hoare triple {9075#false} call __VERIFIER_assert((if #t~mem17 != #t~mem18 then 1 else 0)); {9075#false} is VALID [2020-07-17 22:49:02,456 INFO L280 TraceCheckUtils]: 63: Hoare triple {9075#false} ~cond := #in~cond; {9075#false} is VALID [2020-07-17 22:49:02,456 INFO L280 TraceCheckUtils]: 64: Hoare triple {9075#false} assume 0 == ~cond; {9075#false} is VALID [2020-07-17 22:49:02,457 INFO L280 TraceCheckUtils]: 65: Hoare triple {9075#false} assume !false; {9075#false} is VALID [2020-07-17 22:49:02,461 INFO L134 CoverageAnalysis]: Checked inductivity of 55 backedges. 0 proven. 36 refuted. 0 times theorem prover too weak. 19 trivial. 0 not checked. [2020-07-17 22:49:02,461 INFO L354 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleSmtInterpolCraig [62839820] [2020-07-17 22:49:02,461 INFO L354 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleZ3 [976179252] [2020-07-17 22:49:02,462 INFO L92 rtionOrderModulation]: Changing assertion order to OUTSIDE_LOOP_FIRST2 No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 Starting monitored process 11 with z3 -smt2 -in SMTLIB2_COMPLIANT=true (exit command is (exit), workingDir is null) Waiting until toolchain timeout for monitored process 11 with z3 -smt2 -in SMTLIB2_COMPLIANT=true [2020-07-17 22:49:02,515 INFO L249 tOrderPrioritization]: Assert order OUTSIDE_LOOP_FIRST2 issued 2 check-sat command(s) [2020-07-17 22:49:02,515 INFO L250 tOrderPrioritization]: Conjunction of SSA is unsat [2020-07-17 22:49:02,516 INFO L264 TraceCheckSpWp]: Trace formula consists of 221 conjuncts, 6 conjunts are in the unsatisfiable core [2020-07-17 22:49:02,528 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2020-07-17 22:49:02,530 INFO L287 TraceCheckSpWp]: Computing forward predicates... [2020-07-17 22:49:02,669 INFO L263 TraceCheckUtils]: 0: Hoare triple {9074#true} call ULTIMATE.init(); {9074#true} is VALID [2020-07-17 22:49:02,670 INFO L280 TraceCheckUtils]: 1: Hoare triple {9074#true} #NULL.base, #NULL.offset := 0, 0;#valid := #valid[0 := 0];assume 0 < #StackHeapBarrier; {9074#true} is VALID [2020-07-17 22:49:02,670 INFO L280 TraceCheckUtils]: 2: Hoare triple {9074#true} assume true; {9074#true} is VALID [2020-07-17 22:49:02,670 INFO L275 TraceCheckUtils]: 3: Hoare quadruple {9074#true} {9074#true} #176#return; {9074#true} is VALID [2020-07-17 22:49:02,670 INFO L263 TraceCheckUtils]: 4: Hoare triple {9074#true} call #t~ret23 := main(); {9074#true} is VALID [2020-07-17 22:49:02,671 INFO L280 TraceCheckUtils]: 5: Hoare triple {9074#true} ~n~0 := 0;call ~#set~0.base, ~#set~0.offset := #Ultimate.allocOnStack(400000);havoc ~x~0;havoc ~y~0;~x~0 := 0; {9074#true} is VALID [2020-07-17 22:49:02,671 INFO L280 TraceCheckUtils]: 6: Hoare triple {9074#true} assume !!(~x~0 < 100000);assume -2147483648 <= #t~nondet3 && #t~nondet3 <= 2147483647;call write~int(#t~nondet3, ~#set~0.base, ~#set~0.offset + 4 * ~x~0, 4);havoc #t~nondet3; {9074#true} is VALID [2020-07-17 22:49:02,671 INFO L280 TraceCheckUtils]: 7: Hoare triple {9074#true} #t~post2 := ~x~0;~x~0 := 1 + #t~post2;havoc #t~post2; {9074#true} is VALID [2020-07-17 22:49:02,671 INFO L280 TraceCheckUtils]: 8: Hoare triple {9074#true} assume !!(~x~0 < 100000);assume -2147483648 <= #t~nondet3 && #t~nondet3 <= 2147483647;call write~int(#t~nondet3, ~#set~0.base, ~#set~0.offset + 4 * ~x~0, 4);havoc #t~nondet3; {9074#true} is VALID [2020-07-17 22:49:02,671 INFO L280 TraceCheckUtils]: 9: Hoare triple {9074#true} #t~post2 := ~x~0;~x~0 := 1 + #t~post2;havoc #t~post2; {9074#true} is VALID [2020-07-17 22:49:02,672 INFO L280 TraceCheckUtils]: 10: Hoare triple {9074#true} assume !!(~x~0 < 100000);assume -2147483648 <= #t~nondet3 && #t~nondet3 <= 2147483647;call write~int(#t~nondet3, ~#set~0.base, ~#set~0.offset + 4 * ~x~0, 4);havoc #t~nondet3; {9074#true} is VALID [2020-07-17 22:49:02,672 INFO L280 TraceCheckUtils]: 11: Hoare triple {9074#true} #t~post2 := ~x~0;~x~0 := 1 + #t~post2;havoc #t~post2; {9074#true} is VALID [2020-07-17 22:49:02,672 INFO L280 TraceCheckUtils]: 12: Hoare triple {9074#true} assume !!(~x~0 < 100000);assume -2147483648 <= #t~nondet3 && #t~nondet3 <= 2147483647;call write~int(#t~nondet3, ~#set~0.base, ~#set~0.offset + 4 * ~x~0, 4);havoc #t~nondet3; {9074#true} is VALID [2020-07-17 22:49:02,672 INFO L280 TraceCheckUtils]: 13: Hoare triple {9074#true} #t~post2 := ~x~0;~x~0 := 1 + #t~post2;havoc #t~post2; {9074#true} is VALID [2020-07-17 22:49:02,672 INFO L280 TraceCheckUtils]: 14: Hoare triple {9074#true} assume !!(~x~0 < 100000);assume -2147483648 <= #t~nondet3 && #t~nondet3 <= 2147483647;call write~int(#t~nondet3, ~#set~0.base, ~#set~0.offset + 4 * ~x~0, 4);havoc #t~nondet3; {9074#true} is VALID [2020-07-17 22:49:02,673 INFO L280 TraceCheckUtils]: 15: Hoare triple {9074#true} #t~post2 := ~x~0;~x~0 := 1 + #t~post2;havoc #t~post2; {9074#true} is VALID [2020-07-17 22:49:02,673 INFO L280 TraceCheckUtils]: 16: Hoare triple {9074#true} assume !!(~x~0 < 100000);assume -2147483648 <= #t~nondet3 && #t~nondet3 <= 2147483647;call write~int(#t~nondet3, ~#set~0.base, ~#set~0.offset + 4 * ~x~0, 4);havoc #t~nondet3; {9074#true} is VALID [2020-07-17 22:49:02,673 INFO L280 TraceCheckUtils]: 17: Hoare triple {9074#true} #t~post2 := ~x~0;~x~0 := 1 + #t~post2;havoc #t~post2; {9074#true} is VALID [2020-07-17 22:49:02,673 INFO L280 TraceCheckUtils]: 18: Hoare triple {9074#true} assume !(~x~0 < 100000); {9074#true} is VALID [2020-07-17 22:49:02,673 INFO L280 TraceCheckUtils]: 19: Hoare triple {9074#true} ~x~0 := 0; {9074#true} is VALID [2020-07-17 22:49:02,674 INFO L280 TraceCheckUtils]: 20: Hoare triple {9074#true} assume !(~x~0 < ~n~0); {9074#true} is VALID [2020-07-17 22:49:02,674 INFO L280 TraceCheckUtils]: 21: Hoare triple {9074#true} call ~#values~0.base, ~#values~0.offset := #Ultimate.allocOnStack(400000);havoc ~v~0;~v~0 := 0; {9074#true} is VALID [2020-07-17 22:49:02,674 INFO L280 TraceCheckUtils]: 22: Hoare triple {9074#true} assume !!(~v~0 < 100000);assume -2147483648 <= #t~nondet9 && #t~nondet9 <= 2147483647;call write~int(#t~nondet9, ~#values~0.base, ~#values~0.offset + 4 * ~v~0, 4);havoc #t~nondet9; {9074#true} is VALID [2020-07-17 22:49:02,674 INFO L280 TraceCheckUtils]: 23: Hoare triple {9074#true} #t~post8 := ~v~0;~v~0 := 1 + #t~post8;havoc #t~post8; {9074#true} is VALID [2020-07-17 22:49:02,674 INFO L280 TraceCheckUtils]: 24: Hoare triple {9074#true} assume !!(~v~0 < 100000);assume -2147483648 <= #t~nondet9 && #t~nondet9 <= 2147483647;call write~int(#t~nondet9, ~#values~0.base, ~#values~0.offset + 4 * ~v~0, 4);havoc #t~nondet9; {9074#true} is VALID [2020-07-17 22:49:02,674 INFO L280 TraceCheckUtils]: 25: Hoare triple {9074#true} #t~post8 := ~v~0;~v~0 := 1 + #t~post8;havoc #t~post8; {9074#true} is VALID [2020-07-17 22:49:02,675 INFO L280 TraceCheckUtils]: 26: Hoare triple {9074#true} assume !(~v~0 < 100000); {9074#true} is VALID [2020-07-17 22:49:02,675 INFO L280 TraceCheckUtils]: 27: Hoare triple {9074#true} ~v~0 := 0; {9074#true} is VALID [2020-07-17 22:49:02,675 INFO L280 TraceCheckUtils]: 28: Hoare triple {9074#true} assume !!(~v~0 < 100000);call #t~mem11 := read~int(~#values~0.base, ~#values~0.offset + 4 * ~v~0, 4); {9074#true} is VALID [2020-07-17 22:49:02,675 INFO L263 TraceCheckUtils]: 29: Hoare triple {9074#true} call #t~ret12 := elem_exists(~#set~0.base, ~#set~0.offset, ~n~0, #t~mem11); {9074#true} is VALID [2020-07-17 22:49:02,675 INFO L280 TraceCheckUtils]: 30: Hoare triple {9074#true} ~set.base, ~set.offset := #in~set.base, #in~set.offset;~size := #in~size;~value := #in~value;havoc ~i~0;~i~0 := 0; {9074#true} is VALID [2020-07-17 22:49:02,676 INFO L280 TraceCheckUtils]: 31: Hoare triple {9074#true} assume !(~i~0 < ~size); {9074#true} is VALID [2020-07-17 22:49:02,676 INFO L280 TraceCheckUtils]: 32: Hoare triple {9074#true} #res := 0; {9074#true} is VALID [2020-07-17 22:49:02,676 INFO L280 TraceCheckUtils]: 33: Hoare triple {9074#true} assume true; {9074#true} is VALID [2020-07-17 22:49:02,676 INFO L275 TraceCheckUtils]: 34: Hoare quadruple {9074#true} {9074#true} #182#return; {9074#true} is VALID [2020-07-17 22:49:02,676 INFO L280 TraceCheckUtils]: 35: Hoare triple {9074#true} assume -2147483648 <= #t~ret12 && #t~ret12 <= 2147483647; {9074#true} is VALID [2020-07-17 22:49:02,677 INFO L280 TraceCheckUtils]: 36: Hoare triple {9074#true} assume 0 != #t~ret12;havoc #t~mem11;havoc #t~ret12;call #t~mem13 := read~int(~#values~0.base, ~#values~0.offset + 4 * ~v~0, 4); {9074#true} is VALID [2020-07-17 22:49:02,677 INFO L263 TraceCheckUtils]: 37: Hoare triple {9074#true} call #t~ret14 := insert(~#set~0.base, ~#set~0.offset, ~n~0, #t~mem13); {9074#true} is VALID [2020-07-17 22:49:02,677 INFO L280 TraceCheckUtils]: 38: Hoare triple {9074#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; {9074#true} is VALID [2020-07-17 22:49:02,677 INFO L280 TraceCheckUtils]: 39: Hoare triple {9074#true} assume true; {9074#true} is VALID [2020-07-17 22:49:02,677 INFO L275 TraceCheckUtils]: 40: Hoare quadruple {9074#true} {9074#true} #184#return; {9074#true} is VALID [2020-07-17 22:49:02,677 INFO L280 TraceCheckUtils]: 41: Hoare triple {9074#true} assume -2147483648 <= #t~ret14 && #t~ret14 <= 2147483647;~n~0 := #t~ret14;havoc #t~mem13;havoc #t~ret14; {9074#true} is VALID [2020-07-17 22:49:02,679 INFO L280 TraceCheckUtils]: 42: Hoare triple {9074#true} ~x~0 := 0; {9233#(<= main_~x~0 0)} is VALID [2020-07-17 22:49:02,679 INFO L280 TraceCheckUtils]: 43: Hoare triple {9233#(<= main_~x~0 0)} assume !(~x~0 < ~n~0); {9237#(<= main_~n~0 0)} is VALID [2020-07-17 22:49:02,680 INFO L280 TraceCheckUtils]: 44: Hoare triple {9237#(<= main_~n~0 0)} #t~post10 := ~v~0;~v~0 := 1 + #t~post10;havoc #t~post10; {9237#(<= main_~n~0 0)} is VALID [2020-07-17 22:49:02,680 INFO L280 TraceCheckUtils]: 45: Hoare triple {9237#(<= main_~n~0 0)} assume !!(~v~0 < 100000);call #t~mem11 := read~int(~#values~0.base, ~#values~0.offset + 4 * ~v~0, 4); {9237#(<= main_~n~0 0)} is VALID [2020-07-17 22:49:02,680 INFO L263 TraceCheckUtils]: 46: Hoare triple {9237#(<= main_~n~0 0)} call #t~ret12 := elem_exists(~#set~0.base, ~#set~0.offset, ~n~0, #t~mem11); {9074#true} is VALID [2020-07-17 22:49:02,681 INFO L280 TraceCheckUtils]: 47: Hoare triple {9074#true} ~set.base, ~set.offset := #in~set.base, #in~set.offset;~size := #in~size;~value := #in~value;havoc ~i~0;~i~0 := 0; {9250#(and (<= elem_exists_~size |elem_exists_#in~size|) (<= 0 elem_exists_~i~0))} is VALID [2020-07-17 22:49:02,682 INFO L280 TraceCheckUtils]: 48: Hoare triple {9250#(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); {9254#(<= 1 |elem_exists_#in~size|)} is VALID [2020-07-17 22:49:02,682 INFO L280 TraceCheckUtils]: 49: Hoare triple {9254#(<= 1 |elem_exists_#in~size|)} assume #t~mem1 == ~value;havoc #t~mem1;#res := 1; {9254#(<= 1 |elem_exists_#in~size|)} is VALID [2020-07-17 22:49:02,683 INFO L280 TraceCheckUtils]: 50: Hoare triple {9254#(<= 1 |elem_exists_#in~size|)} assume true; {9254#(<= 1 |elem_exists_#in~size|)} is VALID [2020-07-17 22:49:02,684 INFO L275 TraceCheckUtils]: 51: Hoare quadruple {9254#(<= 1 |elem_exists_#in~size|)} {9237#(<= main_~n~0 0)} #182#return; {9075#false} is VALID [2020-07-17 22:49:02,684 INFO L280 TraceCheckUtils]: 52: Hoare triple {9075#false} assume -2147483648 <= #t~ret12 && #t~ret12 <= 2147483647; {9075#false} is VALID [2020-07-17 22:49:02,684 INFO L280 TraceCheckUtils]: 53: Hoare triple {9075#false} assume 0 != #t~ret12;havoc #t~mem11;havoc #t~ret12;call #t~mem13 := read~int(~#values~0.base, ~#values~0.offset + 4 * ~v~0, 4); {9075#false} is VALID [2020-07-17 22:49:02,685 INFO L263 TraceCheckUtils]: 54: Hoare triple {9075#false} call #t~ret14 := insert(~#set~0.base, ~#set~0.offset, ~n~0, #t~mem13); {9075#false} is VALID [2020-07-17 22:49:02,685 INFO L280 TraceCheckUtils]: 55: Hoare triple {9075#false} ~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; {9075#false} is VALID [2020-07-17 22:49:02,685 INFO L280 TraceCheckUtils]: 56: Hoare triple {9075#false} assume true; {9075#false} is VALID [2020-07-17 22:49:02,685 INFO L275 TraceCheckUtils]: 57: Hoare quadruple {9075#false} {9075#false} #184#return; {9075#false} is VALID [2020-07-17 22:49:02,685 INFO L280 TraceCheckUtils]: 58: Hoare triple {9075#false} assume -2147483648 <= #t~ret14 && #t~ret14 <= 2147483647;~n~0 := #t~ret14;havoc #t~mem13;havoc #t~ret14; {9075#false} is VALID [2020-07-17 22:49:02,686 INFO L280 TraceCheckUtils]: 59: Hoare triple {9075#false} ~x~0 := 0; {9075#false} is VALID [2020-07-17 22:49:02,686 INFO L280 TraceCheckUtils]: 60: Hoare triple {9075#false} assume !!(~x~0 < ~n~0);~y~0 := 1 + ~x~0; {9075#false} is VALID [2020-07-17 22:49:02,686 INFO L280 TraceCheckUtils]: 61: Hoare triple {9075#false} assume !!(~y~0 < ~n~0);call #t~mem17 := read~int(~#set~0.base, ~#set~0.offset + 4 * ~x~0, 4);call #t~mem18 := read~int(~#set~0.base, ~#set~0.offset + 4 * ~y~0, 4); {9075#false} is VALID [2020-07-17 22:49:02,686 INFO L263 TraceCheckUtils]: 62: Hoare triple {9075#false} call __VERIFIER_assert((if #t~mem17 != #t~mem18 then 1 else 0)); {9075#false} is VALID [2020-07-17 22:49:02,687 INFO L280 TraceCheckUtils]: 63: Hoare triple {9075#false} ~cond := #in~cond; {9075#false} is VALID [2020-07-17 22:49:02,687 INFO L280 TraceCheckUtils]: 64: Hoare triple {9075#false} assume 0 == ~cond; {9075#false} is VALID [2020-07-17 22:49:02,687 INFO L280 TraceCheckUtils]: 65: Hoare triple {9075#false} assume !false; {9075#false} is VALID [2020-07-17 22:49:02,690 INFO L134 CoverageAnalysis]: Checked inductivity of 55 backedges. 14 proven. 0 refuted. 0 times theorem prover too weak. 41 trivial. 0 not checked. [2020-07-17 22:49:02,691 INFO L220 FreeRefinementEngine]: Constructing automaton from 1 perfect and 1 imperfect interpolant sequences. [2020-07-17 22:49:02,691 INFO L233 FreeRefinementEngine]: Number of different interpolants: perfect sequences [6] imperfect sequences [11] total 15 [2020-07-17 22:49:02,691 INFO L156 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [1895949512] [2020-07-17 22:49:02,692 INFO L78 Accepts]: Start accepts. Automaton has 6 states. Word has length 66 [2020-07-17 22:49:02,692 INFO L84 Accepts]: Finished accepts. word is accepted. [2020-07-17 22:49:02,692 INFO L86 InductivityCheck]: Starting indutivity check of a Floyd-Hoare automaton with 6 states. [2020-07-17 22:49:02,746 INFO L119 InductivityCheck]: Floyd-Hoare automaton has 54 edges. 54 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2020-07-17 22:49:02,746 INFO L459 AbstractCegarLoop]: Interpolant automaton has 6 states [2020-07-17 22:49:02,746 INFO L143 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy CAMEL [2020-07-17 22:49:02,747 INFO L142 InterpolantAutomaton]: Constructing interpolant automaton starting with 6 interpolants. [2020-07-17 22:49:02,747 INFO L144 InterpolantAutomaton]: CoverageRelationStatistics Valid=55, Invalid=155, Unknown=0, NotChecked=0, Total=210 [2020-07-17 22:49:02,747 INFO L87 Difference]: Start difference. First operand 96 states and 118 transitions. Second operand 6 states. [2020-07-17 22:49:03,308 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2020-07-17 22:49:03,308 INFO L93 Difference]: Finished difference Result 202 states and 259 transitions. [2020-07-17 22:49:03,309 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 7 states. [2020-07-17 22:49:03,309 INFO L78 Accepts]: Start accepts. Automaton has 6 states. Word has length 66 [2020-07-17 22:49:03,310 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2020-07-17 22:49:03,310 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 6 states. [2020-07-17 22:49:03,312 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 7 states to 7 states and 155 transitions. [2020-07-17 22:49:03,312 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 6 states. [2020-07-17 22:49:03,314 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 7 states to 7 states and 155 transitions. [2020-07-17 22:49:03,314 INFO L86 InductivityCheck]: Starting indutivity check of a Floyd-Hoare automaton with 7 states and 155 transitions. [2020-07-17 22:49:03,480 INFO L119 InductivityCheck]: Floyd-Hoare automaton has 155 edges. 155 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2020-07-17 22:49:03,486 INFO L225 Difference]: With dead ends: 202 [2020-07-17 22:49:03,486 INFO L226 Difference]: Without dead ends: 125 [2020-07-17 22:49:03,487 INFO L675 BasicCegarLoop]: 0 DeclaredPredicates, 88 GetRequests, 73 SyntacticMatches, 0 SemanticMatches, 15 ConstructedPredicates, 0 IntricatePredicates, 0 DeprecatedPredicates, 48 ImplicationChecksByTransitivity, 0.1s TimeCoverageRelationStatistics Valid=69, Invalid=203, Unknown=0, NotChecked=0, Total=272 [2020-07-17 22:49:03,487 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 125 states. [2020-07-17 22:49:03,591 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 125 to 96. [2020-07-17 22:49:03,591 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2020-07-17 22:49:03,591 INFO L82 GeneralOperation]: Start isEquivalent. First operand 125 states. Second operand 96 states. [2020-07-17 22:49:03,591 INFO L74 IsIncluded]: Start isIncluded. First operand 125 states. Second operand 96 states. [2020-07-17 22:49:03,591 INFO L87 Difference]: Start difference. First operand 125 states. Second operand 96 states. [2020-07-17 22:49:03,598 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2020-07-17 22:49:03,598 INFO L93 Difference]: Finished difference Result 125 states and 156 transitions. [2020-07-17 22:49:03,598 INFO L276 IsEmpty]: Start isEmpty. Operand 125 states and 156 transitions. [2020-07-17 22:49:03,599 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2020-07-17 22:49:03,599 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2020-07-17 22:49:03,599 INFO L74 IsIncluded]: Start isIncluded. First operand 96 states. Second operand 125 states. [2020-07-17 22:49:03,599 INFO L87 Difference]: Start difference. First operand 96 states. Second operand 125 states. [2020-07-17 22:49:03,603 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2020-07-17 22:49:03,604 INFO L93 Difference]: Finished difference Result 125 states and 156 transitions. [2020-07-17 22:49:03,604 INFO L276 IsEmpty]: Start isEmpty. Operand 125 states and 156 transitions. [2020-07-17 22:49:03,604 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2020-07-17 22:49:03,605 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2020-07-17 22:49:03,605 INFO L88 GeneralOperation]: Finished isEquivalent. [2020-07-17 22:49:03,605 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2020-07-17 22:49:03,605 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 96 states. [2020-07-17 22:49:03,608 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 96 states to 96 states and 118 transitions. [2020-07-17 22:49:03,608 INFO L78 Accepts]: Start accepts. Automaton has 96 states and 118 transitions. Word has length 66 [2020-07-17 22:49:03,608 INFO L84 Accepts]: Finished accepts. word is rejected. [2020-07-17 22:49:03,608 INFO L479 AbstractCegarLoop]: Abstraction has 96 states and 118 transitions. [2020-07-17 22:49:03,608 INFO L480 AbstractCegarLoop]: Interpolant automaton has 6 states. [2020-07-17 22:49:03,608 INFO L276 IsEmpty]: Start isEmpty. Operand 96 states and 118 transitions. [2020-07-17 22:49:03,609 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 70 [2020-07-17 22:49:03,609 INFO L414 BasicCegarLoop]: Found error trace [2020-07-17 22:49:03,610 INFO L422 BasicCegarLoop]: trace histogram [6, 6, 2, 2, 2, 2, 2, 2, 2, 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] [2020-07-17 22:49:03,823 WARN L516 AbstractCegarLoop]: Destroyed unattended storables created during the last iteration: SelfDestructingSolverStorable10,11 z3 -smt2 -in SMTLIB2_COMPLIANT=true [2020-07-17 22:49:03,824 INFO L427 AbstractCegarLoop]: === Iteration 12 === [__VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION]=== [2020-07-17 22:49:03,824 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2020-07-17 22:49:03,824 INFO L82 PathProgramCache]: Analyzing trace with hash -1402871403, now seen corresponding path program 1 times [2020-07-17 22:49:03,825 INFO L163 FreeRefinementEngine]: Executing refinement strategy CAMEL [2020-07-17 22:49:03,825 INFO L354 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [912723621] [2020-07-17 22:49:03,825 INFO L94 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2020-07-17 22:49:03,865 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2020-07-17 22:49:03,972 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2020-07-17 22:49:03,976 INFO L280 TraceCheckUtils]: 0: Hoare triple {10014#(and (= |#valid| |old(#valid)|) (= |#NULL.base| |old(#NULL.base)|) (= |#NULL.offset| |old(#NULL.offset)|))} #NULL.base, #NULL.offset := 0, 0;#valid := #valid[0 := 0];assume 0 < #StackHeapBarrier; {9986#true} is VALID [2020-07-17 22:49:03,976 INFO L280 TraceCheckUtils]: 1: Hoare triple {9986#true} assume true; {9986#true} is VALID [2020-07-17 22:49:03,976 INFO L275 TraceCheckUtils]: 2: Hoare quadruple {9986#true} {9986#true} #176#return; {9986#true} is VALID [2020-07-17 22:49:03,978 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2020-07-17 22:49:03,981 INFO L280 TraceCheckUtils]: 0: Hoare triple {9986#true} ~set.base, ~set.offset := #in~set.base, #in~set.offset;~size := #in~size;~value := #in~value;havoc ~i~0;~i~0 := 0; {9986#true} is VALID [2020-07-17 22:49:03,981 INFO L280 TraceCheckUtils]: 1: Hoare triple {9986#true} assume !(~i~0 < ~size); {9986#true} is VALID [2020-07-17 22:49:03,981 INFO L280 TraceCheckUtils]: 2: Hoare triple {9986#true} #res := 0; {9986#true} is VALID [2020-07-17 22:49:03,982 INFO L280 TraceCheckUtils]: 3: Hoare triple {9986#true} assume true; {9986#true} is VALID [2020-07-17 22:49:03,982 INFO L275 TraceCheckUtils]: 4: Hoare quadruple {9986#true} {9987#false} #182#return; {9987#false} is VALID [2020-07-17 22:49:03,992 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2020-07-17 22:49:04,009 INFO L280 TraceCheckUtils]: 0: Hoare triple {10015#(= |#memory_int| |old(#memory_int)|)} ~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; {9986#true} is VALID [2020-07-17 22:49:04,009 INFO L280 TraceCheckUtils]: 1: Hoare triple {9986#true} assume true; {9986#true} is VALID [2020-07-17 22:49:04,009 INFO L275 TraceCheckUtils]: 2: Hoare quadruple {9986#true} {9987#false} #184#return; {9987#false} is VALID [2020-07-17 22:49:04,011 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2020-07-17 22:49:04,014 INFO L280 TraceCheckUtils]: 0: Hoare triple {9986#true} ~set.base, ~set.offset := #in~set.base, #in~set.offset;~size := #in~size;~value := #in~value;havoc ~i~0;~i~0 := 0; {9986#true} is VALID [2020-07-17 22:49:04,014 INFO L280 TraceCheckUtils]: 1: Hoare triple {9986#true} assume !!(~i~0 < ~size);call #t~mem1 := read~int(~set.base, ~set.offset + 4 * ~i~0, 4); {9986#true} is VALID [2020-07-17 22:49:04,015 INFO L280 TraceCheckUtils]: 2: Hoare triple {9986#true} assume #t~mem1 == ~value;havoc #t~mem1;#res := 1; {9986#true} is VALID [2020-07-17 22:49:04,015 INFO L280 TraceCheckUtils]: 3: Hoare triple {9986#true} assume true; {9986#true} is VALID [2020-07-17 22:49:04,015 INFO L275 TraceCheckUtils]: 4: Hoare quadruple {9986#true} {9987#false} #182#return; {9987#false} is VALID [2020-07-17 22:49:04,016 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2020-07-17 22:49:04,023 INFO L280 TraceCheckUtils]: 0: Hoare triple {10015#(= |#memory_int| |old(#memory_int)|)} ~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; {9986#true} is VALID [2020-07-17 22:49:04,024 INFO L280 TraceCheckUtils]: 1: Hoare triple {9986#true} assume true; {9986#true} is VALID [2020-07-17 22:49:04,024 INFO L275 TraceCheckUtils]: 2: Hoare quadruple {9986#true} {9987#false} #184#return; {9987#false} is VALID [2020-07-17 22:49:04,025 INFO L263 TraceCheckUtils]: 0: Hoare triple {9986#true} call ULTIMATE.init(); {10014#(and (= |#valid| |old(#valid)|) (= |#NULL.base| |old(#NULL.base)|) (= |#NULL.offset| |old(#NULL.offset)|))} is VALID [2020-07-17 22:49:04,025 INFO L280 TraceCheckUtils]: 1: Hoare triple {10014#(and (= |#valid| |old(#valid)|) (= |#NULL.base| |old(#NULL.base)|) (= |#NULL.offset| |old(#NULL.offset)|))} #NULL.base, #NULL.offset := 0, 0;#valid := #valid[0 := 0];assume 0 < #StackHeapBarrier; {9986#true} is VALID [2020-07-17 22:49:04,026 INFO L280 TraceCheckUtils]: 2: Hoare triple {9986#true} assume true; {9986#true} is VALID [2020-07-17 22:49:04,026 INFO L275 TraceCheckUtils]: 3: Hoare quadruple {9986#true} {9986#true} #176#return; {9986#true} is VALID [2020-07-17 22:49:04,026 INFO L263 TraceCheckUtils]: 4: Hoare triple {9986#true} call #t~ret23 := main(); {9986#true} is VALID [2020-07-17 22:49:04,027 INFO L280 TraceCheckUtils]: 5: Hoare triple {9986#true} ~n~0 := 0;call ~#set~0.base, ~#set~0.offset := #Ultimate.allocOnStack(400000);havoc ~x~0;havoc ~y~0;~x~0 := 0; {9991#(= 0 main_~x~0)} is VALID [2020-07-17 22:49:04,028 INFO L280 TraceCheckUtils]: 6: Hoare triple {9991#(= 0 main_~x~0)} assume !!(~x~0 < 100000);assume -2147483648 <= #t~nondet3 && #t~nondet3 <= 2147483647;call write~int(#t~nondet3, ~#set~0.base, ~#set~0.offset + 4 * ~x~0, 4);havoc #t~nondet3; {9991#(= 0 main_~x~0)} is VALID [2020-07-17 22:49:04,028 INFO L280 TraceCheckUtils]: 7: Hoare triple {9991#(= 0 main_~x~0)} #t~post2 := ~x~0;~x~0 := 1 + #t~post2;havoc #t~post2; {9992#(<= main_~x~0 1)} is VALID [2020-07-17 22:49:04,029 INFO L280 TraceCheckUtils]: 8: Hoare triple {9992#(<= main_~x~0 1)} assume !!(~x~0 < 100000);assume -2147483648 <= #t~nondet3 && #t~nondet3 <= 2147483647;call write~int(#t~nondet3, ~#set~0.base, ~#set~0.offset + 4 * ~x~0, 4);havoc #t~nondet3; {9992#(<= main_~x~0 1)} is VALID [2020-07-17 22:49:04,030 INFO L280 TraceCheckUtils]: 9: Hoare triple {9992#(<= main_~x~0 1)} #t~post2 := ~x~0;~x~0 := 1 + #t~post2;havoc #t~post2; {9993#(<= main_~x~0 2)} is VALID [2020-07-17 22:49:04,031 INFO L280 TraceCheckUtils]: 10: Hoare triple {9993#(<= main_~x~0 2)} assume !!(~x~0 < 100000);assume -2147483648 <= #t~nondet3 && #t~nondet3 <= 2147483647;call write~int(#t~nondet3, ~#set~0.base, ~#set~0.offset + 4 * ~x~0, 4);havoc #t~nondet3; {9993#(<= main_~x~0 2)} is VALID [2020-07-17 22:49:04,032 INFO L280 TraceCheckUtils]: 11: Hoare triple {9993#(<= main_~x~0 2)} #t~post2 := ~x~0;~x~0 := 1 + #t~post2;havoc #t~post2; {9994#(<= main_~x~0 3)} is VALID [2020-07-17 22:49:04,032 INFO L280 TraceCheckUtils]: 12: Hoare triple {9994#(<= main_~x~0 3)} assume !!(~x~0 < 100000);assume -2147483648 <= #t~nondet3 && #t~nondet3 <= 2147483647;call write~int(#t~nondet3, ~#set~0.base, ~#set~0.offset + 4 * ~x~0, 4);havoc #t~nondet3; {9994#(<= main_~x~0 3)} is VALID [2020-07-17 22:49:04,033 INFO L280 TraceCheckUtils]: 13: Hoare triple {9994#(<= main_~x~0 3)} #t~post2 := ~x~0;~x~0 := 1 + #t~post2;havoc #t~post2; {9995#(<= main_~x~0 4)} is VALID [2020-07-17 22:49:04,034 INFO L280 TraceCheckUtils]: 14: Hoare triple {9995#(<= main_~x~0 4)} assume !!(~x~0 < 100000);assume -2147483648 <= #t~nondet3 && #t~nondet3 <= 2147483647;call write~int(#t~nondet3, ~#set~0.base, ~#set~0.offset + 4 * ~x~0, 4);havoc #t~nondet3; {9995#(<= main_~x~0 4)} is VALID [2020-07-17 22:49:04,034 INFO L280 TraceCheckUtils]: 15: Hoare triple {9995#(<= main_~x~0 4)} #t~post2 := ~x~0;~x~0 := 1 + #t~post2;havoc #t~post2; {9996#(<= main_~x~0 5)} is VALID [2020-07-17 22:49:04,035 INFO L280 TraceCheckUtils]: 16: Hoare triple {9996#(<= main_~x~0 5)} assume !!(~x~0 < 100000);assume -2147483648 <= #t~nondet3 && #t~nondet3 <= 2147483647;call write~int(#t~nondet3, ~#set~0.base, ~#set~0.offset + 4 * ~x~0, 4);havoc #t~nondet3; {9996#(<= main_~x~0 5)} is VALID [2020-07-17 22:49:04,036 INFO L280 TraceCheckUtils]: 17: Hoare triple {9996#(<= main_~x~0 5)} #t~post2 := ~x~0;~x~0 := 1 + #t~post2;havoc #t~post2; {9997#(<= main_~x~0 6)} is VALID [2020-07-17 22:49:04,037 INFO L280 TraceCheckUtils]: 18: Hoare triple {9997#(<= main_~x~0 6)} assume !(~x~0 < 100000); {9987#false} is VALID [2020-07-17 22:49:04,037 INFO L280 TraceCheckUtils]: 19: Hoare triple {9987#false} ~x~0 := 0; {9987#false} is VALID [2020-07-17 22:49:04,037 INFO L280 TraceCheckUtils]: 20: Hoare triple {9987#false} assume !(~x~0 < ~n~0); {9987#false} is VALID [2020-07-17 22:49:04,037 INFO L280 TraceCheckUtils]: 21: Hoare triple {9987#false} call ~#values~0.base, ~#values~0.offset := #Ultimate.allocOnStack(400000);havoc ~v~0;~v~0 := 0; {9987#false} is VALID [2020-07-17 22:49:04,037 INFO L280 TraceCheckUtils]: 22: Hoare triple {9987#false} assume !!(~v~0 < 100000);assume -2147483648 <= #t~nondet9 && #t~nondet9 <= 2147483647;call write~int(#t~nondet9, ~#values~0.base, ~#values~0.offset + 4 * ~v~0, 4);havoc #t~nondet9; {9987#false} is VALID [2020-07-17 22:49:04,038 INFO L280 TraceCheckUtils]: 23: Hoare triple {9987#false} #t~post8 := ~v~0;~v~0 := 1 + #t~post8;havoc #t~post8; {9987#false} is VALID [2020-07-17 22:49:04,038 INFO L280 TraceCheckUtils]: 24: Hoare triple {9987#false} assume !!(~v~0 < 100000);assume -2147483648 <= #t~nondet9 && #t~nondet9 <= 2147483647;call write~int(#t~nondet9, ~#values~0.base, ~#values~0.offset + 4 * ~v~0, 4);havoc #t~nondet9; {9987#false} is VALID [2020-07-17 22:49:04,038 INFO L280 TraceCheckUtils]: 25: Hoare triple {9987#false} #t~post8 := ~v~0;~v~0 := 1 + #t~post8;havoc #t~post8; {9987#false} is VALID [2020-07-17 22:49:04,038 INFO L280 TraceCheckUtils]: 26: Hoare triple {9987#false} assume !(~v~0 < 100000); {9987#false} is VALID [2020-07-17 22:49:04,038 INFO L280 TraceCheckUtils]: 27: Hoare triple {9987#false} ~v~0 := 0; {9987#false} is VALID [2020-07-17 22:49:04,039 INFO L280 TraceCheckUtils]: 28: Hoare triple {9987#false} assume !!(~v~0 < 100000);call #t~mem11 := read~int(~#values~0.base, ~#values~0.offset + 4 * ~v~0, 4); {9987#false} is VALID [2020-07-17 22:49:04,039 INFO L263 TraceCheckUtils]: 29: Hoare triple {9987#false} call #t~ret12 := elem_exists(~#set~0.base, ~#set~0.offset, ~n~0, #t~mem11); {9986#true} is VALID [2020-07-17 22:49:04,039 INFO L280 TraceCheckUtils]: 30: Hoare triple {9986#true} ~set.base, ~set.offset := #in~set.base, #in~set.offset;~size := #in~size;~value := #in~value;havoc ~i~0;~i~0 := 0; {9986#true} is VALID [2020-07-17 22:49:04,039 INFO L280 TraceCheckUtils]: 31: Hoare triple {9986#true} assume !(~i~0 < ~size); {9986#true} is VALID [2020-07-17 22:49:04,039 INFO L280 TraceCheckUtils]: 32: Hoare triple {9986#true} #res := 0; {9986#true} is VALID [2020-07-17 22:49:04,040 INFO L280 TraceCheckUtils]: 33: Hoare triple {9986#true} assume true; {9986#true} is VALID [2020-07-17 22:49:04,040 INFO L275 TraceCheckUtils]: 34: Hoare quadruple {9986#true} {9987#false} #182#return; {9987#false} is VALID [2020-07-17 22:49:04,040 INFO L280 TraceCheckUtils]: 35: Hoare triple {9987#false} assume -2147483648 <= #t~ret12 && #t~ret12 <= 2147483647; {9987#false} is VALID [2020-07-17 22:49:04,040 INFO L280 TraceCheckUtils]: 36: Hoare triple {9987#false} assume 0 != #t~ret12;havoc #t~mem11;havoc #t~ret12;call #t~mem13 := read~int(~#values~0.base, ~#values~0.offset + 4 * ~v~0, 4); {9987#false} is VALID [2020-07-17 22:49:04,040 INFO L263 TraceCheckUtils]: 37: Hoare triple {9987#false} call #t~ret14 := insert(~#set~0.base, ~#set~0.offset, ~n~0, #t~mem13); {10015#(= |#memory_int| |old(#memory_int)|)} is VALID [2020-07-17 22:49:04,040 INFO L280 TraceCheckUtils]: 38: Hoare triple {10015#(= |#memory_int| |old(#memory_int)|)} ~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; {9986#true} is VALID [2020-07-17 22:49:04,041 INFO L280 TraceCheckUtils]: 39: Hoare triple {9986#true} assume true; {9986#true} is VALID [2020-07-17 22:49:04,041 INFO L275 TraceCheckUtils]: 40: Hoare quadruple {9986#true} {9987#false} #184#return; {9987#false} is VALID [2020-07-17 22:49:04,041 INFO L280 TraceCheckUtils]: 41: Hoare triple {9987#false} assume -2147483648 <= #t~ret14 && #t~ret14 <= 2147483647;~n~0 := #t~ret14;havoc #t~mem13;havoc #t~ret14; {9987#false} is VALID [2020-07-17 22:49:04,041 INFO L280 TraceCheckUtils]: 42: Hoare triple {9987#false} ~x~0 := 0; {9987#false} is VALID [2020-07-17 22:49:04,041 INFO L280 TraceCheckUtils]: 43: Hoare triple {9987#false} assume !!(~x~0 < ~n~0);~y~0 := 1 + ~x~0; {9987#false} is VALID [2020-07-17 22:49:04,042 INFO L280 TraceCheckUtils]: 44: Hoare triple {9987#false} assume !(~y~0 < ~n~0); {9987#false} is VALID [2020-07-17 22:49:04,042 INFO L280 TraceCheckUtils]: 45: Hoare triple {9987#false} #t~post15 := ~x~0;~x~0 := 1 + #t~post15;havoc #t~post15; {9987#false} is VALID [2020-07-17 22:49:04,042 INFO L280 TraceCheckUtils]: 46: Hoare triple {9987#false} assume !(~x~0 < ~n~0); {9987#false} is VALID [2020-07-17 22:49:04,043 INFO L280 TraceCheckUtils]: 47: Hoare triple {9987#false} #t~post10 := ~v~0;~v~0 := 1 + #t~post10;havoc #t~post10; {9987#false} is VALID [2020-07-17 22:49:04,043 INFO L280 TraceCheckUtils]: 48: Hoare triple {9987#false} assume !!(~v~0 < 100000);call #t~mem11 := read~int(~#values~0.base, ~#values~0.offset + 4 * ~v~0, 4); {9987#false} is VALID [2020-07-17 22:49:04,043 INFO L263 TraceCheckUtils]: 49: Hoare triple {9987#false} call #t~ret12 := elem_exists(~#set~0.base, ~#set~0.offset, ~n~0, #t~mem11); {9986#true} is VALID [2020-07-17 22:49:04,044 INFO L280 TraceCheckUtils]: 50: Hoare triple {9986#true} ~set.base, ~set.offset := #in~set.base, #in~set.offset;~size := #in~size;~value := #in~value;havoc ~i~0;~i~0 := 0; {9986#true} is VALID [2020-07-17 22:49:04,044 INFO L280 TraceCheckUtils]: 51: Hoare triple {9986#true} assume !!(~i~0 < ~size);call #t~mem1 := read~int(~set.base, ~set.offset + 4 * ~i~0, 4); {9986#true} is VALID [2020-07-17 22:49:04,044 INFO L280 TraceCheckUtils]: 52: Hoare triple {9986#true} assume #t~mem1 == ~value;havoc #t~mem1;#res := 1; {9986#true} is VALID [2020-07-17 22:49:04,044 INFO L280 TraceCheckUtils]: 53: Hoare triple {9986#true} assume true; {9986#true} is VALID [2020-07-17 22:49:04,044 INFO L275 TraceCheckUtils]: 54: Hoare quadruple {9986#true} {9987#false} #182#return; {9987#false} is VALID [2020-07-17 22:49:04,044 INFO L280 TraceCheckUtils]: 55: Hoare triple {9987#false} assume -2147483648 <= #t~ret12 && #t~ret12 <= 2147483647; {9987#false} is VALID [2020-07-17 22:49:04,045 INFO L280 TraceCheckUtils]: 56: Hoare triple {9987#false} assume 0 != #t~ret12;havoc #t~mem11;havoc #t~ret12;call #t~mem13 := read~int(~#values~0.base, ~#values~0.offset + 4 * ~v~0, 4); {9987#false} is VALID [2020-07-17 22:49:04,045 INFO L263 TraceCheckUtils]: 57: Hoare triple {9987#false} call #t~ret14 := insert(~#set~0.base, ~#set~0.offset, ~n~0, #t~mem13); {10015#(= |#memory_int| |old(#memory_int)|)} is VALID [2020-07-17 22:49:04,045 INFO L280 TraceCheckUtils]: 58: Hoare triple {10015#(= |#memory_int| |old(#memory_int)|)} ~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; {9986#true} is VALID [2020-07-17 22:49:04,045 INFO L280 TraceCheckUtils]: 59: Hoare triple {9986#true} assume true; {9986#true} is VALID [2020-07-17 22:49:04,045 INFO L275 TraceCheckUtils]: 60: Hoare quadruple {9986#true} {9987#false} #184#return; {9987#false} is VALID [2020-07-17 22:49:04,046 INFO L280 TraceCheckUtils]: 61: Hoare triple {9987#false} assume -2147483648 <= #t~ret14 && #t~ret14 <= 2147483647;~n~0 := #t~ret14;havoc #t~mem13;havoc #t~ret14; {9987#false} is VALID [2020-07-17 22:49:04,046 INFO L280 TraceCheckUtils]: 62: Hoare triple {9987#false} ~x~0 := 0; {9987#false} is VALID [2020-07-17 22:49:04,046 INFO L280 TraceCheckUtils]: 63: Hoare triple {9987#false} assume !!(~x~0 < ~n~0);~y~0 := 1 + ~x~0; {9987#false} is VALID [2020-07-17 22:49:04,047 INFO L280 TraceCheckUtils]: 64: Hoare triple {9987#false} assume !!(~y~0 < ~n~0);call #t~mem17 := read~int(~#set~0.base, ~#set~0.offset + 4 * ~x~0, 4);call #t~mem18 := read~int(~#set~0.base, ~#set~0.offset + 4 * ~y~0, 4); {9987#false} is VALID [2020-07-17 22:49:04,047 INFO L263 TraceCheckUtils]: 65: Hoare triple {9987#false} call __VERIFIER_assert((if #t~mem17 != #t~mem18 then 1 else 0)); {9987#false} is VALID [2020-07-17 22:49:04,047 INFO L280 TraceCheckUtils]: 66: Hoare triple {9987#false} ~cond := #in~cond; {9987#false} is VALID [2020-07-17 22:49:04,047 INFO L280 TraceCheckUtils]: 67: Hoare triple {9987#false} assume 0 == ~cond; {9987#false} is VALID [2020-07-17 22:49:04,047 INFO L280 TraceCheckUtils]: 68: Hoare triple {9987#false} assume !false; {9987#false} is VALID [2020-07-17 22:49:04,050 INFO L134 CoverageAnalysis]: Checked inductivity of 58 backedges. 0 proven. 36 refuted. 0 times theorem prover too weak. 22 trivial. 0 not checked. [2020-07-17 22:49:04,051 INFO L354 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleSmtInterpolCraig [912723621] [2020-07-17 22:49:04,051 INFO L354 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleZ3 [1013494465] [2020-07-17 22:49:04,051 INFO L94 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 Starting monitored process 12 with z3 -smt2 -in SMTLIB2_COMPLIANT=true (exit command is (exit), workingDir is null) Waiting until toolchain timeout for monitored process 12 with z3 -smt2 -in SMTLIB2_COMPLIANT=true [2020-07-17 22:49:04,127 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2020-07-17 22:49:04,129 INFO L264 TraceCheckSpWp]: Trace formula consists of 263 conjuncts, 8 conjunts are in the unsatisfiable core [2020-07-17 22:49:04,144 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2020-07-17 22:49:04,147 INFO L287 TraceCheckSpWp]: Computing forward predicates... [2020-07-17 22:49:04,302 INFO L263 TraceCheckUtils]: 0: Hoare triple {9986#true} call ULTIMATE.init(); {9986#true} is VALID [2020-07-17 22:49:04,303 INFO L280 TraceCheckUtils]: 1: Hoare triple {9986#true} #NULL.base, #NULL.offset := 0, 0;#valid := #valid[0 := 0];assume 0 < #StackHeapBarrier; {9986#true} is VALID [2020-07-17 22:49:04,303 INFO L280 TraceCheckUtils]: 2: Hoare triple {9986#true} assume true; {9986#true} is VALID [2020-07-17 22:49:04,304 INFO L275 TraceCheckUtils]: 3: Hoare quadruple {9986#true} {9986#true} #176#return; {9986#true} is VALID [2020-07-17 22:49:04,304 INFO L263 TraceCheckUtils]: 4: Hoare triple {9986#true} call #t~ret23 := main(); {9986#true} is VALID [2020-07-17 22:49:04,305 INFO L280 TraceCheckUtils]: 5: Hoare triple {9986#true} ~n~0 := 0;call ~#set~0.base, ~#set~0.offset := #Ultimate.allocOnStack(400000);havoc ~x~0;havoc ~y~0;~x~0 := 0; {10034#(<= main_~x~0 0)} is VALID [2020-07-17 22:49:04,306 INFO L280 TraceCheckUtils]: 6: Hoare triple {10034#(<= main_~x~0 0)} assume !!(~x~0 < 100000);assume -2147483648 <= #t~nondet3 && #t~nondet3 <= 2147483647;call write~int(#t~nondet3, ~#set~0.base, ~#set~0.offset + 4 * ~x~0, 4);havoc #t~nondet3; {10034#(<= main_~x~0 0)} is VALID [2020-07-17 22:49:04,307 INFO L280 TraceCheckUtils]: 7: Hoare triple {10034#(<= main_~x~0 0)} #t~post2 := ~x~0;~x~0 := 1 + #t~post2;havoc #t~post2; {9992#(<= main_~x~0 1)} is VALID [2020-07-17 22:49:04,308 INFO L280 TraceCheckUtils]: 8: Hoare triple {9992#(<= main_~x~0 1)} assume !!(~x~0 < 100000);assume -2147483648 <= #t~nondet3 && #t~nondet3 <= 2147483647;call write~int(#t~nondet3, ~#set~0.base, ~#set~0.offset + 4 * ~x~0, 4);havoc #t~nondet3; {9992#(<= main_~x~0 1)} is VALID [2020-07-17 22:49:04,309 INFO L280 TraceCheckUtils]: 9: Hoare triple {9992#(<= main_~x~0 1)} #t~post2 := ~x~0;~x~0 := 1 + #t~post2;havoc #t~post2; {9993#(<= main_~x~0 2)} is VALID [2020-07-17 22:49:04,310 INFO L280 TraceCheckUtils]: 10: Hoare triple {9993#(<= main_~x~0 2)} assume !!(~x~0 < 100000);assume -2147483648 <= #t~nondet3 && #t~nondet3 <= 2147483647;call write~int(#t~nondet3, ~#set~0.base, ~#set~0.offset + 4 * ~x~0, 4);havoc #t~nondet3; {9993#(<= main_~x~0 2)} is VALID [2020-07-17 22:49:04,311 INFO L280 TraceCheckUtils]: 11: Hoare triple {9993#(<= main_~x~0 2)} #t~post2 := ~x~0;~x~0 := 1 + #t~post2;havoc #t~post2; {9994#(<= main_~x~0 3)} is VALID [2020-07-17 22:49:04,312 INFO L280 TraceCheckUtils]: 12: Hoare triple {9994#(<= main_~x~0 3)} assume !!(~x~0 < 100000);assume -2147483648 <= #t~nondet3 && #t~nondet3 <= 2147483647;call write~int(#t~nondet3, ~#set~0.base, ~#set~0.offset + 4 * ~x~0, 4);havoc #t~nondet3; {9994#(<= main_~x~0 3)} is VALID [2020-07-17 22:49:04,313 INFO L280 TraceCheckUtils]: 13: Hoare triple {9994#(<= main_~x~0 3)} #t~post2 := ~x~0;~x~0 := 1 + #t~post2;havoc #t~post2; {9995#(<= main_~x~0 4)} is VALID [2020-07-17 22:49:04,314 INFO L280 TraceCheckUtils]: 14: Hoare triple {9995#(<= main_~x~0 4)} assume !!(~x~0 < 100000);assume -2147483648 <= #t~nondet3 && #t~nondet3 <= 2147483647;call write~int(#t~nondet3, ~#set~0.base, ~#set~0.offset + 4 * ~x~0, 4);havoc #t~nondet3; {9995#(<= main_~x~0 4)} is VALID [2020-07-17 22:49:04,315 INFO L280 TraceCheckUtils]: 15: Hoare triple {9995#(<= main_~x~0 4)} #t~post2 := ~x~0;~x~0 := 1 + #t~post2;havoc #t~post2; {9996#(<= main_~x~0 5)} is VALID [2020-07-17 22:49:04,316 INFO L280 TraceCheckUtils]: 16: Hoare triple {9996#(<= main_~x~0 5)} assume !!(~x~0 < 100000);assume -2147483648 <= #t~nondet3 && #t~nondet3 <= 2147483647;call write~int(#t~nondet3, ~#set~0.base, ~#set~0.offset + 4 * ~x~0, 4);havoc #t~nondet3; {9996#(<= main_~x~0 5)} is VALID [2020-07-17 22:49:04,317 INFO L280 TraceCheckUtils]: 17: Hoare triple {9996#(<= main_~x~0 5)} #t~post2 := ~x~0;~x~0 := 1 + #t~post2;havoc #t~post2; {9997#(<= main_~x~0 6)} is VALID [2020-07-17 22:49:04,318 INFO L280 TraceCheckUtils]: 18: Hoare triple {9997#(<= main_~x~0 6)} assume !(~x~0 < 100000); {9987#false} is VALID [2020-07-17 22:49:04,318 INFO L280 TraceCheckUtils]: 19: Hoare triple {9987#false} ~x~0 := 0; {9987#false} is VALID [2020-07-17 22:49:04,318 INFO L280 TraceCheckUtils]: 20: Hoare triple {9987#false} assume !(~x~0 < ~n~0); {9987#false} is VALID [2020-07-17 22:49:04,319 INFO L280 TraceCheckUtils]: 21: Hoare triple {9987#false} call ~#values~0.base, ~#values~0.offset := #Ultimate.allocOnStack(400000);havoc ~v~0;~v~0 := 0; {9987#false} is VALID [2020-07-17 22:49:04,319 INFO L280 TraceCheckUtils]: 22: Hoare triple {9987#false} assume !!(~v~0 < 100000);assume -2147483648 <= #t~nondet9 && #t~nondet9 <= 2147483647;call write~int(#t~nondet9, ~#values~0.base, ~#values~0.offset + 4 * ~v~0, 4);havoc #t~nondet9; {9987#false} is VALID [2020-07-17 22:49:04,319 INFO L280 TraceCheckUtils]: 23: Hoare triple {9987#false} #t~post8 := ~v~0;~v~0 := 1 + #t~post8;havoc #t~post8; {9987#false} is VALID [2020-07-17 22:49:04,319 INFO L280 TraceCheckUtils]: 24: Hoare triple {9987#false} assume !!(~v~0 < 100000);assume -2147483648 <= #t~nondet9 && #t~nondet9 <= 2147483647;call write~int(#t~nondet9, ~#values~0.base, ~#values~0.offset + 4 * ~v~0, 4);havoc #t~nondet9; {9987#false} is VALID [2020-07-17 22:49:04,319 INFO L280 TraceCheckUtils]: 25: Hoare triple {9987#false} #t~post8 := ~v~0;~v~0 := 1 + #t~post8;havoc #t~post8; {9987#false} is VALID [2020-07-17 22:49:04,320 INFO L280 TraceCheckUtils]: 26: Hoare triple {9987#false} assume !(~v~0 < 100000); {9987#false} is VALID [2020-07-17 22:49:04,320 INFO L280 TraceCheckUtils]: 27: Hoare triple {9987#false} ~v~0 := 0; {9987#false} is VALID [2020-07-17 22:49:04,320 INFO L280 TraceCheckUtils]: 28: Hoare triple {9987#false} assume !!(~v~0 < 100000);call #t~mem11 := read~int(~#values~0.base, ~#values~0.offset + 4 * ~v~0, 4); {9987#false} is VALID [2020-07-17 22:49:04,320 INFO L263 TraceCheckUtils]: 29: Hoare triple {9987#false} call #t~ret12 := elem_exists(~#set~0.base, ~#set~0.offset, ~n~0, #t~mem11); {9987#false} is VALID [2020-07-17 22:49:04,320 INFO L280 TraceCheckUtils]: 30: Hoare triple {9987#false} ~set.base, ~set.offset := #in~set.base, #in~set.offset;~size := #in~size;~value := #in~value;havoc ~i~0;~i~0 := 0; {9987#false} is VALID [2020-07-17 22:49:04,321 INFO L280 TraceCheckUtils]: 31: Hoare triple {9987#false} assume !(~i~0 < ~size); {9987#false} is VALID [2020-07-17 22:49:04,321 INFO L280 TraceCheckUtils]: 32: Hoare triple {9987#false} #res := 0; {9987#false} is VALID [2020-07-17 22:49:04,321 INFO L280 TraceCheckUtils]: 33: Hoare triple {9987#false} assume true; {9987#false} is VALID [2020-07-17 22:49:04,321 INFO L275 TraceCheckUtils]: 34: Hoare quadruple {9987#false} {9987#false} #182#return; {9987#false} is VALID [2020-07-17 22:49:04,321 INFO L280 TraceCheckUtils]: 35: Hoare triple {9987#false} assume -2147483648 <= #t~ret12 && #t~ret12 <= 2147483647; {9987#false} is VALID [2020-07-17 22:49:04,322 INFO L280 TraceCheckUtils]: 36: Hoare triple {9987#false} assume 0 != #t~ret12;havoc #t~mem11;havoc #t~ret12;call #t~mem13 := read~int(~#values~0.base, ~#values~0.offset + 4 * ~v~0, 4); {9987#false} is VALID [2020-07-17 22:49:04,322 INFO L263 TraceCheckUtils]: 37: Hoare triple {9987#false} call #t~ret14 := insert(~#set~0.base, ~#set~0.offset, ~n~0, #t~mem13); {9987#false} is VALID [2020-07-17 22:49:04,322 INFO L280 TraceCheckUtils]: 38: Hoare triple {9987#false} ~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; {9987#false} is VALID [2020-07-17 22:49:04,322 INFO L280 TraceCheckUtils]: 39: Hoare triple {9987#false} assume true; {9987#false} is VALID [2020-07-17 22:49:04,322 INFO L275 TraceCheckUtils]: 40: Hoare quadruple {9987#false} {9987#false} #184#return; {9987#false} is VALID [2020-07-17 22:49:04,323 INFO L280 TraceCheckUtils]: 41: Hoare triple {9987#false} assume -2147483648 <= #t~ret14 && #t~ret14 <= 2147483647;~n~0 := #t~ret14;havoc #t~mem13;havoc #t~ret14; {9987#false} is VALID [2020-07-17 22:49:04,323 INFO L280 TraceCheckUtils]: 42: Hoare triple {9987#false} ~x~0 := 0; {9987#false} is VALID [2020-07-17 22:49:04,323 INFO L280 TraceCheckUtils]: 43: Hoare triple {9987#false} assume !!(~x~0 < ~n~0);~y~0 := 1 + ~x~0; {9987#false} is VALID [2020-07-17 22:49:04,323 INFO L280 TraceCheckUtils]: 44: Hoare triple {9987#false} assume !(~y~0 < ~n~0); {9987#false} is VALID [2020-07-17 22:49:04,323 INFO L280 TraceCheckUtils]: 45: Hoare triple {9987#false} #t~post15 := ~x~0;~x~0 := 1 + #t~post15;havoc #t~post15; {9987#false} is VALID [2020-07-17 22:49:04,324 INFO L280 TraceCheckUtils]: 46: Hoare triple {9987#false} assume !(~x~0 < ~n~0); {9987#false} is VALID [2020-07-17 22:49:04,324 INFO L280 TraceCheckUtils]: 47: Hoare triple {9987#false} #t~post10 := ~v~0;~v~0 := 1 + #t~post10;havoc #t~post10; {9987#false} is VALID [2020-07-17 22:49:04,324 INFO L280 TraceCheckUtils]: 48: Hoare triple {9987#false} assume !!(~v~0 < 100000);call #t~mem11 := read~int(~#values~0.base, ~#values~0.offset + 4 * ~v~0, 4); {9987#false} is VALID [2020-07-17 22:49:04,324 INFO L263 TraceCheckUtils]: 49: Hoare triple {9987#false} call #t~ret12 := elem_exists(~#set~0.base, ~#set~0.offset, ~n~0, #t~mem11); {9987#false} is VALID [2020-07-17 22:49:04,325 INFO L280 TraceCheckUtils]: 50: Hoare triple {9987#false} ~set.base, ~set.offset := #in~set.base, #in~set.offset;~size := #in~size;~value := #in~value;havoc ~i~0;~i~0 := 0; {9987#false} is VALID [2020-07-17 22:49:04,325 INFO L280 TraceCheckUtils]: 51: Hoare triple {9987#false} assume !!(~i~0 < ~size);call #t~mem1 := read~int(~set.base, ~set.offset + 4 * ~i~0, 4); {9987#false} is VALID [2020-07-17 22:49:04,325 INFO L280 TraceCheckUtils]: 52: Hoare triple {9987#false} assume #t~mem1 == ~value;havoc #t~mem1;#res := 1; {9987#false} is VALID [2020-07-17 22:49:04,325 INFO L280 TraceCheckUtils]: 53: Hoare triple {9987#false} assume true; {9987#false} is VALID [2020-07-17 22:49:04,325 INFO L275 TraceCheckUtils]: 54: Hoare quadruple {9987#false} {9987#false} #182#return; {9987#false} is VALID [2020-07-17 22:49:04,326 INFO L280 TraceCheckUtils]: 55: Hoare triple {9987#false} assume -2147483648 <= #t~ret12 && #t~ret12 <= 2147483647; {9987#false} is VALID [2020-07-17 22:49:04,326 INFO L280 TraceCheckUtils]: 56: Hoare triple {9987#false} assume 0 != #t~ret12;havoc #t~mem11;havoc #t~ret12;call #t~mem13 := read~int(~#values~0.base, ~#values~0.offset + 4 * ~v~0, 4); {9987#false} is VALID [2020-07-17 22:49:04,326 INFO L263 TraceCheckUtils]: 57: Hoare triple {9987#false} call #t~ret14 := insert(~#set~0.base, ~#set~0.offset, ~n~0, #t~mem13); {9987#false} is VALID [2020-07-17 22:49:04,326 INFO L280 TraceCheckUtils]: 58: Hoare triple {9987#false} ~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; {9987#false} is VALID [2020-07-17 22:49:04,326 INFO L280 TraceCheckUtils]: 59: Hoare triple {9987#false} assume true; {9987#false} is VALID [2020-07-17 22:49:04,327 INFO L275 TraceCheckUtils]: 60: Hoare quadruple {9987#false} {9987#false} #184#return; {9987#false} is VALID [2020-07-17 22:49:04,327 INFO L280 TraceCheckUtils]: 61: Hoare triple {9987#false} assume -2147483648 <= #t~ret14 && #t~ret14 <= 2147483647;~n~0 := #t~ret14;havoc #t~mem13;havoc #t~ret14; {9987#false} is VALID [2020-07-17 22:49:04,327 INFO L280 TraceCheckUtils]: 62: Hoare triple {9987#false} ~x~0 := 0; {9987#false} is VALID [2020-07-17 22:49:04,327 INFO L280 TraceCheckUtils]: 63: Hoare triple {9987#false} assume !!(~x~0 < ~n~0);~y~0 := 1 + ~x~0; {9987#false} is VALID [2020-07-17 22:49:04,328 INFO L280 TraceCheckUtils]: 64: Hoare triple {9987#false} assume !!(~y~0 < ~n~0);call #t~mem17 := read~int(~#set~0.base, ~#set~0.offset + 4 * ~x~0, 4);call #t~mem18 := read~int(~#set~0.base, ~#set~0.offset + 4 * ~y~0, 4); {9987#false} is VALID [2020-07-17 22:49:04,328 INFO L263 TraceCheckUtils]: 65: Hoare triple {9987#false} call __VERIFIER_assert((if #t~mem17 != #t~mem18 then 1 else 0)); {9987#false} is VALID [2020-07-17 22:49:04,328 INFO L280 TraceCheckUtils]: 66: Hoare triple {9987#false} ~cond := #in~cond; {9987#false} is VALID [2020-07-17 22:49:04,328 INFO L280 TraceCheckUtils]: 67: Hoare triple {9987#false} assume 0 == ~cond; {9987#false} is VALID [2020-07-17 22:49:04,328 INFO L280 TraceCheckUtils]: 68: Hoare triple {9987#false} assume !false; {9987#false} is VALID [2020-07-17 22:49:04,332 INFO L134 CoverageAnalysis]: Checked inductivity of 58 backedges. 0 proven. 36 refuted. 0 times theorem prover too weak. 22 trivial. 0 not checked. [2020-07-17 22:49:04,332 INFO L220 FreeRefinementEngine]: Constructing automaton from 0 perfect and 2 imperfect interpolant sequences. [2020-07-17 22:49:04,332 INFO L233 FreeRefinementEngine]: Number of different interpolants: perfect sequences [] imperfect sequences [11, 9] total 12 [2020-07-17 22:49:04,333 INFO L156 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [999280875] [2020-07-17 22:49:04,333 INFO L78 Accepts]: Start accepts. Automaton has 12 states. Word has length 69 [2020-07-17 22:49:04,335 INFO L84 Accepts]: Finished accepts. word is accepted. [2020-07-17 22:49:04,335 INFO L86 InductivityCheck]: Starting indutivity check of a Floyd-Hoare automaton with 12 states. [2020-07-17 22:49:04,440 INFO L119 InductivityCheck]: Floyd-Hoare automaton has 70 edges. 70 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2020-07-17 22:49:04,440 INFO L459 AbstractCegarLoop]: Interpolant automaton has 12 states [2020-07-17 22:49:04,440 INFO L143 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy CAMEL [2020-07-17 22:49:04,441 INFO L142 InterpolantAutomaton]: Constructing interpolant automaton starting with 12 interpolants. [2020-07-17 22:49:04,441 INFO L144 InterpolantAutomaton]: CoverageRelationStatistics Valid=49, Invalid=83, Unknown=0, NotChecked=0, Total=132 [2020-07-17 22:49:04,441 INFO L87 Difference]: Start difference. First operand 96 states and 118 transitions. Second operand 12 states. [2020-07-17 22:49:06,652 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2020-07-17 22:49:06,652 INFO L93 Difference]: Finished difference Result 406 states and 552 transitions. [2020-07-17 22:49:06,652 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 13 states. [2020-07-17 22:49:06,653 INFO L78 Accepts]: Start accepts. Automaton has 12 states. Word has length 69 [2020-07-17 22:49:06,653 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2020-07-17 22:49:06,653 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 12 states. [2020-07-17 22:49:06,658 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 13 states to 13 states and 338 transitions. [2020-07-17 22:49:06,658 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 12 states. [2020-07-17 22:49:06,662 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 13 states to 13 states and 338 transitions. [2020-07-17 22:49:06,662 INFO L86 InductivityCheck]: Starting indutivity check of a Floyd-Hoare automaton with 13 states and 338 transitions. [2020-07-17 22:49:07,050 INFO L119 InductivityCheck]: Floyd-Hoare automaton has 338 edges. 338 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2020-07-17 22:49:07,066 INFO L225 Difference]: With dead ends: 406 [2020-07-17 22:49:07,066 INFO L226 Difference]: Without dead ends: 329 [2020-07-17 22:49:07,067 INFO L675 BasicCegarLoop]: 0 DeclaredPredicates, 90 GetRequests, 78 SyntacticMatches, 0 SemanticMatches, 12 ConstructedPredicates, 0 IntricatePredicates, 0 DeprecatedPredicates, 24 ImplicationChecksByTransitivity, 0.1s TimeCoverageRelationStatistics Valid=64, Invalid=118, Unknown=0, NotChecked=0, Total=182 [2020-07-17 22:49:07,067 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 329 states. [2020-07-17 22:49:07,185 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 329 to 98. [2020-07-17 22:49:07,186 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2020-07-17 22:49:07,186 INFO L82 GeneralOperation]: Start isEquivalent. First operand 329 states. Second operand 98 states. [2020-07-17 22:49:07,186 INFO L74 IsIncluded]: Start isIncluded. First operand 329 states. Second operand 98 states. [2020-07-17 22:49:07,186 INFO L87 Difference]: Start difference. First operand 329 states. Second operand 98 states. [2020-07-17 22:49:07,197 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2020-07-17 22:49:07,197 INFO L93 Difference]: Finished difference Result 329 states and 453 transitions. [2020-07-17 22:49:07,197 INFO L276 IsEmpty]: Start isEmpty. Operand 329 states and 453 transitions. [2020-07-17 22:49:07,199 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2020-07-17 22:49:07,199 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2020-07-17 22:49:07,199 INFO L74 IsIncluded]: Start isIncluded. First operand 98 states. Second operand 329 states. [2020-07-17 22:49:07,199 INFO L87 Difference]: Start difference. First operand 98 states. Second operand 329 states. [2020-07-17 22:49:07,211 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2020-07-17 22:49:07,212 INFO L93 Difference]: Finished difference Result 329 states and 453 transitions. [2020-07-17 22:49:07,212 INFO L276 IsEmpty]: Start isEmpty. Operand 329 states and 453 transitions. [2020-07-17 22:49:07,213 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2020-07-17 22:49:07,214 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2020-07-17 22:49:07,214 INFO L88 GeneralOperation]: Finished isEquivalent. [2020-07-17 22:49:07,214 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2020-07-17 22:49:07,214 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 98 states. [2020-07-17 22:49:07,216 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 98 states to 98 states and 120 transitions. [2020-07-17 22:49:07,216 INFO L78 Accepts]: Start accepts. Automaton has 98 states and 120 transitions. Word has length 69 [2020-07-17 22:49:07,217 INFO L84 Accepts]: Finished accepts. word is rejected. [2020-07-17 22:49:07,217 INFO L479 AbstractCegarLoop]: Abstraction has 98 states and 120 transitions. [2020-07-17 22:49:07,217 INFO L480 AbstractCegarLoop]: Interpolant automaton has 12 states. [2020-07-17 22:49:07,217 INFO L276 IsEmpty]: Start isEmpty. Operand 98 states and 120 transitions. [2020-07-17 22:49:07,218 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 72 [2020-07-17 22:49:07,218 INFO L414 BasicCegarLoop]: Found error trace [2020-07-17 22:49:07,218 INFO L422 BasicCegarLoop]: trace histogram [7, 7, 2, 2, 2, 2, 2, 2, 2, 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] [2020-07-17 22:49:07,432 WARN L516 AbstractCegarLoop]: Destroyed unattended storables created during the last iteration: 12 z3 -smt2 -in SMTLIB2_COMPLIANT=true,SelfDestructingSolverStorable11 [2020-07-17 22:49:07,433 INFO L427 AbstractCegarLoop]: === Iteration 13 === [__VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION]=== [2020-07-17 22:49:07,433 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2020-07-17 22:49:07,433 INFO L82 PathProgramCache]: Analyzing trace with hash -973371469, now seen corresponding path program 2 times [2020-07-17 22:49:07,434 INFO L163 FreeRefinementEngine]: Executing refinement strategy CAMEL [2020-07-17 22:49:07,434 INFO L354 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [845840594] [2020-07-17 22:49:07,434 INFO L94 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2020-07-17 22:49:07,448 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2020-07-17 22:49:07,561 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2020-07-17 22:49:07,570 INFO L280 TraceCheckUtils]: 0: Hoare triple {11633#(and (= |#valid| |old(#valid)|) (= |#NULL.base| |old(#NULL.base)|) (= |#NULL.offset| |old(#NULL.offset)|))} #NULL.base, #NULL.offset := 0, 0;#valid := #valid[0 := 0];assume 0 < #StackHeapBarrier; {11604#true} is VALID [2020-07-17 22:49:07,570 INFO L280 TraceCheckUtils]: 1: Hoare triple {11604#true} assume true; {11604#true} is VALID [2020-07-17 22:49:07,570 INFO L275 TraceCheckUtils]: 2: Hoare quadruple {11604#true} {11604#true} #176#return; {11604#true} is VALID [2020-07-17 22:49:07,572 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2020-07-17 22:49:07,574 INFO L280 TraceCheckUtils]: 0: Hoare triple {11604#true} ~set.base, ~set.offset := #in~set.base, #in~set.offset;~size := #in~size;~value := #in~value;havoc ~i~0;~i~0 := 0; {11604#true} is VALID [2020-07-17 22:49:07,575 INFO L280 TraceCheckUtils]: 1: Hoare triple {11604#true} assume !(~i~0 < ~size); {11604#true} is VALID [2020-07-17 22:49:07,575 INFO L280 TraceCheckUtils]: 2: Hoare triple {11604#true} #res := 0; {11604#true} is VALID [2020-07-17 22:49:07,575 INFO L280 TraceCheckUtils]: 3: Hoare triple {11604#true} assume true; {11604#true} is VALID [2020-07-17 22:49:07,575 INFO L275 TraceCheckUtils]: 4: Hoare quadruple {11604#true} {11605#false} #182#return; {11605#false} is VALID [2020-07-17 22:49:07,585 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2020-07-17 22:49:07,590 INFO L280 TraceCheckUtils]: 0: Hoare triple {11634#(= |#memory_int| |old(#memory_int)|)} ~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; {11604#true} is VALID [2020-07-17 22:49:07,590 INFO L280 TraceCheckUtils]: 1: Hoare triple {11604#true} assume true; {11604#true} is VALID [2020-07-17 22:49:07,590 INFO L275 TraceCheckUtils]: 2: Hoare quadruple {11604#true} {11605#false} #184#return; {11605#false} is VALID [2020-07-17 22:49:07,592 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2020-07-17 22:49:07,596 INFO L280 TraceCheckUtils]: 0: Hoare triple {11604#true} ~set.base, ~set.offset := #in~set.base, #in~set.offset;~size := #in~size;~value := #in~value;havoc ~i~0;~i~0 := 0; {11604#true} is VALID [2020-07-17 22:49:07,596 INFO L280 TraceCheckUtils]: 1: Hoare triple {11604#true} assume !!(~i~0 < ~size);call #t~mem1 := read~int(~set.base, ~set.offset + 4 * ~i~0, 4); {11604#true} is VALID [2020-07-17 22:49:07,597 INFO L280 TraceCheckUtils]: 2: Hoare triple {11604#true} assume #t~mem1 == ~value;havoc #t~mem1;#res := 1; {11604#true} is VALID [2020-07-17 22:49:07,597 INFO L280 TraceCheckUtils]: 3: Hoare triple {11604#true} assume true; {11604#true} is VALID [2020-07-17 22:49:07,597 INFO L275 TraceCheckUtils]: 4: Hoare quadruple {11604#true} {11605#false} #182#return; {11605#false} is VALID [2020-07-17 22:49:07,598 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2020-07-17 22:49:07,604 INFO L280 TraceCheckUtils]: 0: Hoare triple {11634#(= |#memory_int| |old(#memory_int)|)} ~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; {11604#true} is VALID [2020-07-17 22:49:07,605 INFO L280 TraceCheckUtils]: 1: Hoare triple {11604#true} assume true; {11604#true} is VALID [2020-07-17 22:49:07,605 INFO L275 TraceCheckUtils]: 2: Hoare quadruple {11604#true} {11605#false} #184#return; {11605#false} is VALID [2020-07-17 22:49:07,606 INFO L263 TraceCheckUtils]: 0: Hoare triple {11604#true} call ULTIMATE.init(); {11633#(and (= |#valid| |old(#valid)|) (= |#NULL.base| |old(#NULL.base)|) (= |#NULL.offset| |old(#NULL.offset)|))} is VALID [2020-07-17 22:49:07,606 INFO L280 TraceCheckUtils]: 1: Hoare triple {11633#(and (= |#valid| |old(#valid)|) (= |#NULL.base| |old(#NULL.base)|) (= |#NULL.offset| |old(#NULL.offset)|))} #NULL.base, #NULL.offset := 0, 0;#valid := #valid[0 := 0];assume 0 < #StackHeapBarrier; {11604#true} is VALID [2020-07-17 22:49:07,606 INFO L280 TraceCheckUtils]: 2: Hoare triple {11604#true} assume true; {11604#true} is VALID [2020-07-17 22:49:07,606 INFO L275 TraceCheckUtils]: 3: Hoare quadruple {11604#true} {11604#true} #176#return; {11604#true} is VALID [2020-07-17 22:49:07,606 INFO L263 TraceCheckUtils]: 4: Hoare triple {11604#true} call #t~ret23 := main(); {11604#true} is VALID [2020-07-17 22:49:07,607 INFO L280 TraceCheckUtils]: 5: Hoare triple {11604#true} ~n~0 := 0;call ~#set~0.base, ~#set~0.offset := #Ultimate.allocOnStack(400000);havoc ~x~0;havoc ~y~0;~x~0 := 0; {11609#(= 0 main_~x~0)} is VALID [2020-07-17 22:49:07,607 INFO L280 TraceCheckUtils]: 6: Hoare triple {11609#(= 0 main_~x~0)} assume !!(~x~0 < 100000);assume -2147483648 <= #t~nondet3 && #t~nondet3 <= 2147483647;call write~int(#t~nondet3, ~#set~0.base, ~#set~0.offset + 4 * ~x~0, 4);havoc #t~nondet3; {11609#(= 0 main_~x~0)} is VALID [2020-07-17 22:49:07,608 INFO L280 TraceCheckUtils]: 7: Hoare triple {11609#(= 0 main_~x~0)} #t~post2 := ~x~0;~x~0 := 1 + #t~post2;havoc #t~post2; {11610#(<= main_~x~0 1)} is VALID [2020-07-17 22:49:07,609 INFO L280 TraceCheckUtils]: 8: Hoare triple {11610#(<= main_~x~0 1)} assume !!(~x~0 < 100000);assume -2147483648 <= #t~nondet3 && #t~nondet3 <= 2147483647;call write~int(#t~nondet3, ~#set~0.base, ~#set~0.offset + 4 * ~x~0, 4);havoc #t~nondet3; {11610#(<= main_~x~0 1)} is VALID [2020-07-17 22:49:07,609 INFO L280 TraceCheckUtils]: 9: Hoare triple {11610#(<= main_~x~0 1)} #t~post2 := ~x~0;~x~0 := 1 + #t~post2;havoc #t~post2; {11611#(<= main_~x~0 2)} is VALID [2020-07-17 22:49:07,610 INFO L280 TraceCheckUtils]: 10: Hoare triple {11611#(<= main_~x~0 2)} assume !!(~x~0 < 100000);assume -2147483648 <= #t~nondet3 && #t~nondet3 <= 2147483647;call write~int(#t~nondet3, ~#set~0.base, ~#set~0.offset + 4 * ~x~0, 4);havoc #t~nondet3; {11611#(<= main_~x~0 2)} is VALID [2020-07-17 22:49:07,610 INFO L280 TraceCheckUtils]: 11: Hoare triple {11611#(<= main_~x~0 2)} #t~post2 := ~x~0;~x~0 := 1 + #t~post2;havoc #t~post2; {11612#(<= main_~x~0 3)} is VALID [2020-07-17 22:49:07,611 INFO L280 TraceCheckUtils]: 12: Hoare triple {11612#(<= main_~x~0 3)} assume !!(~x~0 < 100000);assume -2147483648 <= #t~nondet3 && #t~nondet3 <= 2147483647;call write~int(#t~nondet3, ~#set~0.base, ~#set~0.offset + 4 * ~x~0, 4);havoc #t~nondet3; {11612#(<= main_~x~0 3)} is VALID [2020-07-17 22:49:07,612 INFO L280 TraceCheckUtils]: 13: Hoare triple {11612#(<= main_~x~0 3)} #t~post2 := ~x~0;~x~0 := 1 + #t~post2;havoc #t~post2; {11613#(<= main_~x~0 4)} is VALID [2020-07-17 22:49:07,612 INFO L280 TraceCheckUtils]: 14: Hoare triple {11613#(<= main_~x~0 4)} assume !!(~x~0 < 100000);assume -2147483648 <= #t~nondet3 && #t~nondet3 <= 2147483647;call write~int(#t~nondet3, ~#set~0.base, ~#set~0.offset + 4 * ~x~0, 4);havoc #t~nondet3; {11613#(<= main_~x~0 4)} is VALID [2020-07-17 22:49:07,613 INFO L280 TraceCheckUtils]: 15: Hoare triple {11613#(<= main_~x~0 4)} #t~post2 := ~x~0;~x~0 := 1 + #t~post2;havoc #t~post2; {11614#(<= main_~x~0 5)} is VALID [2020-07-17 22:49:07,614 INFO L280 TraceCheckUtils]: 16: Hoare triple {11614#(<= main_~x~0 5)} assume !!(~x~0 < 100000);assume -2147483648 <= #t~nondet3 && #t~nondet3 <= 2147483647;call write~int(#t~nondet3, ~#set~0.base, ~#set~0.offset + 4 * ~x~0, 4);havoc #t~nondet3; {11614#(<= main_~x~0 5)} is VALID [2020-07-17 22:49:07,614 INFO L280 TraceCheckUtils]: 17: Hoare triple {11614#(<= main_~x~0 5)} #t~post2 := ~x~0;~x~0 := 1 + #t~post2;havoc #t~post2; {11615#(<= main_~x~0 6)} is VALID [2020-07-17 22:49:07,615 INFO L280 TraceCheckUtils]: 18: Hoare triple {11615#(<= main_~x~0 6)} assume !!(~x~0 < 100000);assume -2147483648 <= #t~nondet3 && #t~nondet3 <= 2147483647;call write~int(#t~nondet3, ~#set~0.base, ~#set~0.offset + 4 * ~x~0, 4);havoc #t~nondet3; {11615#(<= main_~x~0 6)} is VALID [2020-07-17 22:49:07,615 INFO L280 TraceCheckUtils]: 19: Hoare triple {11615#(<= main_~x~0 6)} #t~post2 := ~x~0;~x~0 := 1 + #t~post2;havoc #t~post2; {11616#(<= main_~x~0 7)} is VALID [2020-07-17 22:49:07,616 INFO L280 TraceCheckUtils]: 20: Hoare triple {11616#(<= main_~x~0 7)} assume !(~x~0 < 100000); {11605#false} is VALID [2020-07-17 22:49:07,616 INFO L280 TraceCheckUtils]: 21: Hoare triple {11605#false} ~x~0 := 0; {11605#false} is VALID [2020-07-17 22:49:07,616 INFO L280 TraceCheckUtils]: 22: Hoare triple {11605#false} assume !(~x~0 < ~n~0); {11605#false} is VALID [2020-07-17 22:49:07,617 INFO L280 TraceCheckUtils]: 23: Hoare triple {11605#false} call ~#values~0.base, ~#values~0.offset := #Ultimate.allocOnStack(400000);havoc ~v~0;~v~0 := 0; {11605#false} is VALID [2020-07-17 22:49:07,617 INFO L280 TraceCheckUtils]: 24: Hoare triple {11605#false} assume !!(~v~0 < 100000);assume -2147483648 <= #t~nondet9 && #t~nondet9 <= 2147483647;call write~int(#t~nondet9, ~#values~0.base, ~#values~0.offset + 4 * ~v~0, 4);havoc #t~nondet9; {11605#false} is VALID [2020-07-17 22:49:07,617 INFO L280 TraceCheckUtils]: 25: Hoare triple {11605#false} #t~post8 := ~v~0;~v~0 := 1 + #t~post8;havoc #t~post8; {11605#false} is VALID [2020-07-17 22:49:07,617 INFO L280 TraceCheckUtils]: 26: Hoare triple {11605#false} assume !!(~v~0 < 100000);assume -2147483648 <= #t~nondet9 && #t~nondet9 <= 2147483647;call write~int(#t~nondet9, ~#values~0.base, ~#values~0.offset + 4 * ~v~0, 4);havoc #t~nondet9; {11605#false} is VALID [2020-07-17 22:49:07,617 INFO L280 TraceCheckUtils]: 27: Hoare triple {11605#false} #t~post8 := ~v~0;~v~0 := 1 + #t~post8;havoc #t~post8; {11605#false} is VALID [2020-07-17 22:49:07,617 INFO L280 TraceCheckUtils]: 28: Hoare triple {11605#false} assume !(~v~0 < 100000); {11605#false} is VALID [2020-07-17 22:49:07,618 INFO L280 TraceCheckUtils]: 29: Hoare triple {11605#false} ~v~0 := 0; {11605#false} is VALID [2020-07-17 22:49:07,618 INFO L280 TraceCheckUtils]: 30: Hoare triple {11605#false} assume !!(~v~0 < 100000);call #t~mem11 := read~int(~#values~0.base, ~#values~0.offset + 4 * ~v~0, 4); {11605#false} is VALID [2020-07-17 22:49:07,618 INFO L263 TraceCheckUtils]: 31: Hoare triple {11605#false} call #t~ret12 := elem_exists(~#set~0.base, ~#set~0.offset, ~n~0, #t~mem11); {11604#true} is VALID [2020-07-17 22:49:07,618 INFO L280 TraceCheckUtils]: 32: Hoare triple {11604#true} ~set.base, ~set.offset := #in~set.base, #in~set.offset;~size := #in~size;~value := #in~value;havoc ~i~0;~i~0 := 0; {11604#true} is VALID [2020-07-17 22:49:07,618 INFO L280 TraceCheckUtils]: 33: Hoare triple {11604#true} assume !(~i~0 < ~size); {11604#true} is VALID [2020-07-17 22:49:07,618 INFO L280 TraceCheckUtils]: 34: Hoare triple {11604#true} #res := 0; {11604#true} is VALID [2020-07-17 22:49:07,619 INFO L280 TraceCheckUtils]: 35: Hoare triple {11604#true} assume true; {11604#true} is VALID [2020-07-17 22:49:07,619 INFO L275 TraceCheckUtils]: 36: Hoare quadruple {11604#true} {11605#false} #182#return; {11605#false} is VALID [2020-07-17 22:49:07,619 INFO L280 TraceCheckUtils]: 37: Hoare triple {11605#false} assume -2147483648 <= #t~ret12 && #t~ret12 <= 2147483647; {11605#false} is VALID [2020-07-17 22:49:07,619 INFO L280 TraceCheckUtils]: 38: Hoare triple {11605#false} assume 0 != #t~ret12;havoc #t~mem11;havoc #t~ret12;call #t~mem13 := read~int(~#values~0.base, ~#values~0.offset + 4 * ~v~0, 4); {11605#false} is VALID [2020-07-17 22:49:07,619 INFO L263 TraceCheckUtils]: 39: Hoare triple {11605#false} call #t~ret14 := insert(~#set~0.base, ~#set~0.offset, ~n~0, #t~mem13); {11634#(= |#memory_int| |old(#memory_int)|)} is VALID [2020-07-17 22:49:07,620 INFO L280 TraceCheckUtils]: 40: Hoare triple {11634#(= |#memory_int| |old(#memory_int)|)} ~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; {11604#true} is VALID [2020-07-17 22:49:07,620 INFO L280 TraceCheckUtils]: 41: Hoare triple {11604#true} assume true; {11604#true} is VALID [2020-07-17 22:49:07,620 INFO L275 TraceCheckUtils]: 42: Hoare quadruple {11604#true} {11605#false} #184#return; {11605#false} is VALID [2020-07-17 22:49:07,620 INFO L280 TraceCheckUtils]: 43: Hoare triple {11605#false} assume -2147483648 <= #t~ret14 && #t~ret14 <= 2147483647;~n~0 := #t~ret14;havoc #t~mem13;havoc #t~ret14; {11605#false} is VALID [2020-07-17 22:49:07,620 INFO L280 TraceCheckUtils]: 44: Hoare triple {11605#false} ~x~0 := 0; {11605#false} is VALID [2020-07-17 22:49:07,620 INFO L280 TraceCheckUtils]: 45: Hoare triple {11605#false} assume !!(~x~0 < ~n~0);~y~0 := 1 + ~x~0; {11605#false} is VALID [2020-07-17 22:49:07,621 INFO L280 TraceCheckUtils]: 46: Hoare triple {11605#false} assume !(~y~0 < ~n~0); {11605#false} is VALID [2020-07-17 22:49:07,621 INFO L280 TraceCheckUtils]: 47: Hoare triple {11605#false} #t~post15 := ~x~0;~x~0 := 1 + #t~post15;havoc #t~post15; {11605#false} is VALID [2020-07-17 22:49:07,621 INFO L280 TraceCheckUtils]: 48: Hoare triple {11605#false} assume !(~x~0 < ~n~0); {11605#false} is VALID [2020-07-17 22:49:07,621 INFO L280 TraceCheckUtils]: 49: Hoare triple {11605#false} #t~post10 := ~v~0;~v~0 := 1 + #t~post10;havoc #t~post10; {11605#false} is VALID [2020-07-17 22:49:07,621 INFO L280 TraceCheckUtils]: 50: Hoare triple {11605#false} assume !!(~v~0 < 100000);call #t~mem11 := read~int(~#values~0.base, ~#values~0.offset + 4 * ~v~0, 4); {11605#false} is VALID [2020-07-17 22:49:07,622 INFO L263 TraceCheckUtils]: 51: Hoare triple {11605#false} call #t~ret12 := elem_exists(~#set~0.base, ~#set~0.offset, ~n~0, #t~mem11); {11604#true} is VALID [2020-07-17 22:49:07,622 INFO L280 TraceCheckUtils]: 52: Hoare triple {11604#true} ~set.base, ~set.offset := #in~set.base, #in~set.offset;~size := #in~size;~value := #in~value;havoc ~i~0;~i~0 := 0; {11604#true} is VALID [2020-07-17 22:49:07,622 INFO L280 TraceCheckUtils]: 53: Hoare triple {11604#true} assume !!(~i~0 < ~size);call #t~mem1 := read~int(~set.base, ~set.offset + 4 * ~i~0, 4); {11604#true} is VALID [2020-07-17 22:49:07,622 INFO L280 TraceCheckUtils]: 54: Hoare triple {11604#true} assume #t~mem1 == ~value;havoc #t~mem1;#res := 1; {11604#true} is VALID [2020-07-17 22:49:07,622 INFO L280 TraceCheckUtils]: 55: Hoare triple {11604#true} assume true; {11604#true} is VALID [2020-07-17 22:49:07,622 INFO L275 TraceCheckUtils]: 56: Hoare quadruple {11604#true} {11605#false} #182#return; {11605#false} is VALID [2020-07-17 22:49:07,623 INFO L280 TraceCheckUtils]: 57: Hoare triple {11605#false} assume -2147483648 <= #t~ret12 && #t~ret12 <= 2147483647; {11605#false} is VALID [2020-07-17 22:49:07,623 INFO L280 TraceCheckUtils]: 58: Hoare triple {11605#false} assume 0 != #t~ret12;havoc #t~mem11;havoc #t~ret12;call #t~mem13 := read~int(~#values~0.base, ~#values~0.offset + 4 * ~v~0, 4); {11605#false} is VALID [2020-07-17 22:49:07,623 INFO L263 TraceCheckUtils]: 59: Hoare triple {11605#false} call #t~ret14 := insert(~#set~0.base, ~#set~0.offset, ~n~0, #t~mem13); {11634#(= |#memory_int| |old(#memory_int)|)} is VALID [2020-07-17 22:49:07,623 INFO L280 TraceCheckUtils]: 60: Hoare triple {11634#(= |#memory_int| |old(#memory_int)|)} ~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; {11604#true} is VALID [2020-07-17 22:49:07,623 INFO L280 TraceCheckUtils]: 61: Hoare triple {11604#true} assume true; {11604#true} is VALID [2020-07-17 22:49:07,624 INFO L275 TraceCheckUtils]: 62: Hoare quadruple {11604#true} {11605#false} #184#return; {11605#false} is VALID [2020-07-17 22:49:07,624 INFO L280 TraceCheckUtils]: 63: Hoare triple {11605#false} assume -2147483648 <= #t~ret14 && #t~ret14 <= 2147483647;~n~0 := #t~ret14;havoc #t~mem13;havoc #t~ret14; {11605#false} is VALID [2020-07-17 22:49:07,624 INFO L280 TraceCheckUtils]: 64: Hoare triple {11605#false} ~x~0 := 0; {11605#false} is VALID [2020-07-17 22:49:07,624 INFO L280 TraceCheckUtils]: 65: Hoare triple {11605#false} assume !!(~x~0 < ~n~0);~y~0 := 1 + ~x~0; {11605#false} is VALID [2020-07-17 22:49:07,624 INFO L280 TraceCheckUtils]: 66: Hoare triple {11605#false} assume !!(~y~0 < ~n~0);call #t~mem17 := read~int(~#set~0.base, ~#set~0.offset + 4 * ~x~0, 4);call #t~mem18 := read~int(~#set~0.base, ~#set~0.offset + 4 * ~y~0, 4); {11605#false} is VALID [2020-07-17 22:49:07,624 INFO L263 TraceCheckUtils]: 67: Hoare triple {11605#false} call __VERIFIER_assert((if #t~mem17 != #t~mem18 then 1 else 0)); {11605#false} is VALID [2020-07-17 22:49:07,625 INFO L280 TraceCheckUtils]: 68: Hoare triple {11605#false} ~cond := #in~cond; {11605#false} is VALID [2020-07-17 22:49:07,625 INFO L280 TraceCheckUtils]: 69: Hoare triple {11605#false} assume 0 == ~cond; {11605#false} is VALID [2020-07-17 22:49:07,625 INFO L280 TraceCheckUtils]: 70: Hoare triple {11605#false} assume !false; {11605#false} is VALID [2020-07-17 22:49:07,629 INFO L134 CoverageAnalysis]: Checked inductivity of 71 backedges. 0 proven. 49 refuted. 0 times theorem prover too weak. 22 trivial. 0 not checked. [2020-07-17 22:49:07,629 INFO L354 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleSmtInterpolCraig [845840594] [2020-07-17 22:49:07,629 INFO L354 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleZ3 [1357748770] [2020-07-17 22:49:07,630 INFO L92 rtionOrderModulation]: Changing assertion order to OUTSIDE_LOOP_FIRST1 No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 Starting monitored process 13 with z3 -smt2 -in SMTLIB2_COMPLIANT=true (exit command is (exit), workingDir is null) Waiting until toolchain timeout for monitored process 13 with z3 -smt2 -in SMTLIB2_COMPLIANT=true [2020-07-17 22:49:07,703 INFO L249 tOrderPrioritization]: Assert order OUTSIDE_LOOP_FIRST1 issued 2 check-sat command(s) [2020-07-17 22:49:07,703 INFO L250 tOrderPrioritization]: Conjunction of SSA is unsat [2020-07-17 22:49:07,704 INFO L264 TraceCheckSpWp]: Trace formula consists of 269 conjuncts, 9 conjunts are in the unsatisfiable core [2020-07-17 22:49:07,725 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2020-07-17 22:49:07,727 INFO L287 TraceCheckSpWp]: Computing forward predicates... [2020-07-17 22:49:07,836 INFO L263 TraceCheckUtils]: 0: Hoare triple {11604#true} call ULTIMATE.init(); {11604#true} is VALID [2020-07-17 22:49:07,836 INFO L280 TraceCheckUtils]: 1: Hoare triple {11604#true} #NULL.base, #NULL.offset := 0, 0;#valid := #valid[0 := 0];assume 0 < #StackHeapBarrier; {11604#true} is VALID [2020-07-17 22:49:07,836 INFO L280 TraceCheckUtils]: 2: Hoare triple {11604#true} assume true; {11604#true} is VALID [2020-07-17 22:49:07,836 INFO L275 TraceCheckUtils]: 3: Hoare quadruple {11604#true} {11604#true} #176#return; {11604#true} is VALID [2020-07-17 22:49:07,837 INFO L263 TraceCheckUtils]: 4: Hoare triple {11604#true} call #t~ret23 := main(); {11604#true} is VALID [2020-07-17 22:49:07,837 INFO L280 TraceCheckUtils]: 5: Hoare triple {11604#true} ~n~0 := 0;call ~#set~0.base, ~#set~0.offset := #Ultimate.allocOnStack(400000);havoc ~x~0;havoc ~y~0;~x~0 := 0; {11653#(<= main_~x~0 0)} is VALID [2020-07-17 22:49:07,838 INFO L280 TraceCheckUtils]: 6: Hoare triple {11653#(<= main_~x~0 0)} assume !!(~x~0 < 100000);assume -2147483648 <= #t~nondet3 && #t~nondet3 <= 2147483647;call write~int(#t~nondet3, ~#set~0.base, ~#set~0.offset + 4 * ~x~0, 4);havoc #t~nondet3; {11653#(<= main_~x~0 0)} is VALID [2020-07-17 22:49:07,838 INFO L280 TraceCheckUtils]: 7: Hoare triple {11653#(<= main_~x~0 0)} #t~post2 := ~x~0;~x~0 := 1 + #t~post2;havoc #t~post2; {11610#(<= main_~x~0 1)} is VALID [2020-07-17 22:49:07,838 INFO L280 TraceCheckUtils]: 8: Hoare triple {11610#(<= main_~x~0 1)} assume !!(~x~0 < 100000);assume -2147483648 <= #t~nondet3 && #t~nondet3 <= 2147483647;call write~int(#t~nondet3, ~#set~0.base, ~#set~0.offset + 4 * ~x~0, 4);havoc #t~nondet3; {11610#(<= main_~x~0 1)} is VALID [2020-07-17 22:49:07,839 INFO L280 TraceCheckUtils]: 9: Hoare triple {11610#(<= main_~x~0 1)} #t~post2 := ~x~0;~x~0 := 1 + #t~post2;havoc #t~post2; {11611#(<= main_~x~0 2)} is VALID [2020-07-17 22:49:07,839 INFO L280 TraceCheckUtils]: 10: Hoare triple {11611#(<= main_~x~0 2)} assume !!(~x~0 < 100000);assume -2147483648 <= #t~nondet3 && #t~nondet3 <= 2147483647;call write~int(#t~nondet3, ~#set~0.base, ~#set~0.offset + 4 * ~x~0, 4);havoc #t~nondet3; {11611#(<= main_~x~0 2)} is VALID [2020-07-17 22:49:07,840 INFO L280 TraceCheckUtils]: 11: Hoare triple {11611#(<= main_~x~0 2)} #t~post2 := ~x~0;~x~0 := 1 + #t~post2;havoc #t~post2; {11612#(<= main_~x~0 3)} is VALID [2020-07-17 22:49:07,840 INFO L280 TraceCheckUtils]: 12: Hoare triple {11612#(<= main_~x~0 3)} assume !!(~x~0 < 100000);assume -2147483648 <= #t~nondet3 && #t~nondet3 <= 2147483647;call write~int(#t~nondet3, ~#set~0.base, ~#set~0.offset + 4 * ~x~0, 4);havoc #t~nondet3; {11612#(<= main_~x~0 3)} is VALID [2020-07-17 22:49:07,841 INFO L280 TraceCheckUtils]: 13: Hoare triple {11612#(<= main_~x~0 3)} #t~post2 := ~x~0;~x~0 := 1 + #t~post2;havoc #t~post2; {11613#(<= main_~x~0 4)} is VALID [2020-07-17 22:49:07,841 INFO L280 TraceCheckUtils]: 14: Hoare triple {11613#(<= main_~x~0 4)} assume !!(~x~0 < 100000);assume -2147483648 <= #t~nondet3 && #t~nondet3 <= 2147483647;call write~int(#t~nondet3, ~#set~0.base, ~#set~0.offset + 4 * ~x~0, 4);havoc #t~nondet3; {11613#(<= main_~x~0 4)} is VALID [2020-07-17 22:49:07,842 INFO L280 TraceCheckUtils]: 15: Hoare triple {11613#(<= main_~x~0 4)} #t~post2 := ~x~0;~x~0 := 1 + #t~post2;havoc #t~post2; {11614#(<= main_~x~0 5)} is VALID [2020-07-17 22:49:07,842 INFO L280 TraceCheckUtils]: 16: Hoare triple {11614#(<= main_~x~0 5)} assume !!(~x~0 < 100000);assume -2147483648 <= #t~nondet3 && #t~nondet3 <= 2147483647;call write~int(#t~nondet3, ~#set~0.base, ~#set~0.offset + 4 * ~x~0, 4);havoc #t~nondet3; {11614#(<= main_~x~0 5)} is VALID [2020-07-17 22:49:07,843 INFO L280 TraceCheckUtils]: 17: Hoare triple {11614#(<= main_~x~0 5)} #t~post2 := ~x~0;~x~0 := 1 + #t~post2;havoc #t~post2; {11615#(<= main_~x~0 6)} is VALID [2020-07-17 22:49:07,843 INFO L280 TraceCheckUtils]: 18: Hoare triple {11615#(<= main_~x~0 6)} assume !!(~x~0 < 100000);assume -2147483648 <= #t~nondet3 && #t~nondet3 <= 2147483647;call write~int(#t~nondet3, ~#set~0.base, ~#set~0.offset + 4 * ~x~0, 4);havoc #t~nondet3; {11615#(<= main_~x~0 6)} is VALID [2020-07-17 22:49:07,847 INFO L280 TraceCheckUtils]: 19: Hoare triple {11615#(<= main_~x~0 6)} #t~post2 := ~x~0;~x~0 := 1 + #t~post2;havoc #t~post2; {11616#(<= main_~x~0 7)} is VALID [2020-07-17 22:49:07,847 INFO L280 TraceCheckUtils]: 20: Hoare triple {11616#(<= main_~x~0 7)} assume !(~x~0 < 100000); {11605#false} is VALID [2020-07-17 22:49:07,847 INFO L280 TraceCheckUtils]: 21: Hoare triple {11605#false} ~x~0 := 0; {11605#false} is VALID [2020-07-17 22:49:07,847 INFO L280 TraceCheckUtils]: 22: Hoare triple {11605#false} assume !(~x~0 < ~n~0); {11605#false} is VALID [2020-07-17 22:49:07,848 INFO L280 TraceCheckUtils]: 23: Hoare triple {11605#false} call ~#values~0.base, ~#values~0.offset := #Ultimate.allocOnStack(400000);havoc ~v~0;~v~0 := 0; {11605#false} is VALID [2020-07-17 22:49:07,848 INFO L280 TraceCheckUtils]: 24: Hoare triple {11605#false} assume !!(~v~0 < 100000);assume -2147483648 <= #t~nondet9 && #t~nondet9 <= 2147483647;call write~int(#t~nondet9, ~#values~0.base, ~#values~0.offset + 4 * ~v~0, 4);havoc #t~nondet9; {11605#false} is VALID [2020-07-17 22:49:07,848 INFO L280 TraceCheckUtils]: 25: Hoare triple {11605#false} #t~post8 := ~v~0;~v~0 := 1 + #t~post8;havoc #t~post8; {11605#false} is VALID [2020-07-17 22:49:07,848 INFO L280 TraceCheckUtils]: 26: Hoare triple {11605#false} assume !!(~v~0 < 100000);assume -2147483648 <= #t~nondet9 && #t~nondet9 <= 2147483647;call write~int(#t~nondet9, ~#values~0.base, ~#values~0.offset + 4 * ~v~0, 4);havoc #t~nondet9; {11605#false} is VALID [2020-07-17 22:49:07,848 INFO L280 TraceCheckUtils]: 27: Hoare triple {11605#false} #t~post8 := ~v~0;~v~0 := 1 + #t~post8;havoc #t~post8; {11605#false} is VALID [2020-07-17 22:49:07,848 INFO L280 TraceCheckUtils]: 28: Hoare triple {11605#false} assume !(~v~0 < 100000); {11605#false} is VALID [2020-07-17 22:49:07,848 INFO L280 TraceCheckUtils]: 29: Hoare triple {11605#false} ~v~0 := 0; {11605#false} is VALID [2020-07-17 22:49:07,848 INFO L280 TraceCheckUtils]: 30: Hoare triple {11605#false} assume !!(~v~0 < 100000);call #t~mem11 := read~int(~#values~0.base, ~#values~0.offset + 4 * ~v~0, 4); {11605#false} is VALID [2020-07-17 22:49:07,849 INFO L263 TraceCheckUtils]: 31: Hoare triple {11605#false} call #t~ret12 := elem_exists(~#set~0.base, ~#set~0.offset, ~n~0, #t~mem11); {11605#false} is VALID [2020-07-17 22:49:07,849 INFO L280 TraceCheckUtils]: 32: Hoare triple {11605#false} ~set.base, ~set.offset := #in~set.base, #in~set.offset;~size := #in~size;~value := #in~value;havoc ~i~0;~i~0 := 0; {11605#false} is VALID [2020-07-17 22:49:07,849 INFO L280 TraceCheckUtils]: 33: Hoare triple {11605#false} assume !(~i~0 < ~size); {11605#false} is VALID [2020-07-17 22:49:07,849 INFO L280 TraceCheckUtils]: 34: Hoare triple {11605#false} #res := 0; {11605#false} is VALID [2020-07-17 22:49:07,849 INFO L280 TraceCheckUtils]: 35: Hoare triple {11605#false} assume true; {11605#false} is VALID [2020-07-17 22:49:07,849 INFO L275 TraceCheckUtils]: 36: Hoare quadruple {11605#false} {11605#false} #182#return; {11605#false} is VALID [2020-07-17 22:49:07,849 INFO L280 TraceCheckUtils]: 37: Hoare triple {11605#false} assume -2147483648 <= #t~ret12 && #t~ret12 <= 2147483647; {11605#false} is VALID [2020-07-17 22:49:07,850 INFO L280 TraceCheckUtils]: 38: Hoare triple {11605#false} assume 0 != #t~ret12;havoc #t~mem11;havoc #t~ret12;call #t~mem13 := read~int(~#values~0.base, ~#values~0.offset + 4 * ~v~0, 4); {11605#false} is VALID [2020-07-17 22:49:07,850 INFO L263 TraceCheckUtils]: 39: Hoare triple {11605#false} call #t~ret14 := insert(~#set~0.base, ~#set~0.offset, ~n~0, #t~mem13); {11605#false} is VALID [2020-07-17 22:49:07,850 INFO L280 TraceCheckUtils]: 40: Hoare triple {11605#false} ~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; {11605#false} is VALID [2020-07-17 22:49:07,850 INFO L280 TraceCheckUtils]: 41: Hoare triple {11605#false} assume true; {11605#false} is VALID [2020-07-17 22:49:07,850 INFO L275 TraceCheckUtils]: 42: Hoare quadruple {11605#false} {11605#false} #184#return; {11605#false} is VALID [2020-07-17 22:49:07,850 INFO L280 TraceCheckUtils]: 43: Hoare triple {11605#false} assume -2147483648 <= #t~ret14 && #t~ret14 <= 2147483647;~n~0 := #t~ret14;havoc #t~mem13;havoc #t~ret14; {11605#false} is VALID [2020-07-17 22:49:07,851 INFO L280 TraceCheckUtils]: 44: Hoare triple {11605#false} ~x~0 := 0; {11605#false} is VALID [2020-07-17 22:49:07,851 INFO L280 TraceCheckUtils]: 45: Hoare triple {11605#false} assume !!(~x~0 < ~n~0);~y~0 := 1 + ~x~0; {11605#false} is VALID [2020-07-17 22:49:07,851 INFO L280 TraceCheckUtils]: 46: Hoare triple {11605#false} assume !(~y~0 < ~n~0); {11605#false} is VALID [2020-07-17 22:49:07,851 INFO L280 TraceCheckUtils]: 47: Hoare triple {11605#false} #t~post15 := ~x~0;~x~0 := 1 + #t~post15;havoc #t~post15; {11605#false} is VALID [2020-07-17 22:49:07,851 INFO L280 TraceCheckUtils]: 48: Hoare triple {11605#false} assume !(~x~0 < ~n~0); {11605#false} is VALID [2020-07-17 22:49:07,851 INFO L280 TraceCheckUtils]: 49: Hoare triple {11605#false} #t~post10 := ~v~0;~v~0 := 1 + #t~post10;havoc #t~post10; {11605#false} is VALID [2020-07-17 22:49:07,852 INFO L280 TraceCheckUtils]: 50: Hoare triple {11605#false} assume !!(~v~0 < 100000);call #t~mem11 := read~int(~#values~0.base, ~#values~0.offset + 4 * ~v~0, 4); {11605#false} is VALID [2020-07-17 22:49:07,852 INFO L263 TraceCheckUtils]: 51: Hoare triple {11605#false} call #t~ret12 := elem_exists(~#set~0.base, ~#set~0.offset, ~n~0, #t~mem11); {11605#false} is VALID [2020-07-17 22:49:07,852 INFO L280 TraceCheckUtils]: 52: Hoare triple {11605#false} ~set.base, ~set.offset := #in~set.base, #in~set.offset;~size := #in~size;~value := #in~value;havoc ~i~0;~i~0 := 0; {11605#false} is VALID [2020-07-17 22:49:07,852 INFO L280 TraceCheckUtils]: 53: Hoare triple {11605#false} assume !!(~i~0 < ~size);call #t~mem1 := read~int(~set.base, ~set.offset + 4 * ~i~0, 4); {11605#false} is VALID [2020-07-17 22:49:07,852 INFO L280 TraceCheckUtils]: 54: Hoare triple {11605#false} assume #t~mem1 == ~value;havoc #t~mem1;#res := 1; {11605#false} is VALID [2020-07-17 22:49:07,853 INFO L280 TraceCheckUtils]: 55: Hoare triple {11605#false} assume true; {11605#false} is VALID [2020-07-17 22:49:07,853 INFO L275 TraceCheckUtils]: 56: Hoare quadruple {11605#false} {11605#false} #182#return; {11605#false} is VALID [2020-07-17 22:49:07,853 INFO L280 TraceCheckUtils]: 57: Hoare triple {11605#false} assume -2147483648 <= #t~ret12 && #t~ret12 <= 2147483647; {11605#false} is VALID [2020-07-17 22:49:07,853 INFO L280 TraceCheckUtils]: 58: Hoare triple {11605#false} assume 0 != #t~ret12;havoc #t~mem11;havoc #t~ret12;call #t~mem13 := read~int(~#values~0.base, ~#values~0.offset + 4 * ~v~0, 4); {11605#false} is VALID [2020-07-17 22:49:07,853 INFO L263 TraceCheckUtils]: 59: Hoare triple {11605#false} call #t~ret14 := insert(~#set~0.base, ~#set~0.offset, ~n~0, #t~mem13); {11605#false} is VALID [2020-07-17 22:49:07,853 INFO L280 TraceCheckUtils]: 60: Hoare triple {11605#false} ~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; {11605#false} is VALID [2020-07-17 22:49:07,854 INFO L280 TraceCheckUtils]: 61: Hoare triple {11605#false} assume true; {11605#false} is VALID [2020-07-17 22:49:07,854 INFO L275 TraceCheckUtils]: 62: Hoare quadruple {11605#false} {11605#false} #184#return; {11605#false} is VALID [2020-07-17 22:49:07,854 INFO L280 TraceCheckUtils]: 63: Hoare triple {11605#false} assume -2147483648 <= #t~ret14 && #t~ret14 <= 2147483647;~n~0 := #t~ret14;havoc #t~mem13;havoc #t~ret14; {11605#false} is VALID [2020-07-17 22:49:07,854 INFO L280 TraceCheckUtils]: 64: Hoare triple {11605#false} ~x~0 := 0; {11605#false} is VALID [2020-07-17 22:49:07,854 INFO L280 TraceCheckUtils]: 65: Hoare triple {11605#false} assume !!(~x~0 < ~n~0);~y~0 := 1 + ~x~0; {11605#false} is VALID [2020-07-17 22:49:07,854 INFO L280 TraceCheckUtils]: 66: Hoare triple {11605#false} assume !!(~y~0 < ~n~0);call #t~mem17 := read~int(~#set~0.base, ~#set~0.offset + 4 * ~x~0, 4);call #t~mem18 := read~int(~#set~0.base, ~#set~0.offset + 4 * ~y~0, 4); {11605#false} is VALID [2020-07-17 22:49:07,855 INFO L263 TraceCheckUtils]: 67: Hoare triple {11605#false} call __VERIFIER_assert((if #t~mem17 != #t~mem18 then 1 else 0)); {11605#false} is VALID [2020-07-17 22:49:07,855 INFO L280 TraceCheckUtils]: 68: Hoare triple {11605#false} ~cond := #in~cond; {11605#false} is VALID [2020-07-17 22:49:07,855 INFO L280 TraceCheckUtils]: 69: Hoare triple {11605#false} assume 0 == ~cond; {11605#false} is VALID [2020-07-17 22:49:07,855 INFO L280 TraceCheckUtils]: 70: Hoare triple {11605#false} assume !false; {11605#false} is VALID [2020-07-17 22:49:07,858 INFO L134 CoverageAnalysis]: Checked inductivity of 71 backedges. 0 proven. 49 refuted. 0 times theorem prover too weak. 22 trivial. 0 not checked. [2020-07-17 22:49:07,858 INFO L220 FreeRefinementEngine]: Constructing automaton from 0 perfect and 2 imperfect interpolant sequences. [2020-07-17 22:49:07,858 INFO L233 FreeRefinementEngine]: Number of different interpolants: perfect sequences [] imperfect sequences [12, 10] total 13 [2020-07-17 22:49:07,859 INFO L156 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [955862855] [2020-07-17 22:49:07,859 INFO L78 Accepts]: Start accepts. Automaton has 13 states. Word has length 71 [2020-07-17 22:49:07,861 INFO L84 Accepts]: Finished accepts. word is accepted. [2020-07-17 22:49:07,861 INFO L86 InductivityCheck]: Starting indutivity check of a Floyd-Hoare automaton with 13 states. [2020-07-17 22:49:07,935 INFO L119 InductivityCheck]: Floyd-Hoare automaton has 72 edges. 72 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2020-07-17 22:49:07,935 INFO L459 AbstractCegarLoop]: Interpolant automaton has 13 states [2020-07-17 22:49:07,935 INFO L143 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy CAMEL [2020-07-17 22:49:07,936 INFO L142 InterpolantAutomaton]: Constructing interpolant automaton starting with 13 interpolants. [2020-07-17 22:49:07,936 INFO L144 InterpolantAutomaton]: CoverageRelationStatistics Valid=59, Invalid=97, Unknown=0, NotChecked=0, Total=156 [2020-07-17 22:49:07,936 INFO L87 Difference]: Start difference. First operand 98 states and 120 transitions. Second operand 13 states. [2020-07-17 22:49:10,297 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2020-07-17 22:49:10,297 INFO L93 Difference]: Finished difference Result 443 states and 605 transitions. [2020-07-17 22:49:10,297 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 14 states. [2020-07-17 22:49:10,297 INFO L78 Accepts]: Start accepts. Automaton has 13 states. Word has length 71 [2020-07-17 22:49:10,298 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2020-07-17 22:49:10,298 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 13 states. [2020-07-17 22:49:10,302 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 14 states to 14 states and 370 transitions. [2020-07-17 22:49:10,303 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 13 states. [2020-07-17 22:49:10,307 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 14 states to 14 states and 370 transitions. [2020-07-17 22:49:10,307 INFO L86 InductivityCheck]: Starting indutivity check of a Floyd-Hoare automaton with 14 states and 370 transitions. [2020-07-17 22:49:10,784 INFO L119 InductivityCheck]: Floyd-Hoare automaton has 370 edges. 370 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2020-07-17 22:49:10,800 INFO L225 Difference]: With dead ends: 443 [2020-07-17 22:49:10,800 INFO L226 Difference]: Without dead ends: 366 [2020-07-17 22:49:10,802 INFO L675 BasicCegarLoop]: 0 DeclaredPredicates, 93 GetRequests, 80 SyntacticMatches, 0 SemanticMatches, 13 ConstructedPredicates, 0 IntricatePredicates, 0 DeprecatedPredicates, 28 ImplicationChecksByTransitivity, 0.1s TimeCoverageRelationStatistics Valid=75, Invalid=135, Unknown=0, NotChecked=0, Total=210 [2020-07-17 22:49:10,805 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 366 states. [2020-07-17 22:49:10,927 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 366 to 100. [2020-07-17 22:49:10,927 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2020-07-17 22:49:10,928 INFO L82 GeneralOperation]: Start isEquivalent. First operand 366 states. Second operand 100 states. [2020-07-17 22:49:10,928 INFO L74 IsIncluded]: Start isIncluded. First operand 366 states. Second operand 100 states. [2020-07-17 22:49:10,928 INFO L87 Difference]: Start difference. First operand 366 states. Second operand 100 states. [2020-07-17 22:49:10,949 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2020-07-17 22:49:10,949 INFO L93 Difference]: Finished difference Result 366 states and 506 transitions. [2020-07-17 22:49:10,949 INFO L276 IsEmpty]: Start isEmpty. Operand 366 states and 506 transitions. [2020-07-17 22:49:10,952 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2020-07-17 22:49:10,952 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2020-07-17 22:49:10,952 INFO L74 IsIncluded]: Start isIncluded. First operand 100 states. Second operand 366 states. [2020-07-17 22:49:10,953 INFO L87 Difference]: Start difference. First operand 100 states. Second operand 366 states. [2020-07-17 22:49:10,973 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2020-07-17 22:49:10,973 INFO L93 Difference]: Finished difference Result 366 states and 506 transitions. [2020-07-17 22:49:10,974 INFO L276 IsEmpty]: Start isEmpty. Operand 366 states and 506 transitions. [2020-07-17 22:49:10,976 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2020-07-17 22:49:10,976 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2020-07-17 22:49:10,977 INFO L88 GeneralOperation]: Finished isEquivalent. [2020-07-17 22:49:10,977 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2020-07-17 22:49:10,977 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 100 states. [2020-07-17 22:49:10,980 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 100 states to 100 states and 122 transitions. [2020-07-17 22:49:10,980 INFO L78 Accepts]: Start accepts. Automaton has 100 states and 122 transitions. Word has length 71 [2020-07-17 22:49:10,980 INFO L84 Accepts]: Finished accepts. word is rejected. [2020-07-17 22:49:10,980 INFO L479 AbstractCegarLoop]: Abstraction has 100 states and 122 transitions. [2020-07-17 22:49:10,980 INFO L480 AbstractCegarLoop]: Interpolant automaton has 13 states. [2020-07-17 22:49:10,980 INFO L276 IsEmpty]: Start isEmpty. Operand 100 states and 122 transitions. [2020-07-17 22:49:10,981 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 74 [2020-07-17 22:49:10,981 INFO L414 BasicCegarLoop]: Found error trace [2020-07-17 22:49:10,982 INFO L422 BasicCegarLoop]: trace histogram [8, 8, 2, 2, 2, 2, 2, 2, 2, 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] [2020-07-17 22:49:11,195 WARN L516 AbstractCegarLoop]: Destroyed unattended storables created during the last iteration: 13 z3 -smt2 -in SMTLIB2_COMPLIANT=true,SelfDestructingSolverStorable12 [2020-07-17 22:49:11,196 INFO L427 AbstractCegarLoop]: === Iteration 14 === [__VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION]=== [2020-07-17 22:49:11,196 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2020-07-17 22:49:11,197 INFO L82 PathProgramCache]: Analyzing trace with hash -540795311, now seen corresponding path program 3 times [2020-07-17 22:49:11,197 INFO L163 FreeRefinementEngine]: Executing refinement strategy CAMEL [2020-07-17 22:49:11,197 INFO L354 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [1507736012] [2020-07-17 22:49:11,197 INFO L94 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2020-07-17 22:49:11,223 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2020-07-17 22:49:11,355 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2020-07-17 22:49:11,360 INFO L280 TraceCheckUtils]: 0: Hoare triple {13388#(and (= |#valid| |old(#valid)|) (= |#NULL.base| |old(#NULL.base)|) (= |#NULL.offset| |old(#NULL.offset)|))} #NULL.base, #NULL.offset := 0, 0;#valid := #valid[0 := 0];assume 0 < #StackHeapBarrier; {13358#true} is VALID [2020-07-17 22:49:11,361 INFO L280 TraceCheckUtils]: 1: Hoare triple {13358#true} assume true; {13358#true} is VALID [2020-07-17 22:49:11,361 INFO L275 TraceCheckUtils]: 2: Hoare quadruple {13358#true} {13358#true} #176#return; {13358#true} is VALID [2020-07-17 22:49:11,362 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2020-07-17 22:49:11,364 INFO L280 TraceCheckUtils]: 0: Hoare triple {13358#true} ~set.base, ~set.offset := #in~set.base, #in~set.offset;~size := #in~size;~value := #in~value;havoc ~i~0;~i~0 := 0; {13358#true} is VALID [2020-07-17 22:49:11,365 INFO L280 TraceCheckUtils]: 1: Hoare triple {13358#true} assume !(~i~0 < ~size); {13358#true} is VALID [2020-07-17 22:49:11,365 INFO L280 TraceCheckUtils]: 2: Hoare triple {13358#true} #res := 0; {13358#true} is VALID [2020-07-17 22:49:11,365 INFO L280 TraceCheckUtils]: 3: Hoare triple {13358#true} assume true; {13358#true} is VALID [2020-07-17 22:49:11,365 INFO L275 TraceCheckUtils]: 4: Hoare quadruple {13358#true} {13359#false} #182#return; {13359#false} is VALID [2020-07-17 22:49:11,376 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2020-07-17 22:49:11,380 INFO L280 TraceCheckUtils]: 0: Hoare triple {13389#(= |#memory_int| |old(#memory_int)|)} ~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; {13358#true} is VALID [2020-07-17 22:49:11,380 INFO L280 TraceCheckUtils]: 1: Hoare triple {13358#true} assume true; {13358#true} is VALID [2020-07-17 22:49:11,380 INFO L275 TraceCheckUtils]: 2: Hoare quadruple {13358#true} {13359#false} #184#return; {13359#false} is VALID [2020-07-17 22:49:11,382 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2020-07-17 22:49:11,385 INFO L280 TraceCheckUtils]: 0: Hoare triple {13358#true} ~set.base, ~set.offset := #in~set.base, #in~set.offset;~size := #in~size;~value := #in~value;havoc ~i~0;~i~0 := 0; {13358#true} is VALID [2020-07-17 22:49:11,385 INFO L280 TraceCheckUtils]: 1: Hoare triple {13358#true} assume !!(~i~0 < ~size);call #t~mem1 := read~int(~set.base, ~set.offset + 4 * ~i~0, 4); {13358#true} is VALID [2020-07-17 22:49:11,385 INFO L280 TraceCheckUtils]: 2: Hoare triple {13358#true} assume #t~mem1 == ~value;havoc #t~mem1;#res := 1; {13358#true} is VALID [2020-07-17 22:49:11,386 INFO L280 TraceCheckUtils]: 3: Hoare triple {13358#true} assume true; {13358#true} is VALID [2020-07-17 22:49:11,386 INFO L275 TraceCheckUtils]: 4: Hoare quadruple {13358#true} {13359#false} #182#return; {13359#false} is VALID [2020-07-17 22:49:11,387 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2020-07-17 22:49:11,390 INFO L280 TraceCheckUtils]: 0: Hoare triple {13389#(= |#memory_int| |old(#memory_int)|)} ~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; {13358#true} is VALID [2020-07-17 22:49:11,391 INFO L280 TraceCheckUtils]: 1: Hoare triple {13358#true} assume true; {13358#true} is VALID [2020-07-17 22:49:11,391 INFO L275 TraceCheckUtils]: 2: Hoare quadruple {13358#true} {13359#false} #184#return; {13359#false} is VALID [2020-07-17 22:49:11,392 INFO L263 TraceCheckUtils]: 0: Hoare triple {13358#true} call ULTIMATE.init(); {13388#(and (= |#valid| |old(#valid)|) (= |#NULL.base| |old(#NULL.base)|) (= |#NULL.offset| |old(#NULL.offset)|))} is VALID [2020-07-17 22:49:11,392 INFO L280 TraceCheckUtils]: 1: Hoare triple {13388#(and (= |#valid| |old(#valid)|) (= |#NULL.base| |old(#NULL.base)|) (= |#NULL.offset| |old(#NULL.offset)|))} #NULL.base, #NULL.offset := 0, 0;#valid := #valid[0 := 0];assume 0 < #StackHeapBarrier; {13358#true} is VALID [2020-07-17 22:49:11,392 INFO L280 TraceCheckUtils]: 2: Hoare triple {13358#true} assume true; {13358#true} is VALID [2020-07-17 22:49:11,393 INFO L275 TraceCheckUtils]: 3: Hoare quadruple {13358#true} {13358#true} #176#return; {13358#true} is VALID [2020-07-17 22:49:11,393 INFO L263 TraceCheckUtils]: 4: Hoare triple {13358#true} call #t~ret23 := main(); {13358#true} is VALID [2020-07-17 22:49:11,394 INFO L280 TraceCheckUtils]: 5: Hoare triple {13358#true} ~n~0 := 0;call ~#set~0.base, ~#set~0.offset := #Ultimate.allocOnStack(400000);havoc ~x~0;havoc ~y~0;~x~0 := 0; {13363#(= 0 main_~x~0)} is VALID [2020-07-17 22:49:11,394 INFO L280 TraceCheckUtils]: 6: Hoare triple {13363#(= 0 main_~x~0)} assume !!(~x~0 < 100000);assume -2147483648 <= #t~nondet3 && #t~nondet3 <= 2147483647;call write~int(#t~nondet3, ~#set~0.base, ~#set~0.offset + 4 * ~x~0, 4);havoc #t~nondet3; {13363#(= 0 main_~x~0)} is VALID [2020-07-17 22:49:11,395 INFO L280 TraceCheckUtils]: 7: Hoare triple {13363#(= 0 main_~x~0)} #t~post2 := ~x~0;~x~0 := 1 + #t~post2;havoc #t~post2; {13364#(<= main_~x~0 1)} is VALID [2020-07-17 22:49:11,396 INFO L280 TraceCheckUtils]: 8: Hoare triple {13364#(<= main_~x~0 1)} assume !!(~x~0 < 100000);assume -2147483648 <= #t~nondet3 && #t~nondet3 <= 2147483647;call write~int(#t~nondet3, ~#set~0.base, ~#set~0.offset + 4 * ~x~0, 4);havoc #t~nondet3; {13364#(<= main_~x~0 1)} is VALID [2020-07-17 22:49:11,397 INFO L280 TraceCheckUtils]: 9: Hoare triple {13364#(<= main_~x~0 1)} #t~post2 := ~x~0;~x~0 := 1 + #t~post2;havoc #t~post2; {13365#(<= main_~x~0 2)} is VALID [2020-07-17 22:49:11,398 INFO L280 TraceCheckUtils]: 10: Hoare triple {13365#(<= main_~x~0 2)} assume !!(~x~0 < 100000);assume -2147483648 <= #t~nondet3 && #t~nondet3 <= 2147483647;call write~int(#t~nondet3, ~#set~0.base, ~#set~0.offset + 4 * ~x~0, 4);havoc #t~nondet3; {13365#(<= main_~x~0 2)} is VALID [2020-07-17 22:49:11,398 INFO L280 TraceCheckUtils]: 11: Hoare triple {13365#(<= main_~x~0 2)} #t~post2 := ~x~0;~x~0 := 1 + #t~post2;havoc #t~post2; {13366#(<= main_~x~0 3)} is VALID [2020-07-17 22:49:11,399 INFO L280 TraceCheckUtils]: 12: Hoare triple {13366#(<= main_~x~0 3)} assume !!(~x~0 < 100000);assume -2147483648 <= #t~nondet3 && #t~nondet3 <= 2147483647;call write~int(#t~nondet3, ~#set~0.base, ~#set~0.offset + 4 * ~x~0, 4);havoc #t~nondet3; {13366#(<= main_~x~0 3)} is VALID [2020-07-17 22:49:11,400 INFO L280 TraceCheckUtils]: 13: Hoare triple {13366#(<= main_~x~0 3)} #t~post2 := ~x~0;~x~0 := 1 + #t~post2;havoc #t~post2; {13367#(<= main_~x~0 4)} is VALID [2020-07-17 22:49:11,401 INFO L280 TraceCheckUtils]: 14: Hoare triple {13367#(<= main_~x~0 4)} assume !!(~x~0 < 100000);assume -2147483648 <= #t~nondet3 && #t~nondet3 <= 2147483647;call write~int(#t~nondet3, ~#set~0.base, ~#set~0.offset + 4 * ~x~0, 4);havoc #t~nondet3; {13367#(<= main_~x~0 4)} is VALID [2020-07-17 22:49:11,402 INFO L280 TraceCheckUtils]: 15: Hoare triple {13367#(<= main_~x~0 4)} #t~post2 := ~x~0;~x~0 := 1 + #t~post2;havoc #t~post2; {13368#(<= main_~x~0 5)} is VALID [2020-07-17 22:49:11,402 INFO L280 TraceCheckUtils]: 16: Hoare triple {13368#(<= main_~x~0 5)} assume !!(~x~0 < 100000);assume -2147483648 <= #t~nondet3 && #t~nondet3 <= 2147483647;call write~int(#t~nondet3, ~#set~0.base, ~#set~0.offset + 4 * ~x~0, 4);havoc #t~nondet3; {13368#(<= main_~x~0 5)} is VALID [2020-07-17 22:49:11,403 INFO L280 TraceCheckUtils]: 17: Hoare triple {13368#(<= main_~x~0 5)} #t~post2 := ~x~0;~x~0 := 1 + #t~post2;havoc #t~post2; {13369#(<= main_~x~0 6)} is VALID [2020-07-17 22:49:11,404 INFO L280 TraceCheckUtils]: 18: Hoare triple {13369#(<= main_~x~0 6)} assume !!(~x~0 < 100000);assume -2147483648 <= #t~nondet3 && #t~nondet3 <= 2147483647;call write~int(#t~nondet3, ~#set~0.base, ~#set~0.offset + 4 * ~x~0, 4);havoc #t~nondet3; {13369#(<= main_~x~0 6)} is VALID [2020-07-17 22:49:11,405 INFO L280 TraceCheckUtils]: 19: Hoare triple {13369#(<= main_~x~0 6)} #t~post2 := ~x~0;~x~0 := 1 + #t~post2;havoc #t~post2; {13370#(<= main_~x~0 7)} is VALID [2020-07-17 22:49:11,405 INFO L280 TraceCheckUtils]: 20: Hoare triple {13370#(<= main_~x~0 7)} assume !!(~x~0 < 100000);assume -2147483648 <= #t~nondet3 && #t~nondet3 <= 2147483647;call write~int(#t~nondet3, ~#set~0.base, ~#set~0.offset + 4 * ~x~0, 4);havoc #t~nondet3; {13370#(<= main_~x~0 7)} is VALID [2020-07-17 22:49:11,406 INFO L280 TraceCheckUtils]: 21: Hoare triple {13370#(<= main_~x~0 7)} #t~post2 := ~x~0;~x~0 := 1 + #t~post2;havoc #t~post2; {13371#(<= main_~x~0 8)} is VALID [2020-07-17 22:49:11,407 INFO L280 TraceCheckUtils]: 22: Hoare triple {13371#(<= main_~x~0 8)} assume !(~x~0 < 100000); {13359#false} is VALID [2020-07-17 22:49:11,407 INFO L280 TraceCheckUtils]: 23: Hoare triple {13359#false} ~x~0 := 0; {13359#false} is VALID [2020-07-17 22:49:11,407 INFO L280 TraceCheckUtils]: 24: Hoare triple {13359#false} assume !(~x~0 < ~n~0); {13359#false} is VALID [2020-07-17 22:49:11,407 INFO L280 TraceCheckUtils]: 25: Hoare triple {13359#false} call ~#values~0.base, ~#values~0.offset := #Ultimate.allocOnStack(400000);havoc ~v~0;~v~0 := 0; {13359#false} is VALID [2020-07-17 22:49:11,407 INFO L280 TraceCheckUtils]: 26: Hoare triple {13359#false} assume !!(~v~0 < 100000);assume -2147483648 <= #t~nondet9 && #t~nondet9 <= 2147483647;call write~int(#t~nondet9, ~#values~0.base, ~#values~0.offset + 4 * ~v~0, 4);havoc #t~nondet9; {13359#false} is VALID [2020-07-17 22:49:11,408 INFO L280 TraceCheckUtils]: 27: Hoare triple {13359#false} #t~post8 := ~v~0;~v~0 := 1 + #t~post8;havoc #t~post8; {13359#false} is VALID [2020-07-17 22:49:11,408 INFO L280 TraceCheckUtils]: 28: Hoare triple {13359#false} assume !!(~v~0 < 100000);assume -2147483648 <= #t~nondet9 && #t~nondet9 <= 2147483647;call write~int(#t~nondet9, ~#values~0.base, ~#values~0.offset + 4 * ~v~0, 4);havoc #t~nondet9; {13359#false} is VALID [2020-07-17 22:49:11,408 INFO L280 TraceCheckUtils]: 29: Hoare triple {13359#false} #t~post8 := ~v~0;~v~0 := 1 + #t~post8;havoc #t~post8; {13359#false} is VALID [2020-07-17 22:49:11,408 INFO L280 TraceCheckUtils]: 30: Hoare triple {13359#false} assume !(~v~0 < 100000); {13359#false} is VALID [2020-07-17 22:49:11,408 INFO L280 TraceCheckUtils]: 31: Hoare triple {13359#false} ~v~0 := 0; {13359#false} is VALID [2020-07-17 22:49:11,409 INFO L280 TraceCheckUtils]: 32: Hoare triple {13359#false} assume !!(~v~0 < 100000);call #t~mem11 := read~int(~#values~0.base, ~#values~0.offset + 4 * ~v~0, 4); {13359#false} is VALID [2020-07-17 22:49:11,409 INFO L263 TraceCheckUtils]: 33: Hoare triple {13359#false} call #t~ret12 := elem_exists(~#set~0.base, ~#set~0.offset, ~n~0, #t~mem11); {13358#true} is VALID [2020-07-17 22:49:11,409 INFO L280 TraceCheckUtils]: 34: Hoare triple {13358#true} ~set.base, ~set.offset := #in~set.base, #in~set.offset;~size := #in~size;~value := #in~value;havoc ~i~0;~i~0 := 0; {13358#true} is VALID [2020-07-17 22:49:11,409 INFO L280 TraceCheckUtils]: 35: Hoare triple {13358#true} assume !(~i~0 < ~size); {13358#true} is VALID [2020-07-17 22:49:11,409 INFO L280 TraceCheckUtils]: 36: Hoare triple {13358#true} #res := 0; {13358#true} is VALID [2020-07-17 22:49:11,409 INFO L280 TraceCheckUtils]: 37: Hoare triple {13358#true} assume true; {13358#true} is VALID [2020-07-17 22:49:11,410 INFO L275 TraceCheckUtils]: 38: Hoare quadruple {13358#true} {13359#false} #182#return; {13359#false} is VALID [2020-07-17 22:49:11,410 INFO L280 TraceCheckUtils]: 39: Hoare triple {13359#false} assume -2147483648 <= #t~ret12 && #t~ret12 <= 2147483647; {13359#false} is VALID [2020-07-17 22:49:11,410 INFO L280 TraceCheckUtils]: 40: Hoare triple {13359#false} assume 0 != #t~ret12;havoc #t~mem11;havoc #t~ret12;call #t~mem13 := read~int(~#values~0.base, ~#values~0.offset + 4 * ~v~0, 4); {13359#false} is VALID [2020-07-17 22:49:11,410 INFO L263 TraceCheckUtils]: 41: Hoare triple {13359#false} call #t~ret14 := insert(~#set~0.base, ~#set~0.offset, ~n~0, #t~mem13); {13389#(= |#memory_int| |old(#memory_int)|)} is VALID [2020-07-17 22:49:11,410 INFO L280 TraceCheckUtils]: 42: Hoare triple {13389#(= |#memory_int| |old(#memory_int)|)} ~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; {13358#true} is VALID [2020-07-17 22:49:11,410 INFO L280 TraceCheckUtils]: 43: Hoare triple {13358#true} assume true; {13358#true} is VALID [2020-07-17 22:49:11,411 INFO L275 TraceCheckUtils]: 44: Hoare quadruple {13358#true} {13359#false} #184#return; {13359#false} is VALID [2020-07-17 22:49:11,411 INFO L280 TraceCheckUtils]: 45: Hoare triple {13359#false} assume -2147483648 <= #t~ret14 && #t~ret14 <= 2147483647;~n~0 := #t~ret14;havoc #t~mem13;havoc #t~ret14; {13359#false} is VALID [2020-07-17 22:49:11,411 INFO L280 TraceCheckUtils]: 46: Hoare triple {13359#false} ~x~0 := 0; {13359#false} is VALID [2020-07-17 22:49:11,411 INFO L280 TraceCheckUtils]: 47: Hoare triple {13359#false} assume !!(~x~0 < ~n~0);~y~0 := 1 + ~x~0; {13359#false} is VALID [2020-07-17 22:49:11,411 INFO L280 TraceCheckUtils]: 48: Hoare triple {13359#false} assume !(~y~0 < ~n~0); {13359#false} is VALID [2020-07-17 22:49:11,412 INFO L280 TraceCheckUtils]: 49: Hoare triple {13359#false} #t~post15 := ~x~0;~x~0 := 1 + #t~post15;havoc #t~post15; {13359#false} is VALID [2020-07-17 22:49:11,412 INFO L280 TraceCheckUtils]: 50: Hoare triple {13359#false} assume !(~x~0 < ~n~0); {13359#false} is VALID [2020-07-17 22:49:11,412 INFO L280 TraceCheckUtils]: 51: Hoare triple {13359#false} #t~post10 := ~v~0;~v~0 := 1 + #t~post10;havoc #t~post10; {13359#false} is VALID [2020-07-17 22:49:11,412 INFO L280 TraceCheckUtils]: 52: Hoare triple {13359#false} assume !!(~v~0 < 100000);call #t~mem11 := read~int(~#values~0.base, ~#values~0.offset + 4 * ~v~0, 4); {13359#false} is VALID [2020-07-17 22:49:11,412 INFO L263 TraceCheckUtils]: 53: Hoare triple {13359#false} call #t~ret12 := elem_exists(~#set~0.base, ~#set~0.offset, ~n~0, #t~mem11); {13358#true} is VALID [2020-07-17 22:49:11,413 INFO L280 TraceCheckUtils]: 54: Hoare triple {13358#true} ~set.base, ~set.offset := #in~set.base, #in~set.offset;~size := #in~size;~value := #in~value;havoc ~i~0;~i~0 := 0; {13358#true} is VALID [2020-07-17 22:49:11,413 INFO L280 TraceCheckUtils]: 55: Hoare triple {13358#true} assume !!(~i~0 < ~size);call #t~mem1 := read~int(~set.base, ~set.offset + 4 * ~i~0, 4); {13358#true} is VALID [2020-07-17 22:49:11,413 INFO L280 TraceCheckUtils]: 56: Hoare triple {13358#true} assume #t~mem1 == ~value;havoc #t~mem1;#res := 1; {13358#true} is VALID [2020-07-17 22:49:11,413 INFO L280 TraceCheckUtils]: 57: Hoare triple {13358#true} assume true; {13358#true} is VALID [2020-07-17 22:49:11,413 INFO L275 TraceCheckUtils]: 58: Hoare quadruple {13358#true} {13359#false} #182#return; {13359#false} is VALID [2020-07-17 22:49:11,414 INFO L280 TraceCheckUtils]: 59: Hoare triple {13359#false} assume -2147483648 <= #t~ret12 && #t~ret12 <= 2147483647; {13359#false} is VALID [2020-07-17 22:49:11,414 INFO L280 TraceCheckUtils]: 60: Hoare triple {13359#false} assume 0 != #t~ret12;havoc #t~mem11;havoc #t~ret12;call #t~mem13 := read~int(~#values~0.base, ~#values~0.offset + 4 * ~v~0, 4); {13359#false} is VALID [2020-07-17 22:49:11,414 INFO L263 TraceCheckUtils]: 61: Hoare triple {13359#false} call #t~ret14 := insert(~#set~0.base, ~#set~0.offset, ~n~0, #t~mem13); {13389#(= |#memory_int| |old(#memory_int)|)} is VALID [2020-07-17 22:49:11,414 INFO L280 TraceCheckUtils]: 62: Hoare triple {13389#(= |#memory_int| |old(#memory_int)|)} ~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; {13358#true} is VALID [2020-07-17 22:49:11,414 INFO L280 TraceCheckUtils]: 63: Hoare triple {13358#true} assume true; {13358#true} is VALID [2020-07-17 22:49:11,415 INFO L275 TraceCheckUtils]: 64: Hoare quadruple {13358#true} {13359#false} #184#return; {13359#false} is VALID [2020-07-17 22:49:11,415 INFO L280 TraceCheckUtils]: 65: Hoare triple {13359#false} assume -2147483648 <= #t~ret14 && #t~ret14 <= 2147483647;~n~0 := #t~ret14;havoc #t~mem13;havoc #t~ret14; {13359#false} is VALID [2020-07-17 22:49:11,415 INFO L280 TraceCheckUtils]: 66: Hoare triple {13359#false} ~x~0 := 0; {13359#false} is VALID [2020-07-17 22:49:11,415 INFO L280 TraceCheckUtils]: 67: Hoare triple {13359#false} assume !!(~x~0 < ~n~0);~y~0 := 1 + ~x~0; {13359#false} is VALID [2020-07-17 22:49:11,415 INFO L280 TraceCheckUtils]: 68: Hoare triple {13359#false} assume !!(~y~0 < ~n~0);call #t~mem17 := read~int(~#set~0.base, ~#set~0.offset + 4 * ~x~0, 4);call #t~mem18 := read~int(~#set~0.base, ~#set~0.offset + 4 * ~y~0, 4); {13359#false} is VALID [2020-07-17 22:49:11,415 INFO L263 TraceCheckUtils]: 69: Hoare triple {13359#false} call __VERIFIER_assert((if #t~mem17 != #t~mem18 then 1 else 0)); {13359#false} is VALID [2020-07-17 22:49:11,416 INFO L280 TraceCheckUtils]: 70: Hoare triple {13359#false} ~cond := #in~cond; {13359#false} is VALID [2020-07-17 22:49:11,416 INFO L280 TraceCheckUtils]: 71: Hoare triple {13359#false} assume 0 == ~cond; {13359#false} is VALID [2020-07-17 22:49:11,416 INFO L280 TraceCheckUtils]: 72: Hoare triple {13359#false} assume !false; {13359#false} is VALID [2020-07-17 22:49:11,420 INFO L134 CoverageAnalysis]: Checked inductivity of 86 backedges. 0 proven. 64 refuted. 0 times theorem prover too weak. 22 trivial. 0 not checked. [2020-07-17 22:49:11,426 INFO L354 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleSmtInterpolCraig [1507736012] [2020-07-17 22:49:11,427 INFO L354 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleZ3 [2012695662] [2020-07-17 22:49:11,427 INFO L92 rtionOrderModulation]: Changing assertion order to OUTSIDE_LOOP_FIRST2 No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 Starting monitored process 14 with z3 -smt2 -in SMTLIB2_COMPLIANT=true (exit command is (exit), workingDir is null) Waiting until toolchain timeout for monitored process 14 with z3 -smt2 -in SMTLIB2_COMPLIANT=true [2020-07-17 22:49:11,503 INFO L249 tOrderPrioritization]: Assert order OUTSIDE_LOOP_FIRST2 issued 2 check-sat command(s) [2020-07-17 22:49:11,503 INFO L250 tOrderPrioritization]: Conjunction of SSA is unsat [2020-07-17 22:49:11,504 INFO L264 TraceCheckSpWp]: Trace formula consists of 221 conjuncts, 5 conjunts are in the unsatisfiable core [2020-07-17 22:49:11,519 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2020-07-17 22:49:11,521 INFO L287 TraceCheckSpWp]: Computing forward predicates... [2020-07-17 22:49:11,600 INFO L263 TraceCheckUtils]: 0: Hoare triple {13358#true} call ULTIMATE.init(); {13358#true} is VALID [2020-07-17 22:49:11,601 INFO L280 TraceCheckUtils]: 1: Hoare triple {13358#true} #NULL.base, #NULL.offset := 0, 0;#valid := #valid[0 := 0];assume 0 < #StackHeapBarrier; {13358#true} is VALID [2020-07-17 22:49:11,601 INFO L280 TraceCheckUtils]: 2: Hoare triple {13358#true} assume true; {13358#true} is VALID [2020-07-17 22:49:11,601 INFO L275 TraceCheckUtils]: 3: Hoare quadruple {13358#true} {13358#true} #176#return; {13358#true} is VALID [2020-07-17 22:49:11,602 INFO L263 TraceCheckUtils]: 4: Hoare triple {13358#true} call #t~ret23 := main(); {13358#true} is VALID [2020-07-17 22:49:11,602 INFO L280 TraceCheckUtils]: 5: Hoare triple {13358#true} ~n~0 := 0;call ~#set~0.base, ~#set~0.offset := #Ultimate.allocOnStack(400000);havoc ~x~0;havoc ~y~0;~x~0 := 0; {13358#true} is VALID [2020-07-17 22:49:11,602 INFO L280 TraceCheckUtils]: 6: Hoare triple {13358#true} assume !!(~x~0 < 100000);assume -2147483648 <= #t~nondet3 && #t~nondet3 <= 2147483647;call write~int(#t~nondet3, ~#set~0.base, ~#set~0.offset + 4 * ~x~0, 4);havoc #t~nondet3; {13358#true} is VALID [2020-07-17 22:49:11,602 INFO L280 TraceCheckUtils]: 7: Hoare triple {13358#true} #t~post2 := ~x~0;~x~0 := 1 + #t~post2;havoc #t~post2; {13358#true} is VALID [2020-07-17 22:49:11,602 INFO L280 TraceCheckUtils]: 8: Hoare triple {13358#true} assume !!(~x~0 < 100000);assume -2147483648 <= #t~nondet3 && #t~nondet3 <= 2147483647;call write~int(#t~nondet3, ~#set~0.base, ~#set~0.offset + 4 * ~x~0, 4);havoc #t~nondet3; {13358#true} is VALID [2020-07-17 22:49:11,603 INFO L280 TraceCheckUtils]: 9: Hoare triple {13358#true} #t~post2 := ~x~0;~x~0 := 1 + #t~post2;havoc #t~post2; {13358#true} is VALID [2020-07-17 22:49:11,603 INFO L280 TraceCheckUtils]: 10: Hoare triple {13358#true} assume !!(~x~0 < 100000);assume -2147483648 <= #t~nondet3 && #t~nondet3 <= 2147483647;call write~int(#t~nondet3, ~#set~0.base, ~#set~0.offset + 4 * ~x~0, 4);havoc #t~nondet3; {13358#true} is VALID [2020-07-17 22:49:11,603 INFO L280 TraceCheckUtils]: 11: Hoare triple {13358#true} #t~post2 := ~x~0;~x~0 := 1 + #t~post2;havoc #t~post2; {13358#true} is VALID [2020-07-17 22:49:11,603 INFO L280 TraceCheckUtils]: 12: Hoare triple {13358#true} assume !!(~x~0 < 100000);assume -2147483648 <= #t~nondet3 && #t~nondet3 <= 2147483647;call write~int(#t~nondet3, ~#set~0.base, ~#set~0.offset + 4 * ~x~0, 4);havoc #t~nondet3; {13358#true} is VALID [2020-07-17 22:49:11,603 INFO L280 TraceCheckUtils]: 13: Hoare triple {13358#true} #t~post2 := ~x~0;~x~0 := 1 + #t~post2;havoc #t~post2; {13358#true} is VALID [2020-07-17 22:49:11,604 INFO L280 TraceCheckUtils]: 14: Hoare triple {13358#true} assume !!(~x~0 < 100000);assume -2147483648 <= #t~nondet3 && #t~nondet3 <= 2147483647;call write~int(#t~nondet3, ~#set~0.base, ~#set~0.offset + 4 * ~x~0, 4);havoc #t~nondet3; {13358#true} is VALID [2020-07-17 22:49:11,604 INFO L280 TraceCheckUtils]: 15: Hoare triple {13358#true} #t~post2 := ~x~0;~x~0 := 1 + #t~post2;havoc #t~post2; {13358#true} is VALID [2020-07-17 22:49:11,604 INFO L280 TraceCheckUtils]: 16: Hoare triple {13358#true} assume !!(~x~0 < 100000);assume -2147483648 <= #t~nondet3 && #t~nondet3 <= 2147483647;call write~int(#t~nondet3, ~#set~0.base, ~#set~0.offset + 4 * ~x~0, 4);havoc #t~nondet3; {13358#true} is VALID [2020-07-17 22:49:11,604 INFO L280 TraceCheckUtils]: 17: Hoare triple {13358#true} #t~post2 := ~x~0;~x~0 := 1 + #t~post2;havoc #t~post2; {13358#true} is VALID [2020-07-17 22:49:11,605 INFO L280 TraceCheckUtils]: 18: Hoare triple {13358#true} assume !!(~x~0 < 100000);assume -2147483648 <= #t~nondet3 && #t~nondet3 <= 2147483647;call write~int(#t~nondet3, ~#set~0.base, ~#set~0.offset + 4 * ~x~0, 4);havoc #t~nondet3; {13358#true} is VALID [2020-07-17 22:49:11,605 INFO L280 TraceCheckUtils]: 19: Hoare triple {13358#true} #t~post2 := ~x~0;~x~0 := 1 + #t~post2;havoc #t~post2; {13358#true} is VALID [2020-07-17 22:49:11,605 INFO L280 TraceCheckUtils]: 20: Hoare triple {13358#true} assume !!(~x~0 < 100000);assume -2147483648 <= #t~nondet3 && #t~nondet3 <= 2147483647;call write~int(#t~nondet3, ~#set~0.base, ~#set~0.offset + 4 * ~x~0, 4);havoc #t~nondet3; {13358#true} is VALID [2020-07-17 22:49:11,605 INFO L280 TraceCheckUtils]: 21: Hoare triple {13358#true} #t~post2 := ~x~0;~x~0 := 1 + #t~post2;havoc #t~post2; {13358#true} is VALID [2020-07-17 22:49:11,605 INFO L280 TraceCheckUtils]: 22: Hoare triple {13358#true} assume !(~x~0 < 100000); {13358#true} is VALID [2020-07-17 22:49:11,606 INFO L280 TraceCheckUtils]: 23: Hoare triple {13358#true} ~x~0 := 0; {13358#true} is VALID [2020-07-17 22:49:11,606 INFO L280 TraceCheckUtils]: 24: Hoare triple {13358#true} assume !(~x~0 < ~n~0); {13358#true} is VALID [2020-07-17 22:49:11,606 INFO L280 TraceCheckUtils]: 25: Hoare triple {13358#true} call ~#values~0.base, ~#values~0.offset := #Ultimate.allocOnStack(400000);havoc ~v~0;~v~0 := 0; {13358#true} is VALID [2020-07-17 22:49:11,606 INFO L280 TraceCheckUtils]: 26: Hoare triple {13358#true} assume !!(~v~0 < 100000);assume -2147483648 <= #t~nondet9 && #t~nondet9 <= 2147483647;call write~int(#t~nondet9, ~#values~0.base, ~#values~0.offset + 4 * ~v~0, 4);havoc #t~nondet9; {13358#true} is VALID [2020-07-17 22:49:11,606 INFO L280 TraceCheckUtils]: 27: Hoare triple {13358#true} #t~post8 := ~v~0;~v~0 := 1 + #t~post8;havoc #t~post8; {13358#true} is VALID [2020-07-17 22:49:11,606 INFO L280 TraceCheckUtils]: 28: Hoare triple {13358#true} assume !!(~v~0 < 100000);assume -2147483648 <= #t~nondet9 && #t~nondet9 <= 2147483647;call write~int(#t~nondet9, ~#values~0.base, ~#values~0.offset + 4 * ~v~0, 4);havoc #t~nondet9; {13358#true} is VALID [2020-07-17 22:49:11,607 INFO L280 TraceCheckUtils]: 29: Hoare triple {13358#true} #t~post8 := ~v~0;~v~0 := 1 + #t~post8;havoc #t~post8; {13358#true} is VALID [2020-07-17 22:49:11,607 INFO L280 TraceCheckUtils]: 30: Hoare triple {13358#true} assume !(~v~0 < 100000); {13358#true} is VALID [2020-07-17 22:49:11,607 INFO L280 TraceCheckUtils]: 31: Hoare triple {13358#true} ~v~0 := 0; {13358#true} is VALID [2020-07-17 22:49:11,607 INFO L280 TraceCheckUtils]: 32: Hoare triple {13358#true} assume !!(~v~0 < 100000);call #t~mem11 := read~int(~#values~0.base, ~#values~0.offset + 4 * ~v~0, 4); {13358#true} is VALID [2020-07-17 22:49:11,607 INFO L263 TraceCheckUtils]: 33: Hoare triple {13358#true} call #t~ret12 := elem_exists(~#set~0.base, ~#set~0.offset, ~n~0, #t~mem11); {13358#true} is VALID [2020-07-17 22:49:11,607 INFO L280 TraceCheckUtils]: 34: Hoare triple {13358#true} ~set.base, ~set.offset := #in~set.base, #in~set.offset;~size := #in~size;~value := #in~value;havoc ~i~0;~i~0 := 0; {13358#true} is VALID [2020-07-17 22:49:11,608 INFO L280 TraceCheckUtils]: 35: Hoare triple {13358#true} assume !(~i~0 < ~size); {13358#true} is VALID [2020-07-17 22:49:11,608 INFO L280 TraceCheckUtils]: 36: Hoare triple {13358#true} #res := 0; {13501#(= 0 |elem_exists_#res|)} is VALID [2020-07-17 22:49:11,609 INFO L280 TraceCheckUtils]: 37: Hoare triple {13501#(= 0 |elem_exists_#res|)} assume true; {13501#(= 0 |elem_exists_#res|)} is VALID [2020-07-17 22:49:11,611 INFO L275 TraceCheckUtils]: 38: Hoare quadruple {13501#(= 0 |elem_exists_#res|)} {13358#true} #182#return; {13508#(= |main_#t~ret12| 0)} is VALID [2020-07-17 22:49:11,611 INFO L280 TraceCheckUtils]: 39: Hoare triple {13508#(= |main_#t~ret12| 0)} assume -2147483648 <= #t~ret12 && #t~ret12 <= 2147483647; {13508#(= |main_#t~ret12| 0)} is VALID [2020-07-17 22:49:11,612 INFO L280 TraceCheckUtils]: 40: Hoare triple {13508#(= |main_#t~ret12| 0)} assume 0 != #t~ret12;havoc #t~mem11;havoc #t~ret12;call #t~mem13 := read~int(~#values~0.base, ~#values~0.offset + 4 * ~v~0, 4); {13359#false} is VALID [2020-07-17 22:49:11,612 INFO L263 TraceCheckUtils]: 41: Hoare triple {13359#false} call #t~ret14 := insert(~#set~0.base, ~#set~0.offset, ~n~0, #t~mem13); {13359#false} is VALID [2020-07-17 22:49:11,612 INFO L280 TraceCheckUtils]: 42: Hoare triple {13359#false} ~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; {13359#false} is VALID [2020-07-17 22:49:11,612 INFO L280 TraceCheckUtils]: 43: Hoare triple {13359#false} assume true; {13359#false} is VALID [2020-07-17 22:49:11,612 INFO L275 TraceCheckUtils]: 44: Hoare quadruple {13359#false} {13359#false} #184#return; {13359#false} is VALID [2020-07-17 22:49:11,612 INFO L280 TraceCheckUtils]: 45: Hoare triple {13359#false} assume -2147483648 <= #t~ret14 && #t~ret14 <= 2147483647;~n~0 := #t~ret14;havoc #t~mem13;havoc #t~ret14; {13359#false} is VALID [2020-07-17 22:49:11,613 INFO L280 TraceCheckUtils]: 46: Hoare triple {13359#false} ~x~0 := 0; {13359#false} is VALID [2020-07-17 22:49:11,613 INFO L280 TraceCheckUtils]: 47: Hoare triple {13359#false} assume !!(~x~0 < ~n~0);~y~0 := 1 + ~x~0; {13359#false} is VALID [2020-07-17 22:49:11,613 INFO L280 TraceCheckUtils]: 48: Hoare triple {13359#false} assume !(~y~0 < ~n~0); {13359#false} is VALID [2020-07-17 22:49:11,613 INFO L280 TraceCheckUtils]: 49: Hoare triple {13359#false} #t~post15 := ~x~0;~x~0 := 1 + #t~post15;havoc #t~post15; {13359#false} is VALID [2020-07-17 22:49:11,613 INFO L280 TraceCheckUtils]: 50: Hoare triple {13359#false} assume !(~x~0 < ~n~0); {13359#false} is VALID [2020-07-17 22:49:11,613 INFO L280 TraceCheckUtils]: 51: Hoare triple {13359#false} #t~post10 := ~v~0;~v~0 := 1 + #t~post10;havoc #t~post10; {13359#false} is VALID [2020-07-17 22:49:11,613 INFO L280 TraceCheckUtils]: 52: Hoare triple {13359#false} assume !!(~v~0 < 100000);call #t~mem11 := read~int(~#values~0.base, ~#values~0.offset + 4 * ~v~0, 4); {13359#false} is VALID [2020-07-17 22:49:11,613 INFO L263 TraceCheckUtils]: 53: Hoare triple {13359#false} call #t~ret12 := elem_exists(~#set~0.base, ~#set~0.offset, ~n~0, #t~mem11); {13359#false} is VALID [2020-07-17 22:49:11,614 INFO L280 TraceCheckUtils]: 54: Hoare triple {13359#false} ~set.base, ~set.offset := #in~set.base, #in~set.offset;~size := #in~size;~value := #in~value;havoc ~i~0;~i~0 := 0; {13359#false} is VALID [2020-07-17 22:49:11,614 INFO L280 TraceCheckUtils]: 55: Hoare triple {13359#false} assume !!(~i~0 < ~size);call #t~mem1 := read~int(~set.base, ~set.offset + 4 * ~i~0, 4); {13359#false} is VALID [2020-07-17 22:49:11,614 INFO L280 TraceCheckUtils]: 56: Hoare triple {13359#false} assume #t~mem1 == ~value;havoc #t~mem1;#res := 1; {13359#false} is VALID [2020-07-17 22:49:11,614 INFO L280 TraceCheckUtils]: 57: Hoare triple {13359#false} assume true; {13359#false} is VALID [2020-07-17 22:49:11,614 INFO L275 TraceCheckUtils]: 58: Hoare quadruple {13359#false} {13359#false} #182#return; {13359#false} is VALID [2020-07-17 22:49:11,615 INFO L280 TraceCheckUtils]: 59: Hoare triple {13359#false} assume -2147483648 <= #t~ret12 && #t~ret12 <= 2147483647; {13359#false} is VALID [2020-07-17 22:49:11,615 INFO L280 TraceCheckUtils]: 60: Hoare triple {13359#false} assume 0 != #t~ret12;havoc #t~mem11;havoc #t~ret12;call #t~mem13 := read~int(~#values~0.base, ~#values~0.offset + 4 * ~v~0, 4); {13359#false} is VALID [2020-07-17 22:49:11,615 INFO L263 TraceCheckUtils]: 61: Hoare triple {13359#false} call #t~ret14 := insert(~#set~0.base, ~#set~0.offset, ~n~0, #t~mem13); {13359#false} is VALID [2020-07-17 22:49:11,615 INFO L280 TraceCheckUtils]: 62: Hoare triple {13359#false} ~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; {13359#false} is VALID [2020-07-17 22:49:11,615 INFO L280 TraceCheckUtils]: 63: Hoare triple {13359#false} assume true; {13359#false} is VALID [2020-07-17 22:49:11,615 INFO L275 TraceCheckUtils]: 64: Hoare quadruple {13359#false} {13359#false} #184#return; {13359#false} is VALID [2020-07-17 22:49:11,616 INFO L280 TraceCheckUtils]: 65: Hoare triple {13359#false} assume -2147483648 <= #t~ret14 && #t~ret14 <= 2147483647;~n~0 := #t~ret14;havoc #t~mem13;havoc #t~ret14; {13359#false} is VALID [2020-07-17 22:49:11,616 INFO L280 TraceCheckUtils]: 66: Hoare triple {13359#false} ~x~0 := 0; {13359#false} is VALID [2020-07-17 22:49:11,616 INFO L280 TraceCheckUtils]: 67: Hoare triple {13359#false} assume !!(~x~0 < ~n~0);~y~0 := 1 + ~x~0; {13359#false} is VALID [2020-07-17 22:49:11,616 INFO L280 TraceCheckUtils]: 68: Hoare triple {13359#false} assume !!(~y~0 < ~n~0);call #t~mem17 := read~int(~#set~0.base, ~#set~0.offset + 4 * ~x~0, 4);call #t~mem18 := read~int(~#set~0.base, ~#set~0.offset + 4 * ~y~0, 4); {13359#false} is VALID [2020-07-17 22:49:11,616 INFO L263 TraceCheckUtils]: 69: Hoare triple {13359#false} call __VERIFIER_assert((if #t~mem17 != #t~mem18 then 1 else 0)); {13359#false} is VALID [2020-07-17 22:49:11,617 INFO L280 TraceCheckUtils]: 70: Hoare triple {13359#false} ~cond := #in~cond; {13359#false} is VALID [2020-07-17 22:49:11,617 INFO L280 TraceCheckUtils]: 71: Hoare triple {13359#false} assume 0 == ~cond; {13359#false} is VALID [2020-07-17 22:49:11,617 INFO L280 TraceCheckUtils]: 72: Hoare triple {13359#false} assume !false; {13359#false} is VALID [2020-07-17 22:49:11,620 INFO L134 CoverageAnalysis]: Checked inductivity of 86 backedges. 8 proven. 0 refuted. 0 times theorem prover too weak. 78 trivial. 0 not checked. [2020-07-17 22:49:11,620 INFO L220 FreeRefinementEngine]: Constructing automaton from 1 perfect and 1 imperfect interpolant sequences. [2020-07-17 22:49:11,620 INFO L233 FreeRefinementEngine]: Number of different interpolants: perfect sequences [4] imperfect sequences [13] total 15 [2020-07-17 22:49:11,621 INFO L156 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [1707122949] [2020-07-17 22:49:11,621 INFO L78 Accepts]: Start accepts. Automaton has 4 states. Word has length 73 [2020-07-17 22:49:11,621 INFO L84 Accepts]: Finished accepts. word is accepted. [2020-07-17 22:49:11,621 INFO L86 InductivityCheck]: Starting indutivity check of a Floyd-Hoare automaton with 4 states. [2020-07-17 22:49:11,670 INFO L119 InductivityCheck]: Floyd-Hoare automaton has 50 edges. 50 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2020-07-17 22:49:11,670 INFO L459 AbstractCegarLoop]: Interpolant automaton has 4 states [2020-07-17 22:49:11,670 INFO L143 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy CAMEL [2020-07-17 22:49:11,670 INFO L142 InterpolantAutomaton]: Constructing interpolant automaton starting with 4 interpolants. [2020-07-17 22:49:11,671 INFO L144 InterpolantAutomaton]: CoverageRelationStatistics Valid=63, Invalid=147, Unknown=0, NotChecked=0, Total=210 [2020-07-17 22:49:11,671 INFO L87 Difference]: Start difference. First operand 100 states and 122 transitions. Second operand 4 states. [2020-07-17 22:49:11,794 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2020-07-17 22:49:11,794 INFO L93 Difference]: Finished difference Result 112 states and 135 transitions. [2020-07-17 22:49:11,794 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 4 states. [2020-07-17 22:49:11,794 INFO L78 Accepts]: Start accepts. Automaton has 4 states. Word has length 73 [2020-07-17 22:49:11,795 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2020-07-17 22:49:11,795 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 4 states. [2020-07-17 22:49:11,796 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 4 states to 4 states and 74 transitions. [2020-07-17 22:49:11,796 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 4 states. [2020-07-17 22:49:11,797 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 4 states to 4 states and 74 transitions. [2020-07-17 22:49:11,797 INFO L86 InductivityCheck]: Starting indutivity check of a Floyd-Hoare automaton with 4 states and 74 transitions. [2020-07-17 22:49:11,892 INFO L119 InductivityCheck]: Floyd-Hoare automaton has 74 edges. 74 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2020-07-17 22:49:11,892 INFO L225 Difference]: With dead ends: 112 [2020-07-17 22:49:11,892 INFO L226 Difference]: Without dead ends: 0 [2020-07-17 22:49:11,893 INFO L675 BasicCegarLoop]: 0 DeclaredPredicates, 93 GetRequests, 80 SyntacticMatches, 0 SemanticMatches, 13 ConstructedPredicates, 0 IntricatePredicates, 0 DeprecatedPredicates, 32 ImplicationChecksByTransitivity, 0.1s TimeCoverageRelationStatistics Valid=63, Invalid=147, Unknown=0, NotChecked=0, Total=210 [2020-07-17 22:49:11,894 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 0 states. [2020-07-17 22:49:11,894 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 0 to 0. [2020-07-17 22:49:11,894 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2020-07-17 22:49:11,894 INFO L82 GeneralOperation]: Start isEquivalent. First operand 0 states. Second operand 0 states. [2020-07-17 22:49:11,894 INFO L74 IsIncluded]: Start isIncluded. First operand 0 states. Second operand 0 states. [2020-07-17 22:49:11,894 INFO L87 Difference]: Start difference. First operand 0 states. Second operand 0 states. [2020-07-17 22:49:11,895 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2020-07-17 22:49:11,895 INFO L93 Difference]: Finished difference Result 0 states and 0 transitions. [2020-07-17 22:49:11,895 INFO L276 IsEmpty]: Start isEmpty. Operand 0 states and 0 transitions. [2020-07-17 22:49:11,895 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2020-07-17 22:49:11,895 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2020-07-17 22:49:11,896 INFO L74 IsIncluded]: Start isIncluded. First operand 0 states. Second operand 0 states. [2020-07-17 22:49:11,896 INFO L87 Difference]: Start difference. First operand 0 states. Second operand 0 states. [2020-07-17 22:49:11,896 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2020-07-17 22:49:11,896 INFO L93 Difference]: Finished difference Result 0 states and 0 transitions. [2020-07-17 22:49:11,896 INFO L276 IsEmpty]: Start isEmpty. Operand 0 states and 0 transitions. [2020-07-17 22:49:11,896 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2020-07-17 22:49:11,897 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2020-07-17 22:49:11,897 INFO L88 GeneralOperation]: Finished isEquivalent. [2020-07-17 22:49:11,897 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2020-07-17 22:49:11,897 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 0 states. [2020-07-17 22:49:11,897 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 0 states to 0 states and 0 transitions. [2020-07-17 22:49:11,897 INFO L78 Accepts]: Start accepts. Automaton has 0 states and 0 transitions. Word has length 73 [2020-07-17 22:49:11,898 INFO L84 Accepts]: Finished accepts. word is rejected. [2020-07-17 22:49:11,898 INFO L479 AbstractCegarLoop]: Abstraction has 0 states and 0 transitions. [2020-07-17 22:49:11,898 INFO L480 AbstractCegarLoop]: Interpolant automaton has 4 states. [2020-07-17 22:49:11,898 INFO L276 IsEmpty]: Start isEmpty. Operand 0 states and 0 transitions. [2020-07-17 22:49:11,898 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2020-07-17 22:49:12,098 WARN L516 AbstractCegarLoop]: Destroyed unattended storables created during the last iteration: 14 z3 -smt2 -in SMTLIB2_COMPLIANT=true,SelfDestructingSolverStorable13 [2020-07-17 22:49:12,103 INFO L343 DoubleDeckerVisitor]: Before removal of dead ends 0 states and 0 transitions. [2020-07-17 22:49:12,685 INFO L271 CegarLoopResult]: At program point elem_existsENTRY(lines 9 15) the Hoare annotation is: true [2020-07-17 22:49:12,685 INFO L268 CegarLoopResult]: For program point elem_existsEXIT(lines 9 15) no Hoare annotation was computed. [2020-07-17 22:49:12,685 INFO L268 CegarLoopResult]: For program point L12(line 12) no Hoare annotation was computed. [2020-07-17 22:49:12,685 INFO L268 CegarLoopResult]: For program point L11-2(lines 11 13) no Hoare annotation was computed. [2020-07-17 22:49:12,685 INFO L268 CegarLoopResult]: For program point elem_existsFINAL(lines 9 15) no Hoare annotation was computed. [2020-07-17 22:49:12,686 INFO L264 CegarLoopResult]: At program point L11-3(lines 11 13) the Hoare annotation is: (or (not (<= |elem_exists_#in~size| 0)) (and (<= elem_exists_~i~0 0) (<= |elem_exists_#in~size| elem_exists_~size) (<= elem_exists_~size |elem_exists_#in~size|) (<= 0 elem_exists_~i~0))) [2020-07-17 22:49:12,686 INFO L268 CegarLoopResult]: For program point L11-4(lines 11 13) no Hoare annotation was computed. [2020-07-17 22:49:12,686 INFO L268 CegarLoopResult]: For program point ULTIMATE.initFINAL(line -1) no Hoare annotation was computed. [2020-07-17 22:49:12,686 INFO L264 CegarLoopResult]: At program point ULTIMATE.initENTRY(line -1) the Hoare annotation is: (and (= |#valid| |old(#valid)|) (= |old(#NULL.base)| |#NULL.base|) (= |#NULL.offset| |old(#NULL.offset)|)) [2020-07-17 22:49:12,686 INFO L268 CegarLoopResult]: For program point ULTIMATE.initEXIT(line -1) no Hoare annotation was computed. [2020-07-17 22:49:12,686 INFO L271 CegarLoopResult]: At program point insertENTRY(lines 5 8) the Hoare annotation is: true [2020-07-17 22:49:12,686 INFO L268 CegarLoopResult]: For program point insertFINAL(lines 5 8) no Hoare annotation was computed. [2020-07-17 22:49:12,686 INFO L268 CegarLoopResult]: For program point insertEXIT(lines 5 8) no Hoare annotation was computed. [2020-07-17 22:49:12,686 INFO L268 CegarLoopResult]: For program point ULTIMATE.startEXIT(line -1) no Hoare annotation was computed. [2020-07-17 22:49:12,687 INFO L271 CegarLoopResult]: At program point L-1(line -1) the Hoare annotation is: true [2020-07-17 22:49:12,687 INFO L271 CegarLoopResult]: At program point ULTIMATE.startENTRY(line -1) the Hoare annotation is: true [2020-07-17 22:49:12,687 INFO L268 CegarLoopResult]: For program point ULTIMATE.startFINAL(line -1) no Hoare annotation was computed. [2020-07-17 22:49:12,687 INFO L268 CegarLoopResult]: For program point mainEXIT(lines 16 56) no Hoare annotation was computed. [2020-07-17 22:49:12,687 INFO L264 CegarLoopResult]: At program point L52(line 52) the Hoare annotation is: false [2020-07-17 22:49:12,687 INFO L268 CegarLoopResult]: For program point L52-1(line 52) no Hoare annotation was computed. [2020-07-17 22:49:12,687 INFO L268 CegarLoopResult]: For program point L44-2(lines 44 48) no Hoare annotation was computed. [2020-07-17 22:49:12,687 INFO L264 CegarLoopResult]: At program point L44-3(lines 44 48) the Hoare annotation is: (and (<= main_~n~0 0) (= 0 main_~x~0)) [2020-07-17 22:49:12,688 INFO L268 CegarLoopResult]: For program point L36-2(lines 36 39) no Hoare annotation was computed. [2020-07-17 22:49:12,688 INFO L264 CegarLoopResult]: At program point L36-3(lines 36 39) the Hoare annotation is: (and (<= main_~n~0 0) (= 0 main_~x~0)) [2020-07-17 22:49:12,688 INFO L268 CegarLoopResult]: For program point L36-4(lines 36 39) no Hoare annotation was computed. [2020-07-17 22:49:12,688 INFO L268 CegarLoopResult]: For program point L28-2(lines 28 32) no Hoare annotation was computed. [2020-07-17 22:49:12,688 INFO L264 CegarLoopResult]: At program point L28-3(lines 28 32) the Hoare annotation is: (and (<= main_~n~0 0) (= 0 main_~x~0)) [2020-07-17 22:49:12,688 INFO L268 CegarLoopResult]: For program point L28-4(lines 28 32) no Hoare annotation was computed. [2020-07-17 22:49:12,688 INFO L268 CegarLoopResult]: For program point L45-2(lines 45 47) no Hoare annotation was computed. [2020-07-17 22:49:12,688 INFO L264 CegarLoopResult]: At program point L45-3(lines 45 47) the Hoare annotation is: false [2020-07-17 22:49:12,688 INFO L268 CegarLoopResult]: For program point L29-2(lines 29 31) no Hoare annotation was computed. [2020-07-17 22:49:12,689 INFO L264 CegarLoopResult]: At program point L29-3(lines 29 31) the Hoare annotation is: false [2020-07-17 22:49:12,689 INFO L264 CegarLoopResult]: At program point L46(line 46) the Hoare annotation is: false [2020-07-17 22:49:12,689 INFO L268 CegarLoopResult]: For program point L46-1(line 46) no Hoare annotation was computed. [2020-07-17 22:49:12,689 INFO L268 CegarLoopResult]: For program point mainFINAL(lines 16 56) no Hoare annotation was computed. [2020-07-17 22:49:12,689 INFO L264 CegarLoopResult]: At program point L30(line 30) the Hoare annotation is: false [2020-07-17 22:49:12,689 INFO L264 CegarLoopResult]: At program point mainENTRY(lines 16 56) the Hoare annotation is: (and (= |#valid| |old(#valid)|) (= |#memory_int| |old(#memory_int)|)) [2020-07-17 22:49:12,689 INFO L268 CegarLoopResult]: For program point L30-1(line 30) no Hoare annotation was computed. [2020-07-17 22:49:12,689 INFO L268 CegarLoopResult]: For program point L22-2(lines 22 25) no Hoare annotation was computed. [2020-07-17 22:49:12,690 INFO L264 CegarLoopResult]: At program point L22-3(lines 22 25) the Hoare annotation is: (and (<= main_~n~0 0) (<= 0 main_~x~0)) [2020-07-17 22:49:12,690 INFO L268 CegarLoopResult]: For program point L22-4(lines 22 25) no Hoare annotation was computed. [2020-07-17 22:49:12,690 INFO L268 CegarLoopResult]: For program point L40-2(lines 40 49) no Hoare annotation was computed. [2020-07-17 22:49:12,690 INFO L264 CegarLoopResult]: At program point L40-3(lines 40 49) the Hoare annotation is: (and (<= main_~n~0 0) (= 0 main_~x~0)) [2020-07-17 22:49:12,690 INFO L268 CegarLoopResult]: For program point L40-4(lines 40 49) no Hoare annotation was computed. [2020-07-17 22:49:12,690 INFO L264 CegarLoopResult]: At program point L41(line 41) the Hoare annotation is: (and (<= main_~n~0 0) (= 0 main_~x~0)) [2020-07-17 22:49:12,690 INFO L268 CegarLoopResult]: For program point L41-1(line 41) no Hoare annotation was computed. [2020-07-17 22:49:12,690 INFO L268 CegarLoopResult]: For program point L41-2(lines 41 43) no Hoare annotation was computed. [2020-07-17 22:49:12,691 INFO L268 CegarLoopResult]: For program point L41-4(lines 41 43) no Hoare annotation was computed. [2020-07-17 22:49:12,691 INFO L268 CegarLoopResult]: For program point L50-2(lines 50 54) no Hoare annotation was computed. [2020-07-17 22:49:12,691 INFO L264 CegarLoopResult]: At program point L50-3(lines 50 54) the Hoare annotation is: (and (<= 0 main_~x~0) (<= main_~n~0 1)) [2020-07-17 22:49:12,691 INFO L268 CegarLoopResult]: For program point L50-4(lines 50 54) no Hoare annotation was computed. [2020-07-17 22:49:12,691 INFO L264 CegarLoopResult]: At program point L42(line 42) the Hoare annotation is: false [2020-07-17 22:49:12,692 INFO L268 CegarLoopResult]: For program point L42-1(line 42) no Hoare annotation was computed. [2020-07-17 22:49:12,692 INFO L268 CegarLoopResult]: For program point L51-2(lines 51 53) no Hoare annotation was computed. [2020-07-17 22:49:12,692 INFO L264 CegarLoopResult]: At program point L51-3(lines 51 53) the Hoare annotation is: (and (<= 0 main_~x~0) (<= 1 main_~y~0) (<= main_~n~0 1)) [2020-07-17 22:49:12,692 INFO L268 CegarLoopResult]: For program point L2-1(line 2) no Hoare annotation was computed. [2020-07-17 22:49:12,692 INFO L268 CegarLoopResult]: For program point L2-3(line 2) no Hoare annotation was computed. [2020-07-17 22:49:12,693 INFO L271 CegarLoopResult]: At program point __VERIFIER_assertENTRY(line 2) the Hoare annotation is: true [2020-07-17 22:49:12,693 INFO L268 CegarLoopResult]: For program point __VERIFIER_assertEXIT(line 2) no Hoare annotation was computed. [2020-07-17 22:49:12,693 INFO L268 CegarLoopResult]: For program point __VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION(line 2) no Hoare annotation was computed. [2020-07-17 22:49:12,693 INFO L268 CegarLoopResult]: For program point L2(line 2) no Hoare annotation was computed. [2020-07-17 22:49:12,702 WARN L170 areAnnotationChecker]: ULTIMATE.initFINAL has no Hoare annotation [2020-07-17 22:49:12,703 WARN L170 areAnnotationChecker]: insertFINAL has no Hoare annotation [2020-07-17 22:49:12,705 WARN L170 areAnnotationChecker]: L2 has no Hoare annotation [2020-07-17 22:49:12,705 WARN L170 areAnnotationChecker]: L11-4 has no Hoare annotation [2020-07-17 22:49:12,705 WARN L170 areAnnotationChecker]: L11-4 has no Hoare annotation [2020-07-17 22:49:12,705 WARN L170 areAnnotationChecker]: L12 has no Hoare annotation [2020-07-17 22:49:12,705 WARN L170 areAnnotationChecker]: ULTIMATE.initFINAL has no Hoare annotation [2020-07-17 22:49:12,706 WARN L170 areAnnotationChecker]: ULTIMATE.startFINAL has no Hoare annotation [2020-07-17 22:49:12,707 WARN L170 areAnnotationChecker]: insertFINAL has no Hoare annotation [2020-07-17 22:49:12,707 WARN L170 areAnnotationChecker]: L22-4 has no Hoare annotation [2020-07-17 22:49:12,707 WARN L170 areAnnotationChecker]: L22-4 has no Hoare annotation [2020-07-17 22:49:12,707 WARN L170 areAnnotationChecker]: L22-2 has no Hoare annotation [2020-07-17 22:49:12,707 WARN L170 areAnnotationChecker]: L2 has no Hoare annotation [2020-07-17 22:49:12,708 WARN L170 areAnnotationChecker]: L2 has no Hoare annotation [2020-07-17 22:49:12,708 WARN L170 areAnnotationChecker]: L11-4 has no Hoare annotation [2020-07-17 22:49:12,708 WARN L170 areAnnotationChecker]: L12 has no Hoare annotation [2020-07-17 22:49:12,708 WARN L170 areAnnotationChecker]: L12 has no Hoare annotation [2020-07-17 22:49:12,708 WARN L170 areAnnotationChecker]: ULTIMATE.initEXIT has no Hoare annotation [2020-07-17 22:49:12,708 WARN L170 areAnnotationChecker]: ULTIMATE.startFINAL has no Hoare annotation [2020-07-17 22:49:12,709 WARN L170 areAnnotationChecker]: insertEXIT has no Hoare annotation [2020-07-17 22:49:12,709 WARN L170 areAnnotationChecker]: L22-4 has no Hoare annotation [2020-07-17 22:49:12,709 WARN L170 areAnnotationChecker]: L22-2 has no Hoare annotation [2020-07-17 22:49:12,709 WARN L170 areAnnotationChecker]: L2-1 has no Hoare annotation [2020-07-17 22:49:12,709 WARN L170 areAnnotationChecker]: L2-1 has no Hoare annotation [2020-07-17 22:49:12,710 WARN L170 areAnnotationChecker]: L2-3 has no Hoare annotation [2020-07-17 22:49:12,710 WARN L170 areAnnotationChecker]: elem_existsFINAL has no Hoare annotation [2020-07-17 22:49:12,710 WARN L170 areAnnotationChecker]: L11-2 has no Hoare annotation [2020-07-17 22:49:12,710 WARN L170 areAnnotationChecker]: L42-1 has no Hoare annotation [2020-07-17 22:49:12,710 WARN L170 areAnnotationChecker]: L28-4 has no Hoare annotation [2020-07-17 22:49:12,711 WARN L170 areAnnotationChecker]: L28-4 has no Hoare annotation [2020-07-17 22:49:12,712 WARN L170 areAnnotationChecker]: __VERIFIER_assertEXIT has no Hoare annotation [2020-07-17 22:49:12,712 WARN L170 areAnnotationChecker]: __VERIFIER_assertEXIT has no Hoare annotation [2020-07-17 22:49:12,712 WARN L170 areAnnotationChecker]: __VERIFIER_assertEXIT has no Hoare annotation [2020-07-17 22:49:12,712 WARN L170 areAnnotationChecker]: elem_existsEXIT has no Hoare annotation [2020-07-17 22:49:12,712 WARN L170 areAnnotationChecker]: L41-4 has no Hoare annotation [2020-07-17 22:49:12,713 WARN L170 areAnnotationChecker]: L28-4 has no Hoare annotation [2020-07-17 22:49:12,713 WARN L170 areAnnotationChecker]: L28-2 has no Hoare annotation [2020-07-17 22:49:12,713 WARN L170 areAnnotationChecker]: L28-2 has no Hoare annotation [2020-07-17 22:49:12,713 WARN L170 areAnnotationChecker]: L30-1 has no Hoare annotation [2020-07-17 22:49:12,713 WARN L170 areAnnotationChecker]: L46-1 has no Hoare annotation [2020-07-17 22:49:12,714 WARN L170 areAnnotationChecker]: L52-1 has no Hoare annotation [2020-07-17 22:49:12,714 WARN L170 areAnnotationChecker]: L41-1 has no Hoare annotation [2020-07-17 22:49:12,714 WARN L170 areAnnotationChecker]: L40-2 has no Hoare annotation [2020-07-17 22:49:12,714 WARN L170 areAnnotationChecker]: L40-2 has no Hoare annotation [2020-07-17 22:49:12,715 WARN L170 areAnnotationChecker]: L36-4 has no Hoare annotation [2020-07-17 22:49:12,716 WARN L170 areAnnotationChecker]: L36-4 has no Hoare annotation [2020-07-17 22:49:12,716 WARN L170 areAnnotationChecker]: L36-2 has no Hoare annotation [2020-07-17 22:49:12,716 WARN L170 areAnnotationChecker]: L28-2 has no Hoare annotation [2020-07-17 22:49:12,716 WARN L170 areAnnotationChecker]: L30-1 has no Hoare annotation [2020-07-17 22:49:12,716 WARN L170 areAnnotationChecker]: L29-2 has no Hoare annotation [2020-07-17 22:49:12,717 WARN L170 areAnnotationChecker]: L45-2 has no Hoare annotation [2020-07-17 22:49:12,717 WARN L170 areAnnotationChecker]: L51-2 has no Hoare annotation [2020-07-17 22:49:12,717 WARN L170 areAnnotationChecker]: L41-2 has no Hoare annotation [2020-07-17 22:49:12,717 WARN L170 areAnnotationChecker]: L41-2 has no Hoare annotation [2020-07-17 22:49:12,717 WARN L170 areAnnotationChecker]: L40-2 has no Hoare annotation [2020-07-17 22:49:12,717 WARN L170 areAnnotationChecker]: L44-2 has no Hoare annotation [2020-07-17 22:49:12,718 WARN L170 areAnnotationChecker]: L44-2 has no Hoare annotation [2020-07-17 22:49:12,718 WARN L170 areAnnotationChecker]: L36-4 has no Hoare annotation [2020-07-17 22:49:12,718 WARN L170 areAnnotationChecker]: L36-2 has no Hoare annotation [2020-07-17 22:49:12,718 WARN L170 areAnnotationChecker]: L50-2 has no Hoare annotation [2020-07-17 22:49:12,718 WARN L170 areAnnotationChecker]: L50-2 has no Hoare annotation [2020-07-17 22:49:12,720 WARN L170 areAnnotationChecker]: L42-1 has no Hoare annotation [2020-07-17 22:49:12,720 WARN L170 areAnnotationChecker]: L40-4 has no Hoare annotation [2020-07-17 22:49:12,720 WARN L170 areAnnotationChecker]: L40-4 has no Hoare annotation [2020-07-17 22:49:12,722 WARN L170 areAnnotationChecker]: L44-2 has no Hoare annotation [2020-07-17 22:49:12,722 WARN L170 areAnnotationChecker]: L46-1 has no Hoare annotation [2020-07-17 22:49:12,722 WARN L170 areAnnotationChecker]: L50-2 has no Hoare annotation [2020-07-17 22:49:12,722 WARN L170 areAnnotationChecker]: L52-1 has no Hoare annotation [2020-07-17 22:49:12,722 WARN L170 areAnnotationChecker]: L40-4 has no Hoare annotation [2020-07-17 22:49:12,723 WARN L170 areAnnotationChecker]: L41-1 has no Hoare annotation [2020-07-17 22:49:12,723 WARN L170 areAnnotationChecker]: L50-4 has no Hoare annotation [2020-07-17 22:49:12,723 WARN L170 areAnnotationChecker]: L50-4 has no Hoare annotation [2020-07-17 22:49:12,725 WARN L170 areAnnotationChecker]: L50-4 has no Hoare annotation [2020-07-17 22:49:12,725 WARN L170 areAnnotationChecker]: mainFINAL has no Hoare annotation [2020-07-17 22:49:12,725 WARN L170 areAnnotationChecker]: mainEXIT has no Hoare annotation [2020-07-17 22:49:12,725 INFO L163 areAnnotationChecker]: CFG has 16 edges. 16 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. 0 times interpolants missing. [2020-07-17 22:49:12,743 INFO L202 PluginConnector]: Adding new model de.uni_freiburg.informatik.ultimate.plugins.generator.traceabstraction CFG 17.07 10:49:12 BoogieIcfgContainer [2020-07-17 22:49:12,743 INFO L132 PluginConnector]: ------------------------ END TraceAbstraction---------------------------- [2020-07-17 22:49:12,747 INFO L168 Benchmark]: Toolchain (without parser) took 32912.04 ms. Allocated memory was 137.9 MB in the beginning and 433.6 MB in the end (delta: 295.7 MB). Free memory was 101.3 MB in the beginning and 191.5 MB in the end (delta: -90.3 MB). Peak memory consumption was 205.4 MB. Max. memory is 7.1 GB. [2020-07-17 22:49:12,748 INFO L168 Benchmark]: CDTParser took 0.19 ms. Allocated memory is still 137.9 MB. Free memory was 119.7 MB in the beginning and 119.5 MB in the end (delta: 210.0 kB). Peak memory consumption was 210.0 kB. Max. memory is 7.1 GB. [2020-07-17 22:49:12,749 INFO L168 Benchmark]: CACSL2BoogieTranslator took 392.20 ms. Allocated memory is still 137.9 MB. Free memory was 101.1 MB in the beginning and 89.1 MB in the end (delta: 12.0 MB). Peak memory consumption was 12.0 MB. Max. memory is 7.1 GB. [2020-07-17 22:49:12,750 INFO L168 Benchmark]: Boogie Preprocessor took 214.99 ms. Allocated memory was 137.9 MB in the beginning and 202.9 MB in the end (delta: 65.0 MB). Free memory was 89.1 MB in the beginning and 179.8 MB in the end (delta: -90.7 MB). Peak memory consumption was 13.5 MB. Max. memory is 7.1 GB. [2020-07-17 22:49:12,750 INFO L168 Benchmark]: RCFGBuilder took 671.80 ms. Allocated memory is still 202.9 MB. Free memory was 179.8 MB in the beginning and 139.7 MB in the end (delta: 40.1 MB). Peak memory consumption was 40.1 MB. Max. memory is 7.1 GB. [2020-07-17 22:49:12,751 INFO L168 Benchmark]: TraceAbstraction took 31624.97 ms. Allocated memory was 202.9 MB in the beginning and 433.6 MB in the end (delta: 230.7 MB). Free memory was 139.0 MB in the beginning and 191.5 MB in the end (delta: -52.5 MB). Peak memory consumption was 178.2 MB. Max. memory is 7.1 GB. [2020-07-17 22:49:12,754 INFO L336 ainManager$Toolchain]: ####################### End [Toolchain 1] ####################### --- Results --- * Results from de.uni_freiburg.informatik.ultimate.core: - AssertionsEnabledResult: Assertions are enabled Assertions are enabled - StatisticsResult: Toolchain Benchmarks Benchmark results are: * CDTParser took 0.19 ms. Allocated memory is still 137.9 MB. Free memory was 119.7 MB in the beginning and 119.5 MB in the end (delta: 210.0 kB). Peak memory consumption was 210.0 kB. Max. memory is 7.1 GB. * CACSL2BoogieTranslator took 392.20 ms. Allocated memory is still 137.9 MB. Free memory was 101.1 MB in the beginning and 89.1 MB in the end (delta: 12.0 MB). Peak memory consumption was 12.0 MB. Max. memory is 7.1 GB. * Boogie Preprocessor took 214.99 ms. Allocated memory was 137.9 MB in the beginning and 202.9 MB in the end (delta: 65.0 MB). Free memory was 89.1 MB in the beginning and 179.8 MB in the end (delta: -90.7 MB). Peak memory consumption was 13.5 MB. Max. memory is 7.1 GB. * RCFGBuilder took 671.80 ms. Allocated memory is still 202.9 MB. Free memory was 179.8 MB in the beginning and 139.7 MB in the end (delta: 40.1 MB). Peak memory consumption was 40.1 MB. Max. memory is 7.1 GB. * TraceAbstraction took 31624.97 ms. Allocated memory was 202.9 MB in the beginning and 433.6 MB in the end (delta: 230.7 MB). Free memory was 139.0 MB in the beginning and 191.5 MB in the end (delta: -52.5 MB). Peak memory consumption was 178.2 MB. Max. memory is 7.1 GB. * Results from de.uni_freiburg.informatik.ultimate.plugins.generator.traceabstraction: - PositiveResult [Line: 2]: call of __VERIFIER_error() unreachable For all program executions holds that call of __VERIFIER_error() unreachable at this location - AllSpecificationsHoldResult: All specifications hold 1 specifications checked. All of them hold - InvariantResult [Line: 36]: Loop Invariant Derived loop invariant: n <= 0 && 0 == x - InvariantResult [Line: 22]: Loop Invariant Derived loop invariant: n <= 0 && 0 <= x - InvariantResult [Line: 28]: Loop Invariant Derived loop invariant: n <= 0 && 0 == x - InvariantResult [Line: 44]: Loop Invariant Derived loop invariant: n <= 0 && 0 == x - InvariantResult [Line: 11]: Loop Invariant Derived loop invariant: !(\old(size) <= 0) || (((i <= 0 && \old(size) <= size) && size <= \old(size)) && 0 <= i) - InvariantResult [Line: 50]: Loop Invariant Derived loop invariant: 0 <= x && n <= 1 - InvariantResult [Line: 29]: Loop Invariant Derived loop invariant: 0 - InvariantResult [Line: 45]: Loop Invariant Derived loop invariant: 0 - InvariantResult [Line: 40]: Loop Invariant Derived loop invariant: n <= 0 && 0 == x - InvariantResult [Line: 51]: Loop Invariant Derived loop invariant: (0 <= x && 1 <= y) && n <= 1 - StatisticsResult: Ultimate Automizer benchmark data CFG has 6 procedures, 61 locations, 1 error locations. Started 1 CEGAR loops. VerificationResult: SAFE, OverallTime: 30.9s, OverallIterations: 14, TraceHistogramMax: 8, AutomataDifference: 20.1s, DeadEndRemovalTime: 0.0s, HoareAnnotationTime: 0.5s, InitialAbstractionConstructionTime: 0.0s, HoareTripleCheckerStatistics: 903 SDtfs, 1731 SDslu, 2222 SDs, 0 SdLazy, 2513 SolverSat, 881 SolverUnsat, 0 SolverUnknown, 0 SolverNotchecked, 4.6s Time, PredicateUnifierStatistics: 0 DeclaredPredicates, 898 GetRequests, 744 SyntacticMatches, 0 SemanticMatches, 154 ConstructedPredicates, 0 IntricatePredicates, 0 DeprecatedPredicates, 315 ImplicationChecksByTransitivity, 1.6s Time, 0.0s BasicInterpolantAutomatonTime, BiggestAbstraction: size=100occurred in iteration=13, traceCheckStatistics: No data available, InterpolantConsolidationStatistics: No data available, PathInvariantsStatistics: No data available, 0/0 InterpolantCoveringCapability, TotalInterpolationStatistics: No data available, 0.0s DumpTime, AutomataMinimizationStatistics: 1.4s AutomataMinimizationTime, 14 MinimizatonAttempts, 1477 StatesRemovedByMinimization, 13 NontrivialMinimizations, HoareAnnotationStatistics: 0.0s HoareAnnotationTime, 22 LocationsWithAnnotation, 140 PreInvPairs, 167 NumberOfFragments, 105 HoareAnnotationTreeSize, 140 FomulaSimplifications, 3522 FormulaSimplificationTreeSizeReduction, 0.2s HoareSimplificationTime, 22 FomulaSimplificationsInter, 107 FormulaSimplificationTreeSizeReductionInter, 0.1s HoareSimplificationTimeInter, RefinementEngineStatistics: TRACE_CHECK: 0.1s SsaConstructionTime, 0.6s SatisfiabilityAnalysisTime, 4.1s InterpolantComputationTime, 1358 NumberOfCodeBlocks, 1288 NumberOfCodeBlocksAsserted, 31 NumberOfCheckSat, 1331 ConstructedInterpolants, 0 QuantifiedInterpolants, 111711 SizeOfPredicates, 26 NumberOfNonLiveVariables, 2401 ConjunctsInSsa, 79 ConjunctsInUnsatCore, 27 InterpolantComputations, 7 PerfectInterpolantSequences, 475/858 InterpolantCoveringCapability, INVARIANT_SYNTHESIS: No data available, INTERPOLANT_CONSOLIDATION: No data available, ABSTRACT_INTERPRETATION: No data available, PDR: No data available, ACCELERATED_INTERPOLATION: No data available, SIFA: No data available, ReuseStatistics: No data available RESULT: Ultimate proved your program to be correct! Received shutdown request...