/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/automizer/acceleratedInterpolation/acceleratedInterpolationFastUPR_32.epf -i ../../../trunk/examples/svcomp/array-tiling/skippedu.c -------------------------------------------------------------------------------- This is Ultimate 0.1.25-46f3038-m [2020-07-08 17:35:52,051 INFO L177 SettingsManager]: Resetting all preferences to default values... [2020-07-08 17:35:52,053 INFO L181 SettingsManager]: Resetting UltimateCore preferences to default values [2020-07-08 17:35:52,066 INFO L184 SettingsManager]: Ultimate Commandline Interface provides no preferences, ignoring... [2020-07-08 17:35:52,067 INFO L181 SettingsManager]: Resetting Boogie Preprocessor preferences to default values [2020-07-08 17:35:52,068 INFO L181 SettingsManager]: Resetting Boogie Procedure Inliner preferences to default values [2020-07-08 17:35:52,070 INFO L181 SettingsManager]: Resetting Abstract Interpretation preferences to default values [2020-07-08 17:35:52,072 INFO L181 SettingsManager]: Resetting LassoRanker preferences to default values [2020-07-08 17:35:52,073 INFO L181 SettingsManager]: Resetting Reaching Definitions preferences to default values [2020-07-08 17:35:52,074 INFO L181 SettingsManager]: Resetting SyntaxChecker preferences to default values [2020-07-08 17:35:52,075 INFO L181 SettingsManager]: Resetting Sifa preferences to default values [2020-07-08 17:35:52,076 INFO L184 SettingsManager]: Büchi Program Product provides no preferences, ignoring... [2020-07-08 17:35:52,076 INFO L181 SettingsManager]: Resetting LTL2Aut preferences to default values [2020-07-08 17:35:52,077 INFO L181 SettingsManager]: Resetting PEA to Boogie preferences to default values [2020-07-08 17:35:52,079 INFO L181 SettingsManager]: Resetting BlockEncodingV2 preferences to default values [2020-07-08 17:35:52,080 INFO L181 SettingsManager]: Resetting ChcToBoogie preferences to default values [2020-07-08 17:35:52,081 INFO L181 SettingsManager]: Resetting AutomataScriptInterpreter preferences to default values [2020-07-08 17:35:52,081 INFO L181 SettingsManager]: Resetting BuchiAutomizer preferences to default values [2020-07-08 17:35:52,083 INFO L181 SettingsManager]: Resetting CACSL2BoogieTranslator preferences to default values [2020-07-08 17:35:52,085 INFO L181 SettingsManager]: Resetting CodeCheck preferences to default values [2020-07-08 17:35:52,087 INFO L181 SettingsManager]: Resetting InvariantSynthesis preferences to default values [2020-07-08 17:35:52,088 INFO L181 SettingsManager]: Resetting RCFGBuilder preferences to default values [2020-07-08 17:35:52,089 INFO L181 SettingsManager]: Resetting Referee preferences to default values [2020-07-08 17:35:52,090 INFO L181 SettingsManager]: Resetting TraceAbstraction preferences to default values [2020-07-08 17:35:52,093 INFO L184 SettingsManager]: TraceAbstractionConcurrent provides no preferences, ignoring... [2020-07-08 17:35:52,093 INFO L184 SettingsManager]: TraceAbstractionWithAFAs provides no preferences, ignoring... [2020-07-08 17:35:52,093 INFO L181 SettingsManager]: Resetting TreeAutomizer preferences to default values [2020-07-08 17:35:52,094 INFO L181 SettingsManager]: Resetting IcfgToChc preferences to default values [2020-07-08 17:35:52,095 INFO L181 SettingsManager]: Resetting IcfgTransformer preferences to default values [2020-07-08 17:35:52,096 INFO L184 SettingsManager]: ReqToTest provides no preferences, ignoring... [2020-07-08 17:35:52,096 INFO L181 SettingsManager]: Resetting Boogie Printer preferences to default values [2020-07-08 17:35:52,097 INFO L181 SettingsManager]: Resetting ChcSmtPrinter preferences to default values [2020-07-08 17:35:52,098 INFO L181 SettingsManager]: Resetting ReqPrinter preferences to default values [2020-07-08 17:35:52,098 INFO L181 SettingsManager]: Resetting Witness Printer preferences to default values [2020-07-08 17:35:52,099 INFO L184 SettingsManager]: Boogie PL CUP Parser provides no preferences, ignoring... [2020-07-08 17:35:52,100 INFO L181 SettingsManager]: Resetting CDTParser preferences to default values [2020-07-08 17:35:52,100 INFO L184 SettingsManager]: AutomataScriptParser provides no preferences, ignoring... [2020-07-08 17:35:52,101 INFO L184 SettingsManager]: ReqParser provides no preferences, ignoring... [2020-07-08 17:35:52,101 INFO L181 SettingsManager]: Resetting SmtParser preferences to default values [2020-07-08 17:35:52,102 INFO L181 SettingsManager]: Resetting Witness Parser preferences to default values [2020-07-08 17:35:52,102 INFO L188 SettingsManager]: Finished resetting all preferences to default values... [2020-07-08 17:35:52,103 INFO L101 SettingsManager]: Beginning loading settings from /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/../../../trunk/examples/settings/automizer/acceleratedInterpolation/acceleratedInterpolationFastUPR_32.epf [2020-07-08 17:35:52,112 INFO L113 SettingsManager]: Loading preferences was successful [2020-07-08 17:35:52,113 INFO L115 SettingsManager]: Preferences different from defaults after loading the file: [2020-07-08 17:35:52,114 INFO L136 SettingsManager]: Preferences of CACSL2BoogieTranslator differ from their defaults: [2020-07-08 17:35:52,114 INFO L138 SettingsManager]: * sizeof long=4 [2020-07-08 17:35:52,114 INFO L138 SettingsManager]: * Overapproximate operations on floating types=true [2020-07-08 17:35:52,115 INFO L138 SettingsManager]: * sizeof POINTER=4 [2020-07-08 17:35:52,115 INFO L138 SettingsManager]: * Check division by zero=IGNORE [2020-07-08 17:35:52,115 INFO L138 SettingsManager]: * Pointer to allocated memory at dereference=IGNORE [2020-07-08 17:35:52,115 INFO L138 SettingsManager]: * If two pointers are subtracted or compared they have the same base address=IGNORE [2020-07-08 17:35:52,115 INFO L138 SettingsManager]: * Check array bounds for arrays that are off heap=IGNORE [2020-07-08 17:35:52,115 INFO L138 SettingsManager]: * sizeof long double=12 [2020-07-08 17:35:52,116 INFO L138 SettingsManager]: * Check if freed pointer was valid=false [2020-07-08 17:35:52,116 INFO L138 SettingsManager]: * Use constant arrays=true [2020-07-08 17:35:52,116 INFO L138 SettingsManager]: * Pointer base address is valid at dereference=IGNORE [2020-07-08 17:35:52,116 INFO L136 SettingsManager]: Preferences of RCFGBuilder differ from their defaults: [2020-07-08 17:35:52,117 INFO L138 SettingsManager]: * Size of a code block=SingleStatement [2020-07-08 17:35:52,117 INFO L138 SettingsManager]: * To the following directory=./dump/ [2020-07-08 17:35:52,117 INFO L138 SettingsManager]: * SMT solver=External_DefaultMode [2020-07-08 17:35:52,117 INFO L138 SettingsManager]: * Command for external solver=z3 SMTLIB2_COMPLIANT=true -memory:2024 -smt2 -in -t:2000 [2020-07-08 17:35:52,117 INFO L136 SettingsManager]: Preferences of TraceAbstraction differ from their defaults: [2020-07-08 17:35:52,118 INFO L138 SettingsManager]: * Compute Interpolants along a Counterexample=AcceleratedInterpolation [2020-07-08 17:35:52,118 INFO L138 SettingsManager]: * Compute Hoare Annotation of negated interpolant automaton, abstraction and CFG=true [2020-07-08 17:35:52,118 INFO L138 SettingsManager]: * Use separate solver for trace checks=false [2020-07-08 17:35:52,440 INFO L81 nceAwareModelManager]: Repository-Root is: /tmp [2020-07-08 17:35:52,452 INFO L258 ainManager$Toolchain]: [Toolchain 1]: Applicable parser(s) successfully (re)initialized [2020-07-08 17:35:52,456 INFO L214 ainManager$Toolchain]: [Toolchain 1]: Toolchain selected. [2020-07-08 17:35:52,457 INFO L271 PluginConnector]: Initializing CDTParser... [2020-07-08 17:35:52,457 INFO L275 PluginConnector]: CDTParser initialized [2020-07-08 17:35:52,458 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-08 17:35:52,525 INFO L220 CDTParser]: Created temporary CDT project at /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/data/2cd988ebd/1f7651a8a5b14380bfadf27d532f2286/FLAGc4f941355 [2020-07-08 17:35:52,982 INFO L306 CDTParser]: Found 1 translation units. [2020-07-08 17:35:52,983 INFO L160 CDTParser]: Scanning /storage/repos/ultimate/trunk/examples/svcomp/array-tiling/skippedu.c [2020-07-08 17:35:52,990 INFO L349 CDTParser]: About to delete temporary CDT project at /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/data/2cd988ebd/1f7651a8a5b14380bfadf27d532f2286/FLAGc4f941355 [2020-07-08 17:35:53,339 INFO L357 CDTParser]: Successfully deleted /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/data/2cd988ebd/1f7651a8a5b14380bfadf27d532f2286 [2020-07-08 17:35:53,349 INFO L296 ainManager$Toolchain]: ####################### [Toolchain 1] ####################### [2020-07-08 17:35:53,352 INFO L131 ToolchainWalker]: Walking toolchain with 4 elements. [2020-07-08 17:35:53,353 INFO L113 PluginConnector]: ------------------------CACSL2BoogieTranslator---------------------------- [2020-07-08 17:35:53,353 INFO L271 PluginConnector]: Initializing CACSL2BoogieTranslator... [2020-07-08 17:35:53,359 INFO L275 PluginConnector]: CACSL2BoogieTranslator initialized [2020-07-08 17:35:53,362 INFO L185 PluginConnector]: Executing the observer ACSLObjectContainerObserver from plugin CACSL2BoogieTranslator for "CDTParser AST 08.07 05:35:53" (1/1) ... [2020-07-08 17:35:53,366 INFO L205 PluginConnector]: Invalid model from CACSL2BoogieTranslator for observer de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator.ACSLObjectContainerObserver@714eb6f6 and model type de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 08.07 05:35:53, skipping insertion in model container [2020-07-08 17:35:53,367 INFO L185 PluginConnector]: Executing the observer CACSL2BoogieTranslatorObserver from plugin CACSL2BoogieTranslator for "CDTParser AST 08.07 05:35:53" (1/1) ... [2020-07-08 17:35:53,375 INFO L145 MainTranslator]: Starting translation in SV-COMP mode [2020-07-08 17:35:53,400 INFO L178 MainTranslator]: Built tables and reachable declarations [2020-07-08 17:35:53,639 INFO L206 PostProcessor]: Analyzing one entry point: main [2020-07-08 17:35:53,652 INFO L203 MainTranslator]: Completed pre-run [2020-07-08 17:35:53,677 INFO L206 PostProcessor]: Analyzing one entry point: main [2020-07-08 17:35:53,696 INFO L208 MainTranslator]: Completed translation [2020-07-08 17:35:53,697 INFO L202 PluginConnector]: Adding new model de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 08.07 05:35:53 WrapperNode [2020-07-08 17:35:53,697 INFO L132 PluginConnector]: ------------------------ END CACSL2BoogieTranslator---------------------------- [2020-07-08 17:35:53,698 INFO L113 PluginConnector]: ------------------------Boogie Preprocessor---------------------------- [2020-07-08 17:35:53,698 INFO L271 PluginConnector]: Initializing Boogie Preprocessor... [2020-07-08 17:35:53,698 INFO L275 PluginConnector]: Boogie Preprocessor initialized [2020-07-08 17:35:53,789 INFO L185 PluginConnector]: Executing the observer EnsureBoogieModelObserver from plugin Boogie Preprocessor for "de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 08.07 05:35:53" (1/1) ... [2020-07-08 17:35:53,790 INFO L185 PluginConnector]: Executing the observer TypeChecker from plugin Boogie Preprocessor for "de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 08.07 05:35:53" (1/1) ... [2020-07-08 17:35:53,814 INFO L185 PluginConnector]: Executing the observer ConstExpander from plugin Boogie Preprocessor for "de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 08.07 05:35:53" (1/1) ... [2020-07-08 17:35:53,814 INFO L185 PluginConnector]: Executing the observer StructExpander from plugin Boogie Preprocessor for "de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 08.07 05:35:53" (1/1) ... [2020-07-08 17:35:53,834 INFO L185 PluginConnector]: Executing the observer UnstructureCode from plugin Boogie Preprocessor for "de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 08.07 05:35:53" (1/1) ... [2020-07-08 17:35:53,842 INFO L185 PluginConnector]: Executing the observer FunctionInliner from plugin Boogie Preprocessor for "de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 08.07 05:35:53" (1/1) ... [2020-07-08 17:35:53,844 INFO L185 PluginConnector]: Executing the observer BoogieSymbolTableConstructor from plugin Boogie Preprocessor for "de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 08.07 05:35:53" (1/1) ... [2020-07-08 17:35:53,847 INFO L132 PluginConnector]: ------------------------ END Boogie Preprocessor---------------------------- [2020-07-08 17:35:53,847 INFO L113 PluginConnector]: ------------------------RCFGBuilder---------------------------- [2020-07-08 17:35:53,847 INFO L271 PluginConnector]: Initializing RCFGBuilder... [2020-07-08 17:35:53,848 INFO L275 PluginConnector]: RCFGBuilder initialized [2020-07-08 17:35:53,849 INFO L185 PluginConnector]: Executing the observer RCFGBuilderObserver from plugin RCFGBuilder for "de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 08.07 05:35:53" (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-08 17:35:53,915 INFO L138 BoogieDeclarations]: Found implementation of procedure ULTIMATE.init [2020-07-08 17:35:53,915 INFO L138 BoogieDeclarations]: Found implementation of procedure ULTIMATE.start [2020-07-08 17:35:53,915 INFO L138 BoogieDeclarations]: Found implementation of procedure assume_abort_if_not [2020-07-08 17:35:53,915 INFO L138 BoogieDeclarations]: Found implementation of procedure __VERIFIER_assert [2020-07-08 17:35:53,915 INFO L138 BoogieDeclarations]: Found implementation of procedure main [2020-07-08 17:35:53,916 INFO L130 BoogieDeclarations]: Found specification of procedure __VERIFIER_error [2020-07-08 17:35:53,916 INFO L130 BoogieDeclarations]: Found specification of procedure abort [2020-07-08 17:35:53,916 INFO L130 BoogieDeclarations]: Found specification of procedure assume_abort_if_not [2020-07-08 17:35:53,916 INFO L130 BoogieDeclarations]: Found specification of procedure __VERIFIER_assert [2020-07-08 17:35:53,916 INFO L130 BoogieDeclarations]: Found specification of procedure __VERIFIER_nondet_int [2020-07-08 17:35:53,916 INFO L130 BoogieDeclarations]: Found specification of procedure malloc [2020-07-08 17:35:53,917 INFO L130 BoogieDeclarations]: Found specification of procedure main [2020-07-08 17:35:53,917 INFO L130 BoogieDeclarations]: Found specification of procedure #Ultimate.allocOnHeap [2020-07-08 17:35:53,917 INFO L130 BoogieDeclarations]: Found specification of procedure write~int [2020-07-08 17:35:53,917 INFO L130 BoogieDeclarations]: Found specification of procedure read~int [2020-07-08 17:35:53,917 INFO L130 BoogieDeclarations]: Found specification of procedure ULTIMATE.init [2020-07-08 17:35:53,917 INFO L130 BoogieDeclarations]: Found specification of procedure ULTIMATE.start [2020-07-08 17:35:53,918 INFO L130 BoogieDeclarations]: Found specification of procedure ULTIMATE.dealloc [2020-07-08 17:35:54,427 INFO L290 CfgBuilder]: Using the 1 location(s) as analysis (start of procedure ULTIMATE.start) [2020-07-08 17:35:54,427 INFO L295 CfgBuilder]: Removed 3 assume(true) statements. [2020-07-08 17:35:54,432 INFO L202 PluginConnector]: Adding new model de.uni_freiburg.informatik.ultimate.plugins.generator.rcfgbuilder CFG 08.07 05:35:54 BoogieIcfgContainer [2020-07-08 17:35:54,432 INFO L132 PluginConnector]: ------------------------ END RCFGBuilder---------------------------- [2020-07-08 17:35:54,434 INFO L113 PluginConnector]: ------------------------TraceAbstraction---------------------------- [2020-07-08 17:35:54,434 INFO L271 PluginConnector]: Initializing TraceAbstraction... [2020-07-08 17:35:54,437 INFO L275 PluginConnector]: TraceAbstraction initialized [2020-07-08 17:35:54,438 INFO L185 PluginConnector]: Executing the observer TraceAbstractionObserver from plugin TraceAbstraction for "CDTParser AST 08.07 05:35:53" (1/3) ... [2020-07-08 17:35:54,439 INFO L205 PluginConnector]: Invalid model from TraceAbstraction for observer de.uni_freiburg.informatik.ultimate.plugins.generator.traceabstraction.TraceAbstractionObserver@41a197a3 and model type de.uni_freiburg.informatik.ultimate.plugins.generator.traceabstraction AST 08.07 05:35:54, skipping insertion in model container [2020-07-08 17:35:54,439 INFO L185 PluginConnector]: Executing the observer TraceAbstractionObserver from plugin TraceAbstraction for "de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 08.07 05:35:53" (2/3) ... [2020-07-08 17:35:54,440 INFO L205 PluginConnector]: Invalid model from TraceAbstraction for observer de.uni_freiburg.informatik.ultimate.plugins.generator.traceabstraction.TraceAbstractionObserver@41a197a3 and model type de.uni_freiburg.informatik.ultimate.plugins.generator.traceabstraction AST 08.07 05:35:54, skipping insertion in model container [2020-07-08 17:35:54,440 INFO L185 PluginConnector]: Executing the observer TraceAbstractionObserver from plugin TraceAbstraction for "de.uni_freiburg.informatik.ultimate.plugins.generator.rcfgbuilder CFG 08.07 05:35:54" (3/3) ... [2020-07-08 17:35:54,442 INFO L109 eAbstractionObserver]: Analyzing ICFG skippedu.c [2020-07-08 17:35:54,453 INFO L157 ceAbstractionStarter]: Automizer settings: Hoare:true NWA Interpolation:AcceleratedInterpolation Determinization: PREDICATE_ABSTRACTION [2020-07-08 17:35:54,462 INFO L169 ceAbstractionStarter]: Appying trace abstraction to program that has 1 error locations. [2020-07-08 17:35:54,477 INFO L251 AbstractCegarLoop]: Starting to check reachability of 1 error locations. [2020-07-08 17:35:54,501 INFO L375 AbstractCegarLoop]: Interprodecural is true [2020-07-08 17:35:54,502 INFO L376 AbstractCegarLoop]: Hoare is true [2020-07-08 17:35:54,502 INFO L377 AbstractCegarLoop]: Compute interpolants for AcceleratedInterpolation [2020-07-08 17:35:54,502 INFO L378 AbstractCegarLoop]: Backedges is STRAIGHT_LINE [2020-07-08 17:35:54,502 INFO L379 AbstractCegarLoop]: Determinization is PREDICATE_ABSTRACTION [2020-07-08 17:35:54,503 INFO L380 AbstractCegarLoop]: Difference is false [2020-07-08 17:35:54,503 INFO L381 AbstractCegarLoop]: Minimize is MINIMIZE_SEVPA [2020-07-08 17:35:54,503 INFO L385 AbstractCegarLoop]: ======== Iteration 0==of CEGAR loop == AllErrorsAtOnce======== [2020-07-08 17:35:54,518 INFO L276 IsEmpty]: Start isEmpty. Operand 66 states. [2020-07-08 17:35:54,529 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 34 [2020-07-08 17:35:54,530 INFO L414 BasicCegarLoop]: Found error trace [2020-07-08 17:35:54,531 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, 1, 1, 1, 1, 1, 1, 1, 1, 1] [2020-07-08 17:35:54,531 INFO L427 AbstractCegarLoop]: === Iteration 1 === [__VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION]=== [2020-07-08 17:35:54,536 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2020-07-08 17:35:54,536 INFO L82 PathProgramCache]: Analyzing trace with hash -1270765896, now seen corresponding path program 1 times [2020-07-08 17:35:54,543 INFO L163 FreeRefinementEngine]: Executing refinement strategy FIXED_PREFERENCES [2020-07-08 17:35:54,544 INFO L354 FreeRefinementEngine]: Using trace check IpTcStrategyModulePreferences [368183129] [2020-07-08 17:35:54,544 INFO L94 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2020-07-08 17:35:54,666 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2020-07-08 17:35:54,772 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2020-07-08 17:35:54,787 INFO L280 TraceCheckUtils]: 0: Hoare triple {82#(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; {69#true} is VALID [2020-07-08 17:35:54,788 INFO L280 TraceCheckUtils]: 1: Hoare triple {69#true} #valid := #valid[0 := 0]; {69#true} is VALID [2020-07-08 17:35:54,788 INFO L280 TraceCheckUtils]: 2: Hoare triple {69#true} assume 0 < #StackHeapBarrier; {69#true} is VALID [2020-07-08 17:35:54,789 INFO L280 TraceCheckUtils]: 3: Hoare triple {69#true} ~SIZE~0 := 0; {69#true} is VALID [2020-07-08 17:35:54,789 INFO L280 TraceCheckUtils]: 4: Hoare triple {69#true} ~MAX~0 := 100000; {69#true} is VALID [2020-07-08 17:35:54,790 INFO L280 TraceCheckUtils]: 5: Hoare triple {69#true} assume true; {69#true} is VALID [2020-07-08 17:35:54,790 INFO L275 TraceCheckUtils]: 6: Hoare quadruple {69#true} {69#true} #127#return; {69#true} is VALID [2020-07-08 17:35:54,794 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2020-07-08 17:35:54,814 INFO L280 TraceCheckUtils]: 0: Hoare triple {69#true} ~cond := #in~cond; {69#true} is VALID [2020-07-08 17:35:54,815 INFO L280 TraceCheckUtils]: 1: Hoare triple {69#true} assume !(0 == ~cond); {69#true} is VALID [2020-07-08 17:35:54,815 INFO L280 TraceCheckUtils]: 2: Hoare triple {69#true} assume true; {69#true} is VALID [2020-07-08 17:35:54,816 INFO L275 TraceCheckUtils]: 3: Hoare quadruple {69#true} {70#false} #123#return; {70#false} is VALID [2020-07-08 17:35:54,819 INFO L263 TraceCheckUtils]: 0: Hoare triple {69#true} call ULTIMATE.init(); {82#(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-08 17:35:54,819 INFO L280 TraceCheckUtils]: 1: Hoare triple {82#(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; {69#true} is VALID [2020-07-08 17:35:54,820 INFO L280 TraceCheckUtils]: 2: Hoare triple {69#true} #valid := #valid[0 := 0]; {69#true} is VALID [2020-07-08 17:35:54,820 INFO L280 TraceCheckUtils]: 3: Hoare triple {69#true} assume 0 < #StackHeapBarrier; {69#true} is VALID [2020-07-08 17:35:54,821 INFO L280 TraceCheckUtils]: 4: Hoare triple {69#true} ~SIZE~0 := 0; {69#true} is VALID [2020-07-08 17:35:54,821 INFO L280 TraceCheckUtils]: 5: Hoare triple {69#true} ~MAX~0 := 100000; {69#true} is VALID [2020-07-08 17:35:54,822 INFO L280 TraceCheckUtils]: 6: Hoare triple {69#true} assume true; {69#true} is VALID [2020-07-08 17:35:54,822 INFO L275 TraceCheckUtils]: 7: Hoare quadruple {69#true} {69#true} #127#return; {69#true} is VALID [2020-07-08 17:35:54,823 INFO L263 TraceCheckUtils]: 8: Hoare triple {69#true} call #t~ret9 := main(); {69#true} is VALID [2020-07-08 17:35:54,823 INFO L280 TraceCheckUtils]: 9: Hoare triple {69#true} assume -2147483648 <= #t~nondet0 && #t~nondet0 <= 2147483647; {69#true} is VALID [2020-07-08 17:35:54,823 INFO L280 TraceCheckUtils]: 10: Hoare triple {69#true} ~SIZE~0 := #t~nondet0; {69#true} is VALID [2020-07-08 17:35:54,824 INFO L280 TraceCheckUtils]: 11: Hoare triple {69#true} havoc #t~nondet0; {69#true} is VALID [2020-07-08 17:35:54,824 INFO L280 TraceCheckUtils]: 12: Hoare triple {69#true} assume ~SIZE~0 > 1 && ~SIZE~0 < ~MAX~0; {69#true} is VALID [2020-07-08 17:35:54,825 INFO L280 TraceCheckUtils]: 13: Hoare triple {69#true} havoc ~i~0; {69#true} is VALID [2020-07-08 17:35:54,825 INFO L280 TraceCheckUtils]: 14: Hoare triple {69#true} SUMMARY for call #t~malloc1.base, #t~malloc1.offset := #Ultimate.allocOnHeap(4 * ~SIZE~0); srcloc: L20 {69#true} is VALID [2020-07-08 17:35:54,826 INFO L280 TraceCheckUtils]: 15: Hoare triple {69#true} ~a~0.base, ~a~0.offset := #t~malloc1.base, #t~malloc1.offset; {69#true} is VALID [2020-07-08 17:35:54,826 INFO L280 TraceCheckUtils]: 16: Hoare triple {69#true} ~i~0 := 0; {69#true} is VALID [2020-07-08 17:35:54,827 INFO L280 TraceCheckUtils]: 17: Hoare triple {69#true} assume !true; {70#false} is VALID [2020-07-08 17:35:54,828 INFO L280 TraceCheckUtils]: 18: Hoare triple {70#false} assume !(0 != (if ~SIZE~0 < 0 && 0 != ~SIZE~0 % 2 then ~SIZE~0 % 2 - 2 else ~SIZE~0 % 2)); {70#false} is VALID [2020-07-08 17:35:54,828 INFO L263 TraceCheckUtils]: 19: Hoare triple {70#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)); {69#true} is VALID [2020-07-08 17:35:54,829 INFO L280 TraceCheckUtils]: 20: Hoare triple {69#true} ~cond := #in~cond; {69#true} is VALID [2020-07-08 17:35:54,829 INFO L280 TraceCheckUtils]: 21: Hoare triple {69#true} assume !(0 == ~cond); {69#true} is VALID [2020-07-08 17:35:54,830 INFO L280 TraceCheckUtils]: 22: Hoare triple {69#true} assume true; {69#true} is VALID [2020-07-08 17:35:54,830 INFO L275 TraceCheckUtils]: 23: Hoare quadruple {69#true} {70#false} #123#return; {70#false} is VALID [2020-07-08 17:35:54,831 INFO L280 TraceCheckUtils]: 24: Hoare triple {70#false} ~i~0 := 1; {70#false} is VALID [2020-07-08 17:35:54,831 INFO L280 TraceCheckUtils]: 25: Hoare triple {70#false} assume !(~i~0 <= (if ~SIZE~0 < 0 && 0 != ~SIZE~0 % 2 then 1 + ~SIZE~0 / 2 else ~SIZE~0 / 2)); {70#false} is VALID [2020-07-08 17:35:54,832 INFO L280 TraceCheckUtils]: 26: Hoare triple {70#false} ~i~0 := 0; {70#false} is VALID [2020-07-08 17:35:54,832 INFO L280 TraceCheckUtils]: 27: Hoare triple {70#false} assume !!(~i~0 < ~SIZE~0); {70#false} is VALID [2020-07-08 17:35:54,832 INFO L280 TraceCheckUtils]: 28: Hoare triple {70#false} SUMMARY for call #t~mem8 := read~int(~a~0.base, ~a~0.offset + 4 * ~i~0, 4); srcloc: L44 {70#false} is VALID [2020-07-08 17:35:54,833 INFO L263 TraceCheckUtils]: 29: Hoare triple {70#false} call __VERIFIER_assert((if #t~mem8 <= ~i~0 then 1 else 0)); {70#false} is VALID [2020-07-08 17:35:54,833 INFO L280 TraceCheckUtils]: 30: Hoare triple {70#false} ~cond := #in~cond; {70#false} is VALID [2020-07-08 17:35:54,834 INFO L280 TraceCheckUtils]: 31: Hoare triple {70#false} assume 0 == ~cond; {70#false} is VALID [2020-07-08 17:35:54,834 INFO L280 TraceCheckUtils]: 32: Hoare triple {70#false} assume !false; {70#false} is VALID [2020-07-08 17:35:54,839 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-08 17:35:54,840 INFO L185 leratedInterpolation]: Finished Analysing Program using PRECISE loop Acceleration [2020-07-08 17:35:54,842 INFO L354 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModulePreferences [368183129] [2020-07-08 17:35:54,845 INFO L220 FreeRefinementEngine]: Constructing automaton from 1 perfect and 0 imperfect interpolant sequences. [2020-07-08 17:35:54,845 INFO L233 FreeRefinementEngine]: Number of different interpolants: perfect sequences [3] imperfect sequences [] total 3 [2020-07-08 17:35:54,846 INFO L156 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [1975887952] [2020-07-08 17:35:54,854 INFO L78 Accepts]: Start accepts. Automaton has 3 states. Word has length 33 [2020-07-08 17:35:54,857 INFO L84 Accepts]: Finished accepts. word is accepted. [2020-07-08 17:35:54,862 INFO L86 InductivityCheck]: Starting indutivity check of a Floyd-Hoare automaton with 3 states. [2020-07-08 17:35:54,927 INFO L119 InductivityCheck]: Floyd-Hoare automaton has 33 edges. 33 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2020-07-08 17:35:54,928 INFO L459 AbstractCegarLoop]: Interpolant automaton has 3 states [2020-07-08 17:35:54,928 INFO L143 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy FIXED_PREFERENCES [2020-07-08 17:35:54,937 INFO L142 InterpolantAutomaton]: Constructing interpolant automaton starting with 3 interpolants. [2020-07-08 17:35:54,938 INFO L144 InterpolantAutomaton]: CoverageRelationStatistics Valid=3, Invalid=3, Unknown=0, NotChecked=0, Total=6 [2020-07-08 17:35:54,941 INFO L87 Difference]: Start difference. First operand 66 states. Second operand 3 states. [2020-07-08 17:35:55,367 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2020-07-08 17:35:55,368 INFO L93 Difference]: Finished difference Result 108 states and 129 transitions. [2020-07-08 17:35:55,368 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 3 states. [2020-07-08 17:35:55,368 INFO L78 Accepts]: Start accepts. Automaton has 3 states. Word has length 33 [2020-07-08 17:35:55,368 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2020-07-08 17:35:55,370 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 3 states. [2020-07-08 17:35:55,383 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 3 states to 3 states and 129 transitions. [2020-07-08 17:35:55,384 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 3 states. [2020-07-08 17:35:55,390 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 3 states to 3 states and 129 transitions. [2020-07-08 17:35:55,390 INFO L86 InductivityCheck]: Starting indutivity check of a Floyd-Hoare automaton with 3 states and 129 transitions. [2020-07-08 17:35:55,550 INFO L119 InductivityCheck]: Floyd-Hoare automaton has 129 edges. 129 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2020-07-08 17:35:55,565 INFO L225 Difference]: With dead ends: 108 [2020-07-08 17:35:55,565 INFO L226 Difference]: Without dead ends: 59 [2020-07-08 17:35:55,569 INFO L675 BasicCegarLoop]: 0 DeclaredPredicates, 6 GetRequests, 5 SyntacticMatches, 0 SemanticMatches, 1 ConstructedPredicates, 0 IntricatePredicates, 0 DeprecatedPredicates, 0 ImplicationChecksByTransitivity, 0.0s TimeCoverageRelationStatistics Valid=3, Invalid=3, Unknown=0, NotChecked=0, Total=6 [2020-07-08 17:35:55,588 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 59 states. [2020-07-08 17:35:55,671 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 59 to 59. [2020-07-08 17:35:55,672 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2020-07-08 17:35:55,673 INFO L82 GeneralOperation]: Start isEquivalent. First operand 59 states. Second operand 59 states. [2020-07-08 17:35:55,673 INFO L74 IsIncluded]: Start isIncluded. First operand 59 states. Second operand 59 states. [2020-07-08 17:35:55,674 INFO L87 Difference]: Start difference. First operand 59 states. Second operand 59 states. [2020-07-08 17:35:55,680 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2020-07-08 17:35:55,681 INFO L93 Difference]: Finished difference Result 59 states and 63 transitions. [2020-07-08 17:35:55,681 INFO L276 IsEmpty]: Start isEmpty. Operand 59 states and 63 transitions. [2020-07-08 17:35:55,682 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2020-07-08 17:35:55,682 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2020-07-08 17:35:55,683 INFO L74 IsIncluded]: Start isIncluded. First operand 59 states. Second operand 59 states. [2020-07-08 17:35:55,683 INFO L87 Difference]: Start difference. First operand 59 states. Second operand 59 states. [2020-07-08 17:35:55,689 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2020-07-08 17:35:55,689 INFO L93 Difference]: Finished difference Result 59 states and 63 transitions. [2020-07-08 17:35:55,689 INFO L276 IsEmpty]: Start isEmpty. Operand 59 states and 63 transitions. [2020-07-08 17:35:55,690 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2020-07-08 17:35:55,690 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2020-07-08 17:35:55,691 INFO L88 GeneralOperation]: Finished isEquivalent. [2020-07-08 17:35:55,691 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2020-07-08 17:35:55,691 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 59 states. [2020-07-08 17:35:55,695 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 59 states to 59 states and 63 transitions. [2020-07-08 17:35:55,697 INFO L78 Accepts]: Start accepts. Automaton has 59 states and 63 transitions. Word has length 33 [2020-07-08 17:35:55,698 INFO L84 Accepts]: Finished accepts. word is rejected. [2020-07-08 17:35:55,698 INFO L479 AbstractCegarLoop]: Abstraction has 59 states and 63 transitions. [2020-07-08 17:35:55,698 INFO L480 AbstractCegarLoop]: Interpolant automaton has 3 states. [2020-07-08 17:35:55,698 INFO L86 InductivityCheck]: Starting indutivity check of a Floyd-Hoare automaton with 59 states and 63 transitions. [2020-07-08 17:35:55,779 INFO L119 InductivityCheck]: Floyd-Hoare automaton has 63 edges. 63 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2020-07-08 17:35:55,779 INFO L276 IsEmpty]: Start isEmpty. Operand 59 states and 63 transitions. [2020-07-08 17:35:55,780 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 34 [2020-07-08 17:35:55,780 INFO L414 BasicCegarLoop]: Found error trace [2020-07-08 17:35:55,781 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, 1, 1, 1, 1, 1, 1, 1, 1, 1] [2020-07-08 17:35:55,781 WARN L516 AbstractCegarLoop]: Destroyed unattended storables created during the last iteration: SelfDestructingSolverStorable0 [2020-07-08 17:35:55,781 INFO L427 AbstractCegarLoop]: === Iteration 2 === [__VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION]=== [2020-07-08 17:35:55,782 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2020-07-08 17:35:55,782 INFO L82 PathProgramCache]: Analyzing trace with hash 50142755, now seen corresponding path program 1 times [2020-07-08 17:35:55,782 INFO L163 FreeRefinementEngine]: Executing refinement strategy FIXED_PREFERENCES [2020-07-08 17:35:55,782 INFO L354 FreeRefinementEngine]: Using trace check IpTcStrategyModulePreferences [194160058] [2020-07-08 17:35:55,783 INFO L94 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2020-07-08 17:35:55,809 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2020-07-08 17:35:55,883 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2020-07-08 17:35:55,890 INFO L280 TraceCheckUtils]: 0: Hoare triple {552#(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; {537#true} is VALID [2020-07-08 17:35:55,890 INFO L280 TraceCheckUtils]: 1: Hoare triple {537#true} #valid := #valid[0 := 0]; {537#true} is VALID [2020-07-08 17:35:55,891 INFO L280 TraceCheckUtils]: 2: Hoare triple {537#true} assume 0 < #StackHeapBarrier; {537#true} is VALID [2020-07-08 17:35:55,891 INFO L280 TraceCheckUtils]: 3: Hoare triple {537#true} ~SIZE~0 := 0; {537#true} is VALID [2020-07-08 17:35:55,891 INFO L280 TraceCheckUtils]: 4: Hoare triple {537#true} ~MAX~0 := 100000; {537#true} is VALID [2020-07-08 17:35:55,892 INFO L280 TraceCheckUtils]: 5: Hoare triple {537#true} assume true; {537#true} is VALID [2020-07-08 17:35:55,892 INFO L275 TraceCheckUtils]: 6: Hoare quadruple {537#true} {537#true} #127#return; {537#true} is VALID [2020-07-08 17:35:55,893 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2020-07-08 17:35:55,900 INFO L280 TraceCheckUtils]: 0: Hoare triple {537#true} ~cond := #in~cond; {537#true} is VALID [2020-07-08 17:35:55,900 INFO L280 TraceCheckUtils]: 1: Hoare triple {537#true} assume !(0 == ~cond); {537#true} is VALID [2020-07-08 17:35:55,900 INFO L280 TraceCheckUtils]: 2: Hoare triple {537#true} assume true; {537#true} is VALID [2020-07-08 17:35:55,901 INFO L275 TraceCheckUtils]: 3: Hoare quadruple {537#true} {538#false} #123#return; {538#false} is VALID [2020-07-08 17:35:55,902 INFO L263 TraceCheckUtils]: 0: Hoare triple {537#true} call ULTIMATE.init(); {552#(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-08 17:35:55,903 INFO L280 TraceCheckUtils]: 1: Hoare triple {552#(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; {537#true} is VALID [2020-07-08 17:35:55,903 INFO L280 TraceCheckUtils]: 2: Hoare triple {537#true} #valid := #valid[0 := 0]; {537#true} is VALID [2020-07-08 17:35:55,903 INFO L280 TraceCheckUtils]: 3: Hoare triple {537#true} assume 0 < #StackHeapBarrier; {537#true} is VALID [2020-07-08 17:35:55,904 INFO L280 TraceCheckUtils]: 4: Hoare triple {537#true} ~SIZE~0 := 0; {537#true} is VALID [2020-07-08 17:35:55,904 INFO L280 TraceCheckUtils]: 5: Hoare triple {537#true} ~MAX~0 := 100000; {537#true} is VALID [2020-07-08 17:35:55,904 INFO L280 TraceCheckUtils]: 6: Hoare triple {537#true} assume true; {537#true} is VALID [2020-07-08 17:35:55,904 INFO L275 TraceCheckUtils]: 7: Hoare quadruple {537#true} {537#true} #127#return; {537#true} is VALID [2020-07-08 17:35:55,905 INFO L263 TraceCheckUtils]: 8: Hoare triple {537#true} call #t~ret9 := main(); {537#true} is VALID [2020-07-08 17:35:55,905 INFO L280 TraceCheckUtils]: 9: Hoare triple {537#true} assume -2147483648 <= #t~nondet0 && #t~nondet0 <= 2147483647; {537#true} is VALID [2020-07-08 17:35:55,905 INFO L280 TraceCheckUtils]: 10: Hoare triple {537#true} ~SIZE~0 := #t~nondet0; {537#true} is VALID [2020-07-08 17:35:55,906 INFO L280 TraceCheckUtils]: 11: Hoare triple {537#true} havoc #t~nondet0; {537#true} is VALID [2020-07-08 17:35:55,907 INFO L280 TraceCheckUtils]: 12: Hoare triple {537#true} assume ~SIZE~0 > 1 && ~SIZE~0 < ~MAX~0; {546#(<= 2 ~SIZE~0)} is VALID [2020-07-08 17:35:55,908 INFO L280 TraceCheckUtils]: 13: Hoare triple {546#(<= 2 ~SIZE~0)} havoc ~i~0; {546#(<= 2 ~SIZE~0)} is VALID [2020-07-08 17:35:55,909 INFO L280 TraceCheckUtils]: 14: Hoare triple {546#(<= 2 ~SIZE~0)} SUMMARY for call #t~malloc1.base, #t~malloc1.offset := #Ultimate.allocOnHeap(4 * ~SIZE~0); srcloc: L20 {546#(<= 2 ~SIZE~0)} is VALID [2020-07-08 17:35:55,910 INFO L280 TraceCheckUtils]: 15: Hoare triple {546#(<= 2 ~SIZE~0)} ~a~0.base, ~a~0.offset := #t~malloc1.base, #t~malloc1.offset; {546#(<= 2 ~SIZE~0)} is VALID [2020-07-08 17:35:55,910 INFO L280 TraceCheckUtils]: 16: Hoare triple {546#(<= 2 ~SIZE~0)} ~i~0 := 0; {547#(and (<= 2 ~SIZE~0) (= 0 main_~i~0))} is VALID [2020-07-08 17:35:55,911 INFO L280 TraceCheckUtils]: 17: Hoare triple {547#(and (<= 2 ~SIZE~0) (= 0 main_~i~0))} assume !(~i~0 < ~SIZE~0); {538#false} is VALID [2020-07-08 17:35:55,912 INFO L280 TraceCheckUtils]: 18: Hoare triple {538#false} assume !(0 != (if ~SIZE~0 < 0 && 0 != ~SIZE~0 % 2 then ~SIZE~0 % 2 - 2 else ~SIZE~0 % 2)); {538#false} is VALID [2020-07-08 17:35:55,912 INFO L263 TraceCheckUtils]: 19: Hoare triple {538#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)); {537#true} is VALID [2020-07-08 17:35:55,913 INFO L280 TraceCheckUtils]: 20: Hoare triple {537#true} ~cond := #in~cond; {537#true} is VALID [2020-07-08 17:35:55,913 INFO L280 TraceCheckUtils]: 21: Hoare triple {537#true} assume !(0 == ~cond); {537#true} is VALID [2020-07-08 17:35:55,913 INFO L280 TraceCheckUtils]: 22: Hoare triple {537#true} assume true; {537#true} is VALID [2020-07-08 17:35:55,914 INFO L275 TraceCheckUtils]: 23: Hoare quadruple {537#true} {538#false} #123#return; {538#false} is VALID [2020-07-08 17:35:55,914 INFO L280 TraceCheckUtils]: 24: Hoare triple {538#false} ~i~0 := 1; {538#false} is VALID [2020-07-08 17:35:55,914 INFO L280 TraceCheckUtils]: 25: Hoare triple {538#false} assume !(~i~0 <= (if ~SIZE~0 < 0 && 0 != ~SIZE~0 % 2 then 1 + ~SIZE~0 / 2 else ~SIZE~0 / 2)); {538#false} is VALID [2020-07-08 17:35:55,914 INFO L280 TraceCheckUtils]: 26: Hoare triple {538#false} ~i~0 := 0; {538#false} is VALID [2020-07-08 17:35:55,915 INFO L280 TraceCheckUtils]: 27: Hoare triple {538#false} assume !!(~i~0 < ~SIZE~0); {538#false} is VALID [2020-07-08 17:35:55,915 INFO L280 TraceCheckUtils]: 28: Hoare triple {538#false} SUMMARY for call #t~mem8 := read~int(~a~0.base, ~a~0.offset + 4 * ~i~0, 4); srcloc: L44 {538#false} is VALID [2020-07-08 17:35:55,915 INFO L263 TraceCheckUtils]: 29: Hoare triple {538#false} call __VERIFIER_assert((if #t~mem8 <= ~i~0 then 1 else 0)); {538#false} is VALID [2020-07-08 17:35:55,916 INFO L280 TraceCheckUtils]: 30: Hoare triple {538#false} ~cond := #in~cond; {538#false} is VALID [2020-07-08 17:35:55,916 INFO L280 TraceCheckUtils]: 31: Hoare triple {538#false} assume 0 == ~cond; {538#false} is VALID [2020-07-08 17:35:55,916 INFO L280 TraceCheckUtils]: 32: Hoare triple {538#false} assume !false; {538#false} is VALID [2020-07-08 17:35:55,919 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-08 17:35:55,919 INFO L185 leratedInterpolation]: Finished Analysing Program using PRECISE loop Acceleration [2020-07-08 17:35:55,920 INFO L354 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModulePreferences [194160058] [2020-07-08 17:35:55,920 INFO L220 FreeRefinementEngine]: Constructing automaton from 1 perfect and 0 imperfect interpolant sequences. [2020-07-08 17:35:55,920 INFO L233 FreeRefinementEngine]: Number of different interpolants: perfect sequences [5] imperfect sequences [] total 5 [2020-07-08 17:35:55,920 INFO L156 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [2057738982] [2020-07-08 17:35:55,921 INFO L78 Accepts]: Start accepts. Automaton has 5 states. Word has length 33 [2020-07-08 17:35:55,922 INFO L84 Accepts]: Finished accepts. word is accepted. [2020-07-08 17:35:55,922 INFO L86 InductivityCheck]: Starting indutivity check of a Floyd-Hoare automaton with 5 states. [2020-07-08 17:35:55,966 INFO L119 InductivityCheck]: Floyd-Hoare automaton has 33 edges. 33 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2020-07-08 17:35:55,966 INFO L459 AbstractCegarLoop]: Interpolant automaton has 5 states [2020-07-08 17:35:55,966 INFO L143 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy FIXED_PREFERENCES [2020-07-08 17:35:55,967 INFO L142 InterpolantAutomaton]: Constructing interpolant automaton starting with 5 interpolants. [2020-07-08 17:35:55,967 INFO L144 InterpolantAutomaton]: CoverageRelationStatistics Valid=8, Invalid=12, Unknown=0, NotChecked=0, Total=20 [2020-07-08 17:35:55,967 INFO L87 Difference]: Start difference. First operand 59 states and 63 transitions. Second operand 5 states. [2020-07-08 17:35:56,588 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2020-07-08 17:35:56,589 INFO L93 Difference]: Finished difference Result 106 states and 115 transitions. [2020-07-08 17:35:56,589 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 6 states. [2020-07-08 17:35:56,589 INFO L78 Accepts]: Start accepts. Automaton has 5 states. Word has length 33 [2020-07-08 17:35:56,589 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2020-07-08 17:35:56,590 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 5 states. [2020-07-08 17:35:56,594 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 6 states to 6 states and 115 transitions. [2020-07-08 17:35:56,594 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 5 states. [2020-07-08 17:35:56,598 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 6 states to 6 states and 115 transitions. [2020-07-08 17:35:56,598 INFO L86 InductivityCheck]: Starting indutivity check of a Floyd-Hoare automaton with 6 states and 115 transitions. [2020-07-08 17:35:56,749 INFO L119 InductivityCheck]: Floyd-Hoare automaton has 115 edges. 115 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2020-07-08 17:35:56,754 INFO L225 Difference]: With dead ends: 106 [2020-07-08 17:35:56,754 INFO L226 Difference]: Without dead ends: 71 [2020-07-08 17:35:56,759 INFO L675 BasicCegarLoop]: 0 DeclaredPredicates, 10 GetRequests, 6 SyntacticMatches, 0 SemanticMatches, 4 ConstructedPredicates, 0 IntricatePredicates, 0 DeprecatedPredicates, 1 ImplicationChecksByTransitivity, 0.0s TimeCoverageRelationStatistics Valid=12, Invalid=18, Unknown=0, NotChecked=0, Total=30 [2020-07-08 17:35:56,762 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 71 states. [2020-07-08 17:35:56,877 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 71 to 60. [2020-07-08 17:35:56,877 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2020-07-08 17:35:56,878 INFO L82 GeneralOperation]: Start isEquivalent. First operand 71 states. Second operand 60 states. [2020-07-08 17:35:56,878 INFO L74 IsIncluded]: Start isIncluded. First operand 71 states. Second operand 60 states. [2020-07-08 17:35:56,878 INFO L87 Difference]: Start difference. First operand 71 states. Second operand 60 states. [2020-07-08 17:35:56,883 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2020-07-08 17:35:56,883 INFO L93 Difference]: Finished difference Result 71 states and 76 transitions. [2020-07-08 17:35:56,884 INFO L276 IsEmpty]: Start isEmpty. Operand 71 states and 76 transitions. [2020-07-08 17:35:56,885 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2020-07-08 17:35:56,885 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2020-07-08 17:35:56,885 INFO L74 IsIncluded]: Start isIncluded. First operand 60 states. Second operand 71 states. [2020-07-08 17:35:56,885 INFO L87 Difference]: Start difference. First operand 60 states. Second operand 71 states. [2020-07-08 17:35:56,889 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2020-07-08 17:35:56,890 INFO L93 Difference]: Finished difference Result 71 states and 76 transitions. [2020-07-08 17:35:56,890 INFO L276 IsEmpty]: Start isEmpty. Operand 71 states and 76 transitions. [2020-07-08 17:35:56,891 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2020-07-08 17:35:56,891 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2020-07-08 17:35:56,891 INFO L88 GeneralOperation]: Finished isEquivalent. [2020-07-08 17:35:56,891 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2020-07-08 17:35:56,892 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 60 states. [2020-07-08 17:35:56,894 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 60 states to 60 states and 64 transitions. [2020-07-08 17:35:56,895 INFO L78 Accepts]: Start accepts. Automaton has 60 states and 64 transitions. Word has length 33 [2020-07-08 17:35:56,895 INFO L84 Accepts]: Finished accepts. word is rejected. [2020-07-08 17:35:56,895 INFO L479 AbstractCegarLoop]: Abstraction has 60 states and 64 transitions. [2020-07-08 17:35:56,895 INFO L480 AbstractCegarLoop]: Interpolant automaton has 5 states. [2020-07-08 17:35:56,895 INFO L86 InductivityCheck]: Starting indutivity check of a Floyd-Hoare automaton with 60 states and 64 transitions. [2020-07-08 17:35:56,971 INFO L119 InductivityCheck]: Floyd-Hoare automaton has 64 edges. 64 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2020-07-08 17:35:56,971 INFO L276 IsEmpty]: Start isEmpty. Operand 60 states and 64 transitions. [2020-07-08 17:35:56,972 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 41 [2020-07-08 17:35:56,972 INFO L414 BasicCegarLoop]: Found error trace [2020-07-08 17:35:56,972 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, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1] [2020-07-08 17:35:56,973 WARN L516 AbstractCegarLoop]: Destroyed unattended storables created during the last iteration: SelfDestructingSolverStorable1 [2020-07-08 17:35:56,973 INFO L427 AbstractCegarLoop]: === Iteration 3 === [__VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION]=== [2020-07-08 17:35:56,973 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2020-07-08 17:35:56,973 INFO L82 PathProgramCache]: Analyzing trace with hash -1001580845, now seen corresponding path program 1 times [2020-07-08 17:35:56,974 INFO L163 FreeRefinementEngine]: Executing refinement strategy FIXED_PREFERENCES [2020-07-08 17:35:56,974 INFO L354 FreeRefinementEngine]: Using trace check IpTcStrategyModulePreferences [1649443405] [2020-07-08 17:35:56,974 INFO L94 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2020-07-08 17:35:57,032 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2020-07-08 17:35:57,150 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2020-07-08 17:35:57,159 INFO L280 TraceCheckUtils]: 0: Hoare triple {1049#(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; {1032#true} is VALID [2020-07-08 17:35:57,160 INFO L280 TraceCheckUtils]: 1: Hoare triple {1032#true} #valid := #valid[0 := 0]; {1032#true} is VALID [2020-07-08 17:35:57,160 INFO L280 TraceCheckUtils]: 2: Hoare triple {1032#true} assume 0 < #StackHeapBarrier; {1032#true} is VALID [2020-07-08 17:35:57,160 INFO L280 TraceCheckUtils]: 3: Hoare triple {1032#true} ~SIZE~0 := 0; {1032#true} is VALID [2020-07-08 17:35:57,161 INFO L280 TraceCheckUtils]: 4: Hoare triple {1032#true} ~MAX~0 := 100000; {1032#true} is VALID [2020-07-08 17:35:57,161 INFO L280 TraceCheckUtils]: 5: Hoare triple {1032#true} assume true; {1032#true} is VALID [2020-07-08 17:35:57,161 INFO L275 TraceCheckUtils]: 6: Hoare quadruple {1032#true} {1032#true} #127#return; {1032#true} is VALID [2020-07-08 17:35:57,163 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2020-07-08 17:35:57,168 INFO L280 TraceCheckUtils]: 0: Hoare triple {1032#true} ~cond := #in~cond; {1032#true} is VALID [2020-07-08 17:35:57,168 INFO L280 TraceCheckUtils]: 1: Hoare triple {1032#true} assume !(0 == ~cond); {1032#true} is VALID [2020-07-08 17:35:57,169 INFO L280 TraceCheckUtils]: 2: Hoare triple {1032#true} assume true; {1032#true} is VALID [2020-07-08 17:35:57,169 INFO L275 TraceCheckUtils]: 3: Hoare quadruple {1032#true} {1033#false} #123#return; {1033#false} is VALID [2020-07-08 17:35:57,170 INFO L263 TraceCheckUtils]: 0: Hoare triple {1032#true} call ULTIMATE.init(); {1049#(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-08 17:35:57,171 INFO L280 TraceCheckUtils]: 1: Hoare triple {1049#(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; {1032#true} is VALID [2020-07-08 17:35:57,171 INFO L280 TraceCheckUtils]: 2: Hoare triple {1032#true} #valid := #valid[0 := 0]; {1032#true} is VALID [2020-07-08 17:35:57,171 INFO L280 TraceCheckUtils]: 3: Hoare triple {1032#true} assume 0 < #StackHeapBarrier; {1032#true} is VALID [2020-07-08 17:35:57,172 INFO L280 TraceCheckUtils]: 4: Hoare triple {1032#true} ~SIZE~0 := 0; {1032#true} is VALID [2020-07-08 17:35:57,172 INFO L280 TraceCheckUtils]: 5: Hoare triple {1032#true} ~MAX~0 := 100000; {1032#true} is VALID [2020-07-08 17:35:57,172 INFO L280 TraceCheckUtils]: 6: Hoare triple {1032#true} assume true; {1032#true} is VALID [2020-07-08 17:35:57,173 INFO L275 TraceCheckUtils]: 7: Hoare quadruple {1032#true} {1032#true} #127#return; {1032#true} is VALID [2020-07-08 17:35:57,173 INFO L263 TraceCheckUtils]: 8: Hoare triple {1032#true} call #t~ret9 := main(); {1032#true} is VALID [2020-07-08 17:35:57,173 INFO L280 TraceCheckUtils]: 9: Hoare triple {1032#true} assume -2147483648 <= #t~nondet0 && #t~nondet0 <= 2147483647; {1032#true} is VALID [2020-07-08 17:35:57,173 INFO L280 TraceCheckUtils]: 10: Hoare triple {1032#true} ~SIZE~0 := #t~nondet0; {1032#true} is VALID [2020-07-08 17:35:57,174 INFO L280 TraceCheckUtils]: 11: Hoare triple {1032#true} havoc #t~nondet0; {1032#true} is VALID [2020-07-08 17:35:57,175 INFO L280 TraceCheckUtils]: 12: Hoare triple {1032#true} assume ~SIZE~0 > 1 && ~SIZE~0 < ~MAX~0; {1041#(<= 2 ~SIZE~0)} is VALID [2020-07-08 17:35:57,176 INFO L280 TraceCheckUtils]: 13: Hoare triple {1041#(<= 2 ~SIZE~0)} havoc ~i~0; {1041#(<= 2 ~SIZE~0)} is VALID [2020-07-08 17:35:57,177 INFO L280 TraceCheckUtils]: 14: Hoare triple {1041#(<= 2 ~SIZE~0)} SUMMARY for call #t~malloc1.base, #t~malloc1.offset := #Ultimate.allocOnHeap(4 * ~SIZE~0); srcloc: L20 {1041#(<= 2 ~SIZE~0)} is VALID [2020-07-08 17:35:57,177 INFO L280 TraceCheckUtils]: 15: Hoare triple {1041#(<= 2 ~SIZE~0)} ~a~0.base, ~a~0.offset := #t~malloc1.base, #t~malloc1.offset; {1041#(<= 2 ~SIZE~0)} is VALID [2020-07-08 17:35:57,178 INFO L280 TraceCheckUtils]: 16: Hoare triple {1041#(<= 2 ~SIZE~0)} ~i~0 := 0; {1042#(and (<= 2 ~SIZE~0) (= 0 main_~i~0))} is VALID [2020-07-08 17:35:57,179 INFO L280 TraceCheckUtils]: 17: Hoare triple {1042#(and (<= 2 ~SIZE~0) (= 0 main_~i~0))} assume !!(~i~0 < ~SIZE~0); {1042#(and (<= 2 ~SIZE~0) (= 0 main_~i~0))} is VALID [2020-07-08 17:35:57,180 INFO L280 TraceCheckUtils]: 18: Hoare triple {1042#(and (<= 2 ~SIZE~0) (= 0 main_~i~0))} assume -2147483648 <= #t~nondet3 && #t~nondet3 <= 2147483647; {1042#(and (<= 2 ~SIZE~0) (= 0 main_~i~0))} is VALID [2020-07-08 17:35:57,181 INFO L280 TraceCheckUtils]: 19: Hoare triple {1042#(and (<= 2 ~SIZE~0) (= 0 main_~i~0))} SUMMARY for call write~int(#t~nondet3, ~a~0.base, ~a~0.offset + 4 * ~i~0, 4); srcloc: L24-1 {1042#(and (<= 2 ~SIZE~0) (= 0 main_~i~0))} is VALID [2020-07-08 17:35:57,182 INFO L280 TraceCheckUtils]: 20: Hoare triple {1042#(and (<= 2 ~SIZE~0) (= 0 main_~i~0))} havoc #t~nondet3; {1042#(and (<= 2 ~SIZE~0) (= 0 main_~i~0))} is VALID [2020-07-08 17:35:57,183 INFO L280 TraceCheckUtils]: 21: Hoare triple {1042#(and (<= 2 ~SIZE~0) (= 0 main_~i~0))} #t~post2 := ~i~0; {1043#(and (<= 2 ~SIZE~0) (= |main_#t~post2| 0))} is VALID [2020-07-08 17:35:57,184 INFO L280 TraceCheckUtils]: 22: Hoare triple {1043#(and (<= 2 ~SIZE~0) (= |main_#t~post2| 0))} ~i~0 := 1 + #t~post2; {1044#(<= (+ main_~i~0 1) ~SIZE~0)} is VALID [2020-07-08 17:35:57,185 INFO L280 TraceCheckUtils]: 23: Hoare triple {1044#(<= (+ main_~i~0 1) ~SIZE~0)} havoc #t~post2; {1044#(<= (+ main_~i~0 1) ~SIZE~0)} is VALID [2020-07-08 17:35:57,186 INFO L280 TraceCheckUtils]: 24: Hoare triple {1044#(<= (+ main_~i~0 1) ~SIZE~0)} assume !(~i~0 < ~SIZE~0); {1033#false} is VALID [2020-07-08 17:35:57,187 INFO L280 TraceCheckUtils]: 25: Hoare triple {1033#false} assume !(0 != (if ~SIZE~0 < 0 && 0 != ~SIZE~0 % 2 then ~SIZE~0 % 2 - 2 else ~SIZE~0 % 2)); {1033#false} is VALID [2020-07-08 17:35:57,187 INFO L263 TraceCheckUtils]: 26: Hoare triple {1033#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)); {1032#true} is VALID [2020-07-08 17:35:57,188 INFO L280 TraceCheckUtils]: 27: Hoare triple {1032#true} ~cond := #in~cond; {1032#true} is VALID [2020-07-08 17:35:57,188 INFO L280 TraceCheckUtils]: 28: Hoare triple {1032#true} assume !(0 == ~cond); {1032#true} is VALID [2020-07-08 17:35:57,188 INFO L280 TraceCheckUtils]: 29: Hoare triple {1032#true} assume true; {1032#true} is VALID [2020-07-08 17:35:57,189 INFO L275 TraceCheckUtils]: 30: Hoare quadruple {1032#true} {1033#false} #123#return; {1033#false} is VALID [2020-07-08 17:35:57,189 INFO L280 TraceCheckUtils]: 31: Hoare triple {1033#false} ~i~0 := 1; {1033#false} is VALID [2020-07-08 17:35:57,189 INFO L280 TraceCheckUtils]: 32: Hoare triple {1033#false} assume !(~i~0 <= (if ~SIZE~0 < 0 && 0 != ~SIZE~0 % 2 then 1 + ~SIZE~0 / 2 else ~SIZE~0 / 2)); {1033#false} is VALID [2020-07-08 17:35:57,190 INFO L280 TraceCheckUtils]: 33: Hoare triple {1033#false} ~i~0 := 0; {1033#false} is VALID [2020-07-08 17:35:57,190 INFO L280 TraceCheckUtils]: 34: Hoare triple {1033#false} assume !!(~i~0 < ~SIZE~0); {1033#false} is VALID [2020-07-08 17:35:57,190 INFO L280 TraceCheckUtils]: 35: Hoare triple {1033#false} SUMMARY for call #t~mem8 := read~int(~a~0.base, ~a~0.offset + 4 * ~i~0, 4); srcloc: L44 {1033#false} is VALID [2020-07-08 17:35:57,191 INFO L263 TraceCheckUtils]: 36: Hoare triple {1033#false} call __VERIFIER_assert((if #t~mem8 <= ~i~0 then 1 else 0)); {1033#false} is VALID [2020-07-08 17:35:57,191 INFO L280 TraceCheckUtils]: 37: Hoare triple {1033#false} ~cond := #in~cond; {1033#false} is VALID [2020-07-08 17:35:57,191 INFO L280 TraceCheckUtils]: 38: Hoare triple {1033#false} assume 0 == ~cond; {1033#false} is VALID [2020-07-08 17:35:57,205 INFO L280 TraceCheckUtils]: 39: Hoare triple {1033#false} assume !false; {1033#false} is VALID [2020-07-08 17:35:57,208 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-08 17:35:57,208 INFO L185 leratedInterpolation]: Finished Analysing Program using PRECISE loop Acceleration [2020-07-08 17:35:57,209 INFO L354 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModulePreferences [1649443405] [2020-07-08 17:35:57,209 INFO L220 FreeRefinementEngine]: Constructing automaton from 1 perfect and 0 imperfect interpolant sequences. [2020-07-08 17:35:57,209 INFO L233 FreeRefinementEngine]: Number of different interpolants: perfect sequences [7] imperfect sequences [] total 7 [2020-07-08 17:35:57,209 INFO L156 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [64590333] [2020-07-08 17:35:57,210 INFO L78 Accepts]: Start accepts. Automaton has 7 states. Word has length 40 [2020-07-08 17:35:57,210 INFO L84 Accepts]: Finished accepts. word is accepted. [2020-07-08 17:35:57,210 INFO L86 InductivityCheck]: Starting indutivity check of a Floyd-Hoare automaton with 7 states. [2020-07-08 17:35:57,251 INFO L119 InductivityCheck]: Floyd-Hoare automaton has 40 edges. 40 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2020-07-08 17:35:57,251 INFO L459 AbstractCegarLoop]: Interpolant automaton has 7 states [2020-07-08 17:35:57,251 INFO L143 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy FIXED_PREFERENCES [2020-07-08 17:35:57,251 INFO L142 InterpolantAutomaton]: Constructing interpolant automaton starting with 7 interpolants. [2020-07-08 17:35:57,252 INFO L144 InterpolantAutomaton]: CoverageRelationStatistics Valid=14, Invalid=28, Unknown=0, NotChecked=0, Total=42 [2020-07-08 17:35:57,252 INFO L87 Difference]: Start difference. First operand 60 states and 64 transitions. Second operand 7 states. [2020-07-08 17:35:58,038 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2020-07-08 17:35:58,038 INFO L93 Difference]: Finished difference Result 110 states and 120 transitions. [2020-07-08 17:35:58,038 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 9 states. [2020-07-08 17:35:58,039 INFO L78 Accepts]: Start accepts. Automaton has 7 states. Word has length 40 [2020-07-08 17:35:58,039 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2020-07-08 17:35:58,039 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 7 states. [2020-07-08 17:35:58,043 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 9 states to 9 states and 120 transitions. [2020-07-08 17:35:58,043 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 7 states. [2020-07-08 17:35:58,047 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 9 states to 9 states and 120 transitions. [2020-07-08 17:35:58,047 INFO L86 InductivityCheck]: Starting indutivity check of a Floyd-Hoare automaton with 9 states and 120 transitions. [2020-07-08 17:35:58,199 INFO L119 InductivityCheck]: Floyd-Hoare automaton has 120 edges. 120 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2020-07-08 17:35:58,202 INFO L225 Difference]: With dead ends: 110 [2020-07-08 17:35:58,203 INFO L226 Difference]: Without dead ends: 75 [2020-07-08 17:35:58,204 INFO L675 BasicCegarLoop]: 0 DeclaredPredicates, 15 GetRequests, 6 SyntacticMatches, 0 SemanticMatches, 9 ConstructedPredicates, 0 IntricatePredicates, 0 DeprecatedPredicates, 12 ImplicationChecksByTransitivity, 0.1s TimeCoverageRelationStatistics Valid=37, Invalid=73, Unknown=0, NotChecked=0, Total=110 [2020-07-08 17:35:58,204 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 75 states. [2020-07-08 17:35:58,326 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 75 to 67. [2020-07-08 17:35:58,326 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2020-07-08 17:35:58,327 INFO L82 GeneralOperation]: Start isEquivalent. First operand 75 states. Second operand 67 states. [2020-07-08 17:35:58,327 INFO L74 IsIncluded]: Start isIncluded. First operand 75 states. Second operand 67 states. [2020-07-08 17:35:58,327 INFO L87 Difference]: Start difference. First operand 75 states. Second operand 67 states. [2020-07-08 17:35:58,331 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2020-07-08 17:35:58,331 INFO L93 Difference]: Finished difference Result 75 states and 81 transitions. [2020-07-08 17:35:58,331 INFO L276 IsEmpty]: Start isEmpty. Operand 75 states and 81 transitions. [2020-07-08 17:35:58,332 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2020-07-08 17:35:58,332 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2020-07-08 17:35:58,332 INFO L74 IsIncluded]: Start isIncluded. First operand 67 states. Second operand 75 states. [2020-07-08 17:35:58,332 INFO L87 Difference]: Start difference. First operand 67 states. Second operand 75 states. [2020-07-08 17:35:58,336 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2020-07-08 17:35:58,337 INFO L93 Difference]: Finished difference Result 75 states and 81 transitions. [2020-07-08 17:35:58,337 INFO L276 IsEmpty]: Start isEmpty. Operand 75 states and 81 transitions. [2020-07-08 17:35:58,338 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2020-07-08 17:35:58,338 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2020-07-08 17:35:58,338 INFO L88 GeneralOperation]: Finished isEquivalent. [2020-07-08 17:35:58,338 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2020-07-08 17:35:58,338 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 67 states. [2020-07-08 17:35:58,341 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 67 states to 67 states and 71 transitions. [2020-07-08 17:35:58,342 INFO L78 Accepts]: Start accepts. Automaton has 67 states and 71 transitions. Word has length 40 [2020-07-08 17:35:58,342 INFO L84 Accepts]: Finished accepts. word is rejected. [2020-07-08 17:35:58,342 INFO L479 AbstractCegarLoop]: Abstraction has 67 states and 71 transitions. [2020-07-08 17:35:58,342 INFO L480 AbstractCegarLoop]: Interpolant automaton has 7 states. [2020-07-08 17:35:58,342 INFO L86 InductivityCheck]: Starting indutivity check of a Floyd-Hoare automaton with 67 states and 71 transitions. [2020-07-08 17:35:58,429 INFO L119 InductivityCheck]: Floyd-Hoare automaton has 71 edges. 71 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2020-07-08 17:35:58,430 INFO L276 IsEmpty]: Start isEmpty. Operand 67 states and 71 transitions. [2020-07-08 17:35:58,432 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 48 [2020-07-08 17:35:58,432 INFO L414 BasicCegarLoop]: Found error trace [2020-07-08 17:35:58,432 INFO L422 BasicCegarLoop]: trace histogram [2, 2, 2, 2, 2, 2, 2, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1] [2020-07-08 17:35:58,433 WARN L516 AbstractCegarLoop]: Destroyed unattended storables created during the last iteration: SelfDestructingSolverStorable2 [2020-07-08 17:35:58,433 INFO L427 AbstractCegarLoop]: === Iteration 4 === [__VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION]=== [2020-07-08 17:35:58,433 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2020-07-08 17:35:58,434 INFO L82 PathProgramCache]: Analyzing trace with hash 1248131107, now seen corresponding path program 2 times [2020-07-08 17:35:58,434 INFO L163 FreeRefinementEngine]: Executing refinement strategy FIXED_PREFERENCES [2020-07-08 17:35:58,434 INFO L354 FreeRefinementEngine]: Using trace check IpTcStrategyModulePreferences [1982753925] [2020-07-08 17:35:58,435 INFO L94 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2020-07-08 17:35:58,481 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2020-07-08 17:35:58,806 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2020-07-08 17:35:58,820 INFO L280 TraceCheckUtils]: 0: Hoare triple {1581#(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; {1565#true} is VALID [2020-07-08 17:35:58,820 INFO L280 TraceCheckUtils]: 1: Hoare triple {1565#true} #valid := #valid[0 := 0]; {1565#true} is VALID [2020-07-08 17:35:58,821 INFO L280 TraceCheckUtils]: 2: Hoare triple {1565#true} assume 0 < #StackHeapBarrier; {1565#true} is VALID [2020-07-08 17:35:58,821 INFO L280 TraceCheckUtils]: 3: Hoare triple {1565#true} ~SIZE~0 := 0; {1565#true} is VALID [2020-07-08 17:35:58,821 INFO L280 TraceCheckUtils]: 4: Hoare triple {1565#true} ~MAX~0 := 100000; {1565#true} is VALID [2020-07-08 17:35:58,822 INFO L280 TraceCheckUtils]: 5: Hoare triple {1565#true} assume true; {1565#true} is VALID [2020-07-08 17:35:58,822 INFO L275 TraceCheckUtils]: 6: Hoare quadruple {1565#true} {1565#true} #127#return; {1565#true} is VALID [2020-07-08 17:35:58,833 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2020-07-08 17:35:58,851 INFO L280 TraceCheckUtils]: 0: Hoare triple {1565#true} ~cond := #in~cond; {1565#true} is VALID [2020-07-08 17:35:58,851 INFO L280 TraceCheckUtils]: 1: Hoare triple {1565#true} assume !(0 == ~cond); {1565#true} is VALID [2020-07-08 17:35:58,852 INFO L280 TraceCheckUtils]: 2: Hoare triple {1565#true} assume true; {1565#true} is VALID [2020-07-08 17:35:58,853 INFO L275 TraceCheckUtils]: 3: Hoare quadruple {1565#true} {1575#(and (<= 2 ~SIZE~0) (= ~SIZE~0 (* 2 (div ~SIZE~0 2))))} #123#return; {1575#(and (<= 2 ~SIZE~0) (= ~SIZE~0 (* 2 (div ~SIZE~0 2))))} is VALID [2020-07-08 17:35:58,854 INFO L263 TraceCheckUtils]: 0: Hoare triple {1565#true} call ULTIMATE.init(); {1581#(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-08 17:35:58,854 INFO L280 TraceCheckUtils]: 1: Hoare triple {1581#(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; {1565#true} is VALID [2020-07-08 17:35:58,855 INFO L280 TraceCheckUtils]: 2: Hoare triple {1565#true} #valid := #valid[0 := 0]; {1565#true} is VALID [2020-07-08 17:35:58,855 INFO L280 TraceCheckUtils]: 3: Hoare triple {1565#true} assume 0 < #StackHeapBarrier; {1565#true} is VALID [2020-07-08 17:35:58,855 INFO L280 TraceCheckUtils]: 4: Hoare triple {1565#true} ~SIZE~0 := 0; {1565#true} is VALID [2020-07-08 17:35:58,856 INFO L280 TraceCheckUtils]: 5: Hoare triple {1565#true} ~MAX~0 := 100000; {1565#true} is VALID [2020-07-08 17:35:58,856 INFO L280 TraceCheckUtils]: 6: Hoare triple {1565#true} assume true; {1565#true} is VALID [2020-07-08 17:35:58,856 INFO L275 TraceCheckUtils]: 7: Hoare quadruple {1565#true} {1565#true} #127#return; {1565#true} is VALID [2020-07-08 17:35:58,857 INFO L263 TraceCheckUtils]: 8: Hoare triple {1565#true} call #t~ret9 := main(); {1565#true} is VALID [2020-07-08 17:35:58,857 INFO L280 TraceCheckUtils]: 9: Hoare triple {1565#true} assume -2147483648 <= #t~nondet0 && #t~nondet0 <= 2147483647; {1565#true} is VALID [2020-07-08 17:35:58,857 INFO L280 TraceCheckUtils]: 10: Hoare triple {1565#true} ~SIZE~0 := #t~nondet0; {1565#true} is VALID [2020-07-08 17:35:58,858 INFO L280 TraceCheckUtils]: 11: Hoare triple {1565#true} havoc #t~nondet0; {1565#true} is VALID [2020-07-08 17:35:58,859 INFO L280 TraceCheckUtils]: 12: Hoare triple {1565#true} assume ~SIZE~0 > 1 && ~SIZE~0 < ~MAX~0; {1574#(or (<= 2 ~SIZE~0) (not (= ~SIZE~0 (* 2 (div ~SIZE~0 2)))))} is VALID [2020-07-08 17:35:58,860 INFO L280 TraceCheckUtils]: 13: Hoare triple {1574#(or (<= 2 ~SIZE~0) (not (= ~SIZE~0 (* 2 (div ~SIZE~0 2)))))} havoc ~i~0; {1574#(or (<= 2 ~SIZE~0) (not (= ~SIZE~0 (* 2 (div ~SIZE~0 2)))))} is VALID [2020-07-08 17:35:58,861 INFO L280 TraceCheckUtils]: 14: Hoare triple {1574#(or (<= 2 ~SIZE~0) (not (= ~SIZE~0 (* 2 (div ~SIZE~0 2)))))} SUMMARY for call #t~malloc1.base, #t~malloc1.offset := #Ultimate.allocOnHeap(4 * ~SIZE~0); srcloc: L20 {1574#(or (<= 2 ~SIZE~0) (not (= ~SIZE~0 (* 2 (div ~SIZE~0 2)))))} is VALID [2020-07-08 17:35:58,862 INFO L280 TraceCheckUtils]: 15: Hoare triple {1574#(or (<= 2 ~SIZE~0) (not (= ~SIZE~0 (* 2 (div ~SIZE~0 2)))))} ~a~0.base, ~a~0.offset := #t~malloc1.base, #t~malloc1.offset; {1574#(or (<= 2 ~SIZE~0) (not (= ~SIZE~0 (* 2 (div ~SIZE~0 2)))))} is VALID [2020-07-08 17:35:58,862 INFO L280 TraceCheckUtils]: 16: Hoare triple {1574#(or (<= 2 ~SIZE~0) (not (= ~SIZE~0 (* 2 (div ~SIZE~0 2)))))} ~i~0 := 0; {1574#(or (<= 2 ~SIZE~0) (not (= ~SIZE~0 (* 2 (div ~SIZE~0 2)))))} is VALID [2020-07-08 17:35:58,863 INFO L280 TraceCheckUtils]: 17: Hoare triple {1574#(or (<= 2 ~SIZE~0) (not (= ~SIZE~0 (* 2 (div ~SIZE~0 2)))))} assume !!(~i~0 < ~SIZE~0); {1574#(or (<= 2 ~SIZE~0) (not (= ~SIZE~0 (* 2 (div ~SIZE~0 2)))))} is VALID [2020-07-08 17:35:58,864 INFO L280 TraceCheckUtils]: 18: Hoare triple {1574#(or (<= 2 ~SIZE~0) (not (= ~SIZE~0 (* 2 (div ~SIZE~0 2)))))} assume -2147483648 <= #t~nondet3 && #t~nondet3 <= 2147483647; {1574#(or (<= 2 ~SIZE~0) (not (= ~SIZE~0 (* 2 (div ~SIZE~0 2)))))} is VALID [2020-07-08 17:35:58,865 INFO L280 TraceCheckUtils]: 19: Hoare triple {1574#(or (<= 2 ~SIZE~0) (not (= ~SIZE~0 (* 2 (div ~SIZE~0 2)))))} SUMMARY for call write~int(#t~nondet3, ~a~0.base, ~a~0.offset + 4 * ~i~0, 4); srcloc: L24-1 {1574#(or (<= 2 ~SIZE~0) (not (= ~SIZE~0 (* 2 (div ~SIZE~0 2)))))} is VALID [2020-07-08 17:35:58,866 INFO L280 TraceCheckUtils]: 20: Hoare triple {1574#(or (<= 2 ~SIZE~0) (not (= ~SIZE~0 (* 2 (div ~SIZE~0 2)))))} havoc #t~nondet3; {1574#(or (<= 2 ~SIZE~0) (not (= ~SIZE~0 (* 2 (div ~SIZE~0 2)))))} is VALID [2020-07-08 17:35:58,867 INFO L280 TraceCheckUtils]: 21: Hoare triple {1574#(or (<= 2 ~SIZE~0) (not (= ~SIZE~0 (* 2 (div ~SIZE~0 2)))))} #t~post2 := ~i~0; {1574#(or (<= 2 ~SIZE~0) (not (= ~SIZE~0 (* 2 (div ~SIZE~0 2)))))} is VALID [2020-07-08 17:35:58,867 INFO L280 TraceCheckUtils]: 22: Hoare triple {1574#(or (<= 2 ~SIZE~0) (not (= ~SIZE~0 (* 2 (div ~SIZE~0 2)))))} ~i~0 := 1 + #t~post2; {1574#(or (<= 2 ~SIZE~0) (not (= ~SIZE~0 (* 2 (div ~SIZE~0 2)))))} is VALID [2020-07-08 17:35:58,868 INFO L280 TraceCheckUtils]: 23: Hoare triple {1574#(or (<= 2 ~SIZE~0) (not (= ~SIZE~0 (* 2 (div ~SIZE~0 2)))))} havoc #t~post2; {1574#(or (<= 2 ~SIZE~0) (not (= ~SIZE~0 (* 2 (div ~SIZE~0 2)))))} is VALID [2020-07-08 17:35:58,869 INFO L280 TraceCheckUtils]: 24: Hoare triple {1574#(or (<= 2 ~SIZE~0) (not (= ~SIZE~0 (* 2 (div ~SIZE~0 2)))))} assume !!(~i~0 < ~SIZE~0); {1574#(or (<= 2 ~SIZE~0) (not (= ~SIZE~0 (* 2 (div ~SIZE~0 2)))))} is VALID [2020-07-08 17:35:58,869 INFO L280 TraceCheckUtils]: 25: Hoare triple {1574#(or (<= 2 ~SIZE~0) (not (= ~SIZE~0 (* 2 (div ~SIZE~0 2)))))} assume -2147483648 <= #t~nondet3 && #t~nondet3 <= 2147483647; {1574#(or (<= 2 ~SIZE~0) (not (= ~SIZE~0 (* 2 (div ~SIZE~0 2)))))} is VALID [2020-07-08 17:35:58,870 INFO L280 TraceCheckUtils]: 26: Hoare triple {1574#(or (<= 2 ~SIZE~0) (not (= ~SIZE~0 (* 2 (div ~SIZE~0 2)))))} SUMMARY for call write~int(#t~nondet3, ~a~0.base, ~a~0.offset + 4 * ~i~0, 4); srcloc: L24-1 {1574#(or (<= 2 ~SIZE~0) (not (= ~SIZE~0 (* 2 (div ~SIZE~0 2)))))} is VALID [2020-07-08 17:35:58,871 INFO L280 TraceCheckUtils]: 27: Hoare triple {1574#(or (<= 2 ~SIZE~0) (not (= ~SIZE~0 (* 2 (div ~SIZE~0 2)))))} havoc #t~nondet3; {1574#(or (<= 2 ~SIZE~0) (not (= ~SIZE~0 (* 2 (div ~SIZE~0 2)))))} is VALID [2020-07-08 17:35:58,871 INFO L280 TraceCheckUtils]: 28: Hoare triple {1574#(or (<= 2 ~SIZE~0) (not (= ~SIZE~0 (* 2 (div ~SIZE~0 2)))))} #t~post2 := ~i~0; {1574#(or (<= 2 ~SIZE~0) (not (= ~SIZE~0 (* 2 (div ~SIZE~0 2)))))} is VALID [2020-07-08 17:35:58,872 INFO L280 TraceCheckUtils]: 29: Hoare triple {1574#(or (<= 2 ~SIZE~0) (not (= ~SIZE~0 (* 2 (div ~SIZE~0 2)))))} ~i~0 := 1 + #t~post2; {1574#(or (<= 2 ~SIZE~0) (not (= ~SIZE~0 (* 2 (div ~SIZE~0 2)))))} is VALID [2020-07-08 17:35:58,872 INFO L280 TraceCheckUtils]: 30: Hoare triple {1574#(or (<= 2 ~SIZE~0) (not (= ~SIZE~0 (* 2 (div ~SIZE~0 2)))))} havoc #t~post2; {1574#(or (<= 2 ~SIZE~0) (not (= ~SIZE~0 (* 2 (div ~SIZE~0 2)))))} is VALID [2020-07-08 17:35:58,873 INFO L280 TraceCheckUtils]: 31: Hoare triple {1574#(or (<= 2 ~SIZE~0) (not (= ~SIZE~0 (* 2 (div ~SIZE~0 2)))))} assume !(~i~0 < ~SIZE~0); {1574#(or (<= 2 ~SIZE~0) (not (= ~SIZE~0 (* 2 (div ~SIZE~0 2)))))} is VALID [2020-07-08 17:35:58,874 INFO L280 TraceCheckUtils]: 32: Hoare triple {1574#(or (<= 2 ~SIZE~0) (not (= ~SIZE~0 (* 2 (div ~SIZE~0 2)))))} assume !(0 != (if ~SIZE~0 < 0 && 0 != ~SIZE~0 % 2 then ~SIZE~0 % 2 - 2 else ~SIZE~0 % 2)); {1575#(and (<= 2 ~SIZE~0) (= ~SIZE~0 (* 2 (div ~SIZE~0 2))))} is VALID [2020-07-08 17:35:58,875 INFO L263 TraceCheckUtils]: 33: Hoare triple {1575#(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)); {1565#true} is VALID [2020-07-08 17:35:58,875 INFO L280 TraceCheckUtils]: 34: Hoare triple {1565#true} ~cond := #in~cond; {1565#true} is VALID [2020-07-08 17:35:58,875 INFO L280 TraceCheckUtils]: 35: Hoare triple {1565#true} assume !(0 == ~cond); {1565#true} is VALID [2020-07-08 17:35:58,876 INFO L280 TraceCheckUtils]: 36: Hoare triple {1565#true} assume true; {1565#true} is VALID [2020-07-08 17:35:58,878 INFO L275 TraceCheckUtils]: 37: Hoare quadruple {1565#true} {1575#(and (<= 2 ~SIZE~0) (= ~SIZE~0 (* 2 (div ~SIZE~0 2))))} #123#return; {1575#(and (<= 2 ~SIZE~0) (= ~SIZE~0 (* 2 (div ~SIZE~0 2))))} is VALID [2020-07-08 17:35:58,879 INFO L280 TraceCheckUtils]: 38: Hoare triple {1575#(and (<= 2 ~SIZE~0) (= ~SIZE~0 (* 2 (div ~SIZE~0 2))))} ~i~0 := 1; {1580#(and (<= 2 ~SIZE~0) (= 1 main_~i~0) (= ~SIZE~0 (* 2 (div ~SIZE~0 2))))} is VALID [2020-07-08 17:35:58,880 INFO L280 TraceCheckUtils]: 39: Hoare triple {1580#(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)); {1566#false} is VALID [2020-07-08 17:35:58,880 INFO L280 TraceCheckUtils]: 40: Hoare triple {1566#false} ~i~0 := 0; {1566#false} is VALID [2020-07-08 17:35:58,881 INFO L280 TraceCheckUtils]: 41: Hoare triple {1566#false} assume !!(~i~0 < ~SIZE~0); {1566#false} is VALID [2020-07-08 17:35:58,881 INFO L280 TraceCheckUtils]: 42: Hoare triple {1566#false} SUMMARY for call #t~mem8 := read~int(~a~0.base, ~a~0.offset + 4 * ~i~0, 4); srcloc: L44 {1566#false} is VALID [2020-07-08 17:35:58,881 INFO L263 TraceCheckUtils]: 43: Hoare triple {1566#false} call __VERIFIER_assert((if #t~mem8 <= ~i~0 then 1 else 0)); {1566#false} is VALID [2020-07-08 17:35:58,881 INFO L280 TraceCheckUtils]: 44: Hoare triple {1566#false} ~cond := #in~cond; {1566#false} is VALID [2020-07-08 17:35:58,882 INFO L280 TraceCheckUtils]: 45: Hoare triple {1566#false} assume 0 == ~cond; {1566#false} is VALID [2020-07-08 17:35:58,882 INFO L280 TraceCheckUtils]: 46: Hoare triple {1566#false} assume !false; {1566#false} is VALID [2020-07-08 17:35:58,894 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-08 17:35:58,894 INFO L185 leratedInterpolation]: Finished Analysing Program using PRECISE loop Acceleration [2020-07-08 17:35:58,894 INFO L354 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModulePreferences [1982753925] [2020-07-08 17:35:58,895 INFO L220 FreeRefinementEngine]: Constructing automaton from 1 perfect and 0 imperfect interpolant sequences. [2020-07-08 17:35:58,895 INFO L233 FreeRefinementEngine]: Number of different interpolants: perfect sequences [6] imperfect sequences [] total 6 [2020-07-08 17:35:58,895 INFO L156 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [796249098] [2020-07-08 17:35:58,895 INFO L78 Accepts]: Start accepts. Automaton has 6 states. Word has length 47 [2020-07-08 17:35:58,896 INFO L84 Accepts]: Finished accepts. word is accepted. [2020-07-08 17:35:58,896 INFO L86 InductivityCheck]: Starting indutivity check of a Floyd-Hoare automaton with 6 states. [2020-07-08 17:35:58,943 INFO L119 InductivityCheck]: Floyd-Hoare automaton has 40 edges. 40 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2020-07-08 17:35:58,943 INFO L459 AbstractCegarLoop]: Interpolant automaton has 6 states [2020-07-08 17:35:58,943 INFO L143 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy FIXED_PREFERENCES [2020-07-08 17:35:58,944 INFO L142 InterpolantAutomaton]: Constructing interpolant automaton starting with 6 interpolants. [2020-07-08 17:35:58,944 INFO L144 InterpolantAutomaton]: CoverageRelationStatistics Valid=12, Invalid=18, Unknown=0, NotChecked=0, Total=30 [2020-07-08 17:35:58,944 INFO L87 Difference]: Start difference. First operand 67 states and 71 transitions. Second operand 6 states. [2020-07-08 17:35:59,620 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2020-07-08 17:35:59,620 INFO L93 Difference]: Finished difference Result 94 states and 101 transitions. [2020-07-08 17:35:59,620 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 7 states. [2020-07-08 17:35:59,620 INFO L78 Accepts]: Start accepts. Automaton has 6 states. Word has length 47 [2020-07-08 17:35:59,621 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2020-07-08 17:35:59,621 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 6 states. [2020-07-08 17:35:59,623 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 7 states to 7 states and 93 transitions. [2020-07-08 17:35:59,624 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 6 states. [2020-07-08 17:35:59,626 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 7 states to 7 states and 93 transitions. [2020-07-08 17:35:59,626 INFO L86 InductivityCheck]: Starting indutivity check of a Floyd-Hoare automaton with 7 states and 93 transitions. [2020-07-08 17:35:59,763 INFO L119 InductivityCheck]: Floyd-Hoare automaton has 93 edges. 93 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2020-07-08 17:35:59,765 INFO L225 Difference]: With dead ends: 94 [2020-07-08 17:35:59,765 INFO L226 Difference]: Without dead ends: 80 [2020-07-08 17:35:59,766 INFO L675 BasicCegarLoop]: 0 DeclaredPredicates, 12 GetRequests, 6 SyntacticMatches, 1 SemanticMatches, 5 ConstructedPredicates, 0 IntricatePredicates, 0 DeprecatedPredicates, 2 ImplicationChecksByTransitivity, 0.1s TimeCoverageRelationStatistics Valid=17, Invalid=25, Unknown=0, NotChecked=0, Total=42 [2020-07-08 17:35:59,766 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 80 states. [2020-07-08 17:35:59,916 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 80 to 68. [2020-07-08 17:35:59,916 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2020-07-08 17:35:59,916 INFO L82 GeneralOperation]: Start isEquivalent. First operand 80 states. Second operand 68 states. [2020-07-08 17:35:59,916 INFO L74 IsIncluded]: Start isIncluded. First operand 80 states. Second operand 68 states. [2020-07-08 17:35:59,917 INFO L87 Difference]: Start difference. First operand 80 states. Second operand 68 states. [2020-07-08 17:35:59,920 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2020-07-08 17:35:59,920 INFO L93 Difference]: Finished difference Result 80 states and 86 transitions. [2020-07-08 17:35:59,920 INFO L276 IsEmpty]: Start isEmpty. Operand 80 states and 86 transitions. [2020-07-08 17:35:59,921 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2020-07-08 17:35:59,921 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2020-07-08 17:35:59,921 INFO L74 IsIncluded]: Start isIncluded. First operand 68 states. Second operand 80 states. [2020-07-08 17:35:59,921 INFO L87 Difference]: Start difference. First operand 68 states. Second operand 80 states. [2020-07-08 17:35:59,924 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2020-07-08 17:35:59,925 INFO L93 Difference]: Finished difference Result 80 states and 86 transitions. [2020-07-08 17:35:59,925 INFO L276 IsEmpty]: Start isEmpty. Operand 80 states and 86 transitions. [2020-07-08 17:35:59,925 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2020-07-08 17:35:59,925 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2020-07-08 17:35:59,926 INFO L88 GeneralOperation]: Finished isEquivalent. [2020-07-08 17:35:59,926 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2020-07-08 17:35:59,926 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 68 states. [2020-07-08 17:35:59,929 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 68 states to 68 states and 72 transitions. [2020-07-08 17:35:59,929 INFO L78 Accepts]: Start accepts. Automaton has 68 states and 72 transitions. Word has length 47 [2020-07-08 17:35:59,929 INFO L84 Accepts]: Finished accepts. word is rejected. [2020-07-08 17:35:59,929 INFO L479 AbstractCegarLoop]: Abstraction has 68 states and 72 transitions. [2020-07-08 17:35:59,930 INFO L480 AbstractCegarLoop]: Interpolant automaton has 6 states. [2020-07-08 17:35:59,930 INFO L86 InductivityCheck]: Starting indutivity check of a Floyd-Hoare automaton with 68 states and 72 transitions. [2020-07-08 17:36:00,028 INFO L119 InductivityCheck]: Floyd-Hoare automaton has 72 edges. 72 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2020-07-08 17:36:00,028 INFO L276 IsEmpty]: Start isEmpty. Operand 68 states and 72 transitions. [2020-07-08 17:36:00,029 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 58 [2020-07-08 17:36:00,029 INFO L414 BasicCegarLoop]: Found error trace [2020-07-08 17:36:00,030 INFO L422 BasicCegarLoop]: trace histogram [2, 2, 2, 2, 2, 2, 2, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1] [2020-07-08 17:36:00,030 WARN L516 AbstractCegarLoop]: Destroyed unattended storables created during the last iteration: SelfDestructingSolverStorable3 [2020-07-08 17:36:00,030 INFO L427 AbstractCegarLoop]: === Iteration 5 === [__VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION]=== [2020-07-08 17:36:00,030 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2020-07-08 17:36:00,031 INFO L82 PathProgramCache]: Analyzing trace with hash -153041457, now seen corresponding path program 1 times [2020-07-08 17:36:00,031 INFO L163 FreeRefinementEngine]: Executing refinement strategy FIXED_PREFERENCES [2020-07-08 17:36:00,031 INFO L354 FreeRefinementEngine]: Using trace check IpTcStrategyModulePreferences [1616329429] [2020-07-08 17:36:00,031 INFO L94 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2020-07-08 17:36:00,061 WARN L516 AbstractCegarLoop]: Destroyed unattended storables created during the last iteration: SelfDestructingSolverStorable4 [2020-07-08 17:36:00,061 FATAL L? ?]: The Plugin de.uni_freiburg.informatik.ultimate.plugins.generator.traceabstraction has thrown an exception: java.lang.NullPointerException at de.uni_freiburg.informatik.ultimate.lib.acceleratedinterpolation.AcceleratedInterpolation.generateMetaTrace(AcceleratedInterpolation.java:442) at de.uni_freiburg.informatik.ultimate.lib.acceleratedinterpolation.AcceleratedInterpolation.acceleratedInterpolationCore(AcceleratedInterpolation.java:277) at de.uni_freiburg.informatik.ultimate.lib.acceleratedinterpolation.AcceleratedInterpolation.(AcceleratedInterpolation.java:184) at de.uni_freiburg.informatik.ultimate.plugins.generator.traceabstraction.tracehandling.IpTcStrategyModulePreferences.construct(IpTcStrategyModulePreferences.java:144) at de.uni_freiburg.informatik.ultimate.plugins.generator.traceabstraction.tracehandling.IpTcStrategyModuleBase.getOrConstruct(IpTcStrategyModuleBase.java:101) at de.uni_freiburg.informatik.ultimate.plugins.generator.traceabstraction.tracehandling.IpTcStrategyModuleBase.isCorrect(IpTcStrategyModuleBase.java:57) at de.uni_freiburg.informatik.ultimate.plugins.generator.traceabstraction.tracehandling.AutomatonFreeRefinementEngine.checkFeasibility(AutomatonFreeRefinementEngine.java:242) at de.uni_freiburg.informatik.ultimate.plugins.generator.traceabstraction.tracehandling.AutomatonFreeRefinementEngine.executeStrategy(AutomatonFreeRefinementEngine.java:166) at de.uni_freiburg.informatik.ultimate.plugins.generator.traceabstraction.tracehandling.AutomatonFreeRefinementEngine.(AutomatonFreeRefinementEngine.java:85) at de.uni_freiburg.informatik.ultimate.plugins.generator.traceabstraction.tracehandling.TraceAbstractionRefinementEngine.(TraceAbstractionRefinementEngine.java:75) at de.uni_freiburg.informatik.ultimate.plugins.generator.traceabstraction.BasicCegarLoop.isCounterexampleFeasible(BasicCegarLoop.java:508) at de.uni_freiburg.informatik.ultimate.plugins.generator.traceabstraction.AbstractCegarLoop.iterateInternal(AbstractCegarLoop.java:436) at de.uni_freiburg.informatik.ultimate.plugins.generator.traceabstraction.AbstractCegarLoop.iterate(AbstractCegarLoop.java:370) at de.uni_freiburg.informatik.ultimate.plugins.generator.traceabstraction.CegarLoopResult.iterate(CegarLoopResult.java:142) at de.uni_freiburg.informatik.ultimate.plugins.generator.traceabstraction.TraceAbstractionStarter.iterateNew(TraceAbstractionStarter.java:334) at de.uni_freiburg.informatik.ultimate.plugins.generator.traceabstraction.TraceAbstractionStarter.runCegarLoops(TraceAbstractionStarter.java:175) at de.uni_freiburg.informatik.ultimate.plugins.generator.traceabstraction.TraceAbstractionStarter.(TraceAbstractionStarter.java:127) at de.uni_freiburg.informatik.ultimate.plugins.generator.traceabstraction.TraceAbstractionObserver.finish(TraceAbstractionObserver.java:120) at de.uni_freiburg.informatik.ultimate.core.coreplugin.PluginConnector.runObserver(PluginConnector.java:168) at de.uni_freiburg.informatik.ultimate.core.coreplugin.PluginConnector.runTool(PluginConnector.java:151) at de.uni_freiburg.informatik.ultimate.core.coreplugin.PluginConnector.run(PluginConnector.java:128) at de.uni_freiburg.informatik.ultimate.core.coreplugin.ToolchainWalker.executePluginConnector(ToolchainWalker.java:232) at de.uni_freiburg.informatik.ultimate.core.coreplugin.ToolchainWalker.processPlugin(ToolchainWalker.java:226) at de.uni_freiburg.informatik.ultimate.core.coreplugin.ToolchainWalker.walkUnprotected(ToolchainWalker.java:142) at de.uni_freiburg.informatik.ultimate.core.coreplugin.ToolchainWalker.walk(ToolchainWalker.java:104) at de.uni_freiburg.informatik.ultimate.core.coreplugin.ToolchainManager$Toolchain.processToolchain(ToolchainManager.java:317) at de.uni_freiburg.informatik.ultimate.core.coreplugin.toolchain.DefaultToolchainJob.run(DefaultToolchainJob.java:145) at org.eclipse.core.internal.jobs.Worker.run(Worker.java:55) [2020-07-08 17:36:00,073 INFO L168 Benchmark]: Toolchain (without parser) took 6718.61 ms. Allocated memory was 135.8 MB in the beginning and 299.9 MB in the end (delta: 164.1 MB). Free memory was 101.1 MB in the beginning and 172.2 MB in the end (delta: -71.1 MB). Peak memory consumption was 93.0 MB. Max. memory is 7.1 GB. [2020-07-08 17:36:00,074 INFO L168 Benchmark]: CDTParser took 0.21 ms. Allocated memory is still 135.8 MB. Free memory was 119.2 MB in the beginning and 119.0 MB in the end (delta: 210.1 kB). Peak memory consumption was 210.1 kB. Max. memory is 7.1 GB. [2020-07-08 17:36:00,075 INFO L168 Benchmark]: CACSL2BoogieTranslator took 344.78 ms. Allocated memory is still 135.8 MB. Free memory was 100.7 MB in the beginning and 89.8 MB in the end (delta: 10.9 MB). Peak memory consumption was 10.9 MB. Max. memory is 7.1 GB. [2020-07-08 17:36:00,078 INFO L168 Benchmark]: Boogie Preprocessor took 148.86 ms. Allocated memory was 135.8 MB in the beginning and 199.2 MB in the end (delta: 63.4 MB). Free memory was 89.8 MB in the beginning and 177.3 MB in the end (delta: -87.5 MB). Peak memory consumption was 14.5 MB. Max. memory is 7.1 GB. [2020-07-08 17:36:00,080 INFO L168 Benchmark]: RCFGBuilder took 585.39 ms. Allocated memory is still 199.2 MB. Free memory was 176.6 MB in the beginning and 146.3 MB in the end (delta: 30.3 MB). Peak memory consumption was 30.3 MB. Max. memory is 7.1 GB. [2020-07-08 17:36:00,081 INFO L168 Benchmark]: TraceAbstraction took 5632.93 ms. Allocated memory was 199.2 MB in the beginning and 299.9 MB in the end (delta: 100.7 MB). Free memory was 145.6 MB in the beginning and 172.2 MB in the end (delta: -26.7 MB). Peak memory consumption was 74.0 MB. Max. memory is 7.1 GB. [2020-07-08 17:36:00,085 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.21 ms. Allocated memory is still 135.8 MB. Free memory was 119.2 MB in the beginning and 119.0 MB in the end (delta: 210.1 kB). Peak memory consumption was 210.1 kB. Max. memory is 7.1 GB. * CACSL2BoogieTranslator took 344.78 ms. Allocated memory is still 135.8 MB. Free memory was 100.7 MB in the beginning and 89.8 MB in the end (delta: 10.9 MB). Peak memory consumption was 10.9 MB. Max. memory is 7.1 GB. * Boogie Preprocessor took 148.86 ms. Allocated memory was 135.8 MB in the beginning and 199.2 MB in the end (delta: 63.4 MB). Free memory was 89.8 MB in the beginning and 177.3 MB in the end (delta: -87.5 MB). Peak memory consumption was 14.5 MB. Max. memory is 7.1 GB. * RCFGBuilder took 585.39 ms. Allocated memory is still 199.2 MB. Free memory was 176.6 MB in the beginning and 146.3 MB in the end (delta: 30.3 MB). Peak memory consumption was 30.3 MB. Max. memory is 7.1 GB. * TraceAbstraction took 5632.93 ms. Allocated memory was 199.2 MB in the beginning and 299.9 MB in the end (delta: 100.7 MB). Free memory was 145.6 MB in the beginning and 172.2 MB in the end (delta: -26.7 MB). Peak memory consumption was 74.0 MB. Max. memory is 7.1 GB. * Results from de.uni_freiburg.informatik.ultimate.plugins.generator.traceabstraction: - ExceptionOrErrorResult: NullPointerException: null de.uni_freiburg.informatik.ultimate.plugins.generator.traceabstraction: NullPointerException: null: de.uni_freiburg.informatik.ultimate.lib.acceleratedinterpolation.AcceleratedInterpolation.generateMetaTrace(AcceleratedInterpolation.java:442) RESULT: Ultimate could not prove your program: Toolchain returned no result. Received shutdown request...