/usr/bin/java -ea -Xmx8000000000 -Xss4m -jar ./plugins/org.eclipse.equinox.launcher_1.3.100.v20150511-1540.jar -data @noDefault -ultimatedata ./data -tc ../../../trunk/examples/toolchains/AutomizerC.xml -s ../../../trunk/examples/settings/default/automizer/svcomp-Reach-32bit-Automizer_Default.epf -i ../../../trunk/examples/svcomp/array-tiling/skippedu.c -------------------------------------------------------------------------------- This is Ultimate 0.1.25-267fbe0 [2020-07-17 22:48:42,523 INFO L177 SettingsManager]: Resetting all preferences to default values... [2020-07-17 22:48:42,526 INFO L181 SettingsManager]: Resetting UltimateCore preferences to default values [2020-07-17 22:48:42,544 INFO L184 SettingsManager]: Ultimate Commandline Interface provides no preferences, ignoring... [2020-07-17 22:48:42,545 INFO L181 SettingsManager]: Resetting Boogie Preprocessor preferences to default values [2020-07-17 22:48:42,547 INFO L181 SettingsManager]: Resetting Boogie Procedure Inliner preferences to default values [2020-07-17 22:48:42,550 INFO L181 SettingsManager]: Resetting Abstract Interpretation preferences to default values [2020-07-17 22:48:42,553 INFO L181 SettingsManager]: Resetting LassoRanker preferences to default values [2020-07-17 22:48:42,555 INFO L181 SettingsManager]: Resetting Reaching Definitions preferences to default values [2020-07-17 22:48:42,557 INFO L181 SettingsManager]: Resetting SyntaxChecker preferences to default values [2020-07-17 22:48:42,559 INFO L181 SettingsManager]: Resetting Sifa preferences to default values [2020-07-17 22:48:42,561 INFO L184 SettingsManager]: Büchi Program Product provides no preferences, ignoring... [2020-07-17 22:48:42,561 INFO L181 SettingsManager]: Resetting LTL2Aut preferences to default values [2020-07-17 22:48:42,563 INFO L181 SettingsManager]: Resetting PEA to Boogie preferences to default values [2020-07-17 22:48:42,565 INFO L181 SettingsManager]: Resetting BlockEncodingV2 preferences to default values [2020-07-17 22:48:42,567 INFO L181 SettingsManager]: Resetting ChcToBoogie preferences to default values [2020-07-17 22:48:42,568 INFO L181 SettingsManager]: Resetting AutomataScriptInterpreter preferences to default values [2020-07-17 22:48:42,570 INFO L181 SettingsManager]: Resetting BuchiAutomizer preferences to default values [2020-07-17 22:48:42,572 INFO L181 SettingsManager]: Resetting CACSL2BoogieTranslator preferences to default values [2020-07-17 22:48:42,575 INFO L181 SettingsManager]: Resetting CodeCheck preferences to default values [2020-07-17 22:48:42,578 INFO L181 SettingsManager]: Resetting InvariantSynthesis preferences to default values [2020-07-17 22:48:42,580 INFO L181 SettingsManager]: Resetting RCFGBuilder preferences to default values [2020-07-17 22:48:42,582 INFO L181 SettingsManager]: Resetting Referee preferences to default values [2020-07-17 22:48:42,583 INFO L181 SettingsManager]: Resetting TraceAbstraction preferences to default values [2020-07-17 22:48:42,587 INFO L184 SettingsManager]: TraceAbstractionConcurrent provides no preferences, ignoring... [2020-07-17 22:48:42,587 INFO L184 SettingsManager]: TraceAbstractionWithAFAs provides no preferences, ignoring... [2020-07-17 22:48:42,588 INFO L181 SettingsManager]: Resetting TreeAutomizer preferences to default values [2020-07-17 22:48:42,589 INFO L181 SettingsManager]: Resetting IcfgToChc preferences to default values [2020-07-17 22:48:42,590 INFO L181 SettingsManager]: Resetting IcfgTransformer preferences to default values [2020-07-17 22:48:42,591 INFO L184 SettingsManager]: ReqToTest provides no preferences, ignoring... [2020-07-17 22:48:42,592 INFO L181 SettingsManager]: Resetting Boogie Printer preferences to default values [2020-07-17 22:48:42,593 INFO L181 SettingsManager]: Resetting ChcSmtPrinter preferences to default values [2020-07-17 22:48:42,594 INFO L181 SettingsManager]: Resetting ReqPrinter preferences to default values [2020-07-17 22:48:42,596 INFO L181 SettingsManager]: Resetting Witness Printer preferences to default values [2020-07-17 22:48:42,598 INFO L184 SettingsManager]: Boogie PL CUP Parser provides no preferences, ignoring... [2020-07-17 22:48:42,598 INFO L181 SettingsManager]: Resetting CDTParser preferences to default values [2020-07-17 22:48:42,599 INFO L184 SettingsManager]: AutomataScriptParser provides no preferences, ignoring... [2020-07-17 22:48:42,600 INFO L184 SettingsManager]: ReqParser provides no preferences, ignoring... [2020-07-17 22:48:42,600 INFO L181 SettingsManager]: Resetting SmtParser preferences to default values [2020-07-17 22:48:42,601 INFO L181 SettingsManager]: Resetting Witness Parser preferences to default values [2020-07-17 22:48:42,602 INFO L188 SettingsManager]: Finished resetting all preferences to default values... [2020-07-17 22:48:42,604 INFO L101 SettingsManager]: Beginning loading settings from /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/../../../trunk/examples/settings/default/automizer/svcomp-Reach-32bit-Automizer_Default.epf [2020-07-17 22:48:42,622 INFO L113 SettingsManager]: Loading preferences was successful [2020-07-17 22:48:42,623 INFO L115 SettingsManager]: Preferences different from defaults after loading the file: [2020-07-17 22:48:42,625 INFO L136 SettingsManager]: Preferences of BlockEncodingV2 differ from their defaults: [2020-07-17 22:48:42,626 INFO L138 SettingsManager]: * Create parallel compositions if possible=false [2020-07-17 22:48:42,626 INFO L138 SettingsManager]: * Use SBE=true [2020-07-17 22:48:42,626 INFO L136 SettingsManager]: Preferences of CACSL2BoogieTranslator differ from their defaults: [2020-07-17 22:48:42,627 INFO L138 SettingsManager]: * sizeof long=4 [2020-07-17 22:48:42,627 INFO L138 SettingsManager]: * Overapproximate operations on floating types=true [2020-07-17 22:48:42,627 INFO L138 SettingsManager]: * sizeof POINTER=4 [2020-07-17 22:48:42,627 INFO L138 SettingsManager]: * Check division by zero=IGNORE [2020-07-17 22:48:42,627 INFO L138 SettingsManager]: * Pointer to allocated memory at dereference=IGNORE [2020-07-17 22:48:42,628 INFO L138 SettingsManager]: * If two pointers are subtracted or compared they have the same base address=IGNORE [2020-07-17 22:48:42,628 INFO L138 SettingsManager]: * Check array bounds for arrays that are off heap=IGNORE [2020-07-17 22:48:42,628 INFO L138 SettingsManager]: * sizeof long double=12 [2020-07-17 22:48:42,628 INFO L138 SettingsManager]: * Check if freed pointer was valid=false [2020-07-17 22:48:42,628 INFO L138 SettingsManager]: * Use constant arrays=true [2020-07-17 22:48:42,629 INFO L138 SettingsManager]: * Pointer base address is valid at dereference=IGNORE [2020-07-17 22:48:42,629 INFO L136 SettingsManager]: Preferences of RCFGBuilder differ from their defaults: [2020-07-17 22:48:42,629 INFO L138 SettingsManager]: * Size of a code block=SequenceOfStatements [2020-07-17 22:48:42,629 INFO L138 SettingsManager]: * To the following directory=./dump/ [2020-07-17 22:48:42,630 INFO L138 SettingsManager]: * SMT solver=External_DefaultMode [2020-07-17 22:48:42,630 INFO L138 SettingsManager]: * Command for external solver=z3 SMTLIB2_COMPLIANT=true -memory:2024 -smt2 -in -t:2000 [2020-07-17 22:48:42,630 INFO L136 SettingsManager]: Preferences of TraceAbstraction differ from their defaults: [2020-07-17 22:48:42,630 INFO L138 SettingsManager]: * Compute Interpolants along a Counterexample=FPandBP [2020-07-17 22:48:42,631 INFO L138 SettingsManager]: * Positions where we compute the Hoare Annotation=LoopsAndPotentialCycles [2020-07-17 22:48:42,631 INFO L138 SettingsManager]: * Trace refinement strategy=CAMEL [2020-07-17 22:48:42,631 INFO L138 SettingsManager]: * Command for external solver=z3 SMTLIB2_COMPLIANT=true -memory:2024 -smt2 -in [2020-07-17 22:48:42,631 INFO L138 SettingsManager]: * Compute Hoare Annotation of negated interpolant automaton, abstraction and CFG=true [2020-07-17 22:48:42,632 INFO L138 SettingsManager]: * Trace refinement exception blacklist=NONE [2020-07-17 22:48:42,632 INFO L138 SettingsManager]: * SMT solver=External_ModelsAndUnsatCoreMode [2020-07-17 22:48:42,991 INFO L81 nceAwareModelManager]: Repository-Root is: /tmp [2020-07-17 22:48:43,005 INFO L258 ainManager$Toolchain]: [Toolchain 1]: Applicable parser(s) successfully (re)initialized [2020-07-17 22:48:43,008 INFO L214 ainManager$Toolchain]: [Toolchain 1]: Toolchain selected. [2020-07-17 22:48:43,009 INFO L271 PluginConnector]: Initializing CDTParser... [2020-07-17 22:48:43,010 INFO L275 PluginConnector]: CDTParser initialized [2020-07-17 22:48:43,010 INFO L429 ainManager$Toolchain]: [Toolchain 1]: Parsing single file: /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/../../../trunk/examples/svcomp/array-tiling/skippedu.c [2020-07-17 22:48:43,115 INFO L220 CDTParser]: Created temporary CDT project at /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/data/6df5f0de2/4f0f882b7b9744f28f7b9bc8757cc08f/FLAGbd4b437e7 [2020-07-17 22:48:43,644 INFO L306 CDTParser]: Found 1 translation units. [2020-07-17 22:48:43,645 INFO L160 CDTParser]: Scanning /storage/repos/ultimate/trunk/examples/svcomp/array-tiling/skippedu.c [2020-07-17 22:48:43,651 INFO L349 CDTParser]: About to delete temporary CDT project at /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/data/6df5f0de2/4f0f882b7b9744f28f7b9bc8757cc08f/FLAGbd4b437e7 [2020-07-17 22:48:44,020 INFO L357 CDTParser]: Successfully deleted /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/data/6df5f0de2/4f0f882b7b9744f28f7b9bc8757cc08f [2020-07-17 22:48:44,028 INFO L296 ainManager$Toolchain]: ####################### [Toolchain 1] ####################### [2020-07-17 22:48:44,032 INFO L131 ToolchainWalker]: Walking toolchain with 4 elements. [2020-07-17 22:48:44,033 INFO L113 PluginConnector]: ------------------------CACSL2BoogieTranslator---------------------------- [2020-07-17 22:48:44,033 INFO L271 PluginConnector]: Initializing CACSL2BoogieTranslator... [2020-07-17 22:48:44,036 INFO L275 PluginConnector]: CACSL2BoogieTranslator initialized [2020-07-17 22:48:44,038 INFO L185 PluginConnector]: Executing the observer ACSLObjectContainerObserver from plugin CACSL2BoogieTranslator for "CDTParser AST 17.07 10:48:44" (1/1) ... [2020-07-17 22:48:44,042 INFO L205 PluginConnector]: Invalid model from CACSL2BoogieTranslator for observer de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator.ACSLObjectContainerObserver@5161119d and model type de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 17.07 10:48:44, skipping insertion in model container [2020-07-17 22:48:44,043 INFO L185 PluginConnector]: Executing the observer CACSL2BoogieTranslatorObserver from plugin CACSL2BoogieTranslator for "CDTParser AST 17.07 10:48:44" (1/1) ... [2020-07-17 22:48:44,052 INFO L145 MainTranslator]: Starting translation in SV-COMP mode [2020-07-17 22:48:44,076 INFO L178 MainTranslator]: Built tables and reachable declarations [2020-07-17 22:48:44,262 INFO L206 PostProcessor]: Analyzing one entry point: main [2020-07-17 22:48:44,274 INFO L203 MainTranslator]: Completed pre-run [2020-07-17 22:48:44,300 INFO L206 PostProcessor]: Analyzing one entry point: main [2020-07-17 22:48:44,319 INFO L208 MainTranslator]: Completed translation [2020-07-17 22:48:44,319 INFO L202 PluginConnector]: Adding new model de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 17.07 10:48:44 WrapperNode [2020-07-17 22:48:44,320 INFO L132 PluginConnector]: ------------------------ END CACSL2BoogieTranslator---------------------------- [2020-07-17 22:48:44,320 INFO L113 PluginConnector]: ------------------------Boogie Preprocessor---------------------------- [2020-07-17 22:48:44,320 INFO L271 PluginConnector]: Initializing Boogie Preprocessor... [2020-07-17 22:48:44,321 INFO L275 PluginConnector]: Boogie Preprocessor initialized [2020-07-17 22:48:44,426 INFO L185 PluginConnector]: Executing the observer EnsureBoogieModelObserver from plugin Boogie Preprocessor for "de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 17.07 10:48:44" (1/1) ... [2020-07-17 22:48:44,426 INFO L185 PluginConnector]: Executing the observer TypeChecker from plugin Boogie Preprocessor for "de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 17.07 10:48:44" (1/1) ... [2020-07-17 22:48:44,441 INFO L185 PluginConnector]: Executing the observer ConstExpander from plugin Boogie Preprocessor for "de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 17.07 10:48:44" (1/1) ... [2020-07-17 22:48:44,441 INFO L185 PluginConnector]: Executing the observer StructExpander from plugin Boogie Preprocessor for "de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 17.07 10:48:44" (1/1) ... [2020-07-17 22:48:44,466 INFO L185 PluginConnector]: Executing the observer UnstructureCode from plugin Boogie Preprocessor for "de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 17.07 10:48:44" (1/1) ... [2020-07-17 22:48:44,473 INFO L185 PluginConnector]: Executing the observer FunctionInliner from plugin Boogie Preprocessor for "de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 17.07 10:48:44" (1/1) ... [2020-07-17 22:48:44,476 INFO L185 PluginConnector]: Executing the observer BoogieSymbolTableConstructor from plugin Boogie Preprocessor for "de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 17.07 10:48:44" (1/1) ... [2020-07-17 22:48:44,479 INFO L132 PluginConnector]: ------------------------ END Boogie Preprocessor---------------------------- [2020-07-17 22:48:44,486 INFO L113 PluginConnector]: ------------------------RCFGBuilder---------------------------- [2020-07-17 22:48:44,486 INFO L271 PluginConnector]: Initializing RCFGBuilder... [2020-07-17 22:48:44,486 INFO L275 PluginConnector]: RCFGBuilder initialized [2020-07-17 22:48:44,487 INFO L185 PluginConnector]: Executing the observer RCFGBuilderObserver from plugin RCFGBuilder for "de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 17.07 10:48:44" (1/1) ... No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 Starting monitored process 1 with z3 SMTLIB2_COMPLIANT=true -memory:2024 -smt2 -in -t:2000 (exit command is (exit), workingDir is null) Waiting until toolchain timeout for monitored process 1 with z3 SMTLIB2_COMPLIANT=true -memory:2024 -smt2 -in -t:2000 [2020-07-17 22:48:44,561 INFO L138 BoogieDeclarations]: Found implementation of procedure ULTIMATE.init [2020-07-17 22:48:44,561 INFO L138 BoogieDeclarations]: Found implementation of procedure ULTIMATE.start [2020-07-17 22:48:44,562 INFO L138 BoogieDeclarations]: Found implementation of procedure assume_abort_if_not [2020-07-17 22:48:44,562 INFO L138 BoogieDeclarations]: Found implementation of procedure __VERIFIER_assert [2020-07-17 22:48:44,562 INFO L138 BoogieDeclarations]: Found implementation of procedure main [2020-07-17 22:48:44,562 INFO L130 BoogieDeclarations]: Found specification of procedure __VERIFIER_error [2020-07-17 22:48:44,563 INFO L130 BoogieDeclarations]: Found specification of procedure abort [2020-07-17 22:48:44,563 INFO L130 BoogieDeclarations]: Found specification of procedure assume_abort_if_not [2020-07-17 22:48:44,564 INFO L130 BoogieDeclarations]: Found specification of procedure __VERIFIER_assert [2020-07-17 22:48:44,564 INFO L130 BoogieDeclarations]: Found specification of procedure __VERIFIER_nondet_int [2020-07-17 22:48:44,564 INFO L130 BoogieDeclarations]: Found specification of procedure malloc [2020-07-17 22:48:44,565 INFO L130 BoogieDeclarations]: Found specification of procedure main [2020-07-17 22:48:44,565 INFO L130 BoogieDeclarations]: Found specification of procedure #Ultimate.allocOnHeap [2020-07-17 22:48:44,566 INFO L130 BoogieDeclarations]: Found specification of procedure write~int [2020-07-17 22:48:44,566 INFO L130 BoogieDeclarations]: Found specification of procedure read~int [2020-07-17 22:48:44,567 INFO L130 BoogieDeclarations]: Found specification of procedure ULTIMATE.init [2020-07-17 22:48:44,567 INFO L130 BoogieDeclarations]: Found specification of procedure ULTIMATE.start [2020-07-17 22:48:44,567 INFO L130 BoogieDeclarations]: Found specification of procedure ULTIMATE.dealloc [2020-07-17 22:48:45,132 INFO L290 CfgBuilder]: Using the 1 location(s) as analysis (start of procedure ULTIMATE.start) [2020-07-17 22:48:45,132 INFO L295 CfgBuilder]: Removed 3 assume(true) statements. [2020-07-17 22:48:45,136 INFO L202 PluginConnector]: Adding new model de.uni_freiburg.informatik.ultimate.plugins.generator.rcfgbuilder CFG 17.07 10:48:45 BoogieIcfgContainer [2020-07-17 22:48:45,136 INFO L132 PluginConnector]: ------------------------ END RCFGBuilder---------------------------- [2020-07-17 22:48:45,138 INFO L113 PluginConnector]: ------------------------TraceAbstraction---------------------------- [2020-07-17 22:48:45,138 INFO L271 PluginConnector]: Initializing TraceAbstraction... [2020-07-17 22:48:45,142 INFO L275 PluginConnector]: TraceAbstraction initialized [2020-07-17 22:48:45,143 INFO L185 PluginConnector]: Executing the observer TraceAbstractionObserver from plugin TraceAbstraction for "CDTParser AST 17.07 10:48:44" (1/3) ... [2020-07-17 22:48:45,144 INFO L205 PluginConnector]: Invalid model from TraceAbstraction for observer de.uni_freiburg.informatik.ultimate.plugins.generator.traceabstraction.TraceAbstractionObserver@70901e11 and model type de.uni_freiburg.informatik.ultimate.plugins.generator.traceabstraction AST 17.07 10:48:45, skipping insertion in model container [2020-07-17 22:48:45,144 INFO L185 PluginConnector]: Executing the observer TraceAbstractionObserver from plugin TraceAbstraction for "de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 17.07 10:48:44" (2/3) ... [2020-07-17 22:48:45,144 INFO L205 PluginConnector]: Invalid model from TraceAbstraction for observer de.uni_freiburg.informatik.ultimate.plugins.generator.traceabstraction.TraceAbstractionObserver@70901e11 and model type de.uni_freiburg.informatik.ultimate.plugins.generator.traceabstraction AST 17.07 10:48:45, skipping insertion in model container [2020-07-17 22:48:45,144 INFO L185 PluginConnector]: Executing the observer TraceAbstractionObserver from plugin TraceAbstraction for "de.uni_freiburg.informatik.ultimate.plugins.generator.rcfgbuilder CFG 17.07 10:48:45" (3/3) ... [2020-07-17 22:48:45,149 INFO L109 eAbstractionObserver]: Analyzing ICFG skippedu.c [2020-07-17 22:48:45,162 INFO L157 ceAbstractionStarter]: Automizer settings: Hoare:true NWA Interpolation:FPandBP Determinization: PREDICATE_ABSTRACTION [2020-07-17 22:48:45,172 INFO L169 ceAbstractionStarter]: Appying trace abstraction to program that has 1 error locations. [2020-07-17 22:48:45,188 INFO L251 AbstractCegarLoop]: Starting to check reachability of 1 error locations. [2020-07-17 22:48:45,214 INFO L375 AbstractCegarLoop]: Interprodecural is true [2020-07-17 22:48:45,214 INFO L376 AbstractCegarLoop]: Hoare is true [2020-07-17 22:48:45,214 INFO L377 AbstractCegarLoop]: Compute interpolants for FPandBP [2020-07-17 22:48:45,214 INFO L378 AbstractCegarLoop]: Backedges is STRAIGHT_LINE [2020-07-17 22:48:45,214 INFO L379 AbstractCegarLoop]: Determinization is PREDICATE_ABSTRACTION [2020-07-17 22:48:45,215 INFO L380 AbstractCegarLoop]: Difference is false [2020-07-17 22:48:45,215 INFO L381 AbstractCegarLoop]: Minimize is MINIMIZE_SEVPA [2020-07-17 22:48:45,215 INFO L385 AbstractCegarLoop]: ======== Iteration 0==of CEGAR loop == AllErrorsAtOnce======== [2020-07-17 22:48:45,236 INFO L276 IsEmpty]: Start isEmpty. Operand 37 states. [2020-07-17 22:48:45,243 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 23 [2020-07-17 22:48:45,243 INFO L414 BasicCegarLoop]: Found error trace [2020-07-17 22:48:45,245 INFO L422 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] [2020-07-17 22:48:45,245 INFO L427 AbstractCegarLoop]: === Iteration 1 === [__VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION]=== [2020-07-17 22:48:45,250 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2020-07-17 22:48:45,250 INFO L82 PathProgramCache]: Analyzing trace with hash -978746934, now seen corresponding path program 1 times [2020-07-17 22:48:45,260 INFO L163 FreeRefinementEngine]: Executing refinement strategy CAMEL [2020-07-17 22:48:45,261 INFO L354 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [552023326] [2020-07-17 22:48:45,261 INFO L94 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2020-07-17 22:48:45,395 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2020-07-17 22:48:45,540 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2020-07-17 22:48:45,556 INFO L280 TraceCheckUtils]: 0: Hoare triple {50#(and (= |#valid| |old(#valid)|) (= |#NULL.base| |old(#NULL.base)|) (= ~MAX~0 |old(~MAX~0)|) (= |#NULL.offset| |old(#NULL.offset)|) (= ~SIZE~0 |old(~SIZE~0)|))} #NULL.base, #NULL.offset := 0, 0;#valid := #valid[0 := 0];assume 0 < #StackHeapBarrier;~SIZE~0 := 0;~MAX~0 := 100000; {40#true} is VALID [2020-07-17 22:48:45,557 INFO L280 TraceCheckUtils]: 1: Hoare triple {40#true} assume true; {40#true} is VALID [2020-07-17 22:48:45,557 INFO L275 TraceCheckUtils]: 2: Hoare quadruple {40#true} {40#true} #98#return; {40#true} is VALID [2020-07-17 22:48:45,562 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2020-07-17 22:48:45,574 INFO L280 TraceCheckUtils]: 0: Hoare triple {40#true} ~cond := #in~cond; {40#true} is VALID [2020-07-17 22:48:45,581 INFO L280 TraceCheckUtils]: 1: Hoare triple {40#true} assume 0 == ~cond;assume false; {41#false} is VALID [2020-07-17 22:48:45,581 INFO L280 TraceCheckUtils]: 2: Hoare triple {41#false} assume true; {41#false} is VALID [2020-07-17 22:48:45,582 INFO L275 TraceCheckUtils]: 3: Hoare quadruple {41#false} {41#false} #94#return; {41#false} is VALID [2020-07-17 22:48:45,584 INFO L263 TraceCheckUtils]: 0: Hoare triple {40#true} call ULTIMATE.init(); {50#(and (= |#valid| |old(#valid)|) (= |#NULL.base| |old(#NULL.base)|) (= ~MAX~0 |old(~MAX~0)|) (= |#NULL.offset| |old(#NULL.offset)|) (= ~SIZE~0 |old(~SIZE~0)|))} is VALID [2020-07-17 22:48:45,585 INFO L280 TraceCheckUtils]: 1: Hoare triple {50#(and (= |#valid| |old(#valid)|) (= |#NULL.base| |old(#NULL.base)|) (= ~MAX~0 |old(~MAX~0)|) (= |#NULL.offset| |old(#NULL.offset)|) (= ~SIZE~0 |old(~SIZE~0)|))} #NULL.base, #NULL.offset := 0, 0;#valid := #valid[0 := 0];assume 0 < #StackHeapBarrier;~SIZE~0 := 0;~MAX~0 := 100000; {40#true} is VALID [2020-07-17 22:48:45,585 INFO L280 TraceCheckUtils]: 2: Hoare triple {40#true} assume true; {40#true} is VALID [2020-07-17 22:48:45,586 INFO L275 TraceCheckUtils]: 3: Hoare quadruple {40#true} {40#true} #98#return; {40#true} is VALID [2020-07-17 22:48:45,588 INFO L263 TraceCheckUtils]: 4: Hoare triple {40#true} call #t~ret9 := main(); {40#true} is VALID [2020-07-17 22:48:45,589 INFO L280 TraceCheckUtils]: 5: Hoare triple {40#true} assume -2147483648 <= #t~nondet0 && #t~nondet0 <= 2147483647;~SIZE~0 := #t~nondet0;havoc #t~nondet0; {40#true} is VALID [2020-07-17 22:48:45,592 INFO L280 TraceCheckUtils]: 6: Hoare triple {40#true} assume ~SIZE~0 > 1 && ~SIZE~0 < ~MAX~0;havoc ~i~0;call #t~malloc1.base, #t~malloc1.offset := #Ultimate.allocOnHeap(4 * ~SIZE~0);~a~0.base, ~a~0.offset := #t~malloc1.base, #t~malloc1.offset;~i~0 := 0; {45#(and (<= 2 ~SIZE~0) (= 0 main_~i~0))} is VALID [2020-07-17 22:48:45,595 INFO L280 TraceCheckUtils]: 7: Hoare triple {45#(and (<= 2 ~SIZE~0) (= 0 main_~i~0))} assume !(~i~0 < ~SIZE~0); {41#false} is VALID [2020-07-17 22:48:45,597 INFO L280 TraceCheckUtils]: 8: Hoare triple {41#false} assume !(0 != (if ~SIZE~0 < 0 && 0 != ~SIZE~0 % 2 then ~SIZE~0 % 2 - 2 else ~SIZE~0 % 2)); {41#false} is VALID [2020-07-17 22:48:45,598 INFO L263 TraceCheckUtils]: 9: Hoare triple {41#false} call assume_abort_if_not((if 0 == (if ~SIZE~0 < 0 && 0 != ~SIZE~0 % 2 then ~SIZE~0 % 2 - 2 else ~SIZE~0 % 2) then 1 else 0)); {40#true} is VALID [2020-07-17 22:48:45,598 INFO L280 TraceCheckUtils]: 10: Hoare triple {40#true} ~cond := #in~cond; {40#true} is VALID [2020-07-17 22:48:45,601 INFO L280 TraceCheckUtils]: 11: Hoare triple {40#true} assume 0 == ~cond;assume false; {41#false} is VALID [2020-07-17 22:48:45,602 INFO L280 TraceCheckUtils]: 12: Hoare triple {41#false} assume true; {41#false} is VALID [2020-07-17 22:48:45,603 INFO L275 TraceCheckUtils]: 13: Hoare quadruple {41#false} {41#false} #94#return; {41#false} is VALID [2020-07-17 22:48:45,603 INFO L280 TraceCheckUtils]: 14: Hoare triple {41#false} ~i~0 := 1; {41#false} is VALID [2020-07-17 22:48:45,603 INFO L280 TraceCheckUtils]: 15: Hoare triple {41#false} assume !(~i~0 <= (if ~SIZE~0 < 0 && 0 != ~SIZE~0 % 2 then 1 + ~SIZE~0 / 2 else ~SIZE~0 / 2)); {41#false} is VALID [2020-07-17 22:48:45,604 INFO L280 TraceCheckUtils]: 16: Hoare triple {41#false} ~i~0 := 0; {41#false} is VALID [2020-07-17 22:48:45,608 INFO L280 TraceCheckUtils]: 17: Hoare triple {41#false} assume !!(~i~0 < ~SIZE~0);call #t~mem8 := read~int(~a~0.base, ~a~0.offset + 4 * ~i~0, 4); {41#false} is VALID [2020-07-17 22:48:45,608 INFO L263 TraceCheckUtils]: 18: Hoare triple {41#false} call __VERIFIER_assert((if #t~mem8 <= ~i~0 then 1 else 0)); {41#false} is VALID [2020-07-17 22:48:45,609 INFO L280 TraceCheckUtils]: 19: Hoare triple {41#false} ~cond := #in~cond; {41#false} is VALID [2020-07-17 22:48:45,611 INFO L280 TraceCheckUtils]: 20: Hoare triple {41#false} assume 0 == ~cond; {41#false} is VALID [2020-07-17 22:48:45,612 INFO L280 TraceCheckUtils]: 21: Hoare triple {41#false} assume !false; {41#false} is VALID [2020-07-17 22:48:45,615 INFO L134 CoverageAnalysis]: Checked inductivity of 0 backedges. 0 proven. 0 refuted. 0 times theorem prover too weak. 0 trivial. 0 not checked. [2020-07-17 22:48:45,616 INFO L354 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleSmtInterpolCraig [552023326] [2020-07-17 22:48:45,617 INFO L220 FreeRefinementEngine]: Constructing automaton from 1 perfect and 0 imperfect interpolant sequences. [2020-07-17 22:48:45,617 INFO L233 FreeRefinementEngine]: Number of different interpolants: perfect sequences [4] imperfect sequences [] total 4 [2020-07-17 22:48:45,618 INFO L156 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [2145212397] [2020-07-17 22:48:45,625 INFO L78 Accepts]: Start accepts. Automaton has 4 states. Word has length 22 [2020-07-17 22:48:45,628 INFO L84 Accepts]: Finished accepts. word is accepted. [2020-07-17 22:48:45,632 INFO L86 InductivityCheck]: Starting indutivity check of a Floyd-Hoare automaton with 4 states. [2020-07-17 22:48:45,689 INFO L119 InductivityCheck]: Floyd-Hoare automaton has 22 edges. 22 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2020-07-17 22:48:45,690 INFO L459 AbstractCegarLoop]: Interpolant automaton has 4 states [2020-07-17 22:48:45,690 INFO L143 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy CAMEL [2020-07-17 22:48:45,700 INFO L142 InterpolantAutomaton]: Constructing interpolant automaton starting with 4 interpolants. [2020-07-17 22:48:45,702 INFO L144 InterpolantAutomaton]: CoverageRelationStatistics Valid=5, Invalid=7, Unknown=0, NotChecked=0, Total=12 [2020-07-17 22:48:45,705 INFO L87 Difference]: Start difference. First operand 37 states. Second operand 4 states. [2020-07-17 22:48:46,137 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2020-07-17 22:48:46,137 INFO L93 Difference]: Finished difference Result 67 states and 90 transitions. [2020-07-17 22:48:46,138 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 4 states. [2020-07-17 22:48:46,138 INFO L78 Accepts]: Start accepts. Automaton has 4 states. Word has length 22 [2020-07-17 22:48:46,138 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2020-07-17 22:48:46,140 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 4 states. [2020-07-17 22:48:46,153 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 4 states to 4 states and 90 transitions. [2020-07-17 22:48:46,153 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 4 states. [2020-07-17 22:48:46,172 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 4 states to 4 states and 90 transitions. [2020-07-17 22:48:46,173 INFO L86 InductivityCheck]: Starting indutivity check of a Floyd-Hoare automaton with 4 states and 90 transitions. [2020-07-17 22:48:46,311 INFO L119 InductivityCheck]: Floyd-Hoare automaton has 90 edges. 90 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2020-07-17 22:48:46,326 INFO L225 Difference]: With dead ends: 67 [2020-07-17 22:48:46,326 INFO L226 Difference]: Without dead ends: 34 [2020-07-17 22:48:46,330 INFO L675 BasicCegarLoop]: 0 DeclaredPredicates, 8 GetRequests, 6 SyntacticMatches, 0 SemanticMatches, 2 ConstructedPredicates, 0 IntricatePredicates, 0 DeprecatedPredicates, 0 ImplicationChecksByTransitivity, 0.0s TimeCoverageRelationStatistics Valid=5, Invalid=7, Unknown=0, NotChecked=0, Total=12 [2020-07-17 22:48:46,351 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 34 states. [2020-07-17 22:48:46,392 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 34 to 33. [2020-07-17 22:48:46,392 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2020-07-17 22:48:46,393 INFO L82 GeneralOperation]: Start isEquivalent. First operand 34 states. Second operand 33 states. [2020-07-17 22:48:46,393 INFO L74 IsIncluded]: Start isIncluded. First operand 34 states. Second operand 33 states. [2020-07-17 22:48:46,393 INFO L87 Difference]: Start difference. First operand 34 states. Second operand 33 states. [2020-07-17 22:48:46,398 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2020-07-17 22:48:46,399 INFO L93 Difference]: Finished difference Result 34 states and 38 transitions. [2020-07-17 22:48:46,399 INFO L276 IsEmpty]: Start isEmpty. Operand 34 states and 38 transitions. [2020-07-17 22:48:46,399 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2020-07-17 22:48:46,400 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2020-07-17 22:48:46,400 INFO L74 IsIncluded]: Start isIncluded. First operand 33 states. Second operand 34 states. [2020-07-17 22:48:46,400 INFO L87 Difference]: Start difference. First operand 33 states. Second operand 34 states. [2020-07-17 22:48:46,405 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2020-07-17 22:48:46,406 INFO L93 Difference]: Finished difference Result 34 states and 38 transitions. [2020-07-17 22:48:46,406 INFO L276 IsEmpty]: Start isEmpty. Operand 34 states and 38 transitions. [2020-07-17 22:48:46,407 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2020-07-17 22:48:46,408 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2020-07-17 22:48:46,408 INFO L88 GeneralOperation]: Finished isEquivalent. [2020-07-17 22:48:46,408 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2020-07-17 22:48:46,408 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 33 states. [2020-07-17 22:48:46,411 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 33 states to 33 states and 37 transitions. [2020-07-17 22:48:46,413 INFO L78 Accepts]: Start accepts. Automaton has 33 states and 37 transitions. Word has length 22 [2020-07-17 22:48:46,414 INFO L84 Accepts]: Finished accepts. word is rejected. [2020-07-17 22:48:46,414 INFO L479 AbstractCegarLoop]: Abstraction has 33 states and 37 transitions. [2020-07-17 22:48:46,414 INFO L480 AbstractCegarLoop]: Interpolant automaton has 4 states. [2020-07-17 22:48:46,414 INFO L276 IsEmpty]: Start isEmpty. Operand 33 states and 37 transitions. [2020-07-17 22:48:46,415 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 25 [2020-07-17 22:48:46,415 INFO L414 BasicCegarLoop]: Found error trace [2020-07-17 22:48:46,416 INFO L422 BasicCegarLoop]: trace histogram [1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1] [2020-07-17 22:48:46,416 WARN L516 AbstractCegarLoop]: Destroyed unattended storables created during the last iteration: SelfDestructingSolverStorable0 [2020-07-17 22:48:46,416 INFO L427 AbstractCegarLoop]: === Iteration 2 === [__VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION]=== [2020-07-17 22:48:46,417 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2020-07-17 22:48:46,417 INFO L82 PathProgramCache]: Analyzing trace with hash 1791807978, now seen corresponding path program 1 times [2020-07-17 22:48:46,417 INFO L163 FreeRefinementEngine]: Executing refinement strategy CAMEL [2020-07-17 22:48:46,417 INFO L354 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [2052622739] [2020-07-17 22:48:46,418 INFO L94 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2020-07-17 22:48:46,454 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2020-07-17 22:48:46,576 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2020-07-17 22:48:46,595 INFO L280 TraceCheckUtils]: 0: Hoare triple {262#(and (= |#valid| |old(#valid)|) (= |#NULL.base| |old(#NULL.base)|) (= ~MAX~0 |old(~MAX~0)|) (= |#NULL.offset| |old(#NULL.offset)|) (= ~SIZE~0 |old(~SIZE~0)|))} #NULL.base, #NULL.offset := 0, 0;#valid := #valid[0 := 0];assume 0 < #StackHeapBarrier;~SIZE~0 := 0;~MAX~0 := 100000; {251#true} is VALID [2020-07-17 22:48:46,595 INFO L280 TraceCheckUtils]: 1: Hoare triple {251#true} assume true; {251#true} is VALID [2020-07-17 22:48:46,596 INFO L275 TraceCheckUtils]: 2: Hoare quadruple {251#true} {251#true} #98#return; {251#true} is VALID [2020-07-17 22:48:46,598 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2020-07-17 22:48:46,616 INFO L280 TraceCheckUtils]: 0: Hoare triple {251#true} ~cond := #in~cond; {251#true} is VALID [2020-07-17 22:48:46,617 INFO L280 TraceCheckUtils]: 1: Hoare triple {251#true} assume !(0 == ~cond); {251#true} is VALID [2020-07-17 22:48:46,617 INFO L280 TraceCheckUtils]: 2: Hoare triple {251#true} assume true; {251#true} is VALID [2020-07-17 22:48:46,617 INFO L275 TraceCheckUtils]: 3: Hoare quadruple {251#true} {252#false} #94#return; {252#false} is VALID [2020-07-17 22:48:46,619 INFO L263 TraceCheckUtils]: 0: Hoare triple {251#true} call ULTIMATE.init(); {262#(and (= |#valid| |old(#valid)|) (= |#NULL.base| |old(#NULL.base)|) (= ~MAX~0 |old(~MAX~0)|) (= |#NULL.offset| |old(#NULL.offset)|) (= ~SIZE~0 |old(~SIZE~0)|))} is VALID [2020-07-17 22:48:46,619 INFO L280 TraceCheckUtils]: 1: Hoare triple {262#(and (= |#valid| |old(#valid)|) (= |#NULL.base| |old(#NULL.base)|) (= ~MAX~0 |old(~MAX~0)|) (= |#NULL.offset| |old(#NULL.offset)|) (= ~SIZE~0 |old(~SIZE~0)|))} #NULL.base, #NULL.offset := 0, 0;#valid := #valid[0 := 0];assume 0 < #StackHeapBarrier;~SIZE~0 := 0;~MAX~0 := 100000; {251#true} is VALID [2020-07-17 22:48:46,620 INFO L280 TraceCheckUtils]: 2: Hoare triple {251#true} assume true; {251#true} is VALID [2020-07-17 22:48:46,620 INFO L275 TraceCheckUtils]: 3: Hoare quadruple {251#true} {251#true} #98#return; {251#true} is VALID [2020-07-17 22:48:46,620 INFO L263 TraceCheckUtils]: 4: Hoare triple {251#true} call #t~ret9 := main(); {251#true} is VALID [2020-07-17 22:48:46,621 INFO L280 TraceCheckUtils]: 5: Hoare triple {251#true} assume -2147483648 <= #t~nondet0 && #t~nondet0 <= 2147483647;~SIZE~0 := #t~nondet0;havoc #t~nondet0; {251#true} is VALID [2020-07-17 22:48:46,622 INFO L280 TraceCheckUtils]: 6: Hoare triple {251#true} assume ~SIZE~0 > 1 && ~SIZE~0 < ~MAX~0;havoc ~i~0;call #t~malloc1.base, #t~malloc1.offset := #Ultimate.allocOnHeap(4 * ~SIZE~0);~a~0.base, ~a~0.offset := #t~malloc1.base, #t~malloc1.offset;~i~0 := 0; {256#(and (<= 2 ~SIZE~0) (= 0 main_~i~0))} is VALID [2020-07-17 22:48:46,624 INFO L280 TraceCheckUtils]: 7: Hoare triple {256#(and (<= 2 ~SIZE~0) (= 0 main_~i~0))} assume !!(~i~0 < ~SIZE~0);assume -2147483648 <= #t~nondet3 && #t~nondet3 <= 2147483647;call write~int(#t~nondet3, ~a~0.base, ~a~0.offset + 4 * ~i~0, 4);havoc #t~nondet3; {256#(and (<= 2 ~SIZE~0) (= 0 main_~i~0))} is VALID [2020-07-17 22:48:46,625 INFO L280 TraceCheckUtils]: 8: Hoare triple {256#(and (<= 2 ~SIZE~0) (= 0 main_~i~0))} #t~post2 := ~i~0;~i~0 := 1 + #t~post2;havoc #t~post2; {257#(<= (+ main_~i~0 1) ~SIZE~0)} is VALID [2020-07-17 22:48:46,626 INFO L280 TraceCheckUtils]: 9: Hoare triple {257#(<= (+ main_~i~0 1) ~SIZE~0)} assume !(~i~0 < ~SIZE~0); {252#false} is VALID [2020-07-17 22:48:46,627 INFO L280 TraceCheckUtils]: 10: Hoare triple {252#false} assume !(0 != (if ~SIZE~0 < 0 && 0 != ~SIZE~0 % 2 then ~SIZE~0 % 2 - 2 else ~SIZE~0 % 2)); {252#false} is VALID [2020-07-17 22:48:46,628 INFO L263 TraceCheckUtils]: 11: Hoare triple {252#false} call assume_abort_if_not((if 0 == (if ~SIZE~0 < 0 && 0 != ~SIZE~0 % 2 then ~SIZE~0 % 2 - 2 else ~SIZE~0 % 2) then 1 else 0)); {251#true} is VALID [2020-07-17 22:48:46,628 INFO L280 TraceCheckUtils]: 12: Hoare triple {251#true} ~cond := #in~cond; {251#true} is VALID [2020-07-17 22:48:46,628 INFO L280 TraceCheckUtils]: 13: Hoare triple {251#true} assume !(0 == ~cond); {251#true} is VALID [2020-07-17 22:48:46,629 INFO L280 TraceCheckUtils]: 14: Hoare triple {251#true} assume true; {251#true} is VALID [2020-07-17 22:48:46,629 INFO L275 TraceCheckUtils]: 15: Hoare quadruple {251#true} {252#false} #94#return; {252#false} is VALID [2020-07-17 22:48:46,629 INFO L280 TraceCheckUtils]: 16: Hoare triple {252#false} ~i~0 := 1; {252#false} is VALID [2020-07-17 22:48:46,630 INFO L280 TraceCheckUtils]: 17: Hoare triple {252#false} assume !(~i~0 <= (if ~SIZE~0 < 0 && 0 != ~SIZE~0 % 2 then 1 + ~SIZE~0 / 2 else ~SIZE~0 / 2)); {252#false} is VALID [2020-07-17 22:48:46,630 INFO L280 TraceCheckUtils]: 18: Hoare triple {252#false} ~i~0 := 0; {252#false} is VALID [2020-07-17 22:48:46,630 INFO L280 TraceCheckUtils]: 19: Hoare triple {252#false} assume !!(~i~0 < ~SIZE~0);call #t~mem8 := read~int(~a~0.base, ~a~0.offset + 4 * ~i~0, 4); {252#false} is VALID [2020-07-17 22:48:46,630 INFO L263 TraceCheckUtils]: 20: Hoare triple {252#false} call __VERIFIER_assert((if #t~mem8 <= ~i~0 then 1 else 0)); {252#false} is VALID [2020-07-17 22:48:46,631 INFO L280 TraceCheckUtils]: 21: Hoare triple {252#false} ~cond := #in~cond; {252#false} is VALID [2020-07-17 22:48:46,631 INFO L280 TraceCheckUtils]: 22: Hoare triple {252#false} assume 0 == ~cond; {252#false} is VALID [2020-07-17 22:48:46,631 INFO L280 TraceCheckUtils]: 23: Hoare triple {252#false} assume !false; {252#false} is VALID [2020-07-17 22:48:46,633 INFO L134 CoverageAnalysis]: Checked inductivity of 1 backedges. 0 proven. 1 refuted. 0 times theorem prover too weak. 0 trivial. 0 not checked. [2020-07-17 22:48:46,634 INFO L354 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleSmtInterpolCraig [2052622739] [2020-07-17 22:48:46,634 INFO L354 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleZ3 [973069358] [2020-07-17 22:48:46,634 INFO L94 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 Starting monitored process 2 with z3 -smt2 -in SMTLIB2_COMPLIANT=true (exit command is (exit), workingDir is null) Waiting until toolchain timeout for monitored process 2 with z3 -smt2 -in SMTLIB2_COMPLIANT=true [2020-07-17 22:48:46,695 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2020-07-17 22:48:46,697 INFO L264 TraceCheckSpWp]: Trace formula consists of 99 conjuncts, 4 conjunts are in the unsatisfiable core [2020-07-17 22:48:46,712 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2020-07-17 22:48:46,719 INFO L287 TraceCheckSpWp]: Computing forward predicates... [2020-07-17 22:48:46,858 INFO L263 TraceCheckUtils]: 0: Hoare triple {251#true} call ULTIMATE.init(); {251#true} is VALID [2020-07-17 22:48:46,859 INFO L280 TraceCheckUtils]: 1: Hoare triple {251#true} #NULL.base, #NULL.offset := 0, 0;#valid := #valid[0 := 0];assume 0 < #StackHeapBarrier;~SIZE~0 := 0;~MAX~0 := 100000; {251#true} is VALID [2020-07-17 22:48:46,859 INFO L280 TraceCheckUtils]: 2: Hoare triple {251#true} assume true; {251#true} is VALID [2020-07-17 22:48:46,860 INFO L275 TraceCheckUtils]: 3: Hoare quadruple {251#true} {251#true} #98#return; {251#true} is VALID [2020-07-17 22:48:46,860 INFO L263 TraceCheckUtils]: 4: Hoare triple {251#true} call #t~ret9 := main(); {251#true} is VALID [2020-07-17 22:48:46,864 INFO L280 TraceCheckUtils]: 5: Hoare triple {251#true} assume -2147483648 <= #t~nondet0 && #t~nondet0 <= 2147483647;~SIZE~0 := #t~nondet0;havoc #t~nondet0; {251#true} is VALID [2020-07-17 22:48:46,865 INFO L280 TraceCheckUtils]: 6: Hoare triple {251#true} assume ~SIZE~0 > 1 && ~SIZE~0 < ~MAX~0;havoc ~i~0;call #t~malloc1.base, #t~malloc1.offset := #Ultimate.allocOnHeap(4 * ~SIZE~0);~a~0.base, ~a~0.offset := #t~malloc1.base, #t~malloc1.offset;~i~0 := 0; {284#(and (<= main_~i~0 0) (< 1 ~SIZE~0))} is VALID [2020-07-17 22:48:46,866 INFO L280 TraceCheckUtils]: 7: Hoare triple {284#(and (<= main_~i~0 0) (< 1 ~SIZE~0))} assume !!(~i~0 < ~SIZE~0);assume -2147483648 <= #t~nondet3 && #t~nondet3 <= 2147483647;call write~int(#t~nondet3, ~a~0.base, ~a~0.offset + 4 * ~i~0, 4);havoc #t~nondet3; {284#(and (<= main_~i~0 0) (< 1 ~SIZE~0))} is VALID [2020-07-17 22:48:46,868 INFO L280 TraceCheckUtils]: 8: Hoare triple {284#(and (<= main_~i~0 0) (< 1 ~SIZE~0))} #t~post2 := ~i~0;~i~0 := 1 + #t~post2;havoc #t~post2; {291#(and (< 1 ~SIZE~0) (<= main_~i~0 1))} is VALID [2020-07-17 22:48:46,868 INFO L280 TraceCheckUtils]: 9: Hoare triple {291#(and (< 1 ~SIZE~0) (<= main_~i~0 1))} assume !(~i~0 < ~SIZE~0); {252#false} is VALID [2020-07-17 22:48:46,869 INFO L280 TraceCheckUtils]: 10: Hoare triple {252#false} assume !(0 != (if ~SIZE~0 < 0 && 0 != ~SIZE~0 % 2 then ~SIZE~0 % 2 - 2 else ~SIZE~0 % 2)); {252#false} is VALID [2020-07-17 22:48:46,869 INFO L263 TraceCheckUtils]: 11: Hoare triple {252#false} call assume_abort_if_not((if 0 == (if ~SIZE~0 < 0 && 0 != ~SIZE~0 % 2 then ~SIZE~0 % 2 - 2 else ~SIZE~0 % 2) then 1 else 0)); {252#false} is VALID [2020-07-17 22:48:46,869 INFO L280 TraceCheckUtils]: 12: Hoare triple {252#false} ~cond := #in~cond; {252#false} is VALID [2020-07-17 22:48:46,870 INFO L280 TraceCheckUtils]: 13: Hoare triple {252#false} assume !(0 == ~cond); {252#false} is VALID [2020-07-17 22:48:46,870 INFO L280 TraceCheckUtils]: 14: Hoare triple {252#false} assume true; {252#false} is VALID [2020-07-17 22:48:46,870 INFO L275 TraceCheckUtils]: 15: Hoare quadruple {252#false} {252#false} #94#return; {252#false} is VALID [2020-07-17 22:48:46,871 INFO L280 TraceCheckUtils]: 16: Hoare triple {252#false} ~i~0 := 1; {252#false} is VALID [2020-07-17 22:48:46,871 INFO L280 TraceCheckUtils]: 17: Hoare triple {252#false} assume !(~i~0 <= (if ~SIZE~0 < 0 && 0 != ~SIZE~0 % 2 then 1 + ~SIZE~0 / 2 else ~SIZE~0 / 2)); {252#false} is VALID [2020-07-17 22:48:46,871 INFO L280 TraceCheckUtils]: 18: Hoare triple {252#false} ~i~0 := 0; {252#false} is VALID [2020-07-17 22:48:46,871 INFO L280 TraceCheckUtils]: 19: Hoare triple {252#false} assume !!(~i~0 < ~SIZE~0);call #t~mem8 := read~int(~a~0.base, ~a~0.offset + 4 * ~i~0, 4); {252#false} is VALID [2020-07-17 22:48:46,872 INFO L263 TraceCheckUtils]: 20: Hoare triple {252#false} call __VERIFIER_assert((if #t~mem8 <= ~i~0 then 1 else 0)); {252#false} is VALID [2020-07-17 22:48:46,872 INFO L280 TraceCheckUtils]: 21: Hoare triple {252#false} ~cond := #in~cond; {252#false} is VALID [2020-07-17 22:48:46,873 INFO L280 TraceCheckUtils]: 22: Hoare triple {252#false} assume 0 == ~cond; {252#false} is VALID [2020-07-17 22:48:46,873 INFO L280 TraceCheckUtils]: 23: Hoare triple {252#false} assume !false; {252#false} is VALID [2020-07-17 22:48:46,875 INFO L134 CoverageAnalysis]: Checked inductivity of 1 backedges. 0 proven. 1 refuted. 0 times theorem prover too weak. 0 trivial. 0 not checked. [2020-07-17 22:48:46,875 INFO L220 FreeRefinementEngine]: Constructing automaton from 0 perfect and 2 imperfect interpolant sequences. [2020-07-17 22:48:46,876 INFO L233 FreeRefinementEngine]: Number of different interpolants: perfect sequences [] imperfect sequences [5, 4] total 7 [2020-07-17 22:48:46,879 INFO L156 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [1238453088] [2020-07-17 22:48:46,881 INFO L78 Accepts]: Start accepts. Automaton has 7 states. Word has length 24 [2020-07-17 22:48:46,883 INFO L84 Accepts]: Finished accepts. word is accepted. [2020-07-17 22:48:46,884 INFO L86 InductivityCheck]: Starting indutivity check of a Floyd-Hoare automaton with 7 states. [2020-07-17 22:48:46,932 INFO L119 InductivityCheck]: Floyd-Hoare automaton has 35 edges. 35 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2020-07-17 22:48:46,932 INFO L459 AbstractCegarLoop]: Interpolant automaton has 7 states [2020-07-17 22:48:46,933 INFO L143 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy CAMEL [2020-07-17 22:48:46,933 INFO L142 InterpolantAutomaton]: Constructing interpolant automaton starting with 7 interpolants. [2020-07-17 22:48:46,934 INFO L144 InterpolantAutomaton]: CoverageRelationStatistics Valid=17, Invalid=25, Unknown=0, NotChecked=0, Total=42 [2020-07-17 22:48:46,934 INFO L87 Difference]: Start difference. First operand 33 states and 37 transitions. Second operand 7 states. [2020-07-17 22:48:47,368 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2020-07-17 22:48:47,368 INFO L93 Difference]: Finished difference Result 59 states and 67 transitions. [2020-07-17 22:48:47,369 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 6 states. [2020-07-17 22:48:47,369 INFO L78 Accepts]: Start accepts. Automaton has 7 states. Word has length 24 [2020-07-17 22:48:47,369 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2020-07-17 22:48:47,370 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 7 states. [2020-07-17 22:48:47,376 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 6 states to 6 states and 67 transitions. [2020-07-17 22:48:47,376 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 7 states. [2020-07-17 22:48:47,396 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 6 states to 6 states and 67 transitions. [2020-07-17 22:48:47,397 INFO L86 InductivityCheck]: Starting indutivity check of a Floyd-Hoare automaton with 6 states and 67 transitions. [2020-07-17 22:48:47,495 INFO L119 InductivityCheck]: Floyd-Hoare automaton has 67 edges. 67 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2020-07-17 22:48:47,497 INFO L225 Difference]: With dead ends: 59 [2020-07-17 22:48:47,497 INFO L226 Difference]: Without dead ends: 36 [2020-07-17 22:48:47,501 INFO L675 BasicCegarLoop]: 0 DeclaredPredicates, 31 GetRequests, 26 SyntacticMatches, 0 SemanticMatches, 5 ConstructedPredicates, 0 IntricatePredicates, 0 DeprecatedPredicates, 1 ImplicationChecksByTransitivity, 0.0s TimeCoverageRelationStatistics Valid=17, Invalid=25, Unknown=0, NotChecked=0, Total=42 [2020-07-17 22:48:47,504 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 36 states. [2020-07-17 22:48:47,540 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 36 to 35. [2020-07-17 22:48:47,540 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2020-07-17 22:48:47,541 INFO L82 GeneralOperation]: Start isEquivalent. First operand 36 states. Second operand 35 states. [2020-07-17 22:48:47,541 INFO L74 IsIncluded]: Start isIncluded. First operand 36 states. Second operand 35 states. [2020-07-17 22:48:47,541 INFO L87 Difference]: Start difference. First operand 36 states. Second operand 35 states. [2020-07-17 22:48:47,544 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2020-07-17 22:48:47,544 INFO L93 Difference]: Finished difference Result 36 states and 40 transitions. [2020-07-17 22:48:47,544 INFO L276 IsEmpty]: Start isEmpty. Operand 36 states and 40 transitions. [2020-07-17 22:48:47,545 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2020-07-17 22:48:47,545 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2020-07-17 22:48:47,545 INFO L74 IsIncluded]: Start isIncluded. First operand 35 states. Second operand 36 states. [2020-07-17 22:48:47,545 INFO L87 Difference]: Start difference. First operand 35 states. Second operand 36 states. [2020-07-17 22:48:47,548 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2020-07-17 22:48:47,549 INFO L93 Difference]: Finished difference Result 36 states and 40 transitions. [2020-07-17 22:48:47,549 INFO L276 IsEmpty]: Start isEmpty. Operand 36 states and 40 transitions. [2020-07-17 22:48:47,549 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2020-07-17 22:48:47,550 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2020-07-17 22:48:47,550 INFO L88 GeneralOperation]: Finished isEquivalent. [2020-07-17 22:48:47,550 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2020-07-17 22:48:47,550 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 35 states. [2020-07-17 22:48:47,554 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 35 states to 35 states and 39 transitions. [2020-07-17 22:48:47,558 INFO L78 Accepts]: Start accepts. Automaton has 35 states and 39 transitions. Word has length 24 [2020-07-17 22:48:47,558 INFO L84 Accepts]: Finished accepts. word is rejected. [2020-07-17 22:48:47,558 INFO L479 AbstractCegarLoop]: Abstraction has 35 states and 39 transitions. [2020-07-17 22:48:47,558 INFO L480 AbstractCegarLoop]: Interpolant automaton has 7 states. [2020-07-17 22:48:47,558 INFO L276 IsEmpty]: Start isEmpty. Operand 35 states and 39 transitions. [2020-07-17 22:48:47,559 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 27 [2020-07-17 22:48:47,560 INFO L414 BasicCegarLoop]: Found error trace [2020-07-17 22:48:47,560 INFO L422 BasicCegarLoop]: trace histogram [2, 2, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1] [2020-07-17 22:48:47,762 WARN L516 AbstractCegarLoop]: Destroyed unattended storables created during the last iteration: 2 z3 -smt2 -in SMTLIB2_COMPLIANT=true,SelfDestructingSolverStorable1 [2020-07-17 22:48:47,763 INFO L427 AbstractCegarLoop]: === Iteration 3 === [__VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION]=== [2020-07-17 22:48:47,764 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2020-07-17 22:48:47,765 INFO L82 PathProgramCache]: Analyzing trace with hash 2002160904, now seen corresponding path program 2 times [2020-07-17 22:48:47,765 INFO L163 FreeRefinementEngine]: Executing refinement strategy CAMEL [2020-07-17 22:48:47,765 INFO L354 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [721900352] [2020-07-17 22:48:47,766 INFO L94 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2020-07-17 22:48:47,797 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2020-07-17 22:48:48,057 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2020-07-17 22:48:48,061 INFO L280 TraceCheckUtils]: 0: Hoare triple {546#(and (= |#valid| |old(#valid)|) (= |#NULL.base| |old(#NULL.base)|) (= ~MAX~0 |old(~MAX~0)|) (= |#NULL.offset| |old(#NULL.offset)|) (= ~SIZE~0 |old(~SIZE~0)|))} #NULL.base, #NULL.offset := 0, 0;#valid := #valid[0 := 0];assume 0 < #StackHeapBarrier;~SIZE~0 := 0;~MAX~0 := 100000; {534#true} is VALID [2020-07-17 22:48:48,062 INFO L280 TraceCheckUtils]: 1: Hoare triple {534#true} assume true; {534#true} is VALID [2020-07-17 22:48:48,062 INFO L275 TraceCheckUtils]: 2: Hoare quadruple {534#true} {534#true} #98#return; {534#true} is VALID [2020-07-17 22:48:48,067 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2020-07-17 22:48:48,090 INFO L280 TraceCheckUtils]: 0: Hoare triple {534#true} ~cond := #in~cond; {534#true} is VALID [2020-07-17 22:48:48,090 INFO L280 TraceCheckUtils]: 1: Hoare triple {534#true} assume !(0 == ~cond); {534#true} is VALID [2020-07-17 22:48:48,091 INFO L280 TraceCheckUtils]: 2: Hoare triple {534#true} assume true; {534#true} is VALID [2020-07-17 22:48:48,092 INFO L275 TraceCheckUtils]: 3: Hoare quadruple {534#true} {540#(and (<= 2 ~SIZE~0) (= ~SIZE~0 (* 2 (div ~SIZE~0 2))))} #94#return; {540#(and (<= 2 ~SIZE~0) (= ~SIZE~0 (* 2 (div ~SIZE~0 2))))} is VALID [2020-07-17 22:48:48,093 INFO L263 TraceCheckUtils]: 0: Hoare triple {534#true} call ULTIMATE.init(); {546#(and (= |#valid| |old(#valid)|) (= |#NULL.base| |old(#NULL.base)|) (= ~MAX~0 |old(~MAX~0)|) (= |#NULL.offset| |old(#NULL.offset)|) (= ~SIZE~0 |old(~SIZE~0)|))} is VALID [2020-07-17 22:48:48,093 INFO L280 TraceCheckUtils]: 1: Hoare triple {546#(and (= |#valid| |old(#valid)|) (= |#NULL.base| |old(#NULL.base)|) (= ~MAX~0 |old(~MAX~0)|) (= |#NULL.offset| |old(#NULL.offset)|) (= ~SIZE~0 |old(~SIZE~0)|))} #NULL.base, #NULL.offset := 0, 0;#valid := #valid[0 := 0];assume 0 < #StackHeapBarrier;~SIZE~0 := 0;~MAX~0 := 100000; {534#true} is VALID [2020-07-17 22:48:48,094 INFO L280 TraceCheckUtils]: 2: Hoare triple {534#true} assume true; {534#true} is VALID [2020-07-17 22:48:48,094 INFO L275 TraceCheckUtils]: 3: Hoare quadruple {534#true} {534#true} #98#return; {534#true} is VALID [2020-07-17 22:48:48,094 INFO L263 TraceCheckUtils]: 4: Hoare triple {534#true} call #t~ret9 := main(); {534#true} is VALID [2020-07-17 22:48:48,094 INFO L280 TraceCheckUtils]: 5: Hoare triple {534#true} assume -2147483648 <= #t~nondet0 && #t~nondet0 <= 2147483647;~SIZE~0 := #t~nondet0;havoc #t~nondet0; {534#true} is VALID [2020-07-17 22:48:48,096 INFO L280 TraceCheckUtils]: 6: Hoare triple {534#true} assume ~SIZE~0 > 1 && ~SIZE~0 < ~MAX~0;havoc ~i~0;call #t~malloc1.base, #t~malloc1.offset := #Ultimate.allocOnHeap(4 * ~SIZE~0);~a~0.base, ~a~0.offset := #t~malloc1.base, #t~malloc1.offset;~i~0 := 0; {539#(<= 2 ~SIZE~0)} is VALID [2020-07-17 22:48:48,097 INFO L280 TraceCheckUtils]: 7: Hoare triple {539#(<= 2 ~SIZE~0)} assume !!(~i~0 < ~SIZE~0);assume -2147483648 <= #t~nondet3 && #t~nondet3 <= 2147483647;call write~int(#t~nondet3, ~a~0.base, ~a~0.offset + 4 * ~i~0, 4);havoc #t~nondet3; {539#(<= 2 ~SIZE~0)} is VALID [2020-07-17 22:48:48,097 INFO L280 TraceCheckUtils]: 8: Hoare triple {539#(<= 2 ~SIZE~0)} #t~post2 := ~i~0;~i~0 := 1 + #t~post2;havoc #t~post2; {539#(<= 2 ~SIZE~0)} is VALID [2020-07-17 22:48:48,098 INFO L280 TraceCheckUtils]: 9: Hoare triple {539#(<= 2 ~SIZE~0)} assume !!(~i~0 < ~SIZE~0);assume -2147483648 <= #t~nondet3 && #t~nondet3 <= 2147483647;call write~int(#t~nondet3, ~a~0.base, ~a~0.offset + 4 * ~i~0, 4);havoc #t~nondet3; {539#(<= 2 ~SIZE~0)} is VALID [2020-07-17 22:48:48,099 INFO L280 TraceCheckUtils]: 10: Hoare triple {539#(<= 2 ~SIZE~0)} #t~post2 := ~i~0;~i~0 := 1 + #t~post2;havoc #t~post2; {539#(<= 2 ~SIZE~0)} is VALID [2020-07-17 22:48:48,100 INFO L280 TraceCheckUtils]: 11: Hoare triple {539#(<= 2 ~SIZE~0)} assume !(~i~0 < ~SIZE~0); {539#(<= 2 ~SIZE~0)} is VALID [2020-07-17 22:48:48,102 INFO L280 TraceCheckUtils]: 12: Hoare triple {539#(<= 2 ~SIZE~0)} assume !(0 != (if ~SIZE~0 < 0 && 0 != ~SIZE~0 % 2 then ~SIZE~0 % 2 - 2 else ~SIZE~0 % 2)); {540#(and (<= 2 ~SIZE~0) (= ~SIZE~0 (* 2 (div ~SIZE~0 2))))} is VALID [2020-07-17 22:48:48,102 INFO L263 TraceCheckUtils]: 13: Hoare triple {540#(and (<= 2 ~SIZE~0) (= ~SIZE~0 (* 2 (div ~SIZE~0 2))))} call assume_abort_if_not((if 0 == (if ~SIZE~0 < 0 && 0 != ~SIZE~0 % 2 then ~SIZE~0 % 2 - 2 else ~SIZE~0 % 2) then 1 else 0)); {534#true} is VALID [2020-07-17 22:48:48,103 INFO L280 TraceCheckUtils]: 14: Hoare triple {534#true} ~cond := #in~cond; {534#true} is VALID [2020-07-17 22:48:48,103 INFO L280 TraceCheckUtils]: 15: Hoare triple {534#true} assume !(0 == ~cond); {534#true} is VALID [2020-07-17 22:48:48,103 INFO L280 TraceCheckUtils]: 16: Hoare triple {534#true} assume true; {534#true} is VALID [2020-07-17 22:48:48,105 INFO L275 TraceCheckUtils]: 17: Hoare quadruple {534#true} {540#(and (<= 2 ~SIZE~0) (= ~SIZE~0 (* 2 (div ~SIZE~0 2))))} #94#return; {540#(and (<= 2 ~SIZE~0) (= ~SIZE~0 (* 2 (div ~SIZE~0 2))))} is VALID [2020-07-17 22:48:48,106 INFO L280 TraceCheckUtils]: 18: Hoare triple {540#(and (<= 2 ~SIZE~0) (= ~SIZE~0 (* 2 (div ~SIZE~0 2))))} ~i~0 := 1; {545#(and (<= 2 ~SIZE~0) (= 1 main_~i~0) (= ~SIZE~0 (* 2 (div ~SIZE~0 2))))} is VALID [2020-07-17 22:48:48,108 INFO L280 TraceCheckUtils]: 19: Hoare triple {545#(and (<= 2 ~SIZE~0) (= 1 main_~i~0) (= ~SIZE~0 (* 2 (div ~SIZE~0 2))))} assume !(~i~0 <= (if ~SIZE~0 < 0 && 0 != ~SIZE~0 % 2 then 1 + ~SIZE~0 / 2 else ~SIZE~0 / 2)); {535#false} is VALID [2020-07-17 22:48:48,108 INFO L280 TraceCheckUtils]: 20: Hoare triple {535#false} ~i~0 := 0; {535#false} is VALID [2020-07-17 22:48:48,108 INFO L280 TraceCheckUtils]: 21: Hoare triple {535#false} assume !!(~i~0 < ~SIZE~0);call #t~mem8 := read~int(~a~0.base, ~a~0.offset + 4 * ~i~0, 4); {535#false} is VALID [2020-07-17 22:48:48,108 INFO L263 TraceCheckUtils]: 22: Hoare triple {535#false} call __VERIFIER_assert((if #t~mem8 <= ~i~0 then 1 else 0)); {535#false} is VALID [2020-07-17 22:48:48,109 INFO L280 TraceCheckUtils]: 23: Hoare triple {535#false} ~cond := #in~cond; {535#false} is VALID [2020-07-17 22:48:48,109 INFO L280 TraceCheckUtils]: 24: Hoare triple {535#false} assume 0 == ~cond; {535#false} is VALID [2020-07-17 22:48:48,109 INFO L280 TraceCheckUtils]: 25: Hoare triple {535#false} assume !false; {535#false} is VALID [2020-07-17 22:48:48,111 INFO L134 CoverageAnalysis]: Checked inductivity of 4 backedges. 0 proven. 0 refuted. 0 times theorem prover too weak. 4 trivial. 0 not checked. [2020-07-17 22:48:48,111 INFO L354 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleSmtInterpolCraig [721900352] [2020-07-17 22:48:48,111 INFO L220 FreeRefinementEngine]: Constructing automaton from 1 perfect and 0 imperfect interpolant sequences. [2020-07-17 22:48:48,112 INFO L233 FreeRefinementEngine]: Number of different interpolants: perfect sequences [6] imperfect sequences [] total 6 [2020-07-17 22:48:48,112 INFO L156 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [674148237] [2020-07-17 22:48:48,112 INFO L78 Accepts]: Start accepts. Automaton has 6 states. Word has length 26 [2020-07-17 22:48:48,113 INFO L84 Accepts]: Finished accepts. word is accepted. [2020-07-17 22:48:48,113 INFO L86 InductivityCheck]: Starting indutivity check of a Floyd-Hoare automaton with 6 states. [2020-07-17 22:48:48,144 INFO L119 InductivityCheck]: Floyd-Hoare automaton has 24 edges. 24 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2020-07-17 22:48:48,144 INFO L459 AbstractCegarLoop]: Interpolant automaton has 6 states [2020-07-17 22:48:48,145 INFO L143 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy CAMEL [2020-07-17 22:48:48,145 INFO L142 InterpolantAutomaton]: Constructing interpolant automaton starting with 6 interpolants. [2020-07-17 22:48:48,145 INFO L144 InterpolantAutomaton]: CoverageRelationStatistics Valid=12, Invalid=18, Unknown=0, NotChecked=0, Total=30 [2020-07-17 22:48:48,145 INFO L87 Difference]: Start difference. First operand 35 states and 39 transitions. Second operand 6 states. [2020-07-17 22:48:48,523 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2020-07-17 22:48:48,523 INFO L93 Difference]: Finished difference Result 51 states and 58 transitions. [2020-07-17 22:48:48,524 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 7 states. [2020-07-17 22:48:48,524 INFO L78 Accepts]: Start accepts. Automaton has 6 states. Word has length 26 [2020-07-17 22:48:48,524 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2020-07-17 22:48:48,524 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 6 states. [2020-07-17 22:48:48,527 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 7 states to 7 states and 55 transitions. [2020-07-17 22:48:48,527 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 6 states. [2020-07-17 22:48:48,530 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 7 states to 7 states and 55 transitions. [2020-07-17 22:48:48,530 INFO L86 InductivityCheck]: Starting indutivity check of a Floyd-Hoare automaton with 7 states and 55 transitions. [2020-07-17 22:48:48,611 INFO L119 InductivityCheck]: Floyd-Hoare automaton has 55 edges. 55 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2020-07-17 22:48:48,613 INFO L225 Difference]: With dead ends: 51 [2020-07-17 22:48:48,613 INFO L226 Difference]: Without dead ends: 40 [2020-07-17 22:48:48,614 INFO L675 BasicCegarLoop]: 0 DeclaredPredicates, 11 GetRequests, 6 SyntacticMatches, 0 SemanticMatches, 5 ConstructedPredicates, 0 IntricatePredicates, 0 DeprecatedPredicates, 2 ImplicationChecksByTransitivity, 0.1s TimeCoverageRelationStatistics Valid=17, Invalid=25, Unknown=0, NotChecked=0, Total=42 [2020-07-17 22:48:48,615 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 40 states. [2020-07-17 22:48:48,654 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 40 to 36. [2020-07-17 22:48:48,654 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2020-07-17 22:48:48,654 INFO L82 GeneralOperation]: Start isEquivalent. First operand 40 states. Second operand 36 states. [2020-07-17 22:48:48,654 INFO L74 IsIncluded]: Start isIncluded. First operand 40 states. Second operand 36 states. [2020-07-17 22:48:48,654 INFO L87 Difference]: Start difference. First operand 40 states. Second operand 36 states. [2020-07-17 22:48:48,657 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2020-07-17 22:48:48,657 INFO L93 Difference]: Finished difference Result 40 states and 46 transitions. [2020-07-17 22:48:48,657 INFO L276 IsEmpty]: Start isEmpty. Operand 40 states and 46 transitions. [2020-07-17 22:48:48,658 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2020-07-17 22:48:48,658 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2020-07-17 22:48:48,658 INFO L74 IsIncluded]: Start isIncluded. First operand 36 states. Second operand 40 states. [2020-07-17 22:48:48,658 INFO L87 Difference]: Start difference. First operand 36 states. Second operand 40 states. [2020-07-17 22:48:48,662 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2020-07-17 22:48:48,663 INFO L93 Difference]: Finished difference Result 40 states and 46 transitions. [2020-07-17 22:48:48,663 INFO L276 IsEmpty]: Start isEmpty. Operand 40 states and 46 transitions. [2020-07-17 22:48:48,663 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2020-07-17 22:48:48,663 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2020-07-17 22:48:48,664 INFO L88 GeneralOperation]: Finished isEquivalent. [2020-07-17 22:48:48,664 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2020-07-17 22:48:48,664 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 36 states. [2020-07-17 22:48:48,666 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 36 states to 36 states and 40 transitions. [2020-07-17 22:48:48,666 INFO L78 Accepts]: Start accepts. Automaton has 36 states and 40 transitions. Word has length 26 [2020-07-17 22:48:48,666 INFO L84 Accepts]: Finished accepts. word is rejected. [2020-07-17 22:48:48,666 INFO L479 AbstractCegarLoop]: Abstraction has 36 states and 40 transitions. [2020-07-17 22:48:48,666 INFO L480 AbstractCegarLoop]: Interpolant automaton has 6 states. [2020-07-17 22:48:48,667 INFO L276 IsEmpty]: Start isEmpty. Operand 36 states and 40 transitions. [2020-07-17 22:48:48,667 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 32 [2020-07-17 22:48:48,668 INFO L414 BasicCegarLoop]: Found error trace [2020-07-17 22:48:48,668 INFO L422 BasicCegarLoop]: trace histogram [2, 2, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1] [2020-07-17 22:48:48,668 WARN L516 AbstractCegarLoop]: Destroyed unattended storables created during the last iteration: SelfDestructingSolverStorable2 [2020-07-17 22:48:48,668 INFO L427 AbstractCegarLoop]: === Iteration 4 === [__VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION]=== [2020-07-17 22:48:48,669 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2020-07-17 22:48:48,669 INFO L82 PathProgramCache]: Analyzing trace with hash -709829620, now seen corresponding path program 1 times [2020-07-17 22:48:48,669 INFO L163 FreeRefinementEngine]: Executing refinement strategy CAMEL [2020-07-17 22:48:48,669 INFO L354 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [1509183024] [2020-07-17 22:48:48,669 INFO L94 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2020-07-17 22:48:48,738 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2020-07-17 22:48:49,028 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2020-07-17 22:48:49,032 INFO L280 TraceCheckUtils]: 0: Hoare triple {767#(and (= |#valid| |old(#valid)|) (= |#NULL.base| |old(#NULL.base)|) (= ~MAX~0 |old(~MAX~0)|) (= |#NULL.offset| |old(#NULL.offset)|) (= ~SIZE~0 |old(~SIZE~0)|))} #NULL.base, #NULL.offset := 0, 0;#valid := #valid[0 := 0];assume 0 < #StackHeapBarrier;~SIZE~0 := 0;~MAX~0 := 100000; {750#true} is VALID [2020-07-17 22:48:49,032 INFO L280 TraceCheckUtils]: 1: Hoare triple {750#true} assume true; {750#true} is VALID [2020-07-17 22:48:49,033 INFO L275 TraceCheckUtils]: 2: Hoare quadruple {750#true} {750#true} #98#return; {750#true} is VALID [2020-07-17 22:48:49,035 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2020-07-17 22:48:49,041 INFO L280 TraceCheckUtils]: 0: Hoare triple {750#true} ~cond := #in~cond; {750#true} is VALID [2020-07-17 22:48:49,041 INFO L280 TraceCheckUtils]: 1: Hoare triple {750#true} assume !(0 == ~cond); {750#true} is VALID [2020-07-17 22:48:49,041 INFO L280 TraceCheckUtils]: 2: Hoare triple {750#true} assume true; {750#true} is VALID [2020-07-17 22:48:49,042 INFO L275 TraceCheckUtils]: 3: Hoare quadruple {750#true} {755#(= 0 main_~a~0.offset)} #94#return; {755#(= 0 main_~a~0.offset)} is VALID [2020-07-17 22:48:49,043 INFO L263 TraceCheckUtils]: 0: Hoare triple {750#true} call ULTIMATE.init(); {767#(and (= |#valid| |old(#valid)|) (= |#NULL.base| |old(#NULL.base)|) (= ~MAX~0 |old(~MAX~0)|) (= |#NULL.offset| |old(#NULL.offset)|) (= ~SIZE~0 |old(~SIZE~0)|))} is VALID [2020-07-17 22:48:49,044 INFO L280 TraceCheckUtils]: 1: Hoare triple {767#(and (= |#valid| |old(#valid)|) (= |#NULL.base| |old(#NULL.base)|) (= ~MAX~0 |old(~MAX~0)|) (= |#NULL.offset| |old(#NULL.offset)|) (= ~SIZE~0 |old(~SIZE~0)|))} #NULL.base, #NULL.offset := 0, 0;#valid := #valid[0 := 0];assume 0 < #StackHeapBarrier;~SIZE~0 := 0;~MAX~0 := 100000; {750#true} is VALID [2020-07-17 22:48:49,044 INFO L280 TraceCheckUtils]: 2: Hoare triple {750#true} assume true; {750#true} is VALID [2020-07-17 22:48:49,044 INFO L275 TraceCheckUtils]: 3: Hoare quadruple {750#true} {750#true} #98#return; {750#true} is VALID [2020-07-17 22:48:49,045 INFO L263 TraceCheckUtils]: 4: Hoare triple {750#true} call #t~ret9 := main(); {750#true} is VALID [2020-07-17 22:48:49,045 INFO L280 TraceCheckUtils]: 5: Hoare triple {750#true} assume -2147483648 <= #t~nondet0 && #t~nondet0 <= 2147483647;~SIZE~0 := #t~nondet0;havoc #t~nondet0; {750#true} is VALID [2020-07-17 22:48:49,046 INFO L280 TraceCheckUtils]: 6: Hoare triple {750#true} assume ~SIZE~0 > 1 && ~SIZE~0 < ~MAX~0;havoc ~i~0;call #t~malloc1.base, #t~malloc1.offset := #Ultimate.allocOnHeap(4 * ~SIZE~0);~a~0.base, ~a~0.offset := #t~malloc1.base, #t~malloc1.offset;~i~0 := 0; {755#(= 0 main_~a~0.offset)} is VALID [2020-07-17 22:48:49,047 INFO L280 TraceCheckUtils]: 7: Hoare triple {755#(= 0 main_~a~0.offset)} assume !!(~i~0 < ~SIZE~0);assume -2147483648 <= #t~nondet3 && #t~nondet3 <= 2147483647;call write~int(#t~nondet3, ~a~0.base, ~a~0.offset + 4 * ~i~0, 4);havoc #t~nondet3; {755#(= 0 main_~a~0.offset)} is VALID [2020-07-17 22:48:49,047 INFO L280 TraceCheckUtils]: 8: Hoare triple {755#(= 0 main_~a~0.offset)} #t~post2 := ~i~0;~i~0 := 1 + #t~post2;havoc #t~post2; {755#(= 0 main_~a~0.offset)} is VALID [2020-07-17 22:48:49,048 INFO L280 TraceCheckUtils]: 9: Hoare triple {755#(= 0 main_~a~0.offset)} assume !!(~i~0 < ~SIZE~0);assume -2147483648 <= #t~nondet3 && #t~nondet3 <= 2147483647;call write~int(#t~nondet3, ~a~0.base, ~a~0.offset + 4 * ~i~0, 4);havoc #t~nondet3; {755#(= 0 main_~a~0.offset)} is VALID [2020-07-17 22:48:49,049 INFO L280 TraceCheckUtils]: 10: Hoare triple {755#(= 0 main_~a~0.offset)} #t~post2 := ~i~0;~i~0 := 1 + #t~post2;havoc #t~post2; {755#(= 0 main_~a~0.offset)} is VALID [2020-07-17 22:48:49,050 INFO L280 TraceCheckUtils]: 11: Hoare triple {755#(= 0 main_~a~0.offset)} assume !(~i~0 < ~SIZE~0); {755#(= 0 main_~a~0.offset)} is VALID [2020-07-17 22:48:49,050 INFO L280 TraceCheckUtils]: 12: Hoare triple {755#(= 0 main_~a~0.offset)} assume !(0 != (if ~SIZE~0 < 0 && 0 != ~SIZE~0 % 2 then ~SIZE~0 % 2 - 2 else ~SIZE~0 % 2)); {755#(= 0 main_~a~0.offset)} is VALID [2020-07-17 22:48:49,051 INFO L263 TraceCheckUtils]: 13: Hoare triple {755#(= 0 main_~a~0.offset)} call assume_abort_if_not((if 0 == (if ~SIZE~0 < 0 && 0 != ~SIZE~0 % 2 then ~SIZE~0 % 2 - 2 else ~SIZE~0 % 2) then 1 else 0)); {750#true} is VALID [2020-07-17 22:48:49,051 INFO L280 TraceCheckUtils]: 14: Hoare triple {750#true} ~cond := #in~cond; {750#true} is VALID [2020-07-17 22:48:49,051 INFO L280 TraceCheckUtils]: 15: Hoare triple {750#true} assume !(0 == ~cond); {750#true} is VALID [2020-07-17 22:48:49,051 INFO L280 TraceCheckUtils]: 16: Hoare triple {750#true} assume true; {750#true} is VALID [2020-07-17 22:48:49,052 INFO L275 TraceCheckUtils]: 17: Hoare quadruple {750#true} {755#(= 0 main_~a~0.offset)} #94#return; {755#(= 0 main_~a~0.offset)} is VALID [2020-07-17 22:48:49,053 INFO L280 TraceCheckUtils]: 18: Hoare triple {755#(= 0 main_~a~0.offset)} ~i~0 := 1; {760#(and (= 1 main_~i~0) (= 0 main_~a~0.offset))} is VALID [2020-07-17 22:48:49,054 INFO L280 TraceCheckUtils]: 19: Hoare triple {760#(and (= 1 main_~i~0) (= 0 main_~a~0.offset))} assume !!(~i~0 <= (if ~SIZE~0 < 0 && 0 != ~SIZE~0 % 2 then 1 + ~SIZE~0 / 2 else ~SIZE~0 / 2));call #t~mem5 := read~int(~a~0.base, ~a~0.offset + 4 * (2 * ~i~0 - 2), 4); {760#(and (= 1 main_~i~0) (= 0 main_~a~0.offset))} is VALID [2020-07-17 22:48:49,056 INFO L280 TraceCheckUtils]: 20: Hoare triple {760#(and (= 1 main_~i~0) (= 0 main_~a~0.offset))} assume #t~mem5 > ~i~0;havoc #t~mem5;call write~int(2 * ~i~0 - 2, ~a~0.base, ~a~0.offset + 4 * (2 * ~i~0 - 2), 4); {761#(and (= 1 main_~i~0) (= 0 main_~a~0.offset) (= (+ (select (store (select |#memory_int| main_~a~0.base) (+ (* main_~i~0 8) main_~a~0.offset (- 4)) (+ (* main_~i~0 2) (- 1))) (+ (* main_~i~0 8) main_~a~0.offset (- 8))) 2) (* 2 main_~i~0)))} is VALID [2020-07-17 22:48:49,059 INFO L280 TraceCheckUtils]: 21: Hoare triple {761#(and (= 1 main_~i~0) (= 0 main_~a~0.offset) (= (+ (select (store (select |#memory_int| main_~a~0.base) (+ (* main_~i~0 8) main_~a~0.offset (- 4)) (+ (* main_~i~0 2) (- 1))) (+ (* main_~i~0 8) main_~a~0.offset (- 8))) 2) (* 2 main_~i~0)))} call #t~mem6 := read~int(~a~0.base, ~a~0.offset + 4 * (2 * ~i~0 - 1), 4); {761#(and (= 1 main_~i~0) (= 0 main_~a~0.offset) (= (+ (select (store (select |#memory_int| main_~a~0.base) (+ (* main_~i~0 8) main_~a~0.offset (- 4)) (+ (* main_~i~0 2) (- 1))) (+ (* main_~i~0 8) main_~a~0.offset (- 8))) 2) (* 2 main_~i~0)))} is VALID [2020-07-17 22:48:49,061 INFO L280 TraceCheckUtils]: 22: Hoare triple {761#(and (= 1 main_~i~0) (= 0 main_~a~0.offset) (= (+ (select (store (select |#memory_int| main_~a~0.base) (+ (* main_~i~0 8) main_~a~0.offset (- 4)) (+ (* main_~i~0 2) (- 1))) (+ (* main_~i~0 8) main_~a~0.offset (- 8))) 2) (* 2 main_~i~0)))} assume #t~mem6 > ~i~0;havoc #t~mem6;call write~int(2 * ~i~0 - 1, ~a~0.base, ~a~0.offset + 4 * (2 * ~i~0 - 1), 4); {762#(and (<= (select (select |#memory_int| main_~a~0.base) 0) 0) (= 0 main_~a~0.offset))} is VALID [2020-07-17 22:48:49,062 INFO L280 TraceCheckUtils]: 23: Hoare triple {762#(and (<= (select (select |#memory_int| main_~a~0.base) 0) 0) (= 0 main_~a~0.offset))} #t~post4 := ~i~0;~i~0 := 1 + #t~post4;havoc #t~post4; {762#(and (<= (select (select |#memory_int| main_~a~0.base) 0) 0) (= 0 main_~a~0.offset))} is VALID [2020-07-17 22:48:49,064 INFO L280 TraceCheckUtils]: 24: Hoare triple {762#(and (<= (select (select |#memory_int| main_~a~0.base) 0) 0) (= 0 main_~a~0.offset))} assume !(~i~0 <= (if ~SIZE~0 < 0 && 0 != ~SIZE~0 % 2 then 1 + ~SIZE~0 / 2 else ~SIZE~0 / 2)); {762#(and (<= (select (select |#memory_int| main_~a~0.base) 0) 0) (= 0 main_~a~0.offset))} is VALID [2020-07-17 22:48:49,065 INFO L280 TraceCheckUtils]: 25: Hoare triple {762#(and (<= (select (select |#memory_int| main_~a~0.base) 0) 0) (= 0 main_~a~0.offset))} ~i~0 := 0; {763#(and (<= (select (select |#memory_int| main_~a~0.base) (+ (* main_~i~0 4) main_~a~0.offset)) 0) (= 0 main_~a~0.offset) (= 0 main_~i~0))} is VALID [2020-07-17 22:48:49,065 INFO L280 TraceCheckUtils]: 26: Hoare triple {763#(and (<= (select (select |#memory_int| main_~a~0.base) (+ (* main_~i~0 4) main_~a~0.offset)) 0) (= 0 main_~a~0.offset) (= 0 main_~i~0))} assume !!(~i~0 < ~SIZE~0);call #t~mem8 := read~int(~a~0.base, ~a~0.offset + 4 * ~i~0, 4); {764#(and (<= |main_#t~mem8| 0) (= 0 main_~i~0))} is VALID [2020-07-17 22:48:49,067 INFO L263 TraceCheckUtils]: 27: Hoare triple {764#(and (<= |main_#t~mem8| 0) (= 0 main_~i~0))} call __VERIFIER_assert((if #t~mem8 <= ~i~0 then 1 else 0)); {765#(not (= 0 |__VERIFIER_assert_#in~cond|))} is VALID [2020-07-17 22:48:49,067 INFO L280 TraceCheckUtils]: 28: Hoare triple {765#(not (= 0 |__VERIFIER_assert_#in~cond|))} ~cond := #in~cond; {766#(not (= 0 __VERIFIER_assert_~cond))} is VALID [2020-07-17 22:48:49,068 INFO L280 TraceCheckUtils]: 29: Hoare triple {766#(not (= 0 __VERIFIER_assert_~cond))} assume 0 == ~cond; {751#false} is VALID [2020-07-17 22:48:49,068 INFO L280 TraceCheckUtils]: 30: Hoare triple {751#false} assume !false; {751#false} is VALID [2020-07-17 22:48:49,071 INFO L134 CoverageAnalysis]: Checked inductivity of 5 backedges. 0 proven. 1 refuted. 0 times theorem prover too weak. 4 trivial. 0 not checked. [2020-07-17 22:48:49,071 INFO L354 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleSmtInterpolCraig [1509183024] [2020-07-17 22:48:49,072 INFO L354 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleZ3 [1275897531] [2020-07-17 22:48:49,072 INFO L94 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 Starting monitored process 3 with z3 -smt2 -in SMTLIB2_COMPLIANT=true (exit command is (exit), workingDir is null) Waiting until toolchain timeout for monitored process 3 with z3 -smt2 -in SMTLIB2_COMPLIANT=true [2020-07-17 22:48:49,127 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2020-07-17 22:48:49,128 INFO L264 TraceCheckSpWp]: Trace formula consists of 116 conjuncts, 10 conjunts are in the unsatisfiable core [2020-07-17 22:48:49,144 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2020-07-17 22:48:49,147 INFO L287 TraceCheckSpWp]: Computing forward predicates... [2020-07-17 22:48:49,307 INFO L384 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 2, 1 stores, 0 select indices, 0 select index equivalence classes, 0 disjoint index pairs (out of 0 index pairs), introduced 0 new quantified variables, introduced 0 case distinctions, treesize of input 20 treesize of output 16 [2020-07-17 22:48:49,308 INFO L544 ElimStorePlain]: Start of recursive call 2: End of recursive call: and 1 xjuncts. [2020-07-17 22:48:49,318 INFO L624 ElimStorePlain]: treesize reduction 0, result has 100.0 percent of original size [2020-07-17 22:48:49,319 INFO L544 ElimStorePlain]: Start of recursive call 1: 1 dim-2 vars, End of recursive call: and 1 xjuncts. [2020-07-17 22:48:49,319 INFO L244 ElimStorePlain]: Needed 2 recursive calls to eliminate 1 variables, input treesize:24, output treesize:20 [2020-07-17 22:48:49,401 INFO L350 Elim1Store]: treesize reduction 21, result has 25.0 percent of original size [2020-07-17 22:48:49,402 INFO L384 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 1 case distinctions, treesize of input 23 treesize of output 22 [2020-07-17 22:48:49,408 INFO L544 ElimStorePlain]: Start of recursive call 2: End of recursive call: and 1 xjuncts. [2020-07-17 22:48:49,416 INFO L624 ElimStorePlain]: treesize reduction 0, result has 100.0 percent of original size [2020-07-17 22:48:49,417 INFO L544 ElimStorePlain]: Start of recursive call 1: 1 dim-2 vars, End of recursive call: and 1 xjuncts. [2020-07-17 22:48:49,418 INFO L244 ElimStorePlain]: Needed 2 recursive calls to eliminate 1 variables, input treesize:23, output treesize:17 [2020-07-17 22:48:49,551 INFO L350 Elim1Store]: treesize reduction 10, result has 73.0 percent of original size [2020-07-17 22:48:49,552 INFO L384 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 2, 0 stores, 3 select indices, 3 select index equivalence classes, 0 disjoint index pairs (out of 3 index pairs), introduced 3 new quantified variables, introduced 3 case distinctions, treesize of input 28 treesize of output 36 [2020-07-17 22:48:49,561 INFO L501 QuantifierPusher]: Distributing 2 conjuncts over 3 disjuncts [2020-07-17 22:48:49,568 INFO L501 QuantifierPusher]: Distributing 2 conjuncts over 2 disjuncts [2020-07-17 22:48:49,590 INFO L544 ElimStorePlain]: Start of recursive call 2: End of recursive call: and 2 xjuncts. [2020-07-17 22:48:49,612 INFO L624 ElimStorePlain]: treesize reduction 31, result has 18.4 percent of original size [2020-07-17 22:48:49,613 INFO L544 ElimStorePlain]: Start of recursive call 1: 2 dim-0 vars, 1 dim-2 vars, End of recursive call: and 1 xjuncts. [2020-07-17 22:48:49,613 INFO L244 ElimStorePlain]: Needed 2 recursive calls to eliminate 3 variables, input treesize:31, output treesize:7 [2020-07-17 22:48:49,619 WARN L406 uantifierElimination]: Trying to double check SDD result, but SMT solver's response was UNKNOWN. [2020-07-17 22:48:49,620 WARN L407 uantifierElimination]: Input elimination task: ∃ [|#memory_int|, main_~a~0.base, main_~a~0.offset]. (let ((.cse0 (select |#memory_int| main_~a~0.base))) (and (= 1 (select .cse0 (+ main_~a~0.offset 4))) (<= |main_#t~mem8| (select .cse0 (+ (* main_~i~0 4) main_~a~0.offset))) (= 0 (select .cse0 main_~a~0.offset)) (= 0 main_~i~0))) [2020-07-17 22:48:49,621 WARN L408 uantifierElimination]: ElimStorePlain result: ∃ []. (and (<= |main_#t~mem8| 0) (= 0 main_~i~0)) [2020-07-17 22:48:49,651 INFO L501 QuantifierPusher]: Distributing 2 conjuncts over 2 disjuncts [2020-07-17 22:48:49,736 INFO L263 TraceCheckUtils]: 0: Hoare triple {750#true} call ULTIMATE.init(); {750#true} is VALID [2020-07-17 22:48:49,737 INFO L280 TraceCheckUtils]: 1: Hoare triple {750#true} #NULL.base, #NULL.offset := 0, 0;#valid := #valid[0 := 0];assume 0 < #StackHeapBarrier;~SIZE~0 := 0;~MAX~0 := 100000; {750#true} is VALID [2020-07-17 22:48:49,737 INFO L280 TraceCheckUtils]: 2: Hoare triple {750#true} assume true; {750#true} is VALID [2020-07-17 22:48:49,738 INFO L275 TraceCheckUtils]: 3: Hoare quadruple {750#true} {750#true} #98#return; {750#true} is VALID [2020-07-17 22:48:49,738 INFO L263 TraceCheckUtils]: 4: Hoare triple {750#true} call #t~ret9 := main(); {750#true} is VALID [2020-07-17 22:48:49,739 INFO L280 TraceCheckUtils]: 5: Hoare triple {750#true} assume -2147483648 <= #t~nondet0 && #t~nondet0 <= 2147483647;~SIZE~0 := #t~nondet0;havoc #t~nondet0; {750#true} is VALID [2020-07-17 22:48:49,739 INFO L280 TraceCheckUtils]: 6: Hoare triple {750#true} assume ~SIZE~0 > 1 && ~SIZE~0 < ~MAX~0;havoc ~i~0;call #t~malloc1.base, #t~malloc1.offset := #Ultimate.allocOnHeap(4 * ~SIZE~0);~a~0.base, ~a~0.offset := #t~malloc1.base, #t~malloc1.offset;~i~0 := 0; {750#true} is VALID [2020-07-17 22:48:49,739 INFO L280 TraceCheckUtils]: 7: Hoare triple {750#true} assume !!(~i~0 < ~SIZE~0);assume -2147483648 <= #t~nondet3 && #t~nondet3 <= 2147483647;call write~int(#t~nondet3, ~a~0.base, ~a~0.offset + 4 * ~i~0, 4);havoc #t~nondet3; {750#true} is VALID [2020-07-17 22:48:49,740 INFO L280 TraceCheckUtils]: 8: Hoare triple {750#true} #t~post2 := ~i~0;~i~0 := 1 + #t~post2;havoc #t~post2; {750#true} is VALID [2020-07-17 22:48:49,740 INFO L280 TraceCheckUtils]: 9: Hoare triple {750#true} assume !!(~i~0 < ~SIZE~0);assume -2147483648 <= #t~nondet3 && #t~nondet3 <= 2147483647;call write~int(#t~nondet3, ~a~0.base, ~a~0.offset + 4 * ~i~0, 4);havoc #t~nondet3; {750#true} is VALID [2020-07-17 22:48:49,740 INFO L280 TraceCheckUtils]: 10: Hoare triple {750#true} #t~post2 := ~i~0;~i~0 := 1 + #t~post2;havoc #t~post2; {750#true} is VALID [2020-07-17 22:48:49,746 INFO L280 TraceCheckUtils]: 11: Hoare triple {750#true} assume !(~i~0 < ~SIZE~0); {750#true} is VALID [2020-07-17 22:48:49,746 INFO L280 TraceCheckUtils]: 12: Hoare triple {750#true} assume !(0 != (if ~SIZE~0 < 0 && 0 != ~SIZE~0 % 2 then ~SIZE~0 % 2 - 2 else ~SIZE~0 % 2)); {750#true} is VALID [2020-07-17 22:48:49,747 INFO L263 TraceCheckUtils]: 13: Hoare triple {750#true} call assume_abort_if_not((if 0 == (if ~SIZE~0 < 0 && 0 != ~SIZE~0 % 2 then ~SIZE~0 % 2 - 2 else ~SIZE~0 % 2) then 1 else 0)); {750#true} is VALID [2020-07-17 22:48:49,747 INFO L280 TraceCheckUtils]: 14: Hoare triple {750#true} ~cond := #in~cond; {750#true} is VALID [2020-07-17 22:48:49,747 INFO L280 TraceCheckUtils]: 15: Hoare triple {750#true} assume !(0 == ~cond); {750#true} is VALID [2020-07-17 22:48:49,748 INFO L280 TraceCheckUtils]: 16: Hoare triple {750#true} assume true; {750#true} is VALID [2020-07-17 22:48:49,748 INFO L275 TraceCheckUtils]: 17: Hoare quadruple {750#true} {750#true} #94#return; {750#true} is VALID [2020-07-17 22:48:49,760 INFO L280 TraceCheckUtils]: 18: Hoare triple {750#true} ~i~0 := 1; {825#(= 1 main_~i~0)} is VALID [2020-07-17 22:48:49,761 INFO L280 TraceCheckUtils]: 19: Hoare triple {825#(= 1 main_~i~0)} assume !!(~i~0 <= (if ~SIZE~0 < 0 && 0 != ~SIZE~0 % 2 then 1 + ~SIZE~0 / 2 else ~SIZE~0 / 2));call #t~mem5 := read~int(~a~0.base, ~a~0.offset + 4 * (2 * ~i~0 - 2), 4); {825#(= 1 main_~i~0)} is VALID [2020-07-17 22:48:49,763 INFO L280 TraceCheckUtils]: 20: Hoare triple {825#(= 1 main_~i~0)} assume #t~mem5 > ~i~0;havoc #t~mem5;call write~int(2 * ~i~0 - 2, ~a~0.base, ~a~0.offset + 4 * (2 * ~i~0 - 2), 4); {832#(and (= 1 main_~i~0) (= (* 2 main_~i~0) (+ (select (select |#memory_int| main_~a~0.base) (+ (* main_~i~0 8) main_~a~0.offset (- 8))) 2)))} is VALID [2020-07-17 22:48:49,766 INFO L280 TraceCheckUtils]: 21: Hoare triple {832#(and (= 1 main_~i~0) (= (* 2 main_~i~0) (+ (select (select |#memory_int| main_~a~0.base) (+ (* main_~i~0 8) main_~a~0.offset (- 8))) 2)))} call #t~mem6 := read~int(~a~0.base, ~a~0.offset + 4 * (2 * ~i~0 - 1), 4); {832#(and (= 1 main_~i~0) (= (* 2 main_~i~0) (+ (select (select |#memory_int| main_~a~0.base) (+ (* main_~i~0 8) main_~a~0.offset (- 8))) 2)))} is VALID [2020-07-17 22:48:49,768 INFO L280 TraceCheckUtils]: 22: Hoare triple {832#(and (= 1 main_~i~0) (= (* 2 main_~i~0) (+ (select (select |#memory_int| main_~a~0.base) (+ (* main_~i~0 8) main_~a~0.offset (- 8))) 2)))} assume #t~mem6 > ~i~0;havoc #t~mem6;call write~int(2 * ~i~0 - 1, ~a~0.base, ~a~0.offset + 4 * (2 * ~i~0 - 1), 4); {839#(and (= 1 (select (select |#memory_int| main_~a~0.base) (+ main_~a~0.offset 4))) (= 0 (select (select |#memory_int| main_~a~0.base) main_~a~0.offset)))} is VALID [2020-07-17 22:48:49,770 INFO L280 TraceCheckUtils]: 23: Hoare triple {839#(and (= 1 (select (select |#memory_int| main_~a~0.base) (+ main_~a~0.offset 4))) (= 0 (select (select |#memory_int| main_~a~0.base) main_~a~0.offset)))} #t~post4 := ~i~0;~i~0 := 1 + #t~post4;havoc #t~post4; {839#(and (= 1 (select (select |#memory_int| main_~a~0.base) (+ main_~a~0.offset 4))) (= 0 (select (select |#memory_int| main_~a~0.base) main_~a~0.offset)))} is VALID [2020-07-17 22:48:49,772 INFO L280 TraceCheckUtils]: 24: Hoare triple {839#(and (= 1 (select (select |#memory_int| main_~a~0.base) (+ main_~a~0.offset 4))) (= 0 (select (select |#memory_int| main_~a~0.base) main_~a~0.offset)))} assume !(~i~0 <= (if ~SIZE~0 < 0 && 0 != ~SIZE~0 % 2 then 1 + ~SIZE~0 / 2 else ~SIZE~0 / 2)); {839#(and (= 1 (select (select |#memory_int| main_~a~0.base) (+ main_~a~0.offset 4))) (= 0 (select (select |#memory_int| main_~a~0.base) main_~a~0.offset)))} is VALID [2020-07-17 22:48:49,774 INFO L280 TraceCheckUtils]: 25: Hoare triple {839#(and (= 1 (select (select |#memory_int| main_~a~0.base) (+ main_~a~0.offset 4))) (= 0 (select (select |#memory_int| main_~a~0.base) main_~a~0.offset)))} ~i~0 := 0; {849#(and (= 1 (select (select |#memory_int| main_~a~0.base) (+ main_~a~0.offset 4))) (= 0 (select (select |#memory_int| main_~a~0.base) main_~a~0.offset)) (= 0 main_~i~0))} is VALID [2020-07-17 22:48:49,776 INFO L280 TraceCheckUtils]: 26: Hoare triple {849#(and (= 1 (select (select |#memory_int| main_~a~0.base) (+ main_~a~0.offset 4))) (= 0 (select (select |#memory_int| main_~a~0.base) main_~a~0.offset)) (= 0 main_~i~0))} assume !!(~i~0 < ~SIZE~0);call #t~mem8 := read~int(~a~0.base, ~a~0.offset + 4 * ~i~0, 4); {764#(and (<= |main_#t~mem8| 0) (= 0 main_~i~0))} is VALID [2020-07-17 22:48:49,778 INFO L263 TraceCheckUtils]: 27: Hoare triple {764#(and (<= |main_#t~mem8| 0) (= 0 main_~i~0))} call __VERIFIER_assert((if #t~mem8 <= ~i~0 then 1 else 0)); {856#(<= 1 |__VERIFIER_assert_#in~cond|)} is VALID [2020-07-17 22:48:49,779 INFO L280 TraceCheckUtils]: 28: Hoare triple {856#(<= 1 |__VERIFIER_assert_#in~cond|)} ~cond := #in~cond; {860#(<= 1 __VERIFIER_assert_~cond)} is VALID [2020-07-17 22:48:49,780 INFO L280 TraceCheckUtils]: 29: Hoare triple {860#(<= 1 __VERIFIER_assert_~cond)} assume 0 == ~cond; {751#false} is VALID [2020-07-17 22:48:49,780 INFO L280 TraceCheckUtils]: 30: Hoare triple {751#false} assume !false; {751#false} is VALID [2020-07-17 22:48:49,783 INFO L134 CoverageAnalysis]: Checked inductivity of 5 backedges. 0 proven. 1 refuted. 0 times theorem prover too weak. 4 trivial. 0 not checked. [2020-07-17 22:48:49,784 INFO L220 FreeRefinementEngine]: Constructing automaton from 0 perfect and 2 imperfect interpolant sequences. [2020-07-17 22:48:49,784 INFO L233 FreeRefinementEngine]: Number of different interpolants: perfect sequences [] imperfect sequences [11, 9] total 17 [2020-07-17 22:48:49,784 INFO L156 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [72495512] [2020-07-17 22:48:49,785 INFO L78 Accepts]: Start accepts. Automaton has 17 states. Word has length 31 [2020-07-17 22:48:49,786 INFO L84 Accepts]: Finished accepts. word is accepted. [2020-07-17 22:48:49,787 INFO L86 InductivityCheck]: Starting indutivity check of a Floyd-Hoare automaton with 17 states. [2020-07-17 22:48:49,894 INFO L119 InductivityCheck]: Floyd-Hoare automaton has 50 edges. 50 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2020-07-17 22:48:49,895 INFO L459 AbstractCegarLoop]: Interpolant automaton has 17 states [2020-07-17 22:48:49,895 INFO L143 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy CAMEL [2020-07-17 22:48:49,895 INFO L142 InterpolantAutomaton]: Constructing interpolant automaton starting with 17 interpolants. [2020-07-17 22:48:49,896 INFO L144 InterpolantAutomaton]: CoverageRelationStatistics Valid=45, Invalid=227, Unknown=0, NotChecked=0, Total=272 [2020-07-17 22:48:49,896 INFO L87 Difference]: Start difference. First operand 36 states and 40 transitions. Second operand 17 states. [2020-07-17 22:48:52,753 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2020-07-17 22:48:52,754 INFO L93 Difference]: Finished difference Result 86 states and 104 transitions. [2020-07-17 22:48:52,754 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 17 states. [2020-07-17 22:48:52,755 INFO L78 Accepts]: Start accepts. Automaton has 17 states. Word has length 31 [2020-07-17 22:48:52,755 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2020-07-17 22:48:52,755 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 17 states. [2020-07-17 22:48:52,761 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 17 states to 17 states and 101 transitions. [2020-07-17 22:48:52,761 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 17 states. [2020-07-17 22:48:52,766 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 17 states to 17 states and 101 transitions. [2020-07-17 22:48:52,766 INFO L86 InductivityCheck]: Starting indutivity check of a Floyd-Hoare automaton with 17 states and 101 transitions. [2020-07-17 22:48:52,961 INFO L119 InductivityCheck]: Floyd-Hoare automaton has 101 edges. 101 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2020-07-17 22:48:52,966 INFO L225 Difference]: With dead ends: 86 [2020-07-17 22:48:52,967 INFO L226 Difference]: Without dead ends: 84 [2020-07-17 22:48:52,968 INFO L675 BasicCegarLoop]: 0 DeclaredPredicates, 53 GetRequests, 29 SyntacticMatches, 0 SemanticMatches, 24 ConstructedPredicates, 0 IntricatePredicates, 0 DeprecatedPredicates, 143 ImplicationChecksByTransitivity, 0.6s TimeCoverageRelationStatistics Valid=111, Invalid=539, Unknown=0, NotChecked=0, Total=650 [2020-07-17 22:48:52,969 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 84 states. [2020-07-17 22:48:53,046 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 84 to 49. [2020-07-17 22:48:53,047 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2020-07-17 22:48:53,048 INFO L82 GeneralOperation]: Start isEquivalent. First operand 84 states. Second operand 49 states. [2020-07-17 22:48:53,048 INFO L74 IsIncluded]: Start isIncluded. First operand 84 states. Second operand 49 states. [2020-07-17 22:48:53,048 INFO L87 Difference]: Start difference. First operand 84 states. Second operand 49 states. [2020-07-17 22:48:53,055 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2020-07-17 22:48:53,056 INFO L93 Difference]: Finished difference Result 84 states and 102 transitions. [2020-07-17 22:48:53,056 INFO L276 IsEmpty]: Start isEmpty. Operand 84 states and 102 transitions. [2020-07-17 22:48:53,058 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2020-07-17 22:48:53,058 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2020-07-17 22:48:53,058 INFO L74 IsIncluded]: Start isIncluded. First operand 49 states. Second operand 84 states. [2020-07-17 22:48:53,059 INFO L87 Difference]: Start difference. First operand 49 states. Second operand 84 states. [2020-07-17 22:48:53,064 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2020-07-17 22:48:53,065 INFO L93 Difference]: Finished difference Result 84 states and 102 transitions. [2020-07-17 22:48:53,065 INFO L276 IsEmpty]: Start isEmpty. Operand 84 states and 102 transitions. [2020-07-17 22:48:53,067 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2020-07-17 22:48:53,067 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2020-07-17 22:48:53,068 INFO L88 GeneralOperation]: Finished isEquivalent. [2020-07-17 22:48:53,068 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2020-07-17 22:48:53,068 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 49 states. [2020-07-17 22:48:53,071 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 49 states to 49 states and 57 transitions. [2020-07-17 22:48:53,071 INFO L78 Accepts]: Start accepts. Automaton has 49 states and 57 transitions. Word has length 31 [2020-07-17 22:48:53,072 INFO L84 Accepts]: Finished accepts. word is rejected. [2020-07-17 22:48:53,072 INFO L479 AbstractCegarLoop]: Abstraction has 49 states and 57 transitions. [2020-07-17 22:48:53,072 INFO L480 AbstractCegarLoop]: Interpolant automaton has 17 states. [2020-07-17 22:48:53,072 INFO L276 IsEmpty]: Start isEmpty. Operand 49 states and 57 transitions. [2020-07-17 22:48:53,073 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 32 [2020-07-17 22:48:53,074 INFO L414 BasicCegarLoop]: Found error trace [2020-07-17 22:48:53,074 INFO L422 BasicCegarLoop]: trace histogram [2, 2, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1] [2020-07-17 22:48:53,288 WARN L516 AbstractCegarLoop]: Destroyed unattended storables created during the last iteration: SelfDestructingSolverStorable3,3 z3 -smt2 -in SMTLIB2_COMPLIANT=true [2020-07-17 22:48:53,288 INFO L427 AbstractCegarLoop]: === Iteration 5 === [__VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION]=== [2020-07-17 22:48:53,289 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2020-07-17 22:48:53,289 INFO L82 PathProgramCache]: Analyzing trace with hash -8765042, now seen corresponding path program 1 times [2020-07-17 22:48:53,289 INFO L163 FreeRefinementEngine]: Executing refinement strategy CAMEL [2020-07-17 22:48:53,290 INFO L354 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [1760086124] [2020-07-17 22:48:53,290 INFO L94 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2020-07-17 22:48:53,343 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is sat [2020-07-17 22:48:53,381 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is sat [2020-07-17 22:48:53,433 INFO L174 FreeRefinementEngine]: Strategy CAMEL found a feasible trace [2020-07-17 22:48:53,434 INFO L520 BasicCegarLoop]: Counterexample might be feasible [2020-07-17 22:48:53,435 WARN L516 AbstractCegarLoop]: Destroyed unattended storables created during the last iteration: SelfDestructingSolverStorable4 [2020-07-17 22:48:53,526 WARN L170 areAnnotationChecker]: ULTIMATE.initENTRY has no Hoare annotation [2020-07-17 22:48:53,526 WARN L170 areAnnotationChecker]: ULTIMATE.startENTRY has no Hoare annotation [2020-07-17 22:48:53,526 WARN L170 areAnnotationChecker]: ULTIMATE.startENTRY has no Hoare annotation [2020-07-17 22:48:53,526 WARN L170 areAnnotationChecker]: assume_abort_if_notENTRY has no Hoare annotation [2020-07-17 22:48:53,526 WARN L170 areAnnotationChecker]: mainENTRY has no Hoare annotation [2020-07-17 22:48:53,527 WARN L170 areAnnotationChecker]: __VERIFIER_assertENTRY has no Hoare annotation [2020-07-17 22:48:53,527 WARN L170 areAnnotationChecker]: ULTIMATE.initFINAL has no Hoare annotation [2020-07-17 22:48:53,527 WARN L170 areAnnotationChecker]: L-1 has no Hoare annotation [2020-07-17 22:48:53,527 WARN L170 areAnnotationChecker]: L-1 has no Hoare annotation [2020-07-17 22:48:53,527 WARN L170 areAnnotationChecker]: L4 has no Hoare annotation [2020-07-17 22:48:53,527 WARN L170 areAnnotationChecker]: L4 has no Hoare annotation [2020-07-17 22:48:53,527 WARN L170 areAnnotationChecker]: L17 has no Hoare annotation [2020-07-17 22:48:53,527 WARN L170 areAnnotationChecker]: L17 has no Hoare annotation [2020-07-17 22:48:53,528 WARN L170 areAnnotationChecker]: L6 has no Hoare annotation [2020-07-17 22:48:53,528 WARN L170 areAnnotationChecker]: L6 has no Hoare annotation [2020-07-17 22:48:53,528 WARN L170 areAnnotationChecker]: ULTIMATE.initEXIT has no Hoare annotation [2020-07-17 22:48:53,528 WARN L170 areAnnotationChecker]: ULTIMATE.startFINAL has no Hoare annotation [2020-07-17 22:48:53,528 WARN L170 areAnnotationChecker]: L4-2 has no Hoare annotation [2020-07-17 22:48:53,528 WARN L170 areAnnotationChecker]: L22-3 has no Hoare annotation [2020-07-17 22:48:53,529 WARN L170 areAnnotationChecker]: L22-3 has no Hoare annotation [2020-07-17 22:48:53,529 WARN L170 areAnnotationChecker]: L22-3 has no Hoare annotation [2020-07-17 22:48:53,529 WARN L170 areAnnotationChecker]: L17-1 has no Hoare annotation [2020-07-17 22:48:53,529 WARN L170 areAnnotationChecker]: L6-1 has no Hoare annotation [2020-07-17 22:48:53,529 WARN L170 areAnnotationChecker]: L6-1 has no Hoare annotation [2020-07-17 22:48:53,529 WARN L170 areAnnotationChecker]: L6-3 has no Hoare annotation [2020-07-17 22:48:53,529 WARN L170 areAnnotationChecker]: assume_abort_if_notEXIT has no Hoare annotation [2020-07-17 22:48:53,530 WARN L170 areAnnotationChecker]: L22-4 has no Hoare annotation [2020-07-17 22:48:53,530 WARN L170 areAnnotationChecker]: L22-4 has no Hoare annotation [2020-07-17 22:48:53,530 WARN L170 areAnnotationChecker]: L22-2 has no Hoare annotation [2020-07-17 22:48:53,530 WARN L170 areAnnotationChecker]: mainFINAL has no Hoare annotation [2020-07-17 22:48:53,530 WARN L170 areAnnotationChecker]: __VERIFIER_assertEXIT has no Hoare annotation [2020-07-17 22:48:53,530 WARN L170 areAnnotationChecker]: L29-1 has no Hoare annotation [2020-07-17 22:48:53,530 WARN L170 areAnnotationChecker]: L29 has no Hoare annotation [2020-07-17 22:48:53,531 WARN L170 areAnnotationChecker]: L29 has no Hoare annotation [2020-07-17 22:48:53,531 WARN L170 areAnnotationChecker]: mainEXIT has no Hoare annotation [2020-07-17 22:48:53,531 WARN L170 areAnnotationChecker]: L44-1 has no Hoare annotation [2020-07-17 22:48:53,531 WARN L170 areAnnotationChecker]: L30-3 has no Hoare annotation [2020-07-17 22:48:53,531 WARN L170 areAnnotationChecker]: L30-3 has no Hoare annotation [2020-07-17 22:48:53,531 WARN L170 areAnnotationChecker]: L30-3 has no Hoare annotation [2020-07-17 22:48:53,531 WARN L170 areAnnotationChecker]: L42-2 has no Hoare annotation [2020-07-17 22:48:53,532 WARN L170 areAnnotationChecker]: L30-4 has no Hoare annotation [2020-07-17 22:48:53,532 WARN L170 areAnnotationChecker]: L32 has no Hoare annotation [2020-07-17 22:48:53,532 WARN L170 areAnnotationChecker]: L32 has no Hoare annotation [2020-07-17 22:48:53,532 WARN L170 areAnnotationChecker]: L42-3 has no Hoare annotation [2020-07-17 22:48:53,532 WARN L170 areAnnotationChecker]: L42-3 has no Hoare annotation [2020-07-17 22:48:53,532 WARN L170 areAnnotationChecker]: L42-3 has no Hoare annotation [2020-07-17 22:48:53,532 WARN L170 areAnnotationChecker]: L32-2 has no Hoare annotation [2020-07-17 22:48:53,532 WARN L170 areAnnotationChecker]: L44 has no Hoare annotation [2020-07-17 22:48:53,532 WARN L170 areAnnotationChecker]: L44 has no Hoare annotation [2020-07-17 22:48:53,532 WARN L170 areAnnotationChecker]: L36 has no Hoare annotation [2020-07-17 22:48:53,533 WARN L170 areAnnotationChecker]: L36 has no Hoare annotation [2020-07-17 22:48:53,533 WARN L170 areAnnotationChecker]: L30-2 has no Hoare annotation [2020-07-17 22:48:53,533 INFO L163 areAnnotationChecker]: CFG has 0 edges. 0 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. 0 times interpolants missing. [2020-07-17 22:48:53,536 INFO L202 PluginConnector]: Adding new model de.uni_freiburg.informatik.ultimate.plugins.generator.traceabstraction CFG 17.07 10:48:53 BoogieIcfgContainer [2020-07-17 22:48:53,536 INFO L132 PluginConnector]: ------------------------ END TraceAbstraction---------------------------- [2020-07-17 22:48:53,539 INFO L168 Benchmark]: Toolchain (without parser) took 9509.09 ms. Allocated memory was 135.8 MB in the beginning and 302.0 MB in the end (delta: 166.2 MB). Free memory was 100.7 MB in the beginning and 140.4 MB in the end (delta: -39.7 MB). Peak memory consumption was 126.5 MB. Max. memory is 7.1 GB. [2020-07-17 22:48:53,540 INFO L168 Benchmark]: CDTParser took 0.22 ms. Allocated memory is still 135.8 MB. Free memory was 118.9 MB in the beginning and 118.7 MB in the end (delta: 210.1 kB). Peak memory consumption was 210.1 kB. Max. memory is 7.1 GB. [2020-07-17 22:48:53,541 INFO L168 Benchmark]: CACSL2BoogieTranslator took 287.40 ms. Allocated memory is still 135.8 MB. Free memory was 100.2 MB in the beginning and 89.3 MB in the end (delta: 11.0 MB). Peak memory consumption was 11.0 MB. Max. memory is 7.1 GB. [2020-07-17 22:48:53,542 INFO L168 Benchmark]: Boogie Preprocessor took 158.59 ms. Allocated memory was 135.8 MB in the beginning and 200.3 MB in the end (delta: 64.5 MB). Free memory was 89.3 MB in the beginning and 178.2 MB in the end (delta: -88.9 MB). Peak memory consumption was 14.2 MB. Max. memory is 7.1 GB. [2020-07-17 22:48:53,543 INFO L168 Benchmark]: RCFGBuilder took 650.77 ms. Allocated memory is still 200.3 MB. Free memory was 177.5 MB in the beginning and 150.3 MB in the end (delta: 27.1 MB). Peak memory consumption was 27.1 MB. Max. memory is 7.1 GB. [2020-07-17 22:48:53,544 INFO L168 Benchmark]: TraceAbstraction took 8398.40 ms. Allocated memory was 200.3 MB in the beginning and 302.0 MB in the end (delta: 101.7 MB). Free memory was 149.6 MB in the beginning and 140.4 MB in the end (delta: 9.3 MB). Peak memory consumption was 111.0 MB. Max. memory is 7.1 GB. [2020-07-17 22:48:53,548 INFO L336 ainManager$Toolchain]: ####################### End [Toolchain 1] ####################### --- Results --- * Results from de.uni_freiburg.informatik.ultimate.core: - AssertionsEnabledResult: Assertions are enabled Assertions are enabled - StatisticsResult: Toolchain Benchmarks Benchmark results are: * CDTParser took 0.22 ms. Allocated memory is still 135.8 MB. Free memory was 118.9 MB in the beginning and 118.7 MB in the end (delta: 210.1 kB). Peak memory consumption was 210.1 kB. Max. memory is 7.1 GB. * CACSL2BoogieTranslator took 287.40 ms. Allocated memory is still 135.8 MB. Free memory was 100.2 MB in the beginning and 89.3 MB in the end (delta: 11.0 MB). Peak memory consumption was 11.0 MB. Max. memory is 7.1 GB. * Boogie Preprocessor took 158.59 ms. Allocated memory was 135.8 MB in the beginning and 200.3 MB in the end (delta: 64.5 MB). Free memory was 89.3 MB in the beginning and 178.2 MB in the end (delta: -88.9 MB). Peak memory consumption was 14.2 MB. Max. memory is 7.1 GB. * RCFGBuilder took 650.77 ms. Allocated memory is still 200.3 MB. Free memory was 177.5 MB in the beginning and 150.3 MB in the end (delta: 27.1 MB). Peak memory consumption was 27.1 MB. Max. memory is 7.1 GB. * TraceAbstraction took 8398.40 ms. Allocated memory was 200.3 MB in the beginning and 302.0 MB in the end (delta: 101.7 MB). Free memory was 149.6 MB in the beginning and 140.4 MB in the end (delta: 9.3 MB). Peak memory consumption was 111.0 MB. Max. memory is 7.1 GB. * Results from de.uni_freiburg.informatik.ultimate.plugins.generator.traceabstraction: - CounterExampleResult [Line: 6]: a call of __VERIFIER_error() is reachable a call of __VERIFIER_error() is reachable We found a FailurePath: [L10] int SIZE; [L12] const int MAX = 100000; VAL [\old(MAX)=100003, \old(SIZE)=100002, MAX=100000, SIZE=0] [L16] SIZE = __VERIFIER_nondet_int() [L17] COND TRUE SIZE > 1 && SIZE < MAX [L19] int i; [L20] int *a = malloc(sizeof(int)*SIZE); [L22] i = 0 VAL [\old(SIZE)=0, a={-1:0}, i=0, malloc(sizeof(int)*SIZE)={-1:0}, MAX=100000, SIZE=2] [L22] COND TRUE i < SIZE [L24] a[i] = __VERIFIER_nondet_int() [L22] i++ VAL [\old(SIZE)=0, a={-1:0}, i=1, malloc(sizeof(int)*SIZE)={-1:0}, MAX=100000, SIZE=2] [L22] COND TRUE i < SIZE [L24] a[i] = __VERIFIER_nondet_int() [L22] i++ VAL [\old(SIZE)=0, a={-1:0}, i=2, malloc(sizeof(int)*SIZE)={-1:0}, MAX=100000, SIZE=2] [L22] COND FALSE !(i < SIZE) VAL [\old(SIZE)=0, a={-1:0}, i=2, malloc(sizeof(int)*SIZE)={-1:0}, MAX=100000, SIZE=2] [L27] COND FALSE !(SIZE % 2 != 0) VAL [\old(SIZE)=0, a={-1:0}, i=2, malloc(sizeof(int)*SIZE)={-1:0}, MAX=100000, SIZE=2] [L29] CALL assume_abort_if_not(SIZE % 2 == 0) VAL [\old(cond)=1, \old(SIZE)=0, MAX=100000, SIZE=2] [L4] COND FALSE !(!cond) VAL [\old(cond)=1, \old(SIZE)=0, cond=1, MAX=100000, SIZE=2] [L29] RET assume_abort_if_not(SIZE % 2 == 0) VAL [\old(SIZE)=0, a={-1:0}, i=2, malloc(sizeof(int)*SIZE)={-1:0}, MAX=100000, SIZE=2] [L30] i = 1 VAL [\old(SIZE)=0, a={-1:0}, i=1, malloc(sizeof(int)*SIZE)={-1:0}, MAX=100000, SIZE=2] [L30] COND TRUE i <= SIZE/2 [L32] EXPR a[2*i-2] VAL [\old(SIZE)=0, a={-1:0}, a[2*i-2]=1, i=1, malloc(sizeof(int)*SIZE)={-1:0}, MAX=100000, SIZE=2] [L32] COND FALSE !(a[2*i-2] > i) [L36] EXPR a[2*i-1] VAL [\old(SIZE)=0, a={-1:0}, a[2*i-1]=5, i=1, malloc(sizeof(int)*SIZE)={-1:0}, MAX=100000, SIZE=2] [L36] COND TRUE a[2*i-1] > i [L38] a[2*i-1] = 2*i-1 VAL [\old(SIZE)=0, a={-1:0}, i=1, malloc(sizeof(int)*SIZE)={-1:0}, MAX=100000, SIZE=2] [L30] i++ VAL [\old(SIZE)=0, a={-1:0}, i=2, malloc(sizeof(int)*SIZE)={-1:0}, MAX=100000, SIZE=2] [L30] COND FALSE !(i <= SIZE/2) VAL [\old(SIZE)=0, a={-1:0}, i=2, malloc(sizeof(int)*SIZE)={-1:0}, MAX=100000, SIZE=2] [L42] i = 0 VAL [\old(SIZE)=0, a={-1:0}, i=0, malloc(sizeof(int)*SIZE)={-1:0}, MAX=100000, SIZE=2] [L42] COND TRUE i < SIZE [L44] EXPR a[i] VAL [\old(SIZE)=0, a={-1:0}, a[i]=1, i=0, malloc(sizeof(int)*SIZE)={-1:0}, MAX=100000, SIZE=2] [L44] CALL __VERIFIER_assert( a[i] <= i ) VAL [\old(cond)=0, \old(SIZE)=0, MAX=100000, SIZE=2] [L6] COND TRUE !(cond) VAL [\old(cond)=0, \old(SIZE)=0, cond=0, MAX=100000, SIZE=2] [L6] __VERIFIER_error() VAL [\old(cond)=0, \old(SIZE)=0, cond=0, MAX=100000, SIZE=2] - StatisticsResult: Ultimate Automizer benchmark data CFG has 5 procedures, 37 locations, 1 error locations. Started 1 CEGAR loops. VerificationResult: UNSAFE, OverallTime: 8.2s, OverallIterations: 5, TraceHistogramMax: 2, AutomataDifference: 4.7s, DeadEndRemovalTime: 0.0s, HoareAnnotationTime: 0.0s, InitialAbstractionConstructionTime: 0.0s, HoareTripleCheckerStatistics: 123 SDtfs, 193 SDslu, 201 SDs, 0 SdLazy, 610 SolverSat, 76 SolverUnsat, 0 SolverUnknown, 0 SolverNotchecked, 1.4s Time, PredicateUnifierStatistics: 0 DeclaredPredicates, 103 GetRequests, 67 SyntacticMatches, 0 SemanticMatches, 36 ConstructedPredicates, 0 IntricatePredicates, 0 DeprecatedPredicates, 146 ImplicationChecksByTransitivity, 0.9s Time, 0.0s BasicInterpolantAutomatonTime, BiggestAbstraction: size=49occurred in iteration=4, traceCheckStatistics: No data available, InterpolantConsolidationStatistics: No data available, PathInvariantsStatistics: No data available, 0/0 InterpolantCoveringCapability, TotalInterpolationStatistics: No data available, 0.0s DumpTime, AutomataMinimizationStatistics: 0.2s AutomataMinimizationTime, 4 MinimizatonAttempts, 41 StatesRemovedByMinimization, 4 NontrivialMinimizations, HoareAnnotationStatistics: No data available, RefinementEngineStatistics: TRACE_CHECK: 0.0s SsaConstructionTime, 0.2s SatisfiabilityAnalysisTime, 1.8s InterpolantComputationTime, 189 NumberOfCodeBlocks, 189 NumberOfCodeBlocksAsserted, 7 NumberOfCheckSat, 152 ConstructedInterpolants, 0 QuantifiedInterpolants, 15662 SizeOfPredicates, 8 NumberOfNonLiveVariables, 215 ConjunctsInSsa, 14 ConjunctsInUnsatCore, 6 InterpolantComputations, 2 PerfectInterpolantSequences, 12/16 InterpolantCoveringCapability, INVARIANT_SYNTHESIS: No data available, INTERPOLANT_CONSOLIDATION: No data available, ABSTRACT_INTERPRETATION: No data available, PDR: No data available, ACCELERATED_INTERPOLATION: No data available, SIFA: No data available, ReuseStatistics: No data available RESULT: Ultimate proved your program to be incorrect! Received shutdown request...