java -ea -Xmx8000000000 -jar /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/plugins/org.eclipse.equinox.launcher_1.3.100.v20150511-1540.jar -data @noDefault -ultimatedata /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/data -tc ../../../trunk/examples/toolchains/AutomizerCInline_WitnessPrinter.xml -s ../../../trunk/examples/settings/default/automizer/svcomp-Reach-32bit-Automizer_Default.epf -i ../../../trunk/examples/svcomp/array-industry-pattern/array_of_struct_ptr_flag_init_true-unreach-call.i -------------------------------------------------------------------------------- This is Ultimate 0.1.23-61f4311 [2018-11-23 12:12:10,195 INFO L170 SettingsManager]: Resetting all preferences to default values... [2018-11-23 12:12:10,198 INFO L174 SettingsManager]: Resetting UltimateCore preferences to default values [2018-11-23 12:12:10,211 INFO L177 SettingsManager]: Ultimate Commandline Interface provides no preferences, ignoring... [2018-11-23 12:12:10,211 INFO L174 SettingsManager]: Resetting Boogie Preprocessor preferences to default values [2018-11-23 12:12:10,212 INFO L174 SettingsManager]: Resetting Boogie Procedure Inliner preferences to default values [2018-11-23 12:12:10,213 INFO L174 SettingsManager]: Resetting Abstract Interpretation preferences to default values [2018-11-23 12:12:10,215 INFO L174 SettingsManager]: Resetting LassoRanker preferences to default values [2018-11-23 12:12:10,217 INFO L174 SettingsManager]: Resetting Reaching Definitions preferences to default values [2018-11-23 12:12:10,218 INFO L174 SettingsManager]: Resetting SyntaxChecker preferences to default values [2018-11-23 12:12:10,219 INFO L177 SettingsManager]: Büchi Program Product provides no preferences, ignoring... [2018-11-23 12:12:10,219 INFO L174 SettingsManager]: Resetting LTL2Aut preferences to default values [2018-11-23 12:12:10,220 INFO L174 SettingsManager]: Resetting PEA to Boogie preferences to default values [2018-11-23 12:12:10,221 INFO L174 SettingsManager]: Resetting BlockEncodingV2 preferences to default values [2018-11-23 12:12:10,222 INFO L174 SettingsManager]: Resetting ChcToBoogie preferences to default values [2018-11-23 12:12:10,223 INFO L174 SettingsManager]: Resetting AutomataScriptInterpreter preferences to default values [2018-11-23 12:12:10,224 INFO L174 SettingsManager]: Resetting BuchiAutomizer preferences to default values [2018-11-23 12:12:10,225 INFO L174 SettingsManager]: Resetting CACSL2BoogieTranslator preferences to default values [2018-11-23 12:12:10,228 INFO L174 SettingsManager]: Resetting CodeCheck preferences to default values [2018-11-23 12:12:10,229 INFO L174 SettingsManager]: Resetting InvariantSynthesis preferences to default values [2018-11-23 12:12:10,231 INFO L174 SettingsManager]: Resetting RCFGBuilder preferences to default values [2018-11-23 12:12:10,232 INFO L174 SettingsManager]: Resetting TraceAbstraction preferences to default values [2018-11-23 12:12:10,239 INFO L177 SettingsManager]: TraceAbstractionConcurrent provides no preferences, ignoring... [2018-11-23 12:12:10,239 INFO L177 SettingsManager]: TraceAbstractionWithAFAs provides no preferences, ignoring... [2018-11-23 12:12:10,239 INFO L174 SettingsManager]: Resetting TreeAutomizer preferences to default values [2018-11-23 12:12:10,240 INFO L174 SettingsManager]: Resetting IcfgTransformer preferences to default values [2018-11-23 12:12:10,245 INFO L174 SettingsManager]: Resetting Boogie Printer preferences to default values [2018-11-23 12:12:10,245 INFO L174 SettingsManager]: Resetting ReqPrinter preferences to default values [2018-11-23 12:12:10,246 INFO L174 SettingsManager]: Resetting Witness Printer preferences to default values [2018-11-23 12:12:10,249 INFO L177 SettingsManager]: Boogie PL CUP Parser provides no preferences, ignoring... [2018-11-23 12:12:10,250 INFO L174 SettingsManager]: Resetting CDTParser preferences to default values [2018-11-23 12:12:10,251 INFO L177 SettingsManager]: AutomataScriptParser provides no preferences, ignoring... [2018-11-23 12:12:10,251 INFO L177 SettingsManager]: ReqParser provides no preferences, ignoring... [2018-11-23 12:12:10,252 INFO L174 SettingsManager]: Resetting SmtParser preferences to default values [2018-11-23 12:12:10,252 INFO L174 SettingsManager]: Resetting Witness Parser preferences to default values [2018-11-23 12:12:10,255 INFO L181 SettingsManager]: Finished resetting all preferences to default values... [2018-11-23 12:12:10,255 INFO L98 SettingsManager]: Beginning loading settings from /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/../../../trunk/examples/settings/default/automizer/svcomp-Reach-32bit-Automizer_Default.epf [2018-11-23 12:12:10,286 INFO L110 SettingsManager]: Loading preferences was successful [2018-11-23 12:12:10,286 INFO L112 SettingsManager]: Preferences different from defaults after loading the file: [2018-11-23 12:12:10,287 INFO L131 SettingsManager]: Preferences of Boogie Procedure Inliner differ from their defaults: [2018-11-23 12:12:10,287 INFO L133 SettingsManager]: * ... calls to implemented procedures=ONLY_FOR_CONCURRENT_PROGRAMS [2018-11-23 12:12:10,291 INFO L131 SettingsManager]: Preferences of BlockEncodingV2 differ from their defaults: [2018-11-23 12:12:10,291 INFO L133 SettingsManager]: * Create parallel compositions if possible=false [2018-11-23 12:12:10,292 INFO L133 SettingsManager]: * Use SBE=true [2018-11-23 12:12:10,292 INFO L131 SettingsManager]: Preferences of CACSL2BoogieTranslator differ from their defaults: [2018-11-23 12:12:10,293 INFO L133 SettingsManager]: * sizeof long=4 [2018-11-23 12:12:10,293 INFO L133 SettingsManager]: * Overapproximate operations on floating types=true [2018-11-23 12:12:10,293 INFO L133 SettingsManager]: * sizeof POINTER=4 [2018-11-23 12:12:10,293 INFO L133 SettingsManager]: * Check division by zero=IGNORE [2018-11-23 12:12:10,294 INFO L133 SettingsManager]: * Pointer to allocated memory at dereference=IGNORE [2018-11-23 12:12:10,294 INFO L133 SettingsManager]: * If two pointers are subtracted or compared they have the same base address=IGNORE [2018-11-23 12:12:10,294 INFO L133 SettingsManager]: * Check array bounds for arrays that are off heap=IGNORE [2018-11-23 12:12:10,295 INFO L133 SettingsManager]: * sizeof long double=12 [2018-11-23 12:12:10,295 INFO L133 SettingsManager]: * Check if freed pointer was valid=false [2018-11-23 12:12:10,295 INFO L133 SettingsManager]: * Use constant arrays=true [2018-11-23 12:12:10,295 INFO L133 SettingsManager]: * Pointer base address is valid at dereference=IGNORE [2018-11-23 12:12:10,295 INFO L131 SettingsManager]: Preferences of RCFGBuilder differ from their defaults: [2018-11-23 12:12:10,296 INFO L133 SettingsManager]: * Size of a code block=SequenceOfStatements [2018-11-23 12:12:10,296 INFO L133 SettingsManager]: * To the following directory=./dump/ [2018-11-23 12:12:10,296 INFO L133 SettingsManager]: * SMT solver=External_DefaultMode [2018-11-23 12:12:10,296 INFO L133 SettingsManager]: * Command for external solver=z3 SMTLIB2_COMPLIANT=true -memory:2024 -smt2 -in -t:2000 [2018-11-23 12:12:10,297 INFO L131 SettingsManager]: Preferences of TraceAbstraction differ from their defaults: [2018-11-23 12:12:10,297 INFO L133 SettingsManager]: * Compute Interpolants along a Counterexample=FPandBP [2018-11-23 12:12:10,297 INFO L133 SettingsManager]: * Positions where we compute the Hoare Annotation=LoopsAndPotentialCycles [2018-11-23 12:12:10,297 INFO L133 SettingsManager]: * Trace refinement strategy=CAMEL [2018-11-23 12:12:10,297 INFO L133 SettingsManager]: * SMT solver=External_ModelsAndUnsatCoreMode [2018-11-23 12:12:10,298 INFO L133 SettingsManager]: * Command for external solver=z3 SMTLIB2_COMPLIANT=true -memory:2024 -smt2 -in [2018-11-23 12:12:10,298 INFO L133 SettingsManager]: * Compute Hoare Annotation of negated interpolant automaton, abstraction and CFG=true [2018-11-23 12:12:10,344 INFO L81 nceAwareModelManager]: Repository-Root is: /tmp [2018-11-23 12:12:10,361 INFO L258 ainManager$Toolchain]: [Toolchain 1]: Applicable parser(s) successfully (re)initialized [2018-11-23 12:12:10,367 INFO L214 ainManager$Toolchain]: [Toolchain 1]: Toolchain selected. [2018-11-23 12:12:10,369 INFO L271 PluginConnector]: Initializing CDTParser... [2018-11-23 12:12:10,369 INFO L276 PluginConnector]: CDTParser initialized [2018-11-23 12:12:10,370 INFO L418 ainManager$Toolchain]: [Toolchain 1]: Parsing single file: /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/../../../trunk/examples/svcomp/array-industry-pattern/array_of_struct_ptr_flag_init_true-unreach-call.i [2018-11-23 12:12:10,440 INFO L221 CDTParser]: Created temporary CDT project at /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/data/715708422/248f5e93103349af913d8e06f6ff06ea/FLAGf0a71ddef [2018-11-23 12:12:10,957 INFO L307 CDTParser]: Found 1 translation units. [2018-11-23 12:12:10,958 INFO L161 CDTParser]: Scanning /storage/repos/ultimate/trunk/examples/svcomp/array-industry-pattern/array_of_struct_ptr_flag_init_true-unreach-call.i [2018-11-23 12:12:10,966 INFO L355 CDTParser]: About to delete temporary CDT project at /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/data/715708422/248f5e93103349af913d8e06f6ff06ea/FLAGf0a71ddef [2018-11-23 12:12:11,269 INFO L363 CDTParser]: Successfully deleted /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/data/715708422/248f5e93103349af913d8e06f6ff06ea [2018-11-23 12:12:11,281 INFO L296 ainManager$Toolchain]: ####################### [Toolchain 1] ####################### [2018-11-23 12:12:11,283 INFO L131 ToolchainWalker]: Walking toolchain with 6 elements. [2018-11-23 12:12:11,284 INFO L113 PluginConnector]: ------------------------CACSL2BoogieTranslator---------------------------- [2018-11-23 12:12:11,284 INFO L271 PluginConnector]: Initializing CACSL2BoogieTranslator... [2018-11-23 12:12:11,287 INFO L276 PluginConnector]: CACSL2BoogieTranslator initialized [2018-11-23 12:12:11,289 INFO L185 PluginConnector]: Executing the observer ACSLObjectContainerObserver from plugin CACSL2BoogieTranslator for "CDTParser AST 23.11 12:12:11" (1/1) ... [2018-11-23 12:12:11,292 INFO L205 PluginConnector]: Invalid model from CACSL2BoogieTranslator for observer de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator.ACSLObjectContainerObserver@720247a0 and model type de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 23.11 12:12:11, skipping insertion in model container [2018-11-23 12:12:11,292 INFO L185 PluginConnector]: Executing the observer CACSL2BoogieTranslatorObserver from plugin CACSL2BoogieTranslator for "CDTParser AST 23.11 12:12:11" (1/1) ... [2018-11-23 12:12:11,301 INFO L145 MainTranslator]: Starting translation in SV-COMP mode [2018-11-23 12:12:11,326 INFO L176 MainTranslator]: Built tables and reachable declarations [2018-11-23 12:12:11,542 INFO L201 PostProcessor]: Analyzing one entry point: main [2018-11-23 12:12:11,552 INFO L191 MainTranslator]: Completed pre-run [2018-11-23 12:12:11,576 INFO L201 PostProcessor]: Analyzing one entry point: main [2018-11-23 12:12:11,601 INFO L195 MainTranslator]: Completed translation [2018-11-23 12:12:11,601 INFO L202 PluginConnector]: Adding new model de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 23.11 12:12:11 WrapperNode [2018-11-23 12:12:11,602 INFO L132 PluginConnector]: ------------------------ END CACSL2BoogieTranslator---------------------------- [2018-11-23 12:12:11,603 INFO L113 PluginConnector]: ------------------------Boogie Procedure Inliner---------------------------- [2018-11-23 12:12:11,603 INFO L271 PluginConnector]: Initializing Boogie Procedure Inliner... [2018-11-23 12:12:11,603 INFO L276 PluginConnector]: Boogie Procedure Inliner initialized [2018-11-23 12:12:11,614 INFO L185 PluginConnector]: Executing the observer TypeChecker from plugin Boogie Procedure Inliner for "de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 23.11 12:12:11" (1/1) ... [2018-11-23 12:12:11,626 INFO L185 PluginConnector]: Executing the observer Inliner from plugin Boogie Procedure Inliner for "de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 23.11 12:12:11" (1/1) ... [2018-11-23 12:12:11,637 INFO L132 PluginConnector]: ------------------------ END Boogie Procedure Inliner---------------------------- [2018-11-23 12:12:11,638 INFO L113 PluginConnector]: ------------------------Boogie Preprocessor---------------------------- [2018-11-23 12:12:11,638 INFO L271 PluginConnector]: Initializing Boogie Preprocessor... [2018-11-23 12:12:11,638 INFO L276 PluginConnector]: Boogie Preprocessor initialized [2018-11-23 12:12:11,648 INFO L185 PluginConnector]: Executing the observer EnsureBoogieModelObserver from plugin Boogie Preprocessor for "de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 23.11 12:12:11" (1/1) ... [2018-11-23 12:12:11,649 INFO L185 PluginConnector]: Executing the observer TypeChecker from plugin Boogie Preprocessor for "de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 23.11 12:12:11" (1/1) ... [2018-11-23 12:12:11,651 INFO L185 PluginConnector]: Executing the observer ConstExpander from plugin Boogie Preprocessor for "de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 23.11 12:12:11" (1/1) ... [2018-11-23 12:12:11,651 INFO L185 PluginConnector]: Executing the observer StructExpander from plugin Boogie Preprocessor for "de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 23.11 12:12:11" (1/1) ... [2018-11-23 12:12:11,662 INFO L185 PluginConnector]: Executing the observer UnstructureCode from plugin Boogie Preprocessor for "de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 23.11 12:12:11" (1/1) ... [2018-11-23 12:12:11,670 INFO L185 PluginConnector]: Executing the observer FunctionInliner from plugin Boogie Preprocessor for "de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 23.11 12:12:11" (1/1) ... [2018-11-23 12:12:11,671 INFO L185 PluginConnector]: Executing the observer BoogieSymbolTableConstructor from plugin Boogie Preprocessor for "de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 23.11 12:12:11" (1/1) ... [2018-11-23 12:12:11,674 INFO L132 PluginConnector]: ------------------------ END Boogie Preprocessor---------------------------- [2018-11-23 12:12:11,675 INFO L113 PluginConnector]: ------------------------RCFGBuilder---------------------------- [2018-11-23 12:12:11,675 INFO L271 PluginConnector]: Initializing RCFGBuilder... [2018-11-23 12:12:11,675 INFO L276 PluginConnector]: RCFGBuilder initialized [2018-11-23 12:12:11,676 INFO L185 PluginConnector]: Executing the observer RCFGBuilderObserver from plugin RCFGBuilder for "de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 23.11 12:12:11" (1/1) ... No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 Starting monitored process 1 with z3 SMTLIB2_COMPLIANT=true -memory:2024 -smt2 -in -t:2000 (exit command is (exit), workingDir is null) Waiting until toolchain timeout for monitored process 1 with z3 SMTLIB2_COMPLIANT=true -memory:2024 -smt2 -in -t:2000 [2018-11-23 12:12:11,805 INFO L130 BoogieDeclarations]: Found specification of procedure read~$Pointer$ [2018-11-23 12:12:11,806 INFO L130 BoogieDeclarations]: Found specification of procedure init [2018-11-23 12:12:11,806 INFO L138 BoogieDeclarations]: Found implementation of procedure init [2018-11-23 12:12:11,806 INFO L130 BoogieDeclarations]: Found specification of procedure ULTIMATE.init [2018-11-23 12:12:11,806 INFO L138 BoogieDeclarations]: Found implementation of procedure ULTIMATE.init [2018-11-23 12:12:11,806 INFO L130 BoogieDeclarations]: Found specification of procedure #Ultimate.alloc [2018-11-23 12:12:11,806 INFO L130 BoogieDeclarations]: Found specification of procedure ULTIMATE.start [2018-11-23 12:12:11,806 INFO L138 BoogieDeclarations]: Found implementation of procedure ULTIMATE.start [2018-11-23 12:12:11,806 INFO L130 BoogieDeclarations]: Found specification of procedure main [2018-11-23 12:12:11,807 INFO L138 BoogieDeclarations]: Found implementation of procedure main [2018-11-23 12:12:11,807 INFO L130 BoogieDeclarations]: Found specification of procedure __VERIFIER_assert [2018-11-23 12:12:11,807 INFO L138 BoogieDeclarations]: Found implementation of procedure __VERIFIER_assert [2018-11-23 12:12:11,807 INFO L130 BoogieDeclarations]: Found specification of procedure write~$Pointer$ [2018-11-23 12:12:11,807 INFO L130 BoogieDeclarations]: Found specification of procedure ULTIMATE.dealloc [2018-11-23 12:12:12,438 INFO L275 CfgBuilder]: Using the 1 location(s) as analysis (start of procedure ULTIMATE.start) [2018-11-23 12:12:12,438 INFO L280 CfgBuilder]: Removed 3 assue(true) statements. [2018-11-23 12:12:12,439 INFO L202 PluginConnector]: Adding new model de.uni_freiburg.informatik.ultimate.plugins.generator.rcfgbuilder CFG 23.11 12:12:12 BoogieIcfgContainer [2018-11-23 12:12:12,439 INFO L132 PluginConnector]: ------------------------ END RCFGBuilder---------------------------- [2018-11-23 12:12:12,440 INFO L113 PluginConnector]: ------------------------TraceAbstraction---------------------------- [2018-11-23 12:12:12,440 INFO L271 PluginConnector]: Initializing TraceAbstraction... [2018-11-23 12:12:12,443 INFO L276 PluginConnector]: TraceAbstraction initialized [2018-11-23 12:12:12,443 INFO L185 PluginConnector]: Executing the observer TraceAbstractionObserver from plugin TraceAbstraction for "CDTParser AST 23.11 12:12:11" (1/3) ... [2018-11-23 12:12:12,444 INFO L205 PluginConnector]: Invalid model from TraceAbstraction for observer de.uni_freiburg.informatik.ultimate.plugins.generator.traceabstraction.TraceAbstractionObserver@5580872f and model type de.uni_freiburg.informatik.ultimate.plugins.generator.traceabstraction AST 23.11 12:12:12, skipping insertion in model container [2018-11-23 12:12:12,445 INFO L185 PluginConnector]: Executing the observer TraceAbstractionObserver from plugin TraceAbstraction for "de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 23.11 12:12:11" (2/3) ... [2018-11-23 12:12:12,445 INFO L205 PluginConnector]: Invalid model from TraceAbstraction for observer de.uni_freiburg.informatik.ultimate.plugins.generator.traceabstraction.TraceAbstractionObserver@5580872f and model type de.uni_freiburg.informatik.ultimate.plugins.generator.traceabstraction AST 23.11 12:12:12, skipping insertion in model container [2018-11-23 12:12:12,445 INFO L185 PluginConnector]: Executing the observer TraceAbstractionObserver from plugin TraceAbstraction for "de.uni_freiburg.informatik.ultimate.plugins.generator.rcfgbuilder CFG 23.11 12:12:12" (3/3) ... [2018-11-23 12:12:12,447 INFO L112 eAbstractionObserver]: Analyzing ICFG array_of_struct_ptr_flag_init_true-unreach-call.i [2018-11-23 12:12:12,458 INFO L156 ceAbstractionStarter]: Automizer settings: Hoare:true NWA Interpolation:FPandBP Determinization: PREDICATE_ABSTRACTION [2018-11-23 12:12:12,465 INFO L168 ceAbstractionStarter]: Appying trace abstraction to program that has 1 error locations. [2018-11-23 12:12:12,482 INFO L257 AbstractCegarLoop]: Starting to check reachability of 1 error locations. [2018-11-23 12:12:12,516 INFO L133 ementStrategyFactory]: Using default assertion order modulation [2018-11-23 12:12:12,517 INFO L382 AbstractCegarLoop]: Interprodecural is true [2018-11-23 12:12:12,517 INFO L383 AbstractCegarLoop]: Hoare is true [2018-11-23 12:12:12,517 INFO L384 AbstractCegarLoop]: Compute interpolants for FPandBP [2018-11-23 12:12:12,518 INFO L385 AbstractCegarLoop]: Backedges is STRAIGHT_LINE [2018-11-23 12:12:12,518 INFO L386 AbstractCegarLoop]: Determinization is PREDICATE_ABSTRACTION [2018-11-23 12:12:12,518 INFO L387 AbstractCegarLoop]: Difference is false [2018-11-23 12:12:12,519 INFO L388 AbstractCegarLoop]: Minimize is MINIMIZE_SEVPA [2018-11-23 12:12:12,519 INFO L393 AbstractCegarLoop]: ======== Iteration 0==of CEGAR loop == AllErrorsAtOnce======== [2018-11-23 12:12:12,541 INFO L276 IsEmpty]: Start isEmpty. Operand 33 states. [2018-11-23 12:12:12,548 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 21 [2018-11-23 12:12:12,548 INFO L394 BasicCegarLoop]: Found error trace [2018-11-23 12:12:12,549 INFO L402 BasicCegarLoop]: trace histogram [1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1] [2018-11-23 12:12:12,551 INFO L423 AbstractCegarLoop]: === Iteration 1 === [__VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION]=== [2018-11-23 12:12:12,557 INFO L141 PredicateUnifier]: Initialized classic predicate unifier [2018-11-23 12:12:12,557 INFO L82 PathProgramCache]: Analyzing trace with hash -850547107, now seen corresponding path program 1 times [2018-11-23 12:12:12,560 INFO L223 ckRefinementStrategy]: Switched to mode SMTINTERPOL_TREE_INTERPOLANTS [2018-11-23 12:12:12,560 INFO L69 tionRefinementEngine]: Using refinement strategy CamelRefinementStrategy [2018-11-23 12:12:12,614 INFO L119 rtionOrderModulation]: Craig_TreeInterpolation forces the order to NOT_INCREMENTALLY [2018-11-23 12:12:12,615 INFO L103 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2018-11-23 12:12:12,615 INFO L119 rtionOrderModulation]: Craig_TreeInterpolation forces the order to NOT_INCREMENTALLY [2018-11-23 12:12:12,672 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2018-11-23 12:12:12,765 INFO L256 TraceCheckUtils]: 0: Hoare triple {36#true} call ULTIMATE.init(); {36#true} is VALID [2018-11-23 12:12:12,769 INFO L273 TraceCheckUtils]: 1: Hoare triple {36#true} #NULL.base, #NULL.offset := 0, 0;#valid := #valid[0 := 0]; {36#true} is VALID [2018-11-23 12:12:12,769 INFO L273 TraceCheckUtils]: 2: Hoare triple {36#true} assume true; {36#true} is VALID [2018-11-23 12:12:12,770 INFO L268 TraceCheckUtils]: 3: Hoare quadruple {36#true} {36#true} #76#return; {36#true} is VALID [2018-11-23 12:12:12,770 INFO L256 TraceCheckUtils]: 4: Hoare triple {36#true} call #t~ret6 := main(); {36#true} is VALID [2018-11-23 12:12:12,770 INFO L273 TraceCheckUtils]: 5: Hoare triple {36#true} call ~#a~0.base, ~#a~0.offset := #Ultimate.alloc(400000);havoc ~i~1;havoc ~flag~0;~flag~0 := 0; {36#true} is VALID [2018-11-23 12:12:12,771 INFO L256 TraceCheckUtils]: 6: Hoare triple {36#true} call init(~#a~0.base, ~#a~0.offset, 100000); {36#true} is VALID [2018-11-23 12:12:12,771 INFO L273 TraceCheckUtils]: 7: Hoare triple {36#true} ~a.base, ~a.offset := #in~a.base, #in~a.offset;~size := #in~size;havoc ~i~0;~i~0 := 0; {36#true} is VALID [2018-11-23 12:12:12,771 INFO L273 TraceCheckUtils]: 8: Hoare triple {36#true} assume !(~i~0 < ~size); {36#true} is VALID [2018-11-23 12:12:12,771 INFO L273 TraceCheckUtils]: 9: Hoare triple {36#true} assume true; {36#true} is VALID [2018-11-23 12:12:12,772 INFO L268 TraceCheckUtils]: 10: Hoare quadruple {36#true} {36#true} #80#return; {36#true} is VALID [2018-11-23 12:12:12,772 INFO L273 TraceCheckUtils]: 11: Hoare triple {36#true} ~i~1 := 0; {36#true} is VALID [2018-11-23 12:12:12,774 INFO L273 TraceCheckUtils]: 12: Hoare triple {36#true} assume !true; {37#false} is VALID [2018-11-23 12:12:12,774 INFO L273 TraceCheckUtils]: 13: Hoare triple {37#false} ~i~1 := 0; {37#false} is VALID [2018-11-23 12:12:12,774 INFO L273 TraceCheckUtils]: 14: Hoare triple {37#false} assume !!(~i~1 < 100000); {37#false} is VALID [2018-11-23 12:12:12,774 INFO L273 TraceCheckUtils]: 15: Hoare triple {37#false} assume 0 == ~flag~0;call #t~mem5.base, #t~mem5.offset := read~$Pointer$(~#a~0.base, ~#a~0.offset + 4 * ~i~1, 4); {37#false} is VALID [2018-11-23 12:12:12,775 INFO L256 TraceCheckUtils]: 16: Hoare triple {37#false} call __VERIFIER_assert((if #t~mem5.base == 0 && #t~mem5.offset == 0 then 1 else 0)); {37#false} is VALID [2018-11-23 12:12:12,775 INFO L273 TraceCheckUtils]: 17: Hoare triple {37#false} ~cond := #in~cond; {37#false} is VALID [2018-11-23 12:12:12,775 INFO L273 TraceCheckUtils]: 18: Hoare triple {37#false} assume 0 == ~cond; {37#false} is VALID [2018-11-23 12:12:12,775 INFO L273 TraceCheckUtils]: 19: Hoare triple {37#false} assume !false; {37#false} is VALID [2018-11-23 12:12:12,780 INFO L134 CoverageAnalysis]: Checked inductivity of 0 backedges. 0 proven. 0 refuted. 0 times theorem prover too weak. 0 trivial. 0 not checked. [2018-11-23 12:12:12,783 INFO L312 seRefinementStrategy]: Constructing automaton from 1 perfect and 0 imperfect interpolant sequences. [2018-11-23 12:12:12,783 INFO L327 seRefinementStrategy]: Number of different interpolants: perfect sequences [2] imperfect sequences [] total 2 [2018-11-23 12:12:12,790 INFO L78 Accepts]: Start accepts. Automaton has 2 states. Word has length 20 [2018-11-23 12:12:12,793 INFO L84 Accepts]: Finished accepts. word is accepted. [2018-11-23 12:12:12,798 INFO L86 InductivityCheck]: Starting indutivity check of a Floyd-Hoare automaton with 2 states. [2018-11-23 12:12:13,061 INFO L119 InductivityCheck]: Floyd-Hoare automaton has 20 edges. 20 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2018-11-23 12:12:13,062 INFO L459 AbstractCegarLoop]: Interpolant automaton has 2 states [2018-11-23 12:12:13,072 INFO L142 InterpolantAutomaton]: Constructing interpolant automaton starting with 2 interpolants. [2018-11-23 12:12:13,073 INFO L144 InterpolantAutomaton]: CoverageRelationStatistics Valid=1, Invalid=1, Unknown=0, NotChecked=0, Total=2 [2018-11-23 12:12:13,076 INFO L87 Difference]: Start difference. First operand 33 states. Second operand 2 states. [2018-11-23 12:12:13,219 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2018-11-23 12:12:13,219 INFO L93 Difference]: Finished difference Result 56 states and 71 transitions. [2018-11-23 12:12:13,219 INFO L142 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 2 states. [2018-11-23 12:12:13,219 INFO L78 Accepts]: Start accepts. Automaton has 2 states. Word has length 20 [2018-11-23 12:12:13,220 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2018-11-23 12:12:13,221 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 2 states. [2018-11-23 12:12:13,232 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 2 states to 2 states and 71 transitions. [2018-11-23 12:12:13,233 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 2 states. [2018-11-23 12:12:13,237 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 2 states to 2 states and 71 transitions. [2018-11-23 12:12:13,237 INFO L86 InductivityCheck]: Starting indutivity check of a Floyd-Hoare automaton with 2 states and 71 transitions. [2018-11-23 12:12:13,497 INFO L119 InductivityCheck]: Floyd-Hoare automaton has 71 edges. 71 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2018-11-23 12:12:13,510 INFO L225 Difference]: With dead ends: 56 [2018-11-23 12:12:13,510 INFO L226 Difference]: Without dead ends: 28 [2018-11-23 12:12:13,514 INFO L631 BasicCegarLoop]: 0 DeclaredPredicates, 2 GetRequests, 2 SyntacticMatches, 0 SemanticMatches, 0 ConstructedPredicates, 0 IntricatePredicates, 0 DeprecatedPredicates, 0 ImplicationChecksByTransitivity, 0.0s TimeCoverageRelationStatistics Valid=1, Invalid=1, Unknown=0, NotChecked=0, Total=2 [2018-11-23 12:12:13,531 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 28 states. [2018-11-23 12:12:13,556 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 28 to 28. [2018-11-23 12:12:13,556 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2018-11-23 12:12:13,557 INFO L82 GeneralOperation]: Start isEquivalent. First operand 28 states. Second operand 28 states. [2018-11-23 12:12:13,557 INFO L74 IsIncluded]: Start isIncluded. First operand 28 states. Second operand 28 states. [2018-11-23 12:12:13,558 INFO L87 Difference]: Start difference. First operand 28 states. Second operand 28 states. [2018-11-23 12:12:13,562 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2018-11-23 12:12:13,563 INFO L93 Difference]: Finished difference Result 28 states and 32 transitions. [2018-11-23 12:12:13,563 INFO L276 IsEmpty]: Start isEmpty. Operand 28 states and 32 transitions. [2018-11-23 12:12:13,564 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2018-11-23 12:12:13,569 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2018-11-23 12:12:13,569 INFO L74 IsIncluded]: Start isIncluded. First operand 28 states. Second operand 28 states. [2018-11-23 12:12:13,569 INFO L87 Difference]: Start difference. First operand 28 states. Second operand 28 states. [2018-11-23 12:12:13,576 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2018-11-23 12:12:13,576 INFO L93 Difference]: Finished difference Result 28 states and 32 transitions. [2018-11-23 12:12:13,577 INFO L276 IsEmpty]: Start isEmpty. Operand 28 states and 32 transitions. [2018-11-23 12:12:13,578 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2018-11-23 12:12:13,578 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2018-11-23 12:12:13,578 INFO L88 GeneralOperation]: Finished isEquivalent. [2018-11-23 12:12:13,579 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2018-11-23 12:12:13,579 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 28 states. [2018-11-23 12:12:13,582 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 28 states to 28 states and 32 transitions. [2018-11-23 12:12:13,585 INFO L78 Accepts]: Start accepts. Automaton has 28 states and 32 transitions. Word has length 20 [2018-11-23 12:12:13,585 INFO L84 Accepts]: Finished accepts. word is rejected. [2018-11-23 12:12:13,585 INFO L480 AbstractCegarLoop]: Abstraction has 28 states and 32 transitions. [2018-11-23 12:12:13,585 INFO L481 AbstractCegarLoop]: Interpolant automaton has 2 states. [2018-11-23 12:12:13,586 INFO L276 IsEmpty]: Start isEmpty. Operand 28 states and 32 transitions. [2018-11-23 12:12:13,588 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 21 [2018-11-23 12:12:13,589 INFO L394 BasicCegarLoop]: Found error trace [2018-11-23 12:12:13,589 INFO L402 BasicCegarLoop]: trace histogram [1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1] [2018-11-23 12:12:13,589 INFO L423 AbstractCegarLoop]: === Iteration 2 === [__VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION]=== [2018-11-23 12:12:13,590 INFO L141 PredicateUnifier]: Initialized classic predicate unifier [2018-11-23 12:12:13,590 INFO L82 PathProgramCache]: Analyzing trace with hash 1453375688, now seen corresponding path program 1 times [2018-11-23 12:12:13,590 INFO L223 ckRefinementStrategy]: Switched to mode SMTINTERPOL_TREE_INTERPOLANTS [2018-11-23 12:12:13,590 INFO L69 tionRefinementEngine]: Using refinement strategy CamelRefinementStrategy [2018-11-23 12:12:13,597 INFO L119 rtionOrderModulation]: Craig_TreeInterpolation forces the order to NOT_INCREMENTALLY [2018-11-23 12:12:13,597 INFO L103 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2018-11-23 12:12:13,597 INFO L119 rtionOrderModulation]: Craig_TreeInterpolation forces the order to NOT_INCREMENTALLY [2018-11-23 12:12:13,632 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2018-11-23 12:12:13,730 INFO L256 TraceCheckUtils]: 0: Hoare triple {206#true} call ULTIMATE.init(); {206#true} is VALID [2018-11-23 12:12:13,731 INFO L273 TraceCheckUtils]: 1: Hoare triple {206#true} #NULL.base, #NULL.offset := 0, 0;#valid := #valid[0 := 0]; {206#true} is VALID [2018-11-23 12:12:13,731 INFO L273 TraceCheckUtils]: 2: Hoare triple {206#true} assume true; {206#true} is VALID [2018-11-23 12:12:13,732 INFO L268 TraceCheckUtils]: 3: Hoare quadruple {206#true} {206#true} #76#return; {206#true} is VALID [2018-11-23 12:12:13,732 INFO L256 TraceCheckUtils]: 4: Hoare triple {206#true} call #t~ret6 := main(); {206#true} is VALID [2018-11-23 12:12:13,733 INFO L273 TraceCheckUtils]: 5: Hoare triple {206#true} call ~#a~0.base, ~#a~0.offset := #Ultimate.alloc(400000);havoc ~i~1;havoc ~flag~0;~flag~0 := 0; {206#true} is VALID [2018-11-23 12:12:13,734 INFO L256 TraceCheckUtils]: 6: Hoare triple {206#true} call init(~#a~0.base, ~#a~0.offset, 100000); {206#true} is VALID [2018-11-23 12:12:13,734 INFO L273 TraceCheckUtils]: 7: Hoare triple {206#true} ~a.base, ~a.offset := #in~a.base, #in~a.offset;~size := #in~size;havoc ~i~0;~i~0 := 0; {206#true} is VALID [2018-11-23 12:12:13,734 INFO L273 TraceCheckUtils]: 8: Hoare triple {206#true} assume !(~i~0 < ~size); {206#true} is VALID [2018-11-23 12:12:13,735 INFO L273 TraceCheckUtils]: 9: Hoare triple {206#true} assume true; {206#true} is VALID [2018-11-23 12:12:13,735 INFO L268 TraceCheckUtils]: 10: Hoare quadruple {206#true} {206#true} #80#return; {206#true} is VALID [2018-11-23 12:12:13,743 INFO L273 TraceCheckUtils]: 11: Hoare triple {206#true} ~i~1 := 0; {208#(= main_~i~1 0)} is VALID [2018-11-23 12:12:13,744 INFO L273 TraceCheckUtils]: 12: Hoare triple {208#(= main_~i~1 0)} assume !(~i~1 < 100000); {207#false} is VALID [2018-11-23 12:12:13,744 INFO L273 TraceCheckUtils]: 13: Hoare triple {207#false} ~i~1 := 0; {207#false} is VALID [2018-11-23 12:12:13,744 INFO L273 TraceCheckUtils]: 14: Hoare triple {207#false} assume !!(~i~1 < 100000); {207#false} is VALID [2018-11-23 12:12:13,745 INFO L273 TraceCheckUtils]: 15: Hoare triple {207#false} assume 0 == ~flag~0;call #t~mem5.base, #t~mem5.offset := read~$Pointer$(~#a~0.base, ~#a~0.offset + 4 * ~i~1, 4); {207#false} is VALID [2018-11-23 12:12:13,745 INFO L256 TraceCheckUtils]: 16: Hoare triple {207#false} call __VERIFIER_assert((if #t~mem5.base == 0 && #t~mem5.offset == 0 then 1 else 0)); {207#false} is VALID [2018-11-23 12:12:13,745 INFO L273 TraceCheckUtils]: 17: Hoare triple {207#false} ~cond := #in~cond; {207#false} is VALID [2018-11-23 12:12:13,746 INFO L273 TraceCheckUtils]: 18: Hoare triple {207#false} assume 0 == ~cond; {207#false} is VALID [2018-11-23 12:12:13,746 INFO L273 TraceCheckUtils]: 19: Hoare triple {207#false} assume !false; {207#false} is VALID [2018-11-23 12:12:13,748 INFO L134 CoverageAnalysis]: Checked inductivity of 0 backedges. 0 proven. 0 refuted. 0 times theorem prover too weak. 0 trivial. 0 not checked. [2018-11-23 12:12:13,749 INFO L312 seRefinementStrategy]: Constructing automaton from 1 perfect and 0 imperfect interpolant sequences. [2018-11-23 12:12:13,749 INFO L327 seRefinementStrategy]: Number of different interpolants: perfect sequences [3] imperfect sequences [] total 3 [2018-11-23 12:12:13,750 INFO L78 Accepts]: Start accepts. Automaton has 3 states. Word has length 20 [2018-11-23 12:12:13,751 INFO L84 Accepts]: Finished accepts. word is accepted. [2018-11-23 12:12:13,751 INFO L86 InductivityCheck]: Starting indutivity check of a Floyd-Hoare automaton with 3 states. [2018-11-23 12:12:13,789 INFO L119 InductivityCheck]: Floyd-Hoare automaton has 20 edges. 20 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2018-11-23 12:12:13,789 INFO L459 AbstractCegarLoop]: Interpolant automaton has 3 states [2018-11-23 12:12:13,789 INFO L142 InterpolantAutomaton]: Constructing interpolant automaton starting with 3 interpolants. [2018-11-23 12:12:13,790 INFO L144 InterpolantAutomaton]: CoverageRelationStatistics Valid=3, Invalid=3, Unknown=0, NotChecked=0, Total=6 [2018-11-23 12:12:13,790 INFO L87 Difference]: Start difference. First operand 28 states and 32 transitions. Second operand 3 states. [2018-11-23 12:12:14,256 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2018-11-23 12:12:14,256 INFO L93 Difference]: Finished difference Result 48 states and 57 transitions. [2018-11-23 12:12:14,257 INFO L142 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 3 states. [2018-11-23 12:12:14,257 INFO L78 Accepts]: Start accepts. Automaton has 3 states. Word has length 20 [2018-11-23 12:12:14,257 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2018-11-23 12:12:14,257 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 3 states. [2018-11-23 12:12:14,261 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 3 states to 3 states and 57 transitions. [2018-11-23 12:12:14,261 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 3 states. [2018-11-23 12:12:14,264 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 3 states to 3 states and 57 transitions. [2018-11-23 12:12:14,265 INFO L86 InductivityCheck]: Starting indutivity check of a Floyd-Hoare automaton with 3 states and 57 transitions. [2018-11-23 12:12:14,397 INFO L119 InductivityCheck]: Floyd-Hoare automaton has 57 edges. 57 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2018-11-23 12:12:14,400 INFO L225 Difference]: With dead ends: 48 [2018-11-23 12:12:14,401 INFO L226 Difference]: Without dead ends: 36 [2018-11-23 12:12:14,402 INFO L631 BasicCegarLoop]: 0 DeclaredPredicates, 3 GetRequests, 2 SyntacticMatches, 0 SemanticMatches, 1 ConstructedPredicates, 0 IntricatePredicates, 0 DeprecatedPredicates, 0 ImplicationChecksByTransitivity, 0.0s TimeCoverageRelationStatistics Valid=3, Invalid=3, Unknown=0, NotChecked=0, Total=6 [2018-11-23 12:12:14,402 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 36 states. [2018-11-23 12:12:14,504 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 36 to 29. [2018-11-23 12:12:14,505 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2018-11-23 12:12:14,505 INFO L82 GeneralOperation]: Start isEquivalent. First operand 36 states. Second operand 29 states. [2018-11-23 12:12:14,505 INFO L74 IsIncluded]: Start isIncluded. First operand 36 states. Second operand 29 states. [2018-11-23 12:12:14,505 INFO L87 Difference]: Start difference. First operand 36 states. Second operand 29 states. [2018-11-23 12:12:14,510 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2018-11-23 12:12:14,510 INFO L93 Difference]: Finished difference Result 36 states and 43 transitions. [2018-11-23 12:12:14,510 INFO L276 IsEmpty]: Start isEmpty. Operand 36 states and 43 transitions. [2018-11-23 12:12:14,511 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2018-11-23 12:12:14,511 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2018-11-23 12:12:14,511 INFO L74 IsIncluded]: Start isIncluded. First operand 29 states. Second operand 36 states. [2018-11-23 12:12:14,512 INFO L87 Difference]: Start difference. First operand 29 states. Second operand 36 states. [2018-11-23 12:12:14,515 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2018-11-23 12:12:14,515 INFO L93 Difference]: Finished difference Result 36 states and 43 transitions. [2018-11-23 12:12:14,515 INFO L276 IsEmpty]: Start isEmpty. Operand 36 states and 43 transitions. [2018-11-23 12:12:14,516 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2018-11-23 12:12:14,516 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2018-11-23 12:12:14,516 INFO L88 GeneralOperation]: Finished isEquivalent. [2018-11-23 12:12:14,517 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2018-11-23 12:12:14,517 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 29 states. [2018-11-23 12:12:14,519 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 29 states to 29 states and 33 transitions. [2018-11-23 12:12:14,520 INFO L78 Accepts]: Start accepts. Automaton has 29 states and 33 transitions. Word has length 20 [2018-11-23 12:12:14,520 INFO L84 Accepts]: Finished accepts. word is rejected. [2018-11-23 12:12:14,520 INFO L480 AbstractCegarLoop]: Abstraction has 29 states and 33 transitions. [2018-11-23 12:12:14,520 INFO L481 AbstractCegarLoop]: Interpolant automaton has 3 states. [2018-11-23 12:12:14,520 INFO L276 IsEmpty]: Start isEmpty. Operand 29 states and 33 transitions. [2018-11-23 12:12:14,521 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 24 [2018-11-23 12:12:14,521 INFO L394 BasicCegarLoop]: Found error trace [2018-11-23 12:12:14,521 INFO L402 BasicCegarLoop]: trace histogram [1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1] [2018-11-23 12:12:14,522 INFO L423 AbstractCegarLoop]: === Iteration 3 === [__VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION]=== [2018-11-23 12:12:14,522 INFO L141 PredicateUnifier]: Initialized classic predicate unifier [2018-11-23 12:12:14,522 INFO L82 PathProgramCache]: Analyzing trace with hash 1976547036, now seen corresponding path program 1 times [2018-11-23 12:12:14,522 INFO L223 ckRefinementStrategy]: Switched to mode SMTINTERPOL_TREE_INTERPOLANTS [2018-11-23 12:12:14,522 INFO L69 tionRefinementEngine]: Using refinement strategy CamelRefinementStrategy [2018-11-23 12:12:14,523 INFO L119 rtionOrderModulation]: Craig_TreeInterpolation forces the order to NOT_INCREMENTALLY [2018-11-23 12:12:14,524 INFO L103 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2018-11-23 12:12:14,524 INFO L119 rtionOrderModulation]: Craig_TreeInterpolation forces the order to NOT_INCREMENTALLY [2018-11-23 12:12:14,544 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2018-11-23 12:12:14,612 INFO L256 TraceCheckUtils]: 0: Hoare triple {389#true} call ULTIMATE.init(); {389#true} is VALID [2018-11-23 12:12:14,613 INFO L273 TraceCheckUtils]: 1: Hoare triple {389#true} #NULL.base, #NULL.offset := 0, 0;#valid := #valid[0 := 0]; {389#true} is VALID [2018-11-23 12:12:14,613 INFO L273 TraceCheckUtils]: 2: Hoare triple {389#true} assume true; {389#true} is VALID [2018-11-23 12:12:14,613 INFO L268 TraceCheckUtils]: 3: Hoare quadruple {389#true} {389#true} #76#return; {389#true} is VALID [2018-11-23 12:12:14,614 INFO L256 TraceCheckUtils]: 4: Hoare triple {389#true} call #t~ret6 := main(); {389#true} is VALID [2018-11-23 12:12:14,614 INFO L273 TraceCheckUtils]: 5: Hoare triple {389#true} call ~#a~0.base, ~#a~0.offset := #Ultimate.alloc(400000);havoc ~i~1;havoc ~flag~0;~flag~0 := 0; {389#true} is VALID [2018-11-23 12:12:14,614 INFO L256 TraceCheckUtils]: 6: Hoare triple {389#true} call init(~#a~0.base, ~#a~0.offset, 100000); {389#true} is VALID [2018-11-23 12:12:14,615 INFO L273 TraceCheckUtils]: 7: Hoare triple {389#true} ~a.base, ~a.offset := #in~a.base, #in~a.offset;~size := #in~size;havoc ~i~0;~i~0 := 0; {389#true} is VALID [2018-11-23 12:12:14,615 INFO L273 TraceCheckUtils]: 8: Hoare triple {389#true} assume !(~i~0 < ~size); {389#true} is VALID [2018-11-23 12:12:14,615 INFO L273 TraceCheckUtils]: 9: Hoare triple {389#true} assume true; {389#true} is VALID [2018-11-23 12:12:14,615 INFO L268 TraceCheckUtils]: 10: Hoare quadruple {389#true} {389#true} #80#return; {389#true} is VALID [2018-11-23 12:12:14,616 INFO L273 TraceCheckUtils]: 11: Hoare triple {389#true} ~i~1 := 0; {389#true} is VALID [2018-11-23 12:12:14,616 INFO L273 TraceCheckUtils]: 12: Hoare triple {389#true} assume !!(~i~1 < 100000);call #t~mem3.base, #t~mem3.offset := read~$Pointer$(~#a~0.base, ~#a~0.offset + 4 * ~i~1, 4); {389#true} is VALID [2018-11-23 12:12:14,620 INFO L273 TraceCheckUtils]: 13: Hoare triple {389#true} assume #t~mem3.base != 0 || #t~mem3.offset != 0;havoc #t~mem3.base, #t~mem3.offset;~flag~0 := 1; {391#(= main_~flag~0 1)} is VALID [2018-11-23 12:12:14,621 INFO L273 TraceCheckUtils]: 14: Hoare triple {391#(= main_~flag~0 1)} #t~post2 := ~i~1;~i~1 := 1 + #t~post2;havoc #t~post2; {391#(= main_~flag~0 1)} is VALID [2018-11-23 12:12:14,622 INFO L273 TraceCheckUtils]: 15: Hoare triple {391#(= main_~flag~0 1)} assume !(~i~1 < 100000); {391#(= main_~flag~0 1)} is VALID [2018-11-23 12:12:14,625 INFO L273 TraceCheckUtils]: 16: Hoare triple {391#(= main_~flag~0 1)} ~i~1 := 0; {391#(= main_~flag~0 1)} is VALID [2018-11-23 12:12:14,625 INFO L273 TraceCheckUtils]: 17: Hoare triple {391#(= main_~flag~0 1)} assume !!(~i~1 < 100000); {391#(= main_~flag~0 1)} is VALID [2018-11-23 12:12:14,627 INFO L273 TraceCheckUtils]: 18: Hoare triple {391#(= main_~flag~0 1)} assume 0 == ~flag~0;call #t~mem5.base, #t~mem5.offset := read~$Pointer$(~#a~0.base, ~#a~0.offset + 4 * ~i~1, 4); {390#false} is VALID [2018-11-23 12:12:14,627 INFO L256 TraceCheckUtils]: 19: Hoare triple {390#false} call __VERIFIER_assert((if #t~mem5.base == 0 && #t~mem5.offset == 0 then 1 else 0)); {390#false} is VALID [2018-11-23 12:12:14,627 INFO L273 TraceCheckUtils]: 20: Hoare triple {390#false} ~cond := #in~cond; {390#false} is VALID [2018-11-23 12:12:14,627 INFO L273 TraceCheckUtils]: 21: Hoare triple {390#false} assume 0 == ~cond; {390#false} is VALID [2018-11-23 12:12:14,628 INFO L273 TraceCheckUtils]: 22: Hoare triple {390#false} assume !false; {390#false} is VALID [2018-11-23 12:12:14,630 INFO L134 CoverageAnalysis]: Checked inductivity of 1 backedges. 1 proven. 0 refuted. 0 times theorem prover too weak. 0 trivial. 0 not checked. [2018-11-23 12:12:14,630 INFO L312 seRefinementStrategy]: Constructing automaton from 1 perfect and 0 imperfect interpolant sequences. [2018-11-23 12:12:14,631 INFO L327 seRefinementStrategy]: Number of different interpolants: perfect sequences [3] imperfect sequences [] total 3 [2018-11-23 12:12:14,631 INFO L78 Accepts]: Start accepts. Automaton has 3 states. Word has length 23 [2018-11-23 12:12:14,632 INFO L84 Accepts]: Finished accepts. word is accepted. [2018-11-23 12:12:14,632 INFO L86 InductivityCheck]: Starting indutivity check of a Floyd-Hoare automaton with 3 states. [2018-11-23 12:12:14,751 INFO L119 InductivityCheck]: Floyd-Hoare automaton has 23 edges. 23 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2018-11-23 12:12:14,751 INFO L459 AbstractCegarLoop]: Interpolant automaton has 3 states [2018-11-23 12:12:14,752 INFO L142 InterpolantAutomaton]: Constructing interpolant automaton starting with 3 interpolants. [2018-11-23 12:12:14,752 INFO L144 InterpolantAutomaton]: CoverageRelationStatistics Valid=3, Invalid=3, Unknown=0, NotChecked=0, Total=6 [2018-11-23 12:12:14,752 INFO L87 Difference]: Start difference. First operand 29 states and 33 transitions. Second operand 3 states. [2018-11-23 12:12:14,871 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2018-11-23 12:12:14,872 INFO L93 Difference]: Finished difference Result 47 states and 55 transitions. [2018-11-23 12:12:14,872 INFO L142 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 3 states. [2018-11-23 12:12:14,872 INFO L78 Accepts]: Start accepts. Automaton has 3 states. Word has length 23 [2018-11-23 12:12:14,873 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2018-11-23 12:12:14,873 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 3 states. [2018-11-23 12:12:14,876 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 3 states to 3 states and 54 transitions. [2018-11-23 12:12:14,876 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 3 states. [2018-11-23 12:12:14,879 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 3 states to 3 states and 54 transitions. [2018-11-23 12:12:14,879 INFO L86 InductivityCheck]: Starting indutivity check of a Floyd-Hoare automaton with 3 states and 54 transitions. [2018-11-23 12:12:15,001 INFO L119 InductivityCheck]: Floyd-Hoare automaton has 54 edges. 54 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2018-11-23 12:12:15,003 INFO L225 Difference]: With dead ends: 47 [2018-11-23 12:12:15,004 INFO L226 Difference]: Without dead ends: 29 [2018-11-23 12:12:15,004 INFO L631 BasicCegarLoop]: 0 DeclaredPredicates, 3 GetRequests, 2 SyntacticMatches, 0 SemanticMatches, 1 ConstructedPredicates, 0 IntricatePredicates, 0 DeprecatedPredicates, 0 ImplicationChecksByTransitivity, 0.0s TimeCoverageRelationStatistics Valid=3, Invalid=3, Unknown=0, NotChecked=0, Total=6 [2018-11-23 12:12:15,005 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 29 states. [2018-11-23 12:12:15,024 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 29 to 29. [2018-11-23 12:12:15,025 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2018-11-23 12:12:15,025 INFO L82 GeneralOperation]: Start isEquivalent. First operand 29 states. Second operand 29 states. [2018-11-23 12:12:15,026 INFO L74 IsIncluded]: Start isIncluded. First operand 29 states. Second operand 29 states. [2018-11-23 12:12:15,026 INFO L87 Difference]: Start difference. First operand 29 states. Second operand 29 states. [2018-11-23 12:12:15,029 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2018-11-23 12:12:15,029 INFO L93 Difference]: Finished difference Result 29 states and 32 transitions. [2018-11-23 12:12:15,029 INFO L276 IsEmpty]: Start isEmpty. Operand 29 states and 32 transitions. [2018-11-23 12:12:15,030 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2018-11-23 12:12:15,030 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2018-11-23 12:12:15,030 INFO L74 IsIncluded]: Start isIncluded. First operand 29 states. Second operand 29 states. [2018-11-23 12:12:15,030 INFO L87 Difference]: Start difference. First operand 29 states. Second operand 29 states. [2018-11-23 12:12:15,034 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2018-11-23 12:12:15,040 INFO L93 Difference]: Finished difference Result 29 states and 32 transitions. [2018-11-23 12:12:15,040 INFO L276 IsEmpty]: Start isEmpty. Operand 29 states and 32 transitions. [2018-11-23 12:12:15,041 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2018-11-23 12:12:15,041 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2018-11-23 12:12:15,041 INFO L88 GeneralOperation]: Finished isEquivalent. [2018-11-23 12:12:15,041 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2018-11-23 12:12:15,041 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 29 states. [2018-11-23 12:12:15,045 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 29 states to 29 states and 32 transitions. [2018-11-23 12:12:15,045 INFO L78 Accepts]: Start accepts. Automaton has 29 states and 32 transitions. Word has length 23 [2018-11-23 12:12:15,045 INFO L84 Accepts]: Finished accepts. word is rejected. [2018-11-23 12:12:15,046 INFO L480 AbstractCegarLoop]: Abstraction has 29 states and 32 transitions. [2018-11-23 12:12:15,046 INFO L481 AbstractCegarLoop]: Interpolant automaton has 3 states. [2018-11-23 12:12:15,046 INFO L276 IsEmpty]: Start isEmpty. Operand 29 states and 32 transitions. [2018-11-23 12:12:15,047 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 24 [2018-11-23 12:12:15,047 INFO L394 BasicCegarLoop]: Found error trace [2018-11-23 12:12:15,047 INFO L402 BasicCegarLoop]: trace histogram [1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1] [2018-11-23 12:12:15,048 INFO L423 AbstractCegarLoop]: === Iteration 4 === [__VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION]=== [2018-11-23 12:12:15,048 INFO L141 PredicateUnifier]: Initialized classic predicate unifier [2018-11-23 12:12:15,049 INFO L82 PathProgramCache]: Analyzing trace with hash 1583520026, now seen corresponding path program 1 times [2018-11-23 12:12:15,049 INFO L223 ckRefinementStrategy]: Switched to mode SMTINTERPOL_TREE_INTERPOLANTS [2018-11-23 12:12:15,049 INFO L69 tionRefinementEngine]: Using refinement strategy CamelRefinementStrategy [2018-11-23 12:12:15,050 INFO L119 rtionOrderModulation]: Craig_TreeInterpolation forces the order to NOT_INCREMENTALLY [2018-11-23 12:12:15,050 INFO L103 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2018-11-23 12:12:15,050 INFO L119 rtionOrderModulation]: Craig_TreeInterpolation forces the order to NOT_INCREMENTALLY [2018-11-23 12:12:15,080 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2018-11-23 12:12:15,200 INFO L256 TraceCheckUtils]: 0: Hoare triple {557#true} call ULTIMATE.init(); {557#true} is VALID [2018-11-23 12:12:15,201 INFO L273 TraceCheckUtils]: 1: Hoare triple {557#true} #NULL.base, #NULL.offset := 0, 0;#valid := #valid[0 := 0]; {557#true} is VALID [2018-11-23 12:12:15,201 INFO L273 TraceCheckUtils]: 2: Hoare triple {557#true} assume true; {557#true} is VALID [2018-11-23 12:12:15,202 INFO L268 TraceCheckUtils]: 3: Hoare quadruple {557#true} {557#true} #76#return; {557#true} is VALID [2018-11-23 12:12:15,202 INFO L256 TraceCheckUtils]: 4: Hoare triple {557#true} call #t~ret6 := main(); {557#true} is VALID [2018-11-23 12:12:15,202 INFO L273 TraceCheckUtils]: 5: Hoare triple {557#true} call ~#a~0.base, ~#a~0.offset := #Ultimate.alloc(400000);havoc ~i~1;havoc ~flag~0;~flag~0 := 0; {557#true} is VALID [2018-11-23 12:12:15,202 INFO L256 TraceCheckUtils]: 6: Hoare triple {557#true} call init(~#a~0.base, ~#a~0.offset, 100000); {557#true} is VALID [2018-11-23 12:12:15,203 INFO L273 TraceCheckUtils]: 7: Hoare triple {557#true} ~a.base, ~a.offset := #in~a.base, #in~a.offset;~size := #in~size;havoc ~i~0;~i~0 := 0; {557#true} is VALID [2018-11-23 12:12:15,203 INFO L273 TraceCheckUtils]: 8: Hoare triple {557#true} assume !(~i~0 < ~size); {557#true} is VALID [2018-11-23 12:12:15,203 INFO L273 TraceCheckUtils]: 9: Hoare triple {557#true} assume true; {557#true} is VALID [2018-11-23 12:12:15,203 INFO L268 TraceCheckUtils]: 10: Hoare quadruple {557#true} {557#true} #80#return; {557#true} is VALID [2018-11-23 12:12:15,204 INFO L273 TraceCheckUtils]: 11: Hoare triple {557#true} ~i~1 := 0; {559#(= main_~i~1 0)} is VALID [2018-11-23 12:12:15,209 INFO L273 TraceCheckUtils]: 12: Hoare triple {559#(= main_~i~1 0)} assume !!(~i~1 < 100000);call #t~mem3.base, #t~mem3.offset := read~$Pointer$(~#a~0.base, ~#a~0.offset + 4 * ~i~1, 4); {559#(= main_~i~1 0)} is VALID [2018-11-23 12:12:15,209 INFO L273 TraceCheckUtils]: 13: Hoare triple {559#(= main_~i~1 0)} assume !(#t~mem3.base != 0 || #t~mem3.offset != 0);havoc #t~mem3.base, #t~mem3.offset; {559#(= main_~i~1 0)} is VALID [2018-11-23 12:12:15,211 INFO L273 TraceCheckUtils]: 14: Hoare triple {559#(= main_~i~1 0)} #t~post2 := ~i~1;~i~1 := 1 + #t~post2;havoc #t~post2; {560#(<= main_~i~1 1)} is VALID [2018-11-23 12:12:15,213 INFO L273 TraceCheckUtils]: 15: Hoare triple {560#(<= main_~i~1 1)} assume !(~i~1 < 100000); {558#false} is VALID [2018-11-23 12:12:15,213 INFO L273 TraceCheckUtils]: 16: Hoare triple {558#false} ~i~1 := 0; {558#false} is VALID [2018-11-23 12:12:15,213 INFO L273 TraceCheckUtils]: 17: Hoare triple {558#false} assume !!(~i~1 < 100000); {558#false} is VALID [2018-11-23 12:12:15,213 INFO L273 TraceCheckUtils]: 18: Hoare triple {558#false} assume 0 == ~flag~0;call #t~mem5.base, #t~mem5.offset := read~$Pointer$(~#a~0.base, ~#a~0.offset + 4 * ~i~1, 4); {558#false} is VALID [2018-11-23 12:12:15,214 INFO L256 TraceCheckUtils]: 19: Hoare triple {558#false} call __VERIFIER_assert((if #t~mem5.base == 0 && #t~mem5.offset == 0 then 1 else 0)); {558#false} is VALID [2018-11-23 12:12:15,214 INFO L273 TraceCheckUtils]: 20: Hoare triple {558#false} ~cond := #in~cond; {558#false} is VALID [2018-11-23 12:12:15,214 INFO L273 TraceCheckUtils]: 21: Hoare triple {558#false} assume 0 == ~cond; {558#false} is VALID [2018-11-23 12:12:15,214 INFO L273 TraceCheckUtils]: 22: Hoare triple {558#false} assume !false; {558#false} is VALID [2018-11-23 12:12:15,216 INFO L134 CoverageAnalysis]: Checked inductivity of 1 backedges. 0 proven. 1 refuted. 0 times theorem prover too weak. 0 trivial. 0 not checked. [2018-11-23 12:12:15,216 INFO L300 seRefinementStrategy]: The current sequences of interpolants are not accepted, trying to find more. [2018-11-23 12:12:15,217 INFO L223 ckRefinementStrategy]: Switched to mode Z3_FP No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 Starting monitored process 2 with z3 -smt2 -in SMTLIB2_COMPLIANT=true -t:12000 (exit command is (exit), workingDir is null) Waiting until toolchain timeout for monitored process 2 with z3 -smt2 -in SMTLIB2_COMPLIANT=true -t:12000 [2018-11-23 12:12:15,229 INFO L103 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2018-11-23 12:12:15,259 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2018-11-23 12:12:15,289 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2018-11-23 12:12:15,295 INFO L273 TraceCheckSpWp]: Computing forward predicates... [2018-11-23 12:12:15,570 INFO L256 TraceCheckUtils]: 0: Hoare triple {557#true} call ULTIMATE.init(); {557#true} is VALID [2018-11-23 12:12:15,570 INFO L273 TraceCheckUtils]: 1: Hoare triple {557#true} #NULL.base, #NULL.offset := 0, 0;#valid := #valid[0 := 0]; {557#true} is VALID [2018-11-23 12:12:15,570 INFO L273 TraceCheckUtils]: 2: Hoare triple {557#true} assume true; {557#true} is VALID [2018-11-23 12:12:15,571 INFO L268 TraceCheckUtils]: 3: Hoare quadruple {557#true} {557#true} #76#return; {557#true} is VALID [2018-11-23 12:12:15,571 INFO L256 TraceCheckUtils]: 4: Hoare triple {557#true} call #t~ret6 := main(); {557#true} is VALID [2018-11-23 12:12:15,571 INFO L273 TraceCheckUtils]: 5: Hoare triple {557#true} call ~#a~0.base, ~#a~0.offset := #Ultimate.alloc(400000);havoc ~i~1;havoc ~flag~0;~flag~0 := 0; {557#true} is VALID [2018-11-23 12:12:15,572 INFO L256 TraceCheckUtils]: 6: Hoare triple {557#true} call init(~#a~0.base, ~#a~0.offset, 100000); {557#true} is VALID [2018-11-23 12:12:15,589 INFO L273 TraceCheckUtils]: 7: Hoare triple {557#true} ~a.base, ~a.offset := #in~a.base, #in~a.offset;~size := #in~size;havoc ~i~0;~i~0 := 0; {585#(and (<= |init_#in~size| init_~size) (<= init_~i~0 0))} is VALID [2018-11-23 12:12:15,598 INFO L273 TraceCheckUtils]: 8: Hoare triple {585#(and (<= |init_#in~size| init_~size) (<= init_~i~0 0))} assume !(~i~0 < ~size); {589#(<= |init_#in~size| 0)} is VALID [2018-11-23 12:12:15,611 INFO L273 TraceCheckUtils]: 9: Hoare triple {589#(<= |init_#in~size| 0)} assume true; {589#(<= |init_#in~size| 0)} is VALID [2018-11-23 12:12:15,623 INFO L268 TraceCheckUtils]: 10: Hoare quadruple {589#(<= |init_#in~size| 0)} {557#true} #80#return; {558#false} is VALID [2018-11-23 12:12:15,623 INFO L273 TraceCheckUtils]: 11: Hoare triple {558#false} ~i~1 := 0; {558#false} is VALID [2018-11-23 12:12:15,624 INFO L273 TraceCheckUtils]: 12: Hoare triple {558#false} assume !!(~i~1 < 100000);call #t~mem3.base, #t~mem3.offset := read~$Pointer$(~#a~0.base, ~#a~0.offset + 4 * ~i~1, 4); {558#false} is VALID [2018-11-23 12:12:15,624 INFO L273 TraceCheckUtils]: 13: Hoare triple {558#false} assume !(#t~mem3.base != 0 || #t~mem3.offset != 0);havoc #t~mem3.base, #t~mem3.offset; {558#false} is VALID [2018-11-23 12:12:15,624 INFO L273 TraceCheckUtils]: 14: Hoare triple {558#false} #t~post2 := ~i~1;~i~1 := 1 + #t~post2;havoc #t~post2; {558#false} is VALID [2018-11-23 12:12:15,624 INFO L273 TraceCheckUtils]: 15: Hoare triple {558#false} assume !(~i~1 < 100000); {558#false} is VALID [2018-11-23 12:12:15,625 INFO L273 TraceCheckUtils]: 16: Hoare triple {558#false} ~i~1 := 0; {558#false} is VALID [2018-11-23 12:12:15,625 INFO L273 TraceCheckUtils]: 17: Hoare triple {558#false} assume !!(~i~1 < 100000); {558#false} is VALID [2018-11-23 12:12:15,625 INFO L273 TraceCheckUtils]: 18: Hoare triple {558#false} assume 0 == ~flag~0;call #t~mem5.base, #t~mem5.offset := read~$Pointer$(~#a~0.base, ~#a~0.offset + 4 * ~i~1, 4); {558#false} is VALID [2018-11-23 12:12:15,625 INFO L256 TraceCheckUtils]: 19: Hoare triple {558#false} call __VERIFIER_assert((if #t~mem5.base == 0 && #t~mem5.offset == 0 then 1 else 0)); {558#false} is VALID [2018-11-23 12:12:15,626 INFO L273 TraceCheckUtils]: 20: Hoare triple {558#false} ~cond := #in~cond; {558#false} is VALID [2018-11-23 12:12:15,626 INFO L273 TraceCheckUtils]: 21: Hoare triple {558#false} assume 0 == ~cond; {558#false} is VALID [2018-11-23 12:12:15,626 INFO L273 TraceCheckUtils]: 22: Hoare triple {558#false} assume !false; {558#false} is VALID [2018-11-23 12:12:15,628 INFO L134 CoverageAnalysis]: Checked inductivity of 1 backedges. 0 proven. 0 refuted. 0 times theorem prover too weak. 1 trivial. 0 not checked. [2018-11-23 12:12:15,648 INFO L312 seRefinementStrategy]: Constructing automaton from 1 perfect and 1 imperfect interpolant sequences. [2018-11-23 12:12:15,648 INFO L327 seRefinementStrategy]: Number of different interpolants: perfect sequences [4] imperfect sequences [4] total 6 [2018-11-23 12:12:15,649 INFO L78 Accepts]: Start accepts. Automaton has 6 states. Word has length 23 [2018-11-23 12:12:15,649 INFO L84 Accepts]: Finished accepts. word is accepted. [2018-11-23 12:12:15,650 INFO L86 InductivityCheck]: Starting indutivity check of a Floyd-Hoare automaton with 6 states. [2018-11-23 12:12:15,711 INFO L119 InductivityCheck]: Floyd-Hoare automaton has 32 edges. 32 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2018-11-23 12:12:15,711 INFO L459 AbstractCegarLoop]: Interpolant automaton has 6 states [2018-11-23 12:12:15,712 INFO L142 InterpolantAutomaton]: Constructing interpolant automaton starting with 6 interpolants. [2018-11-23 12:12:15,712 INFO L144 InterpolantAutomaton]: CoverageRelationStatistics Valid=10, Invalid=20, Unknown=0, NotChecked=0, Total=30 [2018-11-23 12:12:15,712 INFO L87 Difference]: Start difference. First operand 29 states and 32 transitions. Second operand 6 states. [2018-11-23 12:12:16,234 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2018-11-23 12:12:16,235 INFO L93 Difference]: Finished difference Result 65 states and 76 transitions. [2018-11-23 12:12:16,235 INFO L142 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 6 states. [2018-11-23 12:12:16,235 INFO L78 Accepts]: Start accepts. Automaton has 6 states. Word has length 23 [2018-11-23 12:12:16,235 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2018-11-23 12:12:16,235 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 6 states. [2018-11-23 12:12:16,239 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 6 states to 6 states and 75 transitions. [2018-11-23 12:12:16,239 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 6 states. [2018-11-23 12:12:16,245 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 6 states to 6 states and 75 transitions. [2018-11-23 12:12:16,245 INFO L86 InductivityCheck]: Starting indutivity check of a Floyd-Hoare automaton with 6 states and 75 transitions. [2018-11-23 12:12:16,503 INFO L119 InductivityCheck]: Floyd-Hoare automaton has 75 edges. 75 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2018-11-23 12:12:16,506 INFO L225 Difference]: With dead ends: 65 [2018-11-23 12:12:16,506 INFO L226 Difference]: Without dead ends: 46 [2018-11-23 12:12:16,507 INFO L631 BasicCegarLoop]: 0 DeclaredPredicates, 27 GetRequests, 22 SyntacticMatches, 0 SemanticMatches, 5 ConstructedPredicates, 0 IntricatePredicates, 0 DeprecatedPredicates, 2 ImplicationChecksByTransitivity, 0.1s TimeCoverageRelationStatistics Valid=14, Invalid=28, Unknown=0, NotChecked=0, Total=42 [2018-11-23 12:12:16,508 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 46 states. [2018-11-23 12:12:16,527 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 46 to 33. [2018-11-23 12:12:16,527 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2018-11-23 12:12:16,527 INFO L82 GeneralOperation]: Start isEquivalent. First operand 46 states. Second operand 33 states. [2018-11-23 12:12:16,527 INFO L74 IsIncluded]: Start isIncluded. First operand 46 states. Second operand 33 states. [2018-11-23 12:12:16,527 INFO L87 Difference]: Start difference. First operand 46 states. Second operand 33 states. [2018-11-23 12:12:16,530 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2018-11-23 12:12:16,530 INFO L93 Difference]: Finished difference Result 46 states and 53 transitions. [2018-11-23 12:12:16,530 INFO L276 IsEmpty]: Start isEmpty. Operand 46 states and 53 transitions. [2018-11-23 12:12:16,531 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2018-11-23 12:12:16,531 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2018-11-23 12:12:16,532 INFO L74 IsIncluded]: Start isIncluded. First operand 33 states. Second operand 46 states. [2018-11-23 12:12:16,532 INFO L87 Difference]: Start difference. First operand 33 states. Second operand 46 states. [2018-11-23 12:12:16,535 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2018-11-23 12:12:16,535 INFO L93 Difference]: Finished difference Result 46 states and 53 transitions. [2018-11-23 12:12:16,536 INFO L276 IsEmpty]: Start isEmpty. Operand 46 states and 53 transitions. [2018-11-23 12:12:16,536 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2018-11-23 12:12:16,536 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2018-11-23 12:12:16,537 INFO L88 GeneralOperation]: Finished isEquivalent. [2018-11-23 12:12:16,537 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2018-11-23 12:12:16,537 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 33 states. [2018-11-23 12:12:16,539 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 33 states to 33 states and 36 transitions. [2018-11-23 12:12:16,539 INFO L78 Accepts]: Start accepts. Automaton has 33 states and 36 transitions. Word has length 23 [2018-11-23 12:12:16,539 INFO L84 Accepts]: Finished accepts. word is rejected. [2018-11-23 12:12:16,539 INFO L480 AbstractCegarLoop]: Abstraction has 33 states and 36 transitions. [2018-11-23 12:12:16,539 INFO L481 AbstractCegarLoop]: Interpolant automaton has 6 states. [2018-11-23 12:12:16,540 INFO L276 IsEmpty]: Start isEmpty. Operand 33 states and 36 transitions. [2018-11-23 12:12:16,540 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 29 [2018-11-23 12:12:16,540 INFO L394 BasicCegarLoop]: Found error trace [2018-11-23 12:12:16,541 INFO L402 BasicCegarLoop]: trace histogram [2, 2, 2, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1] [2018-11-23 12:12:16,541 INFO L423 AbstractCegarLoop]: === Iteration 5 === [__VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION]=== [2018-11-23 12:12:16,541 INFO L141 PredicateUnifier]: Initialized classic predicate unifier [2018-11-23 12:12:16,542 INFO L82 PathProgramCache]: Analyzing trace with hash -1373480502, now seen corresponding path program 1 times [2018-11-23 12:12:16,542 INFO L223 ckRefinementStrategy]: Switched to mode SMTINTERPOL_TREE_INTERPOLANTS [2018-11-23 12:12:16,542 INFO L69 tionRefinementEngine]: Using refinement strategy CamelRefinementStrategy [2018-11-23 12:12:16,543 INFO L119 rtionOrderModulation]: Craig_TreeInterpolation forces the order to NOT_INCREMENTALLY [2018-11-23 12:12:16,543 INFO L103 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2018-11-23 12:12:16,543 INFO L119 rtionOrderModulation]: Craig_TreeInterpolation forces the order to NOT_INCREMENTALLY [2018-11-23 12:12:16,562 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2018-11-23 12:12:16,668 INFO L256 TraceCheckUtils]: 0: Hoare triple {860#true} call ULTIMATE.init(); {860#true} is VALID [2018-11-23 12:12:16,668 INFO L273 TraceCheckUtils]: 1: Hoare triple {860#true} #NULL.base, #NULL.offset := 0, 0;#valid := #valid[0 := 0]; {860#true} is VALID [2018-11-23 12:12:16,668 INFO L273 TraceCheckUtils]: 2: Hoare triple {860#true} assume true; {860#true} is VALID [2018-11-23 12:12:16,669 INFO L268 TraceCheckUtils]: 3: Hoare quadruple {860#true} {860#true} #76#return; {860#true} is VALID [2018-11-23 12:12:16,669 INFO L256 TraceCheckUtils]: 4: Hoare triple {860#true} call #t~ret6 := main(); {860#true} is VALID [2018-11-23 12:12:16,669 INFO L273 TraceCheckUtils]: 5: Hoare triple {860#true} call ~#a~0.base, ~#a~0.offset := #Ultimate.alloc(400000);havoc ~i~1;havoc ~flag~0;~flag~0 := 0; {860#true} is VALID [2018-11-23 12:12:16,670 INFO L256 TraceCheckUtils]: 6: Hoare triple {860#true} call init(~#a~0.base, ~#a~0.offset, 100000); {860#true} is VALID [2018-11-23 12:12:16,670 INFO L273 TraceCheckUtils]: 7: Hoare triple {860#true} ~a.base, ~a.offset := #in~a.base, #in~a.offset;~size := #in~size;havoc ~i~0;~i~0 := 0; {860#true} is VALID [2018-11-23 12:12:16,670 INFO L273 TraceCheckUtils]: 8: Hoare triple {860#true} assume !!(~i~0 < ~size);call #t~malloc1.base, #t~malloc1.offset := #Ultimate.alloc(4);call write~$Pointer$(#t~malloc1.base, #t~malloc1.offset, ~a.base, ~a.offset + 4 * ~i~0, 4); {860#true} is VALID [2018-11-23 12:12:16,670 INFO L273 TraceCheckUtils]: 9: Hoare triple {860#true} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {860#true} is VALID [2018-11-23 12:12:16,671 INFO L273 TraceCheckUtils]: 10: Hoare triple {860#true} assume !(~i~0 < ~size); {860#true} is VALID [2018-11-23 12:12:16,671 INFO L273 TraceCheckUtils]: 11: Hoare triple {860#true} assume true; {860#true} is VALID [2018-11-23 12:12:16,671 INFO L268 TraceCheckUtils]: 12: Hoare quadruple {860#true} {860#true} #80#return; {860#true} is VALID [2018-11-23 12:12:16,683 INFO L273 TraceCheckUtils]: 13: Hoare triple {860#true} ~i~1 := 0; {862#(= main_~i~1 0)} is VALID [2018-11-23 12:12:16,688 INFO L273 TraceCheckUtils]: 14: Hoare triple {862#(= main_~i~1 0)} assume !!(~i~1 < 100000);call #t~mem3.base, #t~mem3.offset := read~$Pointer$(~#a~0.base, ~#a~0.offset + 4 * ~i~1, 4); {862#(= main_~i~1 0)} is VALID [2018-11-23 12:12:16,690 INFO L273 TraceCheckUtils]: 15: Hoare triple {862#(= main_~i~1 0)} assume !(#t~mem3.base != 0 || #t~mem3.offset != 0);havoc #t~mem3.base, #t~mem3.offset; {862#(= main_~i~1 0)} is VALID [2018-11-23 12:12:16,690 INFO L273 TraceCheckUtils]: 16: Hoare triple {862#(= main_~i~1 0)} #t~post2 := ~i~1;~i~1 := 1 + #t~post2;havoc #t~post2; {863#(<= main_~i~1 1)} is VALID [2018-11-23 12:12:16,692 INFO L273 TraceCheckUtils]: 17: Hoare triple {863#(<= main_~i~1 1)} assume !!(~i~1 < 100000);call #t~mem3.base, #t~mem3.offset := read~$Pointer$(~#a~0.base, ~#a~0.offset + 4 * ~i~1, 4); {863#(<= main_~i~1 1)} is VALID [2018-11-23 12:12:16,694 INFO L273 TraceCheckUtils]: 18: Hoare triple {863#(<= main_~i~1 1)} assume !(#t~mem3.base != 0 || #t~mem3.offset != 0);havoc #t~mem3.base, #t~mem3.offset; {863#(<= main_~i~1 1)} is VALID [2018-11-23 12:12:16,698 INFO L273 TraceCheckUtils]: 19: Hoare triple {863#(<= main_~i~1 1)} #t~post2 := ~i~1;~i~1 := 1 + #t~post2;havoc #t~post2; {864#(<= main_~i~1 2)} is VALID [2018-11-23 12:12:16,698 INFO L273 TraceCheckUtils]: 20: Hoare triple {864#(<= main_~i~1 2)} assume !(~i~1 < 100000); {861#false} is VALID [2018-11-23 12:12:16,699 INFO L273 TraceCheckUtils]: 21: Hoare triple {861#false} ~i~1 := 0; {861#false} is VALID [2018-11-23 12:12:16,699 INFO L273 TraceCheckUtils]: 22: Hoare triple {861#false} assume !!(~i~1 < 100000); {861#false} is VALID [2018-11-23 12:12:16,699 INFO L273 TraceCheckUtils]: 23: Hoare triple {861#false} assume 0 == ~flag~0;call #t~mem5.base, #t~mem5.offset := read~$Pointer$(~#a~0.base, ~#a~0.offset + 4 * ~i~1, 4); {861#false} is VALID [2018-11-23 12:12:16,699 INFO L256 TraceCheckUtils]: 24: Hoare triple {861#false} call __VERIFIER_assert((if #t~mem5.base == 0 && #t~mem5.offset == 0 then 1 else 0)); {861#false} is VALID [2018-11-23 12:12:16,700 INFO L273 TraceCheckUtils]: 25: Hoare triple {861#false} ~cond := #in~cond; {861#false} is VALID [2018-11-23 12:12:16,700 INFO L273 TraceCheckUtils]: 26: Hoare triple {861#false} assume 0 == ~cond; {861#false} is VALID [2018-11-23 12:12:16,700 INFO L273 TraceCheckUtils]: 27: Hoare triple {861#false} assume !false; {861#false} is VALID [2018-11-23 12:12:16,702 INFO L134 CoverageAnalysis]: Checked inductivity of 6 backedges. 0 proven. 5 refuted. 0 times theorem prover too weak. 1 trivial. 0 not checked. [2018-11-23 12:12:16,702 INFO L300 seRefinementStrategy]: The current sequences of interpolants are not accepted, trying to find more. [2018-11-23 12:12:16,702 INFO L223 ckRefinementStrategy]: Switched to mode Z3_FP No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 Starting monitored process 3 with z3 -smt2 -in SMTLIB2_COMPLIANT=true -t:12000 (exit command is (exit), workingDir is null) Waiting until toolchain timeout for monitored process 3 with z3 -smt2 -in SMTLIB2_COMPLIANT=true -t:12000 [2018-11-23 12:12:16,712 INFO L103 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2018-11-23 12:12:16,749 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2018-11-23 12:12:16,772 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2018-11-23 12:12:16,773 INFO L273 TraceCheckSpWp]: Computing forward predicates... [2018-11-23 12:12:16,886 INFO L256 TraceCheckUtils]: 0: Hoare triple {860#true} call ULTIMATE.init(); {860#true} is VALID [2018-11-23 12:12:16,887 INFO L273 TraceCheckUtils]: 1: Hoare triple {860#true} #NULL.base, #NULL.offset := 0, 0;#valid := #valid[0 := 0]; {860#true} is VALID [2018-11-23 12:12:16,887 INFO L273 TraceCheckUtils]: 2: Hoare triple {860#true} assume true; {860#true} is VALID [2018-11-23 12:12:16,888 INFO L268 TraceCheckUtils]: 3: Hoare quadruple {860#true} {860#true} #76#return; {860#true} is VALID [2018-11-23 12:12:16,888 INFO L256 TraceCheckUtils]: 4: Hoare triple {860#true} call #t~ret6 := main(); {860#true} is VALID [2018-11-23 12:12:16,888 INFO L273 TraceCheckUtils]: 5: Hoare triple {860#true} call ~#a~0.base, ~#a~0.offset := #Ultimate.alloc(400000);havoc ~i~1;havoc ~flag~0;~flag~0 := 0; {860#true} is VALID [2018-11-23 12:12:16,889 INFO L256 TraceCheckUtils]: 6: Hoare triple {860#true} call init(~#a~0.base, ~#a~0.offset, 100000); {860#true} is VALID [2018-11-23 12:12:16,899 INFO L273 TraceCheckUtils]: 7: Hoare triple {860#true} ~a.base, ~a.offset := #in~a.base, #in~a.offset;~size := #in~size;havoc ~i~0;~i~0 := 0; {889#(and (<= |init_#in~size| init_~size) (<= init_~i~0 0))} is VALID [2018-11-23 12:12:16,900 INFO L273 TraceCheckUtils]: 8: Hoare triple {889#(and (<= |init_#in~size| init_~size) (<= init_~i~0 0))} assume !!(~i~0 < ~size);call #t~malloc1.base, #t~malloc1.offset := #Ultimate.alloc(4);call write~$Pointer$(#t~malloc1.base, #t~malloc1.offset, ~a.base, ~a.offset + 4 * ~i~0, 4); {889#(and (<= |init_#in~size| init_~size) (<= init_~i~0 0))} is VALID [2018-11-23 12:12:16,901 INFO L273 TraceCheckUtils]: 9: Hoare triple {889#(and (<= |init_#in~size| init_~size) (<= init_~i~0 0))} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {896#(and (<= |init_#in~size| init_~size) (<= init_~i~0 1))} is VALID [2018-11-23 12:12:16,901 INFO L273 TraceCheckUtils]: 10: Hoare triple {896#(and (<= |init_#in~size| init_~size) (<= init_~i~0 1))} assume !(~i~0 < ~size); {900#(<= |init_#in~size| 1)} is VALID [2018-11-23 12:12:16,902 INFO L273 TraceCheckUtils]: 11: Hoare triple {900#(<= |init_#in~size| 1)} assume true; {900#(<= |init_#in~size| 1)} is VALID [2018-11-23 12:12:16,903 INFO L268 TraceCheckUtils]: 12: Hoare quadruple {900#(<= |init_#in~size| 1)} {860#true} #80#return; {861#false} is VALID [2018-11-23 12:12:16,903 INFO L273 TraceCheckUtils]: 13: Hoare triple {861#false} ~i~1 := 0; {861#false} is VALID [2018-11-23 12:12:16,903 INFO L273 TraceCheckUtils]: 14: Hoare triple {861#false} assume !!(~i~1 < 100000);call #t~mem3.base, #t~mem3.offset := read~$Pointer$(~#a~0.base, ~#a~0.offset + 4 * ~i~1, 4); {861#false} is VALID [2018-11-23 12:12:16,903 INFO L273 TraceCheckUtils]: 15: Hoare triple {861#false} assume !(#t~mem3.base != 0 || #t~mem3.offset != 0);havoc #t~mem3.base, #t~mem3.offset; {861#false} is VALID [2018-11-23 12:12:16,904 INFO L273 TraceCheckUtils]: 16: Hoare triple {861#false} #t~post2 := ~i~1;~i~1 := 1 + #t~post2;havoc #t~post2; {861#false} is VALID [2018-11-23 12:12:16,904 INFO L273 TraceCheckUtils]: 17: Hoare triple {861#false} assume !!(~i~1 < 100000);call #t~mem3.base, #t~mem3.offset := read~$Pointer$(~#a~0.base, ~#a~0.offset + 4 * ~i~1, 4); {861#false} is VALID [2018-11-23 12:12:16,904 INFO L273 TraceCheckUtils]: 18: Hoare triple {861#false} assume !(#t~mem3.base != 0 || #t~mem3.offset != 0);havoc #t~mem3.base, #t~mem3.offset; {861#false} is VALID [2018-11-23 12:12:16,905 INFO L273 TraceCheckUtils]: 19: Hoare triple {861#false} #t~post2 := ~i~1;~i~1 := 1 + #t~post2;havoc #t~post2; {861#false} is VALID [2018-11-23 12:12:16,905 INFO L273 TraceCheckUtils]: 20: Hoare triple {861#false} assume !(~i~1 < 100000); {861#false} is VALID [2018-11-23 12:12:16,905 INFO L273 TraceCheckUtils]: 21: Hoare triple {861#false} ~i~1 := 0; {861#false} is VALID [2018-11-23 12:12:16,906 INFO L273 TraceCheckUtils]: 22: Hoare triple {861#false} assume !!(~i~1 < 100000); {861#false} is VALID [2018-11-23 12:12:16,906 INFO L273 TraceCheckUtils]: 23: Hoare triple {861#false} assume 0 == ~flag~0;call #t~mem5.base, #t~mem5.offset := read~$Pointer$(~#a~0.base, ~#a~0.offset + 4 * ~i~1, 4); {861#false} is VALID [2018-11-23 12:12:16,907 INFO L256 TraceCheckUtils]: 24: Hoare triple {861#false} call __VERIFIER_assert((if #t~mem5.base == 0 && #t~mem5.offset == 0 then 1 else 0)); {861#false} is VALID [2018-11-23 12:12:16,907 INFO L273 TraceCheckUtils]: 25: Hoare triple {861#false} ~cond := #in~cond; {861#false} is VALID [2018-11-23 12:12:16,907 INFO L273 TraceCheckUtils]: 26: Hoare triple {861#false} assume 0 == ~cond; {861#false} is VALID [2018-11-23 12:12:16,907 INFO L273 TraceCheckUtils]: 27: Hoare triple {861#false} assume !false; {861#false} is VALID [2018-11-23 12:12:16,909 INFO L134 CoverageAnalysis]: Checked inductivity of 6 backedges. 0 proven. 1 refuted. 0 times theorem prover too weak. 5 trivial. 0 not checked. [2018-11-23 12:12:16,931 INFO L312 seRefinementStrategy]: Constructing automaton from 0 perfect and 2 imperfect interpolant sequences. [2018-11-23 12:12:16,932 INFO L327 seRefinementStrategy]: Number of different interpolants: perfect sequences [] imperfect sequences [5, 5] total 8 [2018-11-23 12:12:16,932 INFO L78 Accepts]: Start accepts. Automaton has 8 states. Word has length 28 [2018-11-23 12:12:16,933 INFO L84 Accepts]: Finished accepts. word is accepted. [2018-11-23 12:12:16,933 INFO L86 InductivityCheck]: Starting indutivity check of a Floyd-Hoare automaton with 8 states. [2018-11-23 12:12:16,987 INFO L119 InductivityCheck]: Floyd-Hoare automaton has 39 edges. 39 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2018-11-23 12:12:16,988 INFO L459 AbstractCegarLoop]: Interpolant automaton has 8 states [2018-11-23 12:12:16,988 INFO L142 InterpolantAutomaton]: Constructing interpolant automaton starting with 8 interpolants. [2018-11-23 12:12:16,988 INFO L144 InterpolantAutomaton]: CoverageRelationStatistics Valid=17, Invalid=39, Unknown=0, NotChecked=0, Total=56 [2018-11-23 12:12:16,989 INFO L87 Difference]: Start difference. First operand 33 states and 36 transitions. Second operand 8 states. [2018-11-23 12:12:17,366 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2018-11-23 12:12:17,367 INFO L93 Difference]: Finished difference Result 78 states and 91 transitions. [2018-11-23 12:12:17,367 INFO L142 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 8 states. [2018-11-23 12:12:17,367 INFO L78 Accepts]: Start accepts. Automaton has 8 states. Word has length 28 [2018-11-23 12:12:17,368 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2018-11-23 12:12:17,368 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 8 states. [2018-11-23 12:12:17,371 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 8 states to 8 states and 87 transitions. [2018-11-23 12:12:17,371 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 8 states. [2018-11-23 12:12:17,374 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 8 states to 8 states and 87 transitions. [2018-11-23 12:12:17,375 INFO L86 InductivityCheck]: Starting indutivity check of a Floyd-Hoare automaton with 8 states and 87 transitions. [2018-11-23 12:12:17,494 INFO L119 InductivityCheck]: Floyd-Hoare automaton has 87 edges. 87 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2018-11-23 12:12:17,497 INFO L225 Difference]: With dead ends: 78 [2018-11-23 12:12:17,497 INFO L226 Difference]: Without dead ends: 56 [2018-11-23 12:12:17,498 INFO L631 BasicCegarLoop]: 0 DeclaredPredicates, 33 GetRequests, 26 SyntacticMatches, 0 SemanticMatches, 7 ConstructedPredicates, 0 IntricatePredicates, 0 DeprecatedPredicates, 7 ImplicationChecksByTransitivity, 0.1s TimeCoverageRelationStatistics Valid=21, Invalid=51, Unknown=0, NotChecked=0, Total=72 [2018-11-23 12:12:17,499 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 56 states. [2018-11-23 12:12:17,553 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 56 to 38. [2018-11-23 12:12:17,553 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2018-11-23 12:12:17,554 INFO L82 GeneralOperation]: Start isEquivalent. First operand 56 states. Second operand 38 states. [2018-11-23 12:12:17,554 INFO L74 IsIncluded]: Start isIncluded. First operand 56 states. Second operand 38 states. [2018-11-23 12:12:17,554 INFO L87 Difference]: Start difference. First operand 56 states. Second operand 38 states. [2018-11-23 12:12:17,557 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2018-11-23 12:12:17,557 INFO L93 Difference]: Finished difference Result 56 states and 65 transitions. [2018-11-23 12:12:17,557 INFO L276 IsEmpty]: Start isEmpty. Operand 56 states and 65 transitions. [2018-11-23 12:12:17,558 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2018-11-23 12:12:17,559 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2018-11-23 12:12:17,559 INFO L74 IsIncluded]: Start isIncluded. First operand 38 states. Second operand 56 states. [2018-11-23 12:12:17,559 INFO L87 Difference]: Start difference. First operand 38 states. Second operand 56 states. [2018-11-23 12:12:17,562 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2018-11-23 12:12:17,563 INFO L93 Difference]: Finished difference Result 56 states and 65 transitions. [2018-11-23 12:12:17,563 INFO L276 IsEmpty]: Start isEmpty. Operand 56 states and 65 transitions. [2018-11-23 12:12:17,564 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2018-11-23 12:12:17,564 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2018-11-23 12:12:17,564 INFO L88 GeneralOperation]: Finished isEquivalent. [2018-11-23 12:12:17,564 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2018-11-23 12:12:17,565 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 38 states. [2018-11-23 12:12:17,566 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 38 states to 38 states and 41 transitions. [2018-11-23 12:12:17,567 INFO L78 Accepts]: Start accepts. Automaton has 38 states and 41 transitions. Word has length 28 [2018-11-23 12:12:17,567 INFO L84 Accepts]: Finished accepts. word is rejected. [2018-11-23 12:12:17,567 INFO L480 AbstractCegarLoop]: Abstraction has 38 states and 41 transitions. [2018-11-23 12:12:17,567 INFO L481 AbstractCegarLoop]: Interpolant automaton has 8 states. [2018-11-23 12:12:17,567 INFO L276 IsEmpty]: Start isEmpty. Operand 38 states and 41 transitions. [2018-11-23 12:12:17,568 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 34 [2018-11-23 12:12:17,568 INFO L394 BasicCegarLoop]: Found error trace [2018-11-23 12:12:17,568 INFO L402 BasicCegarLoop]: trace histogram [3, 3, 3, 2, 2, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1] [2018-11-23 12:12:17,569 INFO L423 AbstractCegarLoop]: === Iteration 6 === [__VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION]=== [2018-11-23 12:12:17,569 INFO L141 PredicateUnifier]: Initialized classic predicate unifier [2018-11-23 12:12:17,569 INFO L82 PathProgramCache]: Analyzing trace with hash 484904918, now seen corresponding path program 2 times [2018-11-23 12:12:17,569 INFO L223 ckRefinementStrategy]: Switched to mode SMTINTERPOL_TREE_INTERPOLANTS [2018-11-23 12:12:17,570 INFO L69 tionRefinementEngine]: Using refinement strategy CamelRefinementStrategy [2018-11-23 12:12:17,571 INFO L119 rtionOrderModulation]: Craig_TreeInterpolation forces the order to NOT_INCREMENTALLY [2018-11-23 12:12:17,571 INFO L103 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2018-11-23 12:12:17,571 INFO L119 rtionOrderModulation]: Craig_TreeInterpolation forces the order to NOT_INCREMENTALLY [2018-11-23 12:12:17,594 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2018-11-23 12:12:17,718 INFO L256 TraceCheckUtils]: 0: Hoare triple {1225#true} call ULTIMATE.init(); {1225#true} is VALID [2018-11-23 12:12:17,719 INFO L273 TraceCheckUtils]: 1: Hoare triple {1225#true} #NULL.base, #NULL.offset := 0, 0;#valid := #valid[0 := 0]; {1225#true} is VALID [2018-11-23 12:12:17,719 INFO L273 TraceCheckUtils]: 2: Hoare triple {1225#true} assume true; {1225#true} is VALID [2018-11-23 12:12:17,720 INFO L268 TraceCheckUtils]: 3: Hoare quadruple {1225#true} {1225#true} #76#return; {1225#true} is VALID [2018-11-23 12:12:17,720 INFO L256 TraceCheckUtils]: 4: Hoare triple {1225#true} call #t~ret6 := main(); {1225#true} is VALID [2018-11-23 12:12:17,720 INFO L273 TraceCheckUtils]: 5: Hoare triple {1225#true} call ~#a~0.base, ~#a~0.offset := #Ultimate.alloc(400000);havoc ~i~1;havoc ~flag~0;~flag~0 := 0; {1225#true} is VALID [2018-11-23 12:12:17,721 INFO L256 TraceCheckUtils]: 6: Hoare triple {1225#true} call init(~#a~0.base, ~#a~0.offset, 100000); {1225#true} is VALID [2018-11-23 12:12:17,721 INFO L273 TraceCheckUtils]: 7: Hoare triple {1225#true} ~a.base, ~a.offset := #in~a.base, #in~a.offset;~size := #in~size;havoc ~i~0;~i~0 := 0; {1225#true} is VALID [2018-11-23 12:12:17,721 INFO L273 TraceCheckUtils]: 8: Hoare triple {1225#true} assume !!(~i~0 < ~size);call #t~malloc1.base, #t~malloc1.offset := #Ultimate.alloc(4);call write~$Pointer$(#t~malloc1.base, #t~malloc1.offset, ~a.base, ~a.offset + 4 * ~i~0, 4); {1225#true} is VALID [2018-11-23 12:12:17,722 INFO L273 TraceCheckUtils]: 9: Hoare triple {1225#true} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {1225#true} is VALID [2018-11-23 12:12:17,722 INFO L273 TraceCheckUtils]: 10: Hoare triple {1225#true} assume !!(~i~0 < ~size);call #t~malloc1.base, #t~malloc1.offset := #Ultimate.alloc(4);call write~$Pointer$(#t~malloc1.base, #t~malloc1.offset, ~a.base, ~a.offset + 4 * ~i~0, 4); {1225#true} is VALID [2018-11-23 12:12:17,722 INFO L273 TraceCheckUtils]: 11: Hoare triple {1225#true} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {1225#true} is VALID [2018-11-23 12:12:17,722 INFO L273 TraceCheckUtils]: 12: Hoare triple {1225#true} assume !(~i~0 < ~size); {1225#true} is VALID [2018-11-23 12:12:17,723 INFO L273 TraceCheckUtils]: 13: Hoare triple {1225#true} assume true; {1225#true} is VALID [2018-11-23 12:12:17,723 INFO L268 TraceCheckUtils]: 14: Hoare quadruple {1225#true} {1225#true} #80#return; {1225#true} is VALID [2018-11-23 12:12:17,723 INFO L273 TraceCheckUtils]: 15: Hoare triple {1225#true} ~i~1 := 0; {1227#(= main_~i~1 0)} is VALID [2018-11-23 12:12:17,724 INFO L273 TraceCheckUtils]: 16: Hoare triple {1227#(= main_~i~1 0)} assume !!(~i~1 < 100000);call #t~mem3.base, #t~mem3.offset := read~$Pointer$(~#a~0.base, ~#a~0.offset + 4 * ~i~1, 4); {1227#(= main_~i~1 0)} is VALID [2018-11-23 12:12:17,724 INFO L273 TraceCheckUtils]: 17: Hoare triple {1227#(= main_~i~1 0)} assume !(#t~mem3.base != 0 || #t~mem3.offset != 0);havoc #t~mem3.base, #t~mem3.offset; {1227#(= main_~i~1 0)} is VALID [2018-11-23 12:12:17,725 INFO L273 TraceCheckUtils]: 18: Hoare triple {1227#(= main_~i~1 0)} #t~post2 := ~i~1;~i~1 := 1 + #t~post2;havoc #t~post2; {1228#(<= main_~i~1 1)} is VALID [2018-11-23 12:12:17,725 INFO L273 TraceCheckUtils]: 19: Hoare triple {1228#(<= main_~i~1 1)} assume !!(~i~1 < 100000);call #t~mem3.base, #t~mem3.offset := read~$Pointer$(~#a~0.base, ~#a~0.offset + 4 * ~i~1, 4); {1228#(<= main_~i~1 1)} is VALID [2018-11-23 12:12:17,726 INFO L273 TraceCheckUtils]: 20: Hoare triple {1228#(<= main_~i~1 1)} assume !(#t~mem3.base != 0 || #t~mem3.offset != 0);havoc #t~mem3.base, #t~mem3.offset; {1228#(<= main_~i~1 1)} is VALID [2018-11-23 12:12:17,727 INFO L273 TraceCheckUtils]: 21: Hoare triple {1228#(<= main_~i~1 1)} #t~post2 := ~i~1;~i~1 := 1 + #t~post2;havoc #t~post2; {1229#(<= main_~i~1 2)} is VALID [2018-11-23 12:12:17,727 INFO L273 TraceCheckUtils]: 22: Hoare triple {1229#(<= main_~i~1 2)} assume !!(~i~1 < 100000);call #t~mem3.base, #t~mem3.offset := read~$Pointer$(~#a~0.base, ~#a~0.offset + 4 * ~i~1, 4); {1229#(<= main_~i~1 2)} is VALID [2018-11-23 12:12:17,728 INFO L273 TraceCheckUtils]: 23: Hoare triple {1229#(<= main_~i~1 2)} assume !(#t~mem3.base != 0 || #t~mem3.offset != 0);havoc #t~mem3.base, #t~mem3.offset; {1229#(<= main_~i~1 2)} is VALID [2018-11-23 12:12:17,729 INFO L273 TraceCheckUtils]: 24: Hoare triple {1229#(<= main_~i~1 2)} #t~post2 := ~i~1;~i~1 := 1 + #t~post2;havoc #t~post2; {1230#(<= main_~i~1 3)} is VALID [2018-11-23 12:12:17,730 INFO L273 TraceCheckUtils]: 25: Hoare triple {1230#(<= main_~i~1 3)} assume !(~i~1 < 100000); {1226#false} is VALID [2018-11-23 12:12:17,730 INFO L273 TraceCheckUtils]: 26: Hoare triple {1226#false} ~i~1 := 0; {1226#false} is VALID [2018-11-23 12:12:17,731 INFO L273 TraceCheckUtils]: 27: Hoare triple {1226#false} assume !!(~i~1 < 100000); {1226#false} is VALID [2018-11-23 12:12:17,731 INFO L273 TraceCheckUtils]: 28: Hoare triple {1226#false} assume 0 == ~flag~0;call #t~mem5.base, #t~mem5.offset := read~$Pointer$(~#a~0.base, ~#a~0.offset + 4 * ~i~1, 4); {1226#false} is VALID [2018-11-23 12:12:17,732 INFO L256 TraceCheckUtils]: 29: Hoare triple {1226#false} call __VERIFIER_assert((if #t~mem5.base == 0 && #t~mem5.offset == 0 then 1 else 0)); {1226#false} is VALID [2018-11-23 12:12:17,732 INFO L273 TraceCheckUtils]: 30: Hoare triple {1226#false} ~cond := #in~cond; {1226#false} is VALID [2018-11-23 12:12:17,733 INFO L273 TraceCheckUtils]: 31: Hoare triple {1226#false} assume 0 == ~cond; {1226#false} is VALID [2018-11-23 12:12:17,733 INFO L273 TraceCheckUtils]: 32: Hoare triple {1226#false} assume !false; {1226#false} is VALID [2018-11-23 12:12:17,735 INFO L134 CoverageAnalysis]: Checked inductivity of 16 backedges. 0 proven. 12 refuted. 0 times theorem prover too weak. 4 trivial. 0 not checked. [2018-11-23 12:12:17,736 INFO L300 seRefinementStrategy]: The current sequences of interpolants are not accepted, trying to find more. [2018-11-23 12:12:17,736 INFO L223 ckRefinementStrategy]: Switched to mode Z3_FP No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 Starting monitored process 4 with z3 -smt2 -in SMTLIB2_COMPLIANT=true -t:12000 (exit command is (exit), workingDir is null) Waiting until toolchain timeout for monitored process 4 with z3 -smt2 -in SMTLIB2_COMPLIANT=true -t:12000 [2018-11-23 12:12:17,753 INFO L103 rtionOrderModulation]: Keeping assertion order OUTSIDE_LOOP_FIRST1 [2018-11-23 12:12:17,788 INFO L249 tOrderPrioritization]: Assert order OUTSIDE_LOOP_FIRST1 issued 2 check-sat command(s) [2018-11-23 12:12:17,788 INFO L250 tOrderPrioritization]: Conjunction of SSA is unsat [2018-11-23 12:12:17,804 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2018-11-23 12:12:17,806 INFO L273 TraceCheckSpWp]: Computing forward predicates... [2018-11-23 12:12:17,972 INFO L256 TraceCheckUtils]: 0: Hoare triple {1225#true} call ULTIMATE.init(); {1225#true} is VALID [2018-11-23 12:12:17,973 INFO L273 TraceCheckUtils]: 1: Hoare triple {1225#true} #NULL.base, #NULL.offset := 0, 0;#valid := #valid[0 := 0]; {1225#true} is VALID [2018-11-23 12:12:17,973 INFO L273 TraceCheckUtils]: 2: Hoare triple {1225#true} assume true; {1225#true} is VALID [2018-11-23 12:12:17,974 INFO L268 TraceCheckUtils]: 3: Hoare quadruple {1225#true} {1225#true} #76#return; {1225#true} is VALID [2018-11-23 12:12:17,974 INFO L256 TraceCheckUtils]: 4: Hoare triple {1225#true} call #t~ret6 := main(); {1225#true} is VALID [2018-11-23 12:12:17,975 INFO L273 TraceCheckUtils]: 5: Hoare triple {1225#true} call ~#a~0.base, ~#a~0.offset := #Ultimate.alloc(400000);havoc ~i~1;havoc ~flag~0;~flag~0 := 0; {1225#true} is VALID [2018-11-23 12:12:17,975 INFO L256 TraceCheckUtils]: 6: Hoare triple {1225#true} call init(~#a~0.base, ~#a~0.offset, 100000); {1225#true} is VALID [2018-11-23 12:12:17,991 INFO L273 TraceCheckUtils]: 7: Hoare triple {1225#true} ~a.base, ~a.offset := #in~a.base, #in~a.offset;~size := #in~size;havoc ~i~0;~i~0 := 0; {1255#(and (<= |init_#in~size| init_~size) (<= init_~i~0 0))} is VALID [2018-11-23 12:12:18,007 INFO L273 TraceCheckUtils]: 8: Hoare triple {1255#(and (<= |init_#in~size| init_~size) (<= init_~i~0 0))} assume !!(~i~0 < ~size);call #t~malloc1.base, #t~malloc1.offset := #Ultimate.alloc(4);call write~$Pointer$(#t~malloc1.base, #t~malloc1.offset, ~a.base, ~a.offset + 4 * ~i~0, 4); {1255#(and (<= |init_#in~size| init_~size) (<= init_~i~0 0))} is VALID [2018-11-23 12:12:18,015 INFO L273 TraceCheckUtils]: 9: Hoare triple {1255#(and (<= |init_#in~size| init_~size) (<= init_~i~0 0))} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {1262#(and (<= |init_#in~size| init_~size) (<= init_~i~0 1))} is VALID [2018-11-23 12:12:18,016 INFO L273 TraceCheckUtils]: 10: Hoare triple {1262#(and (<= |init_#in~size| init_~size) (<= init_~i~0 1))} assume !!(~i~0 < ~size);call #t~malloc1.base, #t~malloc1.offset := #Ultimate.alloc(4);call write~$Pointer$(#t~malloc1.base, #t~malloc1.offset, ~a.base, ~a.offset + 4 * ~i~0, 4); {1262#(and (<= |init_#in~size| init_~size) (<= init_~i~0 1))} is VALID [2018-11-23 12:12:18,016 INFO L273 TraceCheckUtils]: 11: Hoare triple {1262#(and (<= |init_#in~size| init_~size) (<= init_~i~0 1))} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {1269#(and (<= |init_#in~size| init_~size) (<= init_~i~0 2))} is VALID [2018-11-23 12:12:18,017 INFO L273 TraceCheckUtils]: 12: Hoare triple {1269#(and (<= |init_#in~size| init_~size) (<= init_~i~0 2))} assume !(~i~0 < ~size); {1273#(<= |init_#in~size| 2)} is VALID [2018-11-23 12:12:18,018 INFO L273 TraceCheckUtils]: 13: Hoare triple {1273#(<= |init_#in~size| 2)} assume true; {1273#(<= |init_#in~size| 2)} is VALID [2018-11-23 12:12:18,018 INFO L268 TraceCheckUtils]: 14: Hoare quadruple {1273#(<= |init_#in~size| 2)} {1225#true} #80#return; {1226#false} is VALID [2018-11-23 12:12:18,019 INFO L273 TraceCheckUtils]: 15: Hoare triple {1226#false} ~i~1 := 0; {1226#false} is VALID [2018-11-23 12:12:18,019 INFO L273 TraceCheckUtils]: 16: Hoare triple {1226#false} assume !!(~i~1 < 100000);call #t~mem3.base, #t~mem3.offset := read~$Pointer$(~#a~0.base, ~#a~0.offset + 4 * ~i~1, 4); {1226#false} is VALID [2018-11-23 12:12:18,019 INFO L273 TraceCheckUtils]: 17: Hoare triple {1226#false} assume !(#t~mem3.base != 0 || #t~mem3.offset != 0);havoc #t~mem3.base, #t~mem3.offset; {1226#false} is VALID [2018-11-23 12:12:18,019 INFO L273 TraceCheckUtils]: 18: Hoare triple {1226#false} #t~post2 := ~i~1;~i~1 := 1 + #t~post2;havoc #t~post2; {1226#false} is VALID [2018-11-23 12:12:18,019 INFO L273 TraceCheckUtils]: 19: Hoare triple {1226#false} assume !!(~i~1 < 100000);call #t~mem3.base, #t~mem3.offset := read~$Pointer$(~#a~0.base, ~#a~0.offset + 4 * ~i~1, 4); {1226#false} is VALID [2018-11-23 12:12:18,020 INFO L273 TraceCheckUtils]: 20: Hoare triple {1226#false} assume !(#t~mem3.base != 0 || #t~mem3.offset != 0);havoc #t~mem3.base, #t~mem3.offset; {1226#false} is VALID [2018-11-23 12:12:18,020 INFO L273 TraceCheckUtils]: 21: Hoare triple {1226#false} #t~post2 := ~i~1;~i~1 := 1 + #t~post2;havoc #t~post2; {1226#false} is VALID [2018-11-23 12:12:18,020 INFO L273 TraceCheckUtils]: 22: Hoare triple {1226#false} assume !!(~i~1 < 100000);call #t~mem3.base, #t~mem3.offset := read~$Pointer$(~#a~0.base, ~#a~0.offset + 4 * ~i~1, 4); {1226#false} is VALID [2018-11-23 12:12:18,021 INFO L273 TraceCheckUtils]: 23: Hoare triple {1226#false} assume !(#t~mem3.base != 0 || #t~mem3.offset != 0);havoc #t~mem3.base, #t~mem3.offset; {1226#false} is VALID [2018-11-23 12:12:18,021 INFO L273 TraceCheckUtils]: 24: Hoare triple {1226#false} #t~post2 := ~i~1;~i~1 := 1 + #t~post2;havoc #t~post2; {1226#false} is VALID [2018-11-23 12:12:18,022 INFO L273 TraceCheckUtils]: 25: Hoare triple {1226#false} assume !(~i~1 < 100000); {1226#false} is VALID [2018-11-23 12:12:18,022 INFO L273 TraceCheckUtils]: 26: Hoare triple {1226#false} ~i~1 := 0; {1226#false} is VALID [2018-11-23 12:12:18,022 INFO L273 TraceCheckUtils]: 27: Hoare triple {1226#false} assume !!(~i~1 < 100000); {1226#false} is VALID [2018-11-23 12:12:18,022 INFO L273 TraceCheckUtils]: 28: Hoare triple {1226#false} assume 0 == ~flag~0;call #t~mem5.base, #t~mem5.offset := read~$Pointer$(~#a~0.base, ~#a~0.offset + 4 * ~i~1, 4); {1226#false} is VALID [2018-11-23 12:12:18,022 INFO L256 TraceCheckUtils]: 29: Hoare triple {1226#false} call __VERIFIER_assert((if #t~mem5.base == 0 && #t~mem5.offset == 0 then 1 else 0)); {1226#false} is VALID [2018-11-23 12:12:18,023 INFO L273 TraceCheckUtils]: 30: Hoare triple {1226#false} ~cond := #in~cond; {1226#false} is VALID [2018-11-23 12:12:18,023 INFO L273 TraceCheckUtils]: 31: Hoare triple {1226#false} assume 0 == ~cond; {1226#false} is VALID [2018-11-23 12:12:18,023 INFO L273 TraceCheckUtils]: 32: Hoare triple {1226#false} assume !false; {1226#false} is VALID [2018-11-23 12:12:18,026 INFO L134 CoverageAnalysis]: Checked inductivity of 16 backedges. 0 proven. 4 refuted. 0 times theorem prover too weak. 12 trivial. 0 not checked. [2018-11-23 12:12:18,046 INFO L312 seRefinementStrategy]: Constructing automaton from 0 perfect and 2 imperfect interpolant sequences. [2018-11-23 12:12:18,046 INFO L327 seRefinementStrategy]: Number of different interpolants: perfect sequences [] imperfect sequences [6, 6] total 10 [2018-11-23 12:12:18,046 INFO L78 Accepts]: Start accepts. Automaton has 10 states. Word has length 33 [2018-11-23 12:12:18,047 INFO L84 Accepts]: Finished accepts. word is accepted. [2018-11-23 12:12:18,047 INFO L86 InductivityCheck]: Starting indutivity check of a Floyd-Hoare automaton with 10 states. [2018-11-23 12:12:18,133 INFO L119 InductivityCheck]: Floyd-Hoare automaton has 44 edges. 44 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2018-11-23 12:12:18,134 INFO L459 AbstractCegarLoop]: Interpolant automaton has 10 states [2018-11-23 12:12:18,134 INFO L142 InterpolantAutomaton]: Constructing interpolant automaton starting with 10 interpolants. [2018-11-23 12:12:18,134 INFO L144 InterpolantAutomaton]: CoverageRelationStatistics Valid=26, Invalid=64, Unknown=0, NotChecked=0, Total=90 [2018-11-23 12:12:18,134 INFO L87 Difference]: Start difference. First operand 38 states and 41 transitions. Second operand 10 states. [2018-11-23 12:12:18,609 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2018-11-23 12:12:18,609 INFO L93 Difference]: Finished difference Result 91 states and 106 transitions. [2018-11-23 12:12:18,609 INFO L142 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 10 states. [2018-11-23 12:12:18,609 INFO L78 Accepts]: Start accepts. Automaton has 10 states. Word has length 33 [2018-11-23 12:12:18,610 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2018-11-23 12:12:18,610 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 10 states. [2018-11-23 12:12:18,613 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 10 states to 10 states and 99 transitions. [2018-11-23 12:12:18,613 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 10 states. [2018-11-23 12:12:18,616 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 10 states to 10 states and 99 transitions. [2018-11-23 12:12:18,617 INFO L86 InductivityCheck]: Starting indutivity check of a Floyd-Hoare automaton with 10 states and 99 transitions. [2018-11-23 12:12:18,890 INFO L119 InductivityCheck]: Floyd-Hoare automaton has 99 edges. 99 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2018-11-23 12:12:18,894 INFO L225 Difference]: With dead ends: 91 [2018-11-23 12:12:18,894 INFO L226 Difference]: Without dead ends: 66 [2018-11-23 12:12:18,895 INFO L631 BasicCegarLoop]: 0 DeclaredPredicates, 39 GetRequests, 30 SyntacticMatches, 0 SemanticMatches, 9 ConstructedPredicates, 0 IntricatePredicates, 0 DeprecatedPredicates, 14 ImplicationChecksByTransitivity, 0.1s TimeCoverageRelationStatistics Valid=30, Invalid=80, Unknown=0, NotChecked=0, Total=110 [2018-11-23 12:12:18,895 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 66 states. [2018-11-23 12:12:18,931 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 66 to 43. [2018-11-23 12:12:18,931 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2018-11-23 12:12:18,931 INFO L82 GeneralOperation]: Start isEquivalent. First operand 66 states. Second operand 43 states. [2018-11-23 12:12:18,931 INFO L74 IsIncluded]: Start isIncluded. First operand 66 states. Second operand 43 states. [2018-11-23 12:12:18,932 INFO L87 Difference]: Start difference. First operand 66 states. Second operand 43 states. [2018-11-23 12:12:18,936 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2018-11-23 12:12:18,936 INFO L93 Difference]: Finished difference Result 66 states and 77 transitions. [2018-11-23 12:12:18,936 INFO L276 IsEmpty]: Start isEmpty. Operand 66 states and 77 transitions. [2018-11-23 12:12:18,937 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2018-11-23 12:12:18,937 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2018-11-23 12:12:18,938 INFO L74 IsIncluded]: Start isIncluded. First operand 43 states. Second operand 66 states. [2018-11-23 12:12:18,938 INFO L87 Difference]: Start difference. First operand 43 states. Second operand 66 states. [2018-11-23 12:12:18,941 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2018-11-23 12:12:18,941 INFO L93 Difference]: Finished difference Result 66 states and 77 transitions. [2018-11-23 12:12:18,942 INFO L276 IsEmpty]: Start isEmpty. Operand 66 states and 77 transitions. [2018-11-23 12:12:18,942 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2018-11-23 12:12:18,942 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2018-11-23 12:12:18,943 INFO L88 GeneralOperation]: Finished isEquivalent. [2018-11-23 12:12:18,943 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2018-11-23 12:12:18,943 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 43 states. [2018-11-23 12:12:18,945 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 43 states to 43 states and 46 transitions. [2018-11-23 12:12:18,945 INFO L78 Accepts]: Start accepts. Automaton has 43 states and 46 transitions. Word has length 33 [2018-11-23 12:12:18,945 INFO L84 Accepts]: Finished accepts. word is rejected. [2018-11-23 12:12:18,945 INFO L480 AbstractCegarLoop]: Abstraction has 43 states and 46 transitions. [2018-11-23 12:12:18,945 INFO L481 AbstractCegarLoop]: Interpolant automaton has 10 states. [2018-11-23 12:12:18,946 INFO L276 IsEmpty]: Start isEmpty. Operand 43 states and 46 transitions. [2018-11-23 12:12:18,946 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 39 [2018-11-23 12:12:18,947 INFO L394 BasicCegarLoop]: Found error trace [2018-11-23 12:12:18,947 INFO L402 BasicCegarLoop]: trace histogram [4, 4, 4, 3, 3, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1] [2018-11-23 12:12:18,947 INFO L423 AbstractCegarLoop]: === Iteration 7 === [__VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION]=== [2018-11-23 12:12:18,947 INFO L141 PredicateUnifier]: Initialized classic predicate unifier [2018-11-23 12:12:18,948 INFO L82 PathProgramCache]: Analyzing trace with hash -913363186, now seen corresponding path program 3 times [2018-11-23 12:12:18,948 INFO L223 ckRefinementStrategy]: Switched to mode SMTINTERPOL_TREE_INTERPOLANTS [2018-11-23 12:12:18,948 INFO L69 tionRefinementEngine]: Using refinement strategy CamelRefinementStrategy [2018-11-23 12:12:18,949 INFO L119 rtionOrderModulation]: Craig_TreeInterpolation forces the order to NOT_INCREMENTALLY [2018-11-23 12:12:18,949 INFO L101 rtionOrderModulation]: Changing assertion order to NOT_INCREMENTALLY [2018-11-23 12:12:18,949 INFO L119 rtionOrderModulation]: Craig_TreeInterpolation forces the order to NOT_INCREMENTALLY [2018-11-23 12:12:18,973 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2018-11-23 12:12:19,124 INFO L256 TraceCheckUtils]: 0: Hoare triple {1652#true} call ULTIMATE.init(); {1652#true} is VALID [2018-11-23 12:12:19,125 INFO L273 TraceCheckUtils]: 1: Hoare triple {1652#true} #NULL.base, #NULL.offset := 0, 0;#valid := #valid[0 := 0]; {1652#true} is VALID [2018-11-23 12:12:19,125 INFO L273 TraceCheckUtils]: 2: Hoare triple {1652#true} assume true; {1652#true} is VALID [2018-11-23 12:12:19,126 INFO L268 TraceCheckUtils]: 3: Hoare quadruple {1652#true} {1652#true} #76#return; {1652#true} is VALID [2018-11-23 12:12:19,126 INFO L256 TraceCheckUtils]: 4: Hoare triple {1652#true} call #t~ret6 := main(); {1652#true} is VALID [2018-11-23 12:12:19,126 INFO L273 TraceCheckUtils]: 5: Hoare triple {1652#true} call ~#a~0.base, ~#a~0.offset := #Ultimate.alloc(400000);havoc ~i~1;havoc ~flag~0;~flag~0 := 0; {1652#true} is VALID [2018-11-23 12:12:19,126 INFO L256 TraceCheckUtils]: 6: Hoare triple {1652#true} call init(~#a~0.base, ~#a~0.offset, 100000); {1652#true} is VALID [2018-11-23 12:12:19,127 INFO L273 TraceCheckUtils]: 7: Hoare triple {1652#true} ~a.base, ~a.offset := #in~a.base, #in~a.offset;~size := #in~size;havoc ~i~0;~i~0 := 0; {1652#true} is VALID [2018-11-23 12:12:19,127 INFO L273 TraceCheckUtils]: 8: Hoare triple {1652#true} assume !!(~i~0 < ~size);call #t~malloc1.base, #t~malloc1.offset := #Ultimate.alloc(4);call write~$Pointer$(#t~malloc1.base, #t~malloc1.offset, ~a.base, ~a.offset + 4 * ~i~0, 4); {1652#true} is VALID [2018-11-23 12:12:19,127 INFO L273 TraceCheckUtils]: 9: Hoare triple {1652#true} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {1652#true} is VALID [2018-11-23 12:12:19,127 INFO L273 TraceCheckUtils]: 10: Hoare triple {1652#true} assume !!(~i~0 < ~size);call #t~malloc1.base, #t~malloc1.offset := #Ultimate.alloc(4);call write~$Pointer$(#t~malloc1.base, #t~malloc1.offset, ~a.base, ~a.offset + 4 * ~i~0, 4); {1652#true} is VALID [2018-11-23 12:12:19,127 INFO L273 TraceCheckUtils]: 11: Hoare triple {1652#true} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {1652#true} is VALID [2018-11-23 12:12:19,128 INFO L273 TraceCheckUtils]: 12: Hoare triple {1652#true} assume !!(~i~0 < ~size);call #t~malloc1.base, #t~malloc1.offset := #Ultimate.alloc(4);call write~$Pointer$(#t~malloc1.base, #t~malloc1.offset, ~a.base, ~a.offset + 4 * ~i~0, 4); {1652#true} is VALID [2018-11-23 12:12:19,128 INFO L273 TraceCheckUtils]: 13: Hoare triple {1652#true} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {1652#true} is VALID [2018-11-23 12:12:19,128 INFO L273 TraceCheckUtils]: 14: Hoare triple {1652#true} assume !(~i~0 < ~size); {1652#true} is VALID [2018-11-23 12:12:19,128 INFO L273 TraceCheckUtils]: 15: Hoare triple {1652#true} assume true; {1652#true} is VALID [2018-11-23 12:12:19,128 INFO L268 TraceCheckUtils]: 16: Hoare quadruple {1652#true} {1652#true} #80#return; {1652#true} is VALID [2018-11-23 12:12:19,129 INFO L273 TraceCheckUtils]: 17: Hoare triple {1652#true} ~i~1 := 0; {1654#(= main_~i~1 0)} is VALID [2018-11-23 12:12:19,129 INFO L273 TraceCheckUtils]: 18: Hoare triple {1654#(= main_~i~1 0)} assume !!(~i~1 < 100000);call #t~mem3.base, #t~mem3.offset := read~$Pointer$(~#a~0.base, ~#a~0.offset + 4 * ~i~1, 4); {1654#(= main_~i~1 0)} is VALID [2018-11-23 12:12:19,132 INFO L273 TraceCheckUtils]: 19: Hoare triple {1654#(= main_~i~1 0)} assume !(#t~mem3.base != 0 || #t~mem3.offset != 0);havoc #t~mem3.base, #t~mem3.offset; {1654#(= main_~i~1 0)} is VALID [2018-11-23 12:12:19,134 INFO L273 TraceCheckUtils]: 20: Hoare triple {1654#(= main_~i~1 0)} #t~post2 := ~i~1;~i~1 := 1 + #t~post2;havoc #t~post2; {1655#(<= main_~i~1 1)} is VALID [2018-11-23 12:12:19,134 INFO L273 TraceCheckUtils]: 21: Hoare triple {1655#(<= main_~i~1 1)} assume !!(~i~1 < 100000);call #t~mem3.base, #t~mem3.offset := read~$Pointer$(~#a~0.base, ~#a~0.offset + 4 * ~i~1, 4); {1655#(<= main_~i~1 1)} is VALID [2018-11-23 12:12:19,136 INFO L273 TraceCheckUtils]: 22: Hoare triple {1655#(<= main_~i~1 1)} assume !(#t~mem3.base != 0 || #t~mem3.offset != 0);havoc #t~mem3.base, #t~mem3.offset; {1655#(<= main_~i~1 1)} is VALID [2018-11-23 12:12:19,138 INFO L273 TraceCheckUtils]: 23: Hoare triple {1655#(<= main_~i~1 1)} #t~post2 := ~i~1;~i~1 := 1 + #t~post2;havoc #t~post2; {1656#(<= main_~i~1 2)} is VALID [2018-11-23 12:12:19,141 INFO L273 TraceCheckUtils]: 24: Hoare triple {1656#(<= main_~i~1 2)} assume !!(~i~1 < 100000);call #t~mem3.base, #t~mem3.offset := read~$Pointer$(~#a~0.base, ~#a~0.offset + 4 * ~i~1, 4); {1656#(<= main_~i~1 2)} is VALID [2018-11-23 12:12:19,143 INFO L273 TraceCheckUtils]: 25: Hoare triple {1656#(<= main_~i~1 2)} assume !(#t~mem3.base != 0 || #t~mem3.offset != 0);havoc #t~mem3.base, #t~mem3.offset; {1656#(<= main_~i~1 2)} is VALID [2018-11-23 12:12:19,144 INFO L273 TraceCheckUtils]: 26: Hoare triple {1656#(<= main_~i~1 2)} #t~post2 := ~i~1;~i~1 := 1 + #t~post2;havoc #t~post2; {1657#(<= main_~i~1 3)} is VALID [2018-11-23 12:12:19,144 INFO L273 TraceCheckUtils]: 27: Hoare triple {1657#(<= main_~i~1 3)} assume !!(~i~1 < 100000);call #t~mem3.base, #t~mem3.offset := read~$Pointer$(~#a~0.base, ~#a~0.offset + 4 * ~i~1, 4); {1657#(<= main_~i~1 3)} is VALID [2018-11-23 12:12:19,146 INFO L273 TraceCheckUtils]: 28: Hoare triple {1657#(<= main_~i~1 3)} assume !(#t~mem3.base != 0 || #t~mem3.offset != 0);havoc #t~mem3.base, #t~mem3.offset; {1657#(<= main_~i~1 3)} is VALID [2018-11-23 12:12:19,147 INFO L273 TraceCheckUtils]: 29: Hoare triple {1657#(<= main_~i~1 3)} #t~post2 := ~i~1;~i~1 := 1 + #t~post2;havoc #t~post2; {1658#(<= main_~i~1 4)} is VALID [2018-11-23 12:12:19,148 INFO L273 TraceCheckUtils]: 30: Hoare triple {1658#(<= main_~i~1 4)} assume !(~i~1 < 100000); {1653#false} is VALID [2018-11-23 12:12:19,148 INFO L273 TraceCheckUtils]: 31: Hoare triple {1653#false} ~i~1 := 0; {1653#false} is VALID [2018-11-23 12:12:19,148 INFO L273 TraceCheckUtils]: 32: Hoare triple {1653#false} assume !!(~i~1 < 100000); {1653#false} is VALID [2018-11-23 12:12:19,148 INFO L273 TraceCheckUtils]: 33: Hoare triple {1653#false} assume 0 == ~flag~0;call #t~mem5.base, #t~mem5.offset := read~$Pointer$(~#a~0.base, ~#a~0.offset + 4 * ~i~1, 4); {1653#false} is VALID [2018-11-23 12:12:19,149 INFO L256 TraceCheckUtils]: 34: Hoare triple {1653#false} call __VERIFIER_assert((if #t~mem5.base == 0 && #t~mem5.offset == 0 then 1 else 0)); {1653#false} is VALID [2018-11-23 12:12:19,149 INFO L273 TraceCheckUtils]: 35: Hoare triple {1653#false} ~cond := #in~cond; {1653#false} is VALID [2018-11-23 12:12:19,149 INFO L273 TraceCheckUtils]: 36: Hoare triple {1653#false} assume 0 == ~cond; {1653#false} is VALID [2018-11-23 12:12:19,149 INFO L273 TraceCheckUtils]: 37: Hoare triple {1653#false} assume !false; {1653#false} is VALID [2018-11-23 12:12:19,152 INFO L134 CoverageAnalysis]: Checked inductivity of 31 backedges. 0 proven. 22 refuted. 0 times theorem prover too weak. 9 trivial. 0 not checked. [2018-11-23 12:12:19,152 INFO L300 seRefinementStrategy]: The current sequences of interpolants are not accepted, trying to find more. [2018-11-23 12:12:19,152 INFO L223 ckRefinementStrategy]: Switched to mode Z3_FP No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 Starting monitored process 5 with z3 -smt2 -in SMTLIB2_COMPLIANT=true -t:12000 (exit command is (exit), workingDir is null) Waiting until toolchain timeout for monitored process 5 with z3 -smt2 -in SMTLIB2_COMPLIANT=true -t:12000 [2018-11-23 12:12:19,169 INFO L103 rtionOrderModulation]: Keeping assertion order OUTSIDE_LOOP_FIRST2 [2018-11-23 12:12:19,207 INFO L249 tOrderPrioritization]: Assert order OUTSIDE_LOOP_FIRST2 issued 3 check-sat command(s) [2018-11-23 12:12:19,207 INFO L250 tOrderPrioritization]: Conjunction of SSA is unsat [2018-11-23 12:12:19,238 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2018-11-23 12:12:19,240 INFO L273 TraceCheckSpWp]: Computing forward predicates... [2018-11-23 12:12:19,590 INFO L478 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 2, 0 stores, 1 select indices, 1 select index equivalence classes, 0 disjoint index pairs (out of 0 index pairs), introduced 1 new quantified variables, introduced 0 case distinctions, treesize of input 15 treesize of output 11 [2018-11-23 12:12:19,619 INFO L478 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 1, 0 stores, 1 select indices, 1 select index equivalence classes, 0 disjoint index pairs (out of 0 index pairs), introduced 0 new quantified variables, introduced 0 case distinctions, treesize of input 11 treesize of output 3 [2018-11-23 12:12:19,644 INFO L267 ElimStorePlain]: Start of recursive call 3: End of recursive call: and 1 xjuncts. [2018-11-23 12:12:19,684 INFO L267 ElimStorePlain]: Start of recursive call 2: 1 dim-1 vars, End of recursive call: and 1 xjuncts. [2018-11-23 12:12:19,806 INFO L478 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 2, 0 stores, 1 select indices, 1 select index equivalence classes, 0 disjoint index pairs (out of 0 index pairs), introduced 1 new quantified variables, introduced 0 case distinctions, treesize of input 15 treesize of output 11 [2018-11-23 12:12:19,867 INFO L478 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 1, 0 stores, 1 select indices, 1 select index equivalence classes, 0 disjoint index pairs (out of 0 index pairs), introduced 0 new quantified variables, introduced 0 case distinctions, treesize of input 11 treesize of output 3 [2018-11-23 12:12:19,883 INFO L267 ElimStorePlain]: Start of recursive call 5: End of recursive call: and 1 xjuncts. [2018-11-23 12:12:19,906 INFO L267 ElimStorePlain]: Start of recursive call 4: 1 dim-1 vars, End of recursive call: and 1 xjuncts. [2018-11-23 12:12:19,933 INFO L267 ElimStorePlain]: Start of recursive call 1: 1 dim-0 vars, 2 dim-2 vars, End of recursive call: and 1 xjuncts. [2018-11-23 12:12:19,933 INFO L202 ElimStorePlain]: Needed 5 recursive calls to eliminate 3 variables, input treesize:29, output treesize:7 [2018-11-23 12:12:19,940 WARN L383 uantifierElimination]: Trying to double check SDD result, but SMT solver's response was UNKNOWN. [2018-11-23 12:12:19,941 WARN L384 uantifierElimination]: Input elimination task: ∃ [|#memory_$Pointer$.base|, |main_~#a~0.base|, |#memory_$Pointer$.offset|]. (let ((.cse1 (select (select |#memory_$Pointer$.offset| |main_~#a~0.base|) 0)) (.cse0 (select (select |#memory_$Pointer$.base| |main_~#a~0.base|) 0))) (and (= .cse0 |main_#t~mem5.base|) (= 0 .cse1) (= |main_#t~mem5.offset| .cse1) (= .cse0 0))) [2018-11-23 12:12:19,941 WARN L385 uantifierElimination]: ElimStorePlain result: ∃ []. (and (= |main_#t~mem5.base| 0) (= |main_#t~mem5.offset| 0)) [2018-11-23 12:12:19,999 INFO L256 TraceCheckUtils]: 0: Hoare triple {1652#true} call ULTIMATE.init(); {1652#true} is VALID [2018-11-23 12:12:20,000 INFO L273 TraceCheckUtils]: 1: Hoare triple {1652#true} #NULL.base, #NULL.offset := 0, 0;#valid := #valid[0 := 0]; {1652#true} is VALID [2018-11-23 12:12:20,000 INFO L273 TraceCheckUtils]: 2: Hoare triple {1652#true} assume true; {1652#true} is VALID [2018-11-23 12:12:20,000 INFO L268 TraceCheckUtils]: 3: Hoare quadruple {1652#true} {1652#true} #76#return; {1652#true} is VALID [2018-11-23 12:12:20,001 INFO L256 TraceCheckUtils]: 4: Hoare triple {1652#true} call #t~ret6 := main(); {1652#true} is VALID [2018-11-23 12:12:20,001 INFO L273 TraceCheckUtils]: 5: Hoare triple {1652#true} call ~#a~0.base, ~#a~0.offset := #Ultimate.alloc(400000);havoc ~i~1;havoc ~flag~0;~flag~0 := 0; {1677#(= |main_~#a~0.offset| 0)} is VALID [2018-11-23 12:12:20,002 INFO L256 TraceCheckUtils]: 6: Hoare triple {1677#(= |main_~#a~0.offset| 0)} call init(~#a~0.base, ~#a~0.offset, 100000); {1652#true} is VALID [2018-11-23 12:12:20,002 INFO L273 TraceCheckUtils]: 7: Hoare triple {1652#true} ~a.base, ~a.offset := #in~a.base, #in~a.offset;~size := #in~size;havoc ~i~0;~i~0 := 0; {1652#true} is VALID [2018-11-23 12:12:20,002 INFO L273 TraceCheckUtils]: 8: Hoare triple {1652#true} assume !!(~i~0 < ~size);call #t~malloc1.base, #t~malloc1.offset := #Ultimate.alloc(4);call write~$Pointer$(#t~malloc1.base, #t~malloc1.offset, ~a.base, ~a.offset + 4 * ~i~0, 4); {1652#true} is VALID [2018-11-23 12:12:20,002 INFO L273 TraceCheckUtils]: 9: Hoare triple {1652#true} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {1652#true} is VALID [2018-11-23 12:12:20,003 INFO L273 TraceCheckUtils]: 10: Hoare triple {1652#true} assume !!(~i~0 < ~size);call #t~malloc1.base, #t~malloc1.offset := #Ultimate.alloc(4);call write~$Pointer$(#t~malloc1.base, #t~malloc1.offset, ~a.base, ~a.offset + 4 * ~i~0, 4); {1652#true} is VALID [2018-11-23 12:12:20,003 INFO L273 TraceCheckUtils]: 11: Hoare triple {1652#true} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {1652#true} is VALID [2018-11-23 12:12:20,003 INFO L273 TraceCheckUtils]: 12: Hoare triple {1652#true} assume !!(~i~0 < ~size);call #t~malloc1.base, #t~malloc1.offset := #Ultimate.alloc(4);call write~$Pointer$(#t~malloc1.base, #t~malloc1.offset, ~a.base, ~a.offset + 4 * ~i~0, 4); {1652#true} is VALID [2018-11-23 12:12:20,003 INFO L273 TraceCheckUtils]: 13: Hoare triple {1652#true} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {1652#true} is VALID [2018-11-23 12:12:20,003 INFO L273 TraceCheckUtils]: 14: Hoare triple {1652#true} assume !(~i~0 < ~size); {1652#true} is VALID [2018-11-23 12:12:20,003 INFO L273 TraceCheckUtils]: 15: Hoare triple {1652#true} assume true; {1652#true} is VALID [2018-11-23 12:12:20,004 INFO L268 TraceCheckUtils]: 16: Hoare quadruple {1652#true} {1677#(= |main_~#a~0.offset| 0)} #80#return; {1677#(= |main_~#a~0.offset| 0)} is VALID [2018-11-23 12:12:20,005 INFO L273 TraceCheckUtils]: 17: Hoare triple {1677#(= |main_~#a~0.offset| 0)} ~i~1 := 0; {1714#(and (= main_~i~1 0) (= |main_~#a~0.offset| 0))} is VALID [2018-11-23 12:12:20,006 INFO L273 TraceCheckUtils]: 18: Hoare triple {1714#(and (= main_~i~1 0) (= |main_~#a~0.offset| 0))} assume !!(~i~1 < 100000);call #t~mem3.base, #t~mem3.offset := read~$Pointer$(~#a~0.base, ~#a~0.offset + 4 * ~i~1, 4); {1718#(and (= |main_#t~mem3.offset| (select (select |#memory_$Pointer$.offset| |main_~#a~0.base|) |main_~#a~0.offset|)) (= (select (select |#memory_$Pointer$.base| |main_~#a~0.base|) |main_~#a~0.offset|) |main_#t~mem3.base|) (= |main_~#a~0.offset| 0))} is VALID [2018-11-23 12:12:20,007 INFO L273 TraceCheckUtils]: 19: Hoare triple {1718#(and (= |main_#t~mem3.offset| (select (select |#memory_$Pointer$.offset| |main_~#a~0.base|) |main_~#a~0.offset|)) (= (select (select |#memory_$Pointer$.base| |main_~#a~0.base|) |main_~#a~0.offset|) |main_#t~mem3.base|) (= |main_~#a~0.offset| 0))} assume !(#t~mem3.base != 0 || #t~mem3.offset != 0);havoc #t~mem3.base, #t~mem3.offset; {1722#(and (= 0 (select (select |#memory_$Pointer$.offset| |main_~#a~0.base|) |main_~#a~0.offset|)) (= (select (select |#memory_$Pointer$.base| |main_~#a~0.base|) |main_~#a~0.offset|) 0) (= |main_~#a~0.offset| 0))} is VALID [2018-11-23 12:12:20,007 INFO L273 TraceCheckUtils]: 20: Hoare triple {1722#(and (= 0 (select (select |#memory_$Pointer$.offset| |main_~#a~0.base|) |main_~#a~0.offset|)) (= (select (select |#memory_$Pointer$.base| |main_~#a~0.base|) |main_~#a~0.offset|) 0) (= |main_~#a~0.offset| 0))} #t~post2 := ~i~1;~i~1 := 1 + #t~post2;havoc #t~post2; {1722#(and (= 0 (select (select |#memory_$Pointer$.offset| |main_~#a~0.base|) |main_~#a~0.offset|)) (= (select (select |#memory_$Pointer$.base| |main_~#a~0.base|) |main_~#a~0.offset|) 0) (= |main_~#a~0.offset| 0))} is VALID [2018-11-23 12:12:20,028 INFO L273 TraceCheckUtils]: 21: Hoare triple {1722#(and (= 0 (select (select |#memory_$Pointer$.offset| |main_~#a~0.base|) |main_~#a~0.offset|)) (= (select (select |#memory_$Pointer$.base| |main_~#a~0.base|) |main_~#a~0.offset|) 0) (= |main_~#a~0.offset| 0))} assume !!(~i~1 < 100000);call #t~mem3.base, #t~mem3.offset := read~$Pointer$(~#a~0.base, ~#a~0.offset + 4 * ~i~1, 4); {1722#(and (= 0 (select (select |#memory_$Pointer$.offset| |main_~#a~0.base|) |main_~#a~0.offset|)) (= (select (select |#memory_$Pointer$.base| |main_~#a~0.base|) |main_~#a~0.offset|) 0) (= |main_~#a~0.offset| 0))} is VALID [2018-11-23 12:12:20,033 INFO L273 TraceCheckUtils]: 22: Hoare triple {1722#(and (= 0 (select (select |#memory_$Pointer$.offset| |main_~#a~0.base|) |main_~#a~0.offset|)) (= (select (select |#memory_$Pointer$.base| |main_~#a~0.base|) |main_~#a~0.offset|) 0) (= |main_~#a~0.offset| 0))} assume !(#t~mem3.base != 0 || #t~mem3.offset != 0);havoc #t~mem3.base, #t~mem3.offset; {1722#(and (= 0 (select (select |#memory_$Pointer$.offset| |main_~#a~0.base|) |main_~#a~0.offset|)) (= (select (select |#memory_$Pointer$.base| |main_~#a~0.base|) |main_~#a~0.offset|) 0) (= |main_~#a~0.offset| 0))} is VALID [2018-11-23 12:12:20,034 INFO L273 TraceCheckUtils]: 23: Hoare triple {1722#(and (= 0 (select (select |#memory_$Pointer$.offset| |main_~#a~0.base|) |main_~#a~0.offset|)) (= (select (select |#memory_$Pointer$.base| |main_~#a~0.base|) |main_~#a~0.offset|) 0) (= |main_~#a~0.offset| 0))} #t~post2 := ~i~1;~i~1 := 1 + #t~post2;havoc #t~post2; {1722#(and (= 0 (select (select |#memory_$Pointer$.offset| |main_~#a~0.base|) |main_~#a~0.offset|)) (= (select (select |#memory_$Pointer$.base| |main_~#a~0.base|) |main_~#a~0.offset|) 0) (= |main_~#a~0.offset| 0))} is VALID [2018-11-23 12:12:20,039 INFO L273 TraceCheckUtils]: 24: Hoare triple {1722#(and (= 0 (select (select |#memory_$Pointer$.offset| |main_~#a~0.base|) |main_~#a~0.offset|)) (= (select (select |#memory_$Pointer$.base| |main_~#a~0.base|) |main_~#a~0.offset|) 0) (= |main_~#a~0.offset| 0))} assume !!(~i~1 < 100000);call #t~mem3.base, #t~mem3.offset := read~$Pointer$(~#a~0.base, ~#a~0.offset + 4 * ~i~1, 4); {1722#(and (= 0 (select (select |#memory_$Pointer$.offset| |main_~#a~0.base|) |main_~#a~0.offset|)) (= (select (select |#memory_$Pointer$.base| |main_~#a~0.base|) |main_~#a~0.offset|) 0) (= |main_~#a~0.offset| 0))} is VALID [2018-11-23 12:12:20,039 INFO L273 TraceCheckUtils]: 25: Hoare triple {1722#(and (= 0 (select (select |#memory_$Pointer$.offset| |main_~#a~0.base|) |main_~#a~0.offset|)) (= (select (select |#memory_$Pointer$.base| |main_~#a~0.base|) |main_~#a~0.offset|) 0) (= |main_~#a~0.offset| 0))} assume !(#t~mem3.base != 0 || #t~mem3.offset != 0);havoc #t~mem3.base, #t~mem3.offset; {1722#(and (= 0 (select (select |#memory_$Pointer$.offset| |main_~#a~0.base|) |main_~#a~0.offset|)) (= (select (select |#memory_$Pointer$.base| |main_~#a~0.base|) |main_~#a~0.offset|) 0) (= |main_~#a~0.offset| 0))} is VALID [2018-11-23 12:12:20,040 INFO L273 TraceCheckUtils]: 26: Hoare triple {1722#(and (= 0 (select (select |#memory_$Pointer$.offset| |main_~#a~0.base|) |main_~#a~0.offset|)) (= (select (select |#memory_$Pointer$.base| |main_~#a~0.base|) |main_~#a~0.offset|) 0) (= |main_~#a~0.offset| 0))} #t~post2 := ~i~1;~i~1 := 1 + #t~post2;havoc #t~post2; {1722#(and (= 0 (select (select |#memory_$Pointer$.offset| |main_~#a~0.base|) |main_~#a~0.offset|)) (= (select (select |#memory_$Pointer$.base| |main_~#a~0.base|) |main_~#a~0.offset|) 0) (= |main_~#a~0.offset| 0))} is VALID [2018-11-23 12:12:20,041 INFO L273 TraceCheckUtils]: 27: Hoare triple {1722#(and (= 0 (select (select |#memory_$Pointer$.offset| |main_~#a~0.base|) |main_~#a~0.offset|)) (= (select (select |#memory_$Pointer$.base| |main_~#a~0.base|) |main_~#a~0.offset|) 0) (= |main_~#a~0.offset| 0))} assume !!(~i~1 < 100000);call #t~mem3.base, #t~mem3.offset := read~$Pointer$(~#a~0.base, ~#a~0.offset + 4 * ~i~1, 4); {1722#(and (= 0 (select (select |#memory_$Pointer$.offset| |main_~#a~0.base|) |main_~#a~0.offset|)) (= (select (select |#memory_$Pointer$.base| |main_~#a~0.base|) |main_~#a~0.offset|) 0) (= |main_~#a~0.offset| 0))} is VALID [2018-11-23 12:12:20,041 INFO L273 TraceCheckUtils]: 28: Hoare triple {1722#(and (= 0 (select (select |#memory_$Pointer$.offset| |main_~#a~0.base|) |main_~#a~0.offset|)) (= (select (select |#memory_$Pointer$.base| |main_~#a~0.base|) |main_~#a~0.offset|) 0) (= |main_~#a~0.offset| 0))} assume !(#t~mem3.base != 0 || #t~mem3.offset != 0);havoc #t~mem3.base, #t~mem3.offset; {1722#(and (= 0 (select (select |#memory_$Pointer$.offset| |main_~#a~0.base|) |main_~#a~0.offset|)) (= (select (select |#memory_$Pointer$.base| |main_~#a~0.base|) |main_~#a~0.offset|) 0) (= |main_~#a~0.offset| 0))} is VALID [2018-11-23 12:12:20,042 INFO L273 TraceCheckUtils]: 29: Hoare triple {1722#(and (= 0 (select (select |#memory_$Pointer$.offset| |main_~#a~0.base|) |main_~#a~0.offset|)) (= (select (select |#memory_$Pointer$.base| |main_~#a~0.base|) |main_~#a~0.offset|) 0) (= |main_~#a~0.offset| 0))} #t~post2 := ~i~1;~i~1 := 1 + #t~post2;havoc #t~post2; {1722#(and (= 0 (select (select |#memory_$Pointer$.offset| |main_~#a~0.base|) |main_~#a~0.offset|)) (= (select (select |#memory_$Pointer$.base| |main_~#a~0.base|) |main_~#a~0.offset|) 0) (= |main_~#a~0.offset| 0))} is VALID [2018-11-23 12:12:20,043 INFO L273 TraceCheckUtils]: 30: Hoare triple {1722#(and (= 0 (select (select |#memory_$Pointer$.offset| |main_~#a~0.base|) |main_~#a~0.offset|)) (= (select (select |#memory_$Pointer$.base| |main_~#a~0.base|) |main_~#a~0.offset|) 0) (= |main_~#a~0.offset| 0))} assume !(~i~1 < 100000); {1722#(and (= 0 (select (select |#memory_$Pointer$.offset| |main_~#a~0.base|) |main_~#a~0.offset|)) (= (select (select |#memory_$Pointer$.base| |main_~#a~0.base|) |main_~#a~0.offset|) 0) (= |main_~#a~0.offset| 0))} is VALID [2018-11-23 12:12:20,044 INFO L273 TraceCheckUtils]: 31: Hoare triple {1722#(and (= 0 (select (select |#memory_$Pointer$.offset| |main_~#a~0.base|) |main_~#a~0.offset|)) (= (select (select |#memory_$Pointer$.base| |main_~#a~0.base|) |main_~#a~0.offset|) 0) (= |main_~#a~0.offset| 0))} ~i~1 := 0; {1759#(and (= 0 (select (select |#memory_$Pointer$.offset| |main_~#a~0.base|) |main_~#a~0.offset|)) (= main_~i~1 0) (= (select (select |#memory_$Pointer$.base| |main_~#a~0.base|) |main_~#a~0.offset|) 0) (= |main_~#a~0.offset| 0))} is VALID [2018-11-23 12:12:20,062 INFO L273 TraceCheckUtils]: 32: Hoare triple {1759#(and (= 0 (select (select |#memory_$Pointer$.offset| |main_~#a~0.base|) |main_~#a~0.offset|)) (= main_~i~1 0) (= (select (select |#memory_$Pointer$.base| |main_~#a~0.base|) |main_~#a~0.offset|) 0) (= |main_~#a~0.offset| 0))} assume !!(~i~1 < 100000); {1759#(and (= 0 (select (select |#memory_$Pointer$.offset| |main_~#a~0.base|) |main_~#a~0.offset|)) (= main_~i~1 0) (= (select (select |#memory_$Pointer$.base| |main_~#a~0.base|) |main_~#a~0.offset|) 0) (= |main_~#a~0.offset| 0))} is VALID [2018-11-23 12:12:20,077 INFO L273 TraceCheckUtils]: 33: Hoare triple {1759#(and (= 0 (select (select |#memory_$Pointer$.offset| |main_~#a~0.base|) |main_~#a~0.offset|)) (= main_~i~1 0) (= (select (select |#memory_$Pointer$.base| |main_~#a~0.base|) |main_~#a~0.offset|) 0) (= |main_~#a~0.offset| 0))} assume 0 == ~flag~0;call #t~mem5.base, #t~mem5.offset := read~$Pointer$(~#a~0.base, ~#a~0.offset + 4 * ~i~1, 4); {1766#(and (= |main_#t~mem5.base| 0) (= |main_#t~mem5.offset| 0))} is VALID [2018-11-23 12:12:20,091 INFO L256 TraceCheckUtils]: 34: Hoare triple {1766#(and (= |main_#t~mem5.base| 0) (= |main_#t~mem5.offset| 0))} call __VERIFIER_assert((if #t~mem5.base == 0 && #t~mem5.offset == 0 then 1 else 0)); {1770#(= |__VERIFIER_assert_#in~cond| 1)} is VALID [2018-11-23 12:12:20,098 INFO L273 TraceCheckUtils]: 35: Hoare triple {1770#(= |__VERIFIER_assert_#in~cond| 1)} ~cond := #in~cond; {1774#(= 1 __VERIFIER_assert_~cond)} is VALID [2018-11-23 12:12:20,103 INFO L273 TraceCheckUtils]: 36: Hoare triple {1774#(= 1 __VERIFIER_assert_~cond)} assume 0 == ~cond; {1653#false} is VALID [2018-11-23 12:12:20,103 INFO L273 TraceCheckUtils]: 37: Hoare triple {1653#false} assume !false; {1653#false} is VALID [2018-11-23 12:12:20,109 INFO L134 CoverageAnalysis]: Checked inductivity of 31 backedges. 0 proven. 7 refuted. 0 times theorem prover too weak. 24 trivial. 0 not checked. [2018-11-23 12:12:20,132 INFO L312 seRefinementStrategy]: Constructing automaton from 0 perfect and 2 imperfect interpolant sequences. [2018-11-23 12:12:20,133 INFO L327 seRefinementStrategy]: Number of different interpolants: perfect sequences [] imperfect sequences [7, 10] total 15 [2018-11-23 12:12:20,134 INFO L78 Accepts]: Start accepts. Automaton has 15 states. Word has length 38 [2018-11-23 12:12:20,134 INFO L84 Accepts]: Finished accepts. word is accepted. [2018-11-23 12:12:20,134 INFO L86 InductivityCheck]: Starting indutivity check of a Floyd-Hoare automaton with 15 states. [2018-11-23 12:12:20,311 INFO L119 InductivityCheck]: Floyd-Hoare automaton has 50 edges. 50 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2018-11-23 12:12:20,312 INFO L459 AbstractCegarLoop]: Interpolant automaton has 15 states [2018-11-23 12:12:20,312 INFO L142 InterpolantAutomaton]: Constructing interpolant automaton starting with 15 interpolants. [2018-11-23 12:12:20,312 INFO L144 InterpolantAutomaton]: CoverageRelationStatistics Valid=53, Invalid=157, Unknown=0, NotChecked=0, Total=210 [2018-11-23 12:12:20,312 INFO L87 Difference]: Start difference. First operand 43 states and 46 transitions. Second operand 15 states. [2018-11-23 12:12:22,102 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2018-11-23 12:12:22,102 INFO L93 Difference]: Finished difference Result 89 states and 104 transitions. [2018-11-23 12:12:22,102 INFO L142 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 14 states. [2018-11-23 12:12:22,102 INFO L78 Accepts]: Start accepts. Automaton has 15 states. Word has length 38 [2018-11-23 12:12:22,103 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2018-11-23 12:12:22,103 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 15 states. [2018-11-23 12:12:22,106 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 14 states to 14 states and 99 transitions. [2018-11-23 12:12:22,106 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 15 states. [2018-11-23 12:12:22,109 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 14 states to 14 states and 99 transitions. [2018-11-23 12:12:22,110 INFO L86 InductivityCheck]: Starting indutivity check of a Floyd-Hoare automaton with 14 states and 99 transitions. [2018-11-23 12:12:22,234 INFO L119 InductivityCheck]: Floyd-Hoare automaton has 99 edges. 99 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2018-11-23 12:12:22,236 INFO L225 Difference]: With dead ends: 89 [2018-11-23 12:12:22,236 INFO L226 Difference]: Without dead ends: 77 [2018-11-23 12:12:22,237 INFO L631 BasicCegarLoop]: 0 DeclaredPredicates, 51 GetRequests, 31 SyntacticMatches, 0 SemanticMatches, 20 ConstructedPredicates, 0 IntricatePredicates, 0 DeprecatedPredicates, 84 ImplicationChecksByTransitivity, 0.6s TimeCoverageRelationStatistics Valid=119, Invalid=343, Unknown=0, NotChecked=0, Total=462 [2018-11-23 12:12:22,238 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 77 states. [2018-11-23 12:12:22,311 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 77 to 53. [2018-11-23 12:12:22,311 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2018-11-23 12:12:22,311 INFO L82 GeneralOperation]: Start isEquivalent. First operand 77 states. Second operand 53 states. [2018-11-23 12:12:22,311 INFO L74 IsIncluded]: Start isIncluded. First operand 77 states. Second operand 53 states. [2018-11-23 12:12:22,312 INFO L87 Difference]: Start difference. First operand 77 states. Second operand 53 states. [2018-11-23 12:12:22,315 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2018-11-23 12:12:22,315 INFO L93 Difference]: Finished difference Result 77 states and 89 transitions. [2018-11-23 12:12:22,315 INFO L276 IsEmpty]: Start isEmpty. Operand 77 states and 89 transitions. [2018-11-23 12:12:22,316 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2018-11-23 12:12:22,316 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2018-11-23 12:12:22,316 INFO L74 IsIncluded]: Start isIncluded. First operand 53 states. Second operand 77 states. [2018-11-23 12:12:22,316 INFO L87 Difference]: Start difference. First operand 53 states. Second operand 77 states. [2018-11-23 12:12:22,319 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2018-11-23 12:12:22,319 INFO L93 Difference]: Finished difference Result 77 states and 89 transitions. [2018-11-23 12:12:22,320 INFO L276 IsEmpty]: Start isEmpty. Operand 77 states and 89 transitions. [2018-11-23 12:12:22,320 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2018-11-23 12:12:22,320 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2018-11-23 12:12:22,320 INFO L88 GeneralOperation]: Finished isEquivalent. [2018-11-23 12:12:22,321 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2018-11-23 12:12:22,321 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 53 states. [2018-11-23 12:12:22,322 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 53 states to 53 states and 57 transitions. [2018-11-23 12:12:22,323 INFO L78 Accepts]: Start accepts. Automaton has 53 states and 57 transitions. Word has length 38 [2018-11-23 12:12:22,323 INFO L84 Accepts]: Finished accepts. word is rejected. [2018-11-23 12:12:22,323 INFO L480 AbstractCegarLoop]: Abstraction has 53 states and 57 transitions. [2018-11-23 12:12:22,323 INFO L481 AbstractCegarLoop]: Interpolant automaton has 15 states. [2018-11-23 12:12:22,323 INFO L276 IsEmpty]: Start isEmpty. Operand 53 states and 57 transitions. [2018-11-23 12:12:22,324 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 45 [2018-11-23 12:12:22,324 INFO L394 BasicCegarLoop]: Found error trace [2018-11-23 12:12:22,324 INFO L402 BasicCegarLoop]: trace histogram [5, 5, 5, 3, 3, 2, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1] [2018-11-23 12:12:22,325 INFO L423 AbstractCegarLoop]: === Iteration 8 === [__VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION]=== [2018-11-23 12:12:22,325 INFO L141 PredicateUnifier]: Initialized classic predicate unifier [2018-11-23 12:12:22,325 INFO L82 PathProgramCache]: Analyzing trace with hash -448891321, now seen corresponding path program 1 times [2018-11-23 12:12:22,325 INFO L223 ckRefinementStrategy]: Switched to mode SMTINTERPOL_TREE_INTERPOLANTS [2018-11-23 12:12:22,325 INFO L69 tionRefinementEngine]: Using refinement strategy CamelRefinementStrategy [2018-11-23 12:12:22,326 INFO L119 rtionOrderModulation]: Craig_TreeInterpolation forces the order to NOT_INCREMENTALLY [2018-11-23 12:12:22,326 INFO L101 rtionOrderModulation]: Changing assertion order to NOT_INCREMENTALLY [2018-11-23 12:12:22,326 INFO L119 rtionOrderModulation]: Craig_TreeInterpolation forces the order to NOT_INCREMENTALLY [2018-11-23 12:12:22,342 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2018-11-23 12:12:22,402 INFO L256 TraceCheckUtils]: 0: Hoare triple {2145#true} call ULTIMATE.init(); {2145#true} is VALID [2018-11-23 12:12:22,402 INFO L273 TraceCheckUtils]: 1: Hoare triple {2145#true} #NULL.base, #NULL.offset := 0, 0;#valid := #valid[0 := 0]; {2145#true} is VALID [2018-11-23 12:12:22,403 INFO L273 TraceCheckUtils]: 2: Hoare triple {2145#true} assume true; {2145#true} is VALID [2018-11-23 12:12:22,403 INFO L268 TraceCheckUtils]: 3: Hoare quadruple {2145#true} {2145#true} #76#return; {2145#true} is VALID [2018-11-23 12:12:22,403 INFO L256 TraceCheckUtils]: 4: Hoare triple {2145#true} call #t~ret6 := main(); {2145#true} is VALID [2018-11-23 12:12:22,410 INFO L273 TraceCheckUtils]: 5: Hoare triple {2145#true} call ~#a~0.base, ~#a~0.offset := #Ultimate.alloc(400000);havoc ~i~1;havoc ~flag~0;~flag~0 := 0; {2147#(= main_~flag~0 0)} is VALID [2018-11-23 12:12:22,410 INFO L256 TraceCheckUtils]: 6: Hoare triple {2147#(= main_~flag~0 0)} call init(~#a~0.base, ~#a~0.offset, 100000); {2145#true} is VALID [2018-11-23 12:12:22,410 INFO L273 TraceCheckUtils]: 7: Hoare triple {2145#true} ~a.base, ~a.offset := #in~a.base, #in~a.offset;~size := #in~size;havoc ~i~0;~i~0 := 0; {2145#true} is VALID [2018-11-23 12:12:22,410 INFO L273 TraceCheckUtils]: 8: Hoare triple {2145#true} assume !!(~i~0 < ~size);call #t~malloc1.base, #t~malloc1.offset := #Ultimate.alloc(4);call write~$Pointer$(#t~malloc1.base, #t~malloc1.offset, ~a.base, ~a.offset + 4 * ~i~0, 4); {2145#true} is VALID [2018-11-23 12:12:22,410 INFO L273 TraceCheckUtils]: 9: Hoare triple {2145#true} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {2145#true} is VALID [2018-11-23 12:12:22,411 INFO L273 TraceCheckUtils]: 10: Hoare triple {2145#true} assume !!(~i~0 < ~size);call #t~malloc1.base, #t~malloc1.offset := #Ultimate.alloc(4);call write~$Pointer$(#t~malloc1.base, #t~malloc1.offset, ~a.base, ~a.offset + 4 * ~i~0, 4); {2145#true} is VALID [2018-11-23 12:12:22,411 INFO L273 TraceCheckUtils]: 11: Hoare triple {2145#true} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {2145#true} is VALID [2018-11-23 12:12:22,411 INFO L273 TraceCheckUtils]: 12: Hoare triple {2145#true} assume !!(~i~0 < ~size);call #t~malloc1.base, #t~malloc1.offset := #Ultimate.alloc(4);call write~$Pointer$(#t~malloc1.base, #t~malloc1.offset, ~a.base, ~a.offset + 4 * ~i~0, 4); {2145#true} is VALID [2018-11-23 12:12:22,411 INFO L273 TraceCheckUtils]: 13: Hoare triple {2145#true} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {2145#true} is VALID [2018-11-23 12:12:22,411 INFO L273 TraceCheckUtils]: 14: Hoare triple {2145#true} assume !(~i~0 < ~size); {2145#true} is VALID [2018-11-23 12:12:22,411 INFO L273 TraceCheckUtils]: 15: Hoare triple {2145#true} assume true; {2145#true} is VALID [2018-11-23 12:12:22,414 INFO L268 TraceCheckUtils]: 16: Hoare quadruple {2145#true} {2147#(= main_~flag~0 0)} #80#return; {2147#(= main_~flag~0 0)} is VALID [2018-11-23 12:12:22,414 INFO L273 TraceCheckUtils]: 17: Hoare triple {2147#(= main_~flag~0 0)} ~i~1 := 0; {2147#(= main_~flag~0 0)} is VALID [2018-11-23 12:12:22,416 INFO L273 TraceCheckUtils]: 18: Hoare triple {2147#(= main_~flag~0 0)} assume !!(~i~1 < 100000);call #t~mem3.base, #t~mem3.offset := read~$Pointer$(~#a~0.base, ~#a~0.offset + 4 * ~i~1, 4); {2147#(= main_~flag~0 0)} is VALID [2018-11-23 12:12:22,419 INFO L273 TraceCheckUtils]: 19: Hoare triple {2147#(= main_~flag~0 0)} assume !(#t~mem3.base != 0 || #t~mem3.offset != 0);havoc #t~mem3.base, #t~mem3.offset; {2147#(= main_~flag~0 0)} is VALID [2018-11-23 12:12:22,421 INFO L273 TraceCheckUtils]: 20: Hoare triple {2147#(= main_~flag~0 0)} #t~post2 := ~i~1;~i~1 := 1 + #t~post2;havoc #t~post2; {2147#(= main_~flag~0 0)} is VALID [2018-11-23 12:12:22,421 INFO L273 TraceCheckUtils]: 21: Hoare triple {2147#(= main_~flag~0 0)} assume !!(~i~1 < 100000);call #t~mem3.base, #t~mem3.offset := read~$Pointer$(~#a~0.base, ~#a~0.offset + 4 * ~i~1, 4); {2147#(= main_~flag~0 0)} is VALID [2018-11-23 12:12:22,421 INFO L273 TraceCheckUtils]: 22: Hoare triple {2147#(= main_~flag~0 0)} assume !(#t~mem3.base != 0 || #t~mem3.offset != 0);havoc #t~mem3.base, #t~mem3.offset; {2147#(= main_~flag~0 0)} is VALID [2018-11-23 12:12:22,440 INFO L273 TraceCheckUtils]: 23: Hoare triple {2147#(= main_~flag~0 0)} #t~post2 := ~i~1;~i~1 := 1 + #t~post2;havoc #t~post2; {2147#(= main_~flag~0 0)} is VALID [2018-11-23 12:12:22,442 INFO L273 TraceCheckUtils]: 24: Hoare triple {2147#(= main_~flag~0 0)} assume !!(~i~1 < 100000);call #t~mem3.base, #t~mem3.offset := read~$Pointer$(~#a~0.base, ~#a~0.offset + 4 * ~i~1, 4); {2147#(= main_~flag~0 0)} is VALID [2018-11-23 12:12:22,443 INFO L273 TraceCheckUtils]: 25: Hoare triple {2147#(= main_~flag~0 0)} assume !(#t~mem3.base != 0 || #t~mem3.offset != 0);havoc #t~mem3.base, #t~mem3.offset; {2147#(= main_~flag~0 0)} is VALID [2018-11-23 12:12:22,443 INFO L273 TraceCheckUtils]: 26: Hoare triple {2147#(= main_~flag~0 0)} #t~post2 := ~i~1;~i~1 := 1 + #t~post2;havoc #t~post2; {2147#(= main_~flag~0 0)} is VALID [2018-11-23 12:12:22,446 INFO L273 TraceCheckUtils]: 27: Hoare triple {2147#(= main_~flag~0 0)} assume !!(~i~1 < 100000);call #t~mem3.base, #t~mem3.offset := read~$Pointer$(~#a~0.base, ~#a~0.offset + 4 * ~i~1, 4); {2147#(= main_~flag~0 0)} is VALID [2018-11-23 12:12:22,446 INFO L273 TraceCheckUtils]: 28: Hoare triple {2147#(= main_~flag~0 0)} assume !(#t~mem3.base != 0 || #t~mem3.offset != 0);havoc #t~mem3.base, #t~mem3.offset; {2147#(= main_~flag~0 0)} is VALID [2018-11-23 12:12:22,454 INFO L273 TraceCheckUtils]: 29: Hoare triple {2147#(= main_~flag~0 0)} #t~post2 := ~i~1;~i~1 := 1 + #t~post2;havoc #t~post2; {2147#(= main_~flag~0 0)} is VALID [2018-11-23 12:12:22,455 INFO L273 TraceCheckUtils]: 30: Hoare triple {2147#(= main_~flag~0 0)} assume !!(~i~1 < 100000);call #t~mem3.base, #t~mem3.offset := read~$Pointer$(~#a~0.base, ~#a~0.offset + 4 * ~i~1, 4); {2147#(= main_~flag~0 0)} is VALID [2018-11-23 12:12:22,455 INFO L273 TraceCheckUtils]: 31: Hoare triple {2147#(= main_~flag~0 0)} assume !(#t~mem3.base != 0 || #t~mem3.offset != 0);havoc #t~mem3.base, #t~mem3.offset; {2147#(= main_~flag~0 0)} is VALID [2018-11-23 12:12:22,455 INFO L273 TraceCheckUtils]: 32: Hoare triple {2147#(= main_~flag~0 0)} #t~post2 := ~i~1;~i~1 := 1 + #t~post2;havoc #t~post2; {2147#(= main_~flag~0 0)} is VALID [2018-11-23 12:12:22,456 INFO L273 TraceCheckUtils]: 33: Hoare triple {2147#(= main_~flag~0 0)} assume !(~i~1 < 100000); {2147#(= main_~flag~0 0)} is VALID [2018-11-23 12:12:22,456 INFO L273 TraceCheckUtils]: 34: Hoare triple {2147#(= main_~flag~0 0)} ~i~1 := 0; {2147#(= main_~flag~0 0)} is VALID [2018-11-23 12:12:22,456 INFO L273 TraceCheckUtils]: 35: Hoare triple {2147#(= main_~flag~0 0)} assume !!(~i~1 < 100000); {2147#(= main_~flag~0 0)} is VALID [2018-11-23 12:12:22,457 INFO L273 TraceCheckUtils]: 36: Hoare triple {2147#(= main_~flag~0 0)} assume !(0 == ~flag~0); {2146#false} is VALID [2018-11-23 12:12:22,457 INFO L273 TraceCheckUtils]: 37: Hoare triple {2146#false} #t~post4 := ~i~1;~i~1 := 1 + #t~post4;havoc #t~post4; {2146#false} is VALID [2018-11-23 12:12:22,457 INFO L273 TraceCheckUtils]: 38: Hoare triple {2146#false} assume !!(~i~1 < 100000); {2146#false} is VALID [2018-11-23 12:12:22,458 INFO L273 TraceCheckUtils]: 39: Hoare triple {2146#false} assume 0 == ~flag~0;call #t~mem5.base, #t~mem5.offset := read~$Pointer$(~#a~0.base, ~#a~0.offset + 4 * ~i~1, 4); {2146#false} is VALID [2018-11-23 12:12:22,458 INFO L256 TraceCheckUtils]: 40: Hoare triple {2146#false} call __VERIFIER_assert((if #t~mem5.base == 0 && #t~mem5.offset == 0 then 1 else 0)); {2146#false} is VALID [2018-11-23 12:12:22,458 INFO L273 TraceCheckUtils]: 41: Hoare triple {2146#false} ~cond := #in~cond; {2146#false} is VALID [2018-11-23 12:12:22,458 INFO L273 TraceCheckUtils]: 42: Hoare triple {2146#false} assume 0 == ~cond; {2146#false} is VALID [2018-11-23 12:12:22,458 INFO L273 TraceCheckUtils]: 43: Hoare triple {2146#false} assume !false; {2146#false} is VALID [2018-11-23 12:12:22,460 INFO L134 CoverageAnalysis]: Checked inductivity of 46 backedges. 2 proven. 0 refuted. 0 times theorem prover too weak. 44 trivial. 0 not checked. [2018-11-23 12:12:22,461 INFO L312 seRefinementStrategy]: Constructing automaton from 1 perfect and 0 imperfect interpolant sequences. [2018-11-23 12:12:22,461 INFO L327 seRefinementStrategy]: Number of different interpolants: perfect sequences [3] imperfect sequences [] total 3 [2018-11-23 12:12:22,461 INFO L78 Accepts]: Start accepts. Automaton has 3 states. Word has length 44 [2018-11-23 12:12:22,461 INFO L84 Accepts]: Finished accepts. word is accepted. [2018-11-23 12:12:22,461 INFO L86 InductivityCheck]: Starting indutivity check of a Floyd-Hoare automaton with 3 states. [2018-11-23 12:12:22,509 INFO L119 InductivityCheck]: Floyd-Hoare automaton has 28 edges. 28 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2018-11-23 12:12:22,509 INFO L459 AbstractCegarLoop]: Interpolant automaton has 3 states [2018-11-23 12:12:22,509 INFO L142 InterpolantAutomaton]: Constructing interpolant automaton starting with 3 interpolants. [2018-11-23 12:12:22,510 INFO L144 InterpolantAutomaton]: CoverageRelationStatistics Valid=3, Invalid=3, Unknown=0, NotChecked=0, Total=6 [2018-11-23 12:12:22,510 INFO L87 Difference]: Start difference. First operand 53 states and 57 transitions. Second operand 3 states. [2018-11-23 12:12:22,613 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2018-11-23 12:12:22,613 INFO L93 Difference]: Finished difference Result 64 states and 69 transitions. [2018-11-23 12:12:22,614 INFO L142 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 3 states. [2018-11-23 12:12:22,614 INFO L78 Accepts]: Start accepts. Automaton has 3 states. Word has length 44 [2018-11-23 12:12:22,614 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2018-11-23 12:12:22,614 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 3 states. [2018-11-23 12:12:22,616 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 3 states to 3 states and 43 transitions. [2018-11-23 12:12:22,616 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 3 states. [2018-11-23 12:12:22,618 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 3 states to 3 states and 43 transitions. [2018-11-23 12:12:22,618 INFO L86 InductivityCheck]: Starting indutivity check of a Floyd-Hoare automaton with 3 states and 43 transitions. [2018-11-23 12:12:22,662 INFO L119 InductivityCheck]: Floyd-Hoare automaton has 43 edges. 43 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2018-11-23 12:12:22,664 INFO L225 Difference]: With dead ends: 64 [2018-11-23 12:12:22,664 INFO L226 Difference]: Without dead ends: 53 [2018-11-23 12:12:22,665 INFO L631 BasicCegarLoop]: 0 DeclaredPredicates, 3 GetRequests, 2 SyntacticMatches, 0 SemanticMatches, 1 ConstructedPredicates, 0 IntricatePredicates, 0 DeprecatedPredicates, 0 ImplicationChecksByTransitivity, 0.0s TimeCoverageRelationStatistics Valid=3, Invalid=3, Unknown=0, NotChecked=0, Total=6 [2018-11-23 12:12:22,665 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 53 states. [2018-11-23 12:12:22,735 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 53 to 53. [2018-11-23 12:12:22,736 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2018-11-23 12:12:22,736 INFO L82 GeneralOperation]: Start isEquivalent. First operand 53 states. Second operand 53 states. [2018-11-23 12:12:22,736 INFO L74 IsIncluded]: Start isIncluded. First operand 53 states. Second operand 53 states. [2018-11-23 12:12:22,736 INFO L87 Difference]: Start difference. First operand 53 states. Second operand 53 states. [2018-11-23 12:12:22,739 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2018-11-23 12:12:22,739 INFO L93 Difference]: Finished difference Result 53 states and 55 transitions. [2018-11-23 12:12:22,739 INFO L276 IsEmpty]: Start isEmpty. Operand 53 states and 55 transitions. [2018-11-23 12:12:22,740 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2018-11-23 12:12:22,740 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2018-11-23 12:12:22,740 INFO L74 IsIncluded]: Start isIncluded. First operand 53 states. Second operand 53 states. [2018-11-23 12:12:22,740 INFO L87 Difference]: Start difference. First operand 53 states. Second operand 53 states. [2018-11-23 12:12:22,741 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2018-11-23 12:12:22,742 INFO L93 Difference]: Finished difference Result 53 states and 55 transitions. [2018-11-23 12:12:22,742 INFO L276 IsEmpty]: Start isEmpty. Operand 53 states and 55 transitions. [2018-11-23 12:12:22,742 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2018-11-23 12:12:22,742 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2018-11-23 12:12:22,742 INFO L88 GeneralOperation]: Finished isEquivalent. [2018-11-23 12:12:22,742 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2018-11-23 12:12:22,742 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 53 states. [2018-11-23 12:12:22,744 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 53 states to 53 states and 55 transitions. [2018-11-23 12:12:22,744 INFO L78 Accepts]: Start accepts. Automaton has 53 states and 55 transitions. Word has length 44 [2018-11-23 12:12:22,744 INFO L84 Accepts]: Finished accepts. word is rejected. [2018-11-23 12:12:22,745 INFO L480 AbstractCegarLoop]: Abstraction has 53 states and 55 transitions. [2018-11-23 12:12:22,745 INFO L481 AbstractCegarLoop]: Interpolant automaton has 3 states. [2018-11-23 12:12:22,745 INFO L276 IsEmpty]: Start isEmpty. Operand 53 states and 55 transitions. [2018-11-23 12:12:22,745 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 51 [2018-11-23 12:12:22,746 INFO L394 BasicCegarLoop]: Found error trace [2018-11-23 12:12:22,746 INFO L402 BasicCegarLoop]: trace histogram [5, 5, 5, 3, 3, 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] [2018-11-23 12:12:22,746 INFO L423 AbstractCegarLoop]: === Iteration 9 === [__VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION]=== [2018-11-23 12:12:22,746 INFO L141 PredicateUnifier]: Initialized classic predicate unifier [2018-11-23 12:12:22,747 INFO L82 PathProgramCache]: Analyzing trace with hash -828938698, now seen corresponding path program 1 times [2018-11-23 12:12:22,747 INFO L223 ckRefinementStrategy]: Switched to mode SMTINTERPOL_TREE_INTERPOLANTS [2018-11-23 12:12:22,747 INFO L69 tionRefinementEngine]: Using refinement strategy CamelRefinementStrategy [2018-11-23 12:12:22,748 INFO L119 rtionOrderModulation]: Craig_TreeInterpolation forces the order to NOT_INCREMENTALLY [2018-11-23 12:12:22,748 INFO L103 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2018-11-23 12:12:22,748 INFO L119 rtionOrderModulation]: Craig_TreeInterpolation forces the order to NOT_INCREMENTALLY [2018-11-23 12:12:22,769 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2018-11-23 12:12:23,212 INFO L256 TraceCheckUtils]: 0: Hoare triple {2420#true} call ULTIMATE.init(); {2420#true} is VALID [2018-11-23 12:12:23,213 INFO L273 TraceCheckUtils]: 1: Hoare triple {2420#true} #NULL.base, #NULL.offset := 0, 0;#valid := #valid[0 := 0]; {2420#true} is VALID [2018-11-23 12:12:23,213 INFO L273 TraceCheckUtils]: 2: Hoare triple {2420#true} assume true; {2420#true} is VALID [2018-11-23 12:12:23,213 INFO L268 TraceCheckUtils]: 3: Hoare quadruple {2420#true} {2420#true} #76#return; {2420#true} is VALID [2018-11-23 12:12:23,214 INFO L256 TraceCheckUtils]: 4: Hoare triple {2420#true} call #t~ret6 := main(); {2420#true} is VALID [2018-11-23 12:12:23,214 INFO L273 TraceCheckUtils]: 5: Hoare triple {2420#true} call ~#a~0.base, ~#a~0.offset := #Ultimate.alloc(400000);havoc ~i~1;havoc ~flag~0;~flag~0 := 0; {2420#true} is VALID [2018-11-23 12:12:23,214 INFO L256 TraceCheckUtils]: 6: Hoare triple {2420#true} call init(~#a~0.base, ~#a~0.offset, 100000); {2420#true} is VALID [2018-11-23 12:12:23,214 INFO L273 TraceCheckUtils]: 7: Hoare triple {2420#true} ~a.base, ~a.offset := #in~a.base, #in~a.offset;~size := #in~size;havoc ~i~0;~i~0 := 0; {2420#true} is VALID [2018-11-23 12:12:23,215 INFO L273 TraceCheckUtils]: 8: Hoare triple {2420#true} assume !!(~i~0 < ~size);call #t~malloc1.base, #t~malloc1.offset := #Ultimate.alloc(4);call write~$Pointer$(#t~malloc1.base, #t~malloc1.offset, ~a.base, ~a.offset + 4 * ~i~0, 4); {2420#true} is VALID [2018-11-23 12:12:23,215 INFO L273 TraceCheckUtils]: 9: Hoare triple {2420#true} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {2420#true} is VALID [2018-11-23 12:12:23,215 INFO L273 TraceCheckUtils]: 10: Hoare triple {2420#true} assume !!(~i~0 < ~size);call #t~malloc1.base, #t~malloc1.offset := #Ultimate.alloc(4);call write~$Pointer$(#t~malloc1.base, #t~malloc1.offset, ~a.base, ~a.offset + 4 * ~i~0, 4); {2420#true} is VALID [2018-11-23 12:12:23,215 INFO L273 TraceCheckUtils]: 11: Hoare triple {2420#true} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {2420#true} is VALID [2018-11-23 12:12:23,215 INFO L273 TraceCheckUtils]: 12: Hoare triple {2420#true} assume !!(~i~0 < ~size);call #t~malloc1.base, #t~malloc1.offset := #Ultimate.alloc(4);call write~$Pointer$(#t~malloc1.base, #t~malloc1.offset, ~a.base, ~a.offset + 4 * ~i~0, 4); {2420#true} is VALID [2018-11-23 12:12:23,215 INFO L273 TraceCheckUtils]: 13: Hoare triple {2420#true} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {2420#true} is VALID [2018-11-23 12:12:23,215 INFO L273 TraceCheckUtils]: 14: Hoare triple {2420#true} assume !(~i~0 < ~size); {2420#true} is VALID [2018-11-23 12:12:23,216 INFO L273 TraceCheckUtils]: 15: Hoare triple {2420#true} assume true; {2420#true} is VALID [2018-11-23 12:12:23,216 INFO L268 TraceCheckUtils]: 16: Hoare quadruple {2420#true} {2420#true} #80#return; {2420#true} is VALID [2018-11-23 12:12:23,216 INFO L273 TraceCheckUtils]: 17: Hoare triple {2420#true} ~i~1 := 0; {2422#(= main_~i~1 0)} is VALID [2018-11-23 12:12:23,217 INFO L273 TraceCheckUtils]: 18: Hoare triple {2422#(= main_~i~1 0)} assume !!(~i~1 < 100000);call #t~mem3.base, #t~mem3.offset := read~$Pointer$(~#a~0.base, ~#a~0.offset + 4 * ~i~1, 4); {2422#(= main_~i~1 0)} is VALID [2018-11-23 12:12:23,217 INFO L273 TraceCheckUtils]: 19: Hoare triple {2422#(= main_~i~1 0)} assume !(#t~mem3.base != 0 || #t~mem3.offset != 0);havoc #t~mem3.base, #t~mem3.offset; {2422#(= main_~i~1 0)} is VALID [2018-11-23 12:12:23,217 INFO L273 TraceCheckUtils]: 20: Hoare triple {2422#(= main_~i~1 0)} #t~post2 := ~i~1;~i~1 := 1 + #t~post2;havoc #t~post2; {2423#(<= main_~i~1 1)} is VALID [2018-11-23 12:12:23,227 INFO L273 TraceCheckUtils]: 21: Hoare triple {2423#(<= main_~i~1 1)} assume !!(~i~1 < 100000);call #t~mem3.base, #t~mem3.offset := read~$Pointer$(~#a~0.base, ~#a~0.offset + 4 * ~i~1, 4); {2423#(<= main_~i~1 1)} is VALID [2018-11-23 12:12:23,227 INFO L273 TraceCheckUtils]: 22: Hoare triple {2423#(<= main_~i~1 1)} assume !(#t~mem3.base != 0 || #t~mem3.offset != 0);havoc #t~mem3.base, #t~mem3.offset; {2423#(<= main_~i~1 1)} is VALID [2018-11-23 12:12:23,228 INFO L273 TraceCheckUtils]: 23: Hoare triple {2423#(<= main_~i~1 1)} #t~post2 := ~i~1;~i~1 := 1 + #t~post2;havoc #t~post2; {2424#(<= main_~i~1 2)} is VALID [2018-11-23 12:12:23,228 INFO L273 TraceCheckUtils]: 24: Hoare triple {2424#(<= main_~i~1 2)} assume !!(~i~1 < 100000);call #t~mem3.base, #t~mem3.offset := read~$Pointer$(~#a~0.base, ~#a~0.offset + 4 * ~i~1, 4); {2424#(<= main_~i~1 2)} is VALID [2018-11-23 12:12:23,229 INFO L273 TraceCheckUtils]: 25: Hoare triple {2424#(<= main_~i~1 2)} assume !(#t~mem3.base != 0 || #t~mem3.offset != 0);havoc #t~mem3.base, #t~mem3.offset; {2424#(<= main_~i~1 2)} is VALID [2018-11-23 12:12:23,229 INFO L273 TraceCheckUtils]: 26: Hoare triple {2424#(<= main_~i~1 2)} #t~post2 := ~i~1;~i~1 := 1 + #t~post2;havoc #t~post2; {2425#(<= main_~i~1 3)} is VALID [2018-11-23 12:12:23,231 INFO L273 TraceCheckUtils]: 27: Hoare triple {2425#(<= main_~i~1 3)} assume !!(~i~1 < 100000);call #t~mem3.base, #t~mem3.offset := read~$Pointer$(~#a~0.base, ~#a~0.offset + 4 * ~i~1, 4); {2425#(<= main_~i~1 3)} is VALID [2018-11-23 12:12:23,231 INFO L273 TraceCheckUtils]: 28: Hoare triple {2425#(<= main_~i~1 3)} assume !(#t~mem3.base != 0 || #t~mem3.offset != 0);havoc #t~mem3.base, #t~mem3.offset; {2425#(<= main_~i~1 3)} is VALID [2018-11-23 12:12:23,231 INFO L273 TraceCheckUtils]: 29: Hoare triple {2425#(<= main_~i~1 3)} #t~post2 := ~i~1;~i~1 := 1 + #t~post2;havoc #t~post2; {2426#(<= main_~i~1 4)} is VALID [2018-11-23 12:12:23,232 INFO L273 TraceCheckUtils]: 30: Hoare triple {2426#(<= main_~i~1 4)} assume !!(~i~1 < 100000);call #t~mem3.base, #t~mem3.offset := read~$Pointer$(~#a~0.base, ~#a~0.offset + 4 * ~i~1, 4); {2426#(<= main_~i~1 4)} is VALID [2018-11-23 12:12:23,233 INFO L273 TraceCheckUtils]: 31: Hoare triple {2426#(<= main_~i~1 4)} assume !(#t~mem3.base != 0 || #t~mem3.offset != 0);havoc #t~mem3.base, #t~mem3.offset; {2426#(<= main_~i~1 4)} is VALID [2018-11-23 12:12:23,233 INFO L273 TraceCheckUtils]: 32: Hoare triple {2426#(<= main_~i~1 4)} #t~post2 := ~i~1;~i~1 := 1 + #t~post2;havoc #t~post2; {2427#(<= main_~i~1 5)} is VALID [2018-11-23 12:12:23,237 INFO L273 TraceCheckUtils]: 33: Hoare triple {2427#(<= main_~i~1 5)} assume !(~i~1 < 100000); {2421#false} is VALID [2018-11-23 12:12:23,237 INFO L273 TraceCheckUtils]: 34: Hoare triple {2421#false} ~i~1 := 0; {2421#false} is VALID [2018-11-23 12:12:23,238 INFO L273 TraceCheckUtils]: 35: Hoare triple {2421#false} assume !!(~i~1 < 100000); {2421#false} is VALID [2018-11-23 12:12:23,238 INFO L273 TraceCheckUtils]: 36: Hoare triple {2421#false} assume 0 == ~flag~0;call #t~mem5.base, #t~mem5.offset := read~$Pointer$(~#a~0.base, ~#a~0.offset + 4 * ~i~1, 4); {2421#false} is VALID [2018-11-23 12:12:23,238 INFO L256 TraceCheckUtils]: 37: Hoare triple {2421#false} call __VERIFIER_assert((if #t~mem5.base == 0 && #t~mem5.offset == 0 then 1 else 0)); {2420#true} is VALID [2018-11-23 12:12:23,238 INFO L273 TraceCheckUtils]: 38: Hoare triple {2420#true} ~cond := #in~cond; {2420#true} is VALID [2018-11-23 12:12:23,239 INFO L273 TraceCheckUtils]: 39: Hoare triple {2420#true} assume !(0 == ~cond); {2420#true} is VALID [2018-11-23 12:12:23,239 INFO L273 TraceCheckUtils]: 40: Hoare triple {2420#true} assume true; {2420#true} is VALID [2018-11-23 12:12:23,239 INFO L268 TraceCheckUtils]: 41: Hoare quadruple {2420#true} {2421#false} #82#return; {2421#false} is VALID [2018-11-23 12:12:23,240 INFO L273 TraceCheckUtils]: 42: Hoare triple {2421#false} havoc #t~mem5.base, #t~mem5.offset; {2421#false} is VALID [2018-11-23 12:12:23,240 INFO L273 TraceCheckUtils]: 43: Hoare triple {2421#false} #t~post4 := ~i~1;~i~1 := 1 + #t~post4;havoc #t~post4; {2421#false} is VALID [2018-11-23 12:12:23,240 INFO L273 TraceCheckUtils]: 44: Hoare triple {2421#false} assume !!(~i~1 < 100000); {2421#false} is VALID [2018-11-23 12:12:23,240 INFO L273 TraceCheckUtils]: 45: Hoare triple {2421#false} assume 0 == ~flag~0;call #t~mem5.base, #t~mem5.offset := read~$Pointer$(~#a~0.base, ~#a~0.offset + 4 * ~i~1, 4); {2421#false} is VALID [2018-11-23 12:12:23,240 INFO L256 TraceCheckUtils]: 46: Hoare triple {2421#false} call __VERIFIER_assert((if #t~mem5.base == 0 && #t~mem5.offset == 0 then 1 else 0)); {2421#false} is VALID [2018-11-23 12:12:23,241 INFO L273 TraceCheckUtils]: 47: Hoare triple {2421#false} ~cond := #in~cond; {2421#false} is VALID [2018-11-23 12:12:23,241 INFO L273 TraceCheckUtils]: 48: Hoare triple {2421#false} assume 0 == ~cond; {2421#false} is VALID [2018-11-23 12:12:23,241 INFO L273 TraceCheckUtils]: 49: Hoare triple {2421#false} assume !false; {2421#false} is VALID [2018-11-23 12:12:23,243 INFO L134 CoverageAnalysis]: Checked inductivity of 49 backedges. 2 proven. 35 refuted. 0 times theorem prover too weak. 12 trivial. 0 not checked. [2018-11-23 12:12:23,243 INFO L300 seRefinementStrategy]: The current sequences of interpolants are not accepted, trying to find more. [2018-11-23 12:12:23,243 INFO L223 ckRefinementStrategy]: Switched to mode Z3_FP No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 Starting monitored process 6 with z3 -smt2 -in SMTLIB2_COMPLIANT=true -t:12000 (exit command is (exit), workingDir is null) Waiting until toolchain timeout for monitored process 6 with z3 -smt2 -in SMTLIB2_COMPLIANT=true -t:12000 [2018-11-23 12:12:23,257 INFO L103 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2018-11-23 12:12:23,288 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2018-11-23 12:12:23,315 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2018-11-23 12:12:23,317 INFO L273 TraceCheckSpWp]: Computing forward predicates... [2018-11-23 12:12:23,477 INFO L256 TraceCheckUtils]: 0: Hoare triple {2420#true} call ULTIMATE.init(); {2420#true} is VALID [2018-11-23 12:12:23,477 INFO L273 TraceCheckUtils]: 1: Hoare triple {2420#true} #NULL.base, #NULL.offset := 0, 0;#valid := #valid[0 := 0]; {2420#true} is VALID [2018-11-23 12:12:23,477 INFO L273 TraceCheckUtils]: 2: Hoare triple {2420#true} assume true; {2420#true} is VALID [2018-11-23 12:12:23,477 INFO L268 TraceCheckUtils]: 3: Hoare quadruple {2420#true} {2420#true} #76#return; {2420#true} is VALID [2018-11-23 12:12:23,478 INFO L256 TraceCheckUtils]: 4: Hoare triple {2420#true} call #t~ret6 := main(); {2420#true} is VALID [2018-11-23 12:12:23,478 INFO L273 TraceCheckUtils]: 5: Hoare triple {2420#true} call ~#a~0.base, ~#a~0.offset := #Ultimate.alloc(400000);havoc ~i~1;havoc ~flag~0;~flag~0 := 0; {2420#true} is VALID [2018-11-23 12:12:23,478 INFO L256 TraceCheckUtils]: 6: Hoare triple {2420#true} call init(~#a~0.base, ~#a~0.offset, 100000); {2420#true} is VALID [2018-11-23 12:12:23,479 INFO L273 TraceCheckUtils]: 7: Hoare triple {2420#true} ~a.base, ~a.offset := #in~a.base, #in~a.offset;~size := #in~size;havoc ~i~0;~i~0 := 0; {2452#(and (<= |init_#in~size| init_~size) (<= init_~i~0 0))} is VALID [2018-11-23 12:12:23,480 INFO L273 TraceCheckUtils]: 8: Hoare triple {2452#(and (<= |init_#in~size| init_~size) (<= init_~i~0 0))} assume !!(~i~0 < ~size);call #t~malloc1.base, #t~malloc1.offset := #Ultimate.alloc(4);call write~$Pointer$(#t~malloc1.base, #t~malloc1.offset, ~a.base, ~a.offset + 4 * ~i~0, 4); {2452#(and (<= |init_#in~size| init_~size) (<= init_~i~0 0))} is VALID [2018-11-23 12:12:23,481 INFO L273 TraceCheckUtils]: 9: Hoare triple {2452#(and (<= |init_#in~size| init_~size) (<= init_~i~0 0))} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {2459#(and (<= |init_#in~size| init_~size) (<= init_~i~0 1))} is VALID [2018-11-23 12:12:23,481 INFO L273 TraceCheckUtils]: 10: Hoare triple {2459#(and (<= |init_#in~size| init_~size) (<= init_~i~0 1))} assume !!(~i~0 < ~size);call #t~malloc1.base, #t~malloc1.offset := #Ultimate.alloc(4);call write~$Pointer$(#t~malloc1.base, #t~malloc1.offset, ~a.base, ~a.offset + 4 * ~i~0, 4); {2459#(and (<= |init_#in~size| init_~size) (<= init_~i~0 1))} is VALID [2018-11-23 12:12:23,482 INFO L273 TraceCheckUtils]: 11: Hoare triple {2459#(and (<= |init_#in~size| init_~size) (<= init_~i~0 1))} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {2466#(and (<= |init_#in~size| init_~size) (<= init_~i~0 2))} is VALID [2018-11-23 12:12:23,483 INFO L273 TraceCheckUtils]: 12: Hoare triple {2466#(and (<= |init_#in~size| init_~size) (<= init_~i~0 2))} assume !!(~i~0 < ~size);call #t~malloc1.base, #t~malloc1.offset := #Ultimate.alloc(4);call write~$Pointer$(#t~malloc1.base, #t~malloc1.offset, ~a.base, ~a.offset + 4 * ~i~0, 4); {2466#(and (<= |init_#in~size| init_~size) (<= init_~i~0 2))} is VALID [2018-11-23 12:12:23,484 INFO L273 TraceCheckUtils]: 13: Hoare triple {2466#(and (<= |init_#in~size| init_~size) (<= init_~i~0 2))} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {2473#(and (<= |init_#in~size| init_~size) (<= init_~i~0 3))} is VALID [2018-11-23 12:12:23,485 INFO L273 TraceCheckUtils]: 14: Hoare triple {2473#(and (<= |init_#in~size| init_~size) (<= init_~i~0 3))} assume !(~i~0 < ~size); {2477#(<= |init_#in~size| 3)} is VALID [2018-11-23 12:12:23,485 INFO L273 TraceCheckUtils]: 15: Hoare triple {2477#(<= |init_#in~size| 3)} assume true; {2477#(<= |init_#in~size| 3)} is VALID [2018-11-23 12:12:23,486 INFO L268 TraceCheckUtils]: 16: Hoare quadruple {2477#(<= |init_#in~size| 3)} {2420#true} #80#return; {2421#false} is VALID [2018-11-23 12:12:23,487 INFO L273 TraceCheckUtils]: 17: Hoare triple {2421#false} ~i~1 := 0; {2421#false} is VALID [2018-11-23 12:12:23,487 INFO L273 TraceCheckUtils]: 18: Hoare triple {2421#false} assume !!(~i~1 < 100000);call #t~mem3.base, #t~mem3.offset := read~$Pointer$(~#a~0.base, ~#a~0.offset + 4 * ~i~1, 4); {2421#false} is VALID [2018-11-23 12:12:23,487 INFO L273 TraceCheckUtils]: 19: Hoare triple {2421#false} assume !(#t~mem3.base != 0 || #t~mem3.offset != 0);havoc #t~mem3.base, #t~mem3.offset; {2421#false} is VALID [2018-11-23 12:12:23,487 INFO L273 TraceCheckUtils]: 20: Hoare triple {2421#false} #t~post2 := ~i~1;~i~1 := 1 + #t~post2;havoc #t~post2; {2421#false} is VALID [2018-11-23 12:12:23,488 INFO L273 TraceCheckUtils]: 21: Hoare triple {2421#false} assume !!(~i~1 < 100000);call #t~mem3.base, #t~mem3.offset := read~$Pointer$(~#a~0.base, ~#a~0.offset + 4 * ~i~1, 4); {2421#false} is VALID [2018-11-23 12:12:23,488 INFO L273 TraceCheckUtils]: 22: Hoare triple {2421#false} assume !(#t~mem3.base != 0 || #t~mem3.offset != 0);havoc #t~mem3.base, #t~mem3.offset; {2421#false} is VALID [2018-11-23 12:12:23,488 INFO L273 TraceCheckUtils]: 23: Hoare triple {2421#false} #t~post2 := ~i~1;~i~1 := 1 + #t~post2;havoc #t~post2; {2421#false} is VALID [2018-11-23 12:12:23,488 INFO L273 TraceCheckUtils]: 24: Hoare triple {2421#false} assume !!(~i~1 < 100000);call #t~mem3.base, #t~mem3.offset := read~$Pointer$(~#a~0.base, ~#a~0.offset + 4 * ~i~1, 4); {2421#false} is VALID [2018-11-23 12:12:23,489 INFO L273 TraceCheckUtils]: 25: Hoare triple {2421#false} assume !(#t~mem3.base != 0 || #t~mem3.offset != 0);havoc #t~mem3.base, #t~mem3.offset; {2421#false} is VALID [2018-11-23 12:12:23,489 INFO L273 TraceCheckUtils]: 26: Hoare triple {2421#false} #t~post2 := ~i~1;~i~1 := 1 + #t~post2;havoc #t~post2; {2421#false} is VALID [2018-11-23 12:12:23,489 INFO L273 TraceCheckUtils]: 27: Hoare triple {2421#false} assume !!(~i~1 < 100000);call #t~mem3.base, #t~mem3.offset := read~$Pointer$(~#a~0.base, ~#a~0.offset + 4 * ~i~1, 4); {2421#false} is VALID [2018-11-23 12:12:23,489 INFO L273 TraceCheckUtils]: 28: Hoare triple {2421#false} assume !(#t~mem3.base != 0 || #t~mem3.offset != 0);havoc #t~mem3.base, #t~mem3.offset; {2421#false} is VALID [2018-11-23 12:12:23,489 INFO L273 TraceCheckUtils]: 29: Hoare triple {2421#false} #t~post2 := ~i~1;~i~1 := 1 + #t~post2;havoc #t~post2; {2421#false} is VALID [2018-11-23 12:12:23,490 INFO L273 TraceCheckUtils]: 30: Hoare triple {2421#false} assume !!(~i~1 < 100000);call #t~mem3.base, #t~mem3.offset := read~$Pointer$(~#a~0.base, ~#a~0.offset + 4 * ~i~1, 4); {2421#false} is VALID [2018-11-23 12:12:23,490 INFO L273 TraceCheckUtils]: 31: Hoare triple {2421#false} assume !(#t~mem3.base != 0 || #t~mem3.offset != 0);havoc #t~mem3.base, #t~mem3.offset; {2421#false} is VALID [2018-11-23 12:12:23,490 INFO L273 TraceCheckUtils]: 32: Hoare triple {2421#false} #t~post2 := ~i~1;~i~1 := 1 + #t~post2;havoc #t~post2; {2421#false} is VALID [2018-11-23 12:12:23,490 INFO L273 TraceCheckUtils]: 33: Hoare triple {2421#false} assume !(~i~1 < 100000); {2421#false} is VALID [2018-11-23 12:12:23,491 INFO L273 TraceCheckUtils]: 34: Hoare triple {2421#false} ~i~1 := 0; {2421#false} is VALID [2018-11-23 12:12:23,491 INFO L273 TraceCheckUtils]: 35: Hoare triple {2421#false} assume !!(~i~1 < 100000); {2421#false} is VALID [2018-11-23 12:12:23,491 INFO L273 TraceCheckUtils]: 36: Hoare triple {2421#false} assume 0 == ~flag~0;call #t~mem5.base, #t~mem5.offset := read~$Pointer$(~#a~0.base, ~#a~0.offset + 4 * ~i~1, 4); {2421#false} is VALID [2018-11-23 12:12:23,491 INFO L256 TraceCheckUtils]: 37: Hoare triple {2421#false} call __VERIFIER_assert((if #t~mem5.base == 0 && #t~mem5.offset == 0 then 1 else 0)); {2421#false} is VALID [2018-11-23 12:12:23,491 INFO L273 TraceCheckUtils]: 38: Hoare triple {2421#false} ~cond := #in~cond; {2421#false} is VALID [2018-11-23 12:12:23,491 INFO L273 TraceCheckUtils]: 39: Hoare triple {2421#false} assume !(0 == ~cond); {2421#false} is VALID [2018-11-23 12:12:23,492 INFO L273 TraceCheckUtils]: 40: Hoare triple {2421#false} assume true; {2421#false} is VALID [2018-11-23 12:12:23,492 INFO L268 TraceCheckUtils]: 41: Hoare quadruple {2421#false} {2421#false} #82#return; {2421#false} is VALID [2018-11-23 12:12:23,492 INFO L273 TraceCheckUtils]: 42: Hoare triple {2421#false} havoc #t~mem5.base, #t~mem5.offset; {2421#false} is VALID [2018-11-23 12:12:23,492 INFO L273 TraceCheckUtils]: 43: Hoare triple {2421#false} #t~post4 := ~i~1;~i~1 := 1 + #t~post4;havoc #t~post4; {2421#false} is VALID [2018-11-23 12:12:23,492 INFO L273 TraceCheckUtils]: 44: Hoare triple {2421#false} assume !!(~i~1 < 100000); {2421#false} is VALID [2018-11-23 12:12:23,492 INFO L273 TraceCheckUtils]: 45: Hoare triple {2421#false} assume 0 == ~flag~0;call #t~mem5.base, #t~mem5.offset := read~$Pointer$(~#a~0.base, ~#a~0.offset + 4 * ~i~1, 4); {2421#false} is VALID [2018-11-23 12:12:23,492 INFO L256 TraceCheckUtils]: 46: Hoare triple {2421#false} call __VERIFIER_assert((if #t~mem5.base == 0 && #t~mem5.offset == 0 then 1 else 0)); {2421#false} is VALID [2018-11-23 12:12:23,492 INFO L273 TraceCheckUtils]: 47: Hoare triple {2421#false} ~cond := #in~cond; {2421#false} is VALID [2018-11-23 12:12:23,493 INFO L273 TraceCheckUtils]: 48: Hoare triple {2421#false} assume 0 == ~cond; {2421#false} is VALID [2018-11-23 12:12:23,493 INFO L273 TraceCheckUtils]: 49: Hoare triple {2421#false} assume !false; {2421#false} is VALID [2018-11-23 12:12:23,494 INFO L134 CoverageAnalysis]: Checked inductivity of 49 backedges. 0 proven. 9 refuted. 0 times theorem prover too weak. 40 trivial. 0 not checked. [2018-11-23 12:12:23,514 INFO L312 seRefinementStrategy]: Constructing automaton from 0 perfect and 2 imperfect interpolant sequences. [2018-11-23 12:12:23,514 INFO L327 seRefinementStrategy]: Number of different interpolants: perfect sequences [] imperfect sequences [8, 7] total 13 [2018-11-23 12:12:23,515 INFO L78 Accepts]: Start accepts. Automaton has 13 states. Word has length 50 [2018-11-23 12:12:23,515 INFO L84 Accepts]: Finished accepts. word is accepted. [2018-11-23 12:12:23,515 INFO L86 InductivityCheck]: Starting indutivity check of a Floyd-Hoare automaton with 13 states. [2018-11-23 12:12:23,687 INFO L119 InductivityCheck]: Floyd-Hoare automaton has 62 edges. 62 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2018-11-23 12:12:23,687 INFO L459 AbstractCegarLoop]: Interpolant automaton has 13 states [2018-11-23 12:12:23,688 INFO L142 InterpolantAutomaton]: Constructing interpolant automaton starting with 13 interpolants. [2018-11-23 12:12:23,688 INFO L144 InterpolantAutomaton]: CoverageRelationStatistics Valid=44, Invalid=112, Unknown=0, NotChecked=0, Total=156 [2018-11-23 12:12:23,688 INFO L87 Difference]: Start difference. First operand 53 states and 55 transitions. Second operand 13 states. [2018-11-23 12:12:24,467 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2018-11-23 12:12:24,467 INFO L93 Difference]: Finished difference Result 126 states and 136 transitions. [2018-11-23 12:12:24,467 INFO L142 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 13 states. [2018-11-23 12:12:24,467 INFO L78 Accepts]: Start accepts. Automaton has 13 states. Word has length 50 [2018-11-23 12:12:24,467 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2018-11-23 12:12:24,468 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 13 states. [2018-11-23 12:12:24,471 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 13 states to 13 states and 113 transitions. [2018-11-23 12:12:24,471 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 13 states. [2018-11-23 12:12:24,474 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 13 states to 13 states and 113 transitions. [2018-11-23 12:12:24,474 INFO L86 InductivityCheck]: Starting indutivity check of a Floyd-Hoare automaton with 13 states and 113 transitions. [2018-11-23 12:12:24,599 INFO L119 InductivityCheck]: Floyd-Hoare automaton has 113 edges. 113 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2018-11-23 12:12:24,602 INFO L225 Difference]: With dead ends: 126 [2018-11-23 12:12:24,602 INFO L226 Difference]: Without dead ends: 88 [2018-11-23 12:12:24,603 INFO L631 BasicCegarLoop]: 0 DeclaredPredicates, 58 GetRequests, 46 SyntacticMatches, 0 SemanticMatches, 12 ConstructedPredicates, 0 IntricatePredicates, 0 DeprecatedPredicates, 28 ImplicationChecksByTransitivity, 0.3s TimeCoverageRelationStatistics Valid=48, Invalid=134, Unknown=0, NotChecked=0, Total=182 [2018-11-23 12:12:24,603 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 88 states. [2018-11-23 12:12:24,707 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 88 to 58. [2018-11-23 12:12:24,707 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2018-11-23 12:12:24,708 INFO L82 GeneralOperation]: Start isEquivalent. First operand 88 states. Second operand 58 states. [2018-11-23 12:12:24,708 INFO L74 IsIncluded]: Start isIncluded. First operand 88 states. Second operand 58 states. [2018-11-23 12:12:24,708 INFO L87 Difference]: Start difference. First operand 88 states. Second operand 58 states. [2018-11-23 12:12:24,713 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2018-11-23 12:12:24,713 INFO L93 Difference]: Finished difference Result 88 states and 95 transitions. [2018-11-23 12:12:24,713 INFO L276 IsEmpty]: Start isEmpty. Operand 88 states and 95 transitions. [2018-11-23 12:12:24,714 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2018-11-23 12:12:24,714 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2018-11-23 12:12:24,714 INFO L74 IsIncluded]: Start isIncluded. First operand 58 states. Second operand 88 states. [2018-11-23 12:12:24,714 INFO L87 Difference]: Start difference. First operand 58 states. Second operand 88 states. [2018-11-23 12:12:24,718 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2018-11-23 12:12:24,718 INFO L93 Difference]: Finished difference Result 88 states and 95 transitions. [2018-11-23 12:12:24,718 INFO L276 IsEmpty]: Start isEmpty. Operand 88 states and 95 transitions. [2018-11-23 12:12:24,718 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2018-11-23 12:12:24,719 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2018-11-23 12:12:24,719 INFO L88 GeneralOperation]: Finished isEquivalent. [2018-11-23 12:12:24,719 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2018-11-23 12:12:24,719 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 58 states. [2018-11-23 12:12:24,721 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 58 states to 58 states and 60 transitions. [2018-11-23 12:12:24,721 INFO L78 Accepts]: Start accepts. Automaton has 58 states and 60 transitions. Word has length 50 [2018-11-23 12:12:24,721 INFO L84 Accepts]: Finished accepts. word is rejected. [2018-11-23 12:12:24,721 INFO L480 AbstractCegarLoop]: Abstraction has 58 states and 60 transitions. [2018-11-23 12:12:24,722 INFO L481 AbstractCegarLoop]: Interpolant automaton has 13 states. [2018-11-23 12:12:24,722 INFO L276 IsEmpty]: Start isEmpty. Operand 58 states and 60 transitions. [2018-11-23 12:12:24,722 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 56 [2018-11-23 12:12:24,722 INFO L394 BasicCegarLoop]: Found error trace [2018-11-23 12:12:24,723 INFO L402 BasicCegarLoop]: trace histogram [6, 6, 6, 4, 4, 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] [2018-11-23 12:12:24,723 INFO L423 AbstractCegarLoop]: === Iteration 10 === [__VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION]=== [2018-11-23 12:12:24,723 INFO L141 PredicateUnifier]: Initialized classic predicate unifier [2018-11-23 12:12:24,723 INFO L82 PathProgramCache]: Analyzing trace with hash 1725951930, now seen corresponding path program 2 times [2018-11-23 12:12:24,723 INFO L223 ckRefinementStrategy]: Switched to mode SMTINTERPOL_TREE_INTERPOLANTS [2018-11-23 12:12:24,724 INFO L69 tionRefinementEngine]: Using refinement strategy CamelRefinementStrategy [2018-11-23 12:12:24,724 INFO L119 rtionOrderModulation]: Craig_TreeInterpolation forces the order to NOT_INCREMENTALLY [2018-11-23 12:12:24,725 INFO L103 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2018-11-23 12:12:24,725 INFO L119 rtionOrderModulation]: Craig_TreeInterpolation forces the order to NOT_INCREMENTALLY [2018-11-23 12:12:24,745 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2018-11-23 12:12:24,906 INFO L256 TraceCheckUtils]: 0: Hoare triple {3014#true} call ULTIMATE.init(); {3014#true} is VALID [2018-11-23 12:12:24,906 INFO L273 TraceCheckUtils]: 1: Hoare triple {3014#true} #NULL.base, #NULL.offset := 0, 0;#valid := #valid[0 := 0]; {3014#true} is VALID [2018-11-23 12:12:24,906 INFO L273 TraceCheckUtils]: 2: Hoare triple {3014#true} assume true; {3014#true} is VALID [2018-11-23 12:12:24,907 INFO L268 TraceCheckUtils]: 3: Hoare quadruple {3014#true} {3014#true} #76#return; {3014#true} is VALID [2018-11-23 12:12:24,907 INFO L256 TraceCheckUtils]: 4: Hoare triple {3014#true} call #t~ret6 := main(); {3014#true} is VALID [2018-11-23 12:12:24,907 INFO L273 TraceCheckUtils]: 5: Hoare triple {3014#true} call ~#a~0.base, ~#a~0.offset := #Ultimate.alloc(400000);havoc ~i~1;havoc ~flag~0;~flag~0 := 0; {3014#true} is VALID [2018-11-23 12:12:24,908 INFO L256 TraceCheckUtils]: 6: Hoare triple {3014#true} call init(~#a~0.base, ~#a~0.offset, 100000); {3014#true} is VALID [2018-11-23 12:12:24,908 INFO L273 TraceCheckUtils]: 7: Hoare triple {3014#true} ~a.base, ~a.offset := #in~a.base, #in~a.offset;~size := #in~size;havoc ~i~0;~i~0 := 0; {3014#true} is VALID [2018-11-23 12:12:24,908 INFO L273 TraceCheckUtils]: 8: Hoare triple {3014#true} assume !!(~i~0 < ~size);call #t~malloc1.base, #t~malloc1.offset := #Ultimate.alloc(4);call write~$Pointer$(#t~malloc1.base, #t~malloc1.offset, ~a.base, ~a.offset + 4 * ~i~0, 4); {3014#true} is VALID [2018-11-23 12:12:24,908 INFO L273 TraceCheckUtils]: 9: Hoare triple {3014#true} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {3014#true} is VALID [2018-11-23 12:12:24,908 INFO L273 TraceCheckUtils]: 10: Hoare triple {3014#true} assume !!(~i~0 < ~size);call #t~malloc1.base, #t~malloc1.offset := #Ultimate.alloc(4);call write~$Pointer$(#t~malloc1.base, #t~malloc1.offset, ~a.base, ~a.offset + 4 * ~i~0, 4); {3014#true} is VALID [2018-11-23 12:12:24,909 INFO L273 TraceCheckUtils]: 11: Hoare triple {3014#true} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {3014#true} is VALID [2018-11-23 12:12:24,909 INFO L273 TraceCheckUtils]: 12: Hoare triple {3014#true} assume !!(~i~0 < ~size);call #t~malloc1.base, #t~malloc1.offset := #Ultimate.alloc(4);call write~$Pointer$(#t~malloc1.base, #t~malloc1.offset, ~a.base, ~a.offset + 4 * ~i~0, 4); {3014#true} is VALID [2018-11-23 12:12:24,909 INFO L273 TraceCheckUtils]: 13: Hoare triple {3014#true} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {3014#true} is VALID [2018-11-23 12:12:24,909 INFO L273 TraceCheckUtils]: 14: Hoare triple {3014#true} assume !!(~i~0 < ~size);call #t~malloc1.base, #t~malloc1.offset := #Ultimate.alloc(4);call write~$Pointer$(#t~malloc1.base, #t~malloc1.offset, ~a.base, ~a.offset + 4 * ~i~0, 4); {3014#true} is VALID [2018-11-23 12:12:24,910 INFO L273 TraceCheckUtils]: 15: Hoare triple {3014#true} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {3014#true} is VALID [2018-11-23 12:12:24,910 INFO L273 TraceCheckUtils]: 16: Hoare triple {3014#true} assume !(~i~0 < ~size); {3014#true} is VALID [2018-11-23 12:12:24,910 INFO L273 TraceCheckUtils]: 17: Hoare triple {3014#true} assume true; {3014#true} is VALID [2018-11-23 12:12:24,911 INFO L268 TraceCheckUtils]: 18: Hoare quadruple {3014#true} {3014#true} #80#return; {3014#true} is VALID [2018-11-23 12:12:24,920 INFO L273 TraceCheckUtils]: 19: Hoare triple {3014#true} ~i~1 := 0; {3016#(= main_~i~1 0)} is VALID [2018-11-23 12:12:24,921 INFO L273 TraceCheckUtils]: 20: Hoare triple {3016#(= main_~i~1 0)} assume !!(~i~1 < 100000);call #t~mem3.base, #t~mem3.offset := read~$Pointer$(~#a~0.base, ~#a~0.offset + 4 * ~i~1, 4); {3016#(= main_~i~1 0)} is VALID [2018-11-23 12:12:24,922 INFO L273 TraceCheckUtils]: 21: Hoare triple {3016#(= main_~i~1 0)} assume !(#t~mem3.base != 0 || #t~mem3.offset != 0);havoc #t~mem3.base, #t~mem3.offset; {3016#(= main_~i~1 0)} is VALID [2018-11-23 12:12:24,922 INFO L273 TraceCheckUtils]: 22: Hoare triple {3016#(= main_~i~1 0)} #t~post2 := ~i~1;~i~1 := 1 + #t~post2;havoc #t~post2; {3017#(<= main_~i~1 1)} is VALID [2018-11-23 12:12:24,923 INFO L273 TraceCheckUtils]: 23: Hoare triple {3017#(<= main_~i~1 1)} assume !!(~i~1 < 100000);call #t~mem3.base, #t~mem3.offset := read~$Pointer$(~#a~0.base, ~#a~0.offset + 4 * ~i~1, 4); {3017#(<= main_~i~1 1)} is VALID [2018-11-23 12:12:24,923 INFO L273 TraceCheckUtils]: 24: Hoare triple {3017#(<= main_~i~1 1)} assume !(#t~mem3.base != 0 || #t~mem3.offset != 0);havoc #t~mem3.base, #t~mem3.offset; {3017#(<= main_~i~1 1)} is VALID [2018-11-23 12:12:24,923 INFO L273 TraceCheckUtils]: 25: Hoare triple {3017#(<= main_~i~1 1)} #t~post2 := ~i~1;~i~1 := 1 + #t~post2;havoc #t~post2; {3018#(<= main_~i~1 2)} is VALID [2018-11-23 12:12:24,924 INFO L273 TraceCheckUtils]: 26: Hoare triple {3018#(<= main_~i~1 2)} assume !!(~i~1 < 100000);call #t~mem3.base, #t~mem3.offset := read~$Pointer$(~#a~0.base, ~#a~0.offset + 4 * ~i~1, 4); {3018#(<= main_~i~1 2)} is VALID [2018-11-23 12:12:24,924 INFO L273 TraceCheckUtils]: 27: Hoare triple {3018#(<= main_~i~1 2)} assume !(#t~mem3.base != 0 || #t~mem3.offset != 0);havoc #t~mem3.base, #t~mem3.offset; {3018#(<= main_~i~1 2)} is VALID [2018-11-23 12:12:24,925 INFO L273 TraceCheckUtils]: 28: Hoare triple {3018#(<= main_~i~1 2)} #t~post2 := ~i~1;~i~1 := 1 + #t~post2;havoc #t~post2; {3019#(<= main_~i~1 3)} is VALID [2018-11-23 12:12:24,925 INFO L273 TraceCheckUtils]: 29: Hoare triple {3019#(<= main_~i~1 3)} assume !!(~i~1 < 100000);call #t~mem3.base, #t~mem3.offset := read~$Pointer$(~#a~0.base, ~#a~0.offset + 4 * ~i~1, 4); {3019#(<= main_~i~1 3)} is VALID [2018-11-23 12:12:24,925 INFO L273 TraceCheckUtils]: 30: Hoare triple {3019#(<= main_~i~1 3)} assume !(#t~mem3.base != 0 || #t~mem3.offset != 0);havoc #t~mem3.base, #t~mem3.offset; {3019#(<= main_~i~1 3)} is VALID [2018-11-23 12:12:24,926 INFO L273 TraceCheckUtils]: 31: Hoare triple {3019#(<= main_~i~1 3)} #t~post2 := ~i~1;~i~1 := 1 + #t~post2;havoc #t~post2; {3020#(<= main_~i~1 4)} is VALID [2018-11-23 12:12:24,926 INFO L273 TraceCheckUtils]: 32: Hoare triple {3020#(<= main_~i~1 4)} assume !!(~i~1 < 100000);call #t~mem3.base, #t~mem3.offset := read~$Pointer$(~#a~0.base, ~#a~0.offset + 4 * ~i~1, 4); {3020#(<= main_~i~1 4)} is VALID [2018-11-23 12:12:24,946 INFO L273 TraceCheckUtils]: 33: Hoare triple {3020#(<= main_~i~1 4)} assume !(#t~mem3.base != 0 || #t~mem3.offset != 0);havoc #t~mem3.base, #t~mem3.offset; {3020#(<= main_~i~1 4)} is VALID [2018-11-23 12:12:24,959 INFO L273 TraceCheckUtils]: 34: Hoare triple {3020#(<= main_~i~1 4)} #t~post2 := ~i~1;~i~1 := 1 + #t~post2;havoc #t~post2; {3021#(<= main_~i~1 5)} is VALID [2018-11-23 12:12:24,966 INFO L273 TraceCheckUtils]: 35: Hoare triple {3021#(<= main_~i~1 5)} assume !!(~i~1 < 100000);call #t~mem3.base, #t~mem3.offset := read~$Pointer$(~#a~0.base, ~#a~0.offset + 4 * ~i~1, 4); {3021#(<= main_~i~1 5)} is VALID [2018-11-23 12:12:24,966 INFO L273 TraceCheckUtils]: 36: Hoare triple {3021#(<= main_~i~1 5)} assume !(#t~mem3.base != 0 || #t~mem3.offset != 0);havoc #t~mem3.base, #t~mem3.offset; {3021#(<= main_~i~1 5)} is VALID [2018-11-23 12:12:24,968 INFO L273 TraceCheckUtils]: 37: Hoare triple {3021#(<= main_~i~1 5)} #t~post2 := ~i~1;~i~1 := 1 + #t~post2;havoc #t~post2; {3022#(<= main_~i~1 6)} is VALID [2018-11-23 12:12:24,968 INFO L273 TraceCheckUtils]: 38: Hoare triple {3022#(<= main_~i~1 6)} assume !(~i~1 < 100000); {3015#false} is VALID [2018-11-23 12:12:24,968 INFO L273 TraceCheckUtils]: 39: Hoare triple {3015#false} ~i~1 := 0; {3015#false} is VALID [2018-11-23 12:12:24,968 INFO L273 TraceCheckUtils]: 40: Hoare triple {3015#false} assume !!(~i~1 < 100000); {3015#false} is VALID [2018-11-23 12:12:24,969 INFO L273 TraceCheckUtils]: 41: Hoare triple {3015#false} assume 0 == ~flag~0;call #t~mem5.base, #t~mem5.offset := read~$Pointer$(~#a~0.base, ~#a~0.offset + 4 * ~i~1, 4); {3015#false} is VALID [2018-11-23 12:12:24,969 INFO L256 TraceCheckUtils]: 42: Hoare triple {3015#false} call __VERIFIER_assert((if #t~mem5.base == 0 && #t~mem5.offset == 0 then 1 else 0)); {3014#true} is VALID [2018-11-23 12:12:24,969 INFO L273 TraceCheckUtils]: 43: Hoare triple {3014#true} ~cond := #in~cond; {3014#true} is VALID [2018-11-23 12:12:24,969 INFO L273 TraceCheckUtils]: 44: Hoare triple {3014#true} assume !(0 == ~cond); {3014#true} is VALID [2018-11-23 12:12:24,969 INFO L273 TraceCheckUtils]: 45: Hoare triple {3014#true} assume true; {3014#true} is VALID [2018-11-23 12:12:24,969 INFO L268 TraceCheckUtils]: 46: Hoare quadruple {3014#true} {3015#false} #82#return; {3015#false} is VALID [2018-11-23 12:12:24,969 INFO L273 TraceCheckUtils]: 47: Hoare triple {3015#false} havoc #t~mem5.base, #t~mem5.offset; {3015#false} is VALID [2018-11-23 12:12:24,970 INFO L273 TraceCheckUtils]: 48: Hoare triple {3015#false} #t~post4 := ~i~1;~i~1 := 1 + #t~post4;havoc #t~post4; {3015#false} is VALID [2018-11-23 12:12:24,970 INFO L273 TraceCheckUtils]: 49: Hoare triple {3015#false} assume !!(~i~1 < 100000); {3015#false} is VALID [2018-11-23 12:12:24,970 INFO L273 TraceCheckUtils]: 50: Hoare triple {3015#false} assume 0 == ~flag~0;call #t~mem5.base, #t~mem5.offset := read~$Pointer$(~#a~0.base, ~#a~0.offset + 4 * ~i~1, 4); {3015#false} is VALID [2018-11-23 12:12:24,970 INFO L256 TraceCheckUtils]: 51: Hoare triple {3015#false} call __VERIFIER_assert((if #t~mem5.base == 0 && #t~mem5.offset == 0 then 1 else 0)); {3015#false} is VALID [2018-11-23 12:12:24,970 INFO L273 TraceCheckUtils]: 52: Hoare triple {3015#false} ~cond := #in~cond; {3015#false} is VALID [2018-11-23 12:12:24,970 INFO L273 TraceCheckUtils]: 53: Hoare triple {3015#false} assume 0 == ~cond; {3015#false} is VALID [2018-11-23 12:12:24,970 INFO L273 TraceCheckUtils]: 54: Hoare triple {3015#false} assume !false; {3015#false} is VALID [2018-11-23 12:12:24,972 INFO L134 CoverageAnalysis]: Checked inductivity of 72 backedges. 2 proven. 51 refuted. 0 times theorem prover too weak. 19 trivial. 0 not checked. [2018-11-23 12:12:24,972 INFO L300 seRefinementStrategy]: The current sequences of interpolants are not accepted, trying to find more. [2018-11-23 12:12:24,972 INFO L223 ckRefinementStrategy]: Switched to mode Z3_FP No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 Starting monitored process 7 with z3 -smt2 -in SMTLIB2_COMPLIANT=true -t:12000 (exit command is (exit), workingDir is null) Waiting until toolchain timeout for monitored process 7 with z3 -smt2 -in SMTLIB2_COMPLIANT=true -t:12000 [2018-11-23 12:12:24,982 INFO L103 rtionOrderModulation]: Keeping assertion order OUTSIDE_LOOP_FIRST1 [2018-11-23 12:12:25,014 INFO L249 tOrderPrioritization]: Assert order OUTSIDE_LOOP_FIRST1 issued 2 check-sat command(s) [2018-11-23 12:12:25,014 INFO L250 tOrderPrioritization]: Conjunction of SSA is unsat [2018-11-23 12:12:25,047 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2018-11-23 12:12:25,049 INFO L273 TraceCheckSpWp]: Computing forward predicates... [2018-11-23 12:12:25,331 INFO L256 TraceCheckUtils]: 0: Hoare triple {3014#true} call ULTIMATE.init(); {3014#true} is VALID [2018-11-23 12:12:25,331 INFO L273 TraceCheckUtils]: 1: Hoare triple {3014#true} #NULL.base, #NULL.offset := 0, 0;#valid := #valid[0 := 0]; {3014#true} is VALID [2018-11-23 12:12:25,332 INFO L273 TraceCheckUtils]: 2: Hoare triple {3014#true} assume true; {3014#true} is VALID [2018-11-23 12:12:25,332 INFO L268 TraceCheckUtils]: 3: Hoare quadruple {3014#true} {3014#true} #76#return; {3014#true} is VALID [2018-11-23 12:12:25,332 INFO L256 TraceCheckUtils]: 4: Hoare triple {3014#true} call #t~ret6 := main(); {3014#true} is VALID [2018-11-23 12:12:25,332 INFO L273 TraceCheckUtils]: 5: Hoare triple {3014#true} call ~#a~0.base, ~#a~0.offset := #Ultimate.alloc(400000);havoc ~i~1;havoc ~flag~0;~flag~0 := 0; {3014#true} is VALID [2018-11-23 12:12:25,333 INFO L256 TraceCheckUtils]: 6: Hoare triple {3014#true} call init(~#a~0.base, ~#a~0.offset, 100000); {3014#true} is VALID [2018-11-23 12:12:25,349 INFO L273 TraceCheckUtils]: 7: Hoare triple {3014#true} ~a.base, ~a.offset := #in~a.base, #in~a.offset;~size := #in~size;havoc ~i~0;~i~0 := 0; {3047#(and (<= |init_#in~size| init_~size) (<= init_~i~0 0))} is VALID [2018-11-23 12:12:25,350 INFO L273 TraceCheckUtils]: 8: Hoare triple {3047#(and (<= |init_#in~size| init_~size) (<= init_~i~0 0))} assume !!(~i~0 < ~size);call #t~malloc1.base, #t~malloc1.offset := #Ultimate.alloc(4);call write~$Pointer$(#t~malloc1.base, #t~malloc1.offset, ~a.base, ~a.offset + 4 * ~i~0, 4); {3047#(and (<= |init_#in~size| init_~size) (<= init_~i~0 0))} is VALID [2018-11-23 12:12:25,350 INFO L273 TraceCheckUtils]: 9: Hoare triple {3047#(and (<= |init_#in~size| init_~size) (<= init_~i~0 0))} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {3054#(and (<= |init_#in~size| init_~size) (<= init_~i~0 1))} is VALID [2018-11-23 12:12:25,351 INFO L273 TraceCheckUtils]: 10: Hoare triple {3054#(and (<= |init_#in~size| init_~size) (<= init_~i~0 1))} assume !!(~i~0 < ~size);call #t~malloc1.base, #t~malloc1.offset := #Ultimate.alloc(4);call write~$Pointer$(#t~malloc1.base, #t~malloc1.offset, ~a.base, ~a.offset + 4 * ~i~0, 4); {3054#(and (<= |init_#in~size| init_~size) (<= init_~i~0 1))} is VALID [2018-11-23 12:12:25,352 INFO L273 TraceCheckUtils]: 11: Hoare triple {3054#(and (<= |init_#in~size| init_~size) (<= init_~i~0 1))} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {3061#(and (<= |init_#in~size| init_~size) (<= init_~i~0 2))} is VALID [2018-11-23 12:12:25,352 INFO L273 TraceCheckUtils]: 12: Hoare triple {3061#(and (<= |init_#in~size| init_~size) (<= init_~i~0 2))} assume !!(~i~0 < ~size);call #t~malloc1.base, #t~malloc1.offset := #Ultimate.alloc(4);call write~$Pointer$(#t~malloc1.base, #t~malloc1.offset, ~a.base, ~a.offset + 4 * ~i~0, 4); {3061#(and (<= |init_#in~size| init_~size) (<= init_~i~0 2))} is VALID [2018-11-23 12:12:25,353 INFO L273 TraceCheckUtils]: 13: Hoare triple {3061#(and (<= |init_#in~size| init_~size) (<= init_~i~0 2))} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {3068#(and (<= |init_#in~size| init_~size) (<= init_~i~0 3))} is VALID [2018-11-23 12:12:25,354 INFO L273 TraceCheckUtils]: 14: Hoare triple {3068#(and (<= |init_#in~size| init_~size) (<= init_~i~0 3))} assume !!(~i~0 < ~size);call #t~malloc1.base, #t~malloc1.offset := #Ultimate.alloc(4);call write~$Pointer$(#t~malloc1.base, #t~malloc1.offset, ~a.base, ~a.offset + 4 * ~i~0, 4); {3068#(and (<= |init_#in~size| init_~size) (<= init_~i~0 3))} is VALID [2018-11-23 12:12:25,355 INFO L273 TraceCheckUtils]: 15: Hoare triple {3068#(and (<= |init_#in~size| init_~size) (<= init_~i~0 3))} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {3075#(and (<= |init_#in~size| init_~size) (<= init_~i~0 4))} is VALID [2018-11-23 12:12:25,356 INFO L273 TraceCheckUtils]: 16: Hoare triple {3075#(and (<= |init_#in~size| init_~size) (<= init_~i~0 4))} assume !(~i~0 < ~size); {3079#(<= |init_#in~size| 4)} is VALID [2018-11-23 12:12:25,356 INFO L273 TraceCheckUtils]: 17: Hoare triple {3079#(<= |init_#in~size| 4)} assume true; {3079#(<= |init_#in~size| 4)} is VALID [2018-11-23 12:12:25,358 INFO L268 TraceCheckUtils]: 18: Hoare quadruple {3079#(<= |init_#in~size| 4)} {3014#true} #80#return; {3015#false} is VALID [2018-11-23 12:12:25,358 INFO L273 TraceCheckUtils]: 19: Hoare triple {3015#false} ~i~1 := 0; {3015#false} is VALID [2018-11-23 12:12:25,358 INFO L273 TraceCheckUtils]: 20: Hoare triple {3015#false} assume !!(~i~1 < 100000);call #t~mem3.base, #t~mem3.offset := read~$Pointer$(~#a~0.base, ~#a~0.offset + 4 * ~i~1, 4); {3015#false} is VALID [2018-11-23 12:12:25,358 INFO L273 TraceCheckUtils]: 21: Hoare triple {3015#false} assume !(#t~mem3.base != 0 || #t~mem3.offset != 0);havoc #t~mem3.base, #t~mem3.offset; {3015#false} is VALID [2018-11-23 12:12:25,359 INFO L273 TraceCheckUtils]: 22: Hoare triple {3015#false} #t~post2 := ~i~1;~i~1 := 1 + #t~post2;havoc #t~post2; {3015#false} is VALID [2018-11-23 12:12:25,359 INFO L273 TraceCheckUtils]: 23: Hoare triple {3015#false} assume !!(~i~1 < 100000);call #t~mem3.base, #t~mem3.offset := read~$Pointer$(~#a~0.base, ~#a~0.offset + 4 * ~i~1, 4); {3015#false} is VALID [2018-11-23 12:12:25,359 INFO L273 TraceCheckUtils]: 24: Hoare triple {3015#false} assume !(#t~mem3.base != 0 || #t~mem3.offset != 0);havoc #t~mem3.base, #t~mem3.offset; {3015#false} is VALID [2018-11-23 12:12:25,359 INFO L273 TraceCheckUtils]: 25: Hoare triple {3015#false} #t~post2 := ~i~1;~i~1 := 1 + #t~post2;havoc #t~post2; {3015#false} is VALID [2018-11-23 12:12:25,359 INFO L273 TraceCheckUtils]: 26: Hoare triple {3015#false} assume !!(~i~1 < 100000);call #t~mem3.base, #t~mem3.offset := read~$Pointer$(~#a~0.base, ~#a~0.offset + 4 * ~i~1, 4); {3015#false} is VALID [2018-11-23 12:12:25,360 INFO L273 TraceCheckUtils]: 27: Hoare triple {3015#false} assume !(#t~mem3.base != 0 || #t~mem3.offset != 0);havoc #t~mem3.base, #t~mem3.offset; {3015#false} is VALID [2018-11-23 12:12:25,360 INFO L273 TraceCheckUtils]: 28: Hoare triple {3015#false} #t~post2 := ~i~1;~i~1 := 1 + #t~post2;havoc #t~post2; {3015#false} is VALID [2018-11-23 12:12:25,360 INFO L273 TraceCheckUtils]: 29: Hoare triple {3015#false} assume !!(~i~1 < 100000);call #t~mem3.base, #t~mem3.offset := read~$Pointer$(~#a~0.base, ~#a~0.offset + 4 * ~i~1, 4); {3015#false} is VALID [2018-11-23 12:12:25,360 INFO L273 TraceCheckUtils]: 30: Hoare triple {3015#false} assume !(#t~mem3.base != 0 || #t~mem3.offset != 0);havoc #t~mem3.base, #t~mem3.offset; {3015#false} is VALID [2018-11-23 12:12:25,360 INFO L273 TraceCheckUtils]: 31: Hoare triple {3015#false} #t~post2 := ~i~1;~i~1 := 1 + #t~post2;havoc #t~post2; {3015#false} is VALID [2018-11-23 12:12:25,360 INFO L273 TraceCheckUtils]: 32: Hoare triple {3015#false} assume !!(~i~1 < 100000);call #t~mem3.base, #t~mem3.offset := read~$Pointer$(~#a~0.base, ~#a~0.offset + 4 * ~i~1, 4); {3015#false} is VALID [2018-11-23 12:12:25,360 INFO L273 TraceCheckUtils]: 33: Hoare triple {3015#false} assume !(#t~mem3.base != 0 || #t~mem3.offset != 0);havoc #t~mem3.base, #t~mem3.offset; {3015#false} is VALID [2018-11-23 12:12:25,360 INFO L273 TraceCheckUtils]: 34: Hoare triple {3015#false} #t~post2 := ~i~1;~i~1 := 1 + #t~post2;havoc #t~post2; {3015#false} is VALID [2018-11-23 12:12:25,361 INFO L273 TraceCheckUtils]: 35: Hoare triple {3015#false} assume !!(~i~1 < 100000);call #t~mem3.base, #t~mem3.offset := read~$Pointer$(~#a~0.base, ~#a~0.offset + 4 * ~i~1, 4); {3015#false} is VALID [2018-11-23 12:12:25,361 INFO L273 TraceCheckUtils]: 36: Hoare triple {3015#false} assume !(#t~mem3.base != 0 || #t~mem3.offset != 0);havoc #t~mem3.base, #t~mem3.offset; {3015#false} is VALID [2018-11-23 12:12:25,361 INFO L273 TraceCheckUtils]: 37: Hoare triple {3015#false} #t~post2 := ~i~1;~i~1 := 1 + #t~post2;havoc #t~post2; {3015#false} is VALID [2018-11-23 12:12:25,361 INFO L273 TraceCheckUtils]: 38: Hoare triple {3015#false} assume !(~i~1 < 100000); {3015#false} is VALID [2018-11-23 12:12:25,361 INFO L273 TraceCheckUtils]: 39: Hoare triple {3015#false} ~i~1 := 0; {3015#false} is VALID [2018-11-23 12:12:25,361 INFO L273 TraceCheckUtils]: 40: Hoare triple {3015#false} assume !!(~i~1 < 100000); {3015#false} is VALID [2018-11-23 12:12:25,361 INFO L273 TraceCheckUtils]: 41: Hoare triple {3015#false} assume 0 == ~flag~0;call #t~mem5.base, #t~mem5.offset := read~$Pointer$(~#a~0.base, ~#a~0.offset + 4 * ~i~1, 4); {3015#false} is VALID [2018-11-23 12:12:25,361 INFO L256 TraceCheckUtils]: 42: Hoare triple {3015#false} call __VERIFIER_assert((if #t~mem5.base == 0 && #t~mem5.offset == 0 then 1 else 0)); {3015#false} is VALID [2018-11-23 12:12:25,362 INFO L273 TraceCheckUtils]: 43: Hoare triple {3015#false} ~cond := #in~cond; {3015#false} is VALID [2018-11-23 12:12:25,362 INFO L273 TraceCheckUtils]: 44: Hoare triple {3015#false} assume !(0 == ~cond); {3015#false} is VALID [2018-11-23 12:12:25,362 INFO L273 TraceCheckUtils]: 45: Hoare triple {3015#false} assume true; {3015#false} is VALID [2018-11-23 12:12:25,362 INFO L268 TraceCheckUtils]: 46: Hoare quadruple {3015#false} {3015#false} #82#return; {3015#false} is VALID [2018-11-23 12:12:25,362 INFO L273 TraceCheckUtils]: 47: Hoare triple {3015#false} havoc #t~mem5.base, #t~mem5.offset; {3015#false} is VALID [2018-11-23 12:12:25,362 INFO L273 TraceCheckUtils]: 48: Hoare triple {3015#false} #t~post4 := ~i~1;~i~1 := 1 + #t~post4;havoc #t~post4; {3015#false} is VALID [2018-11-23 12:12:25,362 INFO L273 TraceCheckUtils]: 49: Hoare triple {3015#false} assume !!(~i~1 < 100000); {3015#false} is VALID [2018-11-23 12:12:25,362 INFO L273 TraceCheckUtils]: 50: Hoare triple {3015#false} assume 0 == ~flag~0;call #t~mem5.base, #t~mem5.offset := read~$Pointer$(~#a~0.base, ~#a~0.offset + 4 * ~i~1, 4); {3015#false} is VALID [2018-11-23 12:12:25,363 INFO L256 TraceCheckUtils]: 51: Hoare triple {3015#false} call __VERIFIER_assert((if #t~mem5.base == 0 && #t~mem5.offset == 0 then 1 else 0)); {3015#false} is VALID [2018-11-23 12:12:25,363 INFO L273 TraceCheckUtils]: 52: Hoare triple {3015#false} ~cond := #in~cond; {3015#false} is VALID [2018-11-23 12:12:25,363 INFO L273 TraceCheckUtils]: 53: Hoare triple {3015#false} assume 0 == ~cond; {3015#false} is VALID [2018-11-23 12:12:25,363 INFO L273 TraceCheckUtils]: 54: Hoare triple {3015#false} assume !false; {3015#false} is VALID [2018-11-23 12:12:25,365 INFO L134 CoverageAnalysis]: Checked inductivity of 72 backedges. 0 proven. 16 refuted. 0 times theorem prover too weak. 56 trivial. 0 not checked. [2018-11-23 12:12:25,384 INFO L312 seRefinementStrategy]: Constructing automaton from 0 perfect and 2 imperfect interpolant sequences. [2018-11-23 12:12:25,385 INFO L327 seRefinementStrategy]: Number of different interpolants: perfect sequences [] imperfect sequences [9, 8] total 15 [2018-11-23 12:12:25,385 INFO L78 Accepts]: Start accepts. Automaton has 15 states. Word has length 55 [2018-11-23 12:12:25,386 INFO L84 Accepts]: Finished accepts. word is accepted. [2018-11-23 12:12:25,386 INFO L86 InductivityCheck]: Starting indutivity check of a Floyd-Hoare automaton with 15 states. [2018-11-23 12:12:25,471 INFO L119 InductivityCheck]: Floyd-Hoare automaton has 67 edges. 67 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2018-11-23 12:12:25,471 INFO L459 AbstractCegarLoop]: Interpolant automaton has 15 states [2018-11-23 12:12:25,472 INFO L142 InterpolantAutomaton]: Constructing interpolant automaton starting with 15 interpolants. [2018-11-23 12:12:25,472 INFO L144 InterpolantAutomaton]: CoverageRelationStatistics Valid=58, Invalid=152, Unknown=0, NotChecked=0, Total=210 [2018-11-23 12:12:25,472 INFO L87 Difference]: Start difference. First operand 58 states and 60 transitions. Second operand 15 states. [2018-11-23 12:12:26,153 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2018-11-23 12:12:26,153 INFO L93 Difference]: Finished difference Result 139 states and 150 transitions. [2018-11-23 12:12:26,154 INFO L142 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 15 states. [2018-11-23 12:12:26,154 INFO L78 Accepts]: Start accepts. Automaton has 15 states. Word has length 55 [2018-11-23 12:12:26,154 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2018-11-23 12:12:26,154 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 15 states. [2018-11-23 12:12:26,157 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 15 states to 15 states and 124 transitions. [2018-11-23 12:12:26,157 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 15 states. [2018-11-23 12:12:26,160 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 15 states to 15 states and 124 transitions. [2018-11-23 12:12:26,160 INFO L86 InductivityCheck]: Starting indutivity check of a Floyd-Hoare automaton with 15 states and 124 transitions. [2018-11-23 12:12:26,348 INFO L119 InductivityCheck]: Floyd-Hoare automaton has 124 edges. 124 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2018-11-23 12:12:26,350 INFO L225 Difference]: With dead ends: 139 [2018-11-23 12:12:26,350 INFO L226 Difference]: Without dead ends: 98 [2018-11-23 12:12:26,351 INFO L631 BasicCegarLoop]: 0 DeclaredPredicates, 64 GetRequests, 50 SyntacticMatches, 0 SemanticMatches, 14 ConstructedPredicates, 0 IntricatePredicates, 0 DeprecatedPredicates, 40 ImplicationChecksByTransitivity, 0.1s TimeCoverageRelationStatistics Valid=62, Invalid=178, Unknown=0, NotChecked=0, Total=240 [2018-11-23 12:12:26,351 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 98 states. [2018-11-23 12:12:26,436 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 98 to 63. [2018-11-23 12:12:26,436 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2018-11-23 12:12:26,436 INFO L82 GeneralOperation]: Start isEquivalent. First operand 98 states. Second operand 63 states. [2018-11-23 12:12:26,437 INFO L74 IsIncluded]: Start isIncluded. First operand 98 states. Second operand 63 states. [2018-11-23 12:12:26,437 INFO L87 Difference]: Start difference. First operand 98 states. Second operand 63 states. [2018-11-23 12:12:26,440 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2018-11-23 12:12:26,440 INFO L93 Difference]: Finished difference Result 98 states and 106 transitions. [2018-11-23 12:12:26,441 INFO L276 IsEmpty]: Start isEmpty. Operand 98 states and 106 transitions. [2018-11-23 12:12:26,441 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2018-11-23 12:12:26,441 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2018-11-23 12:12:26,441 INFO L74 IsIncluded]: Start isIncluded. First operand 63 states. Second operand 98 states. [2018-11-23 12:12:26,442 INFO L87 Difference]: Start difference. First operand 63 states. Second operand 98 states. [2018-11-23 12:12:26,444 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2018-11-23 12:12:26,444 INFO L93 Difference]: Finished difference Result 98 states and 106 transitions. [2018-11-23 12:12:26,444 INFO L276 IsEmpty]: Start isEmpty. Operand 98 states and 106 transitions. [2018-11-23 12:12:26,445 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2018-11-23 12:12:26,445 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2018-11-23 12:12:26,445 INFO L88 GeneralOperation]: Finished isEquivalent. [2018-11-23 12:12:26,445 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2018-11-23 12:12:26,445 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 63 states. [2018-11-23 12:12:26,446 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 63 states to 63 states and 65 transitions. [2018-11-23 12:12:26,447 INFO L78 Accepts]: Start accepts. Automaton has 63 states and 65 transitions. Word has length 55 [2018-11-23 12:12:26,447 INFO L84 Accepts]: Finished accepts. word is rejected. [2018-11-23 12:12:26,447 INFO L480 AbstractCegarLoop]: Abstraction has 63 states and 65 transitions. [2018-11-23 12:12:26,447 INFO L481 AbstractCegarLoop]: Interpolant automaton has 15 states. [2018-11-23 12:12:26,447 INFO L276 IsEmpty]: Start isEmpty. Operand 63 states and 65 transitions. [2018-11-23 12:12:26,448 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 61 [2018-11-23 12:12:26,448 INFO L394 BasicCegarLoop]: Found error trace [2018-11-23 12:12:26,448 INFO L402 BasicCegarLoop]: trace histogram [7, 7, 7, 5, 5, 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] [2018-11-23 12:12:26,449 INFO L423 AbstractCegarLoop]: === Iteration 11 === [__VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION]=== [2018-11-23 12:12:26,449 INFO L141 PredicateUnifier]: Initialized classic predicate unifier [2018-11-23 12:12:26,449 INFO L82 PathProgramCache]: Analyzing trace with hash -1238942342, now seen corresponding path program 3 times [2018-11-23 12:12:26,449 INFO L223 ckRefinementStrategy]: Switched to mode SMTINTERPOL_TREE_INTERPOLANTS [2018-11-23 12:12:26,449 INFO L69 tionRefinementEngine]: Using refinement strategy CamelRefinementStrategy [2018-11-23 12:12:26,450 INFO L119 rtionOrderModulation]: Craig_TreeInterpolation forces the order to NOT_INCREMENTALLY [2018-11-23 12:12:26,450 INFO L101 rtionOrderModulation]: Changing assertion order to NOT_INCREMENTALLY [2018-11-23 12:12:26,450 INFO L119 rtionOrderModulation]: Craig_TreeInterpolation forces the order to NOT_INCREMENTALLY [2018-11-23 12:12:26,472 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2018-11-23 12:12:26,862 INFO L256 TraceCheckUtils]: 0: Hoare triple {3670#true} call ULTIMATE.init(); {3670#true} is VALID [2018-11-23 12:12:26,862 INFO L273 TraceCheckUtils]: 1: Hoare triple {3670#true} #NULL.base, #NULL.offset := 0, 0;#valid := #valid[0 := 0]; {3670#true} is VALID [2018-11-23 12:12:26,863 INFO L273 TraceCheckUtils]: 2: Hoare triple {3670#true} assume true; {3670#true} is VALID [2018-11-23 12:12:26,863 INFO L268 TraceCheckUtils]: 3: Hoare quadruple {3670#true} {3670#true} #76#return; {3670#true} is VALID [2018-11-23 12:12:26,863 INFO L256 TraceCheckUtils]: 4: Hoare triple {3670#true} call #t~ret6 := main(); {3670#true} is VALID [2018-11-23 12:12:26,863 INFO L273 TraceCheckUtils]: 5: Hoare triple {3670#true} call ~#a~0.base, ~#a~0.offset := #Ultimate.alloc(400000);havoc ~i~1;havoc ~flag~0;~flag~0 := 0; {3670#true} is VALID [2018-11-23 12:12:26,864 INFO L256 TraceCheckUtils]: 6: Hoare triple {3670#true} call init(~#a~0.base, ~#a~0.offset, 100000); {3670#true} is VALID [2018-11-23 12:12:26,864 INFO L273 TraceCheckUtils]: 7: Hoare triple {3670#true} ~a.base, ~a.offset := #in~a.base, #in~a.offset;~size := #in~size;havoc ~i~0;~i~0 := 0; {3670#true} is VALID [2018-11-23 12:12:26,864 INFO L273 TraceCheckUtils]: 8: Hoare triple {3670#true} assume !!(~i~0 < ~size);call #t~malloc1.base, #t~malloc1.offset := #Ultimate.alloc(4);call write~$Pointer$(#t~malloc1.base, #t~malloc1.offset, ~a.base, ~a.offset + 4 * ~i~0, 4); {3670#true} is VALID [2018-11-23 12:12:26,864 INFO L273 TraceCheckUtils]: 9: Hoare triple {3670#true} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {3670#true} is VALID [2018-11-23 12:12:26,865 INFO L273 TraceCheckUtils]: 10: Hoare triple {3670#true} assume !!(~i~0 < ~size);call #t~malloc1.base, #t~malloc1.offset := #Ultimate.alloc(4);call write~$Pointer$(#t~malloc1.base, #t~malloc1.offset, ~a.base, ~a.offset + 4 * ~i~0, 4); {3670#true} is VALID [2018-11-23 12:12:26,865 INFO L273 TraceCheckUtils]: 11: Hoare triple {3670#true} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {3670#true} is VALID [2018-11-23 12:12:26,865 INFO L273 TraceCheckUtils]: 12: Hoare triple {3670#true} assume !!(~i~0 < ~size);call #t~malloc1.base, #t~malloc1.offset := #Ultimate.alloc(4);call write~$Pointer$(#t~malloc1.base, #t~malloc1.offset, ~a.base, ~a.offset + 4 * ~i~0, 4); {3670#true} is VALID [2018-11-23 12:12:26,865 INFO L273 TraceCheckUtils]: 13: Hoare triple {3670#true} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {3670#true} is VALID [2018-11-23 12:12:26,866 INFO L273 TraceCheckUtils]: 14: Hoare triple {3670#true} assume !!(~i~0 < ~size);call #t~malloc1.base, #t~malloc1.offset := #Ultimate.alloc(4);call write~$Pointer$(#t~malloc1.base, #t~malloc1.offset, ~a.base, ~a.offset + 4 * ~i~0, 4); {3670#true} is VALID [2018-11-23 12:12:26,866 INFO L273 TraceCheckUtils]: 15: Hoare triple {3670#true} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {3670#true} is VALID [2018-11-23 12:12:26,866 INFO L273 TraceCheckUtils]: 16: Hoare triple {3670#true} assume !!(~i~0 < ~size);call #t~malloc1.base, #t~malloc1.offset := #Ultimate.alloc(4);call write~$Pointer$(#t~malloc1.base, #t~malloc1.offset, ~a.base, ~a.offset + 4 * ~i~0, 4); {3670#true} is VALID [2018-11-23 12:12:26,866 INFO L273 TraceCheckUtils]: 17: Hoare triple {3670#true} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {3670#true} is VALID [2018-11-23 12:12:26,866 INFO L273 TraceCheckUtils]: 18: Hoare triple {3670#true} assume !(~i~0 < ~size); {3670#true} is VALID [2018-11-23 12:12:26,866 INFO L273 TraceCheckUtils]: 19: Hoare triple {3670#true} assume true; {3670#true} is VALID [2018-11-23 12:12:26,866 INFO L268 TraceCheckUtils]: 20: Hoare quadruple {3670#true} {3670#true} #80#return; {3670#true} is VALID [2018-11-23 12:12:26,867 INFO L273 TraceCheckUtils]: 21: Hoare triple {3670#true} ~i~1 := 0; {3672#(= main_~i~1 0)} is VALID [2018-11-23 12:12:26,867 INFO L273 TraceCheckUtils]: 22: Hoare triple {3672#(= main_~i~1 0)} assume !!(~i~1 < 100000);call #t~mem3.base, #t~mem3.offset := read~$Pointer$(~#a~0.base, ~#a~0.offset + 4 * ~i~1, 4); {3672#(= main_~i~1 0)} is VALID [2018-11-23 12:12:26,868 INFO L273 TraceCheckUtils]: 23: Hoare triple {3672#(= main_~i~1 0)} assume !(#t~mem3.base != 0 || #t~mem3.offset != 0);havoc #t~mem3.base, #t~mem3.offset; {3672#(= main_~i~1 0)} is VALID [2018-11-23 12:12:26,868 INFO L273 TraceCheckUtils]: 24: Hoare triple {3672#(= main_~i~1 0)} #t~post2 := ~i~1;~i~1 := 1 + #t~post2;havoc #t~post2; {3673#(<= main_~i~1 1)} is VALID [2018-11-23 12:12:26,869 INFO L273 TraceCheckUtils]: 25: Hoare triple {3673#(<= main_~i~1 1)} assume !!(~i~1 < 100000);call #t~mem3.base, #t~mem3.offset := read~$Pointer$(~#a~0.base, ~#a~0.offset + 4 * ~i~1, 4); {3673#(<= main_~i~1 1)} is VALID [2018-11-23 12:12:26,869 INFO L273 TraceCheckUtils]: 26: Hoare triple {3673#(<= main_~i~1 1)} assume !(#t~mem3.base != 0 || #t~mem3.offset != 0);havoc #t~mem3.base, #t~mem3.offset; {3673#(<= main_~i~1 1)} is VALID [2018-11-23 12:12:26,870 INFO L273 TraceCheckUtils]: 27: Hoare triple {3673#(<= main_~i~1 1)} #t~post2 := ~i~1;~i~1 := 1 + #t~post2;havoc #t~post2; {3674#(<= main_~i~1 2)} is VALID [2018-11-23 12:12:26,870 INFO L273 TraceCheckUtils]: 28: Hoare triple {3674#(<= main_~i~1 2)} assume !!(~i~1 < 100000);call #t~mem3.base, #t~mem3.offset := read~$Pointer$(~#a~0.base, ~#a~0.offset + 4 * ~i~1, 4); {3674#(<= main_~i~1 2)} is VALID [2018-11-23 12:12:26,870 INFO L273 TraceCheckUtils]: 29: Hoare triple {3674#(<= main_~i~1 2)} assume !(#t~mem3.base != 0 || #t~mem3.offset != 0);havoc #t~mem3.base, #t~mem3.offset; {3674#(<= main_~i~1 2)} is VALID [2018-11-23 12:12:26,871 INFO L273 TraceCheckUtils]: 30: Hoare triple {3674#(<= main_~i~1 2)} #t~post2 := ~i~1;~i~1 := 1 + #t~post2;havoc #t~post2; {3675#(<= main_~i~1 3)} is VALID [2018-11-23 12:12:26,872 INFO L273 TraceCheckUtils]: 31: Hoare triple {3675#(<= main_~i~1 3)} assume !!(~i~1 < 100000);call #t~mem3.base, #t~mem3.offset := read~$Pointer$(~#a~0.base, ~#a~0.offset + 4 * ~i~1, 4); {3675#(<= main_~i~1 3)} is VALID [2018-11-23 12:12:26,872 INFO L273 TraceCheckUtils]: 32: Hoare triple {3675#(<= main_~i~1 3)} assume !(#t~mem3.base != 0 || #t~mem3.offset != 0);havoc #t~mem3.base, #t~mem3.offset; {3675#(<= main_~i~1 3)} is VALID [2018-11-23 12:12:26,873 INFO L273 TraceCheckUtils]: 33: Hoare triple {3675#(<= main_~i~1 3)} #t~post2 := ~i~1;~i~1 := 1 + #t~post2;havoc #t~post2; {3676#(<= main_~i~1 4)} is VALID [2018-11-23 12:12:26,874 INFO L273 TraceCheckUtils]: 34: Hoare triple {3676#(<= main_~i~1 4)} assume !!(~i~1 < 100000);call #t~mem3.base, #t~mem3.offset := read~$Pointer$(~#a~0.base, ~#a~0.offset + 4 * ~i~1, 4); {3676#(<= main_~i~1 4)} is VALID [2018-11-23 12:12:26,875 INFO L273 TraceCheckUtils]: 35: Hoare triple {3676#(<= main_~i~1 4)} assume !(#t~mem3.base != 0 || #t~mem3.offset != 0);havoc #t~mem3.base, #t~mem3.offset; {3676#(<= main_~i~1 4)} is VALID [2018-11-23 12:12:26,876 INFO L273 TraceCheckUtils]: 36: Hoare triple {3676#(<= main_~i~1 4)} #t~post2 := ~i~1;~i~1 := 1 + #t~post2;havoc #t~post2; {3677#(<= main_~i~1 5)} is VALID [2018-11-23 12:12:26,876 INFO L273 TraceCheckUtils]: 37: Hoare triple {3677#(<= main_~i~1 5)} assume !!(~i~1 < 100000);call #t~mem3.base, #t~mem3.offset := read~$Pointer$(~#a~0.base, ~#a~0.offset + 4 * ~i~1, 4); {3677#(<= main_~i~1 5)} is VALID [2018-11-23 12:12:26,877 INFO L273 TraceCheckUtils]: 38: Hoare triple {3677#(<= main_~i~1 5)} assume !(#t~mem3.base != 0 || #t~mem3.offset != 0);havoc #t~mem3.base, #t~mem3.offset; {3677#(<= main_~i~1 5)} is VALID [2018-11-23 12:12:26,878 INFO L273 TraceCheckUtils]: 39: Hoare triple {3677#(<= main_~i~1 5)} #t~post2 := ~i~1;~i~1 := 1 + #t~post2;havoc #t~post2; {3678#(<= main_~i~1 6)} is VALID [2018-11-23 12:12:26,878 INFO L273 TraceCheckUtils]: 40: Hoare triple {3678#(<= main_~i~1 6)} assume !!(~i~1 < 100000);call #t~mem3.base, #t~mem3.offset := read~$Pointer$(~#a~0.base, ~#a~0.offset + 4 * ~i~1, 4); {3678#(<= main_~i~1 6)} is VALID [2018-11-23 12:12:26,879 INFO L273 TraceCheckUtils]: 41: Hoare triple {3678#(<= main_~i~1 6)} assume !(#t~mem3.base != 0 || #t~mem3.offset != 0);havoc #t~mem3.base, #t~mem3.offset; {3678#(<= main_~i~1 6)} is VALID [2018-11-23 12:12:26,880 INFO L273 TraceCheckUtils]: 42: Hoare triple {3678#(<= main_~i~1 6)} #t~post2 := ~i~1;~i~1 := 1 + #t~post2;havoc #t~post2; {3679#(<= main_~i~1 7)} is VALID [2018-11-23 12:12:26,880 INFO L273 TraceCheckUtils]: 43: Hoare triple {3679#(<= main_~i~1 7)} assume !(~i~1 < 100000); {3671#false} is VALID [2018-11-23 12:12:26,881 INFO L273 TraceCheckUtils]: 44: Hoare triple {3671#false} ~i~1 := 0; {3671#false} is VALID [2018-11-23 12:12:26,881 INFO L273 TraceCheckUtils]: 45: Hoare triple {3671#false} assume !!(~i~1 < 100000); {3671#false} is VALID [2018-11-23 12:12:26,881 INFO L273 TraceCheckUtils]: 46: Hoare triple {3671#false} assume 0 == ~flag~0;call #t~mem5.base, #t~mem5.offset := read~$Pointer$(~#a~0.base, ~#a~0.offset + 4 * ~i~1, 4); {3671#false} is VALID [2018-11-23 12:12:26,882 INFO L256 TraceCheckUtils]: 47: Hoare triple {3671#false} call __VERIFIER_assert((if #t~mem5.base == 0 && #t~mem5.offset == 0 then 1 else 0)); {3670#true} is VALID [2018-11-23 12:12:26,882 INFO L273 TraceCheckUtils]: 48: Hoare triple {3670#true} ~cond := #in~cond; {3670#true} is VALID [2018-11-23 12:12:26,882 INFO L273 TraceCheckUtils]: 49: Hoare triple {3670#true} assume !(0 == ~cond); {3670#true} is VALID [2018-11-23 12:12:26,882 INFO L273 TraceCheckUtils]: 50: Hoare triple {3670#true} assume true; {3670#true} is VALID [2018-11-23 12:12:26,883 INFO L268 TraceCheckUtils]: 51: Hoare quadruple {3670#true} {3671#false} #82#return; {3671#false} is VALID [2018-11-23 12:12:26,883 INFO L273 TraceCheckUtils]: 52: Hoare triple {3671#false} havoc #t~mem5.base, #t~mem5.offset; {3671#false} is VALID [2018-11-23 12:12:26,883 INFO L273 TraceCheckUtils]: 53: Hoare triple {3671#false} #t~post4 := ~i~1;~i~1 := 1 + #t~post4;havoc #t~post4; {3671#false} is VALID [2018-11-23 12:12:26,883 INFO L273 TraceCheckUtils]: 54: Hoare triple {3671#false} assume !!(~i~1 < 100000); {3671#false} is VALID [2018-11-23 12:12:26,884 INFO L273 TraceCheckUtils]: 55: Hoare triple {3671#false} assume 0 == ~flag~0;call #t~mem5.base, #t~mem5.offset := read~$Pointer$(~#a~0.base, ~#a~0.offset + 4 * ~i~1, 4); {3671#false} is VALID [2018-11-23 12:12:26,884 INFO L256 TraceCheckUtils]: 56: Hoare triple {3671#false} call __VERIFIER_assert((if #t~mem5.base == 0 && #t~mem5.offset == 0 then 1 else 0)); {3671#false} is VALID [2018-11-23 12:12:26,884 INFO L273 TraceCheckUtils]: 57: Hoare triple {3671#false} ~cond := #in~cond; {3671#false} is VALID [2018-11-23 12:12:26,884 INFO L273 TraceCheckUtils]: 58: Hoare triple {3671#false} assume 0 == ~cond; {3671#false} is VALID [2018-11-23 12:12:26,885 INFO L273 TraceCheckUtils]: 59: Hoare triple {3671#false} assume !false; {3671#false} is VALID [2018-11-23 12:12:26,889 INFO L134 CoverageAnalysis]: Checked inductivity of 100 backedges. 2 proven. 70 refuted. 0 times theorem prover too weak. 28 trivial. 0 not checked. [2018-11-23 12:12:26,889 INFO L300 seRefinementStrategy]: The current sequences of interpolants are not accepted, trying to find more. [2018-11-23 12:12:26,889 INFO L223 ckRefinementStrategy]: Switched to mode Z3_FP No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 Starting monitored process 8 with z3 -smt2 -in SMTLIB2_COMPLIANT=true -t:12000 (exit command is (exit), workingDir is null) Waiting until toolchain timeout for monitored process 8 with z3 -smt2 -in SMTLIB2_COMPLIANT=true -t:12000 [2018-11-23 12:12:26,901 INFO L103 rtionOrderModulation]: Keeping assertion order OUTSIDE_LOOP_FIRST2 [2018-11-23 12:12:26,930 INFO L249 tOrderPrioritization]: Assert order OUTSIDE_LOOP_FIRST2 issued 3 check-sat command(s) [2018-11-23 12:12:26,931 INFO L250 tOrderPrioritization]: Conjunction of SSA is unsat [2018-11-23 12:12:26,953 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2018-11-23 12:12:26,956 INFO L273 TraceCheckSpWp]: Computing forward predicates... [2018-11-23 12:12:27,040 INFO L478 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 2, 1 stores, 1 select indices, 1 select index equivalence classes, 0 disjoint index pairs (out of 0 index pairs), introduced 1 new quantified variables, introduced 0 case distinctions, treesize of input 15 treesize of output 12 [2018-11-23 12:12:27,045 INFO L478 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 1, 1 stores, 0 select indices, 0 select index equivalence classes, 1 disjoint index pairs (out of 0 index pairs), introduced 0 new quantified variables, introduced 0 case distinctions, treesize of input 12 treesize of output 11 [2018-11-23 12:12:27,047 INFO L267 ElimStorePlain]: Start of recursive call 3: End of recursive call: and 1 xjuncts. [2018-11-23 12:12:27,049 INFO L267 ElimStorePlain]: Start of recursive call 2: 1 dim-1 vars, End of recursive call: and 1 xjuncts. [2018-11-23 12:12:27,062 INFO L267 ElimStorePlain]: Start of recursive call 1: 1 dim-0 vars, 1 dim-2 vars, End of recursive call: and 1 xjuncts. [2018-11-23 12:12:27,063 INFO L202 ElimStorePlain]: Needed 3 recursive calls to eliminate 2 variables, input treesize:26, output treesize:19 [2018-11-23 12:12:27,065 WARN L383 uantifierElimination]: Trying to double check SDD result, but SMT solver's response was UNKNOWN. [2018-11-23 12:12:27,065 WARN L384 uantifierElimination]: Input elimination task: ∃ [|v_#memory_$Pointer$.base_9|, |init_#t~malloc1.base|]. (and (not (= 0 |init_#t~malloc1.base|)) (< init_~i~0 init_~size) (= |init_#in~size| init_~size) (= |#memory_$Pointer$.base| (store |v_#memory_$Pointer$.base_9| |init_#in~a.base| (store (select |v_#memory_$Pointer$.base_9| |init_#in~a.base|) (+ |init_#in~a.offset| (* 4 init_~i~0)) |init_#t~malloc1.base|)))) [2018-11-23 12:12:27,066 WARN L385 uantifierElimination]: ElimStorePlain result: ∃ []. (and (not (= (select (select |#memory_$Pointer$.base| |init_#in~a.base|) (+ |init_#in~a.offset| (* 4 init_~i~0))) 0)) (< init_~i~0 init_~size) (= |init_#in~size| init_~size)) [2018-11-23 12:12:27,518 INFO L478 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 2, 0 stores, 1 select indices, 1 select index equivalence classes, 0 disjoint index pairs (out of 0 index pairs), introduced 1 new quantified variables, introduced 0 case distinctions, treesize of input 24 treesize of output 20 [2018-11-23 12:12:27,532 INFO L478 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 1, 0 stores, 2 select indices, 2 select index equivalence classes, 1 disjoint index pairs (out of 1 index pairs), introduced 1 new quantified variables, introduced 1 case distinctions, treesize of input 20 treesize of output 21 [2018-11-23 12:12:27,536 INFO L267 ElimStorePlain]: Start of recursive call 3: End of recursive call: and 2 xjuncts. [2018-11-23 12:12:27,540 INFO L267 ElimStorePlain]: Start of recursive call 2: 1 dim-1 vars, End of recursive call: and 2 xjuncts. [2018-11-23 12:12:27,558 INFO L267 ElimStorePlain]: Start of recursive call 1: 3 dim-0 vars, 1 dim-2 vars, End of recursive call: and 2 xjuncts. [2018-11-23 12:12:27,558 INFO L202 ElimStorePlain]: Needed 3 recursive calls to eliminate 4 variables, input treesize:33, output treesize:20 [2018-11-23 12:12:27,560 WARN L383 uantifierElimination]: Trying to double check SDD result, but SMT solver's response was UNKNOWN. [2018-11-23 12:12:27,560 WARN L384 uantifierElimination]: Input elimination task: ∃ [|#memory_$Pointer$.base|, |main_~#a~0.base|, |main_~#a~0.offset|, v_init_~i~0_17]. (let ((.cse0 (select |#memory_$Pointer$.base| |main_~#a~0.base|))) (and (= |main_#t~mem3.base| (select .cse0 (+ (* 4 main_~i~1) |main_~#a~0.offset|))) (not (= (select .cse0 (+ (* 4 v_init_~i~0_17) |main_~#a~0.offset|)) 0)) (<= 99999 v_init_~i~0_17) (< v_init_~i~0_17 100000) (< main_~i~1 100000))) [2018-11-23 12:12:27,561 WARN L385 uantifierElimination]: ElimStorePlain result: ∃ []. (let ((.cse0 (< main_~i~1 100000))) (or (and .cse0 (or (<= main_~i~1 99998) (<= 100000 main_~i~1))) (and (not (= |main_#t~mem3.base| 0)) .cse0))) [2018-11-23 12:12:27,716 INFO L256 TraceCheckUtils]: 0: Hoare triple {3670#true} call ULTIMATE.init(); {3670#true} is VALID [2018-11-23 12:12:27,717 INFO L273 TraceCheckUtils]: 1: Hoare triple {3670#true} #NULL.base, #NULL.offset := 0, 0;#valid := #valid[0 := 0]; {3670#true} is VALID [2018-11-23 12:12:27,717 INFO L273 TraceCheckUtils]: 2: Hoare triple {3670#true} assume true; {3670#true} is VALID [2018-11-23 12:12:27,718 INFO L268 TraceCheckUtils]: 3: Hoare quadruple {3670#true} {3670#true} #76#return; {3670#true} is VALID [2018-11-23 12:12:27,718 INFO L256 TraceCheckUtils]: 4: Hoare triple {3670#true} call #t~ret6 := main(); {3670#true} is VALID [2018-11-23 12:12:27,718 INFO L273 TraceCheckUtils]: 5: Hoare triple {3670#true} call ~#a~0.base, ~#a~0.offset := #Ultimate.alloc(400000);havoc ~i~1;havoc ~flag~0;~flag~0 := 0; {3670#true} is VALID [2018-11-23 12:12:27,718 INFO L256 TraceCheckUtils]: 6: Hoare triple {3670#true} call init(~#a~0.base, ~#a~0.offset, 100000); {3670#true} is VALID [2018-11-23 12:12:27,719 INFO L273 TraceCheckUtils]: 7: Hoare triple {3670#true} ~a.base, ~a.offset := #in~a.base, #in~a.offset;~size := #in~size;havoc ~i~0;~i~0 := 0; {3704#(and (= init_~a.base |init_#in~a.base|) (= |init_#in~size| init_~size) (= init_~a.offset |init_#in~a.offset|))} is VALID [2018-11-23 12:12:27,719 INFO L273 TraceCheckUtils]: 8: Hoare triple {3704#(and (= init_~a.base |init_#in~a.base|) (= |init_#in~size| init_~size) (= init_~a.offset |init_#in~a.offset|))} assume !!(~i~0 < ~size);call #t~malloc1.base, #t~malloc1.offset := #Ultimate.alloc(4);call write~$Pointer$(#t~malloc1.base, #t~malloc1.offset, ~a.base, ~a.offset + 4 * ~i~0, 4); {3704#(and (= init_~a.base |init_#in~a.base|) (= |init_#in~size| init_~size) (= init_~a.offset |init_#in~a.offset|))} is VALID [2018-11-23 12:12:27,720 INFO L273 TraceCheckUtils]: 9: Hoare triple {3704#(and (= init_~a.base |init_#in~a.base|) (= |init_#in~size| init_~size) (= init_~a.offset |init_#in~a.offset|))} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {3704#(and (= init_~a.base |init_#in~a.base|) (= |init_#in~size| init_~size) (= init_~a.offset |init_#in~a.offset|))} is VALID [2018-11-23 12:12:27,720 INFO L273 TraceCheckUtils]: 10: Hoare triple {3704#(and (= init_~a.base |init_#in~a.base|) (= |init_#in~size| init_~size) (= init_~a.offset |init_#in~a.offset|))} assume !!(~i~0 < ~size);call #t~malloc1.base, #t~malloc1.offset := #Ultimate.alloc(4);call write~$Pointer$(#t~malloc1.base, #t~malloc1.offset, ~a.base, ~a.offset + 4 * ~i~0, 4); {3704#(and (= init_~a.base |init_#in~a.base|) (= |init_#in~size| init_~size) (= init_~a.offset |init_#in~a.offset|))} is VALID [2018-11-23 12:12:27,721 INFO L273 TraceCheckUtils]: 11: Hoare triple {3704#(and (= init_~a.base |init_#in~a.base|) (= |init_#in~size| init_~size) (= init_~a.offset |init_#in~a.offset|))} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {3704#(and (= init_~a.base |init_#in~a.base|) (= |init_#in~size| init_~size) (= init_~a.offset |init_#in~a.offset|))} is VALID [2018-11-23 12:12:27,721 INFO L273 TraceCheckUtils]: 12: Hoare triple {3704#(and (= init_~a.base |init_#in~a.base|) (= |init_#in~size| init_~size) (= init_~a.offset |init_#in~a.offset|))} assume !!(~i~0 < ~size);call #t~malloc1.base, #t~malloc1.offset := #Ultimate.alloc(4);call write~$Pointer$(#t~malloc1.base, #t~malloc1.offset, ~a.base, ~a.offset + 4 * ~i~0, 4); {3704#(and (= init_~a.base |init_#in~a.base|) (= |init_#in~size| init_~size) (= init_~a.offset |init_#in~a.offset|))} is VALID [2018-11-23 12:12:27,722 INFO L273 TraceCheckUtils]: 13: Hoare triple {3704#(and (= init_~a.base |init_#in~a.base|) (= |init_#in~size| init_~size) (= init_~a.offset |init_#in~a.offset|))} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {3704#(and (= init_~a.base |init_#in~a.base|) (= |init_#in~size| init_~size) (= init_~a.offset |init_#in~a.offset|))} is VALID [2018-11-23 12:12:27,723 INFO L273 TraceCheckUtils]: 14: Hoare triple {3704#(and (= init_~a.base |init_#in~a.base|) (= |init_#in~size| init_~size) (= init_~a.offset |init_#in~a.offset|))} assume !!(~i~0 < ~size);call #t~malloc1.base, #t~malloc1.offset := #Ultimate.alloc(4);call write~$Pointer$(#t~malloc1.base, #t~malloc1.offset, ~a.base, ~a.offset + 4 * ~i~0, 4); {3704#(and (= init_~a.base |init_#in~a.base|) (= |init_#in~size| init_~size) (= init_~a.offset |init_#in~a.offset|))} is VALID [2018-11-23 12:12:27,723 INFO L273 TraceCheckUtils]: 15: Hoare triple {3704#(and (= init_~a.base |init_#in~a.base|) (= |init_#in~size| init_~size) (= init_~a.offset |init_#in~a.offset|))} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {3704#(and (= init_~a.base |init_#in~a.base|) (= |init_#in~size| init_~size) (= init_~a.offset |init_#in~a.offset|))} is VALID [2018-11-23 12:12:27,725 INFO L273 TraceCheckUtils]: 16: Hoare triple {3704#(and (= init_~a.base |init_#in~a.base|) (= |init_#in~size| init_~size) (= init_~a.offset |init_#in~a.offset|))} assume !!(~i~0 < ~size);call #t~malloc1.base, #t~malloc1.offset := #Ultimate.alloc(4);call write~$Pointer$(#t~malloc1.base, #t~malloc1.offset, ~a.base, ~a.offset + 4 * ~i~0, 4); {3732#(and (not (= (select (select |#memory_$Pointer$.base| |init_#in~a.base|) (+ |init_#in~a.offset| (* 4 init_~i~0))) 0)) (= |init_#in~size| init_~size) (< init_~i~0 init_~size))} is VALID [2018-11-23 12:12:27,726 INFO L273 TraceCheckUtils]: 17: Hoare triple {3732#(and (not (= (select (select |#memory_$Pointer$.base| |init_#in~a.base|) (+ |init_#in~a.offset| (* 4 init_~i~0))) 0)) (= |init_#in~size| init_~size) (< init_~i~0 init_~size))} #t~post0 := ~i~0;~i~0 := 1 + #t~post0;havoc #t~post0; {3736#(and (exists ((v_init_~i~0_17 Int)) (and (<= init_~i~0 (+ v_init_~i~0_17 1)) (not (= (select (select |#memory_$Pointer$.base| |init_#in~a.base|) (+ |init_#in~a.offset| (* 4 v_init_~i~0_17))) 0)) (< v_init_~i~0_17 init_~size))) (= |init_#in~size| init_~size))} is VALID [2018-11-23 12:12:27,728 INFO L273 TraceCheckUtils]: 18: Hoare triple {3736#(and (exists ((v_init_~i~0_17 Int)) (and (<= init_~i~0 (+ v_init_~i~0_17 1)) (not (= (select (select |#memory_$Pointer$.base| |init_#in~a.base|) (+ |init_#in~a.offset| (* 4 v_init_~i~0_17))) 0)) (< v_init_~i~0_17 init_~size))) (= |init_#in~size| init_~size))} assume !(~i~0 < ~size); {3740#(exists ((v_init_~i~0_17 Int)) (and (<= |init_#in~size| (+ v_init_~i~0_17 1)) (not (= (select (select |#memory_$Pointer$.base| |init_#in~a.base|) (+ |init_#in~a.offset| (* 4 v_init_~i~0_17))) 0)) (< v_init_~i~0_17 |init_#in~size|)))} is VALID [2018-11-23 12:12:27,729 INFO L273 TraceCheckUtils]: 19: Hoare triple {3740#(exists ((v_init_~i~0_17 Int)) (and (<= |init_#in~size| (+ v_init_~i~0_17 1)) (not (= (select (select |#memory_$Pointer$.base| |init_#in~a.base|) (+ |init_#in~a.offset| (* 4 v_init_~i~0_17))) 0)) (< v_init_~i~0_17 |init_#in~size|)))} assume true; {3740#(exists ((v_init_~i~0_17 Int)) (and (<= |init_#in~size| (+ v_init_~i~0_17 1)) (not (= (select (select |#memory_$Pointer$.base| |init_#in~a.base|) (+ |init_#in~a.offset| (* 4 v_init_~i~0_17))) 0)) (< v_init_~i~0_17 |init_#in~size|)))} is VALID [2018-11-23 12:12:27,731 INFO L268 TraceCheckUtils]: 20: Hoare quadruple {3740#(exists ((v_init_~i~0_17 Int)) (and (<= |init_#in~size| (+ v_init_~i~0_17 1)) (not (= (select (select |#memory_$Pointer$.base| |init_#in~a.base|) (+ |init_#in~a.offset| (* 4 v_init_~i~0_17))) 0)) (< v_init_~i~0_17 |init_#in~size|)))} {3670#true} #80#return; {3747#(exists ((v_init_~i~0_17 Int)) (and (not (= (select (select |#memory_$Pointer$.base| |main_~#a~0.base|) (+ (* 4 v_init_~i~0_17) |main_~#a~0.offset|)) 0)) (<= 99999 v_init_~i~0_17) (< v_init_~i~0_17 100000)))} is VALID [2018-11-23 12:12:27,732 INFO L273 TraceCheckUtils]: 21: Hoare triple {3747#(exists ((v_init_~i~0_17 Int)) (and (not (= (select (select |#memory_$Pointer$.base| |main_~#a~0.base|) (+ (* 4 v_init_~i~0_17) |main_~#a~0.offset|)) 0)) (<= 99999 v_init_~i~0_17) (< v_init_~i~0_17 100000)))} ~i~1 := 0; {3747#(exists ((v_init_~i~0_17 Int)) (and (not (= (select (select |#memory_$Pointer$.base| |main_~#a~0.base|) (+ (* 4 v_init_~i~0_17) |main_~#a~0.offset|)) 0)) (<= 99999 v_init_~i~0_17) (< v_init_~i~0_17 100000)))} is VALID [2018-11-23 12:12:27,732 INFO L273 TraceCheckUtils]: 22: Hoare triple {3747#(exists ((v_init_~i~0_17 Int)) (and (not (= (select (select |#memory_$Pointer$.base| |main_~#a~0.base|) (+ (* 4 v_init_~i~0_17) |main_~#a~0.offset|)) 0)) (<= 99999 v_init_~i~0_17) (< v_init_~i~0_17 100000)))} assume !!(~i~1 < 100000);call #t~mem3.base, #t~mem3.offset := read~$Pointer$(~#a~0.base, ~#a~0.offset + 4 * ~i~1, 4); {3747#(exists ((v_init_~i~0_17 Int)) (and (not (= (select (select |#memory_$Pointer$.base| |main_~#a~0.base|) (+ (* 4 v_init_~i~0_17) |main_~#a~0.offset|)) 0)) (<= 99999 v_init_~i~0_17) (< v_init_~i~0_17 100000)))} is VALID [2018-11-23 12:12:27,732 INFO L273 TraceCheckUtils]: 23: Hoare triple {3747#(exists ((v_init_~i~0_17 Int)) (and (not (= (select (select |#memory_$Pointer$.base| |main_~#a~0.base|) (+ (* 4 v_init_~i~0_17) |main_~#a~0.offset|)) 0)) (<= 99999 v_init_~i~0_17) (< v_init_~i~0_17 100000)))} assume !(#t~mem3.base != 0 || #t~mem3.offset != 0);havoc #t~mem3.base, #t~mem3.offset; {3747#(exists ((v_init_~i~0_17 Int)) (and (not (= (select (select |#memory_$Pointer$.base| |main_~#a~0.base|) (+ (* 4 v_init_~i~0_17) |main_~#a~0.offset|)) 0)) (<= 99999 v_init_~i~0_17) (< v_init_~i~0_17 100000)))} is VALID [2018-11-23 12:12:27,733 INFO L273 TraceCheckUtils]: 24: Hoare triple {3747#(exists ((v_init_~i~0_17 Int)) (and (not (= (select (select |#memory_$Pointer$.base| |main_~#a~0.base|) (+ (* 4 v_init_~i~0_17) |main_~#a~0.offset|)) 0)) (<= 99999 v_init_~i~0_17) (< v_init_~i~0_17 100000)))} #t~post2 := ~i~1;~i~1 := 1 + #t~post2;havoc #t~post2; {3747#(exists ((v_init_~i~0_17 Int)) (and (not (= (select (select |#memory_$Pointer$.base| |main_~#a~0.base|) (+ (* 4 v_init_~i~0_17) |main_~#a~0.offset|)) 0)) (<= 99999 v_init_~i~0_17) (< v_init_~i~0_17 100000)))} is VALID [2018-11-23 12:12:27,734 INFO L273 TraceCheckUtils]: 25: Hoare triple {3747#(exists ((v_init_~i~0_17 Int)) (and (not (= (select (select |#memory_$Pointer$.base| |main_~#a~0.base|) (+ (* 4 v_init_~i~0_17) |main_~#a~0.offset|)) 0)) (<= 99999 v_init_~i~0_17) (< v_init_~i~0_17 100000)))} assume !!(~i~1 < 100000);call #t~mem3.base, #t~mem3.offset := read~$Pointer$(~#a~0.base, ~#a~0.offset + 4 * ~i~1, 4); {3747#(exists ((v_init_~i~0_17 Int)) (and (not (= (select (select |#memory_$Pointer$.base| |main_~#a~0.base|) (+ (* 4 v_init_~i~0_17) |main_~#a~0.offset|)) 0)) (<= 99999 v_init_~i~0_17) (< v_init_~i~0_17 100000)))} is VALID [2018-11-23 12:12:27,735 INFO L273 TraceCheckUtils]: 26: Hoare triple {3747#(exists ((v_init_~i~0_17 Int)) (and (not (= (select (select |#memory_$Pointer$.base| |main_~#a~0.base|) (+ (* 4 v_init_~i~0_17) |main_~#a~0.offset|)) 0)) (<= 99999 v_init_~i~0_17) (< v_init_~i~0_17 100000)))} assume !(#t~mem3.base != 0 || #t~mem3.offset != 0);havoc #t~mem3.base, #t~mem3.offset; {3747#(exists ((v_init_~i~0_17 Int)) (and (not (= (select (select |#memory_$Pointer$.base| |main_~#a~0.base|) (+ (* 4 v_init_~i~0_17) |main_~#a~0.offset|)) 0)) (<= 99999 v_init_~i~0_17) (< v_init_~i~0_17 100000)))} is VALID [2018-11-23 12:12:27,735 INFO L273 TraceCheckUtils]: 27: Hoare triple {3747#(exists ((v_init_~i~0_17 Int)) (and (not (= (select (select |#memory_$Pointer$.base| |main_~#a~0.base|) (+ (* 4 v_init_~i~0_17) |main_~#a~0.offset|)) 0)) (<= 99999 v_init_~i~0_17) (< v_init_~i~0_17 100000)))} #t~post2 := ~i~1;~i~1 := 1 + #t~post2;havoc #t~post2; {3747#(exists ((v_init_~i~0_17 Int)) (and (not (= (select (select |#memory_$Pointer$.base| |main_~#a~0.base|) (+ (* 4 v_init_~i~0_17) |main_~#a~0.offset|)) 0)) (<= 99999 v_init_~i~0_17) (< v_init_~i~0_17 100000)))} is VALID [2018-11-23 12:12:27,736 INFO L273 TraceCheckUtils]: 28: Hoare triple {3747#(exists ((v_init_~i~0_17 Int)) (and (not (= (select (select |#memory_$Pointer$.base| |main_~#a~0.base|) (+ (* 4 v_init_~i~0_17) |main_~#a~0.offset|)) 0)) (<= 99999 v_init_~i~0_17) (< v_init_~i~0_17 100000)))} assume !!(~i~1 < 100000);call #t~mem3.base, #t~mem3.offset := read~$Pointer$(~#a~0.base, ~#a~0.offset + 4 * ~i~1, 4); {3747#(exists ((v_init_~i~0_17 Int)) (and (not (= (select (select |#memory_$Pointer$.base| |main_~#a~0.base|) (+ (* 4 v_init_~i~0_17) |main_~#a~0.offset|)) 0)) (<= 99999 v_init_~i~0_17) (< v_init_~i~0_17 100000)))} is VALID [2018-11-23 12:12:27,737 INFO L273 TraceCheckUtils]: 29: Hoare triple {3747#(exists ((v_init_~i~0_17 Int)) (and (not (= (select (select |#memory_$Pointer$.base| |main_~#a~0.base|) (+ (* 4 v_init_~i~0_17) |main_~#a~0.offset|)) 0)) (<= 99999 v_init_~i~0_17) (< v_init_~i~0_17 100000)))} assume !(#t~mem3.base != 0 || #t~mem3.offset != 0);havoc #t~mem3.base, #t~mem3.offset; {3747#(exists ((v_init_~i~0_17 Int)) (and (not (= (select (select |#memory_$Pointer$.base| |main_~#a~0.base|) (+ (* 4 v_init_~i~0_17) |main_~#a~0.offset|)) 0)) (<= 99999 v_init_~i~0_17) (< v_init_~i~0_17 100000)))} is VALID [2018-11-23 12:12:27,737 INFO L273 TraceCheckUtils]: 30: Hoare triple {3747#(exists ((v_init_~i~0_17 Int)) (and (not (= (select (select |#memory_$Pointer$.base| |main_~#a~0.base|) (+ (* 4 v_init_~i~0_17) |main_~#a~0.offset|)) 0)) (<= 99999 v_init_~i~0_17) (< v_init_~i~0_17 100000)))} #t~post2 := ~i~1;~i~1 := 1 + #t~post2;havoc #t~post2; {3747#(exists ((v_init_~i~0_17 Int)) (and (not (= (select (select |#memory_$Pointer$.base| |main_~#a~0.base|) (+ (* 4 v_init_~i~0_17) |main_~#a~0.offset|)) 0)) (<= 99999 v_init_~i~0_17) (< v_init_~i~0_17 100000)))} is VALID [2018-11-23 12:12:27,738 INFO L273 TraceCheckUtils]: 31: Hoare triple {3747#(exists ((v_init_~i~0_17 Int)) (and (not (= (select (select |#memory_$Pointer$.base| |main_~#a~0.base|) (+ (* 4 v_init_~i~0_17) |main_~#a~0.offset|)) 0)) (<= 99999 v_init_~i~0_17) (< v_init_~i~0_17 100000)))} assume !!(~i~1 < 100000);call #t~mem3.base, #t~mem3.offset := read~$Pointer$(~#a~0.base, ~#a~0.offset + 4 * ~i~1, 4); {3747#(exists ((v_init_~i~0_17 Int)) (and (not (= (select (select |#memory_$Pointer$.base| |main_~#a~0.base|) (+ (* 4 v_init_~i~0_17) |main_~#a~0.offset|)) 0)) (<= 99999 v_init_~i~0_17) (< v_init_~i~0_17 100000)))} is VALID [2018-11-23 12:12:27,738 INFO L273 TraceCheckUtils]: 32: Hoare triple {3747#(exists ((v_init_~i~0_17 Int)) (and (not (= (select (select |#memory_$Pointer$.base| |main_~#a~0.base|) (+ (* 4 v_init_~i~0_17) |main_~#a~0.offset|)) 0)) (<= 99999 v_init_~i~0_17) (< v_init_~i~0_17 100000)))} assume !(#t~mem3.base != 0 || #t~mem3.offset != 0);havoc #t~mem3.base, #t~mem3.offset; {3747#(exists ((v_init_~i~0_17 Int)) (and (not (= (select (select |#memory_$Pointer$.base| |main_~#a~0.base|) (+ (* 4 v_init_~i~0_17) |main_~#a~0.offset|)) 0)) (<= 99999 v_init_~i~0_17) (< v_init_~i~0_17 100000)))} is VALID [2018-11-23 12:12:27,739 INFO L273 TraceCheckUtils]: 33: Hoare triple {3747#(exists ((v_init_~i~0_17 Int)) (and (not (= (select (select |#memory_$Pointer$.base| |main_~#a~0.base|) (+ (* 4 v_init_~i~0_17) |main_~#a~0.offset|)) 0)) (<= 99999 v_init_~i~0_17) (< v_init_~i~0_17 100000)))} #t~post2 := ~i~1;~i~1 := 1 + #t~post2;havoc #t~post2; {3747#(exists ((v_init_~i~0_17 Int)) (and (not (= (select (select |#memory_$Pointer$.base| |main_~#a~0.base|) (+ (* 4 v_init_~i~0_17) |main_~#a~0.offset|)) 0)) (<= 99999 v_init_~i~0_17) (< v_init_~i~0_17 100000)))} is VALID [2018-11-23 12:12:27,740 INFO L273 TraceCheckUtils]: 34: Hoare triple {3747#(exists ((v_init_~i~0_17 Int)) (and (not (= (select (select |#memory_$Pointer$.base| |main_~#a~0.base|) (+ (* 4 v_init_~i~0_17) |main_~#a~0.offset|)) 0)) (<= 99999 v_init_~i~0_17) (< v_init_~i~0_17 100000)))} assume !!(~i~1 < 100000);call #t~mem3.base, #t~mem3.offset := read~$Pointer$(~#a~0.base, ~#a~0.offset + 4 * ~i~1, 4); {3747#(exists ((v_init_~i~0_17 Int)) (and (not (= (select (select |#memory_$Pointer$.base| |main_~#a~0.base|) (+ (* 4 v_init_~i~0_17) |main_~#a~0.offset|)) 0)) (<= 99999 v_init_~i~0_17) (< v_init_~i~0_17 100000)))} is VALID [2018-11-23 12:12:27,740 INFO L273 TraceCheckUtils]: 35: Hoare triple {3747#(exists ((v_init_~i~0_17 Int)) (and (not (= (select (select |#memory_$Pointer$.base| |main_~#a~0.base|) (+ (* 4 v_init_~i~0_17) |main_~#a~0.offset|)) 0)) (<= 99999 v_init_~i~0_17) (< v_init_~i~0_17 100000)))} assume !(#t~mem3.base != 0 || #t~mem3.offset != 0);havoc #t~mem3.base, #t~mem3.offset; {3747#(exists ((v_init_~i~0_17 Int)) (and (not (= (select (select |#memory_$Pointer$.base| |main_~#a~0.base|) (+ (* 4 v_init_~i~0_17) |main_~#a~0.offset|)) 0)) (<= 99999 v_init_~i~0_17) (< v_init_~i~0_17 100000)))} is VALID [2018-11-23 12:12:27,741 INFO L273 TraceCheckUtils]: 36: Hoare triple {3747#(exists ((v_init_~i~0_17 Int)) (and (not (= (select (select |#memory_$Pointer$.base| |main_~#a~0.base|) (+ (* 4 v_init_~i~0_17) |main_~#a~0.offset|)) 0)) (<= 99999 v_init_~i~0_17) (< v_init_~i~0_17 100000)))} #t~post2 := ~i~1;~i~1 := 1 + #t~post2;havoc #t~post2; {3747#(exists ((v_init_~i~0_17 Int)) (and (not (= (select (select |#memory_$Pointer$.base| |main_~#a~0.base|) (+ (* 4 v_init_~i~0_17) |main_~#a~0.offset|)) 0)) (<= 99999 v_init_~i~0_17) (< v_init_~i~0_17 100000)))} is VALID [2018-11-23 12:12:27,741 INFO L273 TraceCheckUtils]: 37: Hoare triple {3747#(exists ((v_init_~i~0_17 Int)) (and (not (= (select (select |#memory_$Pointer$.base| |main_~#a~0.base|) (+ (* 4 v_init_~i~0_17) |main_~#a~0.offset|)) 0)) (<= 99999 v_init_~i~0_17) (< v_init_~i~0_17 100000)))} assume !!(~i~1 < 100000);call #t~mem3.base, #t~mem3.offset := read~$Pointer$(~#a~0.base, ~#a~0.offset + 4 * ~i~1, 4); {3747#(exists ((v_init_~i~0_17 Int)) (and (not (= (select (select |#memory_$Pointer$.base| |main_~#a~0.base|) (+ (* 4 v_init_~i~0_17) |main_~#a~0.offset|)) 0)) (<= 99999 v_init_~i~0_17) (< v_init_~i~0_17 100000)))} is VALID [2018-11-23 12:12:27,742 INFO L273 TraceCheckUtils]: 38: Hoare triple {3747#(exists ((v_init_~i~0_17 Int)) (and (not (= (select (select |#memory_$Pointer$.base| |main_~#a~0.base|) (+ (* 4 v_init_~i~0_17) |main_~#a~0.offset|)) 0)) (<= 99999 v_init_~i~0_17) (< v_init_~i~0_17 100000)))} assume !(#t~mem3.base != 0 || #t~mem3.offset != 0);havoc #t~mem3.base, #t~mem3.offset; {3747#(exists ((v_init_~i~0_17 Int)) (and (not (= (select (select |#memory_$Pointer$.base| |main_~#a~0.base|) (+ (* 4 v_init_~i~0_17) |main_~#a~0.offset|)) 0)) (<= 99999 v_init_~i~0_17) (< v_init_~i~0_17 100000)))} is VALID [2018-11-23 12:12:27,760 INFO L273 TraceCheckUtils]: 39: Hoare triple {3747#(exists ((v_init_~i~0_17 Int)) (and (not (= (select (select |#memory_$Pointer$.base| |main_~#a~0.base|) (+ (* 4 v_init_~i~0_17) |main_~#a~0.offset|)) 0)) (<= 99999 v_init_~i~0_17) (< v_init_~i~0_17 100000)))} #t~post2 := ~i~1;~i~1 := 1 + #t~post2;havoc #t~post2; {3747#(exists ((v_init_~i~0_17 Int)) (and (not (= (select (select |#memory_$Pointer$.base| |main_~#a~0.base|) (+ (* 4 v_init_~i~0_17) |main_~#a~0.offset|)) 0)) (<= 99999 v_init_~i~0_17) (< v_init_~i~0_17 100000)))} is VALID [2018-11-23 12:12:27,766 INFO L273 TraceCheckUtils]: 40: Hoare triple {3747#(exists ((v_init_~i~0_17 Int)) (and (not (= (select (select |#memory_$Pointer$.base| |main_~#a~0.base|) (+ (* 4 v_init_~i~0_17) |main_~#a~0.offset|)) 0)) (<= 99999 v_init_~i~0_17) (< v_init_~i~0_17 100000)))} assume !!(~i~1 < 100000);call #t~mem3.base, #t~mem3.offset := read~$Pointer$(~#a~0.base, ~#a~0.offset + 4 * ~i~1, 4); {3808#(or (and (not (= |main_#t~mem3.base| 0)) (< main_~i~1 100000)) (<= main_~i~1 99998))} is VALID [2018-11-23 12:12:27,767 INFO L273 TraceCheckUtils]: 41: Hoare triple {3808#(or (and (not (= |main_#t~mem3.base| 0)) (< main_~i~1 100000)) (<= main_~i~1 99998))} assume !(#t~mem3.base != 0 || #t~mem3.offset != 0);havoc #t~mem3.base, #t~mem3.offset; {3812#(<= main_~i~1 99998)} is VALID [2018-11-23 12:12:27,768 INFO L273 TraceCheckUtils]: 42: Hoare triple {3812#(<= main_~i~1 99998)} #t~post2 := ~i~1;~i~1 := 1 + #t~post2;havoc #t~post2; {3816#(<= main_~i~1 99999)} is VALID [2018-11-23 12:12:27,768 INFO L273 TraceCheckUtils]: 43: Hoare triple {3816#(<= main_~i~1 99999)} assume !(~i~1 < 100000); {3671#false} is VALID [2018-11-23 12:12:27,768 INFO L273 TraceCheckUtils]: 44: Hoare triple {3671#false} ~i~1 := 0; {3671#false} is VALID [2018-11-23 12:12:27,768 INFO L273 TraceCheckUtils]: 45: Hoare triple {3671#false} assume !!(~i~1 < 100000); {3671#false} is VALID [2018-11-23 12:12:27,769 INFO L273 TraceCheckUtils]: 46: Hoare triple {3671#false} assume 0 == ~flag~0;call #t~mem5.base, #t~mem5.offset := read~$Pointer$(~#a~0.base, ~#a~0.offset + 4 * ~i~1, 4); {3671#false} is VALID [2018-11-23 12:12:27,769 INFO L256 TraceCheckUtils]: 47: Hoare triple {3671#false} call __VERIFIER_assert((if #t~mem5.base == 0 && #t~mem5.offset == 0 then 1 else 0)); {3671#false} is VALID [2018-11-23 12:12:27,769 INFO L273 TraceCheckUtils]: 48: Hoare triple {3671#false} ~cond := #in~cond; {3671#false} is VALID [2018-11-23 12:12:27,769 INFO L273 TraceCheckUtils]: 49: Hoare triple {3671#false} assume !(0 == ~cond); {3671#false} is VALID [2018-11-23 12:12:27,769 INFO L273 TraceCheckUtils]: 50: Hoare triple {3671#false} assume true; {3671#false} is VALID [2018-11-23 12:12:27,769 INFO L268 TraceCheckUtils]: 51: Hoare quadruple {3671#false} {3671#false} #82#return; {3671#false} is VALID [2018-11-23 12:12:27,769 INFO L273 TraceCheckUtils]: 52: Hoare triple {3671#false} havoc #t~mem5.base, #t~mem5.offset; {3671#false} is VALID [2018-11-23 12:12:27,770 INFO L273 TraceCheckUtils]: 53: Hoare triple {3671#false} #t~post4 := ~i~1;~i~1 := 1 + #t~post4;havoc #t~post4; {3671#false} is VALID [2018-11-23 12:12:27,770 INFO L273 TraceCheckUtils]: 54: Hoare triple {3671#false} assume !!(~i~1 < 100000); {3671#false} is VALID [2018-11-23 12:12:27,770 INFO L273 TraceCheckUtils]: 55: Hoare triple {3671#false} assume 0 == ~flag~0;call #t~mem5.base, #t~mem5.offset := read~$Pointer$(~#a~0.base, ~#a~0.offset + 4 * ~i~1, 4); {3671#false} is VALID [2018-11-23 12:12:27,770 INFO L256 TraceCheckUtils]: 56: Hoare triple {3671#false} call __VERIFIER_assert((if #t~mem5.base == 0 && #t~mem5.offset == 0 then 1 else 0)); {3671#false} is VALID [2018-11-23 12:12:27,770 INFO L273 TraceCheckUtils]: 57: Hoare triple {3671#false} ~cond := #in~cond; {3671#false} is VALID [2018-11-23 12:12:27,770 INFO L273 TraceCheckUtils]: 58: Hoare triple {3671#false} assume 0 == ~cond; {3671#false} is VALID [2018-11-23 12:12:27,770 INFO L273 TraceCheckUtils]: 59: Hoare triple {3671#false} assume !false; {3671#false} is VALID [2018-11-23 12:12:27,780 INFO L134 CoverageAnalysis]: Checked inductivity of 100 backedges. 0 proven. 28 refuted. 0 times theorem prover too weak. 72 trivial. 0 not checked. [2018-11-23 12:12:27,799 INFO L312 seRefinementStrategy]: Constructing automaton from 0 perfect and 2 imperfect interpolant sequences. [2018-11-23 12:12:27,799 INFO L327 seRefinementStrategy]: Number of different interpolants: perfect sequences [] imperfect sequences [10, 10] total 18 [2018-11-23 12:12:27,800 INFO L78 Accepts]: Start accepts. Automaton has 18 states. Word has length 60 [2018-11-23 12:12:27,800 INFO L84 Accepts]: Finished accepts. word is accepted. [2018-11-23 12:12:27,801 INFO L86 InductivityCheck]: Starting indutivity check of a Floyd-Hoare automaton with 18 states. [2018-11-23 12:12:28,302 INFO L119 InductivityCheck]: Floyd-Hoare automaton has 69 edges. 69 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2018-11-23 12:12:28,302 INFO L459 AbstractCegarLoop]: Interpolant automaton has 18 states [2018-11-23 12:12:28,302 INFO L142 InterpolantAutomaton]: Constructing interpolant automaton starting with 18 interpolants. [2018-11-23 12:12:28,303 INFO L144 InterpolantAutomaton]: CoverageRelationStatistics Valid=89, Invalid=217, Unknown=0, NotChecked=0, Total=306 [2018-11-23 12:12:28,303 INFO L87 Difference]: Start difference. First operand 63 states and 65 transitions. Second operand 18 states. [2018-11-23 12:12:29,288 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2018-11-23 12:12:29,289 INFO L93 Difference]: Finished difference Result 70 states and 74 transitions. [2018-11-23 12:12:29,289 INFO L142 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 18 states. [2018-11-23 12:12:29,289 INFO L78 Accepts]: Start accepts. Automaton has 18 states. Word has length 60 [2018-11-23 12:12:29,289 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2018-11-23 12:12:29,289 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 18 states. [2018-11-23 12:12:29,291 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 18 states to 18 states and 59 transitions. [2018-11-23 12:12:29,291 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 18 states. [2018-11-23 12:12:29,292 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 18 states to 18 states and 59 transitions. [2018-11-23 12:12:29,292 INFO L86 InductivityCheck]: Starting indutivity check of a Floyd-Hoare automaton with 18 states and 59 transitions. [2018-11-23 12:12:29,372 INFO L119 InductivityCheck]: Floyd-Hoare automaton has 59 edges. 59 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2018-11-23 12:12:29,373 INFO L225 Difference]: With dead ends: 70 [2018-11-23 12:12:29,373 INFO L226 Difference]: Without dead ends: 0 [2018-11-23 12:12:29,374 INFO L631 BasicCegarLoop]: 0 DeclaredPredicates, 83 GetRequests, 53 SyntacticMatches, 0 SemanticMatches, 30 ConstructedPredicates, 0 IntricatePredicates, 0 DeprecatedPredicates, 135 ImplicationChecksByTransitivity, 0.8s TimeCoverageRelationStatistics Valid=259, Invalid=733, Unknown=0, NotChecked=0, Total=992 [2018-11-23 12:12:29,375 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 0 states. [2018-11-23 12:12:29,375 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 0 to 0. [2018-11-23 12:12:29,375 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2018-11-23 12:12:29,375 INFO L82 GeneralOperation]: Start isEquivalent. First operand 0 states. Second operand 0 states. [2018-11-23 12:12:29,376 INFO L74 IsIncluded]: Start isIncluded. First operand 0 states. Second operand 0 states. [2018-11-23 12:12:29,376 INFO L87 Difference]: Start difference. First operand 0 states. Second operand 0 states. [2018-11-23 12:12:29,376 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2018-11-23 12:12:29,376 INFO L93 Difference]: Finished difference Result 0 states and 0 transitions. [2018-11-23 12:12:29,376 INFO L276 IsEmpty]: Start isEmpty. Operand 0 states and 0 transitions. [2018-11-23 12:12:29,376 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2018-11-23 12:12:29,377 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2018-11-23 12:12:29,377 INFO L74 IsIncluded]: Start isIncluded. First operand 0 states. Second operand 0 states. [2018-11-23 12:12:29,377 INFO L87 Difference]: Start difference. First operand 0 states. Second operand 0 states. [2018-11-23 12:12:29,377 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2018-11-23 12:12:29,377 INFO L93 Difference]: Finished difference Result 0 states and 0 transitions. [2018-11-23 12:12:29,377 INFO L276 IsEmpty]: Start isEmpty. Operand 0 states and 0 transitions. [2018-11-23 12:12:29,377 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2018-11-23 12:12:29,377 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2018-11-23 12:12:29,377 INFO L88 GeneralOperation]: Finished isEquivalent. [2018-11-23 12:12:29,377 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2018-11-23 12:12:29,378 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 0 states. [2018-11-23 12:12:29,378 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 0 states to 0 states and 0 transitions. [2018-11-23 12:12:29,378 INFO L78 Accepts]: Start accepts. Automaton has 0 states and 0 transitions. Word has length 60 [2018-11-23 12:12:29,378 INFO L84 Accepts]: Finished accepts. word is rejected. [2018-11-23 12:12:29,378 INFO L480 AbstractCegarLoop]: Abstraction has 0 states and 0 transitions. [2018-11-23 12:12:29,378 INFO L481 AbstractCegarLoop]: Interpolant automaton has 18 states. [2018-11-23 12:12:29,378 INFO L276 IsEmpty]: Start isEmpty. Operand 0 states and 0 transitions. [2018-11-23 12:12:29,378 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2018-11-23 12:12:29,382 INFO L343 DoubleDeckerVisitor]: Before removal of dead ends 0 states and 0 transitions. [2018-11-23 12:12:30,206 WARN L180 SmtUtils]: Spent 107.00 ms on a formula simplification. DAG size of input: 57 DAG size of output: 35 [2018-11-23 12:12:30,277 INFO L451 ceAbstractionStarter]: At program point initENTRY(lines 9 16) the Hoare annotation is: true [2018-11-23 12:12:30,277 INFO L448 ceAbstractionStarter]: For program point initEXIT(lines 9 16) no Hoare annotation was computed. [2018-11-23 12:12:30,277 INFO L448 ceAbstractionStarter]: For program point L12-2(lines 12 15) no Hoare annotation was computed. [2018-11-23 12:12:30,277 INFO L444 ceAbstractionStarter]: At program point L12-3(lines 12 15) the Hoare annotation is: (let ((.cse0 (= init_~a.base |init_#in~a.base|)) (.cse1 (= |init_#in~size| init_~size)) (.cse2 (= init_~a.offset |init_#in~a.offset|))) (or (and (exists ((v_init_~i~0_17 Int)) (and (<= init_~i~0 (+ v_init_~i~0_17 1)) (not (= (select (select |#memory_$Pointer$.base| |init_#in~a.base|) (+ |init_#in~a.offset| (* 4 v_init_~i~0_17))) 0)) (< v_init_~i~0_17 init_~size))) .cse0 .cse1 .cse2) (and (<= init_~i~0 0) .cse0 .cse1 .cse2))) [2018-11-23 12:12:30,277 INFO L448 ceAbstractionStarter]: For program point L12-4(lines 9 16) no Hoare annotation was computed. [2018-11-23 12:12:30,277 INFO L448 ceAbstractionStarter]: For program point ULTIMATE.initFINAL(line -1) no Hoare annotation was computed. [2018-11-23 12:12:30,277 INFO L451 ceAbstractionStarter]: At program point ULTIMATE.initENTRY(line -1) the Hoare annotation is: true [2018-11-23 12:12:30,277 INFO L448 ceAbstractionStarter]: For program point ULTIMATE.initEXIT(line -1) no Hoare annotation was computed. [2018-11-23 12:12:30,278 INFO L448 ceAbstractionStarter]: For program point ULTIMATE.startEXIT(line -1) no Hoare annotation was computed. [2018-11-23 12:12:30,278 INFO L451 ceAbstractionStarter]: At program point L-1(line -1) the Hoare annotation is: true [2018-11-23 12:12:30,278 INFO L451 ceAbstractionStarter]: At program point ULTIMATE.startENTRY(line -1) the Hoare annotation is: true [2018-11-23 12:12:30,278 INFO L448 ceAbstractionStarter]: For program point ULTIMATE.startFINAL(line -1) no Hoare annotation was computed. [2018-11-23 12:12:30,278 INFO L448 ceAbstractionStarter]: For program point L33(lines 33 34) no Hoare annotation was computed. [2018-11-23 12:12:30,278 INFO L448 ceAbstractionStarter]: For program point L31-2(lines 31 35) no Hoare annotation was computed. [2018-11-23 12:12:30,278 INFO L444 ceAbstractionStarter]: At program point L31-3(lines 31 35) the Hoare annotation is: (= main_~flag~0 1) [2018-11-23 12:12:30,278 INFO L448 ceAbstractionStarter]: For program point L31-4(lines 31 35) no Hoare annotation was computed. [2018-11-23 12:12:30,278 INFO L448 ceAbstractionStarter]: For program point mainEXIT(lines 17 37) no Hoare annotation was computed. [2018-11-23 12:12:30,278 INFO L444 ceAbstractionStarter]: At program point L23(line 23) the Hoare annotation is: (and (= main_~flag~0 0) (= |main_~#a~0.offset| 0)) [2018-11-23 12:12:30,278 INFO L448 ceAbstractionStarter]: For program point L23-1(line 23) no Hoare annotation was computed. [2018-11-23 12:12:30,278 INFO L448 ceAbstractionStarter]: For program point mainFINAL(lines 17 37) no Hoare annotation was computed. [2018-11-23 12:12:30,279 INFO L444 ceAbstractionStarter]: At program point L34(line 34) the Hoare annotation is: false [2018-11-23 12:12:30,279 INFO L448 ceAbstractionStarter]: For program point L34-1(line 34) no Hoare annotation was computed. [2018-11-23 12:12:30,279 INFO L451 ceAbstractionStarter]: At program point mainENTRY(lines 17 37) the Hoare annotation is: true [2018-11-23 12:12:30,279 INFO L448 ceAbstractionStarter]: For program point L26(lines 26 29) no Hoare annotation was computed. [2018-11-23 12:12:30,279 INFO L448 ceAbstractionStarter]: For program point L24-2(lines 24 30) no Hoare annotation was computed. [2018-11-23 12:12:30,279 INFO L444 ceAbstractionStarter]: At program point L24-3(lines 24 30) the Hoare annotation is: (let ((.cse0 (exists ((v_init_~i~0_17 Int)) (and (not (= (select (select |#memory_$Pointer$.base| |main_~#a~0.base|) (+ (* 4 v_init_~i~0_17) |main_~#a~0.offset|)) 0)) (<= 99999 v_init_~i~0_17) (< v_init_~i~0_17 100000)))) (.cse1 (= main_~flag~0 0)) (.cse2 (= |main_~#a~0.offset| 0))) (or (and (= 0 (select (select |#memory_$Pointer$.offset| |main_~#a~0.base|) |main_~#a~0.offset|)) (<= main_~i~1 99999) .cse0 .cse1 (= (select (select |#memory_$Pointer$.base| |main_~#a~0.base|) |main_~#a~0.offset|) 0) .cse2) (and .cse0 .cse1 (= main_~i~1 0) .cse2) (= main_~flag~0 1))) [2018-11-23 12:12:30,279 INFO L448 ceAbstractionStarter]: For program point L24-4(lines 24 30) no Hoare annotation was computed. [2018-11-23 12:12:30,279 INFO L448 ceAbstractionStarter]: For program point L4-3(line 4) no Hoare annotation was computed. [2018-11-23 12:12:30,279 INFO L451 ceAbstractionStarter]: At program point __VERIFIER_assertENTRY(line 4) the Hoare annotation is: true [2018-11-23 12:12:30,280 INFO L448 ceAbstractionStarter]: For program point __VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION(line 4) no Hoare annotation was computed. [2018-11-23 12:12:30,280 INFO L448 ceAbstractionStarter]: For program point __VERIFIER_assertEXIT(line 4) no Hoare annotation was computed. [2018-11-23 12:12:30,280 INFO L448 ceAbstractionStarter]: For program point L4(line 4) no Hoare annotation was computed. [2018-11-23 12:12:30,280 INFO L448 ceAbstractionStarter]: For program point L4-1(line 4) no Hoare annotation was computed. [2018-11-23 12:12:30,282 WARN L170 areAnnotationChecker]: ULTIMATE.initFINAL has no Hoare annotation [2018-11-23 12:12:30,283 WARN L170 areAnnotationChecker]: L4 has no Hoare annotation [2018-11-23 12:12:30,283 WARN L170 areAnnotationChecker]: L12-4 has no Hoare annotation [2018-11-23 12:12:30,283 WARN L170 areAnnotationChecker]: L12-4 has no Hoare annotation [2018-11-23 12:12:30,283 WARN L170 areAnnotationChecker]: L12-2 has no Hoare annotation [2018-11-23 12:12:30,283 WARN L170 areAnnotationChecker]: ULTIMATE.initFINAL has no Hoare annotation [2018-11-23 12:12:30,283 WARN L170 areAnnotationChecker]: ULTIMATE.startFINAL has no Hoare annotation [2018-11-23 12:12:30,284 WARN L170 areAnnotationChecker]: L23-1 has no Hoare annotation [2018-11-23 12:12:30,284 WARN L170 areAnnotationChecker]: L4 has no Hoare annotation [2018-11-23 12:12:30,284 WARN L170 areAnnotationChecker]: L4 has no Hoare annotation [2018-11-23 12:12:30,284 WARN L170 areAnnotationChecker]: L12-4 has no Hoare annotation [2018-11-23 12:12:30,284 WARN L170 areAnnotationChecker]: L12-2 has no Hoare annotation [2018-11-23 12:12:30,284 WARN L170 areAnnotationChecker]: ULTIMATE.initEXIT has no Hoare annotation [2018-11-23 12:12:30,284 WARN L170 areAnnotationChecker]: ULTIMATE.startFINAL has no Hoare annotation [2018-11-23 12:12:30,284 WARN L170 areAnnotationChecker]: L23-1 has no Hoare annotation [2018-11-23 12:12:30,284 WARN L170 areAnnotationChecker]: L4-1 has no Hoare annotation [2018-11-23 12:12:30,284 WARN L170 areAnnotationChecker]: L4-1 has no Hoare annotation [2018-11-23 12:12:30,284 WARN L170 areAnnotationChecker]: L4-3 has no Hoare annotation [2018-11-23 12:12:30,285 WARN L170 areAnnotationChecker]: initEXIT has no Hoare annotation [2018-11-23 12:12:30,285 WARN L170 areAnnotationChecker]: L24-4 has no Hoare annotation [2018-11-23 12:12:30,285 WARN L170 areAnnotationChecker]: L24-4 has no Hoare annotation [2018-11-23 12:12:30,285 WARN L170 areAnnotationChecker]: L26 has no Hoare annotation [2018-11-23 12:12:30,285 WARN L170 areAnnotationChecker]: __VERIFIER_assertEXIT has no Hoare annotation [2018-11-23 12:12:30,285 WARN L170 areAnnotationChecker]: L24-4 has no Hoare annotation [2018-11-23 12:12:30,285 WARN L170 areAnnotationChecker]: L26 has no Hoare annotation [2018-11-23 12:12:30,285 WARN L170 areAnnotationChecker]: L26 has no Hoare annotation [2018-11-23 12:12:30,285 WARN L170 areAnnotationChecker]: L34-1 has no Hoare annotation [2018-11-23 12:12:30,286 WARN L170 areAnnotationChecker]: L31-4 has no Hoare annotation [2018-11-23 12:12:30,286 WARN L170 areAnnotationChecker]: L31-4 has no Hoare annotation [2018-11-23 12:12:30,286 WARN L170 areAnnotationChecker]: L33 has no Hoare annotation [2018-11-23 12:12:30,286 WARN L170 areAnnotationChecker]: L24-2 has no Hoare annotation [2018-11-23 12:12:30,286 WARN L170 areAnnotationChecker]: L31-2 has no Hoare annotation [2018-11-23 12:12:30,286 WARN L170 areAnnotationChecker]: L31-4 has no Hoare annotation [2018-11-23 12:12:30,286 WARN L170 areAnnotationChecker]: L33 has no Hoare annotation [2018-11-23 12:12:30,287 WARN L170 areAnnotationChecker]: L33 has no Hoare annotation [2018-11-23 12:12:30,287 WARN L170 areAnnotationChecker]: mainFINAL has no Hoare annotation [2018-11-23 12:12:30,287 WARN L170 areAnnotationChecker]: L34-1 has no Hoare annotation [2018-11-23 12:12:30,287 WARN L170 areAnnotationChecker]: mainEXIT has no Hoare annotation [2018-11-23 12:12:30,287 INFO L163 areAnnotationChecker]: CFG has 6 edges. 6 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. 0 times interpolants missing. [2018-11-23 12:12:30,298 WARN L416 cessorBacktranslator]: Unfinished backtranslation: Name guessing unsuccessful for VarDecl var #memory_$Pointer$ : [$Pointer$]$Pointer$; and expression #memory_$Pointer$.offset [2018-11-23 12:12:30,299 WARN L416 cessorBacktranslator]: Unfinished backtranslation: Name guessing unsuccessful for VarDecl var #memory_$Pointer$ : [$Pointer$]$Pointer$; and expression #memory_$Pointer$.base [2018-11-23 12:12:30,300 WARN L416 cessorBacktranslator]: Identifier is quantified, using identity as back-translation of IdentifierExpression[v_init_~i~0_17,QUANTIFIED] [2018-11-23 12:12:30,300 WARN L416 cessorBacktranslator]: Identifier is quantified, using identity as back-translation of IdentifierExpression[v_init_~i~0_17,QUANTIFIED] [2018-11-23 12:12:30,300 WARN L416 cessorBacktranslator]: Identifier is quantified, using identity as back-translation of IdentifierExpression[v_init_~i~0_17,QUANTIFIED] [2018-11-23 12:12:30,300 WARN L416 cessorBacktranslator]: Unfinished backtranslation: Name guessing unsuccessful for VarDecl var #memory_$Pointer$ : [$Pointer$]$Pointer$; and expression #memory_$Pointer$.base [2018-11-23 12:12:30,301 WARN L416 cessorBacktranslator]: Unfinished backtranslation: Name guessing unsuccessful for VarDecl var #memory_$Pointer$ : [$Pointer$]$Pointer$; and expression #memory_$Pointer$.base [2018-11-23 12:12:30,301 WARN L416 cessorBacktranslator]: Identifier is quantified, using identity as back-translation of IdentifierExpression[v_init_~i~0_17,QUANTIFIED] [2018-11-23 12:12:30,301 WARN L416 cessorBacktranslator]: Identifier is quantified, using identity as back-translation of IdentifierExpression[v_init_~i~0_17,QUANTIFIED] [2018-11-23 12:12:30,302 WARN L416 cessorBacktranslator]: Identifier is quantified, using identity as back-translation of IdentifierExpression[v_init_~i~0_17,QUANTIFIED] [2018-11-23 12:12:30,302 WARN L1272 BoogieBacktranslator]: unknown boogie variable #memory_$Pointer$ [2018-11-23 12:12:30,303 WARN L1272 BoogieBacktranslator]: unknown boogie variable #memory_$Pointer$ [2018-11-23 12:12:30,303 WARN L1272 BoogieBacktranslator]: unknown boogie variable #memory_$Pointer$ [2018-11-23 12:12:30,303 WARN L1272 BoogieBacktranslator]: unknown boogie variable #memory_$Pointer$ [2018-11-23 12:12:30,304 WARN L416 cessorBacktranslator]: Unfinished backtranslation: Name guessing unsuccessful for VarDecl var #memory_$Pointer$ : [$Pointer$]$Pointer$; and expression #memory_$Pointer$.offset [2018-11-23 12:12:30,305 WARN L416 cessorBacktranslator]: Unfinished backtranslation: Name guessing unsuccessful for VarDecl var #memory_$Pointer$ : [$Pointer$]$Pointer$; and expression #memory_$Pointer$.base [2018-11-23 12:12:30,305 WARN L416 cessorBacktranslator]: Identifier is quantified, using identity as back-translation of IdentifierExpression[v_init_~i~0_17,QUANTIFIED] [2018-11-23 12:12:30,305 WARN L416 cessorBacktranslator]: Identifier is quantified, using identity as back-translation of IdentifierExpression[v_init_~i~0_17,QUANTIFIED] [2018-11-23 12:12:30,305 WARN L416 cessorBacktranslator]: Identifier is quantified, using identity as back-translation of IdentifierExpression[v_init_~i~0_17,QUANTIFIED] [2018-11-23 12:12:30,306 WARN L416 cessorBacktranslator]: Unfinished backtranslation: Name guessing unsuccessful for VarDecl var #memory_$Pointer$ : [$Pointer$]$Pointer$; and expression #memory_$Pointer$.base [2018-11-23 12:12:30,306 WARN L416 cessorBacktranslator]: Unfinished backtranslation: Name guessing unsuccessful for VarDecl var #memory_$Pointer$ : [$Pointer$]$Pointer$; and expression #memory_$Pointer$.base [2018-11-23 12:12:30,306 WARN L416 cessorBacktranslator]: Identifier is quantified, using identity as back-translation of IdentifierExpression[v_init_~i~0_17,QUANTIFIED] [2018-11-23 12:12:30,306 WARN L416 cessorBacktranslator]: Identifier is quantified, using identity as back-translation of IdentifierExpression[v_init_~i~0_17,QUANTIFIED] [2018-11-23 12:12:30,307 WARN L416 cessorBacktranslator]: Identifier is quantified, using identity as back-translation of IdentifierExpression[v_init_~i~0_17,QUANTIFIED] [2018-11-23 12:12:30,307 WARN L1272 BoogieBacktranslator]: unknown boogie variable #memory_$Pointer$ [2018-11-23 12:12:30,308 WARN L1272 BoogieBacktranslator]: unknown boogie variable #memory_$Pointer$ [2018-11-23 12:12:30,308 WARN L1272 BoogieBacktranslator]: unknown boogie variable #memory_$Pointer$ [2018-11-23 12:12:30,308 WARN L1272 BoogieBacktranslator]: unknown boogie variable #memory_$Pointer$ [2018-11-23 12:12:30,311 WARN L416 cessorBacktranslator]: Identifier is quantified, using identity as back-translation of IdentifierExpression[v_init_~i~0_17,QUANTIFIED] [2018-11-23 12:12:30,311 WARN L416 cessorBacktranslator]: Unfinished backtranslation: Name guessing unsuccessful for VarDecl var #memory_$Pointer$ : [$Pointer$]$Pointer$; and expression #memory_$Pointer$.base [2018-11-23 12:12:30,311 WARN L416 cessorBacktranslator]: Identifier is quantified, using identity as back-translation of IdentifierExpression[v_init_~i~0_17,QUANTIFIED] [2018-11-23 12:12:30,311 WARN L416 cessorBacktranslator]: Identifier is quantified, using identity as back-translation of IdentifierExpression[v_init_~i~0_17,QUANTIFIED] [2018-11-23 12:12:30,312 WARN L1272 BoogieBacktranslator]: unknown boogie variable #memory_$Pointer$ [2018-11-23 12:12:30,313 WARN L416 cessorBacktranslator]: Identifier is quantified, using identity as back-translation of IdentifierExpression[v_init_~i~0_17,QUANTIFIED] [2018-11-23 12:12:30,313 WARN L416 cessorBacktranslator]: Unfinished backtranslation: Name guessing unsuccessful for VarDecl var #memory_$Pointer$ : [$Pointer$]$Pointer$; and expression #memory_$Pointer$.base [2018-11-23 12:12:30,314 WARN L416 cessorBacktranslator]: Identifier is quantified, using identity as back-translation of IdentifierExpression[v_init_~i~0_17,QUANTIFIED] [2018-11-23 12:12:30,314 WARN L416 cessorBacktranslator]: Identifier is quantified, using identity as back-translation of IdentifierExpression[v_init_~i~0_17,QUANTIFIED] [2018-11-23 12:12:30,315 WARN L1272 BoogieBacktranslator]: unknown boogie variable #memory_$Pointer$ [2018-11-23 12:12:30,317 INFO L202 PluginConnector]: Adding new model de.uni_freiburg.informatik.ultimate.plugins.generator.traceabstraction CFG 23.11 12:12:30 BoogieIcfgContainer [2018-11-23 12:12:30,317 INFO L132 PluginConnector]: ------------------------ END TraceAbstraction---------------------------- [2018-11-23 12:12:30,318 INFO L113 PluginConnector]: ------------------------Witness Printer---------------------------- [2018-11-23 12:12:30,318 INFO L271 PluginConnector]: Initializing Witness Printer... [2018-11-23 12:12:30,318 INFO L276 PluginConnector]: Witness Printer initialized [2018-11-23 12:12:30,319 INFO L185 PluginConnector]: Executing the observer RCFGCatcher from plugin Witness Printer for "de.uni_freiburg.informatik.ultimate.plugins.generator.rcfgbuilder CFG 23.11 12:12:12" (3/4) ... [2018-11-23 12:12:30,323 INFO L144 WitnessPrinter]: Generating witness for correct program [2018-11-23 12:12:30,331 INFO L354 RCFGBacktranslator]: Ignoring RootEdge to procedure init [2018-11-23 12:12:30,331 INFO L354 RCFGBacktranslator]: Ignoring RootEdge to procedure ULTIMATE.init [2018-11-23 12:12:30,332 INFO L354 RCFGBacktranslator]: Ignoring RootEdge to procedure main [2018-11-23 12:12:30,332 INFO L354 RCFGBacktranslator]: Ignoring RootEdge to procedure __VERIFIER_assert [2018-11-23 12:12:30,337 INFO L879 BoogieBacktranslator]: Reduced CFG by removing 14 nodes and edges [2018-11-23 12:12:30,337 INFO L879 BoogieBacktranslator]: Reduced CFG by removing 8 nodes and edges [2018-11-23 12:12:30,338 INFO L879 BoogieBacktranslator]: Reduced CFG by removing 1 nodes and edges [2018-11-23 12:12:30,366 WARN L221 nessWitnessGenerator]: Not writing invariant because ACSL is forbidden: ((((((0 == #memory_$Pointer$[a][a] && i <= 99999) && (\exists v_init_~i~0_17 : int :: (!(#memory_$Pointer$[a][4 * v_init_~i~0_17 + a] == 0) && 99999 <= v_init_~i~0_17) && v_init_~i~0_17 < 100000)) && flag == 0) && #memory_$Pointer$[a][a] == 0) && a == 0) || ((((\exists v_init_~i~0_17 : int :: (!(#memory_$Pointer$[a][4 * v_init_~i~0_17 + a] == 0) && 99999 <= v_init_~i~0_17) && v_init_~i~0_17 < 100000) && flag == 0) && i == 0) && a == 0)) || flag == 1 [2018-11-23 12:12:30,366 WARN L221 nessWitnessGenerator]: Not writing invariant because ACSL is forbidden: ((((\exists v_init_~i~0_17 : int :: (i <= v_init_~i~0_17 + 1 && !(#memory_$Pointer$[a][a + 4 * v_init_~i~0_17] == 0)) && v_init_~i~0_17 < size) && a == a) && \old(size) == size) && a == a) || (((i <= 0 && a == a) && \old(size) == size) && a == a) [2018-11-23 12:12:30,385 INFO L145 WitnessManager]: Wrote witness to /storage/repos/svcomp/c/array-industry-pattern/array_of_struct_ptr_flag_init_true-unreach-call.i-witness.graphml [2018-11-23 12:12:30,385 INFO L132 PluginConnector]: ------------------------ END Witness Printer---------------------------- [2018-11-23 12:12:30,387 INFO L168 Benchmark]: Toolchain (without parser) took 19105.04 ms. Allocated memory was 1.5 GB in the beginning and 2.6 GB in the end (delta: 1.1 GB). Free memory was 1.4 GB in the beginning and 2.2 GB in the end (delta: -808.3 MB). Peak memory consumption was 243.9 MB. Max. memory is 7.1 GB. [2018-11-23 12:12:30,387 INFO L168 Benchmark]: CDTParser took 0.21 ms. Allocated memory is still 1.5 GB. Free memory is still 1.5 GB. There was no memory consumed. Max. memory is 7.1 GB. [2018-11-23 12:12:30,388 INFO L168 Benchmark]: CACSL2BoogieTranslator took 318.32 ms. Allocated memory is still 1.5 GB. Free memory was 1.4 GB in the beginning and 1.4 GB in the end (delta: 10.6 MB). Peak memory consumption was 10.6 MB. Max. memory is 7.1 GB. [2018-11-23 12:12:30,388 INFO L168 Benchmark]: Boogie Procedure Inliner took 34.76 ms. Allocated memory is still 1.5 GB. Free memory is still 1.4 GB. There was no memory consumed. Max. memory is 7.1 GB. [2018-11-23 12:12:30,389 INFO L168 Benchmark]: Boogie Preprocessor took 36.62 ms. Allocated memory is still 1.5 GB. Free memory is still 1.4 GB. There was no memory consumed. Max. memory is 7.1 GB. [2018-11-23 12:12:30,389 INFO L168 Benchmark]: RCFGBuilder took 764.61 ms. Allocated memory was 1.5 GB in the beginning and 2.3 GB in the end (delta: 721.4 MB). Free memory was 1.4 GB in the beginning and 2.2 GB in the end (delta: -746.4 MB). Peak memory consumption was 15.0 MB. Max. memory is 7.1 GB. [2018-11-23 12:12:30,390 INFO L168 Benchmark]: TraceAbstraction took 17877.40 ms. Allocated memory was 2.3 GB in the beginning and 2.6 GB in the end (delta: 330.8 MB). Free memory was 2.2 GB in the beginning and 2.2 GB in the end (delta: -90.0 MB). Peak memory consumption was 240.9 MB. Max. memory is 7.1 GB. [2018-11-23 12:12:30,390 INFO L168 Benchmark]: Witness Printer took 67.65 ms. Allocated memory is still 2.6 GB. Free memory was 2.2 GB in the beginning and 2.2 GB in the end (delta: 17.5 MB). Peak memory consumption was 17.5 MB. Max. memory is 7.1 GB. [2018-11-23 12:12:30,393 INFO L336 ainManager$Toolchain]: ####################### End [Toolchain 1] ####################### --- Results --- * Results from de.uni_freiburg.informatik.ultimate.core: - GenericResult: Assertions are enabled Assertions are enabled - StatisticsResult: Toolchain Benchmarks Benchmark results are: * CDTParser took 0.21 ms. Allocated memory is still 1.5 GB. Free memory is still 1.5 GB. There was no memory consumed. Max. memory is 7.1 GB. * CACSL2BoogieTranslator took 318.32 ms. Allocated memory is still 1.5 GB. Free memory was 1.4 GB in the beginning and 1.4 GB in the end (delta: 10.6 MB). Peak memory consumption was 10.6 MB. Max. memory is 7.1 GB. * Boogie Procedure Inliner took 34.76 ms. Allocated memory is still 1.5 GB. Free memory is still 1.4 GB. There was no memory consumed. Max. memory is 7.1 GB. * Boogie Preprocessor took 36.62 ms. Allocated memory is still 1.5 GB. Free memory is still 1.4 GB. There was no memory consumed. Max. memory is 7.1 GB. * RCFGBuilder took 764.61 ms. Allocated memory was 1.5 GB in the beginning and 2.3 GB in the end (delta: 721.4 MB). Free memory was 1.4 GB in the beginning and 2.2 GB in the end (delta: -746.4 MB). Peak memory consumption was 15.0 MB. Max. memory is 7.1 GB. * TraceAbstraction took 17877.40 ms. Allocated memory was 2.3 GB in the beginning and 2.6 GB in the end (delta: 330.8 MB). Free memory was 2.2 GB in the beginning and 2.2 GB in the end (delta: -90.0 MB). Peak memory consumption was 240.9 MB. Max. memory is 7.1 GB. * Witness Printer took 67.65 ms. Allocated memory is still 2.6 GB. Free memory was 2.2 GB in the beginning and 2.2 GB in the end (delta: 17.5 MB). Peak memory consumption was 17.5 MB. Max. memory is 7.1 GB. * Results from de.uni_freiburg.informatik.ultimate.boogie.preprocessor: - GenericResult: Unfinished Backtranslation Unfinished backtranslation: Name guessing unsuccessful for VarDecl var #memory_$Pointer$ : [$Pointer$]$Pointer$; and expression #memory_$Pointer$.offset - GenericResult: Unfinished Backtranslation Unfinished backtranslation: Name guessing unsuccessful for VarDecl var #memory_$Pointer$ : [$Pointer$]$Pointer$; and expression #memory_$Pointer$.base - GenericResult: Unfinished Backtranslation Identifier is quantified, using identity as back-translation of IdentifierExpression[v_init_~i~0_17,QUANTIFIED] - GenericResult: Unfinished Backtranslation Identifier is quantified, using identity as back-translation of IdentifierExpression[v_init_~i~0_17,QUANTIFIED] - GenericResult: Unfinished Backtranslation Identifier is quantified, using identity as back-translation of IdentifierExpression[v_init_~i~0_17,QUANTIFIED] - GenericResult: Unfinished Backtranslation Unfinished backtranslation: Name guessing unsuccessful for VarDecl var #memory_$Pointer$ : [$Pointer$]$Pointer$; and expression #memory_$Pointer$.base - GenericResult: Unfinished Backtranslation Unfinished backtranslation: Name guessing unsuccessful for VarDecl var #memory_$Pointer$ : [$Pointer$]$Pointer$; and expression #memory_$Pointer$.base - GenericResult: Unfinished Backtranslation Identifier is quantified, using identity as back-translation of IdentifierExpression[v_init_~i~0_17,QUANTIFIED] - GenericResult: Unfinished Backtranslation Identifier is quantified, using identity as back-translation of IdentifierExpression[v_init_~i~0_17,QUANTIFIED] - GenericResult: Unfinished Backtranslation Identifier is quantified, using identity as back-translation of IdentifierExpression[v_init_~i~0_17,QUANTIFIED] - GenericResult: Unfinished Backtranslation Unfinished backtranslation: Name guessing unsuccessful for VarDecl var #memory_$Pointer$ : [$Pointer$]$Pointer$; and expression #memory_$Pointer$.offset - GenericResult: Unfinished Backtranslation Unfinished backtranslation: Name guessing unsuccessful for VarDecl var #memory_$Pointer$ : [$Pointer$]$Pointer$; and expression #memory_$Pointer$.base - GenericResult: Unfinished Backtranslation Identifier is quantified, using identity as back-translation of IdentifierExpression[v_init_~i~0_17,QUANTIFIED] - GenericResult: Unfinished Backtranslation Identifier is quantified, using identity as back-translation of IdentifierExpression[v_init_~i~0_17,QUANTIFIED] - GenericResult: Unfinished Backtranslation Identifier is quantified, using identity as back-translation of IdentifierExpression[v_init_~i~0_17,QUANTIFIED] - GenericResult: Unfinished Backtranslation Unfinished backtranslation: Name guessing unsuccessful for VarDecl var #memory_$Pointer$ : [$Pointer$]$Pointer$; and expression #memory_$Pointer$.base - GenericResult: Unfinished Backtranslation Unfinished backtranslation: Name guessing unsuccessful for VarDecl var #memory_$Pointer$ : [$Pointer$]$Pointer$; and expression #memory_$Pointer$.base - GenericResult: Unfinished Backtranslation Identifier is quantified, using identity as back-translation of IdentifierExpression[v_init_~i~0_17,QUANTIFIED] - GenericResult: Unfinished Backtranslation Identifier is quantified, using identity as back-translation of IdentifierExpression[v_init_~i~0_17,QUANTIFIED] - GenericResult: Unfinished Backtranslation Identifier is quantified, using identity as back-translation of IdentifierExpression[v_init_~i~0_17,QUANTIFIED] - GenericResult: Unfinished Backtranslation Identifier is quantified, using identity as back-translation of IdentifierExpression[v_init_~i~0_17,QUANTIFIED] - GenericResult: Unfinished Backtranslation Unfinished backtranslation: Name guessing unsuccessful for VarDecl var #memory_$Pointer$ : [$Pointer$]$Pointer$; and expression #memory_$Pointer$.base - GenericResult: Unfinished Backtranslation Identifier is quantified, using identity as back-translation of IdentifierExpression[v_init_~i~0_17,QUANTIFIED] - GenericResult: Unfinished Backtranslation Identifier is quantified, using identity as back-translation of IdentifierExpression[v_init_~i~0_17,QUANTIFIED] - GenericResult: Unfinished Backtranslation Identifier is quantified, using identity as back-translation of IdentifierExpression[v_init_~i~0_17,QUANTIFIED] - GenericResult: Unfinished Backtranslation Unfinished backtranslation: Name guessing unsuccessful for VarDecl var #memory_$Pointer$ : [$Pointer$]$Pointer$; and expression #memory_$Pointer$.base - GenericResult: Unfinished Backtranslation Identifier is quantified, using identity as back-translation of IdentifierExpression[v_init_~i~0_17,QUANTIFIED] - GenericResult: Unfinished Backtranslation Identifier is quantified, using identity as back-translation of IdentifierExpression[v_init_~i~0_17,QUANTIFIED] * Results from de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator: - GenericResult: Unfinished Backtranslation unknown boogie variable #memory_$Pointer$ - GenericResult: Unfinished Backtranslation unknown boogie variable #memory_$Pointer$ - GenericResult: Unfinished Backtranslation unknown boogie variable #memory_$Pointer$ - GenericResult: Unfinished Backtranslation unknown boogie variable #memory_$Pointer$ - GenericResult: Unfinished Backtranslation unknown boogie variable #memory_$Pointer$ - GenericResult: Unfinished Backtranslation unknown boogie variable #memory_$Pointer$ - GenericResult: Unfinished Backtranslation unknown boogie variable #memory_$Pointer$ - GenericResult: Unfinished Backtranslation unknown boogie variable #memory_$Pointer$ - GenericResult: Unfinished Backtranslation unknown boogie variable #memory_$Pointer$ - GenericResult: Unfinished Backtranslation unknown boogie variable #memory_$Pointer$ * Results from de.uni_freiburg.informatik.ultimate.plugins.generator.traceabstraction: - PositiveResult [Line: 4]: 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: 31]: Loop Invariant Derived loop invariant: flag == 1 - InvariantResult [Line: 24]: Loop Invariant [2018-11-23 12:12:30,400 WARN L416 cessorBacktranslator]: Unfinished backtranslation: Name guessing unsuccessful for VarDecl var #memory_$Pointer$ : [$Pointer$]$Pointer$; and expression #memory_$Pointer$.offset [2018-11-23 12:12:30,401 WARN L416 cessorBacktranslator]: Unfinished backtranslation: Name guessing unsuccessful for VarDecl var #memory_$Pointer$ : [$Pointer$]$Pointer$; and expression #memory_$Pointer$.base [2018-11-23 12:12:30,401 WARN L416 cessorBacktranslator]: Identifier is quantified, using identity as back-translation of IdentifierExpression[v_init_~i~0_17,QUANTIFIED] [2018-11-23 12:12:30,401 WARN L416 cessorBacktranslator]: Identifier is quantified, using identity as back-translation of IdentifierExpression[v_init_~i~0_17,QUANTIFIED] [2018-11-23 12:12:30,402 WARN L416 cessorBacktranslator]: Identifier is quantified, using identity as back-translation of IdentifierExpression[v_init_~i~0_17,QUANTIFIED] [2018-11-23 12:12:30,402 WARN L416 cessorBacktranslator]: Unfinished backtranslation: Name guessing unsuccessful for VarDecl var #memory_$Pointer$ : [$Pointer$]$Pointer$; and expression #memory_$Pointer$.base [2018-11-23 12:12:30,402 WARN L416 cessorBacktranslator]: Unfinished backtranslation: Name guessing unsuccessful for VarDecl var #memory_$Pointer$ : [$Pointer$]$Pointer$; and expression #memory_$Pointer$.base [2018-11-23 12:12:30,402 WARN L416 cessorBacktranslator]: Identifier is quantified, using identity as back-translation of IdentifierExpression[v_init_~i~0_17,QUANTIFIED] [2018-11-23 12:12:30,402 WARN L416 cessorBacktranslator]: Identifier is quantified, using identity as back-translation of IdentifierExpression[v_init_~i~0_17,QUANTIFIED] [2018-11-23 12:12:30,403 WARN L416 cessorBacktranslator]: Identifier is quantified, using identity as back-translation of IdentifierExpression[v_init_~i~0_17,QUANTIFIED] [2018-11-23 12:12:30,403 WARN L1272 BoogieBacktranslator]: unknown boogie variable #memory_$Pointer$ [2018-11-23 12:12:30,403 WARN L1272 BoogieBacktranslator]: unknown boogie variable #memory_$Pointer$ [2018-11-23 12:12:30,404 WARN L1272 BoogieBacktranslator]: unknown boogie variable #memory_$Pointer$ [2018-11-23 12:12:30,404 WARN L1272 BoogieBacktranslator]: unknown boogie variable #memory_$Pointer$ [2018-11-23 12:12:30,405 WARN L416 cessorBacktranslator]: Unfinished backtranslation: Name guessing unsuccessful for VarDecl var #memory_$Pointer$ : [$Pointer$]$Pointer$; and expression #memory_$Pointer$.offset [2018-11-23 12:12:30,405 WARN L416 cessorBacktranslator]: Unfinished backtranslation: Name guessing unsuccessful for VarDecl var #memory_$Pointer$ : [$Pointer$]$Pointer$; and expression #memory_$Pointer$.base [2018-11-23 12:12:30,405 WARN L416 cessorBacktranslator]: Identifier is quantified, using identity as back-translation of IdentifierExpression[v_init_~i~0_17,QUANTIFIED] [2018-11-23 12:12:30,405 WARN L416 cessorBacktranslator]: Identifier is quantified, using identity as back-translation of IdentifierExpression[v_init_~i~0_17,QUANTIFIED] [2018-11-23 12:12:30,406 WARN L416 cessorBacktranslator]: Identifier is quantified, using identity as back-translation of IdentifierExpression[v_init_~i~0_17,QUANTIFIED] [2018-11-23 12:12:30,406 WARN L416 cessorBacktranslator]: Unfinished backtranslation: Name guessing unsuccessful for VarDecl var #memory_$Pointer$ : [$Pointer$]$Pointer$; and expression #memory_$Pointer$.base [2018-11-23 12:12:30,406 WARN L416 cessorBacktranslator]: Unfinished backtranslation: Name guessing unsuccessful for VarDecl var #memory_$Pointer$ : [$Pointer$]$Pointer$; and expression #memory_$Pointer$.base [2018-11-23 12:12:30,406 WARN L416 cessorBacktranslator]: Identifier is quantified, using identity as back-translation of IdentifierExpression[v_init_~i~0_17,QUANTIFIED] [2018-11-23 12:12:30,406 WARN L416 cessorBacktranslator]: Identifier is quantified, using identity as back-translation of IdentifierExpression[v_init_~i~0_17,QUANTIFIED] [2018-11-23 12:12:30,407 WARN L416 cessorBacktranslator]: Identifier is quantified, using identity as back-translation of IdentifierExpression[v_init_~i~0_17,QUANTIFIED] [2018-11-23 12:12:30,407 WARN L1272 BoogieBacktranslator]: unknown boogie variable #memory_$Pointer$ [2018-11-23 12:12:30,407 WARN L1272 BoogieBacktranslator]: unknown boogie variable #memory_$Pointer$ [2018-11-23 12:12:30,408 WARN L1272 BoogieBacktranslator]: unknown boogie variable #memory_$Pointer$ [2018-11-23 12:12:30,408 WARN L1272 BoogieBacktranslator]: unknown boogie variable #memory_$Pointer$ Derived loop invariant: ((((((0 == #memory_$Pointer$[a][a] && i <= 99999) && (\exists v_init_~i~0_17 : int :: (!(#memory_$Pointer$[a][4 * v_init_~i~0_17 + a] == 0) && 99999 <= v_init_~i~0_17) && v_init_~i~0_17 < 100000)) && flag == 0) && #memory_$Pointer$[a][a] == 0) && a == 0) || ((((\exists v_init_~i~0_17 : int :: (!(#memory_$Pointer$[a][4 * v_init_~i~0_17 + a] == 0) && 99999 <= v_init_~i~0_17) && v_init_~i~0_17 < 100000) && flag == 0) && i == 0) && a == 0)) || flag == 1 - InvariantResult [Line: 12]: Loop Invariant [2018-11-23 12:12:30,409 WARN L416 cessorBacktranslator]: Identifier is quantified, using identity as back-translation of IdentifierExpression[v_init_~i~0_17,QUANTIFIED] [2018-11-23 12:12:30,409 WARN L416 cessorBacktranslator]: Unfinished backtranslation: Name guessing unsuccessful for VarDecl var #memory_$Pointer$ : [$Pointer$]$Pointer$; and expression #memory_$Pointer$.base [2018-11-23 12:12:30,409 WARN L416 cessorBacktranslator]: Identifier is quantified, using identity as back-translation of IdentifierExpression[v_init_~i~0_17,QUANTIFIED] [2018-11-23 12:12:30,409 WARN L416 cessorBacktranslator]: Identifier is quantified, using identity as back-translation of IdentifierExpression[v_init_~i~0_17,QUANTIFIED] [2018-11-23 12:12:30,410 WARN L1272 BoogieBacktranslator]: unknown boogie variable #memory_$Pointer$ [2018-11-23 12:12:30,411 WARN L416 cessorBacktranslator]: Identifier is quantified, using identity as back-translation of IdentifierExpression[v_init_~i~0_17,QUANTIFIED] [2018-11-23 12:12:30,411 WARN L416 cessorBacktranslator]: Unfinished backtranslation: Name guessing unsuccessful for VarDecl var #memory_$Pointer$ : [$Pointer$]$Pointer$; and expression #memory_$Pointer$.base [2018-11-23 12:12:30,411 WARN L416 cessorBacktranslator]: Identifier is quantified, using identity as back-translation of IdentifierExpression[v_init_~i~0_17,QUANTIFIED] [2018-11-23 12:12:30,411 WARN L416 cessorBacktranslator]: Identifier is quantified, using identity as back-translation of IdentifierExpression[v_init_~i~0_17,QUANTIFIED] [2018-11-23 12:12:30,412 WARN L1272 BoogieBacktranslator]: unknown boogie variable #memory_$Pointer$ Derived loop invariant: ((((\exists v_init_~i~0_17 : int :: (i <= v_init_~i~0_17 + 1 && !(#memory_$Pointer$[a][a + 4 * v_init_~i~0_17] == 0)) && v_init_~i~0_17 < size) && a == a) && \old(size) == size) && a == a) || (((i <= 0 && a == a) && \old(size) == size) && a == a) - StatisticsResult: Ultimate Automizer benchmark data CFG has 5 procedures, 33 locations, 1 error locations. SAFE Result, 17.7s OverallTime, 11 OverallIterations, 7 TraceHistogramMax, 8.3s AutomataDifference, 0.0s DeadEndRemovalTime, 0.8s HoareAnnotationTime, HoareTripleCheckerStatistics: 302 SDtfs, 305 SDslu, 991 SDs, 0 SdLazy, 627 SolverSat, 105 SolverUnsat, 0 SolverUnknown, 0 SolverNotchecked, 1.2s Time, PredicateUnifierStatistics: 0 DeclaredPredicates, 366 GetRequests, 266 SyntacticMatches, 0 SemanticMatches, 100 ConstructedPredicates, 0 IntricatePredicates, 0 DeprecatedPredicates, 310 ImplicationChecksByTransitivity, 2.4s Time, 0.0s BasicInterpolantAutomatonTime, BiggestAbstraction: size=63occurred in iteration=10, traceCheckStatistics: No data available, InterpolantConsolidationStatistics: No data available, PathInvariantsStatistics: No data available, 0/0 InterpolantCoveringCapability, TotalInterpolationStatistics: No data available, 0.0s AbstIntTime, 0 AbstIntIterations, 0 AbstIntStrong, NaN AbsIntWeakeningRatio, NaN AbsIntAvgWeakeningVarsNumRemoved, NaN AbsIntAvgWeakenedConjuncts, 0.0s DumpTime, AutomataMinimizationStatistics: 0.7s AutomataMinimizationTime, 11 MinimizatonAttempts, 150 StatesRemovedByMinimization, 7 NontrivialMinimizations, HoareAnnotationStatistics: 0.0s HoareAnnotationTime, 11 LocationsWithAnnotation, 24 PreInvPairs, 41 NumberOfFragments, 141 HoareAnnotationTreeSize, 24 FomulaSimplifications, 152 FormulaSimplificationTreeSizeReduction, 0.0s HoareSimplificationTime, 11 FomulaSimplificationsInter, 355 FormulaSimplificationTreeSizeReductionInter, 0.4s HoareSimplificationTimeInter, RefinementEngineStatistics: TraceCheckStatistics: 0.0s SsaConstructionTime, 0.4s SatisfiabilityAnalysisTime, 5.1s InterpolantComputationTime, 681 NumberOfCodeBlocks, 652 NumberOfCodeBlocksAsserted, 24 NumberOfCheckSat, 663 ConstructedInterpolants, 23 QuantifiedInterpolants, 89083 SizeOfPredicates, 27 NumberOfNonLiveVariables, 1044 ConjunctsInSsa, 78 ConjunctsInUnsatCore, 18 InterpolantComputations, 5 PerfectInterpolantSequences, 336/597 InterpolantCoveringCapability, InvariantSynthesisStatistics: No data available, InterpolantConsolidationStatistics: No data available, ReuseStatistics: No data available RESULT: Ultimate proved your program to be correct! Received shutdown request...