/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-8fc6572 [2020-07-10 15:25:52,911 INFO L177 SettingsManager]: Resetting all preferences to default values... [2020-07-10 15:25:52,913 INFO L181 SettingsManager]: Resetting UltimateCore preferences to default values [2020-07-10 15:25:52,935 INFO L184 SettingsManager]: Ultimate Commandline Interface provides no preferences, ignoring... [2020-07-10 15:25:52,935 INFO L181 SettingsManager]: Resetting Boogie Preprocessor preferences to default values [2020-07-10 15:25:52,937 INFO L181 SettingsManager]: Resetting Boogie Procedure Inliner preferences to default values [2020-07-10 15:25:52,939 INFO L181 SettingsManager]: Resetting Abstract Interpretation preferences to default values [2020-07-10 15:25:52,953 INFO L181 SettingsManager]: Resetting LassoRanker preferences to default values [2020-07-10 15:25:52,955 INFO L181 SettingsManager]: Resetting Reaching Definitions preferences to default values [2020-07-10 15:25:52,956 INFO L181 SettingsManager]: Resetting SyntaxChecker preferences to default values [2020-07-10 15:25:52,959 INFO L181 SettingsManager]: Resetting Sifa preferences to default values [2020-07-10 15:25:52,961 INFO L184 SettingsManager]: Büchi Program Product provides no preferences, ignoring... [2020-07-10 15:25:52,962 INFO L181 SettingsManager]: Resetting LTL2Aut preferences to default values [2020-07-10 15:25:52,964 INFO L181 SettingsManager]: Resetting PEA to Boogie preferences to default values [2020-07-10 15:25:52,965 INFO L181 SettingsManager]: Resetting BlockEncodingV2 preferences to default values [2020-07-10 15:25:52,968 INFO L181 SettingsManager]: Resetting ChcToBoogie preferences to default values [2020-07-10 15:25:52,971 INFO L181 SettingsManager]: Resetting AutomataScriptInterpreter preferences to default values [2020-07-10 15:25:52,973 INFO L181 SettingsManager]: Resetting BuchiAutomizer preferences to default values [2020-07-10 15:25:52,974 INFO L181 SettingsManager]: Resetting CACSL2BoogieTranslator preferences to default values [2020-07-10 15:25:52,979 INFO L181 SettingsManager]: Resetting CodeCheck preferences to default values [2020-07-10 15:25:52,984 INFO L181 SettingsManager]: Resetting InvariantSynthesis preferences to default values [2020-07-10 15:25:52,988 INFO L181 SettingsManager]: Resetting RCFGBuilder preferences to default values [2020-07-10 15:25:52,989 INFO L181 SettingsManager]: Resetting Referee preferences to default values [2020-07-10 15:25:52,990 INFO L181 SettingsManager]: Resetting TraceAbstraction preferences to default values [2020-07-10 15:25:52,993 INFO L184 SettingsManager]: TraceAbstractionConcurrent provides no preferences, ignoring... [2020-07-10 15:25:52,993 INFO L184 SettingsManager]: TraceAbstractionWithAFAs provides no preferences, ignoring... [2020-07-10 15:25:52,993 INFO L181 SettingsManager]: Resetting TreeAutomizer preferences to default values [2020-07-10 15:25:52,997 INFO L181 SettingsManager]: Resetting IcfgToChc preferences to default values [2020-07-10 15:25:52,997 INFO L181 SettingsManager]: Resetting IcfgTransformer preferences to default values [2020-07-10 15:25:52,998 INFO L184 SettingsManager]: ReqToTest provides no preferences, ignoring... [2020-07-10 15:25:52,998 INFO L181 SettingsManager]: Resetting Boogie Printer preferences to default values [2020-07-10 15:25:52,999 INFO L181 SettingsManager]: Resetting ChcSmtPrinter preferences to default values [2020-07-10 15:25:53,000 INFO L181 SettingsManager]: Resetting ReqPrinter preferences to default values [2020-07-10 15:25:53,001 INFO L181 SettingsManager]: Resetting Witness Printer preferences to default values [2020-07-10 15:25:53,002 INFO L184 SettingsManager]: Boogie PL CUP Parser provides no preferences, ignoring... [2020-07-10 15:25:53,002 INFO L181 SettingsManager]: Resetting CDTParser preferences to default values [2020-07-10 15:25:53,003 INFO L184 SettingsManager]: AutomataScriptParser provides no preferences, ignoring... [2020-07-10 15:25:53,003 INFO L184 SettingsManager]: ReqParser provides no preferences, ignoring... [2020-07-10 15:25:53,003 INFO L181 SettingsManager]: Resetting SmtParser preferences to default values [2020-07-10 15:25:53,006 INFO L181 SettingsManager]: Resetting Witness Parser preferences to default values [2020-07-10 15:25:53,007 INFO L188 SettingsManager]: Finished resetting all preferences to default values... [2020-07-10 15:25:53,008 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-10 15:25:53,029 INFO L113 SettingsManager]: Loading preferences was successful [2020-07-10 15:25:53,030 INFO L115 SettingsManager]: Preferences different from defaults after loading the file: [2020-07-10 15:25:53,031 INFO L136 SettingsManager]: Preferences of BlockEncodingV2 differ from their defaults: [2020-07-10 15:25:53,032 INFO L138 SettingsManager]: * Create parallel compositions if possible=false [2020-07-10 15:25:53,032 INFO L138 SettingsManager]: * Use SBE=true [2020-07-10 15:25:53,032 INFO L136 SettingsManager]: Preferences of CACSL2BoogieTranslator differ from their defaults: [2020-07-10 15:25:53,032 INFO L138 SettingsManager]: * sizeof long=4 [2020-07-10 15:25:53,032 INFO L138 SettingsManager]: * Overapproximate operations on floating types=true [2020-07-10 15:25:53,033 INFO L138 SettingsManager]: * sizeof POINTER=4 [2020-07-10 15:25:53,033 INFO L138 SettingsManager]: * Check division by zero=IGNORE [2020-07-10 15:25:53,034 INFO L138 SettingsManager]: * Pointer to allocated memory at dereference=IGNORE [2020-07-10 15:25:53,034 INFO L138 SettingsManager]: * If two pointers are subtracted or compared they have the same base address=IGNORE [2020-07-10 15:25:53,034 INFO L138 SettingsManager]: * Check array bounds for arrays that are off heap=IGNORE [2020-07-10 15:25:53,035 INFO L138 SettingsManager]: * sizeof long double=12 [2020-07-10 15:25:53,035 INFO L138 SettingsManager]: * Check if freed pointer was valid=false [2020-07-10 15:25:53,035 INFO L138 SettingsManager]: * Use constant arrays=true [2020-07-10 15:25:53,035 INFO L138 SettingsManager]: * Pointer base address is valid at dereference=IGNORE [2020-07-10 15:25:53,036 INFO L136 SettingsManager]: Preferences of RCFGBuilder differ from their defaults: [2020-07-10 15:25:53,036 INFO L138 SettingsManager]: * Size of a code block=SequenceOfStatements [2020-07-10 15:25:53,036 INFO L138 SettingsManager]: * To the following directory=./dump/ [2020-07-10 15:25:53,036 INFO L138 SettingsManager]: * SMT solver=External_DefaultMode [2020-07-10 15:25:53,036 INFO L138 SettingsManager]: * Command for external solver=z3 SMTLIB2_COMPLIANT=true -memory:2024 -smt2 -in -t:2000 [2020-07-10 15:25:53,037 INFO L136 SettingsManager]: Preferences of TraceAbstraction differ from their defaults: [2020-07-10 15:25:53,037 INFO L138 SettingsManager]: * Compute Interpolants along a Counterexample=FPandBP [2020-07-10 15:25:53,037 INFO L138 SettingsManager]: * Positions where we compute the Hoare Annotation=LoopsAndPotentialCycles [2020-07-10 15:25:53,037 INFO L138 SettingsManager]: * Trace refinement strategy=CAMEL [2020-07-10 15:25:53,037 INFO L138 SettingsManager]: * Command for external solver=z3 SMTLIB2_COMPLIANT=true -memory:2024 -smt2 -in [2020-07-10 15:25:53,037 INFO L138 SettingsManager]: * Compute Hoare Annotation of negated interpolant automaton, abstraction and CFG=true [2020-07-10 15:25:53,038 INFO L138 SettingsManager]: * Trace refinement exception blacklist=NONE [2020-07-10 15:25:53,038 INFO L138 SettingsManager]: * SMT solver=External_ModelsAndUnsatCoreMode [2020-07-10 15:25:53,311 INFO L81 nceAwareModelManager]: Repository-Root is: /tmp [2020-07-10 15:25:53,325 INFO L258 ainManager$Toolchain]: [Toolchain 1]: Applicable parser(s) successfully (re)initialized [2020-07-10 15:25:53,328 INFO L214 ainManager$Toolchain]: [Toolchain 1]: Toolchain selected. [2020-07-10 15:25:53,330 INFO L271 PluginConnector]: Initializing CDTParser... [2020-07-10 15:25:53,330 INFO L275 PluginConnector]: CDTParser initialized [2020-07-10 15:25:53,331 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-10 15:25:53,409 INFO L220 CDTParser]: Created temporary CDT project at /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/data/8ebbf23d5/827331e7ae8141cd9ff92b61d1f81734/FLAG53619a996 [2020-07-10 15:25:53,933 INFO L306 CDTParser]: Found 1 translation units. [2020-07-10 15:25:53,934 INFO L160 CDTParser]: Scanning /storage/repos/ultimate/trunk/examples/svcomp/array-tiling/skippedu.c [2020-07-10 15:25:53,941 INFO L349 CDTParser]: About to delete temporary CDT project at /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/data/8ebbf23d5/827331e7ae8141cd9ff92b61d1f81734/FLAG53619a996 [2020-07-10 15:25:54,276 INFO L357 CDTParser]: Successfully deleted /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/data/8ebbf23d5/827331e7ae8141cd9ff92b61d1f81734 [2020-07-10 15:25:54,287 INFO L296 ainManager$Toolchain]: ####################### [Toolchain 1] ####################### [2020-07-10 15:25:54,289 INFO L131 ToolchainWalker]: Walking toolchain with 4 elements. [2020-07-10 15:25:54,291 INFO L113 PluginConnector]: ------------------------CACSL2BoogieTranslator---------------------------- [2020-07-10 15:25:54,291 INFO L271 PluginConnector]: Initializing CACSL2BoogieTranslator... [2020-07-10 15:25:54,294 INFO L275 PluginConnector]: CACSL2BoogieTranslator initialized [2020-07-10 15:25:54,296 INFO L185 PluginConnector]: Executing the observer ACSLObjectContainerObserver from plugin CACSL2BoogieTranslator for "CDTParser AST 10.07 03:25:54" (1/1) ... [2020-07-10 15:25:54,299 INFO L205 PluginConnector]: Invalid model from CACSL2BoogieTranslator for observer de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator.ACSLObjectContainerObserver@38be9ff7 and model type de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 10.07 03:25:54, skipping insertion in model container [2020-07-10 15:25:54,299 INFO L185 PluginConnector]: Executing the observer CACSL2BoogieTranslatorObserver from plugin CACSL2BoogieTranslator for "CDTParser AST 10.07 03:25:54" (1/1) ... [2020-07-10 15:25:54,307 INFO L145 MainTranslator]: Starting translation in SV-COMP mode [2020-07-10 15:25:54,326 INFO L178 MainTranslator]: Built tables and reachable declarations [2020-07-10 15:25:54,545 INFO L206 PostProcessor]: Analyzing one entry point: main [2020-07-10 15:25:54,560 INFO L203 MainTranslator]: Completed pre-run [2020-07-10 15:25:54,595 INFO L206 PostProcessor]: Analyzing one entry point: main [2020-07-10 15:25:54,611 INFO L208 MainTranslator]: Completed translation [2020-07-10 15:25:54,612 INFO L202 PluginConnector]: Adding new model de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 10.07 03:25:54 WrapperNode [2020-07-10 15:25:54,612 INFO L132 PluginConnector]: ------------------------ END CACSL2BoogieTranslator---------------------------- [2020-07-10 15:25:54,613 INFO L113 PluginConnector]: ------------------------Boogie Preprocessor---------------------------- [2020-07-10 15:25:54,613 INFO L271 PluginConnector]: Initializing Boogie Preprocessor... [2020-07-10 15:25:54,613 INFO L275 PluginConnector]: Boogie Preprocessor initialized [2020-07-10 15:25:54,709 INFO L185 PluginConnector]: Executing the observer EnsureBoogieModelObserver from plugin Boogie Preprocessor for "de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 10.07 03:25:54" (1/1) ... [2020-07-10 15:25:54,711 INFO L185 PluginConnector]: Executing the observer TypeChecker from plugin Boogie Preprocessor for "de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 10.07 03:25:54" (1/1) ... [2020-07-10 15:25:54,731 INFO L185 PluginConnector]: Executing the observer ConstExpander from plugin Boogie Preprocessor for "de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 10.07 03:25:54" (1/1) ... [2020-07-10 15:25:54,731 INFO L185 PluginConnector]: Executing the observer StructExpander from plugin Boogie Preprocessor for "de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 10.07 03:25:54" (1/1) ... [2020-07-10 15:25:54,760 INFO L185 PluginConnector]: Executing the observer UnstructureCode from plugin Boogie Preprocessor for "de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 10.07 03:25:54" (1/1) ... [2020-07-10 15:25:54,774 INFO L185 PluginConnector]: Executing the observer FunctionInliner from plugin Boogie Preprocessor for "de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 10.07 03:25:54" (1/1) ... [2020-07-10 15:25:54,777 INFO L185 PluginConnector]: Executing the observer BoogieSymbolTableConstructor from plugin Boogie Preprocessor for "de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 10.07 03:25:54" (1/1) ... [2020-07-10 15:25:54,779 INFO L132 PluginConnector]: ------------------------ END Boogie Preprocessor---------------------------- [2020-07-10 15:25:54,780 INFO L113 PluginConnector]: ------------------------RCFGBuilder---------------------------- [2020-07-10 15:25:54,780 INFO L271 PluginConnector]: Initializing RCFGBuilder... [2020-07-10 15:25:54,780 INFO L275 PluginConnector]: RCFGBuilder initialized [2020-07-10 15:25:54,782 INFO L185 PluginConnector]: Executing the observer RCFGBuilderObserver from plugin RCFGBuilder for "de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 10.07 03:25:54" (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-10 15:25:54,846 INFO L138 BoogieDeclarations]: Found implementation of procedure ULTIMATE.init [2020-07-10 15:25:54,847 INFO L138 BoogieDeclarations]: Found implementation of procedure ULTIMATE.start [2020-07-10 15:25:54,847 INFO L138 BoogieDeclarations]: Found implementation of procedure assume_abort_if_not [2020-07-10 15:25:54,847 INFO L138 BoogieDeclarations]: Found implementation of procedure __VERIFIER_assert [2020-07-10 15:25:54,847 INFO L138 BoogieDeclarations]: Found implementation of procedure main [2020-07-10 15:25:54,847 INFO L130 BoogieDeclarations]: Found specification of procedure __VERIFIER_error [2020-07-10 15:25:54,848 INFO L130 BoogieDeclarations]: Found specification of procedure abort [2020-07-10 15:25:54,848 INFO L130 BoogieDeclarations]: Found specification of procedure assume_abort_if_not [2020-07-10 15:25:54,848 INFO L130 BoogieDeclarations]: Found specification of procedure __VERIFIER_assert [2020-07-10 15:25:54,848 INFO L130 BoogieDeclarations]: Found specification of procedure __VERIFIER_nondet_int [2020-07-10 15:25:54,848 INFO L130 BoogieDeclarations]: Found specification of procedure malloc [2020-07-10 15:25:54,848 INFO L130 BoogieDeclarations]: Found specification of procedure main [2020-07-10 15:25:54,848 INFO L130 BoogieDeclarations]: Found specification of procedure #Ultimate.allocOnHeap [2020-07-10 15:25:54,849 INFO L130 BoogieDeclarations]: Found specification of procedure write~int [2020-07-10 15:25:54,849 INFO L130 BoogieDeclarations]: Found specification of procedure read~int [2020-07-10 15:25:54,849 INFO L130 BoogieDeclarations]: Found specification of procedure ULTIMATE.init [2020-07-10 15:25:54,849 INFO L130 BoogieDeclarations]: Found specification of procedure ULTIMATE.start [2020-07-10 15:25:54,849 INFO L130 BoogieDeclarations]: Found specification of procedure ULTIMATE.dealloc [2020-07-10 15:25:55,288 INFO L290 CfgBuilder]: Using the 1 location(s) as analysis (start of procedure ULTIMATE.start) [2020-07-10 15:25:55,288 INFO L295 CfgBuilder]: Removed 3 assume(true) statements. [2020-07-10 15:25:55,292 INFO L202 PluginConnector]: Adding new model de.uni_freiburg.informatik.ultimate.plugins.generator.rcfgbuilder CFG 10.07 03:25:55 BoogieIcfgContainer [2020-07-10 15:25:55,293 INFO L132 PluginConnector]: ------------------------ END RCFGBuilder---------------------------- [2020-07-10 15:25:55,294 INFO L113 PluginConnector]: ------------------------TraceAbstraction---------------------------- [2020-07-10 15:25:55,294 INFO L271 PluginConnector]: Initializing TraceAbstraction... [2020-07-10 15:25:55,298 INFO L275 PluginConnector]: TraceAbstraction initialized [2020-07-10 15:25:55,298 INFO L185 PluginConnector]: Executing the observer TraceAbstractionObserver from plugin TraceAbstraction for "CDTParser AST 10.07 03:25:54" (1/3) ... [2020-07-10 15:25:55,300 INFO L205 PluginConnector]: Invalid model from TraceAbstraction for observer de.uni_freiburg.informatik.ultimate.plugins.generator.traceabstraction.TraceAbstractionObserver@4dceaf72 and model type de.uni_freiburg.informatik.ultimate.plugins.generator.traceabstraction AST 10.07 03:25:55, skipping insertion in model container [2020-07-10 15:25:55,300 INFO L185 PluginConnector]: Executing the observer TraceAbstractionObserver from plugin TraceAbstraction for "de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 10.07 03:25:54" (2/3) ... [2020-07-10 15:25:55,300 INFO L205 PluginConnector]: Invalid model from TraceAbstraction for observer de.uni_freiburg.informatik.ultimate.plugins.generator.traceabstraction.TraceAbstractionObserver@4dceaf72 and model type de.uni_freiburg.informatik.ultimate.plugins.generator.traceabstraction AST 10.07 03:25:55, skipping insertion in model container [2020-07-10 15:25:55,300 INFO L185 PluginConnector]: Executing the observer TraceAbstractionObserver from plugin TraceAbstraction for "de.uni_freiburg.informatik.ultimate.plugins.generator.rcfgbuilder CFG 10.07 03:25:55" (3/3) ... [2020-07-10 15:25:55,302 INFO L109 eAbstractionObserver]: Analyzing ICFG skippedu.c [2020-07-10 15:25:55,328 INFO L157 ceAbstractionStarter]: Automizer settings: Hoare:true NWA Interpolation:FPandBP Determinization: PREDICATE_ABSTRACTION [2020-07-10 15:25:55,341 INFO L169 ceAbstractionStarter]: Appying trace abstraction to program that has 1 error locations. [2020-07-10 15:25:55,356 INFO L251 AbstractCegarLoop]: Starting to check reachability of 1 error locations. [2020-07-10 15:25:55,382 INFO L375 AbstractCegarLoop]: Interprodecural is true [2020-07-10 15:25:55,382 INFO L376 AbstractCegarLoop]: Hoare is true [2020-07-10 15:25:55,382 INFO L377 AbstractCegarLoop]: Compute interpolants for FPandBP [2020-07-10 15:25:55,382 INFO L378 AbstractCegarLoop]: Backedges is STRAIGHT_LINE [2020-07-10 15:25:55,383 INFO L379 AbstractCegarLoop]: Determinization is PREDICATE_ABSTRACTION [2020-07-10 15:25:55,383 INFO L380 AbstractCegarLoop]: Difference is false [2020-07-10 15:25:55,383 INFO L381 AbstractCegarLoop]: Minimize is MINIMIZE_SEVPA [2020-07-10 15:25:55,383 INFO L385 AbstractCegarLoop]: ======== Iteration 0==of CEGAR loop == AllErrorsAtOnce======== [2020-07-10 15:25:55,404 INFO L276 IsEmpty]: Start isEmpty. Operand 37 states. [2020-07-10 15:25:55,409 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 23 [2020-07-10 15:25:55,410 INFO L414 BasicCegarLoop]: Found error trace [2020-07-10 15:25:55,411 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-10 15:25:55,412 INFO L427 AbstractCegarLoop]: === Iteration 1 === [__VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION]=== [2020-07-10 15:25:55,418 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2020-07-10 15:25:55,418 INFO L82 PathProgramCache]: Analyzing trace with hash -978746934, now seen corresponding path program 1 times [2020-07-10 15:25:55,430 INFO L163 FreeRefinementEngine]: Executing refinement strategy CAMEL [2020-07-10 15:25:55,430 INFO L354 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [680517075] [2020-07-10 15:25:55,431 INFO L94 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2020-07-10 15:25:55,572 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2020-07-10 15:25:55,775 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2020-07-10 15:25:55,804 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-10 15:25:55,804 INFO L280 TraceCheckUtils]: 1: Hoare triple {40#true} assume true; {40#true} is VALID [2020-07-10 15:25:55,805 INFO L275 TraceCheckUtils]: 2: Hoare quadruple {40#true} {40#true} #98#return; {40#true} is VALID [2020-07-10 15:25:55,815 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2020-07-10 15:25:55,856 INFO L280 TraceCheckUtils]: 0: Hoare triple {40#true} ~cond := #in~cond; {40#true} is VALID [2020-07-10 15:25:55,858 INFO L280 TraceCheckUtils]: 1: Hoare triple {40#true} assume 0 == ~cond;assume false; {41#false} is VALID [2020-07-10 15:25:55,859 INFO L280 TraceCheckUtils]: 2: Hoare triple {41#false} assume true; {41#false} is VALID [2020-07-10 15:25:55,859 INFO L275 TraceCheckUtils]: 3: Hoare quadruple {41#false} {41#false} #94#return; {41#false} is VALID [2020-07-10 15:25:55,861 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-10 15:25:55,862 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-10 15:25:55,862 INFO L280 TraceCheckUtils]: 2: Hoare triple {40#true} assume true; {40#true} is VALID [2020-07-10 15:25:55,863 INFO L275 TraceCheckUtils]: 3: Hoare quadruple {40#true} {40#true} #98#return; {40#true} is VALID [2020-07-10 15:25:55,864 INFO L263 TraceCheckUtils]: 4: Hoare triple {40#true} call #t~ret9 := main(); {40#true} is VALID [2020-07-10 15:25:55,864 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-10 15:25:55,866 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-10 15:25:55,869 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-10 15:25:55,870 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-10 15:25:55,870 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-10 15:25:55,870 INFO L280 TraceCheckUtils]: 10: Hoare triple {40#true} ~cond := #in~cond; {40#true} is VALID [2020-07-10 15:25:55,873 INFO L280 TraceCheckUtils]: 11: Hoare triple {40#true} assume 0 == ~cond;assume false; {41#false} is VALID [2020-07-10 15:25:55,873 INFO L280 TraceCheckUtils]: 12: Hoare triple {41#false} assume true; {41#false} is VALID [2020-07-10 15:25:55,874 INFO L275 TraceCheckUtils]: 13: Hoare quadruple {41#false} {41#false} #94#return; {41#false} is VALID [2020-07-10 15:25:55,874 INFO L280 TraceCheckUtils]: 14: Hoare triple {41#false} ~i~0 := 1; {41#false} is VALID [2020-07-10 15:25:55,874 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-10 15:25:55,875 INFO L280 TraceCheckUtils]: 16: Hoare triple {41#false} ~i~0 := 0; {41#false} is VALID [2020-07-10 15:25:55,878 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-10 15:25:55,879 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-10 15:25:55,879 INFO L280 TraceCheckUtils]: 19: Hoare triple {41#false} ~cond := #in~cond; {41#false} is VALID [2020-07-10 15:25:55,880 INFO L280 TraceCheckUtils]: 20: Hoare triple {41#false} assume 0 == ~cond; {41#false} is VALID [2020-07-10 15:25:55,880 INFO L280 TraceCheckUtils]: 21: Hoare triple {41#false} assume !false; {41#false} is VALID [2020-07-10 15:25:55,886 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-10 15:25:55,888 INFO L354 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleSmtInterpolCraig [680517075] [2020-07-10 15:25:55,889 INFO L220 FreeRefinementEngine]: Constructing automaton from 1 perfect and 0 imperfect interpolant sequences. [2020-07-10 15:25:55,894 INFO L233 FreeRefinementEngine]: Number of different interpolants: perfect sequences [4] imperfect sequences [] total 4 [2020-07-10 15:25:55,896 INFO L156 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [287261040] [2020-07-10 15:25:55,904 INFO L78 Accepts]: Start accepts. Automaton has 4 states. Word has length 22 [2020-07-10 15:25:55,911 INFO L84 Accepts]: Finished accepts. word is accepted. [2020-07-10 15:25:55,916 INFO L86 InductivityCheck]: Starting indutivity check of a Floyd-Hoare automaton with 4 states. [2020-07-10 15:25:55,991 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-10 15:25:55,992 INFO L459 AbstractCegarLoop]: Interpolant automaton has 4 states [2020-07-10 15:25:55,992 INFO L143 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy CAMEL [2020-07-10 15:25:56,002 INFO L142 InterpolantAutomaton]: Constructing interpolant automaton starting with 4 interpolants. [2020-07-10 15:25:56,004 INFO L144 InterpolantAutomaton]: CoverageRelationStatistics Valid=5, Invalid=7, Unknown=0, NotChecked=0, Total=12 [2020-07-10 15:25:56,007 INFO L87 Difference]: Start difference. First operand 37 states. Second operand 4 states. [2020-07-10 15:25:56,399 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2020-07-10 15:25:56,400 INFO L93 Difference]: Finished difference Result 67 states and 90 transitions. [2020-07-10 15:25:56,400 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 4 states. [2020-07-10 15:25:56,400 INFO L78 Accepts]: Start accepts. Automaton has 4 states. Word has length 22 [2020-07-10 15:25:56,401 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2020-07-10 15:25:56,402 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 4 states. [2020-07-10 15:25:56,413 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 4 states to 4 states and 90 transitions. [2020-07-10 15:25:56,413 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 4 states. [2020-07-10 15:25:56,418 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 4 states to 4 states and 90 transitions. [2020-07-10 15:25:56,419 INFO L86 InductivityCheck]: Starting indutivity check of a Floyd-Hoare automaton with 4 states and 90 transitions. [2020-07-10 15:25:56,558 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-10 15:25:56,571 INFO L225 Difference]: With dead ends: 67 [2020-07-10 15:25:56,571 INFO L226 Difference]: Without dead ends: 34 [2020-07-10 15:25:56,575 INFO L675 BasicCegarLoop]: 0 DeclaredPredicates, 8 GetRequests, 6 SyntacticMatches, 0 SemanticMatches, 2 ConstructedPredicates, 0 IntricatePredicates, 0 DeprecatedPredicates, 0 ImplicationChecksByTransitivity, 0.1s TimeCoverageRelationStatistics Valid=5, Invalid=7, Unknown=0, NotChecked=0, Total=12 [2020-07-10 15:25:56,596 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 34 states. [2020-07-10 15:25:56,632 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 34 to 33. [2020-07-10 15:25:56,633 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2020-07-10 15:25:56,633 INFO L82 GeneralOperation]: Start isEquivalent. First operand 34 states. Second operand 33 states. [2020-07-10 15:25:56,634 INFO L74 IsIncluded]: Start isIncluded. First operand 34 states. Second operand 33 states. [2020-07-10 15:25:56,634 INFO L87 Difference]: Start difference. First operand 34 states. Second operand 33 states. [2020-07-10 15:25:56,638 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2020-07-10 15:25:56,638 INFO L93 Difference]: Finished difference Result 34 states and 38 transitions. [2020-07-10 15:25:56,639 INFO L276 IsEmpty]: Start isEmpty. Operand 34 states and 38 transitions. [2020-07-10 15:25:56,639 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2020-07-10 15:25:56,639 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2020-07-10 15:25:56,640 INFO L74 IsIncluded]: Start isIncluded. First operand 33 states. Second operand 34 states. [2020-07-10 15:25:56,640 INFO L87 Difference]: Start difference. First operand 33 states. Second operand 34 states. [2020-07-10 15:25:56,644 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2020-07-10 15:25:56,644 INFO L93 Difference]: Finished difference Result 34 states and 38 transitions. [2020-07-10 15:25:56,644 INFO L276 IsEmpty]: Start isEmpty. Operand 34 states and 38 transitions. [2020-07-10 15:25:56,645 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2020-07-10 15:25:56,645 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2020-07-10 15:25:56,645 INFO L88 GeneralOperation]: Finished isEquivalent. [2020-07-10 15:25:56,646 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2020-07-10 15:25:56,646 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 33 states. [2020-07-10 15:25:56,648 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 33 states to 33 states and 37 transitions. [2020-07-10 15:25:56,650 INFO L78 Accepts]: Start accepts. Automaton has 33 states and 37 transitions. Word has length 22 [2020-07-10 15:25:56,651 INFO L84 Accepts]: Finished accepts. word is rejected. [2020-07-10 15:25:56,651 INFO L479 AbstractCegarLoop]: Abstraction has 33 states and 37 transitions. [2020-07-10 15:25:56,651 INFO L480 AbstractCegarLoop]: Interpolant automaton has 4 states. [2020-07-10 15:25:56,651 INFO L276 IsEmpty]: Start isEmpty. Operand 33 states and 37 transitions. [2020-07-10 15:25:56,652 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 25 [2020-07-10 15:25:56,652 INFO L414 BasicCegarLoop]: Found error trace [2020-07-10 15:25:56,653 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-10 15:25:56,653 WARN L516 AbstractCegarLoop]: Destroyed unattended storables created during the last iteration: SelfDestructingSolverStorable0 [2020-07-10 15:25:56,653 INFO L427 AbstractCegarLoop]: === Iteration 2 === [__VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION]=== [2020-07-10 15:25:56,654 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2020-07-10 15:25:56,654 INFO L82 PathProgramCache]: Analyzing trace with hash 1791807978, now seen corresponding path program 1 times [2020-07-10 15:25:56,654 INFO L163 FreeRefinementEngine]: Executing refinement strategy CAMEL [2020-07-10 15:25:56,654 INFO L354 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [992857815] [2020-07-10 15:25:56,655 INFO L94 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2020-07-10 15:25:56,679 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2020-07-10 15:25:56,759 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2020-07-10 15:25:56,767 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-10 15:25:56,768 INFO L280 TraceCheckUtils]: 1: Hoare triple {251#true} assume true; {251#true} is VALID [2020-07-10 15:25:56,768 INFO L275 TraceCheckUtils]: 2: Hoare quadruple {251#true} {251#true} #98#return; {251#true} is VALID [2020-07-10 15:25:56,769 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2020-07-10 15:25:56,776 INFO L280 TraceCheckUtils]: 0: Hoare triple {251#true} ~cond := #in~cond; {251#true} is VALID [2020-07-10 15:25:56,777 INFO L280 TraceCheckUtils]: 1: Hoare triple {251#true} assume !(0 == ~cond); {251#true} is VALID [2020-07-10 15:25:56,777 INFO L280 TraceCheckUtils]: 2: Hoare triple {251#true} assume true; {251#true} is VALID [2020-07-10 15:25:56,777 INFO L275 TraceCheckUtils]: 3: Hoare quadruple {251#true} {252#false} #94#return; {252#false} is VALID [2020-07-10 15:25:56,779 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-10 15:25:56,779 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-10 15:25:56,779 INFO L280 TraceCheckUtils]: 2: Hoare triple {251#true} assume true; {251#true} is VALID [2020-07-10 15:25:56,780 INFO L275 TraceCheckUtils]: 3: Hoare quadruple {251#true} {251#true} #98#return; {251#true} is VALID [2020-07-10 15:25:56,780 INFO L263 TraceCheckUtils]: 4: Hoare triple {251#true} call #t~ret9 := main(); {251#true} is VALID [2020-07-10 15:25:56,780 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-10 15:25:56,782 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-10 15:25:56,783 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-10 15:25:56,784 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-10 15:25:56,785 INFO L280 TraceCheckUtils]: 9: Hoare triple {257#(<= (+ main_~i~0 1) ~SIZE~0)} assume !(~i~0 < ~SIZE~0); {252#false} is VALID [2020-07-10 15:25:56,785 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-10 15:25:56,786 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-10 15:25:56,786 INFO L280 TraceCheckUtils]: 12: Hoare triple {251#true} ~cond := #in~cond; {251#true} is VALID [2020-07-10 15:25:56,786 INFO L280 TraceCheckUtils]: 13: Hoare triple {251#true} assume !(0 == ~cond); {251#true} is VALID [2020-07-10 15:25:56,787 INFO L280 TraceCheckUtils]: 14: Hoare triple {251#true} assume true; {251#true} is VALID [2020-07-10 15:25:56,787 INFO L275 TraceCheckUtils]: 15: Hoare quadruple {251#true} {252#false} #94#return; {252#false} is VALID [2020-07-10 15:25:56,787 INFO L280 TraceCheckUtils]: 16: Hoare triple {252#false} ~i~0 := 1; {252#false} is VALID [2020-07-10 15:25:56,788 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-10 15:25:56,788 INFO L280 TraceCheckUtils]: 18: Hoare triple {252#false} ~i~0 := 0; {252#false} is VALID [2020-07-10 15:25:56,788 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-10 15:25:56,788 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-10 15:25:56,789 INFO L280 TraceCheckUtils]: 21: Hoare triple {252#false} ~cond := #in~cond; {252#false} is VALID [2020-07-10 15:25:56,789 INFO L280 TraceCheckUtils]: 22: Hoare triple {252#false} assume 0 == ~cond; {252#false} is VALID [2020-07-10 15:25:56,789 INFO L280 TraceCheckUtils]: 23: Hoare triple {252#false} assume !false; {252#false} is VALID [2020-07-10 15:25:56,791 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-10 15:25:56,791 INFO L354 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleSmtInterpolCraig [992857815] [2020-07-10 15:25:56,792 INFO L354 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleZ3 [1843161373] [2020-07-10 15:25:56,792 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-10 15:25:56,846 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2020-07-10 15:25:56,848 INFO L264 TraceCheckSpWp]: Trace formula consists of 99 conjuncts, 4 conjunts are in the unsatisfiable core [2020-07-10 15:25:56,862 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2020-07-10 15:25:56,870 INFO L287 TraceCheckSpWp]: Computing forward predicates... [2020-07-10 15:25:56,988 INFO L263 TraceCheckUtils]: 0: Hoare triple {251#true} call ULTIMATE.init(); {251#true} is VALID [2020-07-10 15:25:56,989 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-10 15:25:56,989 INFO L280 TraceCheckUtils]: 2: Hoare triple {251#true} assume true; {251#true} is VALID [2020-07-10 15:25:56,989 INFO L275 TraceCheckUtils]: 3: Hoare quadruple {251#true} {251#true} #98#return; {251#true} is VALID [2020-07-10 15:25:56,990 INFO L263 TraceCheckUtils]: 4: Hoare triple {251#true} call #t~ret9 := main(); {251#true} is VALID [2020-07-10 15:25:56,990 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-10 15:25:56,992 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-10 15:25:56,993 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-10 15:25:56,994 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-10 15:25:56,995 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-10 15:25:56,995 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-10 15:25:56,995 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-10 15:25:56,996 INFO L280 TraceCheckUtils]: 12: Hoare triple {252#false} ~cond := #in~cond; {252#false} is VALID [2020-07-10 15:25:56,996 INFO L280 TraceCheckUtils]: 13: Hoare triple {252#false} assume !(0 == ~cond); {252#false} is VALID [2020-07-10 15:25:56,996 INFO L280 TraceCheckUtils]: 14: Hoare triple {252#false} assume true; {252#false} is VALID [2020-07-10 15:25:56,997 INFO L275 TraceCheckUtils]: 15: Hoare quadruple {252#false} {252#false} #94#return; {252#false} is VALID [2020-07-10 15:25:56,997 INFO L280 TraceCheckUtils]: 16: Hoare triple {252#false} ~i~0 := 1; {252#false} is VALID [2020-07-10 15:25:56,997 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-10 15:25:56,998 INFO L280 TraceCheckUtils]: 18: Hoare triple {252#false} ~i~0 := 0; {252#false} is VALID [2020-07-10 15:25:56,998 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-10 15:25:56,998 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-10 15:25:56,999 INFO L280 TraceCheckUtils]: 21: Hoare triple {252#false} ~cond := #in~cond; {252#false} is VALID [2020-07-10 15:25:56,999 INFO L280 TraceCheckUtils]: 22: Hoare triple {252#false} assume 0 == ~cond; {252#false} is VALID [2020-07-10 15:25:56,999 INFO L280 TraceCheckUtils]: 23: Hoare triple {252#false} assume !false; {252#false} is VALID [2020-07-10 15:25:57,001 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-10 15:25:57,001 INFO L220 FreeRefinementEngine]: Constructing automaton from 0 perfect and 2 imperfect interpolant sequences. [2020-07-10 15:25:57,001 INFO L233 FreeRefinementEngine]: Number of different interpolants: perfect sequences [] imperfect sequences [5, 4] total 7 [2020-07-10 15:25:57,003 INFO L156 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [1750434029] [2020-07-10 15:25:57,004 INFO L78 Accepts]: Start accepts. Automaton has 7 states. Word has length 24 [2020-07-10 15:25:57,005 INFO L84 Accepts]: Finished accepts. word is accepted. [2020-07-10 15:25:57,005 INFO L86 InductivityCheck]: Starting indutivity check of a Floyd-Hoare automaton with 7 states. [2020-07-10 15:25:57,062 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-10 15:25:57,062 INFO L459 AbstractCegarLoop]: Interpolant automaton has 7 states [2020-07-10 15:25:57,062 INFO L143 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy CAMEL [2020-07-10 15:25:57,062 INFO L142 InterpolantAutomaton]: Constructing interpolant automaton starting with 7 interpolants. [2020-07-10 15:25:57,063 INFO L144 InterpolantAutomaton]: CoverageRelationStatistics Valid=17, Invalid=25, Unknown=0, NotChecked=0, Total=42 [2020-07-10 15:25:57,063 INFO L87 Difference]: Start difference. First operand 33 states and 37 transitions. Second operand 7 states. [2020-07-10 15:25:57,436 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2020-07-10 15:25:57,436 INFO L93 Difference]: Finished difference Result 59 states and 67 transitions. [2020-07-10 15:25:57,437 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 6 states. [2020-07-10 15:25:57,437 INFO L78 Accepts]: Start accepts. Automaton has 7 states. Word has length 24 [2020-07-10 15:25:57,437 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2020-07-10 15:25:57,438 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 7 states. [2020-07-10 15:25:57,443 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 6 states to 6 states and 67 transitions. [2020-07-10 15:25:57,443 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 7 states. [2020-07-10 15:25:57,450 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 6 states to 6 states and 67 transitions. [2020-07-10 15:25:57,451 INFO L86 InductivityCheck]: Starting indutivity check of a Floyd-Hoare automaton with 6 states and 67 transitions. [2020-07-10 15:25:57,563 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-10 15:25:57,566 INFO L225 Difference]: With dead ends: 59 [2020-07-10 15:25:57,567 INFO L226 Difference]: Without dead ends: 36 [2020-07-10 15:25:57,568 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-10 15:25:57,569 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 36 states. [2020-07-10 15:25:57,598 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 36 to 35. [2020-07-10 15:25:57,598 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2020-07-10 15:25:57,598 INFO L82 GeneralOperation]: Start isEquivalent. First operand 36 states. Second operand 35 states. [2020-07-10 15:25:57,598 INFO L74 IsIncluded]: Start isIncluded. First operand 36 states. Second operand 35 states. [2020-07-10 15:25:57,599 INFO L87 Difference]: Start difference. First operand 36 states. Second operand 35 states. [2020-07-10 15:25:57,603 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2020-07-10 15:25:57,603 INFO L93 Difference]: Finished difference Result 36 states and 40 transitions. [2020-07-10 15:25:57,604 INFO L276 IsEmpty]: Start isEmpty. Operand 36 states and 40 transitions. [2020-07-10 15:25:57,604 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2020-07-10 15:25:57,604 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2020-07-10 15:25:57,605 INFO L74 IsIncluded]: Start isIncluded. First operand 35 states. Second operand 36 states. [2020-07-10 15:25:57,605 INFO L87 Difference]: Start difference. First operand 35 states. Second operand 36 states. [2020-07-10 15:25:57,611 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2020-07-10 15:25:57,611 INFO L93 Difference]: Finished difference Result 36 states and 40 transitions. [2020-07-10 15:25:57,611 INFO L276 IsEmpty]: Start isEmpty. Operand 36 states and 40 transitions. [2020-07-10 15:25:57,612 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2020-07-10 15:25:57,612 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2020-07-10 15:25:57,612 INFO L88 GeneralOperation]: Finished isEquivalent. [2020-07-10 15:25:57,613 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2020-07-10 15:25:57,613 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 35 states. [2020-07-10 15:25:57,621 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 35 states to 35 states and 39 transitions. [2020-07-10 15:25:57,622 INFO L78 Accepts]: Start accepts. Automaton has 35 states and 39 transitions. Word has length 24 [2020-07-10 15:25:57,622 INFO L84 Accepts]: Finished accepts. word is rejected. [2020-07-10 15:25:57,622 INFO L479 AbstractCegarLoop]: Abstraction has 35 states and 39 transitions. [2020-07-10 15:25:57,622 INFO L480 AbstractCegarLoop]: Interpolant automaton has 7 states. [2020-07-10 15:25:57,622 INFO L276 IsEmpty]: Start isEmpty. Operand 35 states and 39 transitions. [2020-07-10 15:25:57,627 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 27 [2020-07-10 15:25:57,627 INFO L414 BasicCegarLoop]: Found error trace [2020-07-10 15:25:57,627 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-10 15:25:57,842 WARN L516 AbstractCegarLoop]: Destroyed unattended storables created during the last iteration: 2 z3 -smt2 -in SMTLIB2_COMPLIANT=true,SelfDestructingSolverStorable1 [2020-07-10 15:25:57,842 INFO L427 AbstractCegarLoop]: === Iteration 3 === [__VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION]=== [2020-07-10 15:25:57,843 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2020-07-10 15:25:57,843 INFO L82 PathProgramCache]: Analyzing trace with hash 2002160904, now seen corresponding path program 2 times [2020-07-10 15:25:57,843 INFO L163 FreeRefinementEngine]: Executing refinement strategy CAMEL [2020-07-10 15:25:57,844 INFO L354 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [1544128513] [2020-07-10 15:25:57,844 INFO L94 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2020-07-10 15:25:57,872 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2020-07-10 15:25:58,077 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2020-07-10 15:25:58,083 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-10 15:25:58,083 INFO L280 TraceCheckUtils]: 1: Hoare triple {534#true} assume true; {534#true} is VALID [2020-07-10 15:25:58,083 INFO L275 TraceCheckUtils]: 2: Hoare quadruple {534#true} {534#true} #98#return; {534#true} is VALID [2020-07-10 15:25:58,088 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2020-07-10 15:25:58,095 INFO L280 TraceCheckUtils]: 0: Hoare triple {534#true} ~cond := #in~cond; {534#true} is VALID [2020-07-10 15:25:58,096 INFO L280 TraceCheckUtils]: 1: Hoare triple {534#true} assume !(0 == ~cond); {534#true} is VALID [2020-07-10 15:25:58,096 INFO L280 TraceCheckUtils]: 2: Hoare triple {534#true} assume true; {534#true} is VALID [2020-07-10 15:25:58,097 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-10 15:25:58,099 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-10 15:25:58,099 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-10 15:25:58,099 INFO L280 TraceCheckUtils]: 2: Hoare triple {534#true} assume true; {534#true} is VALID [2020-07-10 15:25:58,100 INFO L275 TraceCheckUtils]: 3: Hoare quadruple {534#true} {534#true} #98#return; {534#true} is VALID [2020-07-10 15:25:58,100 INFO L263 TraceCheckUtils]: 4: Hoare triple {534#true} call #t~ret9 := main(); {534#true} is VALID [2020-07-10 15:25:58,100 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-10 15:25:58,103 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-10 15:25:58,104 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-10 15:25:58,104 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-10 15:25:58,105 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-10 15:25:58,106 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-10 15:25:58,107 INFO L280 TraceCheckUtils]: 11: Hoare triple {539#(<= 2 ~SIZE~0)} assume !(~i~0 < ~SIZE~0); {539#(<= 2 ~SIZE~0)} is VALID [2020-07-10 15:25:58,108 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-10 15:25:58,109 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-10 15:25:58,109 INFO L280 TraceCheckUtils]: 14: Hoare triple {534#true} ~cond := #in~cond; {534#true} is VALID [2020-07-10 15:25:58,109 INFO L280 TraceCheckUtils]: 15: Hoare triple {534#true} assume !(0 == ~cond); {534#true} is VALID [2020-07-10 15:25:58,110 INFO L280 TraceCheckUtils]: 16: Hoare triple {534#true} assume true; {534#true} is VALID [2020-07-10 15:25:58,110 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-10 15:25:58,111 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-10 15:25:58,113 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-10 15:25:58,113 INFO L280 TraceCheckUtils]: 20: Hoare triple {535#false} ~i~0 := 0; {535#false} is VALID [2020-07-10 15:25:58,113 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-10 15:25:58,114 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-10 15:25:58,114 INFO L280 TraceCheckUtils]: 23: Hoare triple {535#false} ~cond := #in~cond; {535#false} is VALID [2020-07-10 15:25:58,114 INFO L280 TraceCheckUtils]: 24: Hoare triple {535#false} assume 0 == ~cond; {535#false} is VALID [2020-07-10 15:25:58,115 INFO L280 TraceCheckUtils]: 25: Hoare triple {535#false} assume !false; {535#false} is VALID [2020-07-10 15:25:58,116 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-10 15:25:58,117 INFO L354 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleSmtInterpolCraig [1544128513] [2020-07-10 15:25:58,117 INFO L220 FreeRefinementEngine]: Constructing automaton from 1 perfect and 0 imperfect interpolant sequences. [2020-07-10 15:25:58,117 INFO L233 FreeRefinementEngine]: Number of different interpolants: perfect sequences [6] imperfect sequences [] total 6 [2020-07-10 15:25:58,118 INFO L156 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [967177500] [2020-07-10 15:25:58,118 INFO L78 Accepts]: Start accepts. Automaton has 6 states. Word has length 26 [2020-07-10 15:25:58,119 INFO L84 Accepts]: Finished accepts. word is accepted. [2020-07-10 15:25:58,119 INFO L86 InductivityCheck]: Starting indutivity check of a Floyd-Hoare automaton with 6 states. [2020-07-10 15:25:58,149 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-10 15:25:58,149 INFO L459 AbstractCegarLoop]: Interpolant automaton has 6 states [2020-07-10 15:25:58,150 INFO L143 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy CAMEL [2020-07-10 15:25:58,150 INFO L142 InterpolantAutomaton]: Constructing interpolant automaton starting with 6 interpolants. [2020-07-10 15:25:58,150 INFO L144 InterpolantAutomaton]: CoverageRelationStatistics Valid=12, Invalid=18, Unknown=0, NotChecked=0, Total=30 [2020-07-10 15:25:58,150 INFO L87 Difference]: Start difference. First operand 35 states and 39 transitions. Second operand 6 states. [2020-07-10 15:25:58,508 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2020-07-10 15:25:58,508 INFO L93 Difference]: Finished difference Result 51 states and 58 transitions. [2020-07-10 15:25:58,508 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 7 states. [2020-07-10 15:25:58,509 INFO L78 Accepts]: Start accepts. Automaton has 6 states. Word has length 26 [2020-07-10 15:25:58,509 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2020-07-10 15:25:58,509 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 6 states. [2020-07-10 15:25:58,512 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 7 states to 7 states and 55 transitions. [2020-07-10 15:25:58,512 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 6 states. [2020-07-10 15:25:58,515 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 7 states to 7 states and 55 transitions. [2020-07-10 15:25:58,515 INFO L86 InductivityCheck]: Starting indutivity check of a Floyd-Hoare automaton with 7 states and 55 transitions. [2020-07-10 15:25:58,617 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-10 15:25:58,622 INFO L225 Difference]: With dead ends: 51 [2020-07-10 15:25:58,623 INFO L226 Difference]: Without dead ends: 40 [2020-07-10 15:25:58,623 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-10 15:25:58,624 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 40 states. [2020-07-10 15:25:58,668 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 40 to 36. [2020-07-10 15:25:58,668 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2020-07-10 15:25:58,668 INFO L82 GeneralOperation]: Start isEquivalent. First operand 40 states. Second operand 36 states. [2020-07-10 15:25:58,668 INFO L74 IsIncluded]: Start isIncluded. First operand 40 states. Second operand 36 states. [2020-07-10 15:25:58,668 INFO L87 Difference]: Start difference. First operand 40 states. Second operand 36 states. [2020-07-10 15:25:58,671 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2020-07-10 15:25:58,671 INFO L93 Difference]: Finished difference Result 40 states and 46 transitions. [2020-07-10 15:25:58,671 INFO L276 IsEmpty]: Start isEmpty. Operand 40 states and 46 transitions. [2020-07-10 15:25:58,672 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2020-07-10 15:25:58,672 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2020-07-10 15:25:58,672 INFO L74 IsIncluded]: Start isIncluded. First operand 36 states. Second operand 40 states. [2020-07-10 15:25:58,672 INFO L87 Difference]: Start difference. First operand 36 states. Second operand 40 states. [2020-07-10 15:25:58,675 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2020-07-10 15:25:58,675 INFO L93 Difference]: Finished difference Result 40 states and 46 transitions. [2020-07-10 15:25:58,675 INFO L276 IsEmpty]: Start isEmpty. Operand 40 states and 46 transitions. [2020-07-10 15:25:58,676 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2020-07-10 15:25:58,676 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2020-07-10 15:25:58,676 INFO L88 GeneralOperation]: Finished isEquivalent. [2020-07-10 15:25:58,676 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2020-07-10 15:25:58,676 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 36 states. [2020-07-10 15:25:58,678 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 36 states to 36 states and 40 transitions. [2020-07-10 15:25:58,678 INFO L78 Accepts]: Start accepts. Automaton has 36 states and 40 transitions. Word has length 26 [2020-07-10 15:25:58,679 INFO L84 Accepts]: Finished accepts. word is rejected. [2020-07-10 15:25:58,679 INFO L479 AbstractCegarLoop]: Abstraction has 36 states and 40 transitions. [2020-07-10 15:25:58,679 INFO L480 AbstractCegarLoop]: Interpolant automaton has 6 states. [2020-07-10 15:25:58,679 INFO L276 IsEmpty]: Start isEmpty. Operand 36 states and 40 transitions. [2020-07-10 15:25:58,680 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 32 [2020-07-10 15:25:58,680 INFO L414 BasicCegarLoop]: Found error trace [2020-07-10 15:25:58,680 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-10 15:25:58,680 WARN L516 AbstractCegarLoop]: Destroyed unattended storables created during the last iteration: SelfDestructingSolverStorable2 [2020-07-10 15:25:58,681 INFO L427 AbstractCegarLoop]: === Iteration 4 === [__VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION]=== [2020-07-10 15:25:58,681 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2020-07-10 15:25:58,681 INFO L82 PathProgramCache]: Analyzing trace with hash -709829620, now seen corresponding path program 1 times [2020-07-10 15:25:58,681 INFO L163 FreeRefinementEngine]: Executing refinement strategy CAMEL [2020-07-10 15:25:58,681 INFO L354 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [1174260923] [2020-07-10 15:25:58,682 INFO L94 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2020-07-10 15:25:58,720 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2020-07-10 15:25:59,000 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2020-07-10 15:25:59,006 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-10 15:25:59,006 INFO L280 TraceCheckUtils]: 1: Hoare triple {750#true} assume true; {750#true} is VALID [2020-07-10 15:25:59,006 INFO L275 TraceCheckUtils]: 2: Hoare quadruple {750#true} {750#true} #98#return; {750#true} is VALID [2020-07-10 15:25:59,009 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2020-07-10 15:25:59,025 INFO L280 TraceCheckUtils]: 0: Hoare triple {750#true} ~cond := #in~cond; {750#true} is VALID [2020-07-10 15:25:59,025 INFO L280 TraceCheckUtils]: 1: Hoare triple {750#true} assume !(0 == ~cond); {750#true} is VALID [2020-07-10 15:25:59,025 INFO L280 TraceCheckUtils]: 2: Hoare triple {750#true} assume true; {750#true} is VALID [2020-07-10 15:25:59,043 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-10 15:25:59,044 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-10 15:25:59,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-10 15:25:59,045 INFO L280 TraceCheckUtils]: 2: Hoare triple {750#true} assume true; {750#true} is VALID [2020-07-10 15:25:59,045 INFO L275 TraceCheckUtils]: 3: Hoare quadruple {750#true} {750#true} #98#return; {750#true} is VALID [2020-07-10 15:25:59,045 INFO L263 TraceCheckUtils]: 4: Hoare triple {750#true} call #t~ret9 := main(); {750#true} is VALID [2020-07-10 15:25:59,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-10 15:25:59,047 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-10 15:25:59,049 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-10 15:25:59,049 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-10 15:25:59,050 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-10 15:25:59,051 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-10 15:25:59,052 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-10 15:25:59,052 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-10 15:25:59,053 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-10 15:25:59,053 INFO L280 TraceCheckUtils]: 14: Hoare triple {750#true} ~cond := #in~cond; {750#true} is VALID [2020-07-10 15:25:59,053 INFO L280 TraceCheckUtils]: 15: Hoare triple {750#true} assume !(0 == ~cond); {750#true} is VALID [2020-07-10 15:25:59,053 INFO L280 TraceCheckUtils]: 16: Hoare triple {750#true} assume true; {750#true} is VALID [2020-07-10 15:25:59,054 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-10 15:25:59,055 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-10 15:25:59,056 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-10 15:25:59,057 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-10 15:25:59,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-10 15:25:59,060 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-10 15:25:59,061 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-10 15:25:59,061 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-10 15:25:59,062 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-10 15:25:59,063 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-10 15:25:59,064 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-10 15:25:59,065 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-10 15:25:59,065 INFO L280 TraceCheckUtils]: 29: Hoare triple {766#(not (= 0 __VERIFIER_assert_~cond))} assume 0 == ~cond; {751#false} is VALID [2020-07-10 15:25:59,066 INFO L280 TraceCheckUtils]: 30: Hoare triple {751#false} assume !false; {751#false} is VALID [2020-07-10 15:25:59,070 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-10 15:25:59,070 INFO L354 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleSmtInterpolCraig [1174260923] [2020-07-10 15:25:59,070 INFO L354 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleZ3 [833577720] [2020-07-10 15:25:59,070 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-10 15:25:59,112 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2020-07-10 15:25:59,113 INFO L264 TraceCheckSpWp]: Trace formula consists of 116 conjuncts, 10 conjunts are in the unsatisfiable core [2020-07-10 15:25:59,126 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2020-07-10 15:25:59,128 INFO L287 TraceCheckSpWp]: Computing forward predicates... [2020-07-10 15:25:59,213 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-10 15:25:59,214 INFO L544 ElimStorePlain]: Start of recursive call 2: End of recursive call: and 1 xjuncts. [2020-07-10 15:25:59,223 INFO L624 ElimStorePlain]: treesize reduction 0, result has 100.0 percent of original size [2020-07-10 15:25:59,224 INFO L544 ElimStorePlain]: Start of recursive call 1: 1 dim-2 vars, End of recursive call: and 1 xjuncts. [2020-07-10 15:25:59,224 INFO L244 ElimStorePlain]: Needed 2 recursive calls to eliminate 1 variables, input treesize:24, output treesize:20 [2020-07-10 15:25:59,272 INFO L350 Elim1Store]: treesize reduction 21, result has 25.0 percent of original size [2020-07-10 15:25:59,273 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-10 15:25:59,276 INFO L544 ElimStorePlain]: Start of recursive call 2: End of recursive call: and 1 xjuncts. [2020-07-10 15:25:59,281 INFO L624 ElimStorePlain]: treesize reduction 0, result has 100.0 percent of original size [2020-07-10 15:25:59,282 INFO L544 ElimStorePlain]: Start of recursive call 1: 1 dim-2 vars, End of recursive call: and 1 xjuncts. [2020-07-10 15:25:59,282 INFO L244 ElimStorePlain]: Needed 2 recursive calls to eliminate 1 variables, input treesize:23, output treesize:17 [2020-07-10 15:25:59,375 INFO L350 Elim1Store]: treesize reduction 10, result has 73.0 percent of original size [2020-07-10 15:25:59,375 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-10 15:25:59,382 INFO L501 QuantifierPusher]: Distributing 2 conjuncts over 3 disjuncts [2020-07-10 15:25:59,387 INFO L501 QuantifierPusher]: Distributing 2 conjuncts over 2 disjuncts [2020-07-10 15:25:59,397 INFO L544 ElimStorePlain]: Start of recursive call 2: End of recursive call: and 2 xjuncts. [2020-07-10 15:25:59,413 INFO L624 ElimStorePlain]: treesize reduction 31, result has 18.4 percent of original size [2020-07-10 15:25:59,413 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-10 15:25:59,414 INFO L244 ElimStorePlain]: Needed 2 recursive calls to eliminate 3 variables, input treesize:31, output treesize:7 [2020-07-10 15:25:59,417 WARN L406 uantifierElimination]: Trying to double check SDD result, but SMT solver's response was UNKNOWN. [2020-07-10 15:25:59,418 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-10 15:25:59,419 WARN L408 uantifierElimination]: ElimStorePlain result: ∃ []. (and (<= |main_#t~mem8| 0) (= 0 main_~i~0)) [2020-07-10 15:25:59,448 INFO L501 QuantifierPusher]: Distributing 2 conjuncts over 2 disjuncts [2020-07-10 15:25:59,490 INFO L263 TraceCheckUtils]: 0: Hoare triple {750#true} call ULTIMATE.init(); {750#true} is VALID [2020-07-10 15:25:59,490 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-10 15:25:59,490 INFO L280 TraceCheckUtils]: 2: Hoare triple {750#true} assume true; {750#true} is VALID [2020-07-10 15:25:59,491 INFO L275 TraceCheckUtils]: 3: Hoare quadruple {750#true} {750#true} #98#return; {750#true} is VALID [2020-07-10 15:25:59,491 INFO L263 TraceCheckUtils]: 4: Hoare triple {750#true} call #t~ret9 := main(); {750#true} is VALID [2020-07-10 15:25:59,491 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-10 15:25:59,492 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-10 15:25:59,492 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-10 15:25:59,492 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-10 15:25:59,492 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-10 15:25:59,492 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-10 15:25:59,493 INFO L280 TraceCheckUtils]: 11: Hoare triple {750#true} assume !(~i~0 < ~SIZE~0); {750#true} is VALID [2020-07-10 15:25:59,493 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-10 15:25:59,493 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-10 15:25:59,493 INFO L280 TraceCheckUtils]: 14: Hoare triple {750#true} ~cond := #in~cond; {750#true} is VALID [2020-07-10 15:25:59,494 INFO L280 TraceCheckUtils]: 15: Hoare triple {750#true} assume !(0 == ~cond); {750#true} is VALID [2020-07-10 15:25:59,494 INFO L280 TraceCheckUtils]: 16: Hoare triple {750#true} assume true; {750#true} is VALID [2020-07-10 15:25:59,494 INFO L275 TraceCheckUtils]: 17: Hoare quadruple {750#true} {750#true} #94#return; {750#true} is VALID [2020-07-10 15:25:59,495 INFO L280 TraceCheckUtils]: 18: Hoare triple {750#true} ~i~0 := 1; {825#(= 1 main_~i~0)} is VALID [2020-07-10 15:25:59,496 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-10 15:25:59,498 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-10 15:25:59,499 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-10 15:25:59,504 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-10 15:25:59,507 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-10 15:25:59,508 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-10 15:25:59,509 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-10 15:25:59,510 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-10 15:25:59,512 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-10 15:25:59,513 INFO L280 TraceCheckUtils]: 28: Hoare triple {856#(<= 1 |__VERIFIER_assert_#in~cond|)} ~cond := #in~cond; {860#(<= 1 __VERIFIER_assert_~cond)} is VALID [2020-07-10 15:25:59,513 INFO L280 TraceCheckUtils]: 29: Hoare triple {860#(<= 1 __VERIFIER_assert_~cond)} assume 0 == ~cond; {751#false} is VALID [2020-07-10 15:25:59,514 INFO L280 TraceCheckUtils]: 30: Hoare triple {751#false} assume !false; {751#false} is VALID [2020-07-10 15:25:59,515 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-10 15:25:59,516 INFO L220 FreeRefinementEngine]: Constructing automaton from 0 perfect and 2 imperfect interpolant sequences. [2020-07-10 15:25:59,516 INFO L233 FreeRefinementEngine]: Number of different interpolants: perfect sequences [] imperfect sequences [11, 9] total 17 [2020-07-10 15:25:59,516 INFO L156 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [587383176] [2020-07-10 15:25:59,517 INFO L78 Accepts]: Start accepts. Automaton has 17 states. Word has length 31 [2020-07-10 15:25:59,517 INFO L84 Accepts]: Finished accepts. word is accepted. [2020-07-10 15:25:59,518 INFO L86 InductivityCheck]: Starting indutivity check of a Floyd-Hoare automaton with 17 states. [2020-07-10 15:25:59,577 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-10 15:25:59,577 INFO L459 AbstractCegarLoop]: Interpolant automaton has 17 states [2020-07-10 15:25:59,577 INFO L143 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy CAMEL [2020-07-10 15:25:59,578 INFO L142 InterpolantAutomaton]: Constructing interpolant automaton starting with 17 interpolants. [2020-07-10 15:25:59,578 INFO L144 InterpolantAutomaton]: CoverageRelationStatistics Valid=45, Invalid=227, Unknown=0, NotChecked=0, Total=272 [2020-07-10 15:25:59,578 INFO L87 Difference]: Start difference. First operand 36 states and 40 transitions. Second operand 17 states. [2020-07-10 15:26:01,569 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2020-07-10 15:26:01,570 INFO L93 Difference]: Finished difference Result 86 states and 104 transitions. [2020-07-10 15:26:01,570 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 17 states. [2020-07-10 15:26:01,570 INFO L78 Accepts]: Start accepts. Automaton has 17 states. Word has length 31 [2020-07-10 15:26:01,571 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2020-07-10 15:26:01,571 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 17 states. [2020-07-10 15:26:01,596 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 17 states to 17 states and 101 transitions. [2020-07-10 15:26:01,596 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 17 states. [2020-07-10 15:26:01,601 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 17 states to 17 states and 101 transitions. [2020-07-10 15:26:01,603 INFO L86 InductivityCheck]: Starting indutivity check of a Floyd-Hoare automaton with 17 states and 101 transitions. [2020-07-10 15:26:01,745 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-10 15:26:01,748 INFO L225 Difference]: With dead ends: 86 [2020-07-10 15:26:01,748 INFO L226 Difference]: Without dead ends: 84 [2020-07-10 15:26:01,748 INFO L675 BasicCegarLoop]: 0 DeclaredPredicates, 53 GetRequests, 29 SyntacticMatches, 0 SemanticMatches, 24 ConstructedPredicates, 0 IntricatePredicates, 0 DeprecatedPredicates, 143 ImplicationChecksByTransitivity, 0.5s TimeCoverageRelationStatistics Valid=111, Invalid=539, Unknown=0, NotChecked=0, Total=650 [2020-07-10 15:26:01,749 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 84 states. [2020-07-10 15:26:01,806 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 84 to 49. [2020-07-10 15:26:01,806 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2020-07-10 15:26:01,806 INFO L82 GeneralOperation]: Start isEquivalent. First operand 84 states. Second operand 49 states. [2020-07-10 15:26:01,806 INFO L74 IsIncluded]: Start isIncluded. First operand 84 states. Second operand 49 states. [2020-07-10 15:26:01,806 INFO L87 Difference]: Start difference. First operand 84 states. Second operand 49 states. [2020-07-10 15:26:01,812 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2020-07-10 15:26:01,812 INFO L93 Difference]: Finished difference Result 84 states and 102 transitions. [2020-07-10 15:26:01,813 INFO L276 IsEmpty]: Start isEmpty. Operand 84 states and 102 transitions. [2020-07-10 15:26:01,814 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2020-07-10 15:26:01,814 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2020-07-10 15:26:01,814 INFO L74 IsIncluded]: Start isIncluded. First operand 49 states. Second operand 84 states. [2020-07-10 15:26:01,814 INFO L87 Difference]: Start difference. First operand 49 states. Second operand 84 states. [2020-07-10 15:26:01,819 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2020-07-10 15:26:01,819 INFO L93 Difference]: Finished difference Result 84 states and 102 transitions. [2020-07-10 15:26:01,820 INFO L276 IsEmpty]: Start isEmpty. Operand 84 states and 102 transitions. [2020-07-10 15:26:01,821 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2020-07-10 15:26:01,821 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2020-07-10 15:26:01,821 INFO L88 GeneralOperation]: Finished isEquivalent. [2020-07-10 15:26:01,821 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2020-07-10 15:26:01,821 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 49 states. [2020-07-10 15:26:01,824 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 49 states to 49 states and 57 transitions. [2020-07-10 15:26:01,824 INFO L78 Accepts]: Start accepts. Automaton has 49 states and 57 transitions. Word has length 31 [2020-07-10 15:26:01,824 INFO L84 Accepts]: Finished accepts. word is rejected. [2020-07-10 15:26:01,824 INFO L479 AbstractCegarLoop]: Abstraction has 49 states and 57 transitions. [2020-07-10 15:26:01,824 INFO L480 AbstractCegarLoop]: Interpolant automaton has 17 states. [2020-07-10 15:26:01,825 INFO L276 IsEmpty]: Start isEmpty. Operand 49 states and 57 transitions. [2020-07-10 15:26:01,825 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 32 [2020-07-10 15:26:01,825 INFO L414 BasicCegarLoop]: Found error trace [2020-07-10 15:26:01,826 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-10 15:26:02,038 WARN L516 AbstractCegarLoop]: Destroyed unattended storables created during the last iteration: SelfDestructingSolverStorable3,3 z3 -smt2 -in SMTLIB2_COMPLIANT=true [2020-07-10 15:26:02,039 INFO L427 AbstractCegarLoop]: === Iteration 5 === [__VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION]=== [2020-07-10 15:26:02,039 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2020-07-10 15:26:02,039 INFO L82 PathProgramCache]: Analyzing trace with hash -8765042, now seen corresponding path program 1 times [2020-07-10 15:26:02,039 INFO L163 FreeRefinementEngine]: Executing refinement strategy CAMEL [2020-07-10 15:26:02,040 INFO L354 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [1955017879] [2020-07-10 15:26:02,040 INFO L94 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2020-07-10 15:26:02,068 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is sat [2020-07-10 15:26:02,098 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is sat [2020-07-10 15:26:02,125 INFO L174 FreeRefinementEngine]: Strategy CAMEL found a feasible trace [2020-07-10 15:26:02,126 INFO L520 BasicCegarLoop]: Counterexample might be feasible [2020-07-10 15:26:02,126 WARN L516 AbstractCegarLoop]: Destroyed unattended storables created during the last iteration: SelfDestructingSolverStorable4 [2020-07-10 15:26:02,173 WARN L170 areAnnotationChecker]: ULTIMATE.initENTRY has no Hoare annotation [2020-07-10 15:26:02,174 WARN L170 areAnnotationChecker]: ULTIMATE.startENTRY has no Hoare annotation [2020-07-10 15:26:02,174 WARN L170 areAnnotationChecker]: ULTIMATE.startENTRY has no Hoare annotation [2020-07-10 15:26:02,174 WARN L170 areAnnotationChecker]: assume_abort_if_notENTRY has no Hoare annotation [2020-07-10 15:26:02,174 WARN L170 areAnnotationChecker]: mainENTRY has no Hoare annotation [2020-07-10 15:26:02,174 WARN L170 areAnnotationChecker]: __VERIFIER_assertENTRY has no Hoare annotation [2020-07-10 15:26:02,174 WARN L170 areAnnotationChecker]: ULTIMATE.initFINAL has no Hoare annotation [2020-07-10 15:26:02,174 WARN L170 areAnnotationChecker]: L-1 has no Hoare annotation [2020-07-10 15:26:02,174 WARN L170 areAnnotationChecker]: L-1 has no Hoare annotation [2020-07-10 15:26:02,175 WARN L170 areAnnotationChecker]: L4 has no Hoare annotation [2020-07-10 15:26:02,175 WARN L170 areAnnotationChecker]: L4 has no Hoare annotation [2020-07-10 15:26:02,175 WARN L170 areAnnotationChecker]: L17 has no Hoare annotation [2020-07-10 15:26:02,175 WARN L170 areAnnotationChecker]: L17 has no Hoare annotation [2020-07-10 15:26:02,175 WARN L170 areAnnotationChecker]: L6 has no Hoare annotation [2020-07-10 15:26:02,175 WARN L170 areAnnotationChecker]: L6 has no Hoare annotation [2020-07-10 15:26:02,175 WARN L170 areAnnotationChecker]: ULTIMATE.initEXIT has no Hoare annotation [2020-07-10 15:26:02,175 WARN L170 areAnnotationChecker]: ULTIMATE.startFINAL has no Hoare annotation [2020-07-10 15:26:02,176 WARN L170 areAnnotationChecker]: L4-2 has no Hoare annotation [2020-07-10 15:26:02,176 WARN L170 areAnnotationChecker]: L22-3 has no Hoare annotation [2020-07-10 15:26:02,176 WARN L170 areAnnotationChecker]: L22-3 has no Hoare annotation [2020-07-10 15:26:02,176 WARN L170 areAnnotationChecker]: L22-3 has no Hoare annotation [2020-07-10 15:26:02,176 WARN L170 areAnnotationChecker]: L17-1 has no Hoare annotation [2020-07-10 15:26:02,176 WARN L170 areAnnotationChecker]: L6-1 has no Hoare annotation [2020-07-10 15:26:02,176 WARN L170 areAnnotationChecker]: L6-1 has no Hoare annotation [2020-07-10 15:26:02,176 WARN L170 areAnnotationChecker]: L6-3 has no Hoare annotation [2020-07-10 15:26:02,177 WARN L170 areAnnotationChecker]: assume_abort_if_notEXIT has no Hoare annotation [2020-07-10 15:26:02,177 WARN L170 areAnnotationChecker]: L22-4 has no Hoare annotation [2020-07-10 15:26:02,177 WARN L170 areAnnotationChecker]: L22-4 has no Hoare annotation [2020-07-10 15:26:02,177 WARN L170 areAnnotationChecker]: L22-2 has no Hoare annotation [2020-07-10 15:26:02,177 WARN L170 areAnnotationChecker]: mainFINAL has no Hoare annotation [2020-07-10 15:26:02,177 WARN L170 areAnnotationChecker]: __VERIFIER_assertEXIT has no Hoare annotation [2020-07-10 15:26:02,177 WARN L170 areAnnotationChecker]: L29-1 has no Hoare annotation [2020-07-10 15:26:02,177 WARN L170 areAnnotationChecker]: L29 has no Hoare annotation [2020-07-10 15:26:02,177 WARN L170 areAnnotationChecker]: L29 has no Hoare annotation [2020-07-10 15:26:02,178 WARN L170 areAnnotationChecker]: mainEXIT has no Hoare annotation [2020-07-10 15:26:02,178 WARN L170 areAnnotationChecker]: L44-1 has no Hoare annotation [2020-07-10 15:26:02,178 WARN L170 areAnnotationChecker]: L30-3 has no Hoare annotation [2020-07-10 15:26:02,178 WARN L170 areAnnotationChecker]: L30-3 has no Hoare annotation [2020-07-10 15:26:02,178 WARN L170 areAnnotationChecker]: L30-3 has no Hoare annotation [2020-07-10 15:26:02,178 WARN L170 areAnnotationChecker]: L42-2 has no Hoare annotation [2020-07-10 15:26:02,178 WARN L170 areAnnotationChecker]: L30-4 has no Hoare annotation [2020-07-10 15:26:02,178 WARN L170 areAnnotationChecker]: L32 has no Hoare annotation [2020-07-10 15:26:02,178 WARN L170 areAnnotationChecker]: L32 has no Hoare annotation [2020-07-10 15:26:02,179 WARN L170 areAnnotationChecker]: L42-3 has no Hoare annotation [2020-07-10 15:26:02,179 WARN L170 areAnnotationChecker]: L42-3 has no Hoare annotation [2020-07-10 15:26:02,179 WARN L170 areAnnotationChecker]: L42-3 has no Hoare annotation [2020-07-10 15:26:02,179 WARN L170 areAnnotationChecker]: L32-2 has no Hoare annotation [2020-07-10 15:26:02,179 WARN L170 areAnnotationChecker]: L44 has no Hoare annotation [2020-07-10 15:26:02,179 WARN L170 areAnnotationChecker]: L44 has no Hoare annotation [2020-07-10 15:26:02,179 WARN L170 areAnnotationChecker]: L36 has no Hoare annotation [2020-07-10 15:26:02,179 WARN L170 areAnnotationChecker]: L36 has no Hoare annotation [2020-07-10 15:26:02,179 WARN L170 areAnnotationChecker]: L30-2 has no Hoare annotation [2020-07-10 15:26:02,180 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-10 15:26:02,182 INFO L202 PluginConnector]: Adding new model de.uni_freiburg.informatik.ultimate.plugins.generator.traceabstraction CFG 10.07 03:26:02 BoogieIcfgContainer [2020-07-10 15:26:02,182 INFO L132 PluginConnector]: ------------------------ END TraceAbstraction---------------------------- [2020-07-10 15:26:02,185 INFO L168 Benchmark]: Toolchain (without parser) took 7895.71 ms. Allocated memory was 145.2 MB in the beginning and 299.9 MB in the end (delta: 154.7 MB). Free memory was 101.9 MB in the beginning and 222.7 MB in the end (delta: -120.9 MB). Peak memory consumption was 33.8 MB. Max. memory is 7.1 GB. [2020-07-10 15:26:02,185 INFO L168 Benchmark]: CDTParser took 0.22 ms. Allocated memory is still 145.2 MB. Free memory was 120.2 MB in the beginning and 120.0 MB in the end (delta: 210.1 kB). Peak memory consumption was 210.1 kB. Max. memory is 7.1 GB. [2020-07-10 15:26:02,186 INFO L168 Benchmark]: CACSL2BoogieTranslator took 321.61 ms. Allocated memory is still 145.2 MB. Free memory was 101.7 MB in the beginning and 90.7 MB in the end (delta: 11.0 MB). Peak memory consumption was 11.0 MB. Max. memory is 7.1 GB. [2020-07-10 15:26:02,187 INFO L168 Benchmark]: Boogie Preprocessor took 166.95 ms. Allocated memory was 145.2 MB in the beginning and 202.4 MB in the end (delta: 57.1 MB). Free memory was 90.7 MB in the beginning and 179.9 MB in the end (delta: -89.2 MB). Peak memory consumption was 9.6 MB. Max. memory is 7.1 GB. [2020-07-10 15:26:02,188 INFO L168 Benchmark]: RCFGBuilder took 513.07 ms. Allocated memory is still 202.4 MB. Free memory was 179.9 MB in the beginning and 152.6 MB in the end (delta: 27.2 MB). Peak memory consumption was 27.2 MB. Max. memory is 7.1 GB. [2020-07-10 15:26:02,189 INFO L168 Benchmark]: TraceAbstraction took 6888.04 ms. Allocated memory was 202.4 MB in the beginning and 299.9 MB in the end (delta: 97.5 MB). Free memory was 152.0 MB in the beginning and 222.7 MB in the end (delta: -70.8 MB). Peak memory consumption was 26.8 MB. Max. memory is 7.1 GB. [2020-07-10 15:26:02,192 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 145.2 MB. Free memory was 120.2 MB in the beginning and 120.0 MB in the end (delta: 210.1 kB). Peak memory consumption was 210.1 kB. Max. memory is 7.1 GB. * CACSL2BoogieTranslator took 321.61 ms. Allocated memory is still 145.2 MB. Free memory was 101.7 MB in the beginning and 90.7 MB in the end (delta: 11.0 MB). Peak memory consumption was 11.0 MB. Max. memory is 7.1 GB. * Boogie Preprocessor took 166.95 ms. Allocated memory was 145.2 MB in the beginning and 202.4 MB in the end (delta: 57.1 MB). Free memory was 90.7 MB in the beginning and 179.9 MB in the end (delta: -89.2 MB). Peak memory consumption was 9.6 MB. Max. memory is 7.1 GB. * RCFGBuilder took 513.07 ms. Allocated memory is still 202.4 MB. Free memory was 179.9 MB in the beginning and 152.6 MB in the end (delta: 27.2 MB). Peak memory consumption was 27.2 MB. Max. memory is 7.1 GB. * TraceAbstraction took 6888.04 ms. Allocated memory was 202.4 MB in the beginning and 299.9 MB in the end (delta: 97.5 MB). Free memory was 152.0 MB in the beginning and 222.7 MB in the end (delta: -70.8 MB). Peak memory consumption was 26.8 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: 6.7s, OverallIterations: 5, TraceHistogramMax: 2, AutomataDifference: 3.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.1s Time, PredicateUnifierStatistics: 0 DeclaredPredicates, 103 GetRequests, 67 SyntacticMatches, 0 SemanticMatches, 36 ConstructedPredicates, 0 IntricatePredicates, 0 DeprecatedPredicates, 146 ImplicationChecksByTransitivity, 0.8s 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.1s SatisfiabilityAnalysisTime, 1.5s 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...