/usr/bin/java -ea -Xmx8000000000 -Xss4m -jar ./plugins/org.eclipse.equinox.launcher_1.3.100.v20150511-1540.jar -data @noDefault -ultimatedata ./data -tc ../../../trunk/examples/toolchains/AutomizerC.xml -s ../../../trunk/examples/settings/default/automizer/svcomp-Reach-32bit-Automizer_Default.epf -i ../../../trunk/examples/svcomp/forester-heap/sll-01-2.i -------------------------------------------------------------------------------- This is Ultimate 0.1.25-8fc6572 [2020-07-10 15:08:35,189 INFO L177 SettingsManager]: Resetting all preferences to default values... [2020-07-10 15:08:35,192 INFO L181 SettingsManager]: Resetting UltimateCore preferences to default values [2020-07-10 15:08:35,204 INFO L184 SettingsManager]: Ultimate Commandline Interface provides no preferences, ignoring... [2020-07-10 15:08:35,204 INFO L181 SettingsManager]: Resetting Boogie Preprocessor preferences to default values [2020-07-10 15:08:35,205 INFO L181 SettingsManager]: Resetting Boogie Procedure Inliner preferences to default values [2020-07-10 15:08:35,207 INFO L181 SettingsManager]: Resetting Abstract Interpretation preferences to default values [2020-07-10 15:08:35,208 INFO L181 SettingsManager]: Resetting LassoRanker preferences to default values [2020-07-10 15:08:35,210 INFO L181 SettingsManager]: Resetting Reaching Definitions preferences to default values [2020-07-10 15:08:35,211 INFO L181 SettingsManager]: Resetting SyntaxChecker preferences to default values [2020-07-10 15:08:35,212 INFO L181 SettingsManager]: Resetting Sifa preferences to default values [2020-07-10 15:08:35,213 INFO L184 SettingsManager]: Büchi Program Product provides no preferences, ignoring... [2020-07-10 15:08:35,213 INFO L181 SettingsManager]: Resetting LTL2Aut preferences to default values [2020-07-10 15:08:35,214 INFO L181 SettingsManager]: Resetting PEA to Boogie preferences to default values [2020-07-10 15:08:35,215 INFO L181 SettingsManager]: Resetting BlockEncodingV2 preferences to default values [2020-07-10 15:08:35,216 INFO L181 SettingsManager]: Resetting ChcToBoogie preferences to default values [2020-07-10 15:08:35,217 INFO L181 SettingsManager]: Resetting AutomataScriptInterpreter preferences to default values [2020-07-10 15:08:35,218 INFO L181 SettingsManager]: Resetting BuchiAutomizer preferences to default values [2020-07-10 15:08:35,219 INFO L181 SettingsManager]: Resetting CACSL2BoogieTranslator preferences to default values [2020-07-10 15:08:35,221 INFO L181 SettingsManager]: Resetting CodeCheck preferences to default values [2020-07-10 15:08:35,222 INFO L181 SettingsManager]: Resetting InvariantSynthesis preferences to default values [2020-07-10 15:08:35,223 INFO L181 SettingsManager]: Resetting RCFGBuilder preferences to default values [2020-07-10 15:08:35,224 INFO L181 SettingsManager]: Resetting Referee preferences to default values [2020-07-10 15:08:35,225 INFO L181 SettingsManager]: Resetting TraceAbstraction preferences to default values [2020-07-10 15:08:35,227 INFO L184 SettingsManager]: TraceAbstractionConcurrent provides no preferences, ignoring... [2020-07-10 15:08:35,227 INFO L184 SettingsManager]: TraceAbstractionWithAFAs provides no preferences, ignoring... [2020-07-10 15:08:35,227 INFO L181 SettingsManager]: Resetting TreeAutomizer preferences to default values [2020-07-10 15:08:35,228 INFO L181 SettingsManager]: Resetting IcfgToChc preferences to default values [2020-07-10 15:08:35,228 INFO L181 SettingsManager]: Resetting IcfgTransformer preferences to default values [2020-07-10 15:08:35,229 INFO L184 SettingsManager]: ReqToTest provides no preferences, ignoring... [2020-07-10 15:08:35,229 INFO L181 SettingsManager]: Resetting Boogie Printer preferences to default values [2020-07-10 15:08:35,230 INFO L181 SettingsManager]: Resetting ChcSmtPrinter preferences to default values [2020-07-10 15:08:35,231 INFO L181 SettingsManager]: Resetting ReqPrinter preferences to default values [2020-07-10 15:08:35,231 INFO L181 SettingsManager]: Resetting Witness Printer preferences to default values [2020-07-10 15:08:35,232 INFO L184 SettingsManager]: Boogie PL CUP Parser provides no preferences, ignoring... [2020-07-10 15:08:35,233 INFO L181 SettingsManager]: Resetting CDTParser preferences to default values [2020-07-10 15:08:35,233 INFO L184 SettingsManager]: AutomataScriptParser provides no preferences, ignoring... [2020-07-10 15:08:35,233 INFO L184 SettingsManager]: ReqParser provides no preferences, ignoring... [2020-07-10 15:08:35,234 INFO L181 SettingsManager]: Resetting SmtParser preferences to default values [2020-07-10 15:08:35,234 INFO L181 SettingsManager]: Resetting Witness Parser preferences to default values [2020-07-10 15:08:35,235 INFO L188 SettingsManager]: Finished resetting all preferences to default values... [2020-07-10 15:08:35,236 INFO L101 SettingsManager]: Beginning loading settings from /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/../../../trunk/examples/settings/default/automizer/svcomp-Reach-32bit-Automizer_Default.epf [2020-07-10 15:08:35,250 INFO L113 SettingsManager]: Loading preferences was successful [2020-07-10 15:08:35,250 INFO L115 SettingsManager]: Preferences different from defaults after loading the file: [2020-07-10 15:08:35,251 INFO L136 SettingsManager]: Preferences of BlockEncodingV2 differ from their defaults: [2020-07-10 15:08:35,251 INFO L138 SettingsManager]: * Create parallel compositions if possible=false [2020-07-10 15:08:35,251 INFO L138 SettingsManager]: * Use SBE=true [2020-07-10 15:08:35,252 INFO L136 SettingsManager]: Preferences of CACSL2BoogieTranslator differ from their defaults: [2020-07-10 15:08:35,252 INFO L138 SettingsManager]: * sizeof long=4 [2020-07-10 15:08:35,252 INFO L138 SettingsManager]: * Overapproximate operations on floating types=true [2020-07-10 15:08:35,252 INFO L138 SettingsManager]: * sizeof POINTER=4 [2020-07-10 15:08:35,252 INFO L138 SettingsManager]: * Check division by zero=IGNORE [2020-07-10 15:08:35,253 INFO L138 SettingsManager]: * Pointer to allocated memory at dereference=IGNORE [2020-07-10 15:08:35,253 INFO L138 SettingsManager]: * If two pointers are subtracted or compared they have the same base address=IGNORE [2020-07-10 15:08:35,253 INFO L138 SettingsManager]: * Check array bounds for arrays that are off heap=IGNORE [2020-07-10 15:08:35,253 INFO L138 SettingsManager]: * sizeof long double=12 [2020-07-10 15:08:35,253 INFO L138 SettingsManager]: * Check if freed pointer was valid=false [2020-07-10 15:08:35,254 INFO L138 SettingsManager]: * Use constant arrays=true [2020-07-10 15:08:35,254 INFO L138 SettingsManager]: * Pointer base address is valid at dereference=IGNORE [2020-07-10 15:08:35,254 INFO L136 SettingsManager]: Preferences of RCFGBuilder differ from their defaults: [2020-07-10 15:08:35,254 INFO L138 SettingsManager]: * Size of a code block=SequenceOfStatements [2020-07-10 15:08:35,254 INFO L138 SettingsManager]: * To the following directory=./dump/ [2020-07-10 15:08:35,254 INFO L138 SettingsManager]: * SMT solver=External_DefaultMode [2020-07-10 15:08:35,255 INFO L138 SettingsManager]: * Command for external solver=z3 SMTLIB2_COMPLIANT=true -memory:2024 -smt2 -in -t:2000 [2020-07-10 15:08:35,255 INFO L136 SettingsManager]: Preferences of TraceAbstraction differ from their defaults: [2020-07-10 15:08:35,255 INFO L138 SettingsManager]: * Compute Interpolants along a Counterexample=FPandBP [2020-07-10 15:08:35,255 INFO L138 SettingsManager]: * Positions where we compute the Hoare Annotation=LoopsAndPotentialCycles [2020-07-10 15:08:35,255 INFO L138 SettingsManager]: * Trace refinement strategy=CAMEL [2020-07-10 15:08:35,256 INFO L138 SettingsManager]: * Command for external solver=z3 SMTLIB2_COMPLIANT=true -memory:2024 -smt2 -in [2020-07-10 15:08:35,256 INFO L138 SettingsManager]: * Compute Hoare Annotation of negated interpolant automaton, abstraction and CFG=true [2020-07-10 15:08:35,256 INFO L138 SettingsManager]: * Trace refinement exception blacklist=NONE [2020-07-10 15:08:35,256 INFO L138 SettingsManager]: * SMT solver=External_ModelsAndUnsatCoreMode [2020-07-10 15:08:35,521 INFO L81 nceAwareModelManager]: Repository-Root is: /tmp [2020-07-10 15:08:35,537 INFO L258 ainManager$Toolchain]: [Toolchain 1]: Applicable parser(s) successfully (re)initialized [2020-07-10 15:08:35,540 INFO L214 ainManager$Toolchain]: [Toolchain 1]: Toolchain selected. [2020-07-10 15:08:35,542 INFO L271 PluginConnector]: Initializing CDTParser... [2020-07-10 15:08:35,542 INFO L275 PluginConnector]: CDTParser initialized [2020-07-10 15:08:35,543 INFO L429 ainManager$Toolchain]: [Toolchain 1]: Parsing single file: /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/../../../trunk/examples/svcomp/forester-heap/sll-01-2.i [2020-07-10 15:08:35,624 INFO L220 CDTParser]: Created temporary CDT project at /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/data/f5ee70b14/e3927dece35e460aabec8b0e8b0de2fc/FLAGb5db65c98 [2020-07-10 15:08:36,140 INFO L306 CDTParser]: Found 1 translation units. [2020-07-10 15:08:36,141 INFO L160 CDTParser]: Scanning /storage/repos/ultimate/trunk/examples/svcomp/forester-heap/sll-01-2.i [2020-07-10 15:08:36,152 INFO L349 CDTParser]: About to delete temporary CDT project at /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/data/f5ee70b14/e3927dece35e460aabec8b0e8b0de2fc/FLAGb5db65c98 [2020-07-10 15:08:36,436 INFO L357 CDTParser]: Successfully deleted /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/data/f5ee70b14/e3927dece35e460aabec8b0e8b0de2fc [2020-07-10 15:08:36,445 INFO L296 ainManager$Toolchain]: ####################### [Toolchain 1] ####################### [2020-07-10 15:08:36,446 INFO L131 ToolchainWalker]: Walking toolchain with 4 elements. [2020-07-10 15:08:36,447 INFO L113 PluginConnector]: ------------------------CACSL2BoogieTranslator---------------------------- [2020-07-10 15:08:36,447 INFO L271 PluginConnector]: Initializing CACSL2BoogieTranslator... [2020-07-10 15:08:36,451 INFO L275 PluginConnector]: CACSL2BoogieTranslator initialized [2020-07-10 15:08:36,452 INFO L185 PluginConnector]: Executing the observer ACSLObjectContainerObserver from plugin CACSL2BoogieTranslator for "CDTParser AST 10.07 03:08:36" (1/1) ... [2020-07-10 15:08:36,455 INFO L205 PluginConnector]: Invalid model from CACSL2BoogieTranslator for observer de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator.ACSLObjectContainerObserver@6902f5b4 and model type de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 10.07 03:08:36, skipping insertion in model container [2020-07-10 15:08:36,456 INFO L185 PluginConnector]: Executing the observer CACSL2BoogieTranslatorObserver from plugin CACSL2BoogieTranslator for "CDTParser AST 10.07 03:08:36" (1/1) ... [2020-07-10 15:08:36,463 INFO L145 MainTranslator]: Starting translation in SV-COMP mode [2020-07-10 15:08:36,518 INFO L178 MainTranslator]: Built tables and reachable declarations [2020-07-10 15:08:36,977 INFO L206 PostProcessor]: Analyzing one entry point: main [2020-07-10 15:08:36,990 INFO L203 MainTranslator]: Completed pre-run [2020-07-10 15:08:37,070 INFO L206 PostProcessor]: Analyzing one entry point: main [2020-07-10 15:08:37,124 INFO L208 MainTranslator]: Completed translation [2020-07-10 15:08:37,125 INFO L202 PluginConnector]: Adding new model de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 10.07 03:08:37 WrapperNode [2020-07-10 15:08:37,125 INFO L132 PluginConnector]: ------------------------ END CACSL2BoogieTranslator---------------------------- [2020-07-10 15:08:37,126 INFO L113 PluginConnector]: ------------------------Boogie Preprocessor---------------------------- [2020-07-10 15:08:37,126 INFO L271 PluginConnector]: Initializing Boogie Preprocessor... [2020-07-10 15:08:37,126 INFO L275 PluginConnector]: Boogie Preprocessor initialized [2020-07-10 15:08:37,140 INFO L185 PluginConnector]: Executing the observer EnsureBoogieModelObserver from plugin Boogie Preprocessor for "de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 10.07 03:08:37" (1/1) ... [2020-07-10 15:08:37,140 INFO L185 PluginConnector]: Executing the observer TypeChecker from plugin Boogie Preprocessor for "de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 10.07 03:08:37" (1/1) ... [2020-07-10 15:08:37,166 INFO L185 PluginConnector]: Executing the observer ConstExpander from plugin Boogie Preprocessor for "de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 10.07 03:08:37" (1/1) ... [2020-07-10 15:08:37,168 INFO L185 PluginConnector]: Executing the observer StructExpander from plugin Boogie Preprocessor for "de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 10.07 03:08:37" (1/1) ... [2020-07-10 15:08:37,227 INFO L185 PluginConnector]: Executing the observer UnstructureCode from plugin Boogie Preprocessor for "de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 10.07 03:08:37" (1/1) ... [2020-07-10 15:08:37,246 INFO L185 PluginConnector]: Executing the observer FunctionInliner from plugin Boogie Preprocessor for "de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 10.07 03:08:37" (1/1) ... [2020-07-10 15:08:37,250 INFO L185 PluginConnector]: Executing the observer BoogieSymbolTableConstructor from plugin Boogie Preprocessor for "de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 10.07 03:08:37" (1/1) ... [2020-07-10 15:08:37,258 INFO L132 PluginConnector]: ------------------------ END Boogie Preprocessor---------------------------- [2020-07-10 15:08:37,265 INFO L113 PluginConnector]: ------------------------RCFGBuilder---------------------------- [2020-07-10 15:08:37,265 INFO L271 PluginConnector]: Initializing RCFGBuilder... [2020-07-10 15:08:37,265 INFO L275 PluginConnector]: RCFGBuilder initialized [2020-07-10 15:08:37,266 INFO L185 PluginConnector]: Executing the observer RCFGBuilderObserver from plugin RCFGBuilder for "de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 10.07 03:08:37" (1/1) ... No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 Starting monitored process 1 with z3 SMTLIB2_COMPLIANT=true -memory:2024 -smt2 -in -t:2000 (exit command is (exit), workingDir is null) Waiting until toolchain timeout for monitored process 1 with z3 SMTLIB2_COMPLIANT=true -memory:2024 -smt2 -in -t:2000 [2020-07-10 15:08:37,325 INFO L138 BoogieDeclarations]: Found implementation of procedure ULTIMATE.init [2020-07-10 15:08:37,326 INFO L138 BoogieDeclarations]: Found implementation of procedure ULTIMATE.start [2020-07-10 15:08:37,326 INFO L138 BoogieDeclarations]: Found implementation of procedure main [2020-07-10 15:08:37,326 INFO L130 BoogieDeclarations]: Found specification of procedure __ctype_get_mb_cur_max [2020-07-10 15:08:37,326 INFO L130 BoogieDeclarations]: Found specification of procedure atof [2020-07-10 15:08:37,326 INFO L130 BoogieDeclarations]: Found specification of procedure atoi [2020-07-10 15:08:37,326 INFO L130 BoogieDeclarations]: Found specification of procedure atol [2020-07-10 15:08:37,327 INFO L130 BoogieDeclarations]: Found specification of procedure atoll [2020-07-10 15:08:37,327 INFO L130 BoogieDeclarations]: Found specification of procedure strtod [2020-07-10 15:08:37,327 INFO L130 BoogieDeclarations]: Found specification of procedure strtof [2020-07-10 15:08:37,327 INFO L130 BoogieDeclarations]: Found specification of procedure strtold [2020-07-10 15:08:37,328 INFO L130 BoogieDeclarations]: Found specification of procedure strtol [2020-07-10 15:08:37,328 INFO L130 BoogieDeclarations]: Found specification of procedure strtoul [2020-07-10 15:08:37,328 INFO L130 BoogieDeclarations]: Found specification of procedure strtoq [2020-07-10 15:08:37,328 INFO L130 BoogieDeclarations]: Found specification of procedure strtouq [2020-07-10 15:08:37,328 INFO L130 BoogieDeclarations]: Found specification of procedure strtoll [2020-07-10 15:08:37,328 INFO L130 BoogieDeclarations]: Found specification of procedure strtoull [2020-07-10 15:08:37,328 INFO L130 BoogieDeclarations]: Found specification of procedure l64a [2020-07-10 15:08:37,328 INFO L130 BoogieDeclarations]: Found specification of procedure a64l [2020-07-10 15:08:37,328 INFO L130 BoogieDeclarations]: Found specification of procedure select [2020-07-10 15:08:37,329 INFO L130 BoogieDeclarations]: Found specification of procedure pselect [2020-07-10 15:08:37,329 INFO L130 BoogieDeclarations]: Found specification of procedure gnu_dev_major [2020-07-10 15:08:37,329 INFO L130 BoogieDeclarations]: Found specification of procedure gnu_dev_minor [2020-07-10 15:08:37,329 INFO L130 BoogieDeclarations]: Found specification of procedure gnu_dev_makedev [2020-07-10 15:08:37,329 INFO L130 BoogieDeclarations]: Found specification of procedure random [2020-07-10 15:08:37,329 INFO L130 BoogieDeclarations]: Found specification of procedure srandom [2020-07-10 15:08:37,331 INFO L130 BoogieDeclarations]: Found specification of procedure initstate [2020-07-10 15:08:37,331 INFO L130 BoogieDeclarations]: Found specification of procedure setstate [2020-07-10 15:08:37,331 INFO L130 BoogieDeclarations]: Found specification of procedure random_r [2020-07-10 15:08:37,332 INFO L130 BoogieDeclarations]: Found specification of procedure srandom_r [2020-07-10 15:08:37,332 INFO L130 BoogieDeclarations]: Found specification of procedure initstate_r [2020-07-10 15:08:37,332 INFO L130 BoogieDeclarations]: Found specification of procedure setstate_r [2020-07-10 15:08:37,332 INFO L130 BoogieDeclarations]: Found specification of procedure rand [2020-07-10 15:08:37,332 INFO L130 BoogieDeclarations]: Found specification of procedure srand [2020-07-10 15:08:37,332 INFO L130 BoogieDeclarations]: Found specification of procedure rand_r [2020-07-10 15:08:37,333 INFO L130 BoogieDeclarations]: Found specification of procedure drand48 [2020-07-10 15:08:37,333 INFO L130 BoogieDeclarations]: Found specification of procedure erand48 [2020-07-10 15:08:37,333 INFO L130 BoogieDeclarations]: Found specification of procedure lrand48 [2020-07-10 15:08:37,333 INFO L130 BoogieDeclarations]: Found specification of procedure nrand48 [2020-07-10 15:08:37,333 INFO L130 BoogieDeclarations]: Found specification of procedure mrand48 [2020-07-10 15:08:37,333 INFO L130 BoogieDeclarations]: Found specification of procedure jrand48 [2020-07-10 15:08:37,333 INFO L130 BoogieDeclarations]: Found specification of procedure srand48 [2020-07-10 15:08:37,334 INFO L130 BoogieDeclarations]: Found specification of procedure seed48 [2020-07-10 15:08:37,334 INFO L130 BoogieDeclarations]: Found specification of procedure lcong48 [2020-07-10 15:08:37,334 INFO L130 BoogieDeclarations]: Found specification of procedure drand48_r [2020-07-10 15:08:37,334 INFO L130 BoogieDeclarations]: Found specification of procedure erand48_r [2020-07-10 15:08:37,334 INFO L130 BoogieDeclarations]: Found specification of procedure lrand48_r [2020-07-10 15:08:37,334 INFO L130 BoogieDeclarations]: Found specification of procedure nrand48_r [2020-07-10 15:08:37,334 INFO L130 BoogieDeclarations]: Found specification of procedure mrand48_r [2020-07-10 15:08:37,334 INFO L130 BoogieDeclarations]: Found specification of procedure jrand48_r [2020-07-10 15:08:37,335 INFO L130 BoogieDeclarations]: Found specification of procedure srand48_r [2020-07-10 15:08:37,335 INFO L130 BoogieDeclarations]: Found specification of procedure seed48_r [2020-07-10 15:08:37,335 INFO L130 BoogieDeclarations]: Found specification of procedure lcong48_r [2020-07-10 15:08:37,335 INFO L130 BoogieDeclarations]: Found specification of procedure malloc [2020-07-10 15:08:37,335 INFO L130 BoogieDeclarations]: Found specification of procedure calloc [2020-07-10 15:08:37,335 INFO L130 BoogieDeclarations]: Found specification of procedure realloc [2020-07-10 15:08:37,335 INFO L130 BoogieDeclarations]: Found specification of procedure free [2020-07-10 15:08:37,336 INFO L130 BoogieDeclarations]: Found specification of procedure cfree [2020-07-10 15:08:37,336 INFO L130 BoogieDeclarations]: Found specification of procedure alloca [2020-07-10 15:08:37,336 INFO L130 BoogieDeclarations]: Found specification of procedure valloc [2020-07-10 15:08:37,336 INFO L130 BoogieDeclarations]: Found specification of procedure posix_memalign [2020-07-10 15:08:37,336 INFO L130 BoogieDeclarations]: Found specification of procedure aligned_alloc [2020-07-10 15:08:37,336 INFO L130 BoogieDeclarations]: Found specification of procedure abort [2020-07-10 15:08:37,337 INFO L130 BoogieDeclarations]: Found specification of procedure atexit [2020-07-10 15:08:37,337 INFO L130 BoogieDeclarations]: Found specification of procedure at_quick_exit [2020-07-10 15:08:37,337 INFO L130 BoogieDeclarations]: Found specification of procedure on_exit [2020-07-10 15:08:37,337 INFO L130 BoogieDeclarations]: Found specification of procedure exit [2020-07-10 15:08:37,338 INFO L130 BoogieDeclarations]: Found specification of procedure quick_exit [2020-07-10 15:08:37,339 INFO L130 BoogieDeclarations]: Found specification of procedure _Exit [2020-07-10 15:08:37,339 INFO L130 BoogieDeclarations]: Found specification of procedure getenv [2020-07-10 15:08:37,339 INFO L130 BoogieDeclarations]: Found specification of procedure putenv [2020-07-10 15:08:37,339 INFO L130 BoogieDeclarations]: Found specification of procedure setenv [2020-07-10 15:08:37,339 INFO L130 BoogieDeclarations]: Found specification of procedure unsetenv [2020-07-10 15:08:37,340 INFO L130 BoogieDeclarations]: Found specification of procedure clearenv [2020-07-10 15:08:37,340 INFO L130 BoogieDeclarations]: Found specification of procedure mktemp [2020-07-10 15:08:37,340 INFO L130 BoogieDeclarations]: Found specification of procedure mkstemp [2020-07-10 15:08:37,341 INFO L130 BoogieDeclarations]: Found specification of procedure mkstemps [2020-07-10 15:08:37,342 INFO L130 BoogieDeclarations]: Found specification of procedure mkdtemp [2020-07-10 15:08:37,342 INFO L130 BoogieDeclarations]: Found specification of procedure system [2020-07-10 15:08:37,342 INFO L130 BoogieDeclarations]: Found specification of procedure realpath [2020-07-10 15:08:37,342 INFO L130 BoogieDeclarations]: Found specification of procedure bsearch [2020-07-10 15:08:37,343 INFO L130 BoogieDeclarations]: Found specification of procedure qsort [2020-07-10 15:08:37,343 INFO L130 BoogieDeclarations]: Found specification of procedure abs [2020-07-10 15:08:37,343 INFO L130 BoogieDeclarations]: Found specification of procedure labs [2020-07-10 15:08:37,343 INFO L130 BoogieDeclarations]: Found specification of procedure llabs [2020-07-10 15:08:37,344 INFO L130 BoogieDeclarations]: Found specification of procedure div [2020-07-10 15:08:37,344 INFO L130 BoogieDeclarations]: Found specification of procedure ldiv [2020-07-10 15:08:37,345 INFO L130 BoogieDeclarations]: Found specification of procedure lldiv [2020-07-10 15:08:37,345 INFO L130 BoogieDeclarations]: Found specification of procedure ecvt [2020-07-10 15:08:37,345 INFO L130 BoogieDeclarations]: Found specification of procedure fcvt [2020-07-10 15:08:37,346 INFO L130 BoogieDeclarations]: Found specification of procedure gcvt [2020-07-10 15:08:37,346 INFO L130 BoogieDeclarations]: Found specification of procedure qecvt [2020-07-10 15:08:37,346 INFO L130 BoogieDeclarations]: Found specification of procedure qfcvt [2020-07-10 15:08:37,346 INFO L130 BoogieDeclarations]: Found specification of procedure qgcvt [2020-07-10 15:08:37,346 INFO L130 BoogieDeclarations]: Found specification of procedure ecvt_r [2020-07-10 15:08:37,346 INFO L130 BoogieDeclarations]: Found specification of procedure fcvt_r [2020-07-10 15:08:37,346 INFO L130 BoogieDeclarations]: Found specification of procedure qecvt_r [2020-07-10 15:08:37,346 INFO L130 BoogieDeclarations]: Found specification of procedure qfcvt_r [2020-07-10 15:08:37,346 INFO L130 BoogieDeclarations]: Found specification of procedure mblen [2020-07-10 15:08:37,346 INFO L130 BoogieDeclarations]: Found specification of procedure mbtowc [2020-07-10 15:08:37,347 INFO L130 BoogieDeclarations]: Found specification of procedure wctomb [2020-07-10 15:08:37,347 INFO L130 BoogieDeclarations]: Found specification of procedure mbstowcs [2020-07-10 15:08:37,347 INFO L130 BoogieDeclarations]: Found specification of procedure wcstombs [2020-07-10 15:08:37,347 INFO L130 BoogieDeclarations]: Found specification of procedure rpmatch [2020-07-10 15:08:37,347 INFO L130 BoogieDeclarations]: Found specification of procedure getsubopt [2020-07-10 15:08:37,347 INFO L130 BoogieDeclarations]: Found specification of procedure getloadavg [2020-07-10 15:08:37,347 INFO L130 BoogieDeclarations]: Found specification of procedure __VERIFIER_nondet_int [2020-07-10 15:08:37,347 INFO L130 BoogieDeclarations]: Found specification of procedure __VERIFIER_error [2020-07-10 15:08:37,347 INFO L130 BoogieDeclarations]: Found specification of procedure main [2020-07-10 15:08:37,348 INFO L130 BoogieDeclarations]: Found specification of procedure #Ultimate.allocOnHeap [2020-07-10 15:08:37,348 INFO L130 BoogieDeclarations]: Found specification of procedure write~$Pointer$ [2020-07-10 15:08:37,348 INFO L130 BoogieDeclarations]: Found specification of procedure read~$Pointer$ [2020-07-10 15:08:37,348 INFO L130 BoogieDeclarations]: Found specification of procedure ULTIMATE.dealloc [2020-07-10 15:08:37,348 INFO L130 BoogieDeclarations]: Found specification of procedure ULTIMATE.init [2020-07-10 15:08:37,348 INFO L130 BoogieDeclarations]: Found specification of procedure ULTIMATE.start [2020-07-10 15:08:38,159 INFO L290 CfgBuilder]: Using the 1 location(s) as analysis (start of procedure ULTIMATE.start) [2020-07-10 15:08:38,159 INFO L295 CfgBuilder]: Removed 30 assume(true) statements. [2020-07-10 15:08:38,163 INFO L202 PluginConnector]: Adding new model de.uni_freiburg.informatik.ultimate.plugins.generator.rcfgbuilder CFG 10.07 03:08:38 BoogieIcfgContainer [2020-07-10 15:08:38,164 INFO L132 PluginConnector]: ------------------------ END RCFGBuilder---------------------------- [2020-07-10 15:08:38,166 INFO L113 PluginConnector]: ------------------------TraceAbstraction---------------------------- [2020-07-10 15:08:38,166 INFO L271 PluginConnector]: Initializing TraceAbstraction... [2020-07-10 15:08:38,168 INFO L275 PluginConnector]: TraceAbstraction initialized [2020-07-10 15:08:38,169 INFO L185 PluginConnector]: Executing the observer TraceAbstractionObserver from plugin TraceAbstraction for "CDTParser AST 10.07 03:08:36" (1/3) ... [2020-07-10 15:08:38,169 INFO L205 PluginConnector]: Invalid model from TraceAbstraction for observer de.uni_freiburg.informatik.ultimate.plugins.generator.traceabstraction.TraceAbstractionObserver@6da2bb2 and model type de.uni_freiburg.informatik.ultimate.plugins.generator.traceabstraction AST 10.07 03:08:38, skipping insertion in model container [2020-07-10 15:08:38,170 INFO L185 PluginConnector]: Executing the observer TraceAbstractionObserver from plugin TraceAbstraction for "de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 10.07 03:08:37" (2/3) ... [2020-07-10 15:08:38,171 INFO L205 PluginConnector]: Invalid model from TraceAbstraction for observer de.uni_freiburg.informatik.ultimate.plugins.generator.traceabstraction.TraceAbstractionObserver@6da2bb2 and model type de.uni_freiburg.informatik.ultimate.plugins.generator.traceabstraction AST 10.07 03:08:38, skipping insertion in model container [2020-07-10 15:08:38,171 INFO L185 PluginConnector]: Executing the observer TraceAbstractionObserver from plugin TraceAbstraction for "de.uni_freiburg.informatik.ultimate.plugins.generator.rcfgbuilder CFG 10.07 03:08:38" (3/3) ... [2020-07-10 15:08:38,173 INFO L109 eAbstractionObserver]: Analyzing ICFG sll-01-2.i [2020-07-10 15:08:38,197 INFO L157 ceAbstractionStarter]: Automizer settings: Hoare:true NWA Interpolation:FPandBP Determinization: PREDICATE_ABSTRACTION [2020-07-10 15:08:38,205 INFO L169 ceAbstractionStarter]: Appying trace abstraction to program that has 13 error locations. [2020-07-10 15:08:38,218 INFO L251 AbstractCegarLoop]: Starting to check reachability of 13 error locations. [2020-07-10 15:08:38,237 INFO L375 AbstractCegarLoop]: Interprodecural is true [2020-07-10 15:08:38,237 INFO L376 AbstractCegarLoop]: Hoare is true [2020-07-10 15:08:38,238 INFO L377 AbstractCegarLoop]: Compute interpolants for FPandBP [2020-07-10 15:08:38,238 INFO L378 AbstractCegarLoop]: Backedges is STRAIGHT_LINE [2020-07-10 15:08:38,238 INFO L379 AbstractCegarLoop]: Determinization is PREDICATE_ABSTRACTION [2020-07-10 15:08:38,238 INFO L380 AbstractCegarLoop]: Difference is false [2020-07-10 15:08:38,239 INFO L381 AbstractCegarLoop]: Minimize is MINIMIZE_SEVPA [2020-07-10 15:08:38,239 INFO L385 AbstractCegarLoop]: ======== Iteration 0==of CEGAR loop == AllErrorsAtOnce======== [2020-07-10 15:08:38,271 INFO L276 IsEmpty]: Start isEmpty. Operand 89 states. [2020-07-10 15:08:38,276 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 9 [2020-07-10 15:08:38,277 INFO L414 BasicCegarLoop]: Found error trace [2020-07-10 15:08:38,278 INFO L422 BasicCegarLoop]: trace histogram [1, 1, 1, 1, 1, 1, 1, 1] [2020-07-10 15:08:38,278 INFO L427 AbstractCegarLoop]: === Iteration 1 === [mainErr0ASSERT_VIOLATIONERROR_FUNCTION, mainErr7ASSERT_VIOLATIONERROR_FUNCTION, mainErr8ASSERT_VIOLATIONERROR_FUNCTION, mainErr9ASSERT_VIOLATIONERROR_FUNCTION, mainErr10ASSERT_VIOLATIONERROR_FUNCTION, mainErr12ASSERT_VIOLATIONERROR_FUNCTION, mainErr4ASSERT_VIOLATIONERROR_FUNCTION, mainErr11ASSERT_VIOLATIONERROR_FUNCTION, mainErr2ASSERT_VIOLATIONERROR_FUNCTION, mainErr6ASSERT_VIOLATIONERROR_FUNCTION, mainErr5ASSERT_VIOLATIONERROR_FUNCTION, mainErr3ASSERT_VIOLATIONERROR_FUNCTION, mainErr1ASSERT_VIOLATIONERROR_FUNCTION]=== [2020-07-10 15:08:38,284 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2020-07-10 15:08:38,285 INFO L82 PathProgramCache]: Analyzing trace with hash 11193106, now seen corresponding path program 1 times [2020-07-10 15:08:38,295 INFO L163 FreeRefinementEngine]: Executing refinement strategy CAMEL [2020-07-10 15:08:38,295 INFO L354 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [1324735725] [2020-07-10 15:08:38,295 INFO L94 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2020-07-10 15:08:38,402 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2020-07-10 15:08:38,493 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2020-07-10 15:08:38,509 INFO L280 TraceCheckUtils]: 0: Hoare triple {98#(and (= |#valid| |old(#valid)|) (= |#NULL.base| |old(#NULL.base)|) (= |#NULL.offset| |old(#NULL.offset)|))} #NULL.base, #NULL.offset := 0, 0;#valid := #valid[0 := 0];assume 0 < #StackHeapBarrier; {92#true} is VALID [2020-07-10 15:08:38,509 INFO L280 TraceCheckUtils]: 1: Hoare triple {92#true} assume true; {92#true} is VALID [2020-07-10 15:08:38,510 INFO L275 TraceCheckUtils]: 2: Hoare quadruple {92#true} {92#true} #337#return; {92#true} is VALID [2020-07-10 15:08:38,513 INFO L263 TraceCheckUtils]: 0: Hoare triple {92#true} call ULTIMATE.init(); {98#(and (= |#valid| |old(#valid)|) (= |#NULL.base| |old(#NULL.base)|) (= |#NULL.offset| |old(#NULL.offset)|))} is VALID [2020-07-10 15:08:38,514 INFO L280 TraceCheckUtils]: 1: Hoare triple {98#(and (= |#valid| |old(#valid)|) (= |#NULL.base| |old(#NULL.base)|) (= |#NULL.offset| |old(#NULL.offset)|))} #NULL.base, #NULL.offset := 0, 0;#valid := #valid[0 := 0];assume 0 < #StackHeapBarrier; {92#true} is VALID [2020-07-10 15:08:38,515 INFO L280 TraceCheckUtils]: 2: Hoare triple {92#true} assume true; {92#true} is VALID [2020-07-10 15:08:38,515 INFO L275 TraceCheckUtils]: 3: Hoare quadruple {92#true} {92#true} #337#return; {92#true} is VALID [2020-07-10 15:08:38,515 INFO L263 TraceCheckUtils]: 4: Hoare triple {92#true} call #t~ret28 := main(); {92#true} is VALID [2020-07-10 15:08:38,517 INFO L280 TraceCheckUtils]: 5: Hoare triple {92#true} call #t~malloc0.base, #t~malloc0.offset := #Ultimate.allocOnHeap(8);~list~0.base, ~list~0.offset := #t~malloc0.base, #t~malloc0.offset;call write~$Pointer$(0, 0, ~list~0.base, ~list~0.offset, 4); {97#(not (= 0 main_~list~0.base))} is VALID [2020-07-10 15:08:38,521 INFO L280 TraceCheckUtils]: 6: Hoare triple {97#(not (= 0 main_~list~0.base))} assume !(~list~0.base != 0 || ~list~0.offset != 0); {93#false} is VALID [2020-07-10 15:08:38,522 INFO L280 TraceCheckUtils]: 7: Hoare triple {93#false} assume !false; {93#false} is VALID [2020-07-10 15:08:38,523 INFO L134 CoverageAnalysis]: Checked inductivity of 0 backedges. 0 proven. 0 refuted. 0 times theorem prover too weak. 0 trivial. 0 not checked. [2020-07-10 15:08:38,523 INFO L354 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleSmtInterpolCraig [1324735725] [2020-07-10 15:08:38,524 INFO L220 FreeRefinementEngine]: Constructing automaton from 1 perfect and 0 imperfect interpolant sequences. [2020-07-10 15:08:38,525 INFO L233 FreeRefinementEngine]: Number of different interpolants: perfect sequences [4] imperfect sequences [] total 4 [2020-07-10 15:08:38,525 INFO L156 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [1367490650] [2020-07-10 15:08:38,531 INFO L78 Accepts]: Start accepts. Automaton has 4 states. Word has length 8 [2020-07-10 15:08:38,534 INFO L84 Accepts]: Finished accepts. word is accepted. [2020-07-10 15:08:38,538 INFO L86 InductivityCheck]: Starting indutivity check of a Floyd-Hoare automaton with 4 states. [2020-07-10 15:08:38,555 INFO L119 InductivityCheck]: Floyd-Hoare automaton has 8 edges. 8 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2020-07-10 15:08:38,556 INFO L459 AbstractCegarLoop]: Interpolant automaton has 4 states [2020-07-10 15:08:38,556 INFO L143 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy CAMEL [2020-07-10 15:08:38,565 INFO L142 InterpolantAutomaton]: Constructing interpolant automaton starting with 4 interpolants. [2020-07-10 15:08:38,566 INFO L144 InterpolantAutomaton]: CoverageRelationStatistics Valid=5, Invalid=7, Unknown=0, NotChecked=0, Total=12 [2020-07-10 15:08:38,568 INFO L87 Difference]: Start difference. First operand 89 states. Second operand 4 states. [2020-07-10 15:08:39,039 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2020-07-10 15:08:39,040 INFO L93 Difference]: Finished difference Result 188 states and 306 transitions. [2020-07-10 15:08:39,040 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 4 states. [2020-07-10 15:08:39,040 INFO L78 Accepts]: Start accepts. Automaton has 4 states. Word has length 8 [2020-07-10 15:08:39,040 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2020-07-10 15:08:39,042 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 4 states. [2020-07-10 15:08:39,059 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 4 states to 4 states and 306 transitions. [2020-07-10 15:08:39,060 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 4 states. [2020-07-10 15:08:39,068 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 4 states to 4 states and 306 transitions. [2020-07-10 15:08:39,068 INFO L86 InductivityCheck]: Starting indutivity check of a Floyd-Hoare automaton with 4 states and 306 transitions. [2020-07-10 15:08:39,461 INFO L119 InductivityCheck]: Floyd-Hoare automaton has 306 edges. 306 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2020-07-10 15:08:39,478 INFO L225 Difference]: With dead ends: 188 [2020-07-10 15:08:39,478 INFO L226 Difference]: Without dead ends: 100 [2020-07-10 15:08:39,482 INFO L675 BasicCegarLoop]: 0 DeclaredPredicates, 5 GetRequests, 3 SyntacticMatches, 0 SemanticMatches, 2 ConstructedPredicates, 0 IntricatePredicates, 0 DeprecatedPredicates, 0 ImplicationChecksByTransitivity, 0.0s TimeCoverageRelationStatistics Valid=5, Invalid=7, Unknown=0, NotChecked=0, Total=12 [2020-07-10 15:08:39,501 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 100 states. [2020-07-10 15:08:39,532 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 100 to 82. [2020-07-10 15:08:39,533 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2020-07-10 15:08:39,533 INFO L82 GeneralOperation]: Start isEquivalent. First operand 100 states. Second operand 82 states. [2020-07-10 15:08:39,534 INFO L74 IsIncluded]: Start isIncluded. First operand 100 states. Second operand 82 states. [2020-07-10 15:08:39,534 INFO L87 Difference]: Start difference. First operand 100 states. Second operand 82 states. [2020-07-10 15:08:39,543 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2020-07-10 15:08:39,543 INFO L93 Difference]: Finished difference Result 100 states and 111 transitions. [2020-07-10 15:08:39,544 INFO L276 IsEmpty]: Start isEmpty. Operand 100 states and 111 transitions. [2020-07-10 15:08:39,545 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2020-07-10 15:08:39,545 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2020-07-10 15:08:39,545 INFO L74 IsIncluded]: Start isIncluded. First operand 82 states. Second operand 100 states. [2020-07-10 15:08:39,546 INFO L87 Difference]: Start difference. First operand 82 states. Second operand 100 states. [2020-07-10 15:08:39,553 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2020-07-10 15:08:39,554 INFO L93 Difference]: Finished difference Result 100 states and 111 transitions. [2020-07-10 15:08:39,554 INFO L276 IsEmpty]: Start isEmpty. Operand 100 states and 111 transitions. [2020-07-10 15:08:39,555 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2020-07-10 15:08:39,555 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2020-07-10 15:08:39,556 INFO L88 GeneralOperation]: Finished isEquivalent. [2020-07-10 15:08:39,556 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2020-07-10 15:08:39,556 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 82 states. [2020-07-10 15:08:39,565 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 82 states to 82 states and 92 transitions. [2020-07-10 15:08:39,566 INFO L78 Accepts]: Start accepts. Automaton has 82 states and 92 transitions. Word has length 8 [2020-07-10 15:08:39,567 INFO L84 Accepts]: Finished accepts. word is rejected. [2020-07-10 15:08:39,567 INFO L479 AbstractCegarLoop]: Abstraction has 82 states and 92 transitions. [2020-07-10 15:08:39,567 INFO L480 AbstractCegarLoop]: Interpolant automaton has 4 states. [2020-07-10 15:08:39,567 INFO L276 IsEmpty]: Start isEmpty. Operand 82 states and 92 transitions. [2020-07-10 15:08:39,568 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 15 [2020-07-10 15:08:39,568 INFO L414 BasicCegarLoop]: Found error trace [2020-07-10 15:08:39,568 INFO L422 BasicCegarLoop]: trace histogram [1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1] [2020-07-10 15:08:39,569 WARN L516 AbstractCegarLoop]: Destroyed unattended storables created during the last iteration: SelfDestructingSolverStorable0 [2020-07-10 15:08:39,569 INFO L427 AbstractCegarLoop]: === Iteration 2 === [mainErr0ASSERT_VIOLATIONERROR_FUNCTION, mainErr7ASSERT_VIOLATIONERROR_FUNCTION, mainErr8ASSERT_VIOLATIONERROR_FUNCTION, mainErr9ASSERT_VIOLATIONERROR_FUNCTION, mainErr10ASSERT_VIOLATIONERROR_FUNCTION, mainErr12ASSERT_VIOLATIONERROR_FUNCTION, mainErr4ASSERT_VIOLATIONERROR_FUNCTION, mainErr11ASSERT_VIOLATIONERROR_FUNCTION, mainErr2ASSERT_VIOLATIONERROR_FUNCTION, mainErr6ASSERT_VIOLATIONERROR_FUNCTION, mainErr5ASSERT_VIOLATIONERROR_FUNCTION, mainErr3ASSERT_VIOLATIONERROR_FUNCTION, mainErr1ASSERT_VIOLATIONERROR_FUNCTION]=== [2020-07-10 15:08:39,570 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2020-07-10 15:08:39,570 INFO L82 PathProgramCache]: Analyzing trace with hash -648207140, now seen corresponding path program 1 times [2020-07-10 15:08:39,571 INFO L163 FreeRefinementEngine]: Executing refinement strategy CAMEL [2020-07-10 15:08:39,571 INFO L354 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [1860697604] [2020-07-10 15:08:39,571 INFO L94 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2020-07-10 15:08:39,606 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2020-07-10 15:08:39,645 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2020-07-10 15:08:39,652 INFO L280 TraceCheckUtils]: 0: Hoare triple {604#(and (= |#valid| |old(#valid)|) (= |#NULL.base| |old(#NULL.base)|) (= |#NULL.offset| |old(#NULL.offset)|))} #NULL.base, #NULL.offset := 0, 0;#valid := #valid[0 := 0];assume 0 < #StackHeapBarrier; {598#true} is VALID [2020-07-10 15:08:39,652 INFO L280 TraceCheckUtils]: 1: Hoare triple {598#true} assume true; {598#true} is VALID [2020-07-10 15:08:39,653 INFO L275 TraceCheckUtils]: 2: Hoare quadruple {598#true} {598#true} #337#return; {598#true} is VALID [2020-07-10 15:08:39,654 INFO L263 TraceCheckUtils]: 0: Hoare triple {598#true} call ULTIMATE.init(); {604#(and (= |#valid| |old(#valid)|) (= |#NULL.base| |old(#NULL.base)|) (= |#NULL.offset| |old(#NULL.offset)|))} is VALID [2020-07-10 15:08:39,654 INFO L280 TraceCheckUtils]: 1: Hoare triple {604#(and (= |#valid| |old(#valid)|) (= |#NULL.base| |old(#NULL.base)|) (= |#NULL.offset| |old(#NULL.offset)|))} #NULL.base, #NULL.offset := 0, 0;#valid := #valid[0 := 0];assume 0 < #StackHeapBarrier; {598#true} is VALID [2020-07-10 15:08:39,654 INFO L280 TraceCheckUtils]: 2: Hoare triple {598#true} assume true; {598#true} is VALID [2020-07-10 15:08:39,654 INFO L275 TraceCheckUtils]: 3: Hoare quadruple {598#true} {598#true} #337#return; {598#true} is VALID [2020-07-10 15:08:39,655 INFO L263 TraceCheckUtils]: 4: Hoare triple {598#true} call #t~ret28 := main(); {598#true} is VALID [2020-07-10 15:08:39,655 INFO L280 TraceCheckUtils]: 5: Hoare triple {598#true} call #t~malloc0.base, #t~malloc0.offset := #Ultimate.allocOnHeap(8);~list~0.base, ~list~0.offset := #t~malloc0.base, #t~malloc0.offset;call write~$Pointer$(0, 0, ~list~0.base, ~list~0.offset, 4); {598#true} is VALID [2020-07-10 15:08:39,655 INFO L280 TraceCheckUtils]: 6: Hoare triple {598#true} assume !!(~list~0.base != 0 || ~list~0.offset != 0); {598#true} is VALID [2020-07-10 15:08:39,656 INFO L280 TraceCheckUtils]: 7: Hoare triple {598#true} goto; {598#true} is VALID [2020-07-10 15:08:39,656 INFO L280 TraceCheckUtils]: 8: Hoare triple {598#true} assume -2147483648 <= #t~nondet1 && #t~nondet1 <= 2147483647; {598#true} is VALID [2020-07-10 15:08:39,656 INFO L280 TraceCheckUtils]: 9: Hoare triple {598#true} assume 0 != #t~nondet1;havoc #t~nondet1;call write~$Pointer$(0, 0, ~list~0.base, 4 + ~list~0.offset, 4); {598#true} is VALID [2020-07-10 15:08:39,657 INFO L280 TraceCheckUtils]: 10: Hoare triple {598#true} call #t~mem5.base, #t~mem5.offset := read~$Pointer$(~list~0.base, 4 + ~list~0.offset, 4);#t~short7 := #t~mem5.base != 0 || #t~mem5.offset != 0; {598#true} is VALID [2020-07-10 15:08:39,657 INFO L280 TraceCheckUtils]: 11: Hoare triple {598#true} assume #t~short7; {603#|main_#t~short7|} is VALID [2020-07-10 15:08:39,658 INFO L280 TraceCheckUtils]: 12: Hoare triple {603#|main_#t~short7|} assume !#t~short7;havoc #t~mem5.base, #t~mem5.offset;havoc #t~short7;havoc #t~mem6.base, #t~mem6.offset; {599#false} is VALID [2020-07-10 15:08:39,658 INFO L280 TraceCheckUtils]: 13: Hoare triple {599#false} assume !false; {599#false} is VALID [2020-07-10 15:08:39,660 INFO L134 CoverageAnalysis]: Checked inductivity of 0 backedges. 0 proven. 0 refuted. 0 times theorem prover too weak. 0 trivial. 0 not checked. [2020-07-10 15:08:39,660 INFO L354 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleSmtInterpolCraig [1860697604] [2020-07-10 15:08:39,660 INFO L220 FreeRefinementEngine]: Constructing automaton from 1 perfect and 0 imperfect interpolant sequences. [2020-07-10 15:08:39,660 INFO L233 FreeRefinementEngine]: Number of different interpolants: perfect sequences [4] imperfect sequences [] total 4 [2020-07-10 15:08:39,661 INFO L156 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [1256867545] [2020-07-10 15:08:39,662 INFO L78 Accepts]: Start accepts. Automaton has 4 states. Word has length 14 [2020-07-10 15:08:39,663 INFO L84 Accepts]: Finished accepts. word is accepted. [2020-07-10 15:08:39,663 INFO L86 InductivityCheck]: Starting indutivity check of a Floyd-Hoare automaton with 4 states. [2020-07-10 15:08:39,678 INFO L119 InductivityCheck]: Floyd-Hoare automaton has 14 edges. 14 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2020-07-10 15:08:39,678 INFO L459 AbstractCegarLoop]: Interpolant automaton has 4 states [2020-07-10 15:08:39,679 INFO L143 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy CAMEL [2020-07-10 15:08:39,679 INFO L142 InterpolantAutomaton]: Constructing interpolant automaton starting with 4 interpolants. [2020-07-10 15:08:39,679 INFO L144 InterpolantAutomaton]: CoverageRelationStatistics Valid=5, Invalid=7, Unknown=0, NotChecked=0, Total=12 [2020-07-10 15:08:39,679 INFO L87 Difference]: Start difference. First operand 82 states and 92 transitions. Second operand 4 states. [2020-07-10 15:08:40,029 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2020-07-10 15:08:40,030 INFO L93 Difference]: Finished difference Result 85 states and 95 transitions. [2020-07-10 15:08:40,030 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 4 states. [2020-07-10 15:08:40,030 INFO L78 Accepts]: Start accepts. Automaton has 4 states. Word has length 14 [2020-07-10 15:08:40,030 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2020-07-10 15:08:40,031 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 4 states. [2020-07-10 15:08:40,033 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 4 states to 4 states and 95 transitions. [2020-07-10 15:08:40,033 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 4 states. [2020-07-10 15:08:40,036 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 4 states to 4 states and 95 transitions. [2020-07-10 15:08:40,036 INFO L86 InductivityCheck]: Starting indutivity check of a Floyd-Hoare automaton with 4 states and 95 transitions. [2020-07-10 15:08:40,131 INFO L119 InductivityCheck]: Floyd-Hoare automaton has 95 edges. 95 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2020-07-10 15:08:40,142 INFO L225 Difference]: With dead ends: 85 [2020-07-10 15:08:40,142 INFO L226 Difference]: Without dead ends: 83 [2020-07-10 15:08:40,143 INFO L675 BasicCegarLoop]: 0 DeclaredPredicates, 5 GetRequests, 3 SyntacticMatches, 0 SemanticMatches, 2 ConstructedPredicates, 0 IntricatePredicates, 0 DeprecatedPredicates, 0 ImplicationChecksByTransitivity, 0.0s TimeCoverageRelationStatistics Valid=5, Invalid=7, Unknown=0, NotChecked=0, Total=12 [2020-07-10 15:08:40,145 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 83 states. [2020-07-10 15:08:40,170 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 83 to 83. [2020-07-10 15:08:40,171 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2020-07-10 15:08:40,171 INFO L82 GeneralOperation]: Start isEquivalent. First operand 83 states. Second operand 83 states. [2020-07-10 15:08:40,171 INFO L74 IsIncluded]: Start isIncluded. First operand 83 states. Second operand 83 states. [2020-07-10 15:08:40,171 INFO L87 Difference]: Start difference. First operand 83 states. Second operand 83 states. [2020-07-10 15:08:40,176 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2020-07-10 15:08:40,176 INFO L93 Difference]: Finished difference Result 83 states and 93 transitions. [2020-07-10 15:08:40,176 INFO L276 IsEmpty]: Start isEmpty. Operand 83 states and 93 transitions. [2020-07-10 15:08:40,177 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2020-07-10 15:08:40,177 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2020-07-10 15:08:40,177 INFO L74 IsIncluded]: Start isIncluded. First operand 83 states. Second operand 83 states. [2020-07-10 15:08:40,177 INFO L87 Difference]: Start difference. First operand 83 states. Second operand 83 states. [2020-07-10 15:08:40,181 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2020-07-10 15:08:40,181 INFO L93 Difference]: Finished difference Result 83 states and 93 transitions. [2020-07-10 15:08:40,181 INFO L276 IsEmpty]: Start isEmpty. Operand 83 states and 93 transitions. [2020-07-10 15:08:40,182 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2020-07-10 15:08:40,183 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2020-07-10 15:08:40,183 INFO L88 GeneralOperation]: Finished isEquivalent. [2020-07-10 15:08:40,183 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2020-07-10 15:08:40,183 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 83 states. [2020-07-10 15:08:40,186 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 83 states to 83 states and 93 transitions. [2020-07-10 15:08:40,186 INFO L78 Accepts]: Start accepts. Automaton has 83 states and 93 transitions. Word has length 14 [2020-07-10 15:08:40,187 INFO L84 Accepts]: Finished accepts. word is rejected. [2020-07-10 15:08:40,187 INFO L479 AbstractCegarLoop]: Abstraction has 83 states and 93 transitions. [2020-07-10 15:08:40,187 INFO L480 AbstractCegarLoop]: Interpolant automaton has 4 states. [2020-07-10 15:08:40,187 INFO L276 IsEmpty]: Start isEmpty. Operand 83 states and 93 transitions. [2020-07-10 15:08:40,187 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 15 [2020-07-10 15:08:40,188 INFO L414 BasicCegarLoop]: Found error trace [2020-07-10 15:08:40,188 INFO L422 BasicCegarLoop]: trace histogram [1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1] [2020-07-10 15:08:40,188 WARN L516 AbstractCegarLoop]: Destroyed unattended storables created during the last iteration: SelfDestructingSolverStorable1 [2020-07-10 15:08:40,188 INFO L427 AbstractCegarLoop]: === Iteration 3 === [mainErr0ASSERT_VIOLATIONERROR_FUNCTION, mainErr7ASSERT_VIOLATIONERROR_FUNCTION, mainErr8ASSERT_VIOLATIONERROR_FUNCTION, mainErr9ASSERT_VIOLATIONERROR_FUNCTION, mainErr10ASSERT_VIOLATIONERROR_FUNCTION, mainErr12ASSERT_VIOLATIONERROR_FUNCTION, mainErr4ASSERT_VIOLATIONERROR_FUNCTION, mainErr11ASSERT_VIOLATIONERROR_FUNCTION, mainErr2ASSERT_VIOLATIONERROR_FUNCTION, mainErr6ASSERT_VIOLATIONERROR_FUNCTION, mainErr5ASSERT_VIOLATIONERROR_FUNCTION, mainErr3ASSERT_VIOLATIONERROR_FUNCTION, mainErr1ASSERT_VIOLATIONERROR_FUNCTION]=== [2020-07-10 15:08:40,189 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2020-07-10 15:08:40,189 INFO L82 PathProgramCache]: Analyzing trace with hash -648205218, now seen corresponding path program 1 times [2020-07-10 15:08:40,189 INFO L163 FreeRefinementEngine]: Executing refinement strategy CAMEL [2020-07-10 15:08:40,189 INFO L354 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [496029438] [2020-07-10 15:08:40,189 INFO L94 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2020-07-10 15:08:40,208 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2020-07-10 15:08:40,267 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2020-07-10 15:08:40,273 INFO L280 TraceCheckUtils]: 0: Hoare triple {968#(and (= |#valid| |old(#valid)|) (= |#NULL.base| |old(#NULL.base)|) (= |#NULL.offset| |old(#NULL.offset)|))} #NULL.base, #NULL.offset := 0, 0;#valid := #valid[0 := 0];assume 0 < #StackHeapBarrier; {961#true} is VALID [2020-07-10 15:08:40,274 INFO L280 TraceCheckUtils]: 1: Hoare triple {961#true} assume true; {961#true} is VALID [2020-07-10 15:08:40,274 INFO L275 TraceCheckUtils]: 2: Hoare quadruple {961#true} {961#true} #337#return; {961#true} is VALID [2020-07-10 15:08:40,275 INFO L263 TraceCheckUtils]: 0: Hoare triple {961#true} call ULTIMATE.init(); {968#(and (= |#valid| |old(#valid)|) (= |#NULL.base| |old(#NULL.base)|) (= |#NULL.offset| |old(#NULL.offset)|))} is VALID [2020-07-10 15:08:40,275 INFO L280 TraceCheckUtils]: 1: Hoare triple {968#(and (= |#valid| |old(#valid)|) (= |#NULL.base| |old(#NULL.base)|) (= |#NULL.offset| |old(#NULL.offset)|))} #NULL.base, #NULL.offset := 0, 0;#valid := #valid[0 := 0];assume 0 < #StackHeapBarrier; {961#true} is VALID [2020-07-10 15:08:40,276 INFO L280 TraceCheckUtils]: 2: Hoare triple {961#true} assume true; {961#true} is VALID [2020-07-10 15:08:40,276 INFO L275 TraceCheckUtils]: 3: Hoare quadruple {961#true} {961#true} #337#return; {961#true} is VALID [2020-07-10 15:08:40,276 INFO L263 TraceCheckUtils]: 4: Hoare triple {961#true} call #t~ret28 := main(); {961#true} is VALID [2020-07-10 15:08:40,276 INFO L280 TraceCheckUtils]: 5: Hoare triple {961#true} call #t~malloc0.base, #t~malloc0.offset := #Ultimate.allocOnHeap(8);~list~0.base, ~list~0.offset := #t~malloc0.base, #t~malloc0.offset;call write~$Pointer$(0, 0, ~list~0.base, ~list~0.offset, 4); {961#true} is VALID [2020-07-10 15:08:40,277 INFO L280 TraceCheckUtils]: 6: Hoare triple {961#true} assume !!(~list~0.base != 0 || ~list~0.offset != 0); {961#true} is VALID [2020-07-10 15:08:40,277 INFO L280 TraceCheckUtils]: 7: Hoare triple {961#true} goto; {961#true} is VALID [2020-07-10 15:08:40,277 INFO L280 TraceCheckUtils]: 8: Hoare triple {961#true} assume -2147483648 <= #t~nondet1 && #t~nondet1 <= 2147483647; {961#true} is VALID [2020-07-10 15:08:40,279 INFO L280 TraceCheckUtils]: 9: Hoare triple {961#true} assume 0 != #t~nondet1;havoc #t~nondet1;call write~$Pointer$(0, 0, ~list~0.base, 4 + ~list~0.offset, 4); {966#(and (= 0 (select (select |#memory_$Pointer$.offset| main_~list~0.base) (+ main_~list~0.offset 4))) (= 0 (select (select |#memory_$Pointer$.base| main_~list~0.base) (+ main_~list~0.offset 4))))} is VALID [2020-07-10 15:08:40,280 INFO L280 TraceCheckUtils]: 10: Hoare triple {966#(and (= 0 (select (select |#memory_$Pointer$.offset| main_~list~0.base) (+ main_~list~0.offset 4))) (= 0 (select (select |#memory_$Pointer$.base| main_~list~0.base) (+ main_~list~0.offset 4))))} call #t~mem5.base, #t~mem5.offset := read~$Pointer$(~list~0.base, 4 + ~list~0.offset, 4);#t~short7 := #t~mem5.base != 0 || #t~mem5.offset != 0; {966#(and (= 0 (select (select |#memory_$Pointer$.offset| main_~list~0.base) (+ main_~list~0.offset 4))) (= 0 (select (select |#memory_$Pointer$.base| main_~list~0.base) (+ main_~list~0.offset 4))))} is VALID [2020-07-10 15:08:40,281 INFO L280 TraceCheckUtils]: 11: Hoare triple {966#(and (= 0 (select (select |#memory_$Pointer$.offset| main_~list~0.base) (+ main_~list~0.offset 4))) (= 0 (select (select |#memory_$Pointer$.base| main_~list~0.base) (+ main_~list~0.offset 4))))} assume !#t~short7;call #t~mem6.base, #t~mem6.offset := read~$Pointer$(~list~0.base, 4 + ~list~0.offset, 4);#t~short7 := #t~mem6.base == 0 && #t~mem6.offset == 0; {967#|main_#t~short7|} is VALID [2020-07-10 15:08:40,281 INFO L280 TraceCheckUtils]: 12: Hoare triple {967#|main_#t~short7|} assume !#t~short7;havoc #t~mem5.base, #t~mem5.offset;havoc #t~short7;havoc #t~mem6.base, #t~mem6.offset; {962#false} is VALID [2020-07-10 15:08:40,282 INFO L280 TraceCheckUtils]: 13: Hoare triple {962#false} assume !false; {962#false} is VALID [2020-07-10 15:08:40,283 INFO L134 CoverageAnalysis]: Checked inductivity of 0 backedges. 0 proven. 0 refuted. 0 times theorem prover too weak. 0 trivial. 0 not checked. [2020-07-10 15:08:40,284 INFO L354 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleSmtInterpolCraig [496029438] [2020-07-10 15:08:40,284 INFO L220 FreeRefinementEngine]: Constructing automaton from 1 perfect and 0 imperfect interpolant sequences. [2020-07-10 15:08:40,284 INFO L233 FreeRefinementEngine]: Number of different interpolants: perfect sequences [5] imperfect sequences [] total 5 [2020-07-10 15:08:40,284 INFO L156 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [1069186037] [2020-07-10 15:08:40,285 INFO L78 Accepts]: Start accepts. Automaton has 5 states. Word has length 14 [2020-07-10 15:08:40,285 INFO L84 Accepts]: Finished accepts. word is accepted. [2020-07-10 15:08:40,285 INFO L86 InductivityCheck]: Starting indutivity check of a Floyd-Hoare automaton with 5 states. [2020-07-10 15:08:40,301 INFO L119 InductivityCheck]: Floyd-Hoare automaton has 14 edges. 14 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2020-07-10 15:08:40,302 INFO L459 AbstractCegarLoop]: Interpolant automaton has 5 states [2020-07-10 15:08:40,302 INFO L143 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy CAMEL [2020-07-10 15:08:40,302 INFO L142 InterpolantAutomaton]: Constructing interpolant automaton starting with 5 interpolants. [2020-07-10 15:08:40,303 INFO L144 InterpolantAutomaton]: CoverageRelationStatistics Valid=7, Invalid=13, Unknown=0, NotChecked=0, Total=20 [2020-07-10 15:08:40,303 INFO L87 Difference]: Start difference. First operand 83 states and 93 transitions. Second operand 5 states. [2020-07-10 15:08:40,922 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2020-07-10 15:08:40,922 INFO L93 Difference]: Finished difference Result 140 states and 157 transitions. [2020-07-10 15:08:40,922 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 6 states. [2020-07-10 15:08:40,922 INFO L78 Accepts]: Start accepts. Automaton has 5 states. Word has length 14 [2020-07-10 15:08:40,922 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2020-07-10 15:08:40,923 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 5 states. [2020-07-10 15:08:40,926 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 6 states to 6 states and 156 transitions. [2020-07-10 15:08:40,926 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 5 states. [2020-07-10 15:08:40,929 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 6 states to 6 states and 156 transitions. [2020-07-10 15:08:40,929 INFO L86 InductivityCheck]: Starting indutivity check of a Floyd-Hoare automaton with 6 states and 156 transitions. [2020-07-10 15:08:41,090 INFO L119 InductivityCheck]: Floyd-Hoare automaton has 156 edges. 156 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2020-07-10 15:08:41,096 INFO L225 Difference]: With dead ends: 140 [2020-07-10 15:08:41,096 INFO L226 Difference]: Without dead ends: 138 [2020-07-10 15:08:41,096 INFO L675 BasicCegarLoop]: 0 DeclaredPredicates, 7 GetRequests, 3 SyntacticMatches, 0 SemanticMatches, 4 ConstructedPredicates, 0 IntricatePredicates, 0 DeprecatedPredicates, 0 ImplicationChecksByTransitivity, 0.0s TimeCoverageRelationStatistics Valid=11, Invalid=19, Unknown=0, NotChecked=0, Total=30 [2020-07-10 15:08:41,098 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 138 states. [2020-07-10 15:08:41,124 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 138 to 85. [2020-07-10 15:08:41,124 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2020-07-10 15:08:41,125 INFO L82 GeneralOperation]: Start isEquivalent. First operand 138 states. Second operand 85 states. [2020-07-10 15:08:41,125 INFO L74 IsIncluded]: Start isIncluded. First operand 138 states. Second operand 85 states. [2020-07-10 15:08:41,125 INFO L87 Difference]: Start difference. First operand 138 states. Second operand 85 states. [2020-07-10 15:08:41,132 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2020-07-10 15:08:41,132 INFO L93 Difference]: Finished difference Result 138 states and 155 transitions. [2020-07-10 15:08:41,132 INFO L276 IsEmpty]: Start isEmpty. Operand 138 states and 155 transitions. [2020-07-10 15:08:41,138 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2020-07-10 15:08:41,138 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2020-07-10 15:08:41,138 INFO L74 IsIncluded]: Start isIncluded. First operand 85 states. Second operand 138 states. [2020-07-10 15:08:41,139 INFO L87 Difference]: Start difference. First operand 85 states. Second operand 138 states. [2020-07-10 15:08:41,147 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2020-07-10 15:08:41,147 INFO L93 Difference]: Finished difference Result 138 states and 155 transitions. [2020-07-10 15:08:41,148 INFO L276 IsEmpty]: Start isEmpty. Operand 138 states and 155 transitions. [2020-07-10 15:08:41,150 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2020-07-10 15:08:41,150 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2020-07-10 15:08:41,150 INFO L88 GeneralOperation]: Finished isEquivalent. [2020-07-10 15:08:41,150 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2020-07-10 15:08:41,150 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 85 states. [2020-07-10 15:08:41,154 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 85 states to 85 states and 96 transitions. [2020-07-10 15:08:41,154 INFO L78 Accepts]: Start accepts. Automaton has 85 states and 96 transitions. Word has length 14 [2020-07-10 15:08:41,154 INFO L84 Accepts]: Finished accepts. word is rejected. [2020-07-10 15:08:41,154 INFO L479 AbstractCegarLoop]: Abstraction has 85 states and 96 transitions. [2020-07-10 15:08:41,155 INFO L480 AbstractCegarLoop]: Interpolant automaton has 5 states. [2020-07-10 15:08:41,155 INFO L276 IsEmpty]: Start isEmpty. Operand 85 states and 96 transitions. [2020-07-10 15:08:41,155 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 15 [2020-07-10 15:08:41,155 INFO L414 BasicCegarLoop]: Found error trace [2020-07-10 15:08:41,155 INFO L422 BasicCegarLoop]: trace histogram [1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1] [2020-07-10 15:08:41,156 WARN L516 AbstractCegarLoop]: Destroyed unattended storables created during the last iteration: SelfDestructingSolverStorable2 [2020-07-10 15:08:41,158 INFO L427 AbstractCegarLoop]: === Iteration 4 === [mainErr0ASSERT_VIOLATIONERROR_FUNCTION, mainErr7ASSERT_VIOLATIONERROR_FUNCTION, mainErr8ASSERT_VIOLATIONERROR_FUNCTION, mainErr9ASSERT_VIOLATIONERROR_FUNCTION, mainErr10ASSERT_VIOLATIONERROR_FUNCTION, mainErr12ASSERT_VIOLATIONERROR_FUNCTION, mainErr4ASSERT_VIOLATIONERROR_FUNCTION, mainErr11ASSERT_VIOLATIONERROR_FUNCTION, mainErr2ASSERT_VIOLATIONERROR_FUNCTION, mainErr6ASSERT_VIOLATIONERROR_FUNCTION, mainErr5ASSERT_VIOLATIONERROR_FUNCTION, mainErr3ASSERT_VIOLATIONERROR_FUNCTION, mainErr1ASSERT_VIOLATIONERROR_FUNCTION]=== [2020-07-10 15:08:41,159 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2020-07-10 15:08:41,159 INFO L82 PathProgramCache]: Analyzing trace with hash -646358176, now seen corresponding path program 1 times [2020-07-10 15:08:41,159 INFO L163 FreeRefinementEngine]: Executing refinement strategy CAMEL [2020-07-10 15:08:41,160 INFO L354 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [433414142] [2020-07-10 15:08:41,161 INFO L94 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2020-07-10 15:08:41,192 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2020-07-10 15:08:41,246 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2020-07-10 15:08:41,252 INFO L280 TraceCheckUtils]: 0: Hoare triple {1505#(and (= |#valid| |old(#valid)|) (= |#NULL.base| |old(#NULL.base)|) (= |#NULL.offset| |old(#NULL.offset)|))} #NULL.base, #NULL.offset := 0, 0;#valid := #valid[0 := 0];assume 0 < #StackHeapBarrier; {1498#true} is VALID [2020-07-10 15:08:41,252 INFO L280 TraceCheckUtils]: 1: Hoare triple {1498#true} assume true; {1498#true} is VALID [2020-07-10 15:08:41,253 INFO L275 TraceCheckUtils]: 2: Hoare quadruple {1498#true} {1498#true} #337#return; {1498#true} is VALID [2020-07-10 15:08:41,254 INFO L263 TraceCheckUtils]: 0: Hoare triple {1498#true} call ULTIMATE.init(); {1505#(and (= |#valid| |old(#valid)|) (= |#NULL.base| |old(#NULL.base)|) (= |#NULL.offset| |old(#NULL.offset)|))} is VALID [2020-07-10 15:08:41,254 INFO L280 TraceCheckUtils]: 1: Hoare triple {1505#(and (= |#valid| |old(#valid)|) (= |#NULL.base| |old(#NULL.base)|) (= |#NULL.offset| |old(#NULL.offset)|))} #NULL.base, #NULL.offset := 0, 0;#valid := #valid[0 := 0];assume 0 < #StackHeapBarrier; {1498#true} is VALID [2020-07-10 15:08:41,254 INFO L280 TraceCheckUtils]: 2: Hoare triple {1498#true} assume true; {1498#true} is VALID [2020-07-10 15:08:41,255 INFO L275 TraceCheckUtils]: 3: Hoare quadruple {1498#true} {1498#true} #337#return; {1498#true} is VALID [2020-07-10 15:08:41,255 INFO L263 TraceCheckUtils]: 4: Hoare triple {1498#true} call #t~ret28 := main(); {1498#true} is VALID [2020-07-10 15:08:41,255 INFO L280 TraceCheckUtils]: 5: Hoare triple {1498#true} call #t~malloc0.base, #t~malloc0.offset := #Ultimate.allocOnHeap(8);~list~0.base, ~list~0.offset := #t~malloc0.base, #t~malloc0.offset;call write~$Pointer$(0, 0, ~list~0.base, ~list~0.offset, 4); {1498#true} is VALID [2020-07-10 15:08:41,255 INFO L280 TraceCheckUtils]: 6: Hoare triple {1498#true} assume !!(~list~0.base != 0 || ~list~0.offset != 0); {1498#true} is VALID [2020-07-10 15:08:41,256 INFO L280 TraceCheckUtils]: 7: Hoare triple {1498#true} goto; {1498#true} is VALID [2020-07-10 15:08:41,256 INFO L280 TraceCheckUtils]: 8: Hoare triple {1498#true} assume -2147483648 <= #t~nondet1 && #t~nondet1 <= 2147483647; {1498#true} is VALID [2020-07-10 15:08:41,256 INFO L280 TraceCheckUtils]: 9: Hoare triple {1498#true} assume !(0 != #t~nondet1);havoc #t~nondet1;call #t~malloc2.base, #t~malloc2.offset := #Ultimate.allocOnHeap(8);call write~$Pointer$(#t~malloc2.base, #t~malloc2.offset, ~list~0.base, 4 + ~list~0.offset, 4);call #t~mem3.base, #t~mem3.offset := read~$Pointer$(~list~0.base, 4 + ~list~0.offset, 4);call write~$Pointer$(0, 0, #t~mem3.base, #t~mem3.offset, 4);havoc #t~mem3.base, #t~mem3.offset;call #t~mem4.base, #t~mem4.offset := read~$Pointer$(~list~0.base, 4 + ~list~0.offset, 4);call write~$Pointer$(0, 0, #t~mem4.base, 4 + #t~mem4.offset, 4);havoc #t~mem4.base, #t~mem4.offset; {1498#true} is VALID [2020-07-10 15:08:41,257 INFO L280 TraceCheckUtils]: 10: Hoare triple {1498#true} call #t~mem5.base, #t~mem5.offset := read~$Pointer$(~list~0.base, 4 + ~list~0.offset, 4);#t~short7 := #t~mem5.base != 0 || #t~mem5.offset != 0; {1503#(or |main_#t~short7| (and (= 0 (select (select |#memory_$Pointer$.offset| main_~list~0.base) (+ main_~list~0.offset 4))) (= 0 (select (select |#memory_$Pointer$.base| main_~list~0.base) (+ main_~list~0.offset 4)))))} is VALID [2020-07-10 15:08:41,258 INFO L280 TraceCheckUtils]: 11: Hoare triple {1503#(or |main_#t~short7| (and (= 0 (select (select |#memory_$Pointer$.offset| main_~list~0.base) (+ main_~list~0.offset 4))) (= 0 (select (select |#memory_$Pointer$.base| main_~list~0.base) (+ main_~list~0.offset 4)))))} assume !#t~short7;call #t~mem6.base, #t~mem6.offset := read~$Pointer$(~list~0.base, 4 + ~list~0.offset, 4);#t~short7 := #t~mem6.base == 0 && #t~mem6.offset == 0; {1504#|main_#t~short7|} is VALID [2020-07-10 15:08:41,259 INFO L280 TraceCheckUtils]: 12: Hoare triple {1504#|main_#t~short7|} assume !#t~short7;havoc #t~mem5.base, #t~mem5.offset;havoc #t~short7;havoc #t~mem6.base, #t~mem6.offset; {1499#false} is VALID [2020-07-10 15:08:41,259 INFO L280 TraceCheckUtils]: 13: Hoare triple {1499#false} assume !false; {1499#false} is VALID [2020-07-10 15:08:41,260 INFO L134 CoverageAnalysis]: Checked inductivity of 0 backedges. 0 proven. 0 refuted. 0 times theorem prover too weak. 0 trivial. 0 not checked. [2020-07-10 15:08:41,260 INFO L354 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleSmtInterpolCraig [433414142] [2020-07-10 15:08:41,261 INFO L220 FreeRefinementEngine]: Constructing automaton from 1 perfect and 0 imperfect interpolant sequences. [2020-07-10 15:08:41,261 INFO L233 FreeRefinementEngine]: Number of different interpolants: perfect sequences [5] imperfect sequences [] total 5 [2020-07-10 15:08:41,261 INFO L156 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [1273640386] [2020-07-10 15:08:41,262 INFO L78 Accepts]: Start accepts. Automaton has 5 states. Word has length 14 [2020-07-10 15:08:41,262 INFO L84 Accepts]: Finished accepts. word is accepted. [2020-07-10 15:08:41,262 INFO L86 InductivityCheck]: Starting indutivity check of a Floyd-Hoare automaton with 5 states. [2020-07-10 15:08:41,277 INFO L119 InductivityCheck]: Floyd-Hoare automaton has 14 edges. 14 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2020-07-10 15:08:41,278 INFO L459 AbstractCegarLoop]: Interpolant automaton has 5 states [2020-07-10 15:08:41,278 INFO L143 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy CAMEL [2020-07-10 15:08:41,278 INFO L142 InterpolantAutomaton]: Constructing interpolant automaton starting with 5 interpolants. [2020-07-10 15:08:41,279 INFO L144 InterpolantAutomaton]: CoverageRelationStatistics Valid=8, Invalid=12, Unknown=0, NotChecked=0, Total=20 [2020-07-10 15:08:41,279 INFO L87 Difference]: Start difference. First operand 85 states and 96 transitions. Second operand 5 states. [2020-07-10 15:08:41,718 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2020-07-10 15:08:41,718 INFO L93 Difference]: Finished difference Result 85 states and 96 transitions. [2020-07-10 15:08:41,719 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 5 states. [2020-07-10 15:08:41,719 INFO L78 Accepts]: Start accepts. Automaton has 5 states. Word has length 14 [2020-07-10 15:08:41,719 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2020-07-10 15:08:41,719 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 5 states. [2020-07-10 15:08:41,721 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 5 states to 5 states and 93 transitions. [2020-07-10 15:08:41,721 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 5 states. [2020-07-10 15:08:41,723 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 5 states to 5 states and 93 transitions. [2020-07-10 15:08:41,723 INFO L86 InductivityCheck]: Starting indutivity check of a Floyd-Hoare automaton with 5 states and 93 transitions. [2020-07-10 15:08:41,819 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-10 15:08:41,821 INFO L225 Difference]: With dead ends: 85 [2020-07-10 15:08:41,822 INFO L226 Difference]: Without dead ends: 83 [2020-07-10 15:08:41,822 INFO L675 BasicCegarLoop]: 0 DeclaredPredicates, 6 GetRequests, 3 SyntacticMatches, 0 SemanticMatches, 3 ConstructedPredicates, 0 IntricatePredicates, 0 DeprecatedPredicates, 1 ImplicationChecksByTransitivity, 0.0s TimeCoverageRelationStatistics Valid=8, Invalid=12, Unknown=0, NotChecked=0, Total=20 [2020-07-10 15:08:41,823 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 83 states. [2020-07-10 15:08:41,850 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 83 to 80. [2020-07-10 15:08:41,850 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2020-07-10 15:08:41,850 INFO L82 GeneralOperation]: Start isEquivalent. First operand 83 states. Second operand 80 states. [2020-07-10 15:08:41,850 INFO L74 IsIncluded]: Start isIncluded. First operand 83 states. Second operand 80 states. [2020-07-10 15:08:41,850 INFO L87 Difference]: Start difference. First operand 83 states. Second operand 80 states. [2020-07-10 15:08:41,853 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2020-07-10 15:08:41,854 INFO L93 Difference]: Finished difference Result 83 states and 94 transitions. [2020-07-10 15:08:41,854 INFO L276 IsEmpty]: Start isEmpty. Operand 83 states and 94 transitions. [2020-07-10 15:08:41,854 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2020-07-10 15:08:41,854 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2020-07-10 15:08:41,854 INFO L74 IsIncluded]: Start isIncluded. First operand 80 states. Second operand 83 states. [2020-07-10 15:08:41,855 INFO L87 Difference]: Start difference. First operand 80 states. Second operand 83 states. [2020-07-10 15:08:41,857 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2020-07-10 15:08:41,858 INFO L93 Difference]: Finished difference Result 83 states and 94 transitions. [2020-07-10 15:08:41,858 INFO L276 IsEmpty]: Start isEmpty. Operand 83 states and 94 transitions. [2020-07-10 15:08:41,858 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2020-07-10 15:08:41,858 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2020-07-10 15:08:41,858 INFO L88 GeneralOperation]: Finished isEquivalent. [2020-07-10 15:08:41,858 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2020-07-10 15:08:41,859 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 80 states. [2020-07-10 15:08:41,861 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 80 states to 80 states and 90 transitions. [2020-07-10 15:08:41,861 INFO L78 Accepts]: Start accepts. Automaton has 80 states and 90 transitions. Word has length 14 [2020-07-10 15:08:41,862 INFO L84 Accepts]: Finished accepts. word is rejected. [2020-07-10 15:08:41,862 INFO L479 AbstractCegarLoop]: Abstraction has 80 states and 90 transitions. [2020-07-10 15:08:41,862 INFO L480 AbstractCegarLoop]: Interpolant automaton has 5 states. [2020-07-10 15:08:41,862 INFO L276 IsEmpty]: Start isEmpty. Operand 80 states and 90 transitions. [2020-07-10 15:08:41,862 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 20 [2020-07-10 15:08:41,862 INFO L414 BasicCegarLoop]: Found error trace [2020-07-10 15:08:41,863 INFO L422 BasicCegarLoop]: trace histogram [1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1] [2020-07-10 15:08:41,863 WARN L516 AbstractCegarLoop]: Destroyed unattended storables created during the last iteration: SelfDestructingSolverStorable3 [2020-07-10 15:08:41,863 INFO L427 AbstractCegarLoop]: === Iteration 5 === [mainErr0ASSERT_VIOLATIONERROR_FUNCTION, mainErr7ASSERT_VIOLATIONERROR_FUNCTION, mainErr8ASSERT_VIOLATIONERROR_FUNCTION, mainErr9ASSERT_VIOLATIONERROR_FUNCTION, mainErr10ASSERT_VIOLATIONERROR_FUNCTION, mainErr12ASSERT_VIOLATIONERROR_FUNCTION, mainErr4ASSERT_VIOLATIONERROR_FUNCTION, mainErr11ASSERT_VIOLATIONERROR_FUNCTION, mainErr2ASSERT_VIOLATIONERROR_FUNCTION, mainErr6ASSERT_VIOLATIONERROR_FUNCTION, mainErr5ASSERT_VIOLATIONERROR_FUNCTION, mainErr3ASSERT_VIOLATIONERROR_FUNCTION, mainErr1ASSERT_VIOLATIONERROR_FUNCTION]=== [2020-07-10 15:08:41,863 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2020-07-10 15:08:41,863 INFO L82 PathProgramCache]: Analyzing trace with hash 1093009051, now seen corresponding path program 1 times [2020-07-10 15:08:41,864 INFO L163 FreeRefinementEngine]: Executing refinement strategy CAMEL [2020-07-10 15:08:41,864 INFO L354 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [1333292664] [2020-07-10 15:08:41,864 INFO L94 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2020-07-10 15:08:41,882 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2020-07-10 15:08:41,915 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2020-07-10 15:08:41,920 INFO L280 TraceCheckUtils]: 0: Hoare triple {1865#(and (= |#valid| |old(#valid)|) (= |#NULL.base| |old(#NULL.base)|) (= |#NULL.offset| |old(#NULL.offset)|))} #NULL.base, #NULL.offset := 0, 0;#valid := #valid[0 := 0];assume 0 < #StackHeapBarrier; {1859#true} is VALID [2020-07-10 15:08:41,921 INFO L280 TraceCheckUtils]: 1: Hoare triple {1859#true} assume true; {1859#true} is VALID [2020-07-10 15:08:41,921 INFO L275 TraceCheckUtils]: 2: Hoare quadruple {1859#true} {1859#true} #337#return; {1859#true} is VALID [2020-07-10 15:08:41,922 INFO L263 TraceCheckUtils]: 0: Hoare triple {1859#true} call ULTIMATE.init(); {1865#(and (= |#valid| |old(#valid)|) (= |#NULL.base| |old(#NULL.base)|) (= |#NULL.offset| |old(#NULL.offset)|))} is VALID [2020-07-10 15:08:41,922 INFO L280 TraceCheckUtils]: 1: Hoare triple {1865#(and (= |#valid| |old(#valid)|) (= |#NULL.base| |old(#NULL.base)|) (= |#NULL.offset| |old(#NULL.offset)|))} #NULL.base, #NULL.offset := 0, 0;#valid := #valid[0 := 0];assume 0 < #StackHeapBarrier; {1859#true} is VALID [2020-07-10 15:08:41,923 INFO L280 TraceCheckUtils]: 2: Hoare triple {1859#true} assume true; {1859#true} is VALID [2020-07-10 15:08:41,923 INFO L275 TraceCheckUtils]: 3: Hoare quadruple {1859#true} {1859#true} #337#return; {1859#true} is VALID [2020-07-10 15:08:41,923 INFO L263 TraceCheckUtils]: 4: Hoare triple {1859#true} call #t~ret28 := main(); {1859#true} is VALID [2020-07-10 15:08:41,923 INFO L280 TraceCheckUtils]: 5: Hoare triple {1859#true} call #t~malloc0.base, #t~malloc0.offset := #Ultimate.allocOnHeap(8);~list~0.base, ~list~0.offset := #t~malloc0.base, #t~malloc0.offset;call write~$Pointer$(0, 0, ~list~0.base, ~list~0.offset, 4); {1859#true} is VALID [2020-07-10 15:08:41,924 INFO L280 TraceCheckUtils]: 6: Hoare triple {1859#true} assume !!(~list~0.base != 0 || ~list~0.offset != 0); {1859#true} is VALID [2020-07-10 15:08:41,924 INFO L280 TraceCheckUtils]: 7: Hoare triple {1859#true} goto; {1859#true} is VALID [2020-07-10 15:08:41,924 INFO L280 TraceCheckUtils]: 8: Hoare triple {1859#true} assume -2147483648 <= #t~nondet1 && #t~nondet1 <= 2147483647; {1859#true} is VALID [2020-07-10 15:08:41,924 INFO L280 TraceCheckUtils]: 9: Hoare triple {1859#true} assume 0 != #t~nondet1;havoc #t~nondet1;call write~$Pointer$(0, 0, ~list~0.base, 4 + ~list~0.offset, 4); {1859#true} is VALID [2020-07-10 15:08:41,925 INFO L280 TraceCheckUtils]: 10: Hoare triple {1859#true} call #t~mem5.base, #t~mem5.offset := read~$Pointer$(~list~0.base, 4 + ~list~0.offset, 4);#t~short7 := #t~mem5.base != 0 || #t~mem5.offset != 0; {1859#true} is VALID [2020-07-10 15:08:41,925 INFO L280 TraceCheckUtils]: 11: Hoare triple {1859#true} assume #t~short7; {1859#true} is VALID [2020-07-10 15:08:41,925 INFO L280 TraceCheckUtils]: 12: Hoare triple {1859#true} assume !!#t~short7;havoc #t~mem5.base, #t~mem5.offset;havoc #t~short7;havoc #t~mem6.base, #t~mem6.offset; {1859#true} is VALID [2020-07-10 15:08:41,926 INFO L280 TraceCheckUtils]: 13: Hoare triple {1859#true} goto; {1859#true} is VALID [2020-07-10 15:08:41,926 INFO L280 TraceCheckUtils]: 14: Hoare triple {1859#true} ~end~0.base, ~end~0.offset := ~list~0.base, ~list~0.offset; {1859#true} is VALID [2020-07-10 15:08:41,926 INFO L280 TraceCheckUtils]: 15: Hoare triple {1859#true} assume -2147483648 <= #t~nondet8 && #t~nondet8 <= 2147483647; {1859#true} is VALID [2020-07-10 15:08:41,927 INFO L280 TraceCheckUtils]: 16: Hoare triple {1859#true} assume !!(0 != #t~nondet8);havoc #t~nondet8;call #t~malloc9.base, #t~malloc9.offset := #Ultimate.allocOnHeap(8);call write~$Pointer$(#t~malloc9.base, #t~malloc9.offset, ~end~0.base, ~end~0.offset, 4);call #t~mem10.base, #t~mem10.offset := read~$Pointer$(~end~0.base, ~end~0.offset, 4);~end~0.base, ~end~0.offset := #t~mem10.base, #t~mem10.offset;havoc #t~mem10.base, #t~mem10.offset;call write~$Pointer$(0, 0, ~end~0.base, ~end~0.offset, 4); {1864#(not (= 0 main_~end~0.base))} is VALID [2020-07-10 15:08:41,928 INFO L280 TraceCheckUtils]: 17: Hoare triple {1864#(not (= 0 main_~end~0.base))} assume !(0 != ~end~0.base || 0 != ~end~0.offset); {1860#false} is VALID [2020-07-10 15:08:41,928 INFO L280 TraceCheckUtils]: 18: Hoare triple {1860#false} assume !false; {1860#false} is VALID [2020-07-10 15:08:41,929 INFO L134 CoverageAnalysis]: Checked inductivity of 0 backedges. 0 proven. 0 refuted. 0 times theorem prover too weak. 0 trivial. 0 not checked. [2020-07-10 15:08:41,930 INFO L354 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleSmtInterpolCraig [1333292664] [2020-07-10 15:08:41,930 INFO L220 FreeRefinementEngine]: Constructing automaton from 1 perfect and 0 imperfect interpolant sequences. [2020-07-10 15:08:41,930 INFO L233 FreeRefinementEngine]: Number of different interpolants: perfect sequences [4] imperfect sequences [] total 4 [2020-07-10 15:08:41,930 INFO L156 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [1468570207] [2020-07-10 15:08:41,931 INFO L78 Accepts]: Start accepts. Automaton has 4 states. Word has length 19 [2020-07-10 15:08:41,931 INFO L84 Accepts]: Finished accepts. word is accepted. [2020-07-10 15:08:41,931 INFO L86 InductivityCheck]: Starting indutivity check of a Floyd-Hoare automaton with 4 states. [2020-07-10 15:08:41,952 INFO L119 InductivityCheck]: Floyd-Hoare automaton has 19 edges. 19 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2020-07-10 15:08:41,953 INFO L459 AbstractCegarLoop]: Interpolant automaton has 4 states [2020-07-10 15:08:41,953 INFO L143 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy CAMEL [2020-07-10 15:08:41,953 INFO L142 InterpolantAutomaton]: Constructing interpolant automaton starting with 4 interpolants. [2020-07-10 15:08:41,954 INFO L144 InterpolantAutomaton]: CoverageRelationStatistics Valid=5, Invalid=7, Unknown=0, NotChecked=0, Total=12 [2020-07-10 15:08:41,954 INFO L87 Difference]: Start difference. First operand 80 states and 90 transitions. Second operand 4 states. [2020-07-10 15:08:42,293 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2020-07-10 15:08:42,294 INFO L93 Difference]: Finished difference Result 83 states and 94 transitions. [2020-07-10 15:08:42,294 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 4 states. [2020-07-10 15:08:42,294 INFO L78 Accepts]: Start accepts. Automaton has 4 states. Word has length 19 [2020-07-10 15:08:42,294 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2020-07-10 15:08:42,295 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 4 states. [2020-07-10 15:08:42,296 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 4 states to 4 states and 94 transitions. [2020-07-10 15:08:42,296 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 4 states. [2020-07-10 15:08:42,298 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 4 states to 4 states and 94 transitions. [2020-07-10 15:08:42,298 INFO L86 InductivityCheck]: Starting indutivity check of a Floyd-Hoare automaton with 4 states and 94 transitions. [2020-07-10 15:08:42,412 INFO L119 InductivityCheck]: Floyd-Hoare automaton has 94 edges. 94 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2020-07-10 15:08:42,415 INFO L225 Difference]: With dead ends: 83 [2020-07-10 15:08:42,415 INFO L226 Difference]: Without dead ends: 79 [2020-07-10 15:08:42,416 INFO L675 BasicCegarLoop]: 0 DeclaredPredicates, 5 GetRequests, 3 SyntacticMatches, 0 SemanticMatches, 2 ConstructedPredicates, 0 IntricatePredicates, 0 DeprecatedPredicates, 0 ImplicationChecksByTransitivity, 0.0s TimeCoverageRelationStatistics Valid=5, Invalid=7, Unknown=0, NotChecked=0, Total=12 [2020-07-10 15:08:42,416 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 79 states. [2020-07-10 15:08:42,447 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 79 to 76. [2020-07-10 15:08:42,448 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2020-07-10 15:08:42,448 INFO L82 GeneralOperation]: Start isEquivalent. First operand 79 states. Second operand 76 states. [2020-07-10 15:08:42,448 INFO L74 IsIncluded]: Start isIncluded. First operand 79 states. Second operand 76 states. [2020-07-10 15:08:42,449 INFO L87 Difference]: Start difference. First operand 79 states. Second operand 76 states. [2020-07-10 15:08:42,452 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2020-07-10 15:08:42,452 INFO L93 Difference]: Finished difference Result 79 states and 90 transitions. [2020-07-10 15:08:42,453 INFO L276 IsEmpty]: Start isEmpty. Operand 79 states and 90 transitions. [2020-07-10 15:08:42,453 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2020-07-10 15:08:42,453 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2020-07-10 15:08:42,454 INFO L74 IsIncluded]: Start isIncluded. First operand 76 states. Second operand 79 states. [2020-07-10 15:08:42,454 INFO L87 Difference]: Start difference. First operand 76 states. Second operand 79 states. [2020-07-10 15:08:42,457 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2020-07-10 15:08:42,457 INFO L93 Difference]: Finished difference Result 79 states and 90 transitions. [2020-07-10 15:08:42,457 INFO L276 IsEmpty]: Start isEmpty. Operand 79 states and 90 transitions. [2020-07-10 15:08:42,458 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2020-07-10 15:08:42,458 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2020-07-10 15:08:42,458 INFO L88 GeneralOperation]: Finished isEquivalent. [2020-07-10 15:08:42,458 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2020-07-10 15:08:42,458 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 76 states. [2020-07-10 15:08:42,461 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 76 states to 76 states and 86 transitions. [2020-07-10 15:08:42,461 INFO L78 Accepts]: Start accepts. Automaton has 76 states and 86 transitions. Word has length 19 [2020-07-10 15:08:42,461 INFO L84 Accepts]: Finished accepts. word is rejected. [2020-07-10 15:08:42,462 INFO L479 AbstractCegarLoop]: Abstraction has 76 states and 86 transitions. [2020-07-10 15:08:42,462 INFO L480 AbstractCegarLoop]: Interpolant automaton has 4 states. [2020-07-10 15:08:42,462 INFO L276 IsEmpty]: Start isEmpty. Operand 76 states and 86 transitions. [2020-07-10 15:08:42,462 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 21 [2020-07-10 15:08:42,462 INFO L414 BasicCegarLoop]: Found error trace [2020-07-10 15:08:42,463 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] [2020-07-10 15:08:42,463 WARN L516 AbstractCegarLoop]: Destroyed unattended storables created during the last iteration: SelfDestructingSolverStorable4 [2020-07-10 15:08:42,463 INFO L427 AbstractCegarLoop]: === Iteration 6 === [mainErr0ASSERT_VIOLATIONERROR_FUNCTION, mainErr7ASSERT_VIOLATIONERROR_FUNCTION, mainErr8ASSERT_VIOLATIONERROR_FUNCTION, mainErr9ASSERT_VIOLATIONERROR_FUNCTION, mainErr10ASSERT_VIOLATIONERROR_FUNCTION, mainErr12ASSERT_VIOLATIONERROR_FUNCTION, mainErr4ASSERT_VIOLATIONERROR_FUNCTION, mainErr11ASSERT_VIOLATIONERROR_FUNCTION, mainErr2ASSERT_VIOLATIONERROR_FUNCTION, mainErr6ASSERT_VIOLATIONERROR_FUNCTION, mainErr5ASSERT_VIOLATIONERROR_FUNCTION, mainErr3ASSERT_VIOLATIONERROR_FUNCTION, mainErr1ASSERT_VIOLATIONERROR_FUNCTION]=== [2020-07-10 15:08:42,464 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2020-07-10 15:08:42,464 INFO L82 PathProgramCache]: Analyzing trace with hash -476453587, now seen corresponding path program 1 times [2020-07-10 15:08:42,464 INFO L163 FreeRefinementEngine]: Executing refinement strategy CAMEL [2020-07-10 15:08:42,464 INFO L354 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [390295600] [2020-07-10 15:08:42,465 INFO L94 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2020-07-10 15:08:42,493 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2020-07-10 15:08:42,551 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2020-07-10 15:08:42,565 INFO L280 TraceCheckUtils]: 0: Hoare triple {2213#(and (= |#valid| |old(#valid)|) (= |#NULL.base| |old(#NULL.base)|) (= |#NULL.offset| |old(#NULL.offset)|))} #NULL.base, #NULL.offset := 0, 0;#valid := #valid[0 := 0];assume 0 < #StackHeapBarrier; {2206#true} is VALID [2020-07-10 15:08:42,565 INFO L280 TraceCheckUtils]: 1: Hoare triple {2206#true} assume true; {2206#true} is VALID [2020-07-10 15:08:42,565 INFO L275 TraceCheckUtils]: 2: Hoare quadruple {2206#true} {2206#true} #337#return; {2206#true} is VALID [2020-07-10 15:08:42,566 INFO L263 TraceCheckUtils]: 0: Hoare triple {2206#true} call ULTIMATE.init(); {2213#(and (= |#valid| |old(#valid)|) (= |#NULL.base| |old(#NULL.base)|) (= |#NULL.offset| |old(#NULL.offset)|))} is VALID [2020-07-10 15:08:42,567 INFO L280 TraceCheckUtils]: 1: Hoare triple {2213#(and (= |#valid| |old(#valid)|) (= |#NULL.base| |old(#NULL.base)|) (= |#NULL.offset| |old(#NULL.offset)|))} #NULL.base, #NULL.offset := 0, 0;#valid := #valid[0 := 0];assume 0 < #StackHeapBarrier; {2206#true} is VALID [2020-07-10 15:08:42,567 INFO L280 TraceCheckUtils]: 2: Hoare triple {2206#true} assume true; {2206#true} is VALID [2020-07-10 15:08:42,567 INFO L275 TraceCheckUtils]: 3: Hoare quadruple {2206#true} {2206#true} #337#return; {2206#true} is VALID [2020-07-10 15:08:42,567 INFO L263 TraceCheckUtils]: 4: Hoare triple {2206#true} call #t~ret28 := main(); {2206#true} is VALID [2020-07-10 15:08:42,569 INFO L280 TraceCheckUtils]: 5: Hoare triple {2206#true} call #t~malloc0.base, #t~malloc0.offset := #Ultimate.allocOnHeap(8);~list~0.base, ~list~0.offset := #t~malloc0.base, #t~malloc0.offset;call write~$Pointer$(0, 0, ~list~0.base, ~list~0.offset, 4); {2211#(not (= 0 main_~list~0.base))} is VALID [2020-07-10 15:08:42,570 INFO L280 TraceCheckUtils]: 6: Hoare triple {2211#(not (= 0 main_~list~0.base))} assume !!(~list~0.base != 0 || ~list~0.offset != 0); {2211#(not (= 0 main_~list~0.base))} is VALID [2020-07-10 15:08:42,571 INFO L280 TraceCheckUtils]: 7: Hoare triple {2211#(not (= 0 main_~list~0.base))} goto; {2211#(not (= 0 main_~list~0.base))} is VALID [2020-07-10 15:08:42,572 INFO L280 TraceCheckUtils]: 8: Hoare triple {2211#(not (= 0 main_~list~0.base))} assume -2147483648 <= #t~nondet1 && #t~nondet1 <= 2147483647; {2211#(not (= 0 main_~list~0.base))} is VALID [2020-07-10 15:08:42,572 INFO L280 TraceCheckUtils]: 9: Hoare triple {2211#(not (= 0 main_~list~0.base))} assume 0 != #t~nondet1;havoc #t~nondet1;call write~$Pointer$(0, 0, ~list~0.base, 4 + ~list~0.offset, 4); {2211#(not (= 0 main_~list~0.base))} is VALID [2020-07-10 15:08:42,573 INFO L280 TraceCheckUtils]: 10: Hoare triple {2211#(not (= 0 main_~list~0.base))} call #t~mem5.base, #t~mem5.offset := read~$Pointer$(~list~0.base, 4 + ~list~0.offset, 4);#t~short7 := #t~mem5.base != 0 || #t~mem5.offset != 0; {2211#(not (= 0 main_~list~0.base))} is VALID [2020-07-10 15:08:42,573 INFO L280 TraceCheckUtils]: 11: Hoare triple {2211#(not (= 0 main_~list~0.base))} assume #t~short7; {2211#(not (= 0 main_~list~0.base))} is VALID [2020-07-10 15:08:42,574 INFO L280 TraceCheckUtils]: 12: Hoare triple {2211#(not (= 0 main_~list~0.base))} assume !!#t~short7;havoc #t~mem5.base, #t~mem5.offset;havoc #t~short7;havoc #t~mem6.base, #t~mem6.offset; {2211#(not (= 0 main_~list~0.base))} is VALID [2020-07-10 15:08:42,575 INFO L280 TraceCheckUtils]: 13: Hoare triple {2211#(not (= 0 main_~list~0.base))} goto; {2211#(not (= 0 main_~list~0.base))} is VALID [2020-07-10 15:08:42,575 INFO L280 TraceCheckUtils]: 14: Hoare triple {2211#(not (= 0 main_~list~0.base))} ~end~0.base, ~end~0.offset := ~list~0.base, ~list~0.offset; {2211#(not (= 0 main_~list~0.base))} is VALID [2020-07-10 15:08:42,576 INFO L280 TraceCheckUtils]: 15: Hoare triple {2211#(not (= 0 main_~list~0.base))} assume -2147483648 <= #t~nondet8 && #t~nondet8 <= 2147483647; {2211#(not (= 0 main_~list~0.base))} is VALID [2020-07-10 15:08:42,576 INFO L280 TraceCheckUtils]: 16: Hoare triple {2211#(not (= 0 main_~list~0.base))} assume !(0 != #t~nondet8);havoc #t~nondet8; {2211#(not (= 0 main_~list~0.base))} is VALID [2020-07-10 15:08:42,578 INFO L280 TraceCheckUtils]: 17: Hoare triple {2211#(not (= 0 main_~list~0.base))} ~end~0.base, ~end~0.offset := 0, 0;~end~0.base, ~end~0.offset := ~list~0.base, ~list~0.offset; {2212#(not (= 0 main_~end~0.base))} is VALID [2020-07-10 15:08:42,579 INFO L280 TraceCheckUtils]: 18: Hoare triple {2212#(not (= 0 main_~end~0.base))} assume !(0 != ~end~0.base || 0 != ~end~0.offset); {2207#false} is VALID [2020-07-10 15:08:42,580 INFO L280 TraceCheckUtils]: 19: Hoare triple {2207#false} assume !false; {2207#false} is VALID [2020-07-10 15:08:42,581 INFO L134 CoverageAnalysis]: Checked inductivity of 0 backedges. 0 proven. 0 refuted. 0 times theorem prover too weak. 0 trivial. 0 not checked. [2020-07-10 15:08:42,581 INFO L354 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleSmtInterpolCraig [390295600] [2020-07-10 15:08:42,581 INFO L220 FreeRefinementEngine]: Constructing automaton from 1 perfect and 0 imperfect interpolant sequences. [2020-07-10 15:08:42,581 INFO L233 FreeRefinementEngine]: Number of different interpolants: perfect sequences [5] imperfect sequences [] total 5 [2020-07-10 15:08:42,582 INFO L156 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [285583618] [2020-07-10 15:08:42,582 INFO L78 Accepts]: Start accepts. Automaton has 5 states. Word has length 20 [2020-07-10 15:08:42,582 INFO L84 Accepts]: Finished accepts. word is accepted. [2020-07-10 15:08:42,583 INFO L86 InductivityCheck]: Starting indutivity check of a Floyd-Hoare automaton with 5 states. [2020-07-10 15:08:42,606 INFO L119 InductivityCheck]: Floyd-Hoare automaton has 20 edges. 20 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2020-07-10 15:08:42,606 INFO L459 AbstractCegarLoop]: Interpolant automaton has 5 states [2020-07-10 15:08:42,606 INFO L143 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy CAMEL [2020-07-10 15:08:42,607 INFO L142 InterpolantAutomaton]: Constructing interpolant automaton starting with 5 interpolants. [2020-07-10 15:08:42,607 INFO L144 InterpolantAutomaton]: CoverageRelationStatistics Valid=7, Invalid=13, Unknown=0, NotChecked=0, Total=20 [2020-07-10 15:08:42,607 INFO L87 Difference]: Start difference. First operand 76 states and 86 transitions. Second operand 5 states. [2020-07-10 15:08:43,046 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2020-07-10 15:08:43,046 INFO L93 Difference]: Finished difference Result 136 states and 152 transitions. [2020-07-10 15:08:43,046 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 5 states. [2020-07-10 15:08:43,047 INFO L78 Accepts]: Start accepts. Automaton has 5 states. Word has length 20 [2020-07-10 15:08:43,047 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2020-07-10 15:08:43,047 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 5 states. [2020-07-10 15:08:43,050 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 5 states to 5 states and 152 transitions. [2020-07-10 15:08:43,051 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 5 states. [2020-07-10 15:08:43,053 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 5 states to 5 states and 152 transitions. [2020-07-10 15:08:43,053 INFO L86 InductivityCheck]: Starting indutivity check of a Floyd-Hoare automaton with 5 states and 152 transitions. [2020-07-10 15:08:43,219 INFO L119 InductivityCheck]: Floyd-Hoare automaton has 152 edges. 152 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2020-07-10 15:08:43,222 INFO L225 Difference]: With dead ends: 136 [2020-07-10 15:08:43,222 INFO L226 Difference]: Without dead ends: 116 [2020-07-10 15:08:43,223 INFO L675 BasicCegarLoop]: 0 DeclaredPredicates, 7 GetRequests, 3 SyntacticMatches, 0 SemanticMatches, 4 ConstructedPredicates, 0 IntricatePredicates, 0 DeprecatedPredicates, 0 ImplicationChecksByTransitivity, 0.0s TimeCoverageRelationStatistics Valid=11, Invalid=19, Unknown=0, NotChecked=0, Total=30 [2020-07-10 15:08:43,224 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 116 states. [2020-07-10 15:08:43,243 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 116 to 75. [2020-07-10 15:08:43,243 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2020-07-10 15:08:43,243 INFO L82 GeneralOperation]: Start isEquivalent. First operand 116 states. Second operand 75 states. [2020-07-10 15:08:43,244 INFO L74 IsIncluded]: Start isIncluded. First operand 116 states. Second operand 75 states. [2020-07-10 15:08:43,244 INFO L87 Difference]: Start difference. First operand 116 states. Second operand 75 states. [2020-07-10 15:08:43,248 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2020-07-10 15:08:43,248 INFO L93 Difference]: Finished difference Result 116 states and 130 transitions. [2020-07-10 15:08:43,248 INFO L276 IsEmpty]: Start isEmpty. Operand 116 states and 130 transitions. [2020-07-10 15:08:43,248 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2020-07-10 15:08:43,249 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2020-07-10 15:08:43,249 INFO L74 IsIncluded]: Start isIncluded. First operand 75 states. Second operand 116 states. [2020-07-10 15:08:43,249 INFO L87 Difference]: Start difference. First operand 75 states. Second operand 116 states. [2020-07-10 15:08:43,253 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2020-07-10 15:08:43,253 INFO L93 Difference]: Finished difference Result 116 states and 130 transitions. [2020-07-10 15:08:43,253 INFO L276 IsEmpty]: Start isEmpty. Operand 116 states and 130 transitions. [2020-07-10 15:08:43,253 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2020-07-10 15:08:43,254 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2020-07-10 15:08:43,254 INFO L88 GeneralOperation]: Finished isEquivalent. [2020-07-10 15:08:43,254 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2020-07-10 15:08:43,254 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 75 states. [2020-07-10 15:08:43,256 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 75 states to 75 states and 85 transitions. [2020-07-10 15:08:43,257 INFO L78 Accepts]: Start accepts. Automaton has 75 states and 85 transitions. Word has length 20 [2020-07-10 15:08:43,257 INFO L84 Accepts]: Finished accepts. word is rejected. [2020-07-10 15:08:43,257 INFO L479 AbstractCegarLoop]: Abstraction has 75 states and 85 transitions. [2020-07-10 15:08:43,257 INFO L480 AbstractCegarLoop]: Interpolant automaton has 5 states. [2020-07-10 15:08:43,257 INFO L276 IsEmpty]: Start isEmpty. Operand 75 states and 85 transitions. [2020-07-10 15:08:43,258 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 25 [2020-07-10 15:08:43,258 INFO L414 BasicCegarLoop]: Found error trace [2020-07-10 15:08:43,258 INFO L422 BasicCegarLoop]: trace histogram [1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1] [2020-07-10 15:08:43,258 WARN L516 AbstractCegarLoop]: Destroyed unattended storables created during the last iteration: SelfDestructingSolverStorable5 [2020-07-10 15:08:43,258 INFO L427 AbstractCegarLoop]: === Iteration 7 === [mainErr0ASSERT_VIOLATIONERROR_FUNCTION, mainErr7ASSERT_VIOLATIONERROR_FUNCTION, mainErr8ASSERT_VIOLATIONERROR_FUNCTION, mainErr9ASSERT_VIOLATIONERROR_FUNCTION, mainErr10ASSERT_VIOLATIONERROR_FUNCTION, mainErr12ASSERT_VIOLATIONERROR_FUNCTION, mainErr4ASSERT_VIOLATIONERROR_FUNCTION, mainErr11ASSERT_VIOLATIONERROR_FUNCTION, mainErr2ASSERT_VIOLATIONERROR_FUNCTION, mainErr6ASSERT_VIOLATIONERROR_FUNCTION, mainErr5ASSERT_VIOLATIONERROR_FUNCTION, mainErr3ASSERT_VIOLATIONERROR_FUNCTION, mainErr1ASSERT_VIOLATIONERROR_FUNCTION]=== [2020-07-10 15:08:43,259 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2020-07-10 15:08:43,259 INFO L82 PathProgramCache]: Analyzing trace with hash 337242584, now seen corresponding path program 1 times [2020-07-10 15:08:43,259 INFO L163 FreeRefinementEngine]: Executing refinement strategy CAMEL [2020-07-10 15:08:43,259 INFO L354 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [1217622621] [2020-07-10 15:08:43,259 INFO L94 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2020-07-10 15:08:43,274 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2020-07-10 15:08:43,316 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2020-07-10 15:08:43,329 INFO L280 TraceCheckUtils]: 0: Hoare triple {2690#(and (= |#valid| |old(#valid)|) (= |#NULL.base| |old(#NULL.base)|) (= |#NULL.offset| |old(#NULL.offset)|))} #NULL.base, #NULL.offset := 0, 0;#valid := #valid[0 := 0];assume 0 < #StackHeapBarrier; {2684#true} is VALID [2020-07-10 15:08:43,330 INFO L280 TraceCheckUtils]: 1: Hoare triple {2684#true} assume true; {2684#true} is VALID [2020-07-10 15:08:43,330 INFO L275 TraceCheckUtils]: 2: Hoare quadruple {2684#true} {2684#true} #337#return; {2684#true} is VALID [2020-07-10 15:08:43,331 INFO L263 TraceCheckUtils]: 0: Hoare triple {2684#true} call ULTIMATE.init(); {2690#(and (= |#valid| |old(#valid)|) (= |#NULL.base| |old(#NULL.base)|) (= |#NULL.offset| |old(#NULL.offset)|))} is VALID [2020-07-10 15:08:43,331 INFO L280 TraceCheckUtils]: 1: Hoare triple {2690#(and (= |#valid| |old(#valid)|) (= |#NULL.base| |old(#NULL.base)|) (= |#NULL.offset| |old(#NULL.offset)|))} #NULL.base, #NULL.offset := 0, 0;#valid := #valid[0 := 0];assume 0 < #StackHeapBarrier; {2684#true} is VALID [2020-07-10 15:08:43,331 INFO L280 TraceCheckUtils]: 2: Hoare triple {2684#true} assume true; {2684#true} is VALID [2020-07-10 15:08:43,332 INFO L275 TraceCheckUtils]: 3: Hoare quadruple {2684#true} {2684#true} #337#return; {2684#true} is VALID [2020-07-10 15:08:43,332 INFO L263 TraceCheckUtils]: 4: Hoare triple {2684#true} call #t~ret28 := main(); {2684#true} is VALID [2020-07-10 15:08:43,332 INFO L280 TraceCheckUtils]: 5: Hoare triple {2684#true} call #t~malloc0.base, #t~malloc0.offset := #Ultimate.allocOnHeap(8);~list~0.base, ~list~0.offset := #t~malloc0.base, #t~malloc0.offset;call write~$Pointer$(0, 0, ~list~0.base, ~list~0.offset, 4); {2684#true} is VALID [2020-07-10 15:08:43,332 INFO L280 TraceCheckUtils]: 6: Hoare triple {2684#true} assume !!(~list~0.base != 0 || ~list~0.offset != 0); {2684#true} is VALID [2020-07-10 15:08:43,333 INFO L280 TraceCheckUtils]: 7: Hoare triple {2684#true} goto; {2684#true} is VALID [2020-07-10 15:08:43,333 INFO L280 TraceCheckUtils]: 8: Hoare triple {2684#true} assume -2147483648 <= #t~nondet1 && #t~nondet1 <= 2147483647; {2684#true} is VALID [2020-07-10 15:08:43,334 INFO L280 TraceCheckUtils]: 9: Hoare triple {2684#true} assume 0 != #t~nondet1;havoc #t~nondet1;call write~$Pointer$(0, 0, ~list~0.base, 4 + ~list~0.offset, 4); {2684#true} is VALID [2020-07-10 15:08:43,334 INFO L280 TraceCheckUtils]: 10: Hoare triple {2684#true} call #t~mem5.base, #t~mem5.offset := read~$Pointer$(~list~0.base, 4 + ~list~0.offset, 4);#t~short7 := #t~mem5.base != 0 || #t~mem5.offset != 0; {2684#true} is VALID [2020-07-10 15:08:43,334 INFO L280 TraceCheckUtils]: 11: Hoare triple {2684#true} assume #t~short7; {2684#true} is VALID [2020-07-10 15:08:43,334 INFO L280 TraceCheckUtils]: 12: Hoare triple {2684#true} assume !!#t~short7;havoc #t~mem5.base, #t~mem5.offset;havoc #t~short7;havoc #t~mem6.base, #t~mem6.offset; {2684#true} is VALID [2020-07-10 15:08:43,335 INFO L280 TraceCheckUtils]: 13: Hoare triple {2684#true} goto; {2684#true} is VALID [2020-07-10 15:08:43,335 INFO L280 TraceCheckUtils]: 14: Hoare triple {2684#true} ~end~0.base, ~end~0.offset := ~list~0.base, ~list~0.offset; {2684#true} is VALID [2020-07-10 15:08:43,340 INFO L280 TraceCheckUtils]: 15: Hoare triple {2684#true} assume -2147483648 <= #t~nondet8 && #t~nondet8 <= 2147483647; {2684#true} is VALID [2020-07-10 15:08:43,341 INFO L280 TraceCheckUtils]: 16: Hoare triple {2684#true} assume !(0 != #t~nondet8);havoc #t~nondet8; {2684#true} is VALID [2020-07-10 15:08:43,341 INFO L280 TraceCheckUtils]: 17: Hoare triple {2684#true} ~end~0.base, ~end~0.offset := 0, 0;~end~0.base, ~end~0.offset := ~list~0.base, ~list~0.offset; {2684#true} is VALID [2020-07-10 15:08:43,341 INFO L280 TraceCheckUtils]: 18: Hoare triple {2684#true} assume !!(0 != ~end~0.base || 0 != ~end~0.offset); {2684#true} is VALID [2020-07-10 15:08:43,341 INFO L280 TraceCheckUtils]: 19: Hoare triple {2684#true} goto; {2684#true} is VALID [2020-07-10 15:08:43,358 INFO L280 TraceCheckUtils]: 20: Hoare triple {2684#true} assume !!(0 != ~end~0.base || 0 != ~end~0.offset);~len~0 := 0;call #t~mem18.base, #t~mem18.offset := read~$Pointer$(~end~0.base, 4 + ~end~0.offset, 4);~inner~0.base, ~inner~0.offset := #t~mem18.base, #t~mem18.offset;havoc #t~mem18.base, #t~mem18.offset; {2689#(= 0 main_~len~0)} is VALID [2020-07-10 15:08:43,359 INFO L280 TraceCheckUtils]: 21: Hoare triple {2689#(= 0 main_~len~0)} assume !(0 != ~inner~0.base || 0 != ~inner~0.offset); {2689#(= 0 main_~len~0)} is VALID [2020-07-10 15:08:43,360 INFO L280 TraceCheckUtils]: 22: Hoare triple {2689#(= 0 main_~len~0)} assume !(~len~0 <= 1); {2685#false} is VALID [2020-07-10 15:08:43,360 INFO L280 TraceCheckUtils]: 23: Hoare triple {2685#false} assume !false; {2685#false} is VALID [2020-07-10 15:08:43,361 INFO L134 CoverageAnalysis]: Checked inductivity of 0 backedges. 0 proven. 0 refuted. 0 times theorem prover too weak. 0 trivial. 0 not checked. [2020-07-10 15:08:43,362 INFO L354 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleSmtInterpolCraig [1217622621] [2020-07-10 15:08:43,362 INFO L220 FreeRefinementEngine]: Constructing automaton from 1 perfect and 0 imperfect interpolant sequences. [2020-07-10 15:08:43,362 INFO L233 FreeRefinementEngine]: Number of different interpolants: perfect sequences [4] imperfect sequences [] total 4 [2020-07-10 15:08:43,362 INFO L156 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [957408568] [2020-07-10 15:08:43,363 INFO L78 Accepts]: Start accepts. Automaton has 4 states. Word has length 24 [2020-07-10 15:08:43,363 INFO L84 Accepts]: Finished accepts. word is accepted. [2020-07-10 15:08:43,363 INFO L86 InductivityCheck]: Starting indutivity check of a Floyd-Hoare automaton with 4 states. [2020-07-10 15:08:43,387 INFO L119 InductivityCheck]: Floyd-Hoare automaton has 24 edges. 24 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2020-07-10 15:08:43,387 INFO L459 AbstractCegarLoop]: Interpolant automaton has 4 states [2020-07-10 15:08:43,388 INFO L143 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy CAMEL [2020-07-10 15:08:43,388 INFO L142 InterpolantAutomaton]: Constructing interpolant automaton starting with 4 interpolants. [2020-07-10 15:08:43,388 INFO L144 InterpolantAutomaton]: CoverageRelationStatistics Valid=5, Invalid=7, Unknown=0, NotChecked=0, Total=12 [2020-07-10 15:08:43,388 INFO L87 Difference]: Start difference. First operand 75 states and 85 transitions. Second operand 4 states. [2020-07-10 15:08:43,723 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2020-07-10 15:08:43,724 INFO L93 Difference]: Finished difference Result 141 states and 161 transitions. [2020-07-10 15:08:43,724 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 4 states. [2020-07-10 15:08:43,724 INFO L78 Accepts]: Start accepts. Automaton has 4 states. Word has length 24 [2020-07-10 15:08:43,724 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2020-07-10 15:08:43,724 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 4 states. [2020-07-10 15:08:43,727 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 4 states to 4 states and 160 transitions. [2020-07-10 15:08:43,727 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 4 states. [2020-07-10 15:08:43,729 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 4 states to 4 states and 160 transitions. [2020-07-10 15:08:43,729 INFO L86 InductivityCheck]: Starting indutivity check of a Floyd-Hoare automaton with 4 states and 160 transitions. [2020-07-10 15:08:43,872 INFO L119 InductivityCheck]: Floyd-Hoare automaton has 160 edges. 160 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2020-07-10 15:08:43,874 INFO L225 Difference]: With dead ends: 141 [2020-07-10 15:08:43,875 INFO L226 Difference]: Without dead ends: 99 [2020-07-10 15:08:43,875 INFO L675 BasicCegarLoop]: 0 DeclaredPredicates, 5 GetRequests, 3 SyntacticMatches, 0 SemanticMatches, 2 ConstructedPredicates, 0 IntricatePredicates, 0 DeprecatedPredicates, 0 ImplicationChecksByTransitivity, 0.0s TimeCoverageRelationStatistics Valid=5, Invalid=7, Unknown=0, NotChecked=0, Total=12 [2020-07-10 15:08:43,876 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 99 states. [2020-07-10 15:08:43,900 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 99 to 78. [2020-07-10 15:08:43,900 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2020-07-10 15:08:43,900 INFO L82 GeneralOperation]: Start isEquivalent. First operand 99 states. Second operand 78 states. [2020-07-10 15:08:43,901 INFO L74 IsIncluded]: Start isIncluded. First operand 99 states. Second operand 78 states. [2020-07-10 15:08:43,901 INFO L87 Difference]: Start difference. First operand 99 states. Second operand 78 states. [2020-07-10 15:08:43,905 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2020-07-10 15:08:43,905 INFO L93 Difference]: Finished difference Result 99 states and 112 transitions. [2020-07-10 15:08:43,905 INFO L276 IsEmpty]: Start isEmpty. Operand 99 states and 112 transitions. [2020-07-10 15:08:43,905 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2020-07-10 15:08:43,905 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2020-07-10 15:08:43,905 INFO L74 IsIncluded]: Start isIncluded. First operand 78 states. Second operand 99 states. [2020-07-10 15:08:43,906 INFO L87 Difference]: Start difference. First operand 78 states. Second operand 99 states. [2020-07-10 15:08:43,908 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2020-07-10 15:08:43,908 INFO L93 Difference]: Finished difference Result 99 states and 112 transitions. [2020-07-10 15:08:43,909 INFO L276 IsEmpty]: Start isEmpty. Operand 99 states and 112 transitions. [2020-07-10 15:08:43,909 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2020-07-10 15:08:43,909 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2020-07-10 15:08:43,909 INFO L88 GeneralOperation]: Finished isEquivalent. [2020-07-10 15:08:43,909 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2020-07-10 15:08:43,910 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 78 states. [2020-07-10 15:08:43,911 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 78 states to 78 states and 89 transitions. [2020-07-10 15:08:43,912 INFO L78 Accepts]: Start accepts. Automaton has 78 states and 89 transitions. Word has length 24 [2020-07-10 15:08:43,912 INFO L84 Accepts]: Finished accepts. word is rejected. [2020-07-10 15:08:43,912 INFO L479 AbstractCegarLoop]: Abstraction has 78 states and 89 transitions. [2020-07-10 15:08:43,912 INFO L480 AbstractCegarLoop]: Interpolant automaton has 4 states. [2020-07-10 15:08:43,912 INFO L276 IsEmpty]: Start isEmpty. Operand 78 states and 89 transitions. [2020-07-10 15:08:43,912 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 26 [2020-07-10 15:08:43,913 INFO L414 BasicCegarLoop]: Found error trace [2020-07-10 15:08:43,913 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] [2020-07-10 15:08:43,913 WARN L516 AbstractCegarLoop]: Destroyed unattended storables created during the last iteration: SelfDestructingSolverStorable6 [2020-07-10 15:08:43,913 INFO L427 AbstractCegarLoop]: === Iteration 8 === [mainErr0ASSERT_VIOLATIONERROR_FUNCTION, mainErr7ASSERT_VIOLATIONERROR_FUNCTION, mainErr8ASSERT_VIOLATIONERROR_FUNCTION, mainErr9ASSERT_VIOLATIONERROR_FUNCTION, mainErr10ASSERT_VIOLATIONERROR_FUNCTION, mainErr12ASSERT_VIOLATIONERROR_FUNCTION, mainErr4ASSERT_VIOLATIONERROR_FUNCTION, mainErr11ASSERT_VIOLATIONERROR_FUNCTION, mainErr2ASSERT_VIOLATIONERROR_FUNCTION, mainErr6ASSERT_VIOLATIONERROR_FUNCTION, mainErr5ASSERT_VIOLATIONERROR_FUNCTION, mainErr3ASSERT_VIOLATIONERROR_FUNCTION, mainErr1ASSERT_VIOLATIONERROR_FUNCTION]=== [2020-07-10 15:08:43,913 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2020-07-10 15:08:43,913 INFO L82 PathProgramCache]: Analyzing trace with hash 1864575058, now seen corresponding path program 1 times [2020-07-10 15:08:43,914 INFO L163 FreeRefinementEngine]: Executing refinement strategy CAMEL [2020-07-10 15:08:43,914 INFO L354 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [1101426885] [2020-07-10 15:08:43,914 INFO L94 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2020-07-10 15:08:43,926 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2020-07-10 15:08:43,977 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2020-07-10 15:08:43,987 INFO L280 TraceCheckUtils]: 0: Hoare triple {3141#(and (= |#valid| |old(#valid)|) (= |#NULL.base| |old(#NULL.base)|) (= |#NULL.offset| |old(#NULL.offset)|))} #NULL.base, #NULL.offset := 0, 0;#valid := #valid[0 := 0];assume 0 < #StackHeapBarrier; {3135#true} is VALID [2020-07-10 15:08:43,987 INFO L280 TraceCheckUtils]: 1: Hoare triple {3135#true} assume true; {3135#true} is VALID [2020-07-10 15:08:43,987 INFO L275 TraceCheckUtils]: 2: Hoare quadruple {3135#true} {3135#true} #337#return; {3135#true} is VALID [2020-07-10 15:08:43,992 INFO L263 TraceCheckUtils]: 0: Hoare triple {3135#true} call ULTIMATE.init(); {3141#(and (= |#valid| |old(#valid)|) (= |#NULL.base| |old(#NULL.base)|) (= |#NULL.offset| |old(#NULL.offset)|))} is VALID [2020-07-10 15:08:43,993 INFO L280 TraceCheckUtils]: 1: Hoare triple {3141#(and (= |#valid| |old(#valid)|) (= |#NULL.base| |old(#NULL.base)|) (= |#NULL.offset| |old(#NULL.offset)|))} #NULL.base, #NULL.offset := 0, 0;#valid := #valid[0 := 0];assume 0 < #StackHeapBarrier; {3135#true} is VALID [2020-07-10 15:08:43,993 INFO L280 TraceCheckUtils]: 2: Hoare triple {3135#true} assume true; {3135#true} is VALID [2020-07-10 15:08:43,993 INFO L275 TraceCheckUtils]: 3: Hoare quadruple {3135#true} {3135#true} #337#return; {3135#true} is VALID [2020-07-10 15:08:43,993 INFO L263 TraceCheckUtils]: 4: Hoare triple {3135#true} call #t~ret28 := main(); {3135#true} is VALID [2020-07-10 15:08:43,994 INFO L280 TraceCheckUtils]: 5: Hoare triple {3135#true} call #t~malloc0.base, #t~malloc0.offset := #Ultimate.allocOnHeap(8);~list~0.base, ~list~0.offset := #t~malloc0.base, #t~malloc0.offset;call write~$Pointer$(0, 0, ~list~0.base, ~list~0.offset, 4); {3135#true} is VALID [2020-07-10 15:08:43,994 INFO L280 TraceCheckUtils]: 6: Hoare triple {3135#true} assume !!(~list~0.base != 0 || ~list~0.offset != 0); {3135#true} is VALID [2020-07-10 15:08:43,994 INFO L280 TraceCheckUtils]: 7: Hoare triple {3135#true} goto; {3135#true} is VALID [2020-07-10 15:08:43,994 INFO L280 TraceCheckUtils]: 8: Hoare triple {3135#true} assume -2147483648 <= #t~nondet1 && #t~nondet1 <= 2147483647; {3135#true} is VALID [2020-07-10 15:08:43,995 INFO L280 TraceCheckUtils]: 9: Hoare triple {3135#true} assume 0 != #t~nondet1;havoc #t~nondet1;call write~$Pointer$(0, 0, ~list~0.base, 4 + ~list~0.offset, 4); {3135#true} is VALID [2020-07-10 15:08:43,995 INFO L280 TraceCheckUtils]: 10: Hoare triple {3135#true} call #t~mem5.base, #t~mem5.offset := read~$Pointer$(~list~0.base, 4 + ~list~0.offset, 4);#t~short7 := #t~mem5.base != 0 || #t~mem5.offset != 0; {3135#true} is VALID [2020-07-10 15:08:43,995 INFO L280 TraceCheckUtils]: 11: Hoare triple {3135#true} assume #t~short7; {3135#true} is VALID [2020-07-10 15:08:43,995 INFO L280 TraceCheckUtils]: 12: Hoare triple {3135#true} assume !!#t~short7;havoc #t~mem5.base, #t~mem5.offset;havoc #t~short7;havoc #t~mem6.base, #t~mem6.offset; {3135#true} is VALID [2020-07-10 15:08:43,996 INFO L280 TraceCheckUtils]: 13: Hoare triple {3135#true} goto; {3135#true} is VALID [2020-07-10 15:08:43,996 INFO L280 TraceCheckUtils]: 14: Hoare triple {3135#true} ~end~0.base, ~end~0.offset := ~list~0.base, ~list~0.offset; {3135#true} is VALID [2020-07-10 15:08:43,996 INFO L280 TraceCheckUtils]: 15: Hoare triple {3135#true} assume -2147483648 <= #t~nondet8 && #t~nondet8 <= 2147483647; {3135#true} is VALID [2020-07-10 15:08:43,996 INFO L280 TraceCheckUtils]: 16: Hoare triple {3135#true} assume !(0 != #t~nondet8);havoc #t~nondet8; {3135#true} is VALID [2020-07-10 15:08:43,996 INFO L280 TraceCheckUtils]: 17: Hoare triple {3135#true} ~end~0.base, ~end~0.offset := 0, 0;~end~0.base, ~end~0.offset := ~list~0.base, ~list~0.offset; {3135#true} is VALID [2020-07-10 15:08:43,997 INFO L280 TraceCheckUtils]: 18: Hoare triple {3135#true} assume !!(0 != ~end~0.base || 0 != ~end~0.offset); {3135#true} is VALID [2020-07-10 15:08:43,998 INFO L280 TraceCheckUtils]: 19: Hoare triple {3135#true} goto; {3135#true} is VALID [2020-07-10 15:08:43,998 INFO L280 TraceCheckUtils]: 20: Hoare triple {3135#true} assume !!(0 != ~end~0.base || 0 != ~end~0.offset);~len~0 := 0;call #t~mem18.base, #t~mem18.offset := read~$Pointer$(~end~0.base, 4 + ~end~0.offset, 4);~inner~0.base, ~inner~0.offset := #t~mem18.base, #t~mem18.offset;havoc #t~mem18.base, #t~mem18.offset; {3135#true} is VALID [2020-07-10 15:08:43,999 INFO L280 TraceCheckUtils]: 21: Hoare triple {3135#true} assume !!(0 != ~inner~0.base || 0 != ~inner~0.offset); {3140#(or (not (= 0 main_~inner~0.base)) (not (= 0 main_~inner~0.offset)))} is VALID [2020-07-10 15:08:44,001 INFO L280 TraceCheckUtils]: 22: Hoare triple {3140#(or (not (= 0 main_~inner~0.base)) (not (= 0 main_~inner~0.offset)))} assume 0 == ~len~0;~len~0 := 1; {3140#(or (not (= 0 main_~inner~0.base)) (not (= 0 main_~inner~0.offset)))} is VALID [2020-07-10 15:08:44,002 INFO L280 TraceCheckUtils]: 23: Hoare triple {3140#(or (not (= 0 main_~inner~0.base)) (not (= 0 main_~inner~0.offset)))} assume !(0 != ~inner~0.base || 0 != ~inner~0.offset); {3136#false} is VALID [2020-07-10 15:08:44,002 INFO L280 TraceCheckUtils]: 24: Hoare triple {3136#false} assume !false; {3136#false} is VALID [2020-07-10 15:08:44,003 INFO L134 CoverageAnalysis]: Checked inductivity of 0 backedges. 0 proven. 0 refuted. 0 times theorem prover too weak. 0 trivial. 0 not checked. [2020-07-10 15:08:44,004 INFO L354 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleSmtInterpolCraig [1101426885] [2020-07-10 15:08:44,004 INFO L220 FreeRefinementEngine]: Constructing automaton from 1 perfect and 0 imperfect interpolant sequences. [2020-07-10 15:08:44,005 INFO L233 FreeRefinementEngine]: Number of different interpolants: perfect sequences [4] imperfect sequences [] total 4 [2020-07-10 15:08:44,006 INFO L156 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [1464855527] [2020-07-10 15:08:44,006 INFO L78 Accepts]: Start accepts. Automaton has 4 states. Word has length 25 [2020-07-10 15:08:44,006 INFO L84 Accepts]: Finished accepts. word is accepted. [2020-07-10 15:08:44,007 INFO L86 InductivityCheck]: Starting indutivity check of a Floyd-Hoare automaton with 4 states. [2020-07-10 15:08:44,032 INFO L119 InductivityCheck]: Floyd-Hoare automaton has 25 edges. 25 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2020-07-10 15:08:44,032 INFO L459 AbstractCegarLoop]: Interpolant automaton has 4 states [2020-07-10 15:08:44,032 INFO L143 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy CAMEL [2020-07-10 15:08:44,032 INFO L142 InterpolantAutomaton]: Constructing interpolant automaton starting with 4 interpolants. [2020-07-10 15:08:44,033 INFO L144 InterpolantAutomaton]: CoverageRelationStatistics Valid=5, Invalid=7, Unknown=0, NotChecked=0, Total=12 [2020-07-10 15:08:44,033 INFO L87 Difference]: Start difference. First operand 78 states and 89 transitions. Second operand 4 states. [2020-07-10 15:08:44,330 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2020-07-10 15:08:44,331 INFO L93 Difference]: Finished difference Result 78 states and 89 transitions. [2020-07-10 15:08:44,331 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 4 states. [2020-07-10 15:08:44,331 INFO L78 Accepts]: Start accepts. Automaton has 4 states. Word has length 25 [2020-07-10 15:08:44,331 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2020-07-10 15:08:44,331 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 4 states. [2020-07-10 15:08:44,333 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 4 states to 4 states and 84 transitions. [2020-07-10 15:08:44,333 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 4 states. [2020-07-10 15:08:44,335 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 4 states to 4 states and 84 transitions. [2020-07-10 15:08:44,335 INFO L86 InductivityCheck]: Starting indutivity check of a Floyd-Hoare automaton with 4 states and 84 transitions. [2020-07-10 15:08:44,427 INFO L119 InductivityCheck]: Floyd-Hoare automaton has 84 edges. 84 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2020-07-10 15:08:44,428 INFO L225 Difference]: With dead ends: 78 [2020-07-10 15:08:44,429 INFO L226 Difference]: Without dead ends: 76 [2020-07-10 15:08:44,429 INFO L675 BasicCegarLoop]: 0 DeclaredPredicates, 5 GetRequests, 3 SyntacticMatches, 0 SemanticMatches, 2 ConstructedPredicates, 0 IntricatePredicates, 0 DeprecatedPredicates, 0 ImplicationChecksByTransitivity, 0.0s TimeCoverageRelationStatistics Valid=5, Invalid=7, Unknown=0, NotChecked=0, Total=12 [2020-07-10 15:08:44,430 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 76 states. [2020-07-10 15:08:44,449 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 76 to 76. [2020-07-10 15:08:44,449 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2020-07-10 15:08:44,450 INFO L82 GeneralOperation]: Start isEquivalent. First operand 76 states. Second operand 76 states. [2020-07-10 15:08:44,450 INFO L74 IsIncluded]: Start isIncluded. First operand 76 states. Second operand 76 states. [2020-07-10 15:08:44,450 INFO L87 Difference]: Start difference. First operand 76 states. Second operand 76 states. [2020-07-10 15:08:44,452 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2020-07-10 15:08:44,452 INFO L93 Difference]: Finished difference Result 76 states and 87 transitions. [2020-07-10 15:08:44,452 INFO L276 IsEmpty]: Start isEmpty. Operand 76 states and 87 transitions. [2020-07-10 15:08:44,452 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2020-07-10 15:08:44,453 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2020-07-10 15:08:44,453 INFO L74 IsIncluded]: Start isIncluded. First operand 76 states. Second operand 76 states. [2020-07-10 15:08:44,453 INFO L87 Difference]: Start difference. First operand 76 states. Second operand 76 states. [2020-07-10 15:08:44,455 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2020-07-10 15:08:44,455 INFO L93 Difference]: Finished difference Result 76 states and 87 transitions. [2020-07-10 15:08:44,455 INFO L276 IsEmpty]: Start isEmpty. Operand 76 states and 87 transitions. [2020-07-10 15:08:44,455 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2020-07-10 15:08:44,456 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2020-07-10 15:08:44,456 INFO L88 GeneralOperation]: Finished isEquivalent. [2020-07-10 15:08:44,456 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2020-07-10 15:08:44,456 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 76 states. [2020-07-10 15:08:44,458 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 76 states to 76 states and 87 transitions. [2020-07-10 15:08:44,458 INFO L78 Accepts]: Start accepts. Automaton has 76 states and 87 transitions. Word has length 25 [2020-07-10 15:08:44,458 INFO L84 Accepts]: Finished accepts. word is rejected. [2020-07-10 15:08:44,459 INFO L479 AbstractCegarLoop]: Abstraction has 76 states and 87 transitions. [2020-07-10 15:08:44,459 INFO L480 AbstractCegarLoop]: Interpolant automaton has 4 states. [2020-07-10 15:08:44,459 INFO L276 IsEmpty]: Start isEmpty. Operand 76 states and 87 transitions. [2020-07-10 15:08:44,459 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 28 [2020-07-10 15:08:44,459 INFO L414 BasicCegarLoop]: Found error trace [2020-07-10 15:08:44,460 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] [2020-07-10 15:08:44,460 WARN L516 AbstractCegarLoop]: Destroyed unattended storables created during the last iteration: SelfDestructingSolverStorable7 [2020-07-10 15:08:44,460 INFO L427 AbstractCegarLoop]: === Iteration 9 === [mainErr0ASSERT_VIOLATIONERROR_FUNCTION, mainErr7ASSERT_VIOLATIONERROR_FUNCTION, mainErr8ASSERT_VIOLATIONERROR_FUNCTION, mainErr9ASSERT_VIOLATIONERROR_FUNCTION, mainErr10ASSERT_VIOLATIONERROR_FUNCTION, mainErr12ASSERT_VIOLATIONERROR_FUNCTION, mainErr4ASSERT_VIOLATIONERROR_FUNCTION, mainErr11ASSERT_VIOLATIONERROR_FUNCTION, mainErr2ASSERT_VIOLATIONERROR_FUNCTION, mainErr6ASSERT_VIOLATIONERROR_FUNCTION, mainErr5ASSERT_VIOLATIONERROR_FUNCTION, mainErr3ASSERT_VIOLATIONERROR_FUNCTION, mainErr1ASSERT_VIOLATIONERROR_FUNCTION]=== [2020-07-10 15:08:44,460 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2020-07-10 15:08:44,460 INFO L82 PathProgramCache]: Analyzing trace with hash -660297045, now seen corresponding path program 1 times [2020-07-10 15:08:44,461 INFO L163 FreeRefinementEngine]: Executing refinement strategy CAMEL [2020-07-10 15:08:44,461 INFO L354 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [1088306421] [2020-07-10 15:08:44,461 INFO L94 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2020-07-10 15:08:44,474 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2020-07-10 15:08:44,525 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2020-07-10 15:08:44,529 INFO L280 TraceCheckUtils]: 0: Hoare triple {3479#(and (= |#valid| |old(#valid)|) (= |#NULL.base| |old(#NULL.base)|) (= |#NULL.offset| |old(#NULL.offset)|))} #NULL.base, #NULL.offset := 0, 0;#valid := #valid[0 := 0];assume 0 < #StackHeapBarrier; {3472#true} is VALID [2020-07-10 15:08:44,529 INFO L280 TraceCheckUtils]: 1: Hoare triple {3472#true} assume true; {3472#true} is VALID [2020-07-10 15:08:44,530 INFO L275 TraceCheckUtils]: 2: Hoare quadruple {3472#true} {3472#true} #337#return; {3472#true} is VALID [2020-07-10 15:08:44,531 INFO L263 TraceCheckUtils]: 0: Hoare triple {3472#true} call ULTIMATE.init(); {3479#(and (= |#valid| |old(#valid)|) (= |#NULL.base| |old(#NULL.base)|) (= |#NULL.offset| |old(#NULL.offset)|))} is VALID [2020-07-10 15:08:44,531 INFO L280 TraceCheckUtils]: 1: Hoare triple {3479#(and (= |#valid| |old(#valid)|) (= |#NULL.base| |old(#NULL.base)|) (= |#NULL.offset| |old(#NULL.offset)|))} #NULL.base, #NULL.offset := 0, 0;#valid := #valid[0 := 0];assume 0 < #StackHeapBarrier; {3472#true} is VALID [2020-07-10 15:08:44,531 INFO L280 TraceCheckUtils]: 2: Hoare triple {3472#true} assume true; {3472#true} is VALID [2020-07-10 15:08:44,531 INFO L275 TraceCheckUtils]: 3: Hoare quadruple {3472#true} {3472#true} #337#return; {3472#true} is VALID [2020-07-10 15:08:44,531 INFO L263 TraceCheckUtils]: 4: Hoare triple {3472#true} call #t~ret28 := main(); {3472#true} is VALID [2020-07-10 15:08:44,532 INFO L280 TraceCheckUtils]: 5: Hoare triple {3472#true} call #t~malloc0.base, #t~malloc0.offset := #Ultimate.allocOnHeap(8);~list~0.base, ~list~0.offset := #t~malloc0.base, #t~malloc0.offset;call write~$Pointer$(0, 0, ~list~0.base, ~list~0.offset, 4); {3472#true} is VALID [2020-07-10 15:08:44,532 INFO L280 TraceCheckUtils]: 6: Hoare triple {3472#true} assume !!(~list~0.base != 0 || ~list~0.offset != 0); {3472#true} is VALID [2020-07-10 15:08:44,532 INFO L280 TraceCheckUtils]: 7: Hoare triple {3472#true} goto; {3472#true} is VALID [2020-07-10 15:08:44,532 INFO L280 TraceCheckUtils]: 8: Hoare triple {3472#true} assume -2147483648 <= #t~nondet1 && #t~nondet1 <= 2147483647; {3472#true} is VALID [2020-07-10 15:08:44,534 INFO L280 TraceCheckUtils]: 9: Hoare triple {3472#true} assume 0 != #t~nondet1;havoc #t~nondet1;call write~$Pointer$(0, 0, ~list~0.base, 4 + ~list~0.offset, 4); {3477#(and (= 0 (select (select |#memory_$Pointer$.offset| main_~list~0.base) (+ main_~list~0.offset 4))) (= 0 (select (select |#memory_$Pointer$.base| main_~list~0.base) (+ main_~list~0.offset 4))))} is VALID [2020-07-10 15:08:44,534 INFO L280 TraceCheckUtils]: 10: Hoare triple {3477#(and (= 0 (select (select |#memory_$Pointer$.offset| main_~list~0.base) (+ main_~list~0.offset 4))) (= 0 (select (select |#memory_$Pointer$.base| main_~list~0.base) (+ main_~list~0.offset 4))))} call #t~mem5.base, #t~mem5.offset := read~$Pointer$(~list~0.base, 4 + ~list~0.offset, 4);#t~short7 := #t~mem5.base != 0 || #t~mem5.offset != 0; {3478#(not |main_#t~short7|)} is VALID [2020-07-10 15:08:44,535 INFO L280 TraceCheckUtils]: 11: Hoare triple {3478#(not |main_#t~short7|)} assume #t~short7; {3473#false} is VALID [2020-07-10 15:08:44,535 INFO L280 TraceCheckUtils]: 12: Hoare triple {3473#false} assume !!#t~short7;havoc #t~mem5.base, #t~mem5.offset;havoc #t~short7;havoc #t~mem6.base, #t~mem6.offset; {3473#false} is VALID [2020-07-10 15:08:44,535 INFO L280 TraceCheckUtils]: 13: Hoare triple {3473#false} goto; {3473#false} is VALID [2020-07-10 15:08:44,536 INFO L280 TraceCheckUtils]: 14: Hoare triple {3473#false} ~end~0.base, ~end~0.offset := ~list~0.base, ~list~0.offset; {3473#false} is VALID [2020-07-10 15:08:44,536 INFO L280 TraceCheckUtils]: 15: Hoare triple {3473#false} assume -2147483648 <= #t~nondet8 && #t~nondet8 <= 2147483647; {3473#false} is VALID [2020-07-10 15:08:44,536 INFO L280 TraceCheckUtils]: 16: Hoare triple {3473#false} assume !!(0 != #t~nondet8);havoc #t~nondet8;call #t~malloc9.base, #t~malloc9.offset := #Ultimate.allocOnHeap(8);call write~$Pointer$(#t~malloc9.base, #t~malloc9.offset, ~end~0.base, ~end~0.offset, 4);call #t~mem10.base, #t~mem10.offset := read~$Pointer$(~end~0.base, ~end~0.offset, 4);~end~0.base, ~end~0.offset := #t~mem10.base, #t~mem10.offset;havoc #t~mem10.base, #t~mem10.offset;call write~$Pointer$(0, 0, ~end~0.base, ~end~0.offset, 4); {3473#false} is VALID [2020-07-10 15:08:44,536 INFO L280 TraceCheckUtils]: 17: Hoare triple {3473#false} assume !!(0 != ~end~0.base || 0 != ~end~0.offset); {3473#false} is VALID [2020-07-10 15:08:44,536 INFO L280 TraceCheckUtils]: 18: Hoare triple {3473#false} goto; {3473#false} is VALID [2020-07-10 15:08:44,537 INFO L280 TraceCheckUtils]: 19: Hoare triple {3473#false} assume !!(~end~0.base != 0 || ~end~0.offset != 0); {3473#false} is VALID [2020-07-10 15:08:44,537 INFO L280 TraceCheckUtils]: 20: Hoare triple {3473#false} goto; {3473#false} is VALID [2020-07-10 15:08:44,537 INFO L280 TraceCheckUtils]: 21: Hoare triple {3473#false} assume -2147483648 <= #t~nondet11 && #t~nondet11 <= 2147483647; {3473#false} is VALID [2020-07-10 15:08:44,537 INFO L280 TraceCheckUtils]: 22: Hoare triple {3473#false} assume 0 != #t~nondet11;havoc #t~nondet11;call write~$Pointer$(0, 0, ~end~0.base, 4 + ~end~0.offset, 4); {3473#false} is VALID [2020-07-10 15:08:44,538 INFO L280 TraceCheckUtils]: 23: Hoare triple {3473#false} call #t~mem15.base, #t~mem15.offset := read~$Pointer$(~end~0.base, 4 + ~end~0.offset, 4);#t~short17 := #t~mem15.base != 0 || #t~mem15.offset != 0; {3473#false} is VALID [2020-07-10 15:08:44,538 INFO L280 TraceCheckUtils]: 24: Hoare triple {3473#false} assume !#t~short17;call #t~mem16.base, #t~mem16.offset := read~$Pointer$(~end~0.base, 4 + ~end~0.offset, 4);#t~short17 := #t~mem16.base == 0 && #t~mem16.offset == 0; {3473#false} is VALID [2020-07-10 15:08:44,538 INFO L280 TraceCheckUtils]: 25: Hoare triple {3473#false} assume !#t~short17;havoc #t~mem16.base, #t~mem16.offset;havoc #t~short17;havoc #t~mem15.base, #t~mem15.offset; {3473#false} is VALID [2020-07-10 15:08:44,538 INFO L280 TraceCheckUtils]: 26: Hoare triple {3473#false} assume !false; {3473#false} is VALID [2020-07-10 15:08:44,540 INFO L134 CoverageAnalysis]: Checked inductivity of 0 backedges. 0 proven. 0 refuted. 0 times theorem prover too weak. 0 trivial. 0 not checked. [2020-07-10 15:08:44,540 INFO L354 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleSmtInterpolCraig [1088306421] [2020-07-10 15:08:44,540 INFO L220 FreeRefinementEngine]: Constructing automaton from 1 perfect and 0 imperfect interpolant sequences. [2020-07-10 15:08:44,540 INFO L233 FreeRefinementEngine]: Number of different interpolants: perfect sequences [5] imperfect sequences [] total 5 [2020-07-10 15:08:44,540 INFO L156 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [1859422861] [2020-07-10 15:08:44,541 INFO L78 Accepts]: Start accepts. Automaton has 5 states. Word has length 27 [2020-07-10 15:08:44,541 INFO L84 Accepts]: Finished accepts. word is accepted. [2020-07-10 15:08:44,541 INFO L86 InductivityCheck]: Starting indutivity check of a Floyd-Hoare automaton with 5 states. [2020-07-10 15:08:44,566 INFO L119 InductivityCheck]: Floyd-Hoare automaton has 27 edges. 27 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2020-07-10 15:08:44,567 INFO L459 AbstractCegarLoop]: Interpolant automaton has 5 states [2020-07-10 15:08:44,567 INFO L143 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy CAMEL [2020-07-10 15:08:44,567 INFO L142 InterpolantAutomaton]: Constructing interpolant automaton starting with 5 interpolants. [2020-07-10 15:08:44,567 INFO L144 InterpolantAutomaton]: CoverageRelationStatistics Valid=7, Invalid=13, Unknown=0, NotChecked=0, Total=20 [2020-07-10 15:08:44,567 INFO L87 Difference]: Start difference. First operand 76 states and 87 transitions. Second operand 5 states. [2020-07-10 15:08:45,102 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2020-07-10 15:08:45,102 INFO L93 Difference]: Finished difference Result 194 states and 222 transitions. [2020-07-10 15:08:45,102 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 5 states. [2020-07-10 15:08:45,103 INFO L78 Accepts]: Start accepts. Automaton has 5 states. Word has length 27 [2020-07-10 15:08:45,103 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2020-07-10 15:08:45,103 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 5 states. [2020-07-10 15:08:45,107 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 5 states to 5 states and 207 transitions. [2020-07-10 15:08:45,107 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 5 states. [2020-07-10 15:08:45,118 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 5 states to 5 states and 207 transitions. [2020-07-10 15:08:45,119 INFO L86 InductivityCheck]: Starting indutivity check of a Floyd-Hoare automaton with 5 states and 207 transitions. [2020-07-10 15:08:45,341 INFO L119 InductivityCheck]: Floyd-Hoare automaton has 207 edges. 207 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2020-07-10 15:08:45,344 INFO L225 Difference]: With dead ends: 194 [2020-07-10 15:08:45,344 INFO L226 Difference]: Without dead ends: 130 [2020-07-10 15:08:45,345 INFO L675 BasicCegarLoop]: 0 DeclaredPredicates, 7 GetRequests, 3 SyntacticMatches, 0 SemanticMatches, 4 ConstructedPredicates, 0 IntricatePredicates, 0 DeprecatedPredicates, 0 ImplicationChecksByTransitivity, 0.0s TimeCoverageRelationStatistics Valid=11, Invalid=19, Unknown=0, NotChecked=0, Total=30 [2020-07-10 15:08:45,345 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 130 states. [2020-07-10 15:08:45,366 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 130 to 78. [2020-07-10 15:08:45,367 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2020-07-10 15:08:45,367 INFO L82 GeneralOperation]: Start isEquivalent. First operand 130 states. Second operand 78 states. [2020-07-10 15:08:45,367 INFO L74 IsIncluded]: Start isIncluded. First operand 130 states. Second operand 78 states. [2020-07-10 15:08:45,367 INFO L87 Difference]: Start difference. First operand 130 states. Second operand 78 states. [2020-07-10 15:08:45,372 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2020-07-10 15:08:45,372 INFO L93 Difference]: Finished difference Result 130 states and 148 transitions. [2020-07-10 15:08:45,372 INFO L276 IsEmpty]: Start isEmpty. Operand 130 states and 148 transitions. [2020-07-10 15:08:45,372 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2020-07-10 15:08:45,373 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2020-07-10 15:08:45,373 INFO L74 IsIncluded]: Start isIncluded. First operand 78 states. Second operand 130 states. [2020-07-10 15:08:45,373 INFO L87 Difference]: Start difference. First operand 78 states. Second operand 130 states. [2020-07-10 15:08:45,375 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2020-07-10 15:08:45,376 INFO L93 Difference]: Finished difference Result 130 states and 148 transitions. [2020-07-10 15:08:45,376 INFO L276 IsEmpty]: Start isEmpty. Operand 130 states and 148 transitions. [2020-07-10 15:08:45,376 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2020-07-10 15:08:45,376 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2020-07-10 15:08:45,376 INFO L88 GeneralOperation]: Finished isEquivalent. [2020-07-10 15:08:45,377 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2020-07-10 15:08:45,377 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 78 states. [2020-07-10 15:08:45,378 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 78 states to 78 states and 89 transitions. [2020-07-10 15:08:45,378 INFO L78 Accepts]: Start accepts. Automaton has 78 states and 89 transitions. Word has length 27 [2020-07-10 15:08:45,378 INFO L84 Accepts]: Finished accepts. word is rejected. [2020-07-10 15:08:45,378 INFO L479 AbstractCegarLoop]: Abstraction has 78 states and 89 transitions. [2020-07-10 15:08:45,379 INFO L480 AbstractCegarLoop]: Interpolant automaton has 5 states. [2020-07-10 15:08:45,379 INFO L276 IsEmpty]: Start isEmpty. Operand 78 states and 89 transitions. [2020-07-10 15:08:45,379 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 28 [2020-07-10 15:08:45,379 INFO L414 BasicCegarLoop]: Found error trace [2020-07-10 15:08:45,380 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] [2020-07-10 15:08:45,380 WARN L516 AbstractCegarLoop]: Destroyed unattended storables created during the last iteration: SelfDestructingSolverStorable8 [2020-07-10 15:08:45,380 INFO L427 AbstractCegarLoop]: === Iteration 10 === [mainErr0ASSERT_VIOLATIONERROR_FUNCTION, mainErr7ASSERT_VIOLATIONERROR_FUNCTION, mainErr8ASSERT_VIOLATIONERROR_FUNCTION, mainErr9ASSERT_VIOLATIONERROR_FUNCTION, mainErr10ASSERT_VIOLATIONERROR_FUNCTION, mainErr12ASSERT_VIOLATIONERROR_FUNCTION, mainErr4ASSERT_VIOLATIONERROR_FUNCTION, mainErr11ASSERT_VIOLATIONERROR_FUNCTION, mainErr2ASSERT_VIOLATIONERROR_FUNCTION, mainErr6ASSERT_VIOLATIONERROR_FUNCTION, mainErr5ASSERT_VIOLATIONERROR_FUNCTION, mainErr3ASSERT_VIOLATIONERROR_FUNCTION, mainErr1ASSERT_VIOLATIONERROR_FUNCTION]=== [2020-07-10 15:08:45,380 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2020-07-10 15:08:45,380 INFO L82 PathProgramCache]: Analyzing trace with hash -1681365399, now seen corresponding path program 1 times [2020-07-10 15:08:45,381 INFO L163 FreeRefinementEngine]: Executing refinement strategy CAMEL [2020-07-10 15:08:45,381 INFO L354 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [1774196390] [2020-07-10 15:08:45,381 INFO L94 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2020-07-10 15:08:45,394 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2020-07-10 15:08:45,456 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2020-07-10 15:08:45,460 INFO L280 TraceCheckUtils]: 0: Hoare triple {4056#(and (= |#valid| |old(#valid)|) (= |#NULL.base| |old(#NULL.base)|) (= |#NULL.offset| |old(#NULL.offset)|))} #NULL.base, #NULL.offset := 0, 0;#valid := #valid[0 := 0];assume 0 < #StackHeapBarrier; {4049#true} is VALID [2020-07-10 15:08:45,460 INFO L280 TraceCheckUtils]: 1: Hoare triple {4049#true} assume true; {4049#true} is VALID [2020-07-10 15:08:45,460 INFO L275 TraceCheckUtils]: 2: Hoare quadruple {4049#true} {4049#true} #337#return; {4049#true} is VALID [2020-07-10 15:08:45,461 INFO L263 TraceCheckUtils]: 0: Hoare triple {4049#true} call ULTIMATE.init(); {4056#(and (= |#valid| |old(#valid)|) (= |#NULL.base| |old(#NULL.base)|) (= |#NULL.offset| |old(#NULL.offset)|))} is VALID [2020-07-10 15:08:45,461 INFO L280 TraceCheckUtils]: 1: Hoare triple {4056#(and (= |#valid| |old(#valid)|) (= |#NULL.base| |old(#NULL.base)|) (= |#NULL.offset| |old(#NULL.offset)|))} #NULL.base, #NULL.offset := 0, 0;#valid := #valid[0 := 0];assume 0 < #StackHeapBarrier; {4049#true} is VALID [2020-07-10 15:08:45,461 INFO L280 TraceCheckUtils]: 2: Hoare triple {4049#true} assume true; {4049#true} is VALID [2020-07-10 15:08:45,461 INFO L275 TraceCheckUtils]: 3: Hoare quadruple {4049#true} {4049#true} #337#return; {4049#true} is VALID [2020-07-10 15:08:45,461 INFO L263 TraceCheckUtils]: 4: Hoare triple {4049#true} call #t~ret28 := main(); {4049#true} is VALID [2020-07-10 15:08:45,461 INFO L280 TraceCheckUtils]: 5: Hoare triple {4049#true} call #t~malloc0.base, #t~malloc0.offset := #Ultimate.allocOnHeap(8);~list~0.base, ~list~0.offset := #t~malloc0.base, #t~malloc0.offset;call write~$Pointer$(0, 0, ~list~0.base, ~list~0.offset, 4); {4049#true} is VALID [2020-07-10 15:08:45,462 INFO L280 TraceCheckUtils]: 6: Hoare triple {4049#true} assume !!(~list~0.base != 0 || ~list~0.offset != 0); {4049#true} is VALID [2020-07-10 15:08:45,462 INFO L280 TraceCheckUtils]: 7: Hoare triple {4049#true} goto; {4049#true} is VALID [2020-07-10 15:08:45,462 INFO L280 TraceCheckUtils]: 8: Hoare triple {4049#true} assume -2147483648 <= #t~nondet1 && #t~nondet1 <= 2147483647; {4049#true} is VALID [2020-07-10 15:08:45,462 INFO L280 TraceCheckUtils]: 9: Hoare triple {4049#true} assume 0 != #t~nondet1;havoc #t~nondet1;call write~$Pointer$(0, 0, ~list~0.base, 4 + ~list~0.offset, 4); {4049#true} is VALID [2020-07-10 15:08:45,463 INFO L280 TraceCheckUtils]: 10: Hoare triple {4049#true} call #t~mem5.base, #t~mem5.offset := read~$Pointer$(~list~0.base, 4 + ~list~0.offset, 4);#t~short7 := #t~mem5.base != 0 || #t~mem5.offset != 0; {4049#true} is VALID [2020-07-10 15:08:45,463 INFO L280 TraceCheckUtils]: 11: Hoare triple {4049#true} assume !#t~short7;call #t~mem6.base, #t~mem6.offset := read~$Pointer$(~list~0.base, 4 + ~list~0.offset, 4);#t~short7 := #t~mem6.base == 0 && #t~mem6.offset == 0; {4049#true} is VALID [2020-07-10 15:08:45,463 INFO L280 TraceCheckUtils]: 12: Hoare triple {4049#true} assume !!#t~short7;havoc #t~mem5.base, #t~mem5.offset;havoc #t~short7;havoc #t~mem6.base, #t~mem6.offset; {4049#true} is VALID [2020-07-10 15:08:45,463 INFO L280 TraceCheckUtils]: 13: Hoare triple {4049#true} goto; {4049#true} is VALID [2020-07-10 15:08:45,464 INFO L280 TraceCheckUtils]: 14: Hoare triple {4049#true} ~end~0.base, ~end~0.offset := ~list~0.base, ~list~0.offset; {4049#true} is VALID [2020-07-10 15:08:45,464 INFO L280 TraceCheckUtils]: 15: Hoare triple {4049#true} assume -2147483648 <= #t~nondet8 && #t~nondet8 <= 2147483647; {4049#true} is VALID [2020-07-10 15:08:45,464 INFO L280 TraceCheckUtils]: 16: Hoare triple {4049#true} assume !!(0 != #t~nondet8);havoc #t~nondet8;call #t~malloc9.base, #t~malloc9.offset := #Ultimate.allocOnHeap(8);call write~$Pointer$(#t~malloc9.base, #t~malloc9.offset, ~end~0.base, ~end~0.offset, 4);call #t~mem10.base, #t~mem10.offset := read~$Pointer$(~end~0.base, ~end~0.offset, 4);~end~0.base, ~end~0.offset := #t~mem10.base, #t~mem10.offset;havoc #t~mem10.base, #t~mem10.offset;call write~$Pointer$(0, 0, ~end~0.base, ~end~0.offset, 4); {4049#true} is VALID [2020-07-10 15:08:45,464 INFO L280 TraceCheckUtils]: 17: Hoare triple {4049#true} assume !!(0 != ~end~0.base || 0 != ~end~0.offset); {4049#true} is VALID [2020-07-10 15:08:45,465 INFO L280 TraceCheckUtils]: 18: Hoare triple {4049#true} goto; {4049#true} is VALID [2020-07-10 15:08:45,465 INFO L280 TraceCheckUtils]: 19: Hoare triple {4049#true} assume !!(~end~0.base != 0 || ~end~0.offset != 0); {4049#true} is VALID [2020-07-10 15:08:45,465 INFO L280 TraceCheckUtils]: 20: Hoare triple {4049#true} goto; {4049#true} is VALID [2020-07-10 15:08:45,465 INFO L280 TraceCheckUtils]: 21: Hoare triple {4049#true} assume -2147483648 <= #t~nondet11 && #t~nondet11 <= 2147483647; {4049#true} is VALID [2020-07-10 15:08:45,466 INFO L280 TraceCheckUtils]: 22: Hoare triple {4049#true} assume 0 != #t~nondet11;havoc #t~nondet11;call write~$Pointer$(0, 0, ~end~0.base, 4 + ~end~0.offset, 4); {4049#true} is VALID [2020-07-10 15:08:45,466 INFO L280 TraceCheckUtils]: 23: Hoare triple {4049#true} call #t~mem15.base, #t~mem15.offset := read~$Pointer$(~end~0.base, 4 + ~end~0.offset, 4);#t~short17 := #t~mem15.base != 0 || #t~mem15.offset != 0; {4054#(or (and (= 0 (select (select |#memory_$Pointer$.offset| main_~end~0.base) (+ main_~end~0.offset 4))) (= 0 (select (select |#memory_$Pointer$.base| main_~end~0.base) (+ main_~end~0.offset 4)))) |main_#t~short17|)} is VALID [2020-07-10 15:08:45,468 INFO L280 TraceCheckUtils]: 24: Hoare triple {4054#(or (and (= 0 (select (select |#memory_$Pointer$.offset| main_~end~0.base) (+ main_~end~0.offset 4))) (= 0 (select (select |#memory_$Pointer$.base| main_~end~0.base) (+ main_~end~0.offset 4)))) |main_#t~short17|)} assume !#t~short17;call #t~mem16.base, #t~mem16.offset := read~$Pointer$(~end~0.base, 4 + ~end~0.offset, 4);#t~short17 := #t~mem16.base == 0 && #t~mem16.offset == 0; {4055#|main_#t~short17|} is VALID [2020-07-10 15:08:45,468 INFO L280 TraceCheckUtils]: 25: Hoare triple {4055#|main_#t~short17|} assume !#t~short17;havoc #t~mem16.base, #t~mem16.offset;havoc #t~short17;havoc #t~mem15.base, #t~mem15.offset; {4050#false} is VALID [2020-07-10 15:08:45,468 INFO L280 TraceCheckUtils]: 26: Hoare triple {4050#false} assume !false; {4050#false} is VALID [2020-07-10 15:08:45,470 INFO L134 CoverageAnalysis]: Checked inductivity of 0 backedges. 0 proven. 0 refuted. 0 times theorem prover too weak. 0 trivial. 0 not checked. [2020-07-10 15:08:45,470 INFO L354 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleSmtInterpolCraig [1774196390] [2020-07-10 15:08:45,470 INFO L220 FreeRefinementEngine]: Constructing automaton from 1 perfect and 0 imperfect interpolant sequences. [2020-07-10 15:08:45,470 INFO L233 FreeRefinementEngine]: Number of different interpolants: perfect sequences [5] imperfect sequences [] total 5 [2020-07-10 15:08:45,470 INFO L156 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [1689237647] [2020-07-10 15:08:45,471 INFO L78 Accepts]: Start accepts. Automaton has 5 states. Word has length 27 [2020-07-10 15:08:45,471 INFO L84 Accepts]: Finished accepts. word is accepted. [2020-07-10 15:08:45,471 INFO L86 InductivityCheck]: Starting indutivity check of a Floyd-Hoare automaton with 5 states. [2020-07-10 15:08:45,506 INFO L119 InductivityCheck]: Floyd-Hoare automaton has 27 edges. 27 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2020-07-10 15:08:45,506 INFO L459 AbstractCegarLoop]: Interpolant automaton has 5 states [2020-07-10 15:08:45,506 INFO L143 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy CAMEL [2020-07-10 15:08:45,507 INFO L142 InterpolantAutomaton]: Constructing interpolant automaton starting with 5 interpolants. [2020-07-10 15:08:45,507 INFO L144 InterpolantAutomaton]: CoverageRelationStatistics Valid=8, Invalid=12, Unknown=0, NotChecked=0, Total=20 [2020-07-10 15:08:45,507 INFO L87 Difference]: Start difference. First operand 78 states and 89 transitions. Second operand 5 states. [2020-07-10 15:08:45,853 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2020-07-10 15:08:45,853 INFO L93 Difference]: Finished difference Result 79 states and 90 transitions. [2020-07-10 15:08:45,853 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 5 states. [2020-07-10 15:08:45,854 INFO L78 Accepts]: Start accepts. Automaton has 5 states. Word has length 27 [2020-07-10 15:08:45,854 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2020-07-10 15:08:45,854 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 5 states. [2020-07-10 15:08:45,855 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 5 states to 5 states and 83 transitions. [2020-07-10 15:08:45,856 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 5 states. [2020-07-10 15:08:45,857 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 5 states to 5 states and 83 transitions. [2020-07-10 15:08:45,857 INFO L86 InductivityCheck]: Starting indutivity check of a Floyd-Hoare automaton with 5 states and 83 transitions. [2020-07-10 15:08:45,940 INFO L119 InductivityCheck]: Floyd-Hoare automaton has 83 edges. 83 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2020-07-10 15:08:45,942 INFO L225 Difference]: With dead ends: 79 [2020-07-10 15:08:45,942 INFO L226 Difference]: Without dead ends: 77 [2020-07-10 15:08:45,942 INFO L675 BasicCegarLoop]: 0 DeclaredPredicates, 6 GetRequests, 3 SyntacticMatches, 0 SemanticMatches, 3 ConstructedPredicates, 0 IntricatePredicates, 0 DeprecatedPredicates, 1 ImplicationChecksByTransitivity, 0.0s TimeCoverageRelationStatistics Valid=8, Invalid=12, Unknown=0, NotChecked=0, Total=20 [2020-07-10 15:08:45,943 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 77 states. [2020-07-10 15:08:45,962 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 77 to 76. [2020-07-10 15:08:45,962 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2020-07-10 15:08:45,962 INFO L82 GeneralOperation]: Start isEquivalent. First operand 77 states. Second operand 76 states. [2020-07-10 15:08:45,962 INFO L74 IsIncluded]: Start isIncluded. First operand 77 states. Second operand 76 states. [2020-07-10 15:08:45,963 INFO L87 Difference]: Start difference. First operand 77 states. Second operand 76 states. [2020-07-10 15:08:45,965 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2020-07-10 15:08:45,965 INFO L93 Difference]: Finished difference Result 77 states and 88 transitions. [2020-07-10 15:08:45,965 INFO L276 IsEmpty]: Start isEmpty. Operand 77 states and 88 transitions. [2020-07-10 15:08:45,966 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2020-07-10 15:08:45,966 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2020-07-10 15:08:45,966 INFO L74 IsIncluded]: Start isIncluded. First operand 76 states. Second operand 77 states. [2020-07-10 15:08:45,966 INFO L87 Difference]: Start difference. First operand 76 states. Second operand 77 states. [2020-07-10 15:08:45,968 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2020-07-10 15:08:45,968 INFO L93 Difference]: Finished difference Result 77 states and 88 transitions. [2020-07-10 15:08:45,968 INFO L276 IsEmpty]: Start isEmpty. Operand 77 states and 88 transitions. [2020-07-10 15:08:45,968 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2020-07-10 15:08:45,969 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2020-07-10 15:08:45,969 INFO L88 GeneralOperation]: Finished isEquivalent. [2020-07-10 15:08:45,969 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2020-07-10 15:08:45,969 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 76 states. [2020-07-10 15:08:45,970 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 76 states to 76 states and 87 transitions. [2020-07-10 15:08:45,971 INFO L78 Accepts]: Start accepts. Automaton has 76 states and 87 transitions. Word has length 27 [2020-07-10 15:08:45,971 INFO L84 Accepts]: Finished accepts. word is rejected. [2020-07-10 15:08:45,971 INFO L479 AbstractCegarLoop]: Abstraction has 76 states and 87 transitions. [2020-07-10 15:08:45,971 INFO L480 AbstractCegarLoop]: Interpolant automaton has 5 states. [2020-07-10 15:08:45,971 INFO L276 IsEmpty]: Start isEmpty. Operand 76 states and 87 transitions. [2020-07-10 15:08:45,972 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 29 [2020-07-10 15:08:45,972 INFO L414 BasicCegarLoop]: Found error trace [2020-07-10 15:08:45,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] [2020-07-10 15:08:45,972 WARN L516 AbstractCegarLoop]: Destroyed unattended storables created during the last iteration: SelfDestructingSolverStorable9 [2020-07-10 15:08:45,972 INFO L427 AbstractCegarLoop]: === Iteration 11 === [mainErr0ASSERT_VIOLATIONERROR_FUNCTION, mainErr7ASSERT_VIOLATIONERROR_FUNCTION, mainErr8ASSERT_VIOLATIONERROR_FUNCTION, mainErr9ASSERT_VIOLATIONERROR_FUNCTION, mainErr10ASSERT_VIOLATIONERROR_FUNCTION, mainErr12ASSERT_VIOLATIONERROR_FUNCTION, mainErr4ASSERT_VIOLATIONERROR_FUNCTION, mainErr11ASSERT_VIOLATIONERROR_FUNCTION, mainErr2ASSERT_VIOLATIONERROR_FUNCTION, mainErr6ASSERT_VIOLATIONERROR_FUNCTION, mainErr5ASSERT_VIOLATIONERROR_FUNCTION, mainErr3ASSERT_VIOLATIONERROR_FUNCTION, mainErr1ASSERT_VIOLATIONERROR_FUNCTION]=== [2020-07-10 15:08:45,973 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2020-07-10 15:08:45,973 INFO L82 PathProgramCache]: Analyzing trace with hash -840739825, now seen corresponding path program 1 times [2020-07-10 15:08:45,973 INFO L163 FreeRefinementEngine]: Executing refinement strategy CAMEL [2020-07-10 15:08:45,973 INFO L354 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [963088985] [2020-07-10 15:08:45,973 INFO L94 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2020-07-10 15:08:45,985 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2020-07-10 15:08:46,077 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2020-07-10 15:08:46,080 INFO L280 TraceCheckUtils]: 0: Hoare triple {4398#(and (= |#valid| |old(#valid)|) (= |#NULL.base| |old(#NULL.base)|) (= |#NULL.offset| |old(#NULL.offset)|))} #NULL.base, #NULL.offset := 0, 0;#valid := #valid[0 := 0];assume 0 < #StackHeapBarrier; {4390#true} is VALID [2020-07-10 15:08:46,080 INFO L280 TraceCheckUtils]: 1: Hoare triple {4390#true} assume true; {4390#true} is VALID [2020-07-10 15:08:46,080 INFO L275 TraceCheckUtils]: 2: Hoare quadruple {4390#true} {4390#true} #337#return; {4390#true} is VALID [2020-07-10 15:08:46,081 INFO L263 TraceCheckUtils]: 0: Hoare triple {4390#true} call ULTIMATE.init(); {4398#(and (= |#valid| |old(#valid)|) (= |#NULL.base| |old(#NULL.base)|) (= |#NULL.offset| |old(#NULL.offset)|))} is VALID [2020-07-10 15:08:46,081 INFO L280 TraceCheckUtils]: 1: Hoare triple {4398#(and (= |#valid| |old(#valid)|) (= |#NULL.base| |old(#NULL.base)|) (= |#NULL.offset| |old(#NULL.offset)|))} #NULL.base, #NULL.offset := 0, 0;#valid := #valid[0 := 0];assume 0 < #StackHeapBarrier; {4390#true} is VALID [2020-07-10 15:08:46,081 INFO L280 TraceCheckUtils]: 2: Hoare triple {4390#true} assume true; {4390#true} is VALID [2020-07-10 15:08:46,081 INFO L275 TraceCheckUtils]: 3: Hoare quadruple {4390#true} {4390#true} #337#return; {4390#true} is VALID [2020-07-10 15:08:46,081 INFO L263 TraceCheckUtils]: 4: Hoare triple {4390#true} call #t~ret28 := main(); {4390#true} is VALID [2020-07-10 15:08:46,082 INFO L280 TraceCheckUtils]: 5: Hoare triple {4390#true} call #t~malloc0.base, #t~malloc0.offset := #Ultimate.allocOnHeap(8);~list~0.base, ~list~0.offset := #t~malloc0.base, #t~malloc0.offset;call write~$Pointer$(0, 0, ~list~0.base, ~list~0.offset, 4); {4390#true} is VALID [2020-07-10 15:08:46,082 INFO L280 TraceCheckUtils]: 6: Hoare triple {4390#true} assume !!(~list~0.base != 0 || ~list~0.offset != 0); {4390#true} is VALID [2020-07-10 15:08:46,082 INFO L280 TraceCheckUtils]: 7: Hoare triple {4390#true} goto; {4390#true} is VALID [2020-07-10 15:08:46,082 INFO L280 TraceCheckUtils]: 8: Hoare triple {4390#true} assume -2147483648 <= #t~nondet1 && #t~nondet1 <= 2147483647; {4390#true} is VALID [2020-07-10 15:08:46,083 INFO L280 TraceCheckUtils]: 9: Hoare triple {4390#true} assume 0 != #t~nondet1;havoc #t~nondet1;call write~$Pointer$(0, 0, ~list~0.base, 4 + ~list~0.offset, 4); {4395#(and (= 0 (select (select |#memory_$Pointer$.offset| main_~list~0.base) (+ main_~list~0.offset 4))) (= 0 (select (select |#memory_$Pointer$.base| main_~list~0.base) (+ main_~list~0.offset 4))))} is VALID [2020-07-10 15:08:46,085 INFO L280 TraceCheckUtils]: 10: Hoare triple {4395#(and (= 0 (select (select |#memory_$Pointer$.offset| main_~list~0.base) (+ main_~list~0.offset 4))) (= 0 (select (select |#memory_$Pointer$.base| main_~list~0.base) (+ main_~list~0.offset 4))))} call #t~mem5.base, #t~mem5.offset := read~$Pointer$(~list~0.base, 4 + ~list~0.offset, 4);#t~short7 := #t~mem5.base != 0 || #t~mem5.offset != 0; {4395#(and (= 0 (select (select |#memory_$Pointer$.offset| main_~list~0.base) (+ main_~list~0.offset 4))) (= 0 (select (select |#memory_$Pointer$.base| main_~list~0.base) (+ main_~list~0.offset 4))))} is VALID [2020-07-10 15:08:46,087 INFO L280 TraceCheckUtils]: 11: Hoare triple {4395#(and (= 0 (select (select |#memory_$Pointer$.offset| main_~list~0.base) (+ main_~list~0.offset 4))) (= 0 (select (select |#memory_$Pointer$.base| main_~list~0.base) (+ main_~list~0.offset 4))))} assume !#t~short7;call #t~mem6.base, #t~mem6.offset := read~$Pointer$(~list~0.base, 4 + ~list~0.offset, 4);#t~short7 := #t~mem6.base == 0 && #t~mem6.offset == 0; {4395#(and (= 0 (select (select |#memory_$Pointer$.offset| main_~list~0.base) (+ main_~list~0.offset 4))) (= 0 (select (select |#memory_$Pointer$.base| main_~list~0.base) (+ main_~list~0.offset 4))))} is VALID [2020-07-10 15:08:46,087 INFO L280 TraceCheckUtils]: 12: Hoare triple {4395#(and (= 0 (select (select |#memory_$Pointer$.offset| main_~list~0.base) (+ main_~list~0.offset 4))) (= 0 (select (select |#memory_$Pointer$.base| main_~list~0.base) (+ main_~list~0.offset 4))))} assume !!#t~short7;havoc #t~mem5.base, #t~mem5.offset;havoc #t~short7;havoc #t~mem6.base, #t~mem6.offset; {4395#(and (= 0 (select (select |#memory_$Pointer$.offset| main_~list~0.base) (+ main_~list~0.offset 4))) (= 0 (select (select |#memory_$Pointer$.base| main_~list~0.base) (+ main_~list~0.offset 4))))} is VALID [2020-07-10 15:08:46,088 INFO L280 TraceCheckUtils]: 13: Hoare triple {4395#(and (= 0 (select (select |#memory_$Pointer$.offset| main_~list~0.base) (+ main_~list~0.offset 4))) (= 0 (select (select |#memory_$Pointer$.base| main_~list~0.base) (+ main_~list~0.offset 4))))} goto; {4395#(and (= 0 (select (select |#memory_$Pointer$.offset| main_~list~0.base) (+ main_~list~0.offset 4))) (= 0 (select (select |#memory_$Pointer$.base| main_~list~0.base) (+ main_~list~0.offset 4))))} is VALID [2020-07-10 15:08:46,089 INFO L280 TraceCheckUtils]: 14: Hoare triple {4395#(and (= 0 (select (select |#memory_$Pointer$.offset| main_~list~0.base) (+ main_~list~0.offset 4))) (= 0 (select (select |#memory_$Pointer$.base| main_~list~0.base) (+ main_~list~0.offset 4))))} ~end~0.base, ~end~0.offset := ~list~0.base, ~list~0.offset; {4395#(and (= 0 (select (select |#memory_$Pointer$.offset| main_~list~0.base) (+ main_~list~0.offset 4))) (= 0 (select (select |#memory_$Pointer$.base| main_~list~0.base) (+ main_~list~0.offset 4))))} is VALID [2020-07-10 15:08:46,089 INFO L280 TraceCheckUtils]: 15: Hoare triple {4395#(and (= 0 (select (select |#memory_$Pointer$.offset| main_~list~0.base) (+ main_~list~0.offset 4))) (= 0 (select (select |#memory_$Pointer$.base| main_~list~0.base) (+ main_~list~0.offset 4))))} assume -2147483648 <= #t~nondet8 && #t~nondet8 <= 2147483647; {4395#(and (= 0 (select (select |#memory_$Pointer$.offset| main_~list~0.base) (+ main_~list~0.offset 4))) (= 0 (select (select |#memory_$Pointer$.base| main_~list~0.base) (+ main_~list~0.offset 4))))} is VALID [2020-07-10 15:08:46,090 INFO L280 TraceCheckUtils]: 16: Hoare triple {4395#(and (= 0 (select (select |#memory_$Pointer$.offset| main_~list~0.base) (+ main_~list~0.offset 4))) (= 0 (select (select |#memory_$Pointer$.base| main_~list~0.base) (+ main_~list~0.offset 4))))} assume !(0 != #t~nondet8);havoc #t~nondet8; {4395#(and (= 0 (select (select |#memory_$Pointer$.offset| main_~list~0.base) (+ main_~list~0.offset 4))) (= 0 (select (select |#memory_$Pointer$.base| main_~list~0.base) (+ main_~list~0.offset 4))))} is VALID [2020-07-10 15:08:46,090 INFO L280 TraceCheckUtils]: 17: Hoare triple {4395#(and (= 0 (select (select |#memory_$Pointer$.offset| main_~list~0.base) (+ main_~list~0.offset 4))) (= 0 (select (select |#memory_$Pointer$.base| main_~list~0.base) (+ main_~list~0.offset 4))))} ~end~0.base, ~end~0.offset := 0, 0;~end~0.base, ~end~0.offset := ~list~0.base, ~list~0.offset; {4396#(and (= 0 (select (select |#memory_$Pointer$.offset| main_~end~0.base) (+ main_~end~0.offset 4))) (= 0 (select (select |#memory_$Pointer$.base| main_~end~0.base) (+ main_~end~0.offset 4))))} is VALID [2020-07-10 15:08:46,091 INFO L280 TraceCheckUtils]: 18: Hoare triple {4396#(and (= 0 (select (select |#memory_$Pointer$.offset| main_~end~0.base) (+ main_~end~0.offset 4))) (= 0 (select (select |#memory_$Pointer$.base| main_~end~0.base) (+ main_~end~0.offset 4))))} assume !!(0 != ~end~0.base || 0 != ~end~0.offset); {4396#(and (= 0 (select (select |#memory_$Pointer$.offset| main_~end~0.base) (+ main_~end~0.offset 4))) (= 0 (select (select |#memory_$Pointer$.base| main_~end~0.base) (+ main_~end~0.offset 4))))} is VALID [2020-07-10 15:08:46,091 INFO L280 TraceCheckUtils]: 19: Hoare triple {4396#(and (= 0 (select (select |#memory_$Pointer$.offset| main_~end~0.base) (+ main_~end~0.offset 4))) (= 0 (select (select |#memory_$Pointer$.base| main_~end~0.base) (+ main_~end~0.offset 4))))} goto; {4396#(and (= 0 (select (select |#memory_$Pointer$.offset| main_~end~0.base) (+ main_~end~0.offset 4))) (= 0 (select (select |#memory_$Pointer$.base| main_~end~0.base) (+ main_~end~0.offset 4))))} is VALID [2020-07-10 15:08:46,092 INFO L280 TraceCheckUtils]: 20: Hoare triple {4396#(and (= 0 (select (select |#memory_$Pointer$.offset| main_~end~0.base) (+ main_~end~0.offset 4))) (= 0 (select (select |#memory_$Pointer$.base| main_~end~0.base) (+ main_~end~0.offset 4))))} assume !!(0 != ~end~0.base || 0 != ~end~0.offset);~len~0 := 0;call #t~mem18.base, #t~mem18.offset := read~$Pointer$(~end~0.base, 4 + ~end~0.offset, 4);~inner~0.base, ~inner~0.offset := #t~mem18.base, #t~mem18.offset;havoc #t~mem18.base, #t~mem18.offset; {4397#(and (= 0 main_~inner~0.base) (= 0 main_~inner~0.offset))} is VALID [2020-07-10 15:08:46,093 INFO L280 TraceCheckUtils]: 21: Hoare triple {4397#(and (= 0 main_~inner~0.base) (= 0 main_~inner~0.offset))} assume !!(0 != ~inner~0.base || 0 != ~inner~0.offset); {4391#false} is VALID [2020-07-10 15:08:46,093 INFO L280 TraceCheckUtils]: 22: Hoare triple {4391#false} assume 0 == ~len~0;~len~0 := 1; {4391#false} is VALID [2020-07-10 15:08:46,093 INFO L280 TraceCheckUtils]: 23: Hoare triple {4391#false} assume !!(0 != ~inner~0.base || 0 != ~inner~0.offset); {4391#false} is VALID [2020-07-10 15:08:46,093 INFO L280 TraceCheckUtils]: 24: Hoare triple {4391#false} goto; {4391#false} is VALID [2020-07-10 15:08:46,093 INFO L280 TraceCheckUtils]: 25: Hoare triple {4391#false} call #t~mem19.base, #t~mem19.offset := read~$Pointer$(~inner~0.base, 4 + ~inner~0.offset, 4); {4391#false} is VALID [2020-07-10 15:08:46,093 INFO L280 TraceCheckUtils]: 26: Hoare triple {4391#false} assume !(0 == #t~mem19.base && 0 == #t~mem19.offset);havoc #t~mem19.base, #t~mem19.offset; {4391#false} is VALID [2020-07-10 15:08:46,094 INFO L280 TraceCheckUtils]: 27: Hoare triple {4391#false} assume !false; {4391#false} is VALID [2020-07-10 15:08:46,096 INFO L134 CoverageAnalysis]: Checked inductivity of 0 backedges. 0 proven. 0 refuted. 0 times theorem prover too weak. 0 trivial. 0 not checked. [2020-07-10 15:08:46,097 INFO L354 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleSmtInterpolCraig [963088985] [2020-07-10 15:08:46,097 INFO L220 FreeRefinementEngine]: Constructing automaton from 1 perfect and 0 imperfect interpolant sequences. [2020-07-10 15:08:46,097 INFO L233 FreeRefinementEngine]: Number of different interpolants: perfect sequences [6] imperfect sequences [] total 6 [2020-07-10 15:08:46,097 INFO L156 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [663168562] [2020-07-10 15:08:46,097 INFO L78 Accepts]: Start accepts. Automaton has 6 states. Word has length 28 [2020-07-10 15:08:46,098 INFO L84 Accepts]: Finished accepts. word is accepted. [2020-07-10 15:08:46,098 INFO L86 InductivityCheck]: Starting indutivity check of a Floyd-Hoare automaton with 6 states. [2020-07-10 15:08:46,144 INFO L119 InductivityCheck]: Floyd-Hoare automaton has 28 edges. 28 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2020-07-10 15:08:46,144 INFO L459 AbstractCegarLoop]: Interpolant automaton has 6 states [2020-07-10 15:08:46,144 INFO L143 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy CAMEL [2020-07-10 15:08:46,145 INFO L142 InterpolantAutomaton]: Constructing interpolant automaton starting with 6 interpolants. [2020-07-10 15:08:46,145 INFO L144 InterpolantAutomaton]: CoverageRelationStatistics Valid=9, Invalid=21, Unknown=0, NotChecked=0, Total=30 [2020-07-10 15:08:46,145 INFO L87 Difference]: Start difference. First operand 76 states and 87 transitions. Second operand 6 states. [2020-07-10 15:08:47,017 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2020-07-10 15:08:47,017 INFO L93 Difference]: Finished difference Result 182 states and 209 transitions. [2020-07-10 15:08:47,017 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 9 states. [2020-07-10 15:08:47,017 INFO L78 Accepts]: Start accepts. Automaton has 6 states. Word has length 28 [2020-07-10 15:08:47,018 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2020-07-10 15:08:47,018 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 6 states. [2020-07-10 15:08:47,020 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 9 states to 9 states and 197 transitions. [2020-07-10 15:08:47,020 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 6 states. [2020-07-10 15:08:47,022 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 9 states to 9 states and 197 transitions. [2020-07-10 15:08:47,022 INFO L86 InductivityCheck]: Starting indutivity check of a Floyd-Hoare automaton with 9 states and 197 transitions. [2020-07-10 15:08:47,261 INFO L119 InductivityCheck]: Floyd-Hoare automaton has 197 edges. 197 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2020-07-10 15:08:47,265 INFO L225 Difference]: With dead ends: 182 [2020-07-10 15:08:47,265 INFO L226 Difference]: Without dead ends: 139 [2020-07-10 15:08:47,266 INFO L675 BasicCegarLoop]: 0 DeclaredPredicates, 10 GetRequests, 3 SyntacticMatches, 0 SemanticMatches, 7 ConstructedPredicates, 0 IntricatePredicates, 0 DeprecatedPredicates, 2 ImplicationChecksByTransitivity, 0.1s TimeCoverageRelationStatistics Valid=24, Invalid=48, Unknown=0, NotChecked=0, Total=72 [2020-07-10 15:08:47,267 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 139 states. [2020-07-10 15:08:47,304 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 139 to 86. [2020-07-10 15:08:47,305 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2020-07-10 15:08:47,305 INFO L82 GeneralOperation]: Start isEquivalent. First operand 139 states. Second operand 86 states. [2020-07-10 15:08:47,305 INFO L74 IsIncluded]: Start isIncluded. First operand 139 states. Second operand 86 states. [2020-07-10 15:08:47,305 INFO L87 Difference]: Start difference. First operand 139 states. Second operand 86 states. [2020-07-10 15:08:47,309 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2020-07-10 15:08:47,309 INFO L93 Difference]: Finished difference Result 139 states and 159 transitions. [2020-07-10 15:08:47,309 INFO L276 IsEmpty]: Start isEmpty. Operand 139 states and 159 transitions. [2020-07-10 15:08:47,310 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2020-07-10 15:08:47,310 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2020-07-10 15:08:47,310 INFO L74 IsIncluded]: Start isIncluded. First operand 86 states. Second operand 139 states. [2020-07-10 15:08:47,310 INFO L87 Difference]: Start difference. First operand 86 states. Second operand 139 states. [2020-07-10 15:08:47,314 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2020-07-10 15:08:47,314 INFO L93 Difference]: Finished difference Result 139 states and 159 transitions. [2020-07-10 15:08:47,315 INFO L276 IsEmpty]: Start isEmpty. Operand 139 states and 159 transitions. [2020-07-10 15:08:47,315 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2020-07-10 15:08:47,316 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2020-07-10 15:08:47,316 INFO L88 GeneralOperation]: Finished isEquivalent. [2020-07-10 15:08:47,316 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2020-07-10 15:08:47,316 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 86 states. [2020-07-10 15:08:47,319 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 86 states to 86 states and 98 transitions. [2020-07-10 15:08:47,319 INFO L78 Accepts]: Start accepts. Automaton has 86 states and 98 transitions. Word has length 28 [2020-07-10 15:08:47,320 INFO L84 Accepts]: Finished accepts. word is rejected. [2020-07-10 15:08:47,320 INFO L479 AbstractCegarLoop]: Abstraction has 86 states and 98 transitions. [2020-07-10 15:08:47,320 INFO L480 AbstractCegarLoop]: Interpolant automaton has 6 states. [2020-07-10 15:08:47,320 INFO L276 IsEmpty]: Start isEmpty. Operand 86 states and 98 transitions. [2020-07-10 15:08:47,321 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 29 [2020-07-10 15:08:47,321 INFO L414 BasicCegarLoop]: Found error trace [2020-07-10 15:08:47,321 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] [2020-07-10 15:08:47,322 WARN L516 AbstractCegarLoop]: Destroyed unattended storables created during the last iteration: SelfDestructingSolverStorable10 [2020-07-10 15:08:47,322 INFO L427 AbstractCegarLoop]: === Iteration 12 === [mainErr0ASSERT_VIOLATIONERROR_FUNCTION, mainErr7ASSERT_VIOLATIONERROR_FUNCTION, mainErr8ASSERT_VIOLATIONERROR_FUNCTION, mainErr9ASSERT_VIOLATIONERROR_FUNCTION, mainErr10ASSERT_VIOLATIONERROR_FUNCTION, mainErr12ASSERT_VIOLATIONERROR_FUNCTION, mainErr4ASSERT_VIOLATIONERROR_FUNCTION, mainErr11ASSERT_VIOLATIONERROR_FUNCTION, mainErr2ASSERT_VIOLATIONERROR_FUNCTION, mainErr6ASSERT_VIOLATIONERROR_FUNCTION, mainErr5ASSERT_VIOLATIONERROR_FUNCTION, mainErr3ASSERT_VIOLATIONERROR_FUNCTION, mainErr1ASSERT_VIOLATIONERROR_FUNCTION]=== [2020-07-10 15:08:47,322 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2020-07-10 15:08:47,323 INFO L82 PathProgramCache]: Analyzing trace with hash -941335665, now seen corresponding path program 1 times [2020-07-10 15:08:47,323 INFO L163 FreeRefinementEngine]: Executing refinement strategy CAMEL [2020-07-10 15:08:47,323 INFO L354 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [1778831131] [2020-07-10 15:08:47,323 INFO L94 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2020-07-10 15:08:47,351 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2020-07-10 15:08:47,591 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2020-07-10 15:08:47,595 INFO L280 TraceCheckUtils]: 0: Hoare triple {4998#(and (= |#valid| |old(#valid)|) (= |#NULL.base| |old(#NULL.base)|) (= |#NULL.offset| |old(#NULL.offset)|))} #NULL.base, #NULL.offset := 0, 0;#valid := #valid[0 := 0];assume 0 < #StackHeapBarrier; {4988#true} is VALID [2020-07-10 15:08:47,596 INFO L280 TraceCheckUtils]: 1: Hoare triple {4988#true} assume true; {4988#true} is VALID [2020-07-10 15:08:47,598 INFO L275 TraceCheckUtils]: 2: Hoare quadruple {4988#true} {4988#true} #337#return; {4988#true} is VALID [2020-07-10 15:08:47,601 INFO L263 TraceCheckUtils]: 0: Hoare triple {4988#true} call ULTIMATE.init(); {4998#(and (= |#valid| |old(#valid)|) (= |#NULL.base| |old(#NULL.base)|) (= |#NULL.offset| |old(#NULL.offset)|))} is VALID [2020-07-10 15:08:47,602 INFO L280 TraceCheckUtils]: 1: Hoare triple {4998#(and (= |#valid| |old(#valid)|) (= |#NULL.base| |old(#NULL.base)|) (= |#NULL.offset| |old(#NULL.offset)|))} #NULL.base, #NULL.offset := 0, 0;#valid := #valid[0 := 0];assume 0 < #StackHeapBarrier; {4988#true} is VALID [2020-07-10 15:08:47,602 INFO L280 TraceCheckUtils]: 2: Hoare triple {4988#true} assume true; {4988#true} is VALID [2020-07-10 15:08:47,602 INFO L275 TraceCheckUtils]: 3: Hoare quadruple {4988#true} {4988#true} #337#return; {4988#true} is VALID [2020-07-10 15:08:47,603 INFO L263 TraceCheckUtils]: 4: Hoare triple {4988#true} call #t~ret28 := main(); {4988#true} is VALID [2020-07-10 15:08:47,605 INFO L280 TraceCheckUtils]: 5: Hoare triple {4988#true} call #t~malloc0.base, #t~malloc0.offset := #Ultimate.allocOnHeap(8);~list~0.base, ~list~0.offset := #t~malloc0.base, #t~malloc0.offset;call write~$Pointer$(0, 0, ~list~0.base, ~list~0.offset, 4); {4993#(and (= 0 main_~list~0.offset) (= 1 (select |#valid| main_~list~0.base)))} is VALID [2020-07-10 15:08:47,606 INFO L280 TraceCheckUtils]: 6: Hoare triple {4993#(and (= 0 main_~list~0.offset) (= 1 (select |#valid| main_~list~0.base)))} assume !!(~list~0.base != 0 || ~list~0.offset != 0); {4993#(and (= 0 main_~list~0.offset) (= 1 (select |#valid| main_~list~0.base)))} is VALID [2020-07-10 15:08:47,607 INFO L280 TraceCheckUtils]: 7: Hoare triple {4993#(and (= 0 main_~list~0.offset) (= 1 (select |#valid| main_~list~0.base)))} goto; {4993#(and (= 0 main_~list~0.offset) (= 1 (select |#valid| main_~list~0.base)))} is VALID [2020-07-10 15:08:47,609 INFO L280 TraceCheckUtils]: 8: Hoare triple {4993#(and (= 0 main_~list~0.offset) (= 1 (select |#valid| main_~list~0.base)))} assume -2147483648 <= #t~nondet1 && #t~nondet1 <= 2147483647; {4993#(and (= 0 main_~list~0.offset) (= 1 (select |#valid| main_~list~0.base)))} is VALID [2020-07-10 15:08:47,612 INFO L280 TraceCheckUtils]: 9: Hoare triple {4993#(and (= 0 main_~list~0.offset) (= 1 (select |#valid| main_~list~0.base)))} assume !(0 != #t~nondet1);havoc #t~nondet1;call #t~malloc2.base, #t~malloc2.offset := #Ultimate.allocOnHeap(8);call write~$Pointer$(#t~malloc2.base, #t~malloc2.offset, ~list~0.base, 4 + ~list~0.offset, 4);call #t~mem3.base, #t~mem3.offset := read~$Pointer$(~list~0.base, 4 + ~list~0.offset, 4);call write~$Pointer$(0, 0, #t~mem3.base, #t~mem3.offset, 4);havoc #t~mem3.base, #t~mem3.offset;call #t~mem4.base, #t~mem4.offset := read~$Pointer$(~list~0.base, 4 + ~list~0.offset, 4);call write~$Pointer$(0, 0, #t~mem4.base, 4 + #t~mem4.offset, 4);havoc #t~mem4.base, #t~mem4.offset; {4994#(and (= 0 (select (select |#memory_$Pointer$.offset| main_~list~0.base) (+ main_~list~0.offset 4))) (= 0 main_~list~0.offset) (= 0 (select (select |#memory_$Pointer$.offset| (select (select |#memory_$Pointer$.base| main_~list~0.base) (+ main_~list~0.offset 4))) (+ main_~list~0.offset 4))) (= 0 (select (select |#memory_$Pointer$.base| (select (select |#memory_$Pointer$.base| main_~list~0.base) (+ main_~list~0.offset 4))) (+ main_~list~0.offset 4))))} is VALID [2020-07-10 15:08:47,614 INFO L280 TraceCheckUtils]: 10: Hoare triple {4994#(and (= 0 (select (select |#memory_$Pointer$.offset| main_~list~0.base) (+ main_~list~0.offset 4))) (= 0 main_~list~0.offset) (= 0 (select (select |#memory_$Pointer$.offset| (select (select |#memory_$Pointer$.base| main_~list~0.base) (+ main_~list~0.offset 4))) (+ main_~list~0.offset 4))) (= 0 (select (select |#memory_$Pointer$.base| (select (select |#memory_$Pointer$.base| main_~list~0.base) (+ main_~list~0.offset 4))) (+ main_~list~0.offset 4))))} call #t~mem5.base, #t~mem5.offset := read~$Pointer$(~list~0.base, 4 + ~list~0.offset, 4);#t~short7 := #t~mem5.base != 0 || #t~mem5.offset != 0; {4994#(and (= 0 (select (select |#memory_$Pointer$.offset| main_~list~0.base) (+ main_~list~0.offset 4))) (= 0 main_~list~0.offset) (= 0 (select (select |#memory_$Pointer$.offset| (select (select |#memory_$Pointer$.base| main_~list~0.base) (+ main_~list~0.offset 4))) (+ main_~list~0.offset 4))) (= 0 (select (select |#memory_$Pointer$.base| (select (select |#memory_$Pointer$.base| main_~list~0.base) (+ main_~list~0.offset 4))) (+ main_~list~0.offset 4))))} is VALID [2020-07-10 15:08:47,616 INFO L280 TraceCheckUtils]: 11: Hoare triple {4994#(and (= 0 (select (select |#memory_$Pointer$.offset| main_~list~0.base) (+ main_~list~0.offset 4))) (= 0 main_~list~0.offset) (= 0 (select (select |#memory_$Pointer$.offset| (select (select |#memory_$Pointer$.base| main_~list~0.base) (+ main_~list~0.offset 4))) (+ main_~list~0.offset 4))) (= 0 (select (select |#memory_$Pointer$.base| (select (select |#memory_$Pointer$.base| main_~list~0.base) (+ main_~list~0.offset 4))) (+ main_~list~0.offset 4))))} assume #t~short7; {4994#(and (= 0 (select (select |#memory_$Pointer$.offset| main_~list~0.base) (+ main_~list~0.offset 4))) (= 0 main_~list~0.offset) (= 0 (select (select |#memory_$Pointer$.offset| (select (select |#memory_$Pointer$.base| main_~list~0.base) (+ main_~list~0.offset 4))) (+ main_~list~0.offset 4))) (= 0 (select (select |#memory_$Pointer$.base| (select (select |#memory_$Pointer$.base| main_~list~0.base) (+ main_~list~0.offset 4))) (+ main_~list~0.offset 4))))} is VALID [2020-07-10 15:08:47,617 INFO L280 TraceCheckUtils]: 12: Hoare triple {4994#(and (= 0 (select (select |#memory_$Pointer$.offset| main_~list~0.base) (+ main_~list~0.offset 4))) (= 0 main_~list~0.offset) (= 0 (select (select |#memory_$Pointer$.offset| (select (select |#memory_$Pointer$.base| main_~list~0.base) (+ main_~list~0.offset 4))) (+ main_~list~0.offset 4))) (= 0 (select (select |#memory_$Pointer$.base| (select (select |#memory_$Pointer$.base| main_~list~0.base) (+ main_~list~0.offset 4))) (+ main_~list~0.offset 4))))} assume !!#t~short7;havoc #t~mem5.base, #t~mem5.offset;havoc #t~short7;havoc #t~mem6.base, #t~mem6.offset; {4994#(and (= 0 (select (select |#memory_$Pointer$.offset| main_~list~0.base) (+ main_~list~0.offset 4))) (= 0 main_~list~0.offset) (= 0 (select (select |#memory_$Pointer$.offset| (select (select |#memory_$Pointer$.base| main_~list~0.base) (+ main_~list~0.offset 4))) (+ main_~list~0.offset 4))) (= 0 (select (select |#memory_$Pointer$.base| (select (select |#memory_$Pointer$.base| main_~list~0.base) (+ main_~list~0.offset 4))) (+ main_~list~0.offset 4))))} is VALID [2020-07-10 15:08:47,618 INFO L280 TraceCheckUtils]: 13: Hoare triple {4994#(and (= 0 (select (select |#memory_$Pointer$.offset| main_~list~0.base) (+ main_~list~0.offset 4))) (= 0 main_~list~0.offset) (= 0 (select (select |#memory_$Pointer$.offset| (select (select |#memory_$Pointer$.base| main_~list~0.base) (+ main_~list~0.offset 4))) (+ main_~list~0.offset 4))) (= 0 (select (select |#memory_$Pointer$.base| (select (select |#memory_$Pointer$.base| main_~list~0.base) (+ main_~list~0.offset 4))) (+ main_~list~0.offset 4))))} goto; {4994#(and (= 0 (select (select |#memory_$Pointer$.offset| main_~list~0.base) (+ main_~list~0.offset 4))) (= 0 main_~list~0.offset) (= 0 (select (select |#memory_$Pointer$.offset| (select (select |#memory_$Pointer$.base| main_~list~0.base) (+ main_~list~0.offset 4))) (+ main_~list~0.offset 4))) (= 0 (select (select |#memory_$Pointer$.base| (select (select |#memory_$Pointer$.base| main_~list~0.base) (+ main_~list~0.offset 4))) (+ main_~list~0.offset 4))))} is VALID [2020-07-10 15:08:47,619 INFO L280 TraceCheckUtils]: 14: Hoare triple {4994#(and (= 0 (select (select |#memory_$Pointer$.offset| main_~list~0.base) (+ main_~list~0.offset 4))) (= 0 main_~list~0.offset) (= 0 (select (select |#memory_$Pointer$.offset| (select (select |#memory_$Pointer$.base| main_~list~0.base) (+ main_~list~0.offset 4))) (+ main_~list~0.offset 4))) (= 0 (select (select |#memory_$Pointer$.base| (select (select |#memory_$Pointer$.base| main_~list~0.base) (+ main_~list~0.offset 4))) (+ main_~list~0.offset 4))))} ~end~0.base, ~end~0.offset := ~list~0.base, ~list~0.offset; {4994#(and (= 0 (select (select |#memory_$Pointer$.offset| main_~list~0.base) (+ main_~list~0.offset 4))) (= 0 main_~list~0.offset) (= 0 (select (select |#memory_$Pointer$.offset| (select (select |#memory_$Pointer$.base| main_~list~0.base) (+ main_~list~0.offset 4))) (+ main_~list~0.offset 4))) (= 0 (select (select |#memory_$Pointer$.base| (select (select |#memory_$Pointer$.base| main_~list~0.base) (+ main_~list~0.offset 4))) (+ main_~list~0.offset 4))))} is VALID [2020-07-10 15:08:47,620 INFO L280 TraceCheckUtils]: 15: Hoare triple {4994#(and (= 0 (select (select |#memory_$Pointer$.offset| main_~list~0.base) (+ main_~list~0.offset 4))) (= 0 main_~list~0.offset) (= 0 (select (select |#memory_$Pointer$.offset| (select (select |#memory_$Pointer$.base| main_~list~0.base) (+ main_~list~0.offset 4))) (+ main_~list~0.offset 4))) (= 0 (select (select |#memory_$Pointer$.base| (select (select |#memory_$Pointer$.base| main_~list~0.base) (+ main_~list~0.offset 4))) (+ main_~list~0.offset 4))))} assume -2147483648 <= #t~nondet8 && #t~nondet8 <= 2147483647; {4994#(and (= 0 (select (select |#memory_$Pointer$.offset| main_~list~0.base) (+ main_~list~0.offset 4))) (= 0 main_~list~0.offset) (= 0 (select (select |#memory_$Pointer$.offset| (select (select |#memory_$Pointer$.base| main_~list~0.base) (+ main_~list~0.offset 4))) (+ main_~list~0.offset 4))) (= 0 (select (select |#memory_$Pointer$.base| (select (select |#memory_$Pointer$.base| main_~list~0.base) (+ main_~list~0.offset 4))) (+ main_~list~0.offset 4))))} is VALID [2020-07-10 15:08:47,621 INFO L280 TraceCheckUtils]: 16: Hoare triple {4994#(and (= 0 (select (select |#memory_$Pointer$.offset| main_~list~0.base) (+ main_~list~0.offset 4))) (= 0 main_~list~0.offset) (= 0 (select (select |#memory_$Pointer$.offset| (select (select |#memory_$Pointer$.base| main_~list~0.base) (+ main_~list~0.offset 4))) (+ main_~list~0.offset 4))) (= 0 (select (select |#memory_$Pointer$.base| (select (select |#memory_$Pointer$.base| main_~list~0.base) (+ main_~list~0.offset 4))) (+ main_~list~0.offset 4))))} assume !(0 != #t~nondet8);havoc #t~nondet8; {4994#(and (= 0 (select (select |#memory_$Pointer$.offset| main_~list~0.base) (+ main_~list~0.offset 4))) (= 0 main_~list~0.offset) (= 0 (select (select |#memory_$Pointer$.offset| (select (select |#memory_$Pointer$.base| main_~list~0.base) (+ main_~list~0.offset 4))) (+ main_~list~0.offset 4))) (= 0 (select (select |#memory_$Pointer$.base| (select (select |#memory_$Pointer$.base| main_~list~0.base) (+ main_~list~0.offset 4))) (+ main_~list~0.offset 4))))} is VALID [2020-07-10 15:08:47,623 INFO L280 TraceCheckUtils]: 17: Hoare triple {4994#(and (= 0 (select (select |#memory_$Pointer$.offset| main_~list~0.base) (+ main_~list~0.offset 4))) (= 0 main_~list~0.offset) (= 0 (select (select |#memory_$Pointer$.offset| (select (select |#memory_$Pointer$.base| main_~list~0.base) (+ main_~list~0.offset 4))) (+ main_~list~0.offset 4))) (= 0 (select (select |#memory_$Pointer$.base| (select (select |#memory_$Pointer$.base| main_~list~0.base) (+ main_~list~0.offset 4))) (+ main_~list~0.offset 4))))} ~end~0.base, ~end~0.offset := 0, 0;~end~0.base, ~end~0.offset := ~list~0.base, ~list~0.offset; {4995#(and (= 0 (select (select |#memory_$Pointer$.offset| main_~end~0.base) (+ main_~end~0.offset 4))) (= 0 (select (select |#memory_$Pointer$.offset| (select (select |#memory_$Pointer$.base| main_~end~0.base) (+ main_~end~0.offset 4))) 4)) (= (select (select |#memory_$Pointer$.base| (select (select |#memory_$Pointer$.base| main_~end~0.base) (+ main_~end~0.offset 4))) 4) 0))} is VALID [2020-07-10 15:08:47,625 INFO L280 TraceCheckUtils]: 18: Hoare triple {4995#(and (= 0 (select (select |#memory_$Pointer$.offset| main_~end~0.base) (+ main_~end~0.offset 4))) (= 0 (select (select |#memory_$Pointer$.offset| (select (select |#memory_$Pointer$.base| main_~end~0.base) (+ main_~end~0.offset 4))) 4)) (= (select (select |#memory_$Pointer$.base| (select (select |#memory_$Pointer$.base| main_~end~0.base) (+ main_~end~0.offset 4))) 4) 0))} assume !!(0 != ~end~0.base || 0 != ~end~0.offset); {4995#(and (= 0 (select (select |#memory_$Pointer$.offset| main_~end~0.base) (+ main_~end~0.offset 4))) (= 0 (select (select |#memory_$Pointer$.offset| (select (select |#memory_$Pointer$.base| main_~end~0.base) (+ main_~end~0.offset 4))) 4)) (= (select (select |#memory_$Pointer$.base| (select (select |#memory_$Pointer$.base| main_~end~0.base) (+ main_~end~0.offset 4))) 4) 0))} is VALID [2020-07-10 15:08:47,626 INFO L280 TraceCheckUtils]: 19: Hoare triple {4995#(and (= 0 (select (select |#memory_$Pointer$.offset| main_~end~0.base) (+ main_~end~0.offset 4))) (= 0 (select (select |#memory_$Pointer$.offset| (select (select |#memory_$Pointer$.base| main_~end~0.base) (+ main_~end~0.offset 4))) 4)) (= (select (select |#memory_$Pointer$.base| (select (select |#memory_$Pointer$.base| main_~end~0.base) (+ main_~end~0.offset 4))) 4) 0))} goto; {4995#(and (= 0 (select (select |#memory_$Pointer$.offset| main_~end~0.base) (+ main_~end~0.offset 4))) (= 0 (select (select |#memory_$Pointer$.offset| (select (select |#memory_$Pointer$.base| main_~end~0.base) (+ main_~end~0.offset 4))) 4)) (= (select (select |#memory_$Pointer$.base| (select (select |#memory_$Pointer$.base| main_~end~0.base) (+ main_~end~0.offset 4))) 4) 0))} is VALID [2020-07-10 15:08:47,628 INFO L280 TraceCheckUtils]: 20: Hoare triple {4995#(and (= 0 (select (select |#memory_$Pointer$.offset| main_~end~0.base) (+ main_~end~0.offset 4))) (= 0 (select (select |#memory_$Pointer$.offset| (select (select |#memory_$Pointer$.base| main_~end~0.base) (+ main_~end~0.offset 4))) 4)) (= (select (select |#memory_$Pointer$.base| (select (select |#memory_$Pointer$.base| main_~end~0.base) (+ main_~end~0.offset 4))) 4) 0))} assume !!(0 != ~end~0.base || 0 != ~end~0.offset);~len~0 := 0;call #t~mem18.base, #t~mem18.offset := read~$Pointer$(~end~0.base, 4 + ~end~0.offset, 4);~inner~0.base, ~inner~0.offset := #t~mem18.base, #t~mem18.offset;havoc #t~mem18.base, #t~mem18.offset; {4996#(and (= 0 (select (select |#memory_$Pointer$.offset| main_~inner~0.base) (+ main_~inner~0.offset 4))) (= 0 (select (select |#memory_$Pointer$.base| main_~inner~0.base) (+ main_~inner~0.offset 4))))} is VALID [2020-07-10 15:08:47,629 INFO L280 TraceCheckUtils]: 21: Hoare triple {4996#(and (= 0 (select (select |#memory_$Pointer$.offset| main_~inner~0.base) (+ main_~inner~0.offset 4))) (= 0 (select (select |#memory_$Pointer$.base| main_~inner~0.base) (+ main_~inner~0.offset 4))))} assume !!(0 != ~inner~0.base || 0 != ~inner~0.offset); {4996#(and (= 0 (select (select |#memory_$Pointer$.offset| main_~inner~0.base) (+ main_~inner~0.offset 4))) (= 0 (select (select |#memory_$Pointer$.base| main_~inner~0.base) (+ main_~inner~0.offset 4))))} is VALID [2020-07-10 15:08:47,631 INFO L280 TraceCheckUtils]: 22: Hoare triple {4996#(and (= 0 (select (select |#memory_$Pointer$.offset| main_~inner~0.base) (+ main_~inner~0.offset 4))) (= 0 (select (select |#memory_$Pointer$.base| main_~inner~0.base) (+ main_~inner~0.offset 4))))} assume 0 == ~len~0;~len~0 := 1; {4996#(and (= 0 (select (select |#memory_$Pointer$.offset| main_~inner~0.base) (+ main_~inner~0.offset 4))) (= 0 (select (select |#memory_$Pointer$.base| main_~inner~0.base) (+ main_~inner~0.offset 4))))} is VALID [2020-07-10 15:08:47,632 INFO L280 TraceCheckUtils]: 23: Hoare triple {4996#(and (= 0 (select (select |#memory_$Pointer$.offset| main_~inner~0.base) (+ main_~inner~0.offset 4))) (= 0 (select (select |#memory_$Pointer$.base| main_~inner~0.base) (+ main_~inner~0.offset 4))))} assume !!(0 != ~inner~0.base || 0 != ~inner~0.offset); {4996#(and (= 0 (select (select |#memory_$Pointer$.offset| main_~inner~0.base) (+ main_~inner~0.offset 4))) (= 0 (select (select |#memory_$Pointer$.base| main_~inner~0.base) (+ main_~inner~0.offset 4))))} is VALID [2020-07-10 15:08:47,637 INFO L280 TraceCheckUtils]: 24: Hoare triple {4996#(and (= 0 (select (select |#memory_$Pointer$.offset| main_~inner~0.base) (+ main_~inner~0.offset 4))) (= 0 (select (select |#memory_$Pointer$.base| main_~inner~0.base) (+ main_~inner~0.offset 4))))} goto; {4996#(and (= 0 (select (select |#memory_$Pointer$.offset| main_~inner~0.base) (+ main_~inner~0.offset 4))) (= 0 (select (select |#memory_$Pointer$.base| main_~inner~0.base) (+ main_~inner~0.offset 4))))} is VALID [2020-07-10 15:08:47,639 INFO L280 TraceCheckUtils]: 25: Hoare triple {4996#(and (= 0 (select (select |#memory_$Pointer$.offset| main_~inner~0.base) (+ main_~inner~0.offset 4))) (= 0 (select (select |#memory_$Pointer$.base| main_~inner~0.base) (+ main_~inner~0.offset 4))))} call #t~mem19.base, #t~mem19.offset := read~$Pointer$(~inner~0.base, 4 + ~inner~0.offset, 4); {4997#(and (= 0 |main_#t~mem19.offset|) (= 0 |main_#t~mem19.base|))} is VALID [2020-07-10 15:08:47,639 INFO L280 TraceCheckUtils]: 26: Hoare triple {4997#(and (= 0 |main_#t~mem19.offset|) (= 0 |main_#t~mem19.base|))} assume !(0 == #t~mem19.base && 0 == #t~mem19.offset);havoc #t~mem19.base, #t~mem19.offset; {4989#false} is VALID [2020-07-10 15:08:47,640 INFO L280 TraceCheckUtils]: 27: Hoare triple {4989#false} assume !false; {4989#false} is VALID [2020-07-10 15:08:47,646 INFO L134 CoverageAnalysis]: Checked inductivity of 0 backedges. 0 proven. 0 refuted. 0 times theorem prover too weak. 0 trivial. 0 not checked. [2020-07-10 15:08:47,646 INFO L354 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleSmtInterpolCraig [1778831131] [2020-07-10 15:08:47,647 INFO L220 FreeRefinementEngine]: Constructing automaton from 1 perfect and 0 imperfect interpolant sequences. [2020-07-10 15:08:47,647 INFO L233 FreeRefinementEngine]: Number of different interpolants: perfect sequences [8] imperfect sequences [] total 8 [2020-07-10 15:08:47,647 INFO L156 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [925842991] [2020-07-10 15:08:47,648 INFO L78 Accepts]: Start accepts. Automaton has 8 states. Word has length 28 [2020-07-10 15:08:47,648 INFO L84 Accepts]: Finished accepts. word is accepted. [2020-07-10 15:08:47,648 INFO L86 InductivityCheck]: Starting indutivity check of a Floyd-Hoare automaton with 8 states. [2020-07-10 15:08:47,692 INFO L119 InductivityCheck]: Floyd-Hoare automaton has 28 edges. 28 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2020-07-10 15:08:47,693 INFO L459 AbstractCegarLoop]: Interpolant automaton has 8 states [2020-07-10 15:08:47,693 INFO L143 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy CAMEL [2020-07-10 15:08:47,693 INFO L142 InterpolantAutomaton]: Constructing interpolant automaton starting with 8 interpolants. [2020-07-10 15:08:47,693 INFO L144 InterpolantAutomaton]: CoverageRelationStatistics Valid=13, Invalid=43, Unknown=0, NotChecked=0, Total=56 [2020-07-10 15:08:47,694 INFO L87 Difference]: Start difference. First operand 86 states and 98 transitions. Second operand 8 states. [2020-07-10 15:08:49,711 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2020-07-10 15:08:49,711 INFO L93 Difference]: Finished difference Result 231 states and 258 transitions. [2020-07-10 15:08:49,711 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 12 states. [2020-07-10 15:08:49,712 INFO L78 Accepts]: Start accepts. Automaton has 8 states. Word has length 28 [2020-07-10 15:08:49,712 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2020-07-10 15:08:49,712 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 8 states. [2020-07-10 15:08:49,716 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 12 states to 12 states and 241 transitions. [2020-07-10 15:08:49,716 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 8 states. [2020-07-10 15:08:49,718 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 12 states to 12 states and 241 transitions. [2020-07-10 15:08:49,718 INFO L86 InductivityCheck]: Starting indutivity check of a Floyd-Hoare automaton with 12 states and 241 transitions. [2020-07-10 15:08:50,091 INFO L119 InductivityCheck]: Floyd-Hoare automaton has 241 edges. 241 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2020-07-10 15:08:50,098 INFO L225 Difference]: With dead ends: 231 [2020-07-10 15:08:50,098 INFO L226 Difference]: Without dead ends: 229 [2020-07-10 15:08:50,099 INFO L675 BasicCegarLoop]: 0 DeclaredPredicates, 15 GetRequests, 3 SyntacticMatches, 0 SemanticMatches, 12 ConstructedPredicates, 0 IntricatePredicates, 0 DeprecatedPredicates, 9 ImplicationChecksByTransitivity, 0.3s TimeCoverageRelationStatistics Valid=56, Invalid=126, Unknown=0, NotChecked=0, Total=182 [2020-07-10 15:08:50,099 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 229 states. [2020-07-10 15:08:50,158 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 229 to 98. [2020-07-10 15:08:50,158 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2020-07-10 15:08:50,158 INFO L82 GeneralOperation]: Start isEquivalent. First operand 229 states. Second operand 98 states. [2020-07-10 15:08:50,158 INFO L74 IsIncluded]: Start isIncluded. First operand 229 states. Second operand 98 states. [2020-07-10 15:08:50,158 INFO L87 Difference]: Start difference. First operand 229 states. Second operand 98 states. [2020-07-10 15:08:50,164 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2020-07-10 15:08:50,164 INFO L93 Difference]: Finished difference Result 229 states and 256 transitions. [2020-07-10 15:08:50,164 INFO L276 IsEmpty]: Start isEmpty. Operand 229 states and 256 transitions. [2020-07-10 15:08:50,165 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2020-07-10 15:08:50,165 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2020-07-10 15:08:50,165 INFO L74 IsIncluded]: Start isIncluded. First operand 98 states. Second operand 229 states. [2020-07-10 15:08:50,165 INFO L87 Difference]: Start difference. First operand 98 states. Second operand 229 states. [2020-07-10 15:08:50,170 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2020-07-10 15:08:50,170 INFO L93 Difference]: Finished difference Result 229 states and 256 transitions. [2020-07-10 15:08:50,170 INFO L276 IsEmpty]: Start isEmpty. Operand 229 states and 256 transitions. [2020-07-10 15:08:50,171 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2020-07-10 15:08:50,171 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2020-07-10 15:08:50,171 INFO L88 GeneralOperation]: Finished isEquivalent. [2020-07-10 15:08:50,172 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2020-07-10 15:08:50,172 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 98 states. [2020-07-10 15:08:50,174 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 98 states to 98 states and 112 transitions. [2020-07-10 15:08:50,174 INFO L78 Accepts]: Start accepts. Automaton has 98 states and 112 transitions. Word has length 28 [2020-07-10 15:08:50,174 INFO L84 Accepts]: Finished accepts. word is rejected. [2020-07-10 15:08:50,174 INFO L479 AbstractCegarLoop]: Abstraction has 98 states and 112 transitions. [2020-07-10 15:08:50,174 INFO L480 AbstractCegarLoop]: Interpolant automaton has 8 states. [2020-07-10 15:08:50,174 INFO L276 IsEmpty]: Start isEmpty. Operand 98 states and 112 transitions. [2020-07-10 15:08:50,177 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 31 [2020-07-10 15:08:50,177 INFO L414 BasicCegarLoop]: Found error trace [2020-07-10 15:08:50,178 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] [2020-07-10 15:08:50,178 WARN L516 AbstractCegarLoop]: Destroyed unattended storables created during the last iteration: SelfDestructingSolverStorable11 [2020-07-10 15:08:50,179 INFO L427 AbstractCegarLoop]: === Iteration 13 === [mainErr0ASSERT_VIOLATIONERROR_FUNCTION, mainErr7ASSERT_VIOLATIONERROR_FUNCTION, mainErr8ASSERT_VIOLATIONERROR_FUNCTION, mainErr9ASSERT_VIOLATIONERROR_FUNCTION, mainErr10ASSERT_VIOLATIONERROR_FUNCTION, mainErr12ASSERT_VIOLATIONERROR_FUNCTION, mainErr4ASSERT_VIOLATIONERROR_FUNCTION, mainErr11ASSERT_VIOLATIONERROR_FUNCTION, mainErr2ASSERT_VIOLATIONERROR_FUNCTION, mainErr6ASSERT_VIOLATIONERROR_FUNCTION, mainErr5ASSERT_VIOLATIONERROR_FUNCTION, mainErr3ASSERT_VIOLATIONERROR_FUNCTION, mainErr1ASSERT_VIOLATIONERROR_FUNCTION]=== [2020-07-10 15:08:50,179 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2020-07-10 15:08:50,179 INFO L82 PathProgramCache]: Analyzing trace with hash 1932526751, now seen corresponding path program 1 times [2020-07-10 15:08:50,179 INFO L163 FreeRefinementEngine]: Executing refinement strategy CAMEL [2020-07-10 15:08:50,180 INFO L354 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [1065828489] [2020-07-10 15:08:50,180 INFO L94 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2020-07-10 15:08:50,195 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2020-07-10 15:08:50,268 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2020-07-10 15:08:50,271 INFO L280 TraceCheckUtils]: 0: Hoare triple {5848#(and (= |#valid| |old(#valid)|) (= |#NULL.base| |old(#NULL.base)|) (= |#NULL.offset| |old(#NULL.offset)|))} #NULL.base, #NULL.offset := 0, 0;#valid := #valid[0 := 0];assume 0 < #StackHeapBarrier; {5841#true} is VALID [2020-07-10 15:08:50,272 INFO L280 TraceCheckUtils]: 1: Hoare triple {5841#true} assume true; {5841#true} is VALID [2020-07-10 15:08:50,272 INFO L275 TraceCheckUtils]: 2: Hoare quadruple {5841#true} {5841#true} #337#return; {5841#true} is VALID [2020-07-10 15:08:50,273 INFO L263 TraceCheckUtils]: 0: Hoare triple {5841#true} call ULTIMATE.init(); {5848#(and (= |#valid| |old(#valid)|) (= |#NULL.base| |old(#NULL.base)|) (= |#NULL.offset| |old(#NULL.offset)|))} is VALID [2020-07-10 15:08:50,273 INFO L280 TraceCheckUtils]: 1: Hoare triple {5848#(and (= |#valid| |old(#valid)|) (= |#NULL.base| |old(#NULL.base)|) (= |#NULL.offset| |old(#NULL.offset)|))} #NULL.base, #NULL.offset := 0, 0;#valid := #valid[0 := 0];assume 0 < #StackHeapBarrier; {5841#true} is VALID [2020-07-10 15:08:50,273 INFO L280 TraceCheckUtils]: 2: Hoare triple {5841#true} assume true; {5841#true} is VALID [2020-07-10 15:08:50,273 INFO L275 TraceCheckUtils]: 3: Hoare quadruple {5841#true} {5841#true} #337#return; {5841#true} is VALID [2020-07-10 15:08:50,274 INFO L263 TraceCheckUtils]: 4: Hoare triple {5841#true} call #t~ret28 := main(); {5841#true} is VALID [2020-07-10 15:08:50,274 INFO L280 TraceCheckUtils]: 5: Hoare triple {5841#true} call #t~malloc0.base, #t~malloc0.offset := #Ultimate.allocOnHeap(8);~list~0.base, ~list~0.offset := #t~malloc0.base, #t~malloc0.offset;call write~$Pointer$(0, 0, ~list~0.base, ~list~0.offset, 4); {5841#true} is VALID [2020-07-10 15:08:50,274 INFO L280 TraceCheckUtils]: 6: Hoare triple {5841#true} assume !!(~list~0.base != 0 || ~list~0.offset != 0); {5841#true} is VALID [2020-07-10 15:08:50,274 INFO L280 TraceCheckUtils]: 7: Hoare triple {5841#true} goto; {5841#true} is VALID [2020-07-10 15:08:50,274 INFO L280 TraceCheckUtils]: 8: Hoare triple {5841#true} assume -2147483648 <= #t~nondet1 && #t~nondet1 <= 2147483647; {5841#true} is VALID [2020-07-10 15:08:50,276 INFO L280 TraceCheckUtils]: 9: Hoare triple {5841#true} assume 0 != #t~nondet1;havoc #t~nondet1;call write~$Pointer$(0, 0, ~list~0.base, 4 + ~list~0.offset, 4); {5846#(and (= 0 (select (select |#memory_$Pointer$.offset| main_~list~0.base) (+ main_~list~0.offset 4))) (= 0 (select (select |#memory_$Pointer$.base| main_~list~0.base) (+ main_~list~0.offset 4))))} is VALID [2020-07-10 15:08:50,277 INFO L280 TraceCheckUtils]: 10: Hoare triple {5846#(and (= 0 (select (select |#memory_$Pointer$.offset| main_~list~0.base) (+ main_~list~0.offset 4))) (= 0 (select (select |#memory_$Pointer$.base| main_~list~0.base) (+ main_~list~0.offset 4))))} call #t~mem5.base, #t~mem5.offset := read~$Pointer$(~list~0.base, 4 + ~list~0.offset, 4);#t~short7 := #t~mem5.base != 0 || #t~mem5.offset != 0; {5846#(and (= 0 (select (select |#memory_$Pointer$.offset| main_~list~0.base) (+ main_~list~0.offset 4))) (= 0 (select (select |#memory_$Pointer$.base| main_~list~0.base) (+ main_~list~0.offset 4))))} is VALID [2020-07-10 15:08:50,277 INFO L280 TraceCheckUtils]: 11: Hoare triple {5846#(and (= 0 (select (select |#memory_$Pointer$.offset| main_~list~0.base) (+ main_~list~0.offset 4))) (= 0 (select (select |#memory_$Pointer$.base| main_~list~0.base) (+ main_~list~0.offset 4))))} assume !#t~short7;call #t~mem6.base, #t~mem6.offset := read~$Pointer$(~list~0.base, 4 + ~list~0.offset, 4);#t~short7 := #t~mem6.base == 0 && #t~mem6.offset == 0; {5846#(and (= 0 (select (select |#memory_$Pointer$.offset| main_~list~0.base) (+ main_~list~0.offset 4))) (= 0 (select (select |#memory_$Pointer$.base| main_~list~0.base) (+ main_~list~0.offset 4))))} is VALID [2020-07-10 15:08:50,278 INFO L280 TraceCheckUtils]: 12: Hoare triple {5846#(and (= 0 (select (select |#memory_$Pointer$.offset| main_~list~0.base) (+ main_~list~0.offset 4))) (= 0 (select (select |#memory_$Pointer$.base| main_~list~0.base) (+ main_~list~0.offset 4))))} assume !!#t~short7;havoc #t~mem5.base, #t~mem5.offset;havoc #t~short7;havoc #t~mem6.base, #t~mem6.offset; {5846#(and (= 0 (select (select |#memory_$Pointer$.offset| main_~list~0.base) (+ main_~list~0.offset 4))) (= 0 (select (select |#memory_$Pointer$.base| main_~list~0.base) (+ main_~list~0.offset 4))))} is VALID [2020-07-10 15:08:50,279 INFO L280 TraceCheckUtils]: 13: Hoare triple {5846#(and (= 0 (select (select |#memory_$Pointer$.offset| main_~list~0.base) (+ main_~list~0.offset 4))) (= 0 (select (select |#memory_$Pointer$.base| main_~list~0.base) (+ main_~list~0.offset 4))))} goto; {5846#(and (= 0 (select (select |#memory_$Pointer$.offset| main_~list~0.base) (+ main_~list~0.offset 4))) (= 0 (select (select |#memory_$Pointer$.base| main_~list~0.base) (+ main_~list~0.offset 4))))} is VALID [2020-07-10 15:08:50,280 INFO L280 TraceCheckUtils]: 14: Hoare triple {5846#(and (= 0 (select (select |#memory_$Pointer$.offset| main_~list~0.base) (+ main_~list~0.offset 4))) (= 0 (select (select |#memory_$Pointer$.base| main_~list~0.base) (+ main_~list~0.offset 4))))} ~end~0.base, ~end~0.offset := ~list~0.base, ~list~0.offset; {5846#(and (= 0 (select (select |#memory_$Pointer$.offset| main_~list~0.base) (+ main_~list~0.offset 4))) (= 0 (select (select |#memory_$Pointer$.base| main_~list~0.base) (+ main_~list~0.offset 4))))} is VALID [2020-07-10 15:08:50,280 INFO L280 TraceCheckUtils]: 15: Hoare triple {5846#(and (= 0 (select (select |#memory_$Pointer$.offset| main_~list~0.base) (+ main_~list~0.offset 4))) (= 0 (select (select |#memory_$Pointer$.base| main_~list~0.base) (+ main_~list~0.offset 4))))} assume -2147483648 <= #t~nondet8 && #t~nondet8 <= 2147483647; {5846#(and (= 0 (select (select |#memory_$Pointer$.offset| main_~list~0.base) (+ main_~list~0.offset 4))) (= 0 (select (select |#memory_$Pointer$.base| main_~list~0.base) (+ main_~list~0.offset 4))))} is VALID [2020-07-10 15:08:50,281 INFO L280 TraceCheckUtils]: 16: Hoare triple {5846#(and (= 0 (select (select |#memory_$Pointer$.offset| main_~list~0.base) (+ main_~list~0.offset 4))) (= 0 (select (select |#memory_$Pointer$.base| main_~list~0.base) (+ main_~list~0.offset 4))))} assume !(0 != #t~nondet8);havoc #t~nondet8; {5846#(and (= 0 (select (select |#memory_$Pointer$.offset| main_~list~0.base) (+ main_~list~0.offset 4))) (= 0 (select (select |#memory_$Pointer$.base| main_~list~0.base) (+ main_~list~0.offset 4))))} is VALID [2020-07-10 15:08:50,282 INFO L280 TraceCheckUtils]: 17: Hoare triple {5846#(and (= 0 (select (select |#memory_$Pointer$.offset| main_~list~0.base) (+ main_~list~0.offset 4))) (= 0 (select (select |#memory_$Pointer$.base| main_~list~0.base) (+ main_~list~0.offset 4))))} ~end~0.base, ~end~0.offset := 0, 0;~end~0.base, ~end~0.offset := ~list~0.base, ~list~0.offset; {5846#(and (= 0 (select (select |#memory_$Pointer$.offset| main_~list~0.base) (+ main_~list~0.offset 4))) (= 0 (select (select |#memory_$Pointer$.base| main_~list~0.base) (+ main_~list~0.offset 4))))} is VALID [2020-07-10 15:08:50,282 INFO L280 TraceCheckUtils]: 18: Hoare triple {5846#(and (= 0 (select (select |#memory_$Pointer$.offset| main_~list~0.base) (+ main_~list~0.offset 4))) (= 0 (select (select |#memory_$Pointer$.base| main_~list~0.base) (+ main_~list~0.offset 4))))} assume !!(0 != ~end~0.base || 0 != ~end~0.offset); {5846#(and (= 0 (select (select |#memory_$Pointer$.offset| main_~list~0.base) (+ main_~list~0.offset 4))) (= 0 (select (select |#memory_$Pointer$.base| main_~list~0.base) (+ main_~list~0.offset 4))))} is VALID [2020-07-10 15:08:50,283 INFO L280 TraceCheckUtils]: 19: Hoare triple {5846#(and (= 0 (select (select |#memory_$Pointer$.offset| main_~list~0.base) (+ main_~list~0.offset 4))) (= 0 (select (select |#memory_$Pointer$.base| main_~list~0.base) (+ main_~list~0.offset 4))))} goto; {5846#(and (= 0 (select (select |#memory_$Pointer$.offset| main_~list~0.base) (+ main_~list~0.offset 4))) (= 0 (select (select |#memory_$Pointer$.base| main_~list~0.base) (+ main_~list~0.offset 4))))} is VALID [2020-07-10 15:08:50,284 INFO L280 TraceCheckUtils]: 20: Hoare triple {5846#(and (= 0 (select (select |#memory_$Pointer$.offset| main_~list~0.base) (+ main_~list~0.offset 4))) (= 0 (select (select |#memory_$Pointer$.base| main_~list~0.base) (+ main_~list~0.offset 4))))} assume !!(0 != ~end~0.base || 0 != ~end~0.offset);~len~0 := 0;call #t~mem18.base, #t~mem18.offset := read~$Pointer$(~end~0.base, 4 + ~end~0.offset, 4);~inner~0.base, ~inner~0.offset := #t~mem18.base, #t~mem18.offset;havoc #t~mem18.base, #t~mem18.offset; {5846#(and (= 0 (select (select |#memory_$Pointer$.offset| main_~list~0.base) (+ main_~list~0.offset 4))) (= 0 (select (select |#memory_$Pointer$.base| main_~list~0.base) (+ main_~list~0.offset 4))))} is VALID [2020-07-10 15:08:50,285 INFO L280 TraceCheckUtils]: 21: Hoare triple {5846#(and (= 0 (select (select |#memory_$Pointer$.offset| main_~list~0.base) (+ main_~list~0.offset 4))) (= 0 (select (select |#memory_$Pointer$.base| main_~list~0.base) (+ main_~list~0.offset 4))))} assume !(0 != ~inner~0.base || 0 != ~inner~0.offset); {5846#(and (= 0 (select (select |#memory_$Pointer$.offset| main_~list~0.base) (+ main_~list~0.offset 4))) (= 0 (select (select |#memory_$Pointer$.base| main_~list~0.base) (+ main_~list~0.offset 4))))} is VALID [2020-07-10 15:08:50,285 INFO L280 TraceCheckUtils]: 22: Hoare triple {5846#(and (= 0 (select (select |#memory_$Pointer$.offset| main_~list~0.base) (+ main_~list~0.offset 4))) (= 0 (select (select |#memory_$Pointer$.base| main_~list~0.base) (+ main_~list~0.offset 4))))} assume !!(~len~0 <= 1); {5846#(and (= 0 (select (select |#memory_$Pointer$.offset| main_~list~0.base) (+ main_~list~0.offset 4))) (= 0 (select (select |#memory_$Pointer$.base| main_~list~0.base) (+ main_~list~0.offset 4))))} is VALID [2020-07-10 15:08:50,287 INFO L280 TraceCheckUtils]: 23: Hoare triple {5846#(and (= 0 (select (select |#memory_$Pointer$.offset| main_~list~0.base) (+ main_~list~0.offset 4))) (= 0 (select (select |#memory_$Pointer$.base| main_~list~0.base) (+ main_~list~0.offset 4))))} goto; {5846#(and (= 0 (select (select |#memory_$Pointer$.offset| main_~list~0.base) (+ main_~list~0.offset 4))) (= 0 (select (select |#memory_$Pointer$.base| main_~list~0.base) (+ main_~list~0.offset 4))))} is VALID [2020-07-10 15:08:50,287 INFO L280 TraceCheckUtils]: 24: Hoare triple {5846#(and (= 0 (select (select |#memory_$Pointer$.offset| main_~list~0.base) (+ main_~list~0.offset 4))) (= 0 (select (select |#memory_$Pointer$.base| main_~list~0.base) (+ main_~list~0.offset 4))))} call #t~mem23.base, #t~mem23.offset := read~$Pointer$(~end~0.base, ~end~0.offset, 4);~end~0.base, ~end~0.offset := #t~mem23.base, #t~mem23.offset;havoc #t~mem23.base, #t~mem23.offset; {5846#(and (= 0 (select (select |#memory_$Pointer$.offset| main_~list~0.base) (+ main_~list~0.offset 4))) (= 0 (select (select |#memory_$Pointer$.base| main_~list~0.base) (+ main_~list~0.offset 4))))} is VALID [2020-07-10 15:08:50,288 INFO L280 TraceCheckUtils]: 25: Hoare triple {5846#(and (= 0 (select (select |#memory_$Pointer$.offset| main_~list~0.base) (+ main_~list~0.offset 4))) (= 0 (select (select |#memory_$Pointer$.base| main_~list~0.base) (+ main_~list~0.offset 4))))} assume !(0 != ~end~0.base || 0 != ~end~0.offset); {5846#(and (= 0 (select (select |#memory_$Pointer$.offset| main_~list~0.base) (+ main_~list~0.offset 4))) (= 0 (select (select |#memory_$Pointer$.base| main_~list~0.base) (+ main_~list~0.offset 4))))} is VALID [2020-07-10 15:08:50,289 INFO L280 TraceCheckUtils]: 26: Hoare triple {5846#(and (= 0 (select (select |#memory_$Pointer$.offset| main_~list~0.base) (+ main_~list~0.offset 4))) (= 0 (select (select |#memory_$Pointer$.base| main_~list~0.base) (+ main_~list~0.offset 4))))} assume !!(0 != ~list~0.base || 0 != ~list~0.offset);call #t~mem24.base, #t~mem24.offset := read~$Pointer$(~list~0.base, 4 + ~list~0.offset, 4);~end~0.base, ~end~0.offset := #t~mem24.base, #t~mem24.offset;havoc #t~mem24.base, #t~mem24.offset; {5847#(and (= 0 main_~end~0.base) (= 0 main_~end~0.offset))} is VALID [2020-07-10 15:08:50,290 INFO L280 TraceCheckUtils]: 27: Hoare triple {5847#(and (= 0 main_~end~0.base) (= 0 main_~end~0.offset))} assume 0 != ~end~0.base || 0 != ~end~0.offset; {5842#false} is VALID [2020-07-10 15:08:50,290 INFO L280 TraceCheckUtils]: 28: Hoare triple {5842#false} assume !(0 != ~end~0.base || 0 != ~end~0.offset); {5842#false} is VALID [2020-07-10 15:08:50,290 INFO L280 TraceCheckUtils]: 29: Hoare triple {5842#false} assume !false; {5842#false} is VALID [2020-07-10 15:08:50,293 INFO L134 CoverageAnalysis]: Checked inductivity of 1 backedges. 0 proven. 0 refuted. 0 times theorem prover too weak. 1 trivial. 0 not checked. [2020-07-10 15:08:50,294 INFO L354 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleSmtInterpolCraig [1065828489] [2020-07-10 15:08:50,294 INFO L220 FreeRefinementEngine]: Constructing automaton from 1 perfect and 0 imperfect interpolant sequences. [2020-07-10 15:08:50,294 INFO L233 FreeRefinementEngine]: Number of different interpolants: perfect sequences [5] imperfect sequences [] total 5 [2020-07-10 15:08:50,294 INFO L156 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [1591925337] [2020-07-10 15:08:50,295 INFO L78 Accepts]: Start accepts. Automaton has 5 states. Word has length 30 [2020-07-10 15:08:50,295 INFO L84 Accepts]: Finished accepts. word is accepted. [2020-07-10 15:08:50,295 INFO L86 InductivityCheck]: Starting indutivity check of a Floyd-Hoare automaton with 5 states. [2020-07-10 15:08:50,331 INFO L119 InductivityCheck]: Floyd-Hoare automaton has 30 edges. 30 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2020-07-10 15:08:50,331 INFO L459 AbstractCegarLoop]: Interpolant automaton has 5 states [2020-07-10 15:08:50,332 INFO L143 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy CAMEL [2020-07-10 15:08:50,332 INFO L142 InterpolantAutomaton]: Constructing interpolant automaton starting with 5 interpolants. [2020-07-10 15:08:50,332 INFO L144 InterpolantAutomaton]: CoverageRelationStatistics Valid=7, Invalid=13, Unknown=0, NotChecked=0, Total=20 [2020-07-10 15:08:50,332 INFO L87 Difference]: Start difference. First operand 98 states and 112 transitions. Second operand 5 states. [2020-07-10 15:08:50,936 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2020-07-10 15:08:50,936 INFO L93 Difference]: Finished difference Result 145 states and 166 transitions. [2020-07-10 15:08:50,936 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 6 states. [2020-07-10 15:08:50,936 INFO L78 Accepts]: Start accepts. Automaton has 5 states. Word has length 30 [2020-07-10 15:08:50,936 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2020-07-10 15:08:50,937 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 5 states. [2020-07-10 15:08:50,938 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 6 states to 6 states and 141 transitions. [2020-07-10 15:08:50,938 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 5 states. [2020-07-10 15:08:50,940 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 6 states to 6 states and 141 transitions. [2020-07-10 15:08:50,940 INFO L86 InductivityCheck]: Starting indutivity check of a Floyd-Hoare automaton with 6 states and 141 transitions. [2020-07-10 15:08:51,112 INFO L119 InductivityCheck]: Floyd-Hoare automaton has 141 edges. 141 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2020-07-10 15:08:51,114 INFO L225 Difference]: With dead ends: 145 [2020-07-10 15:08:51,115 INFO L226 Difference]: Without dead ends: 127 [2020-07-10 15:08:51,115 INFO L675 BasicCegarLoop]: 0 DeclaredPredicates, 7 GetRequests, 3 SyntacticMatches, 0 SemanticMatches, 4 ConstructedPredicates, 0 IntricatePredicates, 0 DeprecatedPredicates, 0 ImplicationChecksByTransitivity, 0.0s TimeCoverageRelationStatistics Valid=11, Invalid=19, Unknown=0, NotChecked=0, Total=30 [2020-07-10 15:08:51,116 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 127 states. [2020-07-10 15:08:51,200 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 127 to 119. [2020-07-10 15:08:51,201 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2020-07-10 15:08:51,201 INFO L82 GeneralOperation]: Start isEquivalent. First operand 127 states. Second operand 119 states. [2020-07-10 15:08:51,201 INFO L74 IsIncluded]: Start isIncluded. First operand 127 states. Second operand 119 states. [2020-07-10 15:08:51,201 INFO L87 Difference]: Start difference. First operand 127 states. Second operand 119 states. [2020-07-10 15:08:51,204 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2020-07-10 15:08:51,205 INFO L93 Difference]: Finished difference Result 127 states and 146 transitions. [2020-07-10 15:08:51,205 INFO L276 IsEmpty]: Start isEmpty. Operand 127 states and 146 transitions. [2020-07-10 15:08:51,205 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2020-07-10 15:08:51,206 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2020-07-10 15:08:51,206 INFO L74 IsIncluded]: Start isIncluded. First operand 119 states. Second operand 127 states. [2020-07-10 15:08:51,206 INFO L87 Difference]: Start difference. First operand 119 states. Second operand 127 states. [2020-07-10 15:08:51,210 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2020-07-10 15:08:51,210 INFO L93 Difference]: Finished difference Result 127 states and 146 transitions. [2020-07-10 15:08:51,210 INFO L276 IsEmpty]: Start isEmpty. Operand 127 states and 146 transitions. [2020-07-10 15:08:51,211 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2020-07-10 15:08:51,211 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2020-07-10 15:08:51,211 INFO L88 GeneralOperation]: Finished isEquivalent. [2020-07-10 15:08:51,211 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2020-07-10 15:08:51,212 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 119 states. [2020-07-10 15:08:51,215 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 119 states to 119 states and 141 transitions. [2020-07-10 15:08:51,215 INFO L78 Accepts]: Start accepts. Automaton has 119 states and 141 transitions. Word has length 30 [2020-07-10 15:08:51,215 INFO L84 Accepts]: Finished accepts. word is rejected. [2020-07-10 15:08:51,216 INFO L479 AbstractCegarLoop]: Abstraction has 119 states and 141 transitions. [2020-07-10 15:08:51,216 INFO L480 AbstractCegarLoop]: Interpolant automaton has 5 states. [2020-07-10 15:08:51,216 INFO L276 IsEmpty]: Start isEmpty. Operand 119 states and 141 transitions. [2020-07-10 15:08:51,217 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 31 [2020-07-10 15:08:51,217 INFO L414 BasicCegarLoop]: Found error trace [2020-07-10 15:08:51,217 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] [2020-07-10 15:08:51,217 WARN L516 AbstractCegarLoop]: Destroyed unattended storables created during the last iteration: SelfDestructingSolverStorable12 [2020-07-10 15:08:51,217 INFO L427 AbstractCegarLoop]: === Iteration 14 === [mainErr0ASSERT_VIOLATIONERROR_FUNCTION, mainErr7ASSERT_VIOLATIONERROR_FUNCTION, mainErr8ASSERT_VIOLATIONERROR_FUNCTION, mainErr9ASSERT_VIOLATIONERROR_FUNCTION, mainErr10ASSERT_VIOLATIONERROR_FUNCTION, mainErr12ASSERT_VIOLATIONERROR_FUNCTION, mainErr4ASSERT_VIOLATIONERROR_FUNCTION, mainErr11ASSERT_VIOLATIONERROR_FUNCTION, mainErr2ASSERT_VIOLATIONERROR_FUNCTION, mainErr6ASSERT_VIOLATIONERROR_FUNCTION, mainErr5ASSERT_VIOLATIONERROR_FUNCTION, mainErr3ASSERT_VIOLATIONERROR_FUNCTION, mainErr1ASSERT_VIOLATIONERROR_FUNCTION]=== [2020-07-10 15:08:51,218 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2020-07-10 15:08:51,218 INFO L82 PathProgramCache]: Analyzing trace with hash -250794977, now seen corresponding path program 1 times [2020-07-10 15:08:51,218 INFO L163 FreeRefinementEngine]: Executing refinement strategy CAMEL [2020-07-10 15:08:51,225 INFO L354 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [1156294646] [2020-07-10 15:08:51,225 INFO L94 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2020-07-10 15:08:51,241 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2020-07-10 15:08:51,289 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2020-07-10 15:08:51,293 INFO L280 TraceCheckUtils]: 0: Hoare triple {6416#(and (= |#valid| |old(#valid)|) (= |#NULL.base| |old(#NULL.base)|) (= |#NULL.offset| |old(#NULL.offset)|))} #NULL.base, #NULL.offset := 0, 0;#valid := #valid[0 := 0];assume 0 < #StackHeapBarrier; {6410#true} is VALID [2020-07-10 15:08:51,293 INFO L280 TraceCheckUtils]: 1: Hoare triple {6410#true} assume true; {6410#true} is VALID [2020-07-10 15:08:51,293 INFO L275 TraceCheckUtils]: 2: Hoare quadruple {6410#true} {6410#true} #337#return; {6410#true} is VALID [2020-07-10 15:08:51,295 INFO L263 TraceCheckUtils]: 0: Hoare triple {6410#true} call ULTIMATE.init(); {6416#(and (= |#valid| |old(#valid)|) (= |#NULL.base| |old(#NULL.base)|) (= |#NULL.offset| |old(#NULL.offset)|))} is VALID [2020-07-10 15:08:51,295 INFO L280 TraceCheckUtils]: 1: Hoare triple {6416#(and (= |#valid| |old(#valid)|) (= |#NULL.base| |old(#NULL.base)|) (= |#NULL.offset| |old(#NULL.offset)|))} #NULL.base, #NULL.offset := 0, 0;#valid := #valid[0 := 0];assume 0 < #StackHeapBarrier; {6410#true} is VALID [2020-07-10 15:08:51,295 INFO L280 TraceCheckUtils]: 2: Hoare triple {6410#true} assume true; {6410#true} is VALID [2020-07-10 15:08:51,295 INFO L275 TraceCheckUtils]: 3: Hoare quadruple {6410#true} {6410#true} #337#return; {6410#true} is VALID [2020-07-10 15:08:51,295 INFO L263 TraceCheckUtils]: 4: Hoare triple {6410#true} call #t~ret28 := main(); {6410#true} is VALID [2020-07-10 15:08:51,296 INFO L280 TraceCheckUtils]: 5: Hoare triple {6410#true} call #t~malloc0.base, #t~malloc0.offset := #Ultimate.allocOnHeap(8);~list~0.base, ~list~0.offset := #t~malloc0.base, #t~malloc0.offset;call write~$Pointer$(0, 0, ~list~0.base, ~list~0.offset, 4); {6410#true} is VALID [2020-07-10 15:08:51,296 INFO L280 TraceCheckUtils]: 6: Hoare triple {6410#true} assume !!(~list~0.base != 0 || ~list~0.offset != 0); {6410#true} is VALID [2020-07-10 15:08:51,296 INFO L280 TraceCheckUtils]: 7: Hoare triple {6410#true} goto; {6410#true} is VALID [2020-07-10 15:08:51,296 INFO L280 TraceCheckUtils]: 8: Hoare triple {6410#true} assume -2147483648 <= #t~nondet1 && #t~nondet1 <= 2147483647; {6410#true} is VALID [2020-07-10 15:08:51,296 INFO L280 TraceCheckUtils]: 9: Hoare triple {6410#true} assume !(0 != #t~nondet1);havoc #t~nondet1;call #t~malloc2.base, #t~malloc2.offset := #Ultimate.allocOnHeap(8);call write~$Pointer$(#t~malloc2.base, #t~malloc2.offset, ~list~0.base, 4 + ~list~0.offset, 4);call #t~mem3.base, #t~mem3.offset := read~$Pointer$(~list~0.base, 4 + ~list~0.offset, 4);call write~$Pointer$(0, 0, #t~mem3.base, #t~mem3.offset, 4);havoc #t~mem3.base, #t~mem3.offset;call #t~mem4.base, #t~mem4.offset := read~$Pointer$(~list~0.base, 4 + ~list~0.offset, 4);call write~$Pointer$(0, 0, #t~mem4.base, 4 + #t~mem4.offset, 4);havoc #t~mem4.base, #t~mem4.offset; {6410#true} is VALID [2020-07-10 15:08:51,297 INFO L280 TraceCheckUtils]: 10: Hoare triple {6410#true} call #t~mem5.base, #t~mem5.offset := read~$Pointer$(~list~0.base, 4 + ~list~0.offset, 4);#t~short7 := #t~mem5.base != 0 || #t~mem5.offset != 0; {6410#true} is VALID [2020-07-10 15:08:51,297 INFO L280 TraceCheckUtils]: 11: Hoare triple {6410#true} assume #t~short7; {6410#true} is VALID [2020-07-10 15:08:51,297 INFO L280 TraceCheckUtils]: 12: Hoare triple {6410#true} assume !!#t~short7;havoc #t~mem5.base, #t~mem5.offset;havoc #t~short7;havoc #t~mem6.base, #t~mem6.offset; {6410#true} is VALID [2020-07-10 15:08:51,297 INFO L280 TraceCheckUtils]: 13: Hoare triple {6410#true} goto; {6410#true} is VALID [2020-07-10 15:08:51,297 INFO L280 TraceCheckUtils]: 14: Hoare triple {6410#true} ~end~0.base, ~end~0.offset := ~list~0.base, ~list~0.offset; {6410#true} is VALID [2020-07-10 15:08:51,298 INFO L280 TraceCheckUtils]: 15: Hoare triple {6410#true} assume -2147483648 <= #t~nondet8 && #t~nondet8 <= 2147483647; {6410#true} is VALID [2020-07-10 15:08:51,298 INFO L280 TraceCheckUtils]: 16: Hoare triple {6410#true} assume !(0 != #t~nondet8);havoc #t~nondet8; {6410#true} is VALID [2020-07-10 15:08:51,298 INFO L280 TraceCheckUtils]: 17: Hoare triple {6410#true} ~end~0.base, ~end~0.offset := 0, 0;~end~0.base, ~end~0.offset := ~list~0.base, ~list~0.offset; {6410#true} is VALID [2020-07-10 15:08:51,298 INFO L280 TraceCheckUtils]: 18: Hoare triple {6410#true} assume !!(0 != ~end~0.base || 0 != ~end~0.offset); {6410#true} is VALID [2020-07-10 15:08:51,298 INFO L280 TraceCheckUtils]: 19: Hoare triple {6410#true} goto; {6410#true} is VALID [2020-07-10 15:08:51,299 INFO L280 TraceCheckUtils]: 20: Hoare triple {6410#true} assume !!(0 != ~end~0.base || 0 != ~end~0.offset);~len~0 := 0;call #t~mem18.base, #t~mem18.offset := read~$Pointer$(~end~0.base, 4 + ~end~0.offset, 4);~inner~0.base, ~inner~0.offset := #t~mem18.base, #t~mem18.offset;havoc #t~mem18.base, #t~mem18.offset; {6410#true} is VALID [2020-07-10 15:08:51,299 INFO L280 TraceCheckUtils]: 21: Hoare triple {6410#true} assume !(0 != ~inner~0.base || 0 != ~inner~0.offset); {6410#true} is VALID [2020-07-10 15:08:51,299 INFO L280 TraceCheckUtils]: 22: Hoare triple {6410#true} assume !!(~len~0 <= 1); {6410#true} is VALID [2020-07-10 15:08:51,304 INFO L280 TraceCheckUtils]: 23: Hoare triple {6410#true} goto; {6410#true} is VALID [2020-07-10 15:08:51,305 INFO L280 TraceCheckUtils]: 24: Hoare triple {6410#true} call #t~mem23.base, #t~mem23.offset := read~$Pointer$(~end~0.base, ~end~0.offset, 4);~end~0.base, ~end~0.offset := #t~mem23.base, #t~mem23.offset;havoc #t~mem23.base, #t~mem23.offset; {6410#true} is VALID [2020-07-10 15:08:51,305 INFO L280 TraceCheckUtils]: 25: Hoare triple {6410#true} assume !(0 != ~end~0.base || 0 != ~end~0.offset); {6410#true} is VALID [2020-07-10 15:08:51,306 INFO L280 TraceCheckUtils]: 26: Hoare triple {6410#true} assume !!(0 != ~list~0.base || 0 != ~list~0.offset);call #t~mem24.base, #t~mem24.offset := read~$Pointer$(~list~0.base, 4 + ~list~0.offset, 4);~end~0.base, ~end~0.offset := #t~mem24.base, #t~mem24.offset;havoc #t~mem24.base, #t~mem24.offset; {6410#true} is VALID [2020-07-10 15:08:51,308 INFO L280 TraceCheckUtils]: 27: Hoare triple {6410#true} assume 0 != ~end~0.base || 0 != ~end~0.offset; {6415#(or (not (= 0 main_~end~0.base)) (not (= 0 main_~end~0.offset)))} is VALID [2020-07-10 15:08:51,308 INFO L280 TraceCheckUtils]: 28: Hoare triple {6415#(or (not (= 0 main_~end~0.base)) (not (= 0 main_~end~0.offset)))} assume !(0 != ~end~0.base || 0 != ~end~0.offset); {6411#false} is VALID [2020-07-10 15:08:51,309 INFO L280 TraceCheckUtils]: 29: Hoare triple {6411#false} assume !false; {6411#false} is VALID [2020-07-10 15:08:51,311 INFO L134 CoverageAnalysis]: Checked inductivity of 1 backedges. 0 proven. 0 refuted. 0 times theorem prover too weak. 1 trivial. 0 not checked. [2020-07-10 15:08:51,311 INFO L354 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleSmtInterpolCraig [1156294646] [2020-07-10 15:08:51,311 INFO L220 FreeRefinementEngine]: Constructing automaton from 1 perfect and 0 imperfect interpolant sequences. [2020-07-10 15:08:51,311 INFO L233 FreeRefinementEngine]: Number of different interpolants: perfect sequences [4] imperfect sequences [] total 4 [2020-07-10 15:08:51,312 INFO L156 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [55659834] [2020-07-10 15:08:51,312 INFO L78 Accepts]: Start accepts. Automaton has 4 states. Word has length 30 [2020-07-10 15:08:51,313 INFO L84 Accepts]: Finished accepts. word is accepted. [2020-07-10 15:08:51,313 INFO L86 InductivityCheck]: Starting indutivity check of a Floyd-Hoare automaton with 4 states. [2020-07-10 15:08:51,342 INFO L119 InductivityCheck]: Floyd-Hoare automaton has 30 edges. 30 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2020-07-10 15:08:51,343 INFO L459 AbstractCegarLoop]: Interpolant automaton has 4 states [2020-07-10 15:08:51,343 INFO L143 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy CAMEL [2020-07-10 15:08:51,343 INFO L142 InterpolantAutomaton]: Constructing interpolant automaton starting with 4 interpolants. [2020-07-10 15:08:51,343 INFO L144 InterpolantAutomaton]: CoverageRelationStatistics Valid=5, Invalid=7, Unknown=0, NotChecked=0, Total=12 [2020-07-10 15:08:51,344 INFO L87 Difference]: Start difference. First operand 119 states and 141 transitions. Second operand 4 states. [2020-07-10 15:08:51,719 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2020-07-10 15:08:51,719 INFO L93 Difference]: Finished difference Result 119 states and 141 transitions. [2020-07-10 15:08:51,719 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 4 states. [2020-07-10 15:08:51,719 INFO L78 Accepts]: Start accepts. Automaton has 4 states. Word has length 30 [2020-07-10 15:08:51,719 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2020-07-10 15:08:51,720 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 4 states. [2020-07-10 15:08:51,721 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 4 states to 4 states and 85 transitions. [2020-07-10 15:08:51,721 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 4 states. [2020-07-10 15:08:51,722 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 4 states to 4 states and 85 transitions. [2020-07-10 15:08:51,722 INFO L86 InductivityCheck]: Starting indutivity check of a Floyd-Hoare automaton with 4 states and 85 transitions. [2020-07-10 15:08:51,827 INFO L119 InductivityCheck]: Floyd-Hoare automaton has 85 edges. 85 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2020-07-10 15:08:51,830 INFO L225 Difference]: With dead ends: 119 [2020-07-10 15:08:51,830 INFO L226 Difference]: Without dead ends: 117 [2020-07-10 15:08:51,831 INFO L675 BasicCegarLoop]: 0 DeclaredPredicates, 5 GetRequests, 3 SyntacticMatches, 0 SemanticMatches, 2 ConstructedPredicates, 0 IntricatePredicates, 0 DeprecatedPredicates, 0 ImplicationChecksByTransitivity, 0.0s TimeCoverageRelationStatistics Valid=5, Invalid=7, Unknown=0, NotChecked=0, Total=12 [2020-07-10 15:08:51,831 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 117 states. [2020-07-10 15:08:51,905 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 117 to 117. [2020-07-10 15:08:51,905 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2020-07-10 15:08:51,905 INFO L82 GeneralOperation]: Start isEquivalent. First operand 117 states. Second operand 117 states. [2020-07-10 15:08:51,905 INFO L74 IsIncluded]: Start isIncluded. First operand 117 states. Second operand 117 states. [2020-07-10 15:08:51,905 INFO L87 Difference]: Start difference. First operand 117 states. Second operand 117 states. [2020-07-10 15:08:51,908 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2020-07-10 15:08:51,909 INFO L93 Difference]: Finished difference Result 117 states and 139 transitions. [2020-07-10 15:08:51,909 INFO L276 IsEmpty]: Start isEmpty. Operand 117 states and 139 transitions. [2020-07-10 15:08:51,909 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2020-07-10 15:08:51,909 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2020-07-10 15:08:51,910 INFO L74 IsIncluded]: Start isIncluded. First operand 117 states. Second operand 117 states. [2020-07-10 15:08:51,910 INFO L87 Difference]: Start difference. First operand 117 states. Second operand 117 states. [2020-07-10 15:08:51,912 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2020-07-10 15:08:51,912 INFO L93 Difference]: Finished difference Result 117 states and 139 transitions. [2020-07-10 15:08:51,912 INFO L276 IsEmpty]: Start isEmpty. Operand 117 states and 139 transitions. [2020-07-10 15:08:51,913 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2020-07-10 15:08:51,913 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2020-07-10 15:08:51,913 INFO L88 GeneralOperation]: Finished isEquivalent. [2020-07-10 15:08:51,913 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2020-07-10 15:08:51,913 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 117 states. [2020-07-10 15:08:51,916 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 117 states to 117 states and 139 transitions. [2020-07-10 15:08:51,916 INFO L78 Accepts]: Start accepts. Automaton has 117 states and 139 transitions. Word has length 30 [2020-07-10 15:08:51,916 INFO L84 Accepts]: Finished accepts. word is rejected. [2020-07-10 15:08:51,916 INFO L479 AbstractCegarLoop]: Abstraction has 117 states and 139 transitions. [2020-07-10 15:08:51,916 INFO L480 AbstractCegarLoop]: Interpolant automaton has 4 states. [2020-07-10 15:08:51,917 INFO L276 IsEmpty]: Start isEmpty. Operand 117 states and 139 transitions. [2020-07-10 15:08:51,917 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 32 [2020-07-10 15:08:51,917 INFO L414 BasicCegarLoop]: Found error trace [2020-07-10 15:08:51,917 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] [2020-07-10 15:08:51,917 WARN L516 AbstractCegarLoop]: Destroyed unattended storables created during the last iteration: SelfDestructingSolverStorable13 [2020-07-10 15:08:51,918 INFO L427 AbstractCegarLoop]: === Iteration 15 === [mainErr0ASSERT_VIOLATIONERROR_FUNCTION, mainErr7ASSERT_VIOLATIONERROR_FUNCTION, mainErr8ASSERT_VIOLATIONERROR_FUNCTION, mainErr9ASSERT_VIOLATIONERROR_FUNCTION, mainErr10ASSERT_VIOLATIONERROR_FUNCTION, mainErr12ASSERT_VIOLATIONERROR_FUNCTION, mainErr4ASSERT_VIOLATIONERROR_FUNCTION, mainErr11ASSERT_VIOLATIONERROR_FUNCTION, mainErr2ASSERT_VIOLATIONERROR_FUNCTION, mainErr6ASSERT_VIOLATIONERROR_FUNCTION, mainErr5ASSERT_VIOLATIONERROR_FUNCTION, mainErr3ASSERT_VIOLATIONERROR_FUNCTION, mainErr1ASSERT_VIOLATIONERROR_FUNCTION]=== [2020-07-10 15:08:51,918 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2020-07-10 15:08:51,918 INFO L82 PathProgramCache]: Analyzing trace with hash -1485208190, now seen corresponding path program 1 times [2020-07-10 15:08:51,918 INFO L163 FreeRefinementEngine]: Executing refinement strategy CAMEL [2020-07-10 15:08:51,919 INFO L354 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [2103731471] [2020-07-10 15:08:51,919 INFO L94 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2020-07-10 15:08:51,937 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2020-07-10 15:08:52,137 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2020-07-10 15:08:52,143 INFO L280 TraceCheckUtils]: 0: Hoare triple {6937#(and (= |#valid| |old(#valid)|) (= |#NULL.base| |old(#NULL.base)|) (= |#NULL.offset| |old(#NULL.offset)|))} #NULL.base, #NULL.offset := 0, 0;#valid := #valid[0 := 0];assume 0 < #StackHeapBarrier; {6927#true} is VALID [2020-07-10 15:08:52,144 INFO L280 TraceCheckUtils]: 1: Hoare triple {6927#true} assume true; {6927#true} is VALID [2020-07-10 15:08:52,144 INFO L275 TraceCheckUtils]: 2: Hoare quadruple {6927#true} {6927#true} #337#return; {6927#true} is VALID [2020-07-10 15:08:52,145 INFO L263 TraceCheckUtils]: 0: Hoare triple {6927#true} call ULTIMATE.init(); {6937#(and (= |#valid| |old(#valid)|) (= |#NULL.base| |old(#NULL.base)|) (= |#NULL.offset| |old(#NULL.offset)|))} is VALID [2020-07-10 15:08:52,145 INFO L280 TraceCheckUtils]: 1: Hoare triple {6937#(and (= |#valid| |old(#valid)|) (= |#NULL.base| |old(#NULL.base)|) (= |#NULL.offset| |old(#NULL.offset)|))} #NULL.base, #NULL.offset := 0, 0;#valid := #valid[0 := 0];assume 0 < #StackHeapBarrier; {6927#true} is VALID [2020-07-10 15:08:52,146 INFO L280 TraceCheckUtils]: 2: Hoare triple {6927#true} assume true; {6927#true} is VALID [2020-07-10 15:08:52,146 INFO L275 TraceCheckUtils]: 3: Hoare quadruple {6927#true} {6927#true} #337#return; {6927#true} is VALID [2020-07-10 15:08:52,146 INFO L263 TraceCheckUtils]: 4: Hoare triple {6927#true} call #t~ret28 := main(); {6927#true} is VALID [2020-07-10 15:08:52,148 INFO L280 TraceCheckUtils]: 5: Hoare triple {6927#true} call #t~malloc0.base, #t~malloc0.offset := #Ultimate.allocOnHeap(8);~list~0.base, ~list~0.offset := #t~malloc0.base, #t~malloc0.offset;call write~$Pointer$(0, 0, ~list~0.base, ~list~0.offset, 4); {6932#(and (= 0 main_~list~0.offset) (= 1 (select |#valid| main_~list~0.base)))} is VALID [2020-07-10 15:08:52,149 INFO L280 TraceCheckUtils]: 6: Hoare triple {6932#(and (= 0 main_~list~0.offset) (= 1 (select |#valid| main_~list~0.base)))} assume !!(~list~0.base != 0 || ~list~0.offset != 0); {6932#(and (= 0 main_~list~0.offset) (= 1 (select |#valid| main_~list~0.base)))} is VALID [2020-07-10 15:08:52,149 INFO L280 TraceCheckUtils]: 7: Hoare triple {6932#(and (= 0 main_~list~0.offset) (= 1 (select |#valid| main_~list~0.base)))} goto; {6932#(and (= 0 main_~list~0.offset) (= 1 (select |#valid| main_~list~0.base)))} is VALID [2020-07-10 15:08:52,150 INFO L280 TraceCheckUtils]: 8: Hoare triple {6932#(and (= 0 main_~list~0.offset) (= 1 (select |#valid| main_~list~0.base)))} assume -2147483648 <= #t~nondet1 && #t~nondet1 <= 2147483647; {6932#(and (= 0 main_~list~0.offset) (= 1 (select |#valid| main_~list~0.base)))} is VALID [2020-07-10 15:08:52,152 INFO L280 TraceCheckUtils]: 9: Hoare triple {6932#(and (= 0 main_~list~0.offset) (= 1 (select |#valid| main_~list~0.base)))} assume !(0 != #t~nondet1);havoc #t~nondet1;call #t~malloc2.base, #t~malloc2.offset := #Ultimate.allocOnHeap(8);call write~$Pointer$(#t~malloc2.base, #t~malloc2.offset, ~list~0.base, 4 + ~list~0.offset, 4);call #t~mem3.base, #t~mem3.offset := read~$Pointer$(~list~0.base, 4 + ~list~0.offset, 4);call write~$Pointer$(0, 0, #t~mem3.base, #t~mem3.offset, 4);havoc #t~mem3.base, #t~mem3.offset;call #t~mem4.base, #t~mem4.offset := read~$Pointer$(~list~0.base, 4 + ~list~0.offset, 4);call write~$Pointer$(0, 0, #t~mem4.base, 4 + #t~mem4.offset, 4);havoc #t~mem4.base, #t~mem4.offset; {6933#(and (= 0 (select (select |#memory_$Pointer$.base| (select (select |#memory_$Pointer$.base| main_~list~0.base) (+ main_~list~0.offset 4))) 0)) (= 0 (select (select |#memory_$Pointer$.offset| main_~list~0.base) (+ main_~list~0.offset 4))) (= 0 main_~list~0.offset) (= 0 (select (select |#memory_$Pointer$.offset| (select (select |#memory_$Pointer$.base| main_~list~0.base) (+ main_~list~0.offset 4))) 0)))} is VALID [2020-07-10 15:08:52,154 INFO L280 TraceCheckUtils]: 10: Hoare triple {6933#(and (= 0 (select (select |#memory_$Pointer$.base| (select (select |#memory_$Pointer$.base| main_~list~0.base) (+ main_~list~0.offset 4))) 0)) (= 0 (select (select |#memory_$Pointer$.offset| main_~list~0.base) (+ main_~list~0.offset 4))) (= 0 main_~list~0.offset) (= 0 (select (select |#memory_$Pointer$.offset| (select (select |#memory_$Pointer$.base| main_~list~0.base) (+ main_~list~0.offset 4))) 0)))} call #t~mem5.base, #t~mem5.offset := read~$Pointer$(~list~0.base, 4 + ~list~0.offset, 4);#t~short7 := #t~mem5.base != 0 || #t~mem5.offset != 0; {6933#(and (= 0 (select (select |#memory_$Pointer$.base| (select (select |#memory_$Pointer$.base| main_~list~0.base) (+ main_~list~0.offset 4))) 0)) (= 0 (select (select |#memory_$Pointer$.offset| main_~list~0.base) (+ main_~list~0.offset 4))) (= 0 main_~list~0.offset) (= 0 (select (select |#memory_$Pointer$.offset| (select (select |#memory_$Pointer$.base| main_~list~0.base) (+ main_~list~0.offset 4))) 0)))} is VALID [2020-07-10 15:08:52,155 INFO L280 TraceCheckUtils]: 11: Hoare triple {6933#(and (= 0 (select (select |#memory_$Pointer$.base| (select (select |#memory_$Pointer$.base| main_~list~0.base) (+ main_~list~0.offset 4))) 0)) (= 0 (select (select |#memory_$Pointer$.offset| main_~list~0.base) (+ main_~list~0.offset 4))) (= 0 main_~list~0.offset) (= 0 (select (select |#memory_$Pointer$.offset| (select (select |#memory_$Pointer$.base| main_~list~0.base) (+ main_~list~0.offset 4))) 0)))} assume #t~short7; {6933#(and (= 0 (select (select |#memory_$Pointer$.base| (select (select |#memory_$Pointer$.base| main_~list~0.base) (+ main_~list~0.offset 4))) 0)) (= 0 (select (select |#memory_$Pointer$.offset| main_~list~0.base) (+ main_~list~0.offset 4))) (= 0 main_~list~0.offset) (= 0 (select (select |#memory_$Pointer$.offset| (select (select |#memory_$Pointer$.base| main_~list~0.base) (+ main_~list~0.offset 4))) 0)))} is VALID [2020-07-10 15:08:52,155 INFO L280 TraceCheckUtils]: 12: Hoare triple {6933#(and (= 0 (select (select |#memory_$Pointer$.base| (select (select |#memory_$Pointer$.base| main_~list~0.base) (+ main_~list~0.offset 4))) 0)) (= 0 (select (select |#memory_$Pointer$.offset| main_~list~0.base) (+ main_~list~0.offset 4))) (= 0 main_~list~0.offset) (= 0 (select (select |#memory_$Pointer$.offset| (select (select |#memory_$Pointer$.base| main_~list~0.base) (+ main_~list~0.offset 4))) 0)))} assume !!#t~short7;havoc #t~mem5.base, #t~mem5.offset;havoc #t~short7;havoc #t~mem6.base, #t~mem6.offset; {6933#(and (= 0 (select (select |#memory_$Pointer$.base| (select (select |#memory_$Pointer$.base| main_~list~0.base) (+ main_~list~0.offset 4))) 0)) (= 0 (select (select |#memory_$Pointer$.offset| main_~list~0.base) (+ main_~list~0.offset 4))) (= 0 main_~list~0.offset) (= 0 (select (select |#memory_$Pointer$.offset| (select (select |#memory_$Pointer$.base| main_~list~0.base) (+ main_~list~0.offset 4))) 0)))} is VALID [2020-07-10 15:08:52,156 INFO L280 TraceCheckUtils]: 13: Hoare triple {6933#(and (= 0 (select (select |#memory_$Pointer$.base| (select (select |#memory_$Pointer$.base| main_~list~0.base) (+ main_~list~0.offset 4))) 0)) (= 0 (select (select |#memory_$Pointer$.offset| main_~list~0.base) (+ main_~list~0.offset 4))) (= 0 main_~list~0.offset) (= 0 (select (select |#memory_$Pointer$.offset| (select (select |#memory_$Pointer$.base| main_~list~0.base) (+ main_~list~0.offset 4))) 0)))} goto; {6933#(and (= 0 (select (select |#memory_$Pointer$.base| (select (select |#memory_$Pointer$.base| main_~list~0.base) (+ main_~list~0.offset 4))) 0)) (= 0 (select (select |#memory_$Pointer$.offset| main_~list~0.base) (+ main_~list~0.offset 4))) (= 0 main_~list~0.offset) (= 0 (select (select |#memory_$Pointer$.offset| (select (select |#memory_$Pointer$.base| main_~list~0.base) (+ main_~list~0.offset 4))) 0)))} is VALID [2020-07-10 15:08:52,157 INFO L280 TraceCheckUtils]: 14: Hoare triple {6933#(and (= 0 (select (select |#memory_$Pointer$.base| (select (select |#memory_$Pointer$.base| main_~list~0.base) (+ main_~list~0.offset 4))) 0)) (= 0 (select (select |#memory_$Pointer$.offset| main_~list~0.base) (+ main_~list~0.offset 4))) (= 0 main_~list~0.offset) (= 0 (select (select |#memory_$Pointer$.offset| (select (select |#memory_$Pointer$.base| main_~list~0.base) (+ main_~list~0.offset 4))) 0)))} ~end~0.base, ~end~0.offset := ~list~0.base, ~list~0.offset; {6933#(and (= 0 (select (select |#memory_$Pointer$.base| (select (select |#memory_$Pointer$.base| main_~list~0.base) (+ main_~list~0.offset 4))) 0)) (= 0 (select (select |#memory_$Pointer$.offset| main_~list~0.base) (+ main_~list~0.offset 4))) (= 0 main_~list~0.offset) (= 0 (select (select |#memory_$Pointer$.offset| (select (select |#memory_$Pointer$.base| main_~list~0.base) (+ main_~list~0.offset 4))) 0)))} is VALID [2020-07-10 15:08:52,159 INFO L280 TraceCheckUtils]: 15: Hoare triple {6933#(and (= 0 (select (select |#memory_$Pointer$.base| (select (select |#memory_$Pointer$.base| main_~list~0.base) (+ main_~list~0.offset 4))) 0)) (= 0 (select (select |#memory_$Pointer$.offset| main_~list~0.base) (+ main_~list~0.offset 4))) (= 0 main_~list~0.offset) (= 0 (select (select |#memory_$Pointer$.offset| (select (select |#memory_$Pointer$.base| main_~list~0.base) (+ main_~list~0.offset 4))) 0)))} assume -2147483648 <= #t~nondet8 && #t~nondet8 <= 2147483647; {6933#(and (= 0 (select (select |#memory_$Pointer$.base| (select (select |#memory_$Pointer$.base| main_~list~0.base) (+ main_~list~0.offset 4))) 0)) (= 0 (select (select |#memory_$Pointer$.offset| main_~list~0.base) (+ main_~list~0.offset 4))) (= 0 main_~list~0.offset) (= 0 (select (select |#memory_$Pointer$.offset| (select (select |#memory_$Pointer$.base| main_~list~0.base) (+ main_~list~0.offset 4))) 0)))} is VALID [2020-07-10 15:08:52,160 INFO L280 TraceCheckUtils]: 16: Hoare triple {6933#(and (= 0 (select (select |#memory_$Pointer$.base| (select (select |#memory_$Pointer$.base| main_~list~0.base) (+ main_~list~0.offset 4))) 0)) (= 0 (select (select |#memory_$Pointer$.offset| main_~list~0.base) (+ main_~list~0.offset 4))) (= 0 main_~list~0.offset) (= 0 (select (select |#memory_$Pointer$.offset| (select (select |#memory_$Pointer$.base| main_~list~0.base) (+ main_~list~0.offset 4))) 0)))} assume !(0 != #t~nondet8);havoc #t~nondet8; {6933#(and (= 0 (select (select |#memory_$Pointer$.base| (select (select |#memory_$Pointer$.base| main_~list~0.base) (+ main_~list~0.offset 4))) 0)) (= 0 (select (select |#memory_$Pointer$.offset| main_~list~0.base) (+ main_~list~0.offset 4))) (= 0 main_~list~0.offset) (= 0 (select (select |#memory_$Pointer$.offset| (select (select |#memory_$Pointer$.base| main_~list~0.base) (+ main_~list~0.offset 4))) 0)))} is VALID [2020-07-10 15:08:52,161 INFO L280 TraceCheckUtils]: 17: Hoare triple {6933#(and (= 0 (select (select |#memory_$Pointer$.base| (select (select |#memory_$Pointer$.base| main_~list~0.base) (+ main_~list~0.offset 4))) 0)) (= 0 (select (select |#memory_$Pointer$.offset| main_~list~0.base) (+ main_~list~0.offset 4))) (= 0 main_~list~0.offset) (= 0 (select (select |#memory_$Pointer$.offset| (select (select |#memory_$Pointer$.base| main_~list~0.base) (+ main_~list~0.offset 4))) 0)))} ~end~0.base, ~end~0.offset := 0, 0;~end~0.base, ~end~0.offset := ~list~0.base, ~list~0.offset; {6934#(and (= 0 (select (select |#memory_$Pointer$.offset| main_~end~0.base) (+ main_~end~0.offset 4))) (= (select (select |#memory_$Pointer$.base| (select (select |#memory_$Pointer$.base| main_~end~0.base) (+ main_~end~0.offset 4))) 0) 0) (= 0 (select (select |#memory_$Pointer$.offset| (select (select |#memory_$Pointer$.base| main_~end~0.base) (+ main_~end~0.offset 4))) 0)))} is VALID [2020-07-10 15:08:52,162 INFO L280 TraceCheckUtils]: 18: Hoare triple {6934#(and (= 0 (select (select |#memory_$Pointer$.offset| main_~end~0.base) (+ main_~end~0.offset 4))) (= (select (select |#memory_$Pointer$.base| (select (select |#memory_$Pointer$.base| main_~end~0.base) (+ main_~end~0.offset 4))) 0) 0) (= 0 (select (select |#memory_$Pointer$.offset| (select (select |#memory_$Pointer$.base| main_~end~0.base) (+ main_~end~0.offset 4))) 0)))} assume !!(0 != ~end~0.base || 0 != ~end~0.offset); {6934#(and (= 0 (select (select |#memory_$Pointer$.offset| main_~end~0.base) (+ main_~end~0.offset 4))) (= (select (select |#memory_$Pointer$.base| (select (select |#memory_$Pointer$.base| main_~end~0.base) (+ main_~end~0.offset 4))) 0) 0) (= 0 (select (select |#memory_$Pointer$.offset| (select (select |#memory_$Pointer$.base| main_~end~0.base) (+ main_~end~0.offset 4))) 0)))} is VALID [2020-07-10 15:08:52,163 INFO L280 TraceCheckUtils]: 19: Hoare triple {6934#(and (= 0 (select (select |#memory_$Pointer$.offset| main_~end~0.base) (+ main_~end~0.offset 4))) (= (select (select |#memory_$Pointer$.base| (select (select |#memory_$Pointer$.base| main_~end~0.base) (+ main_~end~0.offset 4))) 0) 0) (= 0 (select (select |#memory_$Pointer$.offset| (select (select |#memory_$Pointer$.base| main_~end~0.base) (+ main_~end~0.offset 4))) 0)))} goto; {6934#(and (= 0 (select (select |#memory_$Pointer$.offset| main_~end~0.base) (+ main_~end~0.offset 4))) (= (select (select |#memory_$Pointer$.base| (select (select |#memory_$Pointer$.base| main_~end~0.base) (+ main_~end~0.offset 4))) 0) 0) (= 0 (select (select |#memory_$Pointer$.offset| (select (select |#memory_$Pointer$.base| main_~end~0.base) (+ main_~end~0.offset 4))) 0)))} is VALID [2020-07-10 15:08:52,164 INFO L280 TraceCheckUtils]: 20: Hoare triple {6934#(and (= 0 (select (select |#memory_$Pointer$.offset| main_~end~0.base) (+ main_~end~0.offset 4))) (= (select (select |#memory_$Pointer$.base| (select (select |#memory_$Pointer$.base| main_~end~0.base) (+ main_~end~0.offset 4))) 0) 0) (= 0 (select (select |#memory_$Pointer$.offset| (select (select |#memory_$Pointer$.base| main_~end~0.base) (+ main_~end~0.offset 4))) 0)))} assume !!(0 != ~end~0.base || 0 != ~end~0.offset);~len~0 := 0;call #t~mem18.base, #t~mem18.offset := read~$Pointer$(~end~0.base, 4 + ~end~0.offset, 4);~inner~0.base, ~inner~0.offset := #t~mem18.base, #t~mem18.offset;havoc #t~mem18.base, #t~mem18.offset; {6935#(and (= 0 (select (select |#memory_$Pointer$.base| main_~inner~0.base) main_~inner~0.offset)) (= 0 main_~inner~0.offset) (= 0 (select (select |#memory_$Pointer$.offset| main_~inner~0.base) main_~inner~0.offset)))} is VALID [2020-07-10 15:08:52,165 INFO L280 TraceCheckUtils]: 21: Hoare triple {6935#(and (= 0 (select (select |#memory_$Pointer$.base| main_~inner~0.base) main_~inner~0.offset)) (= 0 main_~inner~0.offset) (= 0 (select (select |#memory_$Pointer$.offset| main_~inner~0.base) main_~inner~0.offset)))} assume !!(0 != ~inner~0.base || 0 != ~inner~0.offset); {6935#(and (= 0 (select (select |#memory_$Pointer$.base| main_~inner~0.base) main_~inner~0.offset)) (= 0 main_~inner~0.offset) (= 0 (select (select |#memory_$Pointer$.offset| main_~inner~0.base) main_~inner~0.offset)))} is VALID [2020-07-10 15:08:52,165 INFO L280 TraceCheckUtils]: 22: Hoare triple {6935#(and (= 0 (select (select |#memory_$Pointer$.base| main_~inner~0.base) main_~inner~0.offset)) (= 0 main_~inner~0.offset) (= 0 (select (select |#memory_$Pointer$.offset| main_~inner~0.base) main_~inner~0.offset)))} assume 0 == ~len~0;~len~0 := 1; {6935#(and (= 0 (select (select |#memory_$Pointer$.base| main_~inner~0.base) main_~inner~0.offset)) (= 0 main_~inner~0.offset) (= 0 (select (select |#memory_$Pointer$.offset| main_~inner~0.base) main_~inner~0.offset)))} is VALID [2020-07-10 15:08:52,167 INFO L280 TraceCheckUtils]: 23: Hoare triple {6935#(and (= 0 (select (select |#memory_$Pointer$.base| main_~inner~0.base) main_~inner~0.offset)) (= 0 main_~inner~0.offset) (= 0 (select (select |#memory_$Pointer$.offset| main_~inner~0.base) main_~inner~0.offset)))} assume !!(0 != ~inner~0.base || 0 != ~inner~0.offset); {6935#(and (= 0 (select (select |#memory_$Pointer$.base| main_~inner~0.base) main_~inner~0.offset)) (= 0 main_~inner~0.offset) (= 0 (select (select |#memory_$Pointer$.offset| main_~inner~0.base) main_~inner~0.offset)))} is VALID [2020-07-10 15:08:52,167 INFO L280 TraceCheckUtils]: 24: Hoare triple {6935#(and (= 0 (select (select |#memory_$Pointer$.base| main_~inner~0.base) main_~inner~0.offset)) (= 0 main_~inner~0.offset) (= 0 (select (select |#memory_$Pointer$.offset| main_~inner~0.base) main_~inner~0.offset)))} goto; {6935#(and (= 0 (select (select |#memory_$Pointer$.base| main_~inner~0.base) main_~inner~0.offset)) (= 0 main_~inner~0.offset) (= 0 (select (select |#memory_$Pointer$.offset| main_~inner~0.base) main_~inner~0.offset)))} is VALID [2020-07-10 15:08:52,169 INFO L280 TraceCheckUtils]: 25: Hoare triple {6935#(and (= 0 (select (select |#memory_$Pointer$.base| main_~inner~0.base) main_~inner~0.offset)) (= 0 main_~inner~0.offset) (= 0 (select (select |#memory_$Pointer$.offset| main_~inner~0.base) main_~inner~0.offset)))} call #t~mem19.base, #t~mem19.offset := read~$Pointer$(~inner~0.base, 4 + ~inner~0.offset, 4); {6935#(and (= 0 (select (select |#memory_$Pointer$.base| main_~inner~0.base) main_~inner~0.offset)) (= 0 main_~inner~0.offset) (= 0 (select (select |#memory_$Pointer$.offset| main_~inner~0.base) main_~inner~0.offset)))} is VALID [2020-07-10 15:08:52,170 INFO L280 TraceCheckUtils]: 26: Hoare triple {6935#(and (= 0 (select (select |#memory_$Pointer$.base| main_~inner~0.base) main_~inner~0.offset)) (= 0 main_~inner~0.offset) (= 0 (select (select |#memory_$Pointer$.offset| main_~inner~0.base) main_~inner~0.offset)))} assume !!(0 == #t~mem19.base && 0 == #t~mem19.offset);havoc #t~mem19.base, #t~mem19.offset; {6935#(and (= 0 (select (select |#memory_$Pointer$.base| main_~inner~0.base) main_~inner~0.offset)) (= 0 main_~inner~0.offset) (= 0 (select (select |#memory_$Pointer$.offset| main_~inner~0.base) main_~inner~0.offset)))} is VALID [2020-07-10 15:08:52,170 INFO L280 TraceCheckUtils]: 27: Hoare triple {6935#(and (= 0 (select (select |#memory_$Pointer$.base| main_~inner~0.base) main_~inner~0.offset)) (= 0 main_~inner~0.offset) (= 0 (select (select |#memory_$Pointer$.offset| main_~inner~0.base) main_~inner~0.offset)))} goto; {6935#(and (= 0 (select (select |#memory_$Pointer$.base| main_~inner~0.base) main_~inner~0.offset)) (= 0 main_~inner~0.offset) (= 0 (select (select |#memory_$Pointer$.offset| main_~inner~0.base) main_~inner~0.offset)))} is VALID [2020-07-10 15:08:52,171 INFO L280 TraceCheckUtils]: 28: Hoare triple {6935#(and (= 0 (select (select |#memory_$Pointer$.base| main_~inner~0.base) main_~inner~0.offset)) (= 0 main_~inner~0.offset) (= 0 (select (select |#memory_$Pointer$.offset| main_~inner~0.base) main_~inner~0.offset)))} call #t~mem20.base, #t~mem20.offset := read~$Pointer$(~inner~0.base, ~inner~0.offset, 4); {6936#(and (= 0 |main_#t~mem20.base|) (= 0 |main_#t~mem20.offset|))} is VALID [2020-07-10 15:08:52,174 INFO L280 TraceCheckUtils]: 29: Hoare triple {6936#(and (= 0 |main_#t~mem20.base|) (= 0 |main_#t~mem20.offset|))} assume !(0 == #t~mem20.base && 0 == #t~mem20.offset);havoc #t~mem20.base, #t~mem20.offset; {6928#false} is VALID [2020-07-10 15:08:52,174 INFO L280 TraceCheckUtils]: 30: Hoare triple {6928#false} assume !false; {6928#false} is VALID [2020-07-10 15:08:52,183 INFO L134 CoverageAnalysis]: Checked inductivity of 0 backedges. 0 proven. 0 refuted. 0 times theorem prover too weak. 0 trivial. 0 not checked. [2020-07-10 15:08:52,183 INFO L354 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleSmtInterpolCraig [2103731471] [2020-07-10 15:08:52,183 INFO L220 FreeRefinementEngine]: Constructing automaton from 1 perfect and 0 imperfect interpolant sequences. [2020-07-10 15:08:52,184 INFO L233 FreeRefinementEngine]: Number of different interpolants: perfect sequences [8] imperfect sequences [] total 8 [2020-07-10 15:08:52,184 INFO L156 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [494087709] [2020-07-10 15:08:52,184 INFO L78 Accepts]: Start accepts. Automaton has 8 states. Word has length 31 [2020-07-10 15:08:52,185 INFO L84 Accepts]: Finished accepts. word is accepted. [2020-07-10 15:08:52,185 INFO L86 InductivityCheck]: Starting indutivity check of a Floyd-Hoare automaton with 8 states. [2020-07-10 15:08:52,233 INFO L119 InductivityCheck]: Floyd-Hoare automaton has 31 edges. 31 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2020-07-10 15:08:52,233 INFO L459 AbstractCegarLoop]: Interpolant automaton has 8 states [2020-07-10 15:08:52,233 INFO L143 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy CAMEL [2020-07-10 15:08:52,234 INFO L142 InterpolantAutomaton]: Constructing interpolant automaton starting with 8 interpolants. [2020-07-10 15:08:52,234 INFO L144 InterpolantAutomaton]: CoverageRelationStatistics Valid=13, Invalid=43, Unknown=0, NotChecked=0, Total=56 [2020-07-10 15:08:52,234 INFO L87 Difference]: Start difference. First operand 117 states and 139 transitions. Second operand 8 states. [2020-07-10 15:08:54,172 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2020-07-10 15:08:54,172 INFO L93 Difference]: Finished difference Result 240 states and 275 transitions. [2020-07-10 15:08:54,173 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 12 states. [2020-07-10 15:08:54,173 INFO L78 Accepts]: Start accepts. Automaton has 8 states. Word has length 31 [2020-07-10 15:08:54,173 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2020-07-10 15:08:54,173 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 8 states. [2020-07-10 15:08:54,177 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 12 states to 12 states and 229 transitions. [2020-07-10 15:08:54,177 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 8 states. [2020-07-10 15:08:54,179 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 12 states to 12 states and 229 transitions. [2020-07-10 15:08:54,179 INFO L86 InductivityCheck]: Starting indutivity check of a Floyd-Hoare automaton with 12 states and 229 transitions. [2020-07-10 15:08:54,553 INFO L119 InductivityCheck]: Floyd-Hoare automaton has 229 edges. 229 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2020-07-10 15:08:54,558 INFO L225 Difference]: With dead ends: 240 [2020-07-10 15:08:54,559 INFO L226 Difference]: Without dead ends: 238 [2020-07-10 15:08:54,559 INFO L675 BasicCegarLoop]: 0 DeclaredPredicates, 15 GetRequests, 3 SyntacticMatches, 0 SemanticMatches, 12 ConstructedPredicates, 0 IntricatePredicates, 0 DeprecatedPredicates, 9 ImplicationChecksByTransitivity, 0.3s TimeCoverageRelationStatistics Valid=56, Invalid=126, Unknown=0, NotChecked=0, Total=182 [2020-07-10 15:08:54,560 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 238 states. [2020-07-10 15:08:54,646 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 238 to 120. [2020-07-10 15:08:54,646 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2020-07-10 15:08:54,646 INFO L82 GeneralOperation]: Start isEquivalent. First operand 238 states. Second operand 120 states. [2020-07-10 15:08:54,647 INFO L74 IsIncluded]: Start isIncluded. First operand 238 states. Second operand 120 states. [2020-07-10 15:08:54,647 INFO L87 Difference]: Start difference. First operand 238 states. Second operand 120 states. [2020-07-10 15:08:54,654 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2020-07-10 15:08:54,654 INFO L93 Difference]: Finished difference Result 238 states and 273 transitions. [2020-07-10 15:08:54,654 INFO L276 IsEmpty]: Start isEmpty. Operand 238 states and 273 transitions. [2020-07-10 15:08:54,655 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2020-07-10 15:08:54,655 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2020-07-10 15:08:54,656 INFO L74 IsIncluded]: Start isIncluded. First operand 120 states. Second operand 238 states. [2020-07-10 15:08:54,656 INFO L87 Difference]: Start difference. First operand 120 states. Second operand 238 states. [2020-07-10 15:08:54,664 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2020-07-10 15:08:54,664 INFO L93 Difference]: Finished difference Result 238 states and 273 transitions. [2020-07-10 15:08:54,664 INFO L276 IsEmpty]: Start isEmpty. Operand 238 states and 273 transitions. [2020-07-10 15:08:54,665 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2020-07-10 15:08:54,665 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2020-07-10 15:08:54,665 INFO L88 GeneralOperation]: Finished isEquivalent. [2020-07-10 15:08:54,665 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2020-07-10 15:08:54,665 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 120 states. [2020-07-10 15:08:54,668 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 120 states to 120 states and 142 transitions. [2020-07-10 15:08:54,669 INFO L78 Accepts]: Start accepts. Automaton has 120 states and 142 transitions. Word has length 31 [2020-07-10 15:08:54,669 INFO L84 Accepts]: Finished accepts. word is rejected. [2020-07-10 15:08:54,669 INFO L479 AbstractCegarLoop]: Abstraction has 120 states and 142 transitions. [2020-07-10 15:08:54,669 INFO L480 AbstractCegarLoop]: Interpolant automaton has 8 states. [2020-07-10 15:08:54,669 INFO L276 IsEmpty]: Start isEmpty. Operand 120 states and 142 transitions. [2020-07-10 15:08:54,670 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 34 [2020-07-10 15:08:54,670 INFO L414 BasicCegarLoop]: Found error trace [2020-07-10 15:08:54,670 INFO L422 BasicCegarLoop]: trace histogram [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] [2020-07-10 15:08:54,670 WARN L516 AbstractCegarLoop]: Destroyed unattended storables created during the last iteration: SelfDestructingSolverStorable14 [2020-07-10 15:08:54,670 INFO L427 AbstractCegarLoop]: === Iteration 16 === [mainErr0ASSERT_VIOLATIONERROR_FUNCTION, mainErr7ASSERT_VIOLATIONERROR_FUNCTION, mainErr8ASSERT_VIOLATIONERROR_FUNCTION, mainErr9ASSERT_VIOLATIONERROR_FUNCTION, mainErr10ASSERT_VIOLATIONERROR_FUNCTION, mainErr12ASSERT_VIOLATIONERROR_FUNCTION, mainErr4ASSERT_VIOLATIONERROR_FUNCTION, mainErr11ASSERT_VIOLATIONERROR_FUNCTION, mainErr2ASSERT_VIOLATIONERROR_FUNCTION, mainErr6ASSERT_VIOLATIONERROR_FUNCTION, mainErr5ASSERT_VIOLATIONERROR_FUNCTION, mainErr3ASSERT_VIOLATIONERROR_FUNCTION, mainErr1ASSERT_VIOLATIONERROR_FUNCTION]=== [2020-07-10 15:08:54,671 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2020-07-10 15:08:54,671 INFO L82 PathProgramCache]: Analyzing trace with hash 1679328926, now seen corresponding path program 1 times [2020-07-10 15:08:54,671 INFO L163 FreeRefinementEngine]: Executing refinement strategy CAMEL [2020-07-10 15:08:54,671 INFO L354 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [879003573] [2020-07-10 15:08:54,671 INFO L94 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2020-07-10 15:08:54,680 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2020-07-10 15:08:54,768 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2020-07-10 15:08:54,772 INFO L280 TraceCheckUtils]: 0: Hoare triple {7841#(and (= |#valid| |old(#valid)|) (= |#NULL.base| |old(#NULL.base)|) (= |#NULL.offset| |old(#NULL.offset)|))} #NULL.base, #NULL.offset := 0, 0;#valid := #valid[0 := 0];assume 0 < #StackHeapBarrier; {7833#true} is VALID [2020-07-10 15:08:54,773 INFO L280 TraceCheckUtils]: 1: Hoare triple {7833#true} assume true; {7833#true} is VALID [2020-07-10 15:08:54,773 INFO L275 TraceCheckUtils]: 2: Hoare quadruple {7833#true} {7833#true} #337#return; {7833#true} is VALID [2020-07-10 15:08:54,774 INFO L263 TraceCheckUtils]: 0: Hoare triple {7833#true} call ULTIMATE.init(); {7841#(and (= |#valid| |old(#valid)|) (= |#NULL.base| |old(#NULL.base)|) (= |#NULL.offset| |old(#NULL.offset)|))} is VALID [2020-07-10 15:08:54,774 INFO L280 TraceCheckUtils]: 1: Hoare triple {7841#(and (= |#valid| |old(#valid)|) (= |#NULL.base| |old(#NULL.base)|) (= |#NULL.offset| |old(#NULL.offset)|))} #NULL.base, #NULL.offset := 0, 0;#valid := #valid[0 := 0];assume 0 < #StackHeapBarrier; {7833#true} is VALID [2020-07-10 15:08:54,775 INFO L280 TraceCheckUtils]: 2: Hoare triple {7833#true} assume true; {7833#true} is VALID [2020-07-10 15:08:54,775 INFO L275 TraceCheckUtils]: 3: Hoare quadruple {7833#true} {7833#true} #337#return; {7833#true} is VALID [2020-07-10 15:08:54,775 INFO L263 TraceCheckUtils]: 4: Hoare triple {7833#true} call #t~ret28 := main(); {7833#true} is VALID [2020-07-10 15:08:54,777 INFO L280 TraceCheckUtils]: 5: Hoare triple {7833#true} call #t~malloc0.base, #t~malloc0.offset := #Ultimate.allocOnHeap(8);~list~0.base, ~list~0.offset := #t~malloc0.base, #t~malloc0.offset;call write~$Pointer$(0, 0, ~list~0.base, ~list~0.offset, 4); {7838#(and (= 0 (select (store (select |#memory_$Pointer$.base| main_~list~0.base) (+ main_~list~0.offset 4) 0) main_~list~0.offset)) (= 0 (select (store (select |#memory_$Pointer$.offset| main_~list~0.base) (+ main_~list~0.offset 4) 0) main_~list~0.offset)))} is VALID [2020-07-10 15:08:54,778 INFO L280 TraceCheckUtils]: 6: Hoare triple {7838#(and (= 0 (select (store (select |#memory_$Pointer$.base| main_~list~0.base) (+ main_~list~0.offset 4) 0) main_~list~0.offset)) (= 0 (select (store (select |#memory_$Pointer$.offset| main_~list~0.base) (+ main_~list~0.offset 4) 0) main_~list~0.offset)))} assume !!(~list~0.base != 0 || ~list~0.offset != 0); {7838#(and (= 0 (select (store (select |#memory_$Pointer$.base| main_~list~0.base) (+ main_~list~0.offset 4) 0) main_~list~0.offset)) (= 0 (select (store (select |#memory_$Pointer$.offset| main_~list~0.base) (+ main_~list~0.offset 4) 0) main_~list~0.offset)))} is VALID [2020-07-10 15:08:54,779 INFO L280 TraceCheckUtils]: 7: Hoare triple {7838#(and (= 0 (select (store (select |#memory_$Pointer$.base| main_~list~0.base) (+ main_~list~0.offset 4) 0) main_~list~0.offset)) (= 0 (select (store (select |#memory_$Pointer$.offset| main_~list~0.base) (+ main_~list~0.offset 4) 0) main_~list~0.offset)))} goto; {7838#(and (= 0 (select (store (select |#memory_$Pointer$.base| main_~list~0.base) (+ main_~list~0.offset 4) 0) main_~list~0.offset)) (= 0 (select (store (select |#memory_$Pointer$.offset| main_~list~0.base) (+ main_~list~0.offset 4) 0) main_~list~0.offset)))} is VALID [2020-07-10 15:08:54,780 INFO L280 TraceCheckUtils]: 8: Hoare triple {7838#(and (= 0 (select (store (select |#memory_$Pointer$.base| main_~list~0.base) (+ main_~list~0.offset 4) 0) main_~list~0.offset)) (= 0 (select (store (select |#memory_$Pointer$.offset| main_~list~0.base) (+ main_~list~0.offset 4) 0) main_~list~0.offset)))} assume -2147483648 <= #t~nondet1 && #t~nondet1 <= 2147483647; {7838#(and (= 0 (select (store (select |#memory_$Pointer$.base| main_~list~0.base) (+ main_~list~0.offset 4) 0) main_~list~0.offset)) (= 0 (select (store (select |#memory_$Pointer$.offset| main_~list~0.base) (+ main_~list~0.offset 4) 0) main_~list~0.offset)))} is VALID [2020-07-10 15:08:54,782 INFO L280 TraceCheckUtils]: 9: Hoare triple {7838#(and (= 0 (select (store (select |#memory_$Pointer$.base| main_~list~0.base) (+ main_~list~0.offset 4) 0) main_~list~0.offset)) (= 0 (select (store (select |#memory_$Pointer$.offset| main_~list~0.base) (+ main_~list~0.offset 4) 0) main_~list~0.offset)))} assume 0 != #t~nondet1;havoc #t~nondet1;call write~$Pointer$(0, 0, ~list~0.base, 4 + ~list~0.offset, 4); {7838#(and (= 0 (select (store (select |#memory_$Pointer$.base| main_~list~0.base) (+ main_~list~0.offset 4) 0) main_~list~0.offset)) (= 0 (select (store (select |#memory_$Pointer$.offset| main_~list~0.base) (+ main_~list~0.offset 4) 0) main_~list~0.offset)))} is VALID [2020-07-10 15:08:54,783 INFO L280 TraceCheckUtils]: 10: Hoare triple {7838#(and (= 0 (select (store (select |#memory_$Pointer$.base| main_~list~0.base) (+ main_~list~0.offset 4) 0) main_~list~0.offset)) (= 0 (select (store (select |#memory_$Pointer$.offset| main_~list~0.base) (+ main_~list~0.offset 4) 0) main_~list~0.offset)))} call #t~mem5.base, #t~mem5.offset := read~$Pointer$(~list~0.base, 4 + ~list~0.offset, 4);#t~short7 := #t~mem5.base != 0 || #t~mem5.offset != 0; {7838#(and (= 0 (select (store (select |#memory_$Pointer$.base| main_~list~0.base) (+ main_~list~0.offset 4) 0) main_~list~0.offset)) (= 0 (select (store (select |#memory_$Pointer$.offset| main_~list~0.base) (+ main_~list~0.offset 4) 0) main_~list~0.offset)))} is VALID [2020-07-10 15:08:54,784 INFO L280 TraceCheckUtils]: 11: Hoare triple {7838#(and (= 0 (select (store (select |#memory_$Pointer$.base| main_~list~0.base) (+ main_~list~0.offset 4) 0) main_~list~0.offset)) (= 0 (select (store (select |#memory_$Pointer$.offset| main_~list~0.base) (+ main_~list~0.offset 4) 0) main_~list~0.offset)))} assume !#t~short7;call #t~mem6.base, #t~mem6.offset := read~$Pointer$(~list~0.base, 4 + ~list~0.offset, 4);#t~short7 := #t~mem6.base == 0 && #t~mem6.offset == 0; {7838#(and (= 0 (select (store (select |#memory_$Pointer$.base| main_~list~0.base) (+ main_~list~0.offset 4) 0) main_~list~0.offset)) (= 0 (select (store (select |#memory_$Pointer$.offset| main_~list~0.base) (+ main_~list~0.offset 4) 0) main_~list~0.offset)))} is VALID [2020-07-10 15:08:54,784 INFO L280 TraceCheckUtils]: 12: Hoare triple {7838#(and (= 0 (select (store (select |#memory_$Pointer$.base| main_~list~0.base) (+ main_~list~0.offset 4) 0) main_~list~0.offset)) (= 0 (select (store (select |#memory_$Pointer$.offset| main_~list~0.base) (+ main_~list~0.offset 4) 0) main_~list~0.offset)))} assume !!#t~short7;havoc #t~mem5.base, #t~mem5.offset;havoc #t~short7;havoc #t~mem6.base, #t~mem6.offset; {7838#(and (= 0 (select (store (select |#memory_$Pointer$.base| main_~list~0.base) (+ main_~list~0.offset 4) 0) main_~list~0.offset)) (= 0 (select (store (select |#memory_$Pointer$.offset| main_~list~0.base) (+ main_~list~0.offset 4) 0) main_~list~0.offset)))} is VALID [2020-07-10 15:08:54,785 INFO L280 TraceCheckUtils]: 13: Hoare triple {7838#(and (= 0 (select (store (select |#memory_$Pointer$.base| main_~list~0.base) (+ main_~list~0.offset 4) 0) main_~list~0.offset)) (= 0 (select (store (select |#memory_$Pointer$.offset| main_~list~0.base) (+ main_~list~0.offset 4) 0) main_~list~0.offset)))} goto; {7838#(and (= 0 (select (store (select |#memory_$Pointer$.base| main_~list~0.base) (+ main_~list~0.offset 4) 0) main_~list~0.offset)) (= 0 (select (store (select |#memory_$Pointer$.offset| main_~list~0.base) (+ main_~list~0.offset 4) 0) main_~list~0.offset)))} is VALID [2020-07-10 15:08:54,789 INFO L280 TraceCheckUtils]: 14: Hoare triple {7838#(and (= 0 (select (store (select |#memory_$Pointer$.base| main_~list~0.base) (+ main_~list~0.offset 4) 0) main_~list~0.offset)) (= 0 (select (store (select |#memory_$Pointer$.offset| main_~list~0.base) (+ main_~list~0.offset 4) 0) main_~list~0.offset)))} ~end~0.base, ~end~0.offset := ~list~0.base, ~list~0.offset; {7838#(and (= 0 (select (store (select |#memory_$Pointer$.base| main_~list~0.base) (+ main_~list~0.offset 4) 0) main_~list~0.offset)) (= 0 (select (store (select |#memory_$Pointer$.offset| main_~list~0.base) (+ main_~list~0.offset 4) 0) main_~list~0.offset)))} is VALID [2020-07-10 15:08:54,790 INFO L280 TraceCheckUtils]: 15: Hoare triple {7838#(and (= 0 (select (store (select |#memory_$Pointer$.base| main_~list~0.base) (+ main_~list~0.offset 4) 0) main_~list~0.offset)) (= 0 (select (store (select |#memory_$Pointer$.offset| main_~list~0.base) (+ main_~list~0.offset 4) 0) main_~list~0.offset)))} assume -2147483648 <= #t~nondet8 && #t~nondet8 <= 2147483647; {7838#(and (= 0 (select (store (select |#memory_$Pointer$.base| main_~list~0.base) (+ main_~list~0.offset 4) 0) main_~list~0.offset)) (= 0 (select (store (select |#memory_$Pointer$.offset| main_~list~0.base) (+ main_~list~0.offset 4) 0) main_~list~0.offset)))} is VALID [2020-07-10 15:08:54,791 INFO L280 TraceCheckUtils]: 16: Hoare triple {7838#(and (= 0 (select (store (select |#memory_$Pointer$.base| main_~list~0.base) (+ main_~list~0.offset 4) 0) main_~list~0.offset)) (= 0 (select (store (select |#memory_$Pointer$.offset| main_~list~0.base) (+ main_~list~0.offset 4) 0) main_~list~0.offset)))} assume !(0 != #t~nondet8);havoc #t~nondet8; {7838#(and (= 0 (select (store (select |#memory_$Pointer$.base| main_~list~0.base) (+ main_~list~0.offset 4) 0) main_~list~0.offset)) (= 0 (select (store (select |#memory_$Pointer$.offset| main_~list~0.base) (+ main_~list~0.offset 4) 0) main_~list~0.offset)))} is VALID [2020-07-10 15:08:54,792 INFO L280 TraceCheckUtils]: 17: Hoare triple {7838#(and (= 0 (select (store (select |#memory_$Pointer$.base| main_~list~0.base) (+ main_~list~0.offset 4) 0) main_~list~0.offset)) (= 0 (select (store (select |#memory_$Pointer$.offset| main_~list~0.base) (+ main_~list~0.offset 4) 0) main_~list~0.offset)))} ~end~0.base, ~end~0.offset := 0, 0;~end~0.base, ~end~0.offset := ~list~0.base, ~list~0.offset; {7839#(and (= 0 (select (select |#memory_$Pointer$.offset| main_~end~0.base) main_~end~0.offset)) (= 0 (select (select |#memory_$Pointer$.base| main_~end~0.base) main_~end~0.offset)))} is VALID [2020-07-10 15:08:54,792 INFO L280 TraceCheckUtils]: 18: Hoare triple {7839#(and (= 0 (select (select |#memory_$Pointer$.offset| main_~end~0.base) main_~end~0.offset)) (= 0 (select (select |#memory_$Pointer$.base| main_~end~0.base) main_~end~0.offset)))} assume !!(0 != ~end~0.base || 0 != ~end~0.offset); {7839#(and (= 0 (select (select |#memory_$Pointer$.offset| main_~end~0.base) main_~end~0.offset)) (= 0 (select (select |#memory_$Pointer$.base| main_~end~0.base) main_~end~0.offset)))} is VALID [2020-07-10 15:08:54,793 INFO L280 TraceCheckUtils]: 19: Hoare triple {7839#(and (= 0 (select (select |#memory_$Pointer$.offset| main_~end~0.base) main_~end~0.offset)) (= 0 (select (select |#memory_$Pointer$.base| main_~end~0.base) main_~end~0.offset)))} goto; {7839#(and (= 0 (select (select |#memory_$Pointer$.offset| main_~end~0.base) main_~end~0.offset)) (= 0 (select (select |#memory_$Pointer$.base| main_~end~0.base) main_~end~0.offset)))} is VALID [2020-07-10 15:08:54,794 INFO L280 TraceCheckUtils]: 20: Hoare triple {7839#(and (= 0 (select (select |#memory_$Pointer$.offset| main_~end~0.base) main_~end~0.offset)) (= 0 (select (select |#memory_$Pointer$.base| main_~end~0.base) main_~end~0.offset)))} assume !!(0 != ~end~0.base || 0 != ~end~0.offset);~len~0 := 0;call #t~mem18.base, #t~mem18.offset := read~$Pointer$(~end~0.base, 4 + ~end~0.offset, 4);~inner~0.base, ~inner~0.offset := #t~mem18.base, #t~mem18.offset;havoc #t~mem18.base, #t~mem18.offset; {7839#(and (= 0 (select (select |#memory_$Pointer$.offset| main_~end~0.base) main_~end~0.offset)) (= 0 (select (select |#memory_$Pointer$.base| main_~end~0.base) main_~end~0.offset)))} is VALID [2020-07-10 15:08:54,794 INFO L280 TraceCheckUtils]: 21: Hoare triple {7839#(and (= 0 (select (select |#memory_$Pointer$.offset| main_~end~0.base) main_~end~0.offset)) (= 0 (select (select |#memory_$Pointer$.base| main_~end~0.base) main_~end~0.offset)))} assume !(0 != ~inner~0.base || 0 != ~inner~0.offset); {7839#(and (= 0 (select (select |#memory_$Pointer$.offset| main_~end~0.base) main_~end~0.offset)) (= 0 (select (select |#memory_$Pointer$.base| main_~end~0.base) main_~end~0.offset)))} is VALID [2020-07-10 15:08:54,795 INFO L280 TraceCheckUtils]: 22: Hoare triple {7839#(and (= 0 (select (select |#memory_$Pointer$.offset| main_~end~0.base) main_~end~0.offset)) (= 0 (select (select |#memory_$Pointer$.base| main_~end~0.base) main_~end~0.offset)))} assume !!(~len~0 <= 1); {7839#(and (= 0 (select (select |#memory_$Pointer$.offset| main_~end~0.base) main_~end~0.offset)) (= 0 (select (select |#memory_$Pointer$.base| main_~end~0.base) main_~end~0.offset)))} is VALID [2020-07-10 15:08:54,796 INFO L280 TraceCheckUtils]: 23: Hoare triple {7839#(and (= 0 (select (select |#memory_$Pointer$.offset| main_~end~0.base) main_~end~0.offset)) (= 0 (select (select |#memory_$Pointer$.base| main_~end~0.base) main_~end~0.offset)))} goto; {7839#(and (= 0 (select (select |#memory_$Pointer$.offset| main_~end~0.base) main_~end~0.offset)) (= 0 (select (select |#memory_$Pointer$.base| main_~end~0.base) main_~end~0.offset)))} is VALID [2020-07-10 15:08:54,797 INFO L280 TraceCheckUtils]: 24: Hoare triple {7839#(and (= 0 (select (select |#memory_$Pointer$.offset| main_~end~0.base) main_~end~0.offset)) (= 0 (select (select |#memory_$Pointer$.base| main_~end~0.base) main_~end~0.offset)))} call #t~mem23.base, #t~mem23.offset := read~$Pointer$(~end~0.base, ~end~0.offset, 4);~end~0.base, ~end~0.offset := #t~mem23.base, #t~mem23.offset;havoc #t~mem23.base, #t~mem23.offset; {7840#(and (= 0 main_~end~0.base) (= 0 main_~end~0.offset))} is VALID [2020-07-10 15:08:54,798 INFO L280 TraceCheckUtils]: 25: Hoare triple {7840#(and (= 0 main_~end~0.base) (= 0 main_~end~0.offset))} assume !!(0 != ~end~0.base || 0 != ~end~0.offset);~len~0 := 0;call #t~mem18.base, #t~mem18.offset := read~$Pointer$(~end~0.base, 4 + ~end~0.offset, 4);~inner~0.base, ~inner~0.offset := #t~mem18.base, #t~mem18.offset;havoc #t~mem18.base, #t~mem18.offset; {7834#false} is VALID [2020-07-10 15:08:54,798 INFO L280 TraceCheckUtils]: 26: Hoare triple {7834#false} assume !!(0 != ~inner~0.base || 0 != ~inner~0.offset); {7834#false} is VALID [2020-07-10 15:08:54,798 INFO L280 TraceCheckUtils]: 27: Hoare triple {7834#false} assume 0 == ~len~0;~len~0 := 1; {7834#false} is VALID [2020-07-10 15:08:54,798 INFO L280 TraceCheckUtils]: 28: Hoare triple {7834#false} assume !!(0 != ~inner~0.base || 0 != ~inner~0.offset); {7834#false} is VALID [2020-07-10 15:08:54,798 INFO L280 TraceCheckUtils]: 29: Hoare triple {7834#false} goto; {7834#false} is VALID [2020-07-10 15:08:54,799 INFO L280 TraceCheckUtils]: 30: Hoare triple {7834#false} call #t~mem19.base, #t~mem19.offset := read~$Pointer$(~inner~0.base, 4 + ~inner~0.offset, 4); {7834#false} is VALID [2020-07-10 15:08:54,799 INFO L280 TraceCheckUtils]: 31: Hoare triple {7834#false} assume !(0 == #t~mem19.base && 0 == #t~mem19.offset);havoc #t~mem19.base, #t~mem19.offset; {7834#false} is VALID [2020-07-10 15:08:54,799 INFO L280 TraceCheckUtils]: 32: Hoare triple {7834#false} assume !false; {7834#false} is VALID [2020-07-10 15:08:54,804 INFO L134 CoverageAnalysis]: Checked inductivity of 2 backedges. 1 proven. 1 refuted. 0 times theorem prover too weak. 0 trivial. 0 not checked. [2020-07-10 15:08:54,805 INFO L354 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleSmtInterpolCraig [879003573] [2020-07-10 15:08:54,807 INFO L354 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleZ3 [1126218007] [2020-07-10 15:08:54,807 INFO L94 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 Starting monitored process 2 with z3 -smt2 -in SMTLIB2_COMPLIANT=true (exit command is (exit), workingDir is null) Waiting until toolchain timeout for monitored process 2 with z3 -smt2 -in SMTLIB2_COMPLIANT=true [2020-07-10 15:08:54,937 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2020-07-10 15:08:54,939 INFO L264 TraceCheckSpWp]: Trace formula consists of 115 conjuncts, 17 conjunts are in the unsatisfiable core [2020-07-10 15:08:54,951 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2020-07-10 15:08:54,958 INFO L287 TraceCheckSpWp]: Computing forward predicates... [2020-07-10 15:08:55,059 INFO L384 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 2, 1 stores, 0 select indices, 0 select index equivalence classes, 0 disjoint index pairs (out of 0 index pairs), introduced 0 new quantified variables, introduced 0 case distinctions, treesize of input 11 treesize of output 7 [2020-07-10 15:08:55,060 INFO L544 ElimStorePlain]: Start of recursive call 2: End of recursive call: and 1 xjuncts. [2020-07-10 15:08:55,069 INFO L624 ElimStorePlain]: treesize reduction 0, result has 100.0 percent of original size [2020-07-10 15:08:55,074 INFO L384 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 2, 1 stores, 0 select indices, 0 select index equivalence classes, 0 disjoint index pairs (out of 0 index pairs), introduced 0 new quantified variables, introduced 0 case distinctions, treesize of input 11 treesize of output 7 [2020-07-10 15:08:55,075 INFO L544 ElimStorePlain]: Start of recursive call 3: End of recursive call: and 1 xjuncts. [2020-07-10 15:08:55,081 INFO L624 ElimStorePlain]: treesize reduction 0, result has 100.0 percent of original size [2020-07-10 15:08:55,082 INFO L544 ElimStorePlain]: Start of recursive call 1: 2 dim-2 vars, End of recursive call: and 1 xjuncts. [2020-07-10 15:08:55,082 INFO L244 ElimStorePlain]: Needed 3 recursive calls to eliminate 2 variables, input treesize:26, output treesize:18 [2020-07-10 15:08:55,133 INFO L190 IndexEqualityManager]: detected not equals via solver [2020-07-10 15:08:55,135 INFO L384 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 2, 1 stores, 1 select indices, 1 select index equivalence classes, 1 disjoint index pairs (out of 0 index pairs), introduced 1 new quantified variables, introduced 0 case distinctions, treesize of input 21 treesize of output 20 [2020-07-10 15:08:55,137 INFO L544 ElimStorePlain]: Start of recursive call 2: End of recursive call: and 1 xjuncts. [2020-07-10 15:08:55,148 INFO L624 ElimStorePlain]: treesize reduction 0, result has 100.0 percent of original size [2020-07-10 15:08:55,153 INFO L190 IndexEqualityManager]: detected not equals via solver [2020-07-10 15:08:55,154 INFO L384 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 2, 1 stores, 1 select indices, 1 select index equivalence classes, 1 disjoint index pairs (out of 0 index pairs), introduced 1 new quantified variables, introduced 0 case distinctions, treesize of input 21 treesize of output 20 [2020-07-10 15:08:55,155 INFO L544 ElimStorePlain]: Start of recursive call 3: End of recursive call: and 1 xjuncts. [2020-07-10 15:08:55,166 INFO L624 ElimStorePlain]: treesize reduction 0, result has 100.0 percent of original size [2020-07-10 15:08:55,166 INFO L544 ElimStorePlain]: Start of recursive call 1: 2 dim-2 vars, End of recursive call: and 1 xjuncts. [2020-07-10 15:08:55,166 INFO L244 ElimStorePlain]: Needed 3 recursive calls to eliminate 2 variables, input treesize:44, output treesize:36 [2020-07-10 15:08:55,333 INFO L384 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 2, 0 stores, 2 select indices, 2 select index equivalence classes, 1 disjoint index pairs (out of 1 index pairs), introduced 2 new quantified variables, introduced 0 case distinctions, treesize of input 22 treesize of output 10 [2020-07-10 15:08:55,335 INFO L544 ElimStorePlain]: Start of recursive call 2: End of recursive call: and 1 xjuncts. [2020-07-10 15:08:55,344 INFO L624 ElimStorePlain]: treesize reduction 0, result has 100.0 percent of original size [2020-07-10 15:08:55,350 INFO L350 Elim1Store]: treesize reduction 0, result has 100.0 percent of original size [2020-07-10 15:08:55,351 INFO L384 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 2, 0 stores, 2 select indices, 2 select index equivalence classes, 1 disjoint index pairs (out of 1 index pairs), introduced 2 new quantified variables, introduced 1 case distinctions, treesize of input 22 treesize of output 10 [2020-07-10 15:08:55,355 INFO L544 ElimStorePlain]: Start of recursive call 3: End of recursive call: and 1 xjuncts. [2020-07-10 15:08:55,361 INFO L624 ElimStorePlain]: treesize reduction 0, result has 100.0 percent of original size [2020-07-10 15:08:55,362 INFO L544 ElimStorePlain]: Start of recursive call 1: 1 dim-0 vars, 2 dim-2 vars, End of recursive call: and 1 xjuncts. [2020-07-10 15:08:55,362 INFO L244 ElimStorePlain]: Needed 3 recursive calls to eliminate 3 variables, input treesize:43, output treesize:7 [2020-07-10 15:08:55,365 WARN L406 uantifierElimination]: Trying to double check SDD result, but SMT solver's response was UNKNOWN. [2020-07-10 15:08:55,366 WARN L407 uantifierElimination]: Input elimination task: ∃ [|#memory_$Pointer$.offset|, v_main_~end~0.base_30, |#memory_$Pointer$.base|]. (let ((.cse2 (select |#memory_$Pointer$.base| v_main_~end~0.base_30)) (.cse0 (select |#memory_$Pointer$.offset| v_main_~end~0.base_30))) (let ((.cse1 (select .cse0 0)) (.cse3 (select .cse2 0))) (and (= (select .cse0 4) 0) (= .cse1 main_~end~0.offset) (= 0 (select .cse2 4)) (= 0 .cse3) (= .cse1 0) (= .cse3 main_~end~0.base)))) [2020-07-10 15:08:55,366 WARN L408 uantifierElimination]: ElimStorePlain result: ∃ []. (and (= 0 main_~end~0.base) (= 0 main_~end~0.offset)) [2020-07-10 15:08:55,377 INFO L263 TraceCheckUtils]: 0: Hoare triple {7833#true} call ULTIMATE.init(); {7833#true} is VALID [2020-07-10 15:08:55,377 INFO L280 TraceCheckUtils]: 1: Hoare triple {7833#true} #NULL.base, #NULL.offset := 0, 0;#valid := #valid[0 := 0];assume 0 < #StackHeapBarrier; {7833#true} is VALID [2020-07-10 15:08:55,377 INFO L280 TraceCheckUtils]: 2: Hoare triple {7833#true} assume true; {7833#true} is VALID [2020-07-10 15:08:55,377 INFO L275 TraceCheckUtils]: 3: Hoare quadruple {7833#true} {7833#true} #337#return; {7833#true} is VALID [2020-07-10 15:08:55,378 INFO L263 TraceCheckUtils]: 4: Hoare triple {7833#true} call #t~ret28 := main(); {7833#true} is VALID [2020-07-10 15:08:55,379 INFO L280 TraceCheckUtils]: 5: Hoare triple {7833#true} call #t~malloc0.base, #t~malloc0.offset := #Ultimate.allocOnHeap(8);~list~0.base, ~list~0.offset := #t~malloc0.base, #t~malloc0.offset;call write~$Pointer$(0, 0, ~list~0.base, ~list~0.offset, 4); {7860#(and (= 0 (select (select |#memory_$Pointer$.base| main_~list~0.base) main_~list~0.offset)) (= 0 (select (select |#memory_$Pointer$.offset| main_~list~0.base) main_~list~0.offset)) (= 0 main_~list~0.offset))} is VALID [2020-07-10 15:08:55,380 INFO L280 TraceCheckUtils]: 6: Hoare triple {7860#(and (= 0 (select (select |#memory_$Pointer$.base| main_~list~0.base) main_~list~0.offset)) (= 0 (select (select |#memory_$Pointer$.offset| main_~list~0.base) main_~list~0.offset)) (= 0 main_~list~0.offset))} assume !!(~list~0.base != 0 || ~list~0.offset != 0); {7860#(and (= 0 (select (select |#memory_$Pointer$.base| main_~list~0.base) main_~list~0.offset)) (= 0 (select (select |#memory_$Pointer$.offset| main_~list~0.base) main_~list~0.offset)) (= 0 main_~list~0.offset))} is VALID [2020-07-10 15:08:55,381 INFO L280 TraceCheckUtils]: 7: Hoare triple {7860#(and (= 0 (select (select |#memory_$Pointer$.base| main_~list~0.base) main_~list~0.offset)) (= 0 (select (select |#memory_$Pointer$.offset| main_~list~0.base) main_~list~0.offset)) (= 0 main_~list~0.offset))} goto; {7860#(and (= 0 (select (select |#memory_$Pointer$.base| main_~list~0.base) main_~list~0.offset)) (= 0 (select (select |#memory_$Pointer$.offset| main_~list~0.base) main_~list~0.offset)) (= 0 main_~list~0.offset))} is VALID [2020-07-10 15:08:55,382 INFO L280 TraceCheckUtils]: 8: Hoare triple {7860#(and (= 0 (select (select |#memory_$Pointer$.base| main_~list~0.base) main_~list~0.offset)) (= 0 (select (select |#memory_$Pointer$.offset| main_~list~0.base) main_~list~0.offset)) (= 0 main_~list~0.offset))} assume -2147483648 <= #t~nondet1 && #t~nondet1 <= 2147483647; {7860#(and (= 0 (select (select |#memory_$Pointer$.base| main_~list~0.base) main_~list~0.offset)) (= 0 (select (select |#memory_$Pointer$.offset| main_~list~0.base) main_~list~0.offset)) (= 0 main_~list~0.offset))} is VALID [2020-07-10 15:08:55,383 INFO L280 TraceCheckUtils]: 9: Hoare triple {7860#(and (= 0 (select (select |#memory_$Pointer$.base| main_~list~0.base) main_~list~0.offset)) (= 0 (select (select |#memory_$Pointer$.offset| main_~list~0.base) main_~list~0.offset)) (= 0 main_~list~0.offset))} assume 0 != #t~nondet1;havoc #t~nondet1;call write~$Pointer$(0, 0, ~list~0.base, 4 + ~list~0.offset, 4); {7873#(and (= 0 (select (select |#memory_$Pointer$.base| main_~list~0.base) main_~list~0.offset)) (= 0 (select (select |#memory_$Pointer$.offset| main_~list~0.base) main_~list~0.offset)) (= 0 (select (select |#memory_$Pointer$.offset| main_~list~0.base) (+ main_~list~0.offset 4))) (= 0 main_~list~0.offset) (= 0 (select (select |#memory_$Pointer$.base| main_~list~0.base) (+ main_~list~0.offset 4))))} is VALID [2020-07-10 15:08:55,384 INFO L280 TraceCheckUtils]: 10: Hoare triple {7873#(and (= 0 (select (select |#memory_$Pointer$.base| main_~list~0.base) main_~list~0.offset)) (= 0 (select (select |#memory_$Pointer$.offset| main_~list~0.base) main_~list~0.offset)) (= 0 (select (select |#memory_$Pointer$.offset| main_~list~0.base) (+ main_~list~0.offset 4))) (= 0 main_~list~0.offset) (= 0 (select (select |#memory_$Pointer$.base| main_~list~0.base) (+ main_~list~0.offset 4))))} call #t~mem5.base, #t~mem5.offset := read~$Pointer$(~list~0.base, 4 + ~list~0.offset, 4);#t~short7 := #t~mem5.base != 0 || #t~mem5.offset != 0; {7873#(and (= 0 (select (select |#memory_$Pointer$.base| main_~list~0.base) main_~list~0.offset)) (= 0 (select (select |#memory_$Pointer$.offset| main_~list~0.base) main_~list~0.offset)) (= 0 (select (select |#memory_$Pointer$.offset| main_~list~0.base) (+ main_~list~0.offset 4))) (= 0 main_~list~0.offset) (= 0 (select (select |#memory_$Pointer$.base| main_~list~0.base) (+ main_~list~0.offset 4))))} is VALID [2020-07-10 15:08:55,385 INFO L280 TraceCheckUtils]: 11: Hoare triple {7873#(and (= 0 (select (select |#memory_$Pointer$.base| main_~list~0.base) main_~list~0.offset)) (= 0 (select (select |#memory_$Pointer$.offset| main_~list~0.base) main_~list~0.offset)) (= 0 (select (select |#memory_$Pointer$.offset| main_~list~0.base) (+ main_~list~0.offset 4))) (= 0 main_~list~0.offset) (= 0 (select (select |#memory_$Pointer$.base| main_~list~0.base) (+ main_~list~0.offset 4))))} assume !#t~short7;call #t~mem6.base, #t~mem6.offset := read~$Pointer$(~list~0.base, 4 + ~list~0.offset, 4);#t~short7 := #t~mem6.base == 0 && #t~mem6.offset == 0; {7873#(and (= 0 (select (select |#memory_$Pointer$.base| main_~list~0.base) main_~list~0.offset)) (= 0 (select (select |#memory_$Pointer$.offset| main_~list~0.base) main_~list~0.offset)) (= 0 (select (select |#memory_$Pointer$.offset| main_~list~0.base) (+ main_~list~0.offset 4))) (= 0 main_~list~0.offset) (= 0 (select (select |#memory_$Pointer$.base| main_~list~0.base) (+ main_~list~0.offset 4))))} is VALID [2020-07-10 15:08:55,391 INFO L280 TraceCheckUtils]: 12: Hoare triple {7873#(and (= 0 (select (select |#memory_$Pointer$.base| main_~list~0.base) main_~list~0.offset)) (= 0 (select (select |#memory_$Pointer$.offset| main_~list~0.base) main_~list~0.offset)) (= 0 (select (select |#memory_$Pointer$.offset| main_~list~0.base) (+ main_~list~0.offset 4))) (= 0 main_~list~0.offset) (= 0 (select (select |#memory_$Pointer$.base| main_~list~0.base) (+ main_~list~0.offset 4))))} assume !!#t~short7;havoc #t~mem5.base, #t~mem5.offset;havoc #t~short7;havoc #t~mem6.base, #t~mem6.offset; {7873#(and (= 0 (select (select |#memory_$Pointer$.base| main_~list~0.base) main_~list~0.offset)) (= 0 (select (select |#memory_$Pointer$.offset| main_~list~0.base) main_~list~0.offset)) (= 0 (select (select |#memory_$Pointer$.offset| main_~list~0.base) (+ main_~list~0.offset 4))) (= 0 main_~list~0.offset) (= 0 (select (select |#memory_$Pointer$.base| main_~list~0.base) (+ main_~list~0.offset 4))))} is VALID [2020-07-10 15:08:55,392 INFO L280 TraceCheckUtils]: 13: Hoare triple {7873#(and (= 0 (select (select |#memory_$Pointer$.base| main_~list~0.base) main_~list~0.offset)) (= 0 (select (select |#memory_$Pointer$.offset| main_~list~0.base) main_~list~0.offset)) (= 0 (select (select |#memory_$Pointer$.offset| main_~list~0.base) (+ main_~list~0.offset 4))) (= 0 main_~list~0.offset) (= 0 (select (select |#memory_$Pointer$.base| main_~list~0.base) (+ main_~list~0.offset 4))))} goto; {7873#(and (= 0 (select (select |#memory_$Pointer$.base| main_~list~0.base) main_~list~0.offset)) (= 0 (select (select |#memory_$Pointer$.offset| main_~list~0.base) main_~list~0.offset)) (= 0 (select (select |#memory_$Pointer$.offset| main_~list~0.base) (+ main_~list~0.offset 4))) (= 0 main_~list~0.offset) (= 0 (select (select |#memory_$Pointer$.base| main_~list~0.base) (+ main_~list~0.offset 4))))} is VALID [2020-07-10 15:08:55,393 INFO L280 TraceCheckUtils]: 14: Hoare triple {7873#(and (= 0 (select (select |#memory_$Pointer$.base| main_~list~0.base) main_~list~0.offset)) (= 0 (select (select |#memory_$Pointer$.offset| main_~list~0.base) main_~list~0.offset)) (= 0 (select (select |#memory_$Pointer$.offset| main_~list~0.base) (+ main_~list~0.offset 4))) (= 0 main_~list~0.offset) (= 0 (select (select |#memory_$Pointer$.base| main_~list~0.base) (+ main_~list~0.offset 4))))} ~end~0.base, ~end~0.offset := ~list~0.base, ~list~0.offset; {7873#(and (= 0 (select (select |#memory_$Pointer$.base| main_~list~0.base) main_~list~0.offset)) (= 0 (select (select |#memory_$Pointer$.offset| main_~list~0.base) main_~list~0.offset)) (= 0 (select (select |#memory_$Pointer$.offset| main_~list~0.base) (+ main_~list~0.offset 4))) (= 0 main_~list~0.offset) (= 0 (select (select |#memory_$Pointer$.base| main_~list~0.base) (+ main_~list~0.offset 4))))} is VALID [2020-07-10 15:08:55,394 INFO L280 TraceCheckUtils]: 15: Hoare triple {7873#(and (= 0 (select (select |#memory_$Pointer$.base| main_~list~0.base) main_~list~0.offset)) (= 0 (select (select |#memory_$Pointer$.offset| main_~list~0.base) main_~list~0.offset)) (= 0 (select (select |#memory_$Pointer$.offset| main_~list~0.base) (+ main_~list~0.offset 4))) (= 0 main_~list~0.offset) (= 0 (select (select |#memory_$Pointer$.base| main_~list~0.base) (+ main_~list~0.offset 4))))} assume -2147483648 <= #t~nondet8 && #t~nondet8 <= 2147483647; {7873#(and (= 0 (select (select |#memory_$Pointer$.base| main_~list~0.base) main_~list~0.offset)) (= 0 (select (select |#memory_$Pointer$.offset| main_~list~0.base) main_~list~0.offset)) (= 0 (select (select |#memory_$Pointer$.offset| main_~list~0.base) (+ main_~list~0.offset 4))) (= 0 main_~list~0.offset) (= 0 (select (select |#memory_$Pointer$.base| main_~list~0.base) (+ main_~list~0.offset 4))))} is VALID [2020-07-10 15:08:55,395 INFO L280 TraceCheckUtils]: 16: Hoare triple {7873#(and (= 0 (select (select |#memory_$Pointer$.base| main_~list~0.base) main_~list~0.offset)) (= 0 (select (select |#memory_$Pointer$.offset| main_~list~0.base) main_~list~0.offset)) (= 0 (select (select |#memory_$Pointer$.offset| main_~list~0.base) (+ main_~list~0.offset 4))) (= 0 main_~list~0.offset) (= 0 (select (select |#memory_$Pointer$.base| main_~list~0.base) (+ main_~list~0.offset 4))))} assume !(0 != #t~nondet8);havoc #t~nondet8; {7873#(and (= 0 (select (select |#memory_$Pointer$.base| main_~list~0.base) main_~list~0.offset)) (= 0 (select (select |#memory_$Pointer$.offset| main_~list~0.base) main_~list~0.offset)) (= 0 (select (select |#memory_$Pointer$.offset| main_~list~0.base) (+ main_~list~0.offset 4))) (= 0 main_~list~0.offset) (= 0 (select (select |#memory_$Pointer$.base| main_~list~0.base) (+ main_~list~0.offset 4))))} is VALID [2020-07-10 15:08:55,396 INFO L280 TraceCheckUtils]: 17: Hoare triple {7873#(and (= 0 (select (select |#memory_$Pointer$.base| main_~list~0.base) main_~list~0.offset)) (= 0 (select (select |#memory_$Pointer$.offset| main_~list~0.base) main_~list~0.offset)) (= 0 (select (select |#memory_$Pointer$.offset| main_~list~0.base) (+ main_~list~0.offset 4))) (= 0 main_~list~0.offset) (= 0 (select (select |#memory_$Pointer$.base| main_~list~0.base) (+ main_~list~0.offset 4))))} ~end~0.base, ~end~0.offset := 0, 0;~end~0.base, ~end~0.offset := ~list~0.base, ~list~0.offset; {7898#(and (= 0 (select (select |#memory_$Pointer$.offset| main_~end~0.base) (+ main_~end~0.offset 4))) (= 0 (select (select |#memory_$Pointer$.offset| main_~end~0.base) main_~end~0.offset)) (= 0 main_~end~0.offset) (= 0 (select (select |#memory_$Pointer$.base| main_~end~0.base) (+ main_~end~0.offset 4))) (= 0 (select (select |#memory_$Pointer$.base| main_~end~0.base) main_~end~0.offset)))} is VALID [2020-07-10 15:08:55,397 INFO L280 TraceCheckUtils]: 18: Hoare triple {7898#(and (= 0 (select (select |#memory_$Pointer$.offset| main_~end~0.base) (+ main_~end~0.offset 4))) (= 0 (select (select |#memory_$Pointer$.offset| main_~end~0.base) main_~end~0.offset)) (= 0 main_~end~0.offset) (= 0 (select (select |#memory_$Pointer$.base| main_~end~0.base) (+ main_~end~0.offset 4))) (= 0 (select (select |#memory_$Pointer$.base| main_~end~0.base) main_~end~0.offset)))} assume !!(0 != ~end~0.base || 0 != ~end~0.offset); {7898#(and (= 0 (select (select |#memory_$Pointer$.offset| main_~end~0.base) (+ main_~end~0.offset 4))) (= 0 (select (select |#memory_$Pointer$.offset| main_~end~0.base) main_~end~0.offset)) (= 0 main_~end~0.offset) (= 0 (select (select |#memory_$Pointer$.base| main_~end~0.base) (+ main_~end~0.offset 4))) (= 0 (select (select |#memory_$Pointer$.base| main_~end~0.base) main_~end~0.offset)))} is VALID [2020-07-10 15:08:55,398 INFO L280 TraceCheckUtils]: 19: Hoare triple {7898#(and (= 0 (select (select |#memory_$Pointer$.offset| main_~end~0.base) (+ main_~end~0.offset 4))) (= 0 (select (select |#memory_$Pointer$.offset| main_~end~0.base) main_~end~0.offset)) (= 0 main_~end~0.offset) (= 0 (select (select |#memory_$Pointer$.base| main_~end~0.base) (+ main_~end~0.offset 4))) (= 0 (select (select |#memory_$Pointer$.base| main_~end~0.base) main_~end~0.offset)))} goto; {7898#(and (= 0 (select (select |#memory_$Pointer$.offset| main_~end~0.base) (+ main_~end~0.offset 4))) (= 0 (select (select |#memory_$Pointer$.offset| main_~end~0.base) main_~end~0.offset)) (= 0 main_~end~0.offset) (= 0 (select (select |#memory_$Pointer$.base| main_~end~0.base) (+ main_~end~0.offset 4))) (= 0 (select (select |#memory_$Pointer$.base| main_~end~0.base) main_~end~0.offset)))} is VALID [2020-07-10 15:08:55,400 INFO L280 TraceCheckUtils]: 20: Hoare triple {7898#(and (= 0 (select (select |#memory_$Pointer$.offset| main_~end~0.base) (+ main_~end~0.offset 4))) (= 0 (select (select |#memory_$Pointer$.offset| main_~end~0.base) main_~end~0.offset)) (= 0 main_~end~0.offset) (= 0 (select (select |#memory_$Pointer$.base| main_~end~0.base) (+ main_~end~0.offset 4))) (= 0 (select (select |#memory_$Pointer$.base| main_~end~0.base) main_~end~0.offset)))} assume !!(0 != ~end~0.base || 0 != ~end~0.offset);~len~0 := 0;call #t~mem18.base, #t~mem18.offset := read~$Pointer$(~end~0.base, 4 + ~end~0.offset, 4);~inner~0.base, ~inner~0.offset := #t~mem18.base, #t~mem18.offset;havoc #t~mem18.base, #t~mem18.offset; {7898#(and (= 0 (select (select |#memory_$Pointer$.offset| main_~end~0.base) (+ main_~end~0.offset 4))) (= 0 (select (select |#memory_$Pointer$.offset| main_~end~0.base) main_~end~0.offset)) (= 0 main_~end~0.offset) (= 0 (select (select |#memory_$Pointer$.base| main_~end~0.base) (+ main_~end~0.offset 4))) (= 0 (select (select |#memory_$Pointer$.base| main_~end~0.base) main_~end~0.offset)))} is VALID [2020-07-10 15:08:55,401 INFO L280 TraceCheckUtils]: 21: Hoare triple {7898#(and (= 0 (select (select |#memory_$Pointer$.offset| main_~end~0.base) (+ main_~end~0.offset 4))) (= 0 (select (select |#memory_$Pointer$.offset| main_~end~0.base) main_~end~0.offset)) (= 0 main_~end~0.offset) (= 0 (select (select |#memory_$Pointer$.base| main_~end~0.base) (+ main_~end~0.offset 4))) (= 0 (select (select |#memory_$Pointer$.base| main_~end~0.base) main_~end~0.offset)))} assume !(0 != ~inner~0.base || 0 != ~inner~0.offset); {7898#(and (= 0 (select (select |#memory_$Pointer$.offset| main_~end~0.base) (+ main_~end~0.offset 4))) (= 0 (select (select |#memory_$Pointer$.offset| main_~end~0.base) main_~end~0.offset)) (= 0 main_~end~0.offset) (= 0 (select (select |#memory_$Pointer$.base| main_~end~0.base) (+ main_~end~0.offset 4))) (= 0 (select (select |#memory_$Pointer$.base| main_~end~0.base) main_~end~0.offset)))} is VALID [2020-07-10 15:08:55,401 INFO L280 TraceCheckUtils]: 22: Hoare triple {7898#(and (= 0 (select (select |#memory_$Pointer$.offset| main_~end~0.base) (+ main_~end~0.offset 4))) (= 0 (select (select |#memory_$Pointer$.offset| main_~end~0.base) main_~end~0.offset)) (= 0 main_~end~0.offset) (= 0 (select (select |#memory_$Pointer$.base| main_~end~0.base) (+ main_~end~0.offset 4))) (= 0 (select (select |#memory_$Pointer$.base| main_~end~0.base) main_~end~0.offset)))} assume !!(~len~0 <= 1); {7898#(and (= 0 (select (select |#memory_$Pointer$.offset| main_~end~0.base) (+ main_~end~0.offset 4))) (= 0 (select (select |#memory_$Pointer$.offset| main_~end~0.base) main_~end~0.offset)) (= 0 main_~end~0.offset) (= 0 (select (select |#memory_$Pointer$.base| main_~end~0.base) (+ main_~end~0.offset 4))) (= 0 (select (select |#memory_$Pointer$.base| main_~end~0.base) main_~end~0.offset)))} is VALID [2020-07-10 15:08:55,402 INFO L280 TraceCheckUtils]: 23: Hoare triple {7898#(and (= 0 (select (select |#memory_$Pointer$.offset| main_~end~0.base) (+ main_~end~0.offset 4))) (= 0 (select (select |#memory_$Pointer$.offset| main_~end~0.base) main_~end~0.offset)) (= 0 main_~end~0.offset) (= 0 (select (select |#memory_$Pointer$.base| main_~end~0.base) (+ main_~end~0.offset 4))) (= 0 (select (select |#memory_$Pointer$.base| main_~end~0.base) main_~end~0.offset)))} goto; {7898#(and (= 0 (select (select |#memory_$Pointer$.offset| main_~end~0.base) (+ main_~end~0.offset 4))) (= 0 (select (select |#memory_$Pointer$.offset| main_~end~0.base) main_~end~0.offset)) (= 0 main_~end~0.offset) (= 0 (select (select |#memory_$Pointer$.base| main_~end~0.base) (+ main_~end~0.offset 4))) (= 0 (select (select |#memory_$Pointer$.base| main_~end~0.base) main_~end~0.offset)))} is VALID [2020-07-10 15:08:55,403 INFO L280 TraceCheckUtils]: 24: Hoare triple {7898#(and (= 0 (select (select |#memory_$Pointer$.offset| main_~end~0.base) (+ main_~end~0.offset 4))) (= 0 (select (select |#memory_$Pointer$.offset| main_~end~0.base) main_~end~0.offset)) (= 0 main_~end~0.offset) (= 0 (select (select |#memory_$Pointer$.base| main_~end~0.base) (+ main_~end~0.offset 4))) (= 0 (select (select |#memory_$Pointer$.base| main_~end~0.base) main_~end~0.offset)))} call #t~mem23.base, #t~mem23.offset := read~$Pointer$(~end~0.base, ~end~0.offset, 4);~end~0.base, ~end~0.offset := #t~mem23.base, #t~mem23.offset;havoc #t~mem23.base, #t~mem23.offset; {7840#(and (= 0 main_~end~0.base) (= 0 main_~end~0.offset))} is VALID [2020-07-10 15:08:55,404 INFO L280 TraceCheckUtils]: 25: Hoare triple {7840#(and (= 0 main_~end~0.base) (= 0 main_~end~0.offset))} assume !!(0 != ~end~0.base || 0 != ~end~0.offset);~len~0 := 0;call #t~mem18.base, #t~mem18.offset := read~$Pointer$(~end~0.base, 4 + ~end~0.offset, 4);~inner~0.base, ~inner~0.offset := #t~mem18.base, #t~mem18.offset;havoc #t~mem18.base, #t~mem18.offset; {7834#false} is VALID [2020-07-10 15:08:55,404 INFO L280 TraceCheckUtils]: 26: Hoare triple {7834#false} assume !!(0 != ~inner~0.base || 0 != ~inner~0.offset); {7834#false} is VALID [2020-07-10 15:08:55,404 INFO L280 TraceCheckUtils]: 27: Hoare triple {7834#false} assume 0 == ~len~0;~len~0 := 1; {7834#false} is VALID [2020-07-10 15:08:55,405 INFO L280 TraceCheckUtils]: 28: Hoare triple {7834#false} assume !!(0 != ~inner~0.base || 0 != ~inner~0.offset); {7834#false} is VALID [2020-07-10 15:08:55,405 INFO L280 TraceCheckUtils]: 29: Hoare triple {7834#false} goto; {7834#false} is VALID [2020-07-10 15:08:55,405 INFO L280 TraceCheckUtils]: 30: Hoare triple {7834#false} call #t~mem19.base, #t~mem19.offset := read~$Pointer$(~inner~0.base, 4 + ~inner~0.offset, 4); {7834#false} is VALID [2020-07-10 15:08:55,405 INFO L280 TraceCheckUtils]: 31: Hoare triple {7834#false} assume !(0 == #t~mem19.base && 0 == #t~mem19.offset);havoc #t~mem19.base, #t~mem19.offset; {7834#false} is VALID [2020-07-10 15:08:55,405 INFO L280 TraceCheckUtils]: 32: Hoare triple {7834#false} assume !false; {7834#false} is VALID [2020-07-10 15:08:55,411 INFO L134 CoverageAnalysis]: Checked inductivity of 2 backedges. 1 proven. 1 refuted. 0 times theorem prover too weak. 0 trivial. 0 not checked. [2020-07-10 15:08:55,411 INFO L220 FreeRefinementEngine]: Constructing automaton from 0 perfect and 2 imperfect interpolant sequences. [2020-07-10 15:08:55,412 INFO L233 FreeRefinementEngine]: Number of different interpolants: perfect sequences [] imperfect sequences [6, 6] total 9 [2020-07-10 15:08:55,412 INFO L156 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [1251840497] [2020-07-10 15:08:55,412 INFO L78 Accepts]: Start accepts. Automaton has 9 states. Word has length 33 [2020-07-10 15:08:55,413 INFO L84 Accepts]: Finished accepts. word is accepted. [2020-07-10 15:08:55,413 INFO L86 InductivityCheck]: Starting indutivity check of a Floyd-Hoare automaton with 9 states. [2020-07-10 15:08:55,501 INFO L119 InductivityCheck]: Floyd-Hoare automaton has 55 edges. 55 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2020-07-10 15:08:55,502 INFO L459 AbstractCegarLoop]: Interpolant automaton has 9 states [2020-07-10 15:08:55,502 INFO L143 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy CAMEL [2020-07-10 15:08:55,502 INFO L142 InterpolantAutomaton]: Constructing interpolant automaton starting with 9 interpolants. [2020-07-10 15:08:55,502 INFO L144 InterpolantAutomaton]: CoverageRelationStatistics Valid=19, Invalid=53, Unknown=0, NotChecked=0, Total=72 [2020-07-10 15:08:55,503 INFO L87 Difference]: Start difference. First operand 120 states and 142 transitions. Second operand 9 states. [2020-07-10 15:08:56,917 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2020-07-10 15:08:56,918 INFO L93 Difference]: Finished difference Result 208 states and 242 transitions. [2020-07-10 15:08:56,918 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 11 states. [2020-07-10 15:08:56,918 INFO L78 Accepts]: Start accepts. Automaton has 9 states. Word has length 33 [2020-07-10 15:08:56,918 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2020-07-10 15:08:56,918 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 9 states. [2020-07-10 15:08:56,922 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 11 states to 11 states and 193 transitions. [2020-07-10 15:08:56,922 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 9 states. [2020-07-10 15:08:56,924 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 11 states to 11 states and 193 transitions. [2020-07-10 15:08:56,924 INFO L86 InductivityCheck]: Starting indutivity check of a Floyd-Hoare automaton with 11 states and 193 transitions. [2020-07-10 15:08:57,233 INFO L119 InductivityCheck]: Floyd-Hoare automaton has 193 edges. 193 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2020-07-10 15:08:57,236 INFO L225 Difference]: With dead ends: 208 [2020-07-10 15:08:57,236 INFO L226 Difference]: Without dead ends: 146 [2020-07-10 15:08:57,237 INFO L675 BasicCegarLoop]: 0 DeclaredPredicates, 44 GetRequests, 32 SyntacticMatches, 1 SemanticMatches, 11 ConstructedPredicates, 0 IntricatePredicates, 0 DeprecatedPredicates, 10 ImplicationChecksByTransitivity, 0.2s TimeCoverageRelationStatistics Valid=44, Invalid=112, Unknown=0, NotChecked=0, Total=156 [2020-07-10 15:08:57,238 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 146 states. [2020-07-10 15:08:57,353 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 146 to 122. [2020-07-10 15:08:57,354 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2020-07-10 15:08:57,354 INFO L82 GeneralOperation]: Start isEquivalent. First operand 146 states. Second operand 122 states. [2020-07-10 15:08:57,354 INFO L74 IsIncluded]: Start isIncluded. First operand 146 states. Second operand 122 states. [2020-07-10 15:08:57,354 INFO L87 Difference]: Start difference. First operand 146 states. Second operand 122 states. [2020-07-10 15:08:57,360 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2020-07-10 15:08:57,360 INFO L93 Difference]: Finished difference Result 146 states and 164 transitions. [2020-07-10 15:08:57,360 INFO L276 IsEmpty]: Start isEmpty. Operand 146 states and 164 transitions. [2020-07-10 15:08:57,361 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2020-07-10 15:08:57,361 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2020-07-10 15:08:57,361 INFO L74 IsIncluded]: Start isIncluded. First operand 122 states. Second operand 146 states. [2020-07-10 15:08:57,362 INFO L87 Difference]: Start difference. First operand 122 states. Second operand 146 states. [2020-07-10 15:08:57,367 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2020-07-10 15:08:57,367 INFO L93 Difference]: Finished difference Result 146 states and 164 transitions. [2020-07-10 15:08:57,367 INFO L276 IsEmpty]: Start isEmpty. Operand 146 states and 164 transitions. [2020-07-10 15:08:57,368 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2020-07-10 15:08:57,368 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2020-07-10 15:08:57,369 INFO L88 GeneralOperation]: Finished isEquivalent. [2020-07-10 15:08:57,369 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2020-07-10 15:08:57,369 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 122 states. [2020-07-10 15:08:57,373 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 122 states to 122 states and 142 transitions. [2020-07-10 15:08:57,373 INFO L78 Accepts]: Start accepts. Automaton has 122 states and 142 transitions. Word has length 33 [2020-07-10 15:08:57,373 INFO L84 Accepts]: Finished accepts. word is rejected. [2020-07-10 15:08:57,373 INFO L479 AbstractCegarLoop]: Abstraction has 122 states and 142 transitions. [2020-07-10 15:08:57,373 INFO L480 AbstractCegarLoop]: Interpolant automaton has 9 states. [2020-07-10 15:08:57,374 INFO L276 IsEmpty]: Start isEmpty. Operand 122 states and 142 transitions. [2020-07-10 15:08:57,375 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 34 [2020-07-10 15:08:57,375 INFO L414 BasicCegarLoop]: Found error trace [2020-07-10 15:08:57,375 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-10 15:08:57,588 WARN L516 AbstractCegarLoop]: Destroyed unattended storables created during the last iteration: 2 z3 -smt2 -in SMTLIB2_COMPLIANT=true,SelfDestructingSolverStorable15 [2020-07-10 15:08:57,589 INFO L427 AbstractCegarLoop]: === Iteration 17 === [mainErr0ASSERT_VIOLATIONERROR_FUNCTION, mainErr7ASSERT_VIOLATIONERROR_FUNCTION, mainErr8ASSERT_VIOLATIONERROR_FUNCTION, mainErr9ASSERT_VIOLATIONERROR_FUNCTION, mainErr10ASSERT_VIOLATIONERROR_FUNCTION, mainErr12ASSERT_VIOLATIONERROR_FUNCTION, mainErr4ASSERT_VIOLATIONERROR_FUNCTION, mainErr11ASSERT_VIOLATIONERROR_FUNCTION, mainErr2ASSERT_VIOLATIONERROR_FUNCTION, mainErr6ASSERT_VIOLATIONERROR_FUNCTION, mainErr5ASSERT_VIOLATIONERROR_FUNCTION, mainErr3ASSERT_VIOLATIONERROR_FUNCTION, mainErr1ASSERT_VIOLATIONERROR_FUNCTION]=== [2020-07-10 15:08:57,589 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2020-07-10 15:08:57,590 INFO L82 PathProgramCache]: Analyzing trace with hash 1814124928, now seen corresponding path program 1 times [2020-07-10 15:08:57,590 INFO L163 FreeRefinementEngine]: Executing refinement strategy CAMEL [2020-07-10 15:08:57,590 INFO L354 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [1838270709] [2020-07-10 15:08:57,590 INFO L94 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2020-07-10 15:08:57,611 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2020-07-10 15:08:57,747 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2020-07-10 15:08:57,751 INFO L280 TraceCheckUtils]: 0: Hoare triple {8624#(and (= |#valid| |old(#valid)|) (= |#NULL.base| |old(#NULL.base)|) (= |#NULL.offset| |old(#NULL.offset)|))} #NULL.base, #NULL.offset := 0, 0;#valid := #valid[0 := 0];assume 0 < #StackHeapBarrier; {8615#true} is VALID [2020-07-10 15:08:57,752 INFO L280 TraceCheckUtils]: 1: Hoare triple {8615#true} assume true; {8615#true} is VALID [2020-07-10 15:08:57,752 INFO L275 TraceCheckUtils]: 2: Hoare quadruple {8615#true} {8615#true} #337#return; {8615#true} is VALID [2020-07-10 15:08:57,753 INFO L263 TraceCheckUtils]: 0: Hoare triple {8615#true} call ULTIMATE.init(); {8624#(and (= |#valid| |old(#valid)|) (= |#NULL.base| |old(#NULL.base)|) (= |#NULL.offset| |old(#NULL.offset)|))} is VALID [2020-07-10 15:08:57,753 INFO L280 TraceCheckUtils]: 1: Hoare triple {8624#(and (= |#valid| |old(#valid)|) (= |#NULL.base| |old(#NULL.base)|) (= |#NULL.offset| |old(#NULL.offset)|))} #NULL.base, #NULL.offset := 0, 0;#valid := #valid[0 := 0];assume 0 < #StackHeapBarrier; {8615#true} is VALID [2020-07-10 15:08:57,754 INFO L280 TraceCheckUtils]: 2: Hoare triple {8615#true} assume true; {8615#true} is VALID [2020-07-10 15:08:57,754 INFO L275 TraceCheckUtils]: 3: Hoare quadruple {8615#true} {8615#true} #337#return; {8615#true} is VALID [2020-07-10 15:08:57,754 INFO L263 TraceCheckUtils]: 4: Hoare triple {8615#true} call #t~ret28 := main(); {8615#true} is VALID [2020-07-10 15:08:57,754 INFO L280 TraceCheckUtils]: 5: Hoare triple {8615#true} call #t~malloc0.base, #t~malloc0.offset := #Ultimate.allocOnHeap(8);~list~0.base, ~list~0.offset := #t~malloc0.base, #t~malloc0.offset;call write~$Pointer$(0, 0, ~list~0.base, ~list~0.offset, 4); {8615#true} is VALID [2020-07-10 15:08:57,754 INFO L280 TraceCheckUtils]: 6: Hoare triple {8615#true} assume !!(~list~0.base != 0 || ~list~0.offset != 0); {8615#true} is VALID [2020-07-10 15:08:57,755 INFO L280 TraceCheckUtils]: 7: Hoare triple {8615#true} goto; {8615#true} is VALID [2020-07-10 15:08:57,755 INFO L280 TraceCheckUtils]: 8: Hoare triple {8615#true} assume -2147483648 <= #t~nondet1 && #t~nondet1 <= 2147483647; {8615#true} is VALID [2020-07-10 15:08:57,755 INFO L280 TraceCheckUtils]: 9: Hoare triple {8615#true} assume !(0 != #t~nondet1);havoc #t~nondet1;call #t~malloc2.base, #t~malloc2.offset := #Ultimate.allocOnHeap(8);call write~$Pointer$(#t~malloc2.base, #t~malloc2.offset, ~list~0.base, 4 + ~list~0.offset, 4);call #t~mem3.base, #t~mem3.offset := read~$Pointer$(~list~0.base, 4 + ~list~0.offset, 4);call write~$Pointer$(0, 0, #t~mem3.base, #t~mem3.offset, 4);havoc #t~mem3.base, #t~mem3.offset;call #t~mem4.base, #t~mem4.offset := read~$Pointer$(~list~0.base, 4 + ~list~0.offset, 4);call write~$Pointer$(0, 0, #t~mem4.base, 4 + #t~mem4.offset, 4);havoc #t~mem4.base, #t~mem4.offset; {8615#true} is VALID [2020-07-10 15:08:57,756 INFO L280 TraceCheckUtils]: 10: Hoare triple {8615#true} call #t~mem5.base, #t~mem5.offset := read~$Pointer$(~list~0.base, 4 + ~list~0.offset, 4);#t~short7 := #t~mem5.base != 0 || #t~mem5.offset != 0; {8620#(or (not (= 0 (select (select |#memory_$Pointer$.offset| main_~list~0.base) (+ main_~list~0.offset 4)))) (not |main_#t~short7|) (not (= 0 (select (select |#memory_$Pointer$.base| main_~list~0.base) (+ main_~list~0.offset 4)))))} is VALID [2020-07-10 15:08:57,758 INFO L280 TraceCheckUtils]: 11: Hoare triple {8620#(or (not (= 0 (select (select |#memory_$Pointer$.offset| main_~list~0.base) (+ main_~list~0.offset 4)))) (not |main_#t~short7|) (not (= 0 (select (select |#memory_$Pointer$.base| main_~list~0.base) (+ main_~list~0.offset 4)))))} assume #t~short7; {8621#(or (not (= 0 (select (select |#memory_$Pointer$.offset| main_~list~0.base) (+ main_~list~0.offset 4)))) (not (= 0 (select (select |#memory_$Pointer$.base| main_~list~0.base) (+ main_~list~0.offset 4)))))} is VALID [2020-07-10 15:08:57,759 INFO L280 TraceCheckUtils]: 12: Hoare triple {8621#(or (not (= 0 (select (select |#memory_$Pointer$.offset| main_~list~0.base) (+ main_~list~0.offset 4)))) (not (= 0 (select (select |#memory_$Pointer$.base| main_~list~0.base) (+ main_~list~0.offset 4)))))} assume !!#t~short7;havoc #t~mem5.base, #t~mem5.offset;havoc #t~short7;havoc #t~mem6.base, #t~mem6.offset; {8621#(or (not (= 0 (select (select |#memory_$Pointer$.offset| main_~list~0.base) (+ main_~list~0.offset 4)))) (not (= 0 (select (select |#memory_$Pointer$.base| main_~list~0.base) (+ main_~list~0.offset 4)))))} is VALID [2020-07-10 15:08:57,759 INFO L280 TraceCheckUtils]: 13: Hoare triple {8621#(or (not (= 0 (select (select |#memory_$Pointer$.offset| main_~list~0.base) (+ main_~list~0.offset 4)))) (not (= 0 (select (select |#memory_$Pointer$.base| main_~list~0.base) (+ main_~list~0.offset 4)))))} goto; {8621#(or (not (= 0 (select (select |#memory_$Pointer$.offset| main_~list~0.base) (+ main_~list~0.offset 4)))) (not (= 0 (select (select |#memory_$Pointer$.base| main_~list~0.base) (+ main_~list~0.offset 4)))))} is VALID [2020-07-10 15:08:57,760 INFO L280 TraceCheckUtils]: 14: Hoare triple {8621#(or (not (= 0 (select (select |#memory_$Pointer$.offset| main_~list~0.base) (+ main_~list~0.offset 4)))) (not (= 0 (select (select |#memory_$Pointer$.base| main_~list~0.base) (+ main_~list~0.offset 4)))))} ~end~0.base, ~end~0.offset := ~list~0.base, ~list~0.offset; {8621#(or (not (= 0 (select (select |#memory_$Pointer$.offset| main_~list~0.base) (+ main_~list~0.offset 4)))) (not (= 0 (select (select |#memory_$Pointer$.base| main_~list~0.base) (+ main_~list~0.offset 4)))))} is VALID [2020-07-10 15:08:57,761 INFO L280 TraceCheckUtils]: 15: Hoare triple {8621#(or (not (= 0 (select (select |#memory_$Pointer$.offset| main_~list~0.base) (+ main_~list~0.offset 4)))) (not (= 0 (select (select |#memory_$Pointer$.base| main_~list~0.base) (+ main_~list~0.offset 4)))))} assume -2147483648 <= #t~nondet8 && #t~nondet8 <= 2147483647; {8621#(or (not (= 0 (select (select |#memory_$Pointer$.offset| main_~list~0.base) (+ main_~list~0.offset 4)))) (not (= 0 (select (select |#memory_$Pointer$.base| main_~list~0.base) (+ main_~list~0.offset 4)))))} is VALID [2020-07-10 15:08:57,762 INFO L280 TraceCheckUtils]: 16: Hoare triple {8621#(or (not (= 0 (select (select |#memory_$Pointer$.offset| main_~list~0.base) (+ main_~list~0.offset 4)))) (not (= 0 (select (select |#memory_$Pointer$.base| main_~list~0.base) (+ main_~list~0.offset 4)))))} assume !(0 != #t~nondet8);havoc #t~nondet8; {8621#(or (not (= 0 (select (select |#memory_$Pointer$.offset| main_~list~0.base) (+ main_~list~0.offset 4)))) (not (= 0 (select (select |#memory_$Pointer$.base| main_~list~0.base) (+ main_~list~0.offset 4)))))} is VALID [2020-07-10 15:08:57,763 INFO L280 TraceCheckUtils]: 17: Hoare triple {8621#(or (not (= 0 (select (select |#memory_$Pointer$.offset| main_~list~0.base) (+ main_~list~0.offset 4)))) (not (= 0 (select (select |#memory_$Pointer$.base| main_~list~0.base) (+ main_~list~0.offset 4)))))} ~end~0.base, ~end~0.offset := 0, 0;~end~0.base, ~end~0.offset := ~list~0.base, ~list~0.offset; {8622#(or (not (= 0 (select (select |#memory_$Pointer$.offset| main_~end~0.base) (+ main_~end~0.offset 4)))) (not (= 0 (select (select |#memory_$Pointer$.base| main_~end~0.base) (+ main_~end~0.offset 4)))))} is VALID [2020-07-10 15:08:57,765 INFO L280 TraceCheckUtils]: 18: Hoare triple {8622#(or (not (= 0 (select (select |#memory_$Pointer$.offset| main_~end~0.base) (+ main_~end~0.offset 4)))) (not (= 0 (select (select |#memory_$Pointer$.base| main_~end~0.base) (+ main_~end~0.offset 4)))))} assume !!(0 != ~end~0.base || 0 != ~end~0.offset); {8622#(or (not (= 0 (select (select |#memory_$Pointer$.offset| main_~end~0.base) (+ main_~end~0.offset 4)))) (not (= 0 (select (select |#memory_$Pointer$.base| main_~end~0.base) (+ main_~end~0.offset 4)))))} is VALID [2020-07-10 15:08:57,765 INFO L280 TraceCheckUtils]: 19: Hoare triple {8622#(or (not (= 0 (select (select |#memory_$Pointer$.offset| main_~end~0.base) (+ main_~end~0.offset 4)))) (not (= 0 (select (select |#memory_$Pointer$.base| main_~end~0.base) (+ main_~end~0.offset 4)))))} goto; {8622#(or (not (= 0 (select (select |#memory_$Pointer$.offset| main_~end~0.base) (+ main_~end~0.offset 4)))) (not (= 0 (select (select |#memory_$Pointer$.base| main_~end~0.base) (+ main_~end~0.offset 4)))))} is VALID [2020-07-10 15:08:57,766 INFO L280 TraceCheckUtils]: 20: Hoare triple {8622#(or (not (= 0 (select (select |#memory_$Pointer$.offset| main_~end~0.base) (+ main_~end~0.offset 4)))) (not (= 0 (select (select |#memory_$Pointer$.base| main_~end~0.base) (+ main_~end~0.offset 4)))))} assume !!(0 != ~end~0.base || 0 != ~end~0.offset);~len~0 := 0;call #t~mem18.base, #t~mem18.offset := read~$Pointer$(~end~0.base, 4 + ~end~0.offset, 4);~inner~0.base, ~inner~0.offset := #t~mem18.base, #t~mem18.offset;havoc #t~mem18.base, #t~mem18.offset; {8623#(or (not (= 0 main_~inner~0.base)) (not (= 0 main_~inner~0.offset)))} is VALID [2020-07-10 15:08:57,767 INFO L280 TraceCheckUtils]: 21: Hoare triple {8623#(or (not (= 0 main_~inner~0.base)) (not (= 0 main_~inner~0.offset)))} assume !(0 != ~inner~0.base || 0 != ~inner~0.offset); {8616#false} is VALID [2020-07-10 15:08:57,767 INFO L280 TraceCheckUtils]: 22: Hoare triple {8616#false} assume !!(~len~0 <= 1); {8616#false} is VALID [2020-07-10 15:08:57,767 INFO L280 TraceCheckUtils]: 23: Hoare triple {8616#false} goto; {8616#false} is VALID [2020-07-10 15:08:57,767 INFO L280 TraceCheckUtils]: 24: Hoare triple {8616#false} call #t~mem23.base, #t~mem23.offset := read~$Pointer$(~end~0.base, ~end~0.offset, 4);~end~0.base, ~end~0.offset := #t~mem23.base, #t~mem23.offset;havoc #t~mem23.base, #t~mem23.offset; {8616#false} is VALID [2020-07-10 15:08:57,768 INFO L280 TraceCheckUtils]: 25: Hoare triple {8616#false} assume !(0 != ~end~0.base || 0 != ~end~0.offset); {8616#false} is VALID [2020-07-10 15:08:57,768 INFO L280 TraceCheckUtils]: 26: Hoare triple {8616#false} assume !!(0 != ~list~0.base || 0 != ~list~0.offset);call #t~mem24.base, #t~mem24.offset := read~$Pointer$(~list~0.base, 4 + ~list~0.offset, 4);~end~0.base, ~end~0.offset := #t~mem24.base, #t~mem24.offset;havoc #t~mem24.base, #t~mem24.offset; {8616#false} is VALID [2020-07-10 15:08:57,768 INFO L280 TraceCheckUtils]: 27: Hoare triple {8616#false} assume 0 != ~end~0.base || 0 != ~end~0.offset; {8616#false} is VALID [2020-07-10 15:08:57,768 INFO L280 TraceCheckUtils]: 28: Hoare triple {8616#false} assume !!(0 != ~end~0.base || 0 != ~end~0.offset); {8616#false} is VALID [2020-07-10 15:08:57,768 INFO L280 TraceCheckUtils]: 29: Hoare triple {8616#false} goto; {8616#false} is VALID [2020-07-10 15:08:57,769 INFO L280 TraceCheckUtils]: 30: Hoare triple {8616#false} call #t~mem25.base, #t~mem25.offset := read~$Pointer$(~end~0.base, 4 + ~end~0.offset, 4); {8616#false} is VALID [2020-07-10 15:08:57,769 INFO L280 TraceCheckUtils]: 31: Hoare triple {8616#false} assume !(0 == #t~mem25.base && 0 == #t~mem25.offset);havoc #t~mem25.base, #t~mem25.offset; {8616#false} is VALID [2020-07-10 15:08:57,769 INFO L280 TraceCheckUtils]: 32: Hoare triple {8616#false} assume !false; {8616#false} is VALID [2020-07-10 15:08:57,772 INFO L134 CoverageAnalysis]: Checked inductivity of 1 backedges. 1 proven. 0 refuted. 0 times theorem prover too weak. 0 trivial. 0 not checked. [2020-07-10 15:08:57,772 INFO L354 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleSmtInterpolCraig [1838270709] [2020-07-10 15:08:57,772 INFO L220 FreeRefinementEngine]: Constructing automaton from 1 perfect and 0 imperfect interpolant sequences. [2020-07-10 15:08:57,773 INFO L233 FreeRefinementEngine]: Number of different interpolants: perfect sequences [7] imperfect sequences [] total 7 [2020-07-10 15:08:57,773 INFO L156 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [485920386] [2020-07-10 15:08:57,774 INFO L78 Accepts]: Start accepts. Automaton has 7 states. Word has length 33 [2020-07-10 15:08:57,775 INFO L84 Accepts]: Finished accepts. word is accepted. [2020-07-10 15:08:57,775 INFO L86 InductivityCheck]: Starting indutivity check of a Floyd-Hoare automaton with 7 states. [2020-07-10 15:08:57,825 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-10 15:08:57,825 INFO L459 AbstractCegarLoop]: Interpolant automaton has 7 states [2020-07-10 15:08:57,826 INFO L143 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy CAMEL [2020-07-10 15:08:57,826 INFO L142 InterpolantAutomaton]: Constructing interpolant automaton starting with 7 interpolants. [2020-07-10 15:08:57,826 INFO L144 InterpolantAutomaton]: CoverageRelationStatistics Valid=12, Invalid=30, Unknown=0, NotChecked=0, Total=42 [2020-07-10 15:08:57,826 INFO L87 Difference]: Start difference. First operand 122 states and 142 transitions. Second operand 7 states. [2020-07-10 15:08:58,898 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2020-07-10 15:08:58,899 INFO L93 Difference]: Finished difference Result 198 states and 225 transitions. [2020-07-10 15:08:58,899 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 8 states. [2020-07-10 15:08:58,899 INFO L78 Accepts]: Start accepts. Automaton has 7 states. Word has length 33 [2020-07-10 15:08:58,899 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2020-07-10 15:08:58,899 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 7 states. [2020-07-10 15:08:58,901 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 8 states to 8 states and 153 transitions. [2020-07-10 15:08:58,901 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 7 states. [2020-07-10 15:08:58,902 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 8 states to 8 states and 153 transitions. [2020-07-10 15:08:58,902 INFO L86 InductivityCheck]: Starting indutivity check of a Floyd-Hoare automaton with 8 states and 153 transitions. [2020-07-10 15:08:59,093 INFO L119 InductivityCheck]: Floyd-Hoare automaton has 153 edges. 153 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2020-07-10 15:08:59,097 INFO L225 Difference]: With dead ends: 198 [2020-07-10 15:08:59,097 INFO L226 Difference]: Without dead ends: 178 [2020-07-10 15:08:59,098 INFO L675 BasicCegarLoop]: 0 DeclaredPredicates, 10 GetRequests, 3 SyntacticMatches, 0 SemanticMatches, 7 ConstructedPredicates, 0 IntricatePredicates, 0 DeprecatedPredicates, 3 ImplicationChecksByTransitivity, 0.1s TimeCoverageRelationStatistics Valid=24, Invalid=48, Unknown=0, NotChecked=0, Total=72 [2020-07-10 15:08:59,098 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 178 states. [2020-07-10 15:08:59,247 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 178 to 132. [2020-07-10 15:08:59,248 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2020-07-10 15:08:59,248 INFO L82 GeneralOperation]: Start isEquivalent. First operand 178 states. Second operand 132 states. [2020-07-10 15:08:59,248 INFO L74 IsIncluded]: Start isIncluded. First operand 178 states. Second operand 132 states. [2020-07-10 15:08:59,248 INFO L87 Difference]: Start difference. First operand 178 states. Second operand 132 states. [2020-07-10 15:08:59,251 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2020-07-10 15:08:59,252 INFO L93 Difference]: Finished difference Result 178 states and 203 transitions. [2020-07-10 15:08:59,252 INFO L276 IsEmpty]: Start isEmpty. Operand 178 states and 203 transitions. [2020-07-10 15:08:59,252 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2020-07-10 15:08:59,253 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2020-07-10 15:08:59,253 INFO L74 IsIncluded]: Start isIncluded. First operand 132 states. Second operand 178 states. [2020-07-10 15:08:59,253 INFO L87 Difference]: Start difference. First operand 132 states. Second operand 178 states. [2020-07-10 15:08:59,256 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2020-07-10 15:08:59,256 INFO L93 Difference]: Finished difference Result 178 states and 203 transitions. [2020-07-10 15:08:59,257 INFO L276 IsEmpty]: Start isEmpty. Operand 178 states and 203 transitions. [2020-07-10 15:08:59,257 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2020-07-10 15:08:59,257 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2020-07-10 15:08:59,257 INFO L88 GeneralOperation]: Finished isEquivalent. [2020-07-10 15:08:59,258 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2020-07-10 15:08:59,258 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 132 states. [2020-07-10 15:08:59,260 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 132 states to 132 states and 153 transitions. [2020-07-10 15:08:59,260 INFO L78 Accepts]: Start accepts. Automaton has 132 states and 153 transitions. Word has length 33 [2020-07-10 15:08:59,260 INFO L84 Accepts]: Finished accepts. word is rejected. [2020-07-10 15:08:59,260 INFO L479 AbstractCegarLoop]: Abstraction has 132 states and 153 transitions. [2020-07-10 15:08:59,261 INFO L480 AbstractCegarLoop]: Interpolant automaton has 7 states. [2020-07-10 15:08:59,261 INFO L276 IsEmpty]: Start isEmpty. Operand 132 states and 153 transitions. [2020-07-10 15:08:59,261 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 34 [2020-07-10 15:08:59,261 INFO L414 BasicCegarLoop]: Found error trace [2020-07-10 15:08:59,262 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-10 15:08:59,262 WARN L516 AbstractCegarLoop]: Destroyed unattended storables created during the last iteration: SelfDestructingSolverStorable16 [2020-07-10 15:08:59,262 INFO L427 AbstractCegarLoop]: === Iteration 18 === [mainErr0ASSERT_VIOLATIONERROR_FUNCTION, mainErr7ASSERT_VIOLATIONERROR_FUNCTION, mainErr8ASSERT_VIOLATIONERROR_FUNCTION, mainErr9ASSERT_VIOLATIONERROR_FUNCTION, mainErr10ASSERT_VIOLATIONERROR_FUNCTION, mainErr12ASSERT_VIOLATIONERROR_FUNCTION, mainErr4ASSERT_VIOLATIONERROR_FUNCTION, mainErr11ASSERT_VIOLATIONERROR_FUNCTION, mainErr2ASSERT_VIOLATIONERROR_FUNCTION, mainErr6ASSERT_VIOLATIONERROR_FUNCTION, mainErr5ASSERT_VIOLATIONERROR_FUNCTION, mainErr3ASSERT_VIOLATIONERROR_FUNCTION, mainErr1ASSERT_VIOLATIONERROR_FUNCTION]=== [2020-07-10 15:08:59,262 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2020-07-10 15:08:59,262 INFO L82 PathProgramCache]: Analyzing trace with hash 2032979646, now seen corresponding path program 1 times [2020-07-10 15:08:59,263 INFO L163 FreeRefinementEngine]: Executing refinement strategy CAMEL [2020-07-10 15:08:59,263 INFO L354 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [405346066] [2020-07-10 15:08:59,263 INFO L94 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2020-07-10 15:08:59,276 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2020-07-10 15:08:59,363 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2020-07-10 15:08:59,366 INFO L280 TraceCheckUtils]: 0: Hoare triple {9370#(and (= |#valid| |old(#valid)|) (= |#NULL.base| |old(#NULL.base)|) (= |#NULL.offset| |old(#NULL.offset)|))} #NULL.base, #NULL.offset := 0, 0;#valid := #valid[0 := 0];assume 0 < #StackHeapBarrier; {9362#true} is VALID [2020-07-10 15:08:59,366 INFO L280 TraceCheckUtils]: 1: Hoare triple {9362#true} assume true; {9362#true} is VALID [2020-07-10 15:08:59,367 INFO L275 TraceCheckUtils]: 2: Hoare quadruple {9362#true} {9362#true} #337#return; {9362#true} is VALID [2020-07-10 15:08:59,367 INFO L263 TraceCheckUtils]: 0: Hoare triple {9362#true} call ULTIMATE.init(); {9370#(and (= |#valid| |old(#valid)|) (= |#NULL.base| |old(#NULL.base)|) (= |#NULL.offset| |old(#NULL.offset)|))} is VALID [2020-07-10 15:08:59,368 INFO L280 TraceCheckUtils]: 1: Hoare triple {9370#(and (= |#valid| |old(#valid)|) (= |#NULL.base| |old(#NULL.base)|) (= |#NULL.offset| |old(#NULL.offset)|))} #NULL.base, #NULL.offset := 0, 0;#valid := #valid[0 := 0];assume 0 < #StackHeapBarrier; {9362#true} is VALID [2020-07-10 15:08:59,368 INFO L280 TraceCheckUtils]: 2: Hoare triple {9362#true} assume true; {9362#true} is VALID [2020-07-10 15:08:59,368 INFO L275 TraceCheckUtils]: 3: Hoare quadruple {9362#true} {9362#true} #337#return; {9362#true} is VALID [2020-07-10 15:08:59,369 INFO L263 TraceCheckUtils]: 4: Hoare triple {9362#true} call #t~ret28 := main(); {9362#true} is VALID [2020-07-10 15:08:59,369 INFO L280 TraceCheckUtils]: 5: Hoare triple {9362#true} call #t~malloc0.base, #t~malloc0.offset := #Ultimate.allocOnHeap(8);~list~0.base, ~list~0.offset := #t~malloc0.base, #t~malloc0.offset;call write~$Pointer$(0, 0, ~list~0.base, ~list~0.offset, 4); {9362#true} is VALID [2020-07-10 15:08:59,369 INFO L280 TraceCheckUtils]: 6: Hoare triple {9362#true} assume !!(~list~0.base != 0 || ~list~0.offset != 0); {9362#true} is VALID [2020-07-10 15:08:59,369 INFO L280 TraceCheckUtils]: 7: Hoare triple {9362#true} goto; {9362#true} is VALID [2020-07-10 15:08:59,370 INFO L280 TraceCheckUtils]: 8: Hoare triple {9362#true} assume -2147483648 <= #t~nondet1 && #t~nondet1 <= 2147483647; {9362#true} is VALID [2020-07-10 15:08:59,370 INFO L280 TraceCheckUtils]: 9: Hoare triple {9362#true} assume !(0 != #t~nondet1);havoc #t~nondet1;call #t~malloc2.base, #t~malloc2.offset := #Ultimate.allocOnHeap(8);call write~$Pointer$(#t~malloc2.base, #t~malloc2.offset, ~list~0.base, 4 + ~list~0.offset, 4);call #t~mem3.base, #t~mem3.offset := read~$Pointer$(~list~0.base, 4 + ~list~0.offset, 4);call write~$Pointer$(0, 0, #t~mem3.base, #t~mem3.offset, 4);havoc #t~mem3.base, #t~mem3.offset;call #t~mem4.base, #t~mem4.offset := read~$Pointer$(~list~0.base, 4 + ~list~0.offset, 4);call write~$Pointer$(0, 0, #t~mem4.base, 4 + #t~mem4.offset, 4);havoc #t~mem4.base, #t~mem4.offset; {9362#true} is VALID [2020-07-10 15:08:59,371 INFO L280 TraceCheckUtils]: 10: Hoare triple {9362#true} call #t~mem5.base, #t~mem5.offset := read~$Pointer$(~list~0.base, 4 + ~list~0.offset, 4);#t~short7 := #t~mem5.base != 0 || #t~mem5.offset != 0; {9367#(or |main_#t~short7| (and (= 0 (select (select |#memory_$Pointer$.offset| main_~list~0.base) (+ main_~list~0.offset 4))) (= 0 (select (select |#memory_$Pointer$.base| main_~list~0.base) (+ main_~list~0.offset 4)))))} is VALID [2020-07-10 15:08:59,372 INFO L280 TraceCheckUtils]: 11: Hoare triple {9367#(or |main_#t~short7| (and (= 0 (select (select |#memory_$Pointer$.offset| main_~list~0.base) (+ main_~list~0.offset 4))) (= 0 (select (select |#memory_$Pointer$.base| main_~list~0.base) (+ main_~list~0.offset 4)))))} assume !#t~short7;call #t~mem6.base, #t~mem6.offset := read~$Pointer$(~list~0.base, 4 + ~list~0.offset, 4);#t~short7 := #t~mem6.base == 0 && #t~mem6.offset == 0; {9368#(and (= 0 (select (select |#memory_$Pointer$.offset| main_~list~0.base) (+ main_~list~0.offset 4))) (= 0 (select (select |#memory_$Pointer$.base| main_~list~0.base) (+ main_~list~0.offset 4))))} is VALID [2020-07-10 15:08:59,373 INFO L280 TraceCheckUtils]: 12: Hoare triple {9368#(and (= 0 (select (select |#memory_$Pointer$.offset| main_~list~0.base) (+ main_~list~0.offset 4))) (= 0 (select (select |#memory_$Pointer$.base| main_~list~0.base) (+ main_~list~0.offset 4))))} assume !!#t~short7;havoc #t~mem5.base, #t~mem5.offset;havoc #t~short7;havoc #t~mem6.base, #t~mem6.offset; {9368#(and (= 0 (select (select |#memory_$Pointer$.offset| main_~list~0.base) (+ main_~list~0.offset 4))) (= 0 (select (select |#memory_$Pointer$.base| main_~list~0.base) (+ main_~list~0.offset 4))))} is VALID [2020-07-10 15:08:59,374 INFO L280 TraceCheckUtils]: 13: Hoare triple {9368#(and (= 0 (select (select |#memory_$Pointer$.offset| main_~list~0.base) (+ main_~list~0.offset 4))) (= 0 (select (select |#memory_$Pointer$.base| main_~list~0.base) (+ main_~list~0.offset 4))))} goto; {9368#(and (= 0 (select (select |#memory_$Pointer$.offset| main_~list~0.base) (+ main_~list~0.offset 4))) (= 0 (select (select |#memory_$Pointer$.base| main_~list~0.base) (+ main_~list~0.offset 4))))} is VALID [2020-07-10 15:08:59,395 INFO L280 TraceCheckUtils]: 14: Hoare triple {9368#(and (= 0 (select (select |#memory_$Pointer$.offset| main_~list~0.base) (+ main_~list~0.offset 4))) (= 0 (select (select |#memory_$Pointer$.base| main_~list~0.base) (+ main_~list~0.offset 4))))} ~end~0.base, ~end~0.offset := ~list~0.base, ~list~0.offset; {9368#(and (= 0 (select (select |#memory_$Pointer$.offset| main_~list~0.base) (+ main_~list~0.offset 4))) (= 0 (select (select |#memory_$Pointer$.base| main_~list~0.base) (+ main_~list~0.offset 4))))} is VALID [2020-07-10 15:08:59,396 INFO L280 TraceCheckUtils]: 15: Hoare triple {9368#(and (= 0 (select (select |#memory_$Pointer$.offset| main_~list~0.base) (+ main_~list~0.offset 4))) (= 0 (select (select |#memory_$Pointer$.base| main_~list~0.base) (+ main_~list~0.offset 4))))} assume -2147483648 <= #t~nondet8 && #t~nondet8 <= 2147483647; {9368#(and (= 0 (select (select |#memory_$Pointer$.offset| main_~list~0.base) (+ main_~list~0.offset 4))) (= 0 (select (select |#memory_$Pointer$.base| main_~list~0.base) (+ main_~list~0.offset 4))))} is VALID [2020-07-10 15:08:59,397 INFO L280 TraceCheckUtils]: 16: Hoare triple {9368#(and (= 0 (select (select |#memory_$Pointer$.offset| main_~list~0.base) (+ main_~list~0.offset 4))) (= 0 (select (select |#memory_$Pointer$.base| main_~list~0.base) (+ main_~list~0.offset 4))))} assume !(0 != #t~nondet8);havoc #t~nondet8; {9368#(and (= 0 (select (select |#memory_$Pointer$.offset| main_~list~0.base) (+ main_~list~0.offset 4))) (= 0 (select (select |#memory_$Pointer$.base| main_~list~0.base) (+ main_~list~0.offset 4))))} is VALID [2020-07-10 15:08:59,398 INFO L280 TraceCheckUtils]: 17: Hoare triple {9368#(and (= 0 (select (select |#memory_$Pointer$.offset| main_~list~0.base) (+ main_~list~0.offset 4))) (= 0 (select (select |#memory_$Pointer$.base| main_~list~0.base) (+ main_~list~0.offset 4))))} ~end~0.base, ~end~0.offset := 0, 0;~end~0.base, ~end~0.offset := ~list~0.base, ~list~0.offset; {9368#(and (= 0 (select (select |#memory_$Pointer$.offset| main_~list~0.base) (+ main_~list~0.offset 4))) (= 0 (select (select |#memory_$Pointer$.base| main_~list~0.base) (+ main_~list~0.offset 4))))} is VALID [2020-07-10 15:08:59,400 INFO L280 TraceCheckUtils]: 18: Hoare triple {9368#(and (= 0 (select (select |#memory_$Pointer$.offset| main_~list~0.base) (+ main_~list~0.offset 4))) (= 0 (select (select |#memory_$Pointer$.base| main_~list~0.base) (+ main_~list~0.offset 4))))} assume !!(0 != ~end~0.base || 0 != ~end~0.offset); {9368#(and (= 0 (select (select |#memory_$Pointer$.offset| main_~list~0.base) (+ main_~list~0.offset 4))) (= 0 (select (select |#memory_$Pointer$.base| main_~list~0.base) (+ main_~list~0.offset 4))))} is VALID [2020-07-10 15:08:59,401 INFO L280 TraceCheckUtils]: 19: Hoare triple {9368#(and (= 0 (select (select |#memory_$Pointer$.offset| main_~list~0.base) (+ main_~list~0.offset 4))) (= 0 (select (select |#memory_$Pointer$.base| main_~list~0.base) (+ main_~list~0.offset 4))))} goto; {9368#(and (= 0 (select (select |#memory_$Pointer$.offset| main_~list~0.base) (+ main_~list~0.offset 4))) (= 0 (select (select |#memory_$Pointer$.base| main_~list~0.base) (+ main_~list~0.offset 4))))} is VALID [2020-07-10 15:08:59,402 INFO L280 TraceCheckUtils]: 20: Hoare triple {9368#(and (= 0 (select (select |#memory_$Pointer$.offset| main_~list~0.base) (+ main_~list~0.offset 4))) (= 0 (select (select |#memory_$Pointer$.base| main_~list~0.base) (+ main_~list~0.offset 4))))} assume !!(0 != ~end~0.base || 0 != ~end~0.offset);~len~0 := 0;call #t~mem18.base, #t~mem18.offset := read~$Pointer$(~end~0.base, 4 + ~end~0.offset, 4);~inner~0.base, ~inner~0.offset := #t~mem18.base, #t~mem18.offset;havoc #t~mem18.base, #t~mem18.offset; {9368#(and (= 0 (select (select |#memory_$Pointer$.offset| main_~list~0.base) (+ main_~list~0.offset 4))) (= 0 (select (select |#memory_$Pointer$.base| main_~list~0.base) (+ main_~list~0.offset 4))))} is VALID [2020-07-10 15:08:59,402 INFO L280 TraceCheckUtils]: 21: Hoare triple {9368#(and (= 0 (select (select |#memory_$Pointer$.offset| main_~list~0.base) (+ main_~list~0.offset 4))) (= 0 (select (select |#memory_$Pointer$.base| main_~list~0.base) (+ main_~list~0.offset 4))))} assume !(0 != ~inner~0.base || 0 != ~inner~0.offset); {9368#(and (= 0 (select (select |#memory_$Pointer$.offset| main_~list~0.base) (+ main_~list~0.offset 4))) (= 0 (select (select |#memory_$Pointer$.base| main_~list~0.base) (+ main_~list~0.offset 4))))} is VALID [2020-07-10 15:08:59,403 INFO L280 TraceCheckUtils]: 22: Hoare triple {9368#(and (= 0 (select (select |#memory_$Pointer$.offset| main_~list~0.base) (+ main_~list~0.offset 4))) (= 0 (select (select |#memory_$Pointer$.base| main_~list~0.base) (+ main_~list~0.offset 4))))} assume !!(~len~0 <= 1); {9368#(and (= 0 (select (select |#memory_$Pointer$.offset| main_~list~0.base) (+ main_~list~0.offset 4))) (= 0 (select (select |#memory_$Pointer$.base| main_~list~0.base) (+ main_~list~0.offset 4))))} is VALID [2020-07-10 15:08:59,404 INFO L280 TraceCheckUtils]: 23: Hoare triple {9368#(and (= 0 (select (select |#memory_$Pointer$.offset| main_~list~0.base) (+ main_~list~0.offset 4))) (= 0 (select (select |#memory_$Pointer$.base| main_~list~0.base) (+ main_~list~0.offset 4))))} goto; {9368#(and (= 0 (select (select |#memory_$Pointer$.offset| main_~list~0.base) (+ main_~list~0.offset 4))) (= 0 (select (select |#memory_$Pointer$.base| main_~list~0.base) (+ main_~list~0.offset 4))))} is VALID [2020-07-10 15:08:59,405 INFO L280 TraceCheckUtils]: 24: Hoare triple {9368#(and (= 0 (select (select |#memory_$Pointer$.offset| main_~list~0.base) (+ main_~list~0.offset 4))) (= 0 (select (select |#memory_$Pointer$.base| main_~list~0.base) (+ main_~list~0.offset 4))))} call #t~mem23.base, #t~mem23.offset := read~$Pointer$(~end~0.base, ~end~0.offset, 4);~end~0.base, ~end~0.offset := #t~mem23.base, #t~mem23.offset;havoc #t~mem23.base, #t~mem23.offset; {9368#(and (= 0 (select (select |#memory_$Pointer$.offset| main_~list~0.base) (+ main_~list~0.offset 4))) (= 0 (select (select |#memory_$Pointer$.base| main_~list~0.base) (+ main_~list~0.offset 4))))} is VALID [2020-07-10 15:08:59,405 INFO L280 TraceCheckUtils]: 25: Hoare triple {9368#(and (= 0 (select (select |#memory_$Pointer$.offset| main_~list~0.base) (+ main_~list~0.offset 4))) (= 0 (select (select |#memory_$Pointer$.base| main_~list~0.base) (+ main_~list~0.offset 4))))} assume !(0 != ~end~0.base || 0 != ~end~0.offset); {9368#(and (= 0 (select (select |#memory_$Pointer$.offset| main_~list~0.base) (+ main_~list~0.offset 4))) (= 0 (select (select |#memory_$Pointer$.base| main_~list~0.base) (+ main_~list~0.offset 4))))} is VALID [2020-07-10 15:08:59,406 INFO L280 TraceCheckUtils]: 26: Hoare triple {9368#(and (= 0 (select (select |#memory_$Pointer$.offset| main_~list~0.base) (+ main_~list~0.offset 4))) (= 0 (select (select |#memory_$Pointer$.base| main_~list~0.base) (+ main_~list~0.offset 4))))} assume !!(0 != ~list~0.base || 0 != ~list~0.offset);call #t~mem24.base, #t~mem24.offset := read~$Pointer$(~list~0.base, 4 + ~list~0.offset, 4);~end~0.base, ~end~0.offset := #t~mem24.base, #t~mem24.offset;havoc #t~mem24.base, #t~mem24.offset; {9369#(and (= 0 main_~end~0.base) (= 0 main_~end~0.offset))} is VALID [2020-07-10 15:08:59,407 INFO L280 TraceCheckUtils]: 27: Hoare triple {9369#(and (= 0 main_~end~0.base) (= 0 main_~end~0.offset))} assume 0 != ~end~0.base || 0 != ~end~0.offset; {9363#false} is VALID [2020-07-10 15:08:59,407 INFO L280 TraceCheckUtils]: 28: Hoare triple {9363#false} assume !!(0 != ~end~0.base || 0 != ~end~0.offset); {9363#false} is VALID [2020-07-10 15:08:59,407 INFO L280 TraceCheckUtils]: 29: Hoare triple {9363#false} goto; {9363#false} is VALID [2020-07-10 15:08:59,407 INFO L280 TraceCheckUtils]: 30: Hoare triple {9363#false} call #t~mem25.base, #t~mem25.offset := read~$Pointer$(~end~0.base, 4 + ~end~0.offset, 4); {9363#false} is VALID [2020-07-10 15:08:59,408 INFO L280 TraceCheckUtils]: 31: Hoare triple {9363#false} assume !(0 == #t~mem25.base && 0 == #t~mem25.offset);havoc #t~mem25.base, #t~mem25.offset; {9363#false} is VALID [2020-07-10 15:08:59,408 INFO L280 TraceCheckUtils]: 32: Hoare triple {9363#false} assume !false; {9363#false} is VALID [2020-07-10 15:08:59,411 INFO L134 CoverageAnalysis]: Checked inductivity of 1 backedges. 0 proven. 0 refuted. 0 times theorem prover too weak. 1 trivial. 0 not checked. [2020-07-10 15:08:59,411 INFO L354 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleSmtInterpolCraig [405346066] [2020-07-10 15:08:59,412 INFO L220 FreeRefinementEngine]: Constructing automaton from 1 perfect and 0 imperfect interpolant sequences. [2020-07-10 15:08:59,412 INFO L233 FreeRefinementEngine]: Number of different interpolants: perfect sequences [6] imperfect sequences [] total 6 [2020-07-10 15:08:59,412 INFO L156 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [216566329] [2020-07-10 15:08:59,412 INFO L78 Accepts]: Start accepts. Automaton has 6 states. Word has length 33 [2020-07-10 15:08:59,413 INFO L84 Accepts]: Finished accepts. word is accepted. [2020-07-10 15:08:59,413 INFO L86 InductivityCheck]: Starting indutivity check of a Floyd-Hoare automaton with 6 states. [2020-07-10 15:08:59,453 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-10 15:08:59,453 INFO L459 AbstractCegarLoop]: Interpolant automaton has 6 states [2020-07-10 15:08:59,453 INFO L143 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy CAMEL [2020-07-10 15:08:59,454 INFO L142 InterpolantAutomaton]: Constructing interpolant automaton starting with 6 interpolants. [2020-07-10 15:08:59,454 INFO L144 InterpolantAutomaton]: CoverageRelationStatistics Valid=10, Invalid=20, Unknown=0, NotChecked=0, Total=30 [2020-07-10 15:08:59,454 INFO L87 Difference]: Start difference. First operand 132 states and 153 transitions. Second operand 6 states. [2020-07-10 15:09:00,158 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2020-07-10 15:09:00,159 INFO L93 Difference]: Finished difference Result 182 states and 208 transitions. [2020-07-10 15:09:00,159 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 7 states. [2020-07-10 15:09:00,159 INFO L78 Accepts]: Start accepts. Automaton has 6 states. Word has length 33 [2020-07-10 15:09:00,160 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2020-07-10 15:09:00,160 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 6 states. [2020-07-10 15:09:00,163 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 7 states to 7 states and 137 transitions. [2020-07-10 15:09:00,163 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 6 states. [2020-07-10 15:09:00,164 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 7 states to 7 states and 137 transitions. [2020-07-10 15:09:00,164 INFO L86 InductivityCheck]: Starting indutivity check of a Floyd-Hoare automaton with 7 states and 137 transitions. [2020-07-10 15:09:00,323 INFO L119 InductivityCheck]: Floyd-Hoare automaton has 137 edges. 137 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2020-07-10 15:09:00,326 INFO L225 Difference]: With dead ends: 182 [2020-07-10 15:09:00,326 INFO L226 Difference]: Without dead ends: 166 [2020-07-10 15:09:00,327 INFO L675 BasicCegarLoop]: 0 DeclaredPredicates, 8 GetRequests, 3 SyntacticMatches, 0 SemanticMatches, 5 ConstructedPredicates, 0 IntricatePredicates, 0 DeprecatedPredicates, 2 ImplicationChecksByTransitivity, 0.0s TimeCoverageRelationStatistics Valid=15, Invalid=27, Unknown=0, NotChecked=0, Total=42 [2020-07-10 15:09:00,328 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 166 states. [2020-07-10 15:09:00,466 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 166 to 152. [2020-07-10 15:09:00,466 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2020-07-10 15:09:00,467 INFO L82 GeneralOperation]: Start isEquivalent. First operand 166 states. Second operand 152 states. [2020-07-10 15:09:00,467 INFO L74 IsIncluded]: Start isIncluded. First operand 166 states. Second operand 152 states. [2020-07-10 15:09:00,467 INFO L87 Difference]: Start difference. First operand 166 states. Second operand 152 states. [2020-07-10 15:09:00,470 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2020-07-10 15:09:00,470 INFO L93 Difference]: Finished difference Result 166 states and 190 transitions. [2020-07-10 15:09:00,470 INFO L276 IsEmpty]: Start isEmpty. Operand 166 states and 190 transitions. [2020-07-10 15:09:00,471 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2020-07-10 15:09:00,471 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2020-07-10 15:09:00,471 INFO L74 IsIncluded]: Start isIncluded. First operand 152 states. Second operand 166 states. [2020-07-10 15:09:00,471 INFO L87 Difference]: Start difference. First operand 152 states. Second operand 166 states. [2020-07-10 15:09:00,474 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2020-07-10 15:09:00,474 INFO L93 Difference]: Finished difference Result 166 states and 190 transitions. [2020-07-10 15:09:00,474 INFO L276 IsEmpty]: Start isEmpty. Operand 166 states and 190 transitions. [2020-07-10 15:09:00,475 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2020-07-10 15:09:00,475 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2020-07-10 15:09:00,475 INFO L88 GeneralOperation]: Finished isEquivalent. [2020-07-10 15:09:00,475 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2020-07-10 15:09:00,475 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 152 states. [2020-07-10 15:09:00,478 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 152 states to 152 states and 179 transitions. [2020-07-10 15:09:00,478 INFO L78 Accepts]: Start accepts. Automaton has 152 states and 179 transitions. Word has length 33 [2020-07-10 15:09:00,478 INFO L84 Accepts]: Finished accepts. word is rejected. [2020-07-10 15:09:00,479 INFO L479 AbstractCegarLoop]: Abstraction has 152 states and 179 transitions. [2020-07-10 15:09:00,479 INFO L480 AbstractCegarLoop]: Interpolant automaton has 6 states. [2020-07-10 15:09:00,479 INFO L276 IsEmpty]: Start isEmpty. Operand 152 states and 179 transitions. [2020-07-10 15:09:00,479 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 37 [2020-07-10 15:09:00,479 INFO L414 BasicCegarLoop]: Found error trace [2020-07-10 15:09:00,480 INFO L422 BasicCegarLoop]: trace histogram [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] [2020-07-10 15:09:00,480 WARN L516 AbstractCegarLoop]: Destroyed unattended storables created during the last iteration: SelfDestructingSolverStorable17 [2020-07-10 15:09:00,480 INFO L427 AbstractCegarLoop]: === Iteration 19 === [mainErr0ASSERT_VIOLATIONERROR_FUNCTION, mainErr7ASSERT_VIOLATIONERROR_FUNCTION, mainErr8ASSERT_VIOLATIONERROR_FUNCTION, mainErr9ASSERT_VIOLATIONERROR_FUNCTION, mainErr10ASSERT_VIOLATIONERROR_FUNCTION, mainErr12ASSERT_VIOLATIONERROR_FUNCTION, mainErr4ASSERT_VIOLATIONERROR_FUNCTION, mainErr11ASSERT_VIOLATIONERROR_FUNCTION, mainErr2ASSERT_VIOLATIONERROR_FUNCTION, mainErr6ASSERT_VIOLATIONERROR_FUNCTION, mainErr5ASSERT_VIOLATIONERROR_FUNCTION, mainErr3ASSERT_VIOLATIONERROR_FUNCTION, mainErr1ASSERT_VIOLATIONERROR_FUNCTION]=== [2020-07-10 15:09:00,480 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2020-07-10 15:09:00,480 INFO L82 PathProgramCache]: Analyzing trace with hash 270360779, now seen corresponding path program 1 times [2020-07-10 15:09:00,481 INFO L163 FreeRefinementEngine]: Executing refinement strategy CAMEL [2020-07-10 15:09:00,481 INFO L354 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [1060136555] [2020-07-10 15:09:00,481 INFO L94 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2020-07-10 15:09:00,496 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2020-07-10 15:09:00,590 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2020-07-10 15:09:00,602 INFO L280 TraceCheckUtils]: 0: Hoare triple {10095#(and (= |#valid| |old(#valid)|) (= |#NULL.base| |old(#NULL.base)|) (= |#NULL.offset| |old(#NULL.offset)|))} #NULL.base, #NULL.offset := 0, 0;#valid := #valid[0 := 0];assume 0 < #StackHeapBarrier; {10086#true} is VALID [2020-07-10 15:09:00,603 INFO L280 TraceCheckUtils]: 1: Hoare triple {10086#true} assume true; {10086#true} is VALID [2020-07-10 15:09:00,603 INFO L275 TraceCheckUtils]: 2: Hoare quadruple {10086#true} {10086#true} #337#return; {10086#true} is VALID [2020-07-10 15:09:00,604 INFO L263 TraceCheckUtils]: 0: Hoare triple {10086#true} call ULTIMATE.init(); {10095#(and (= |#valid| |old(#valid)|) (= |#NULL.base| |old(#NULL.base)|) (= |#NULL.offset| |old(#NULL.offset)|))} is VALID [2020-07-10 15:09:00,604 INFO L280 TraceCheckUtils]: 1: Hoare triple {10095#(and (= |#valid| |old(#valid)|) (= |#NULL.base| |old(#NULL.base)|) (= |#NULL.offset| |old(#NULL.offset)|))} #NULL.base, #NULL.offset := 0, 0;#valid := #valid[0 := 0];assume 0 < #StackHeapBarrier; {10086#true} is VALID [2020-07-10 15:09:00,604 INFO L280 TraceCheckUtils]: 2: Hoare triple {10086#true} assume true; {10086#true} is VALID [2020-07-10 15:09:00,604 INFO L275 TraceCheckUtils]: 3: Hoare quadruple {10086#true} {10086#true} #337#return; {10086#true} is VALID [2020-07-10 15:09:00,605 INFO L263 TraceCheckUtils]: 4: Hoare triple {10086#true} call #t~ret28 := main(); {10086#true} is VALID [2020-07-10 15:09:00,605 INFO L280 TraceCheckUtils]: 5: Hoare triple {10086#true} call #t~malloc0.base, #t~malloc0.offset := #Ultimate.allocOnHeap(8);~list~0.base, ~list~0.offset := #t~malloc0.base, #t~malloc0.offset;call write~$Pointer$(0, 0, ~list~0.base, ~list~0.offset, 4); {10086#true} is VALID [2020-07-10 15:09:00,605 INFO L280 TraceCheckUtils]: 6: Hoare triple {10086#true} assume !!(~list~0.base != 0 || ~list~0.offset != 0); {10086#true} is VALID [2020-07-10 15:09:00,605 INFO L280 TraceCheckUtils]: 7: Hoare triple {10086#true} goto; {10086#true} is VALID [2020-07-10 15:09:00,605 INFO L280 TraceCheckUtils]: 8: Hoare triple {10086#true} assume -2147483648 <= #t~nondet1 && #t~nondet1 <= 2147483647; {10086#true} is VALID [2020-07-10 15:09:00,606 INFO L280 TraceCheckUtils]: 9: Hoare triple {10086#true} assume 0 != #t~nondet1;havoc #t~nondet1;call write~$Pointer$(0, 0, ~list~0.base, 4 + ~list~0.offset, 4); {10086#true} is VALID [2020-07-10 15:09:00,606 INFO L280 TraceCheckUtils]: 10: Hoare triple {10086#true} call #t~mem5.base, #t~mem5.offset := read~$Pointer$(~list~0.base, 4 + ~list~0.offset, 4);#t~short7 := #t~mem5.base != 0 || #t~mem5.offset != 0; {10086#true} is VALID [2020-07-10 15:09:00,606 INFO L280 TraceCheckUtils]: 11: Hoare triple {10086#true} assume !#t~short7;call #t~mem6.base, #t~mem6.offset := read~$Pointer$(~list~0.base, 4 + ~list~0.offset, 4);#t~short7 := #t~mem6.base == 0 && #t~mem6.offset == 0; {10086#true} is VALID [2020-07-10 15:09:00,606 INFO L280 TraceCheckUtils]: 12: Hoare triple {10086#true} assume !!#t~short7;havoc #t~mem5.base, #t~mem5.offset;havoc #t~short7;havoc #t~mem6.base, #t~mem6.offset; {10086#true} is VALID [2020-07-10 15:09:00,606 INFO L280 TraceCheckUtils]: 13: Hoare triple {10086#true} goto; {10086#true} is VALID [2020-07-10 15:09:00,606 INFO L280 TraceCheckUtils]: 14: Hoare triple {10086#true} ~end~0.base, ~end~0.offset := ~list~0.base, ~list~0.offset; {10086#true} is VALID [2020-07-10 15:09:00,607 INFO L280 TraceCheckUtils]: 15: Hoare triple {10086#true} assume -2147483648 <= #t~nondet8 && #t~nondet8 <= 2147483647; {10086#true} is VALID [2020-07-10 15:09:00,607 INFO L280 TraceCheckUtils]: 16: Hoare triple {10086#true} assume !(0 != #t~nondet8);havoc #t~nondet8; {10086#true} is VALID [2020-07-10 15:09:00,607 INFO L280 TraceCheckUtils]: 17: Hoare triple {10086#true} ~end~0.base, ~end~0.offset := 0, 0;~end~0.base, ~end~0.offset := ~list~0.base, ~list~0.offset; {10091#(and (= main_~list~0.offset main_~end~0.offset) (= main_~list~0.base main_~end~0.base))} is VALID [2020-07-10 15:09:00,608 INFO L280 TraceCheckUtils]: 18: Hoare triple {10091#(and (= main_~list~0.offset main_~end~0.offset) (= main_~list~0.base main_~end~0.base))} assume !!(0 != ~end~0.base || 0 != ~end~0.offset); {10091#(and (= main_~list~0.offset main_~end~0.offset) (= main_~list~0.base main_~end~0.base))} is VALID [2020-07-10 15:09:00,609 INFO L280 TraceCheckUtils]: 19: Hoare triple {10091#(and (= main_~list~0.offset main_~end~0.offset) (= main_~list~0.base main_~end~0.base))} goto; {10091#(and (= main_~list~0.offset main_~end~0.offset) (= main_~list~0.base main_~end~0.base))} is VALID [2020-07-10 15:09:00,609 INFO L280 TraceCheckUtils]: 20: Hoare triple {10091#(and (= main_~list~0.offset main_~end~0.offset) (= main_~list~0.base main_~end~0.base))} assume !!(0 != ~end~0.base || 0 != ~end~0.offset);~len~0 := 0;call #t~mem18.base, #t~mem18.offset := read~$Pointer$(~end~0.base, 4 + ~end~0.offset, 4);~inner~0.base, ~inner~0.offset := #t~mem18.base, #t~mem18.offset;havoc #t~mem18.base, #t~mem18.offset; {10091#(and (= main_~list~0.offset main_~end~0.offset) (= main_~list~0.base main_~end~0.base))} is VALID [2020-07-10 15:09:00,610 INFO L280 TraceCheckUtils]: 21: Hoare triple {10091#(and (= main_~list~0.offset main_~end~0.offset) (= main_~list~0.base main_~end~0.base))} assume !(0 != ~inner~0.base || 0 != ~inner~0.offset); {10091#(and (= main_~list~0.offset main_~end~0.offset) (= main_~list~0.base main_~end~0.base))} is VALID [2020-07-10 15:09:00,611 INFO L280 TraceCheckUtils]: 22: Hoare triple {10091#(and (= main_~list~0.offset main_~end~0.offset) (= main_~list~0.base main_~end~0.base))} assume !!(~len~0 <= 1); {10091#(and (= main_~list~0.offset main_~end~0.offset) (= main_~list~0.base main_~end~0.base))} is VALID [2020-07-10 15:09:00,611 INFO L280 TraceCheckUtils]: 23: Hoare triple {10091#(and (= main_~list~0.offset main_~end~0.offset) (= main_~list~0.base main_~end~0.base))} goto; {10091#(and (= main_~list~0.offset main_~end~0.offset) (= main_~list~0.base main_~end~0.base))} is VALID [2020-07-10 15:09:00,612 INFO L280 TraceCheckUtils]: 24: Hoare triple {10091#(and (= main_~list~0.offset main_~end~0.offset) (= main_~list~0.base main_~end~0.base))} call #t~mem23.base, #t~mem23.offset := read~$Pointer$(~end~0.base, ~end~0.offset, 4);~end~0.base, ~end~0.offset := #t~mem23.base, #t~mem23.offset;havoc #t~mem23.base, #t~mem23.offset; {10092#(and (= (select (select |#memory_$Pointer$.base| main_~list~0.base) main_~list~0.offset) main_~end~0.base) (= main_~end~0.offset (select (select |#memory_$Pointer$.offset| main_~list~0.base) main_~list~0.offset)))} is VALID [2020-07-10 15:09:00,613 INFO L280 TraceCheckUtils]: 25: Hoare triple {10092#(and (= (select (select |#memory_$Pointer$.base| main_~list~0.base) main_~list~0.offset) main_~end~0.base) (= main_~end~0.offset (select (select |#memory_$Pointer$.offset| main_~list~0.base) main_~list~0.offset)))} assume !(0 != ~end~0.base || 0 != ~end~0.offset); {10093#(and (= 0 (select (select |#memory_$Pointer$.base| main_~list~0.base) main_~list~0.offset)) (= 0 (select (select |#memory_$Pointer$.offset| main_~list~0.base) main_~list~0.offset)))} is VALID [2020-07-10 15:09:00,613 INFO L280 TraceCheckUtils]: 26: Hoare triple {10093#(and (= 0 (select (select |#memory_$Pointer$.base| main_~list~0.base) main_~list~0.offset)) (= 0 (select (select |#memory_$Pointer$.offset| main_~list~0.base) main_~list~0.offset)))} assume !!(0 != ~list~0.base || 0 != ~list~0.offset);call #t~mem24.base, #t~mem24.offset := read~$Pointer$(~list~0.base, 4 + ~list~0.offset, 4);~end~0.base, ~end~0.offset := #t~mem24.base, #t~mem24.offset;havoc #t~mem24.base, #t~mem24.offset; {10093#(and (= 0 (select (select |#memory_$Pointer$.base| main_~list~0.base) main_~list~0.offset)) (= 0 (select (select |#memory_$Pointer$.offset| main_~list~0.base) main_~list~0.offset)))} is VALID [2020-07-10 15:09:00,614 INFO L280 TraceCheckUtils]: 27: Hoare triple {10093#(and (= 0 (select (select |#memory_$Pointer$.base| main_~list~0.base) main_~list~0.offset)) (= 0 (select (select |#memory_$Pointer$.offset| main_~list~0.base) main_~list~0.offset)))} assume !(0 != ~end~0.base || 0 != ~end~0.offset); {10093#(and (= 0 (select (select |#memory_$Pointer$.base| main_~list~0.base) main_~list~0.offset)) (= 0 (select (select |#memory_$Pointer$.offset| main_~list~0.base) main_~list~0.offset)))} is VALID [2020-07-10 15:09:00,615 INFO L280 TraceCheckUtils]: 28: Hoare triple {10093#(and (= 0 (select (select |#memory_$Pointer$.base| main_~list~0.base) main_~list~0.offset)) (= 0 (select (select |#memory_$Pointer$.offset| main_~list~0.base) main_~list~0.offset)))} call #t~mem27.base, #t~mem27.offset := read~$Pointer$(~list~0.base, ~list~0.offset, 4);~end~0.base, ~end~0.offset := #t~mem27.base, #t~mem27.offset;havoc #t~mem27.base, #t~mem27.offset;call ULTIMATE.dealloc(~list~0.base, ~list~0.offset);~list~0.base, ~list~0.offset := ~end~0.base, ~end~0.offset; {10094#(and (= 0 main_~list~0.offset) (= 0 main_~list~0.base))} is VALID [2020-07-10 15:09:00,616 INFO L280 TraceCheckUtils]: 29: Hoare triple {10094#(and (= 0 main_~list~0.offset) (= 0 main_~list~0.base))} assume !!(0 != ~list~0.base || 0 != ~list~0.offset);call #t~mem24.base, #t~mem24.offset := read~$Pointer$(~list~0.base, 4 + ~list~0.offset, 4);~end~0.base, ~end~0.offset := #t~mem24.base, #t~mem24.offset;havoc #t~mem24.base, #t~mem24.offset; {10087#false} is VALID [2020-07-10 15:09:00,616 INFO L280 TraceCheckUtils]: 30: Hoare triple {10087#false} assume 0 != ~end~0.base || 0 != ~end~0.offset; {10087#false} is VALID [2020-07-10 15:09:00,616 INFO L280 TraceCheckUtils]: 31: Hoare triple {10087#false} assume !!(0 != ~end~0.base || 0 != ~end~0.offset); {10087#false} is VALID [2020-07-10 15:09:00,616 INFO L280 TraceCheckUtils]: 32: Hoare triple {10087#false} goto; {10087#false} is VALID [2020-07-10 15:09:00,616 INFO L280 TraceCheckUtils]: 33: Hoare triple {10087#false} call #t~mem25.base, #t~mem25.offset := read~$Pointer$(~end~0.base, 4 + ~end~0.offset, 4); {10087#false} is VALID [2020-07-10 15:09:00,616 INFO L280 TraceCheckUtils]: 34: Hoare triple {10087#false} assume !(0 == #t~mem25.base && 0 == #t~mem25.offset);havoc #t~mem25.base, #t~mem25.offset; {10087#false} is VALID [2020-07-10 15:09:00,617 INFO L280 TraceCheckUtils]: 35: Hoare triple {10087#false} assume !false; {10087#false} is VALID [2020-07-10 15:09:00,619 INFO L134 CoverageAnalysis]: Checked inductivity of 3 backedges. 1 proven. 2 refuted. 0 times theorem prover too weak. 0 trivial. 0 not checked. [2020-07-10 15:09:00,619 INFO L354 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleSmtInterpolCraig [1060136555] [2020-07-10 15:09:00,619 INFO L354 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleZ3 [775573536] [2020-07-10 15:09:00,619 INFO L94 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 Starting monitored process 3 with z3 -smt2 -in SMTLIB2_COMPLIANT=true (exit command is (exit), workingDir is null) Waiting until toolchain timeout for monitored process 3 with z3 -smt2 -in SMTLIB2_COMPLIANT=true [2020-07-10 15:09:00,726 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2020-07-10 15:09:00,728 INFO L264 TraceCheckSpWp]: Trace formula consists of 131 conjuncts, 13 conjunts are in the unsatisfiable core [2020-07-10 15:09:00,743 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2020-07-10 15:09:00,747 INFO L287 TraceCheckSpWp]: Computing forward predicates... [2020-07-10 15:09:00,770 INFO L384 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 2, 1 stores, 0 select indices, 0 select index equivalence classes, 0 disjoint index pairs (out of 0 index pairs), introduced 0 new quantified variables, introduced 0 case distinctions, treesize of input 11 treesize of output 7 [2020-07-10 15:09:00,771 INFO L544 ElimStorePlain]: Start of recursive call 2: End of recursive call: and 1 xjuncts. [2020-07-10 15:09:00,785 INFO L624 ElimStorePlain]: treesize reduction 0, result has 100.0 percent of original size [2020-07-10 15:09:00,792 INFO L384 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 2, 1 stores, 0 select indices, 0 select index equivalence classes, 0 disjoint index pairs (out of 0 index pairs), introduced 0 new quantified variables, introduced 0 case distinctions, treesize of input 11 treesize of output 7 [2020-07-10 15:09:00,792 INFO L544 ElimStorePlain]: Start of recursive call 3: End of recursive call: and 1 xjuncts. [2020-07-10 15:09:00,801 INFO L624 ElimStorePlain]: treesize reduction 0, result has 100.0 percent of original size [2020-07-10 15:09:00,802 INFO L544 ElimStorePlain]: Start of recursive call 1: 2 dim-2 vars, End of recursive call: and 1 xjuncts. [2020-07-10 15:09:00,802 INFO L244 ElimStorePlain]: Needed 3 recursive calls to eliminate 2 variables, input treesize:23, output treesize:15 [2020-07-10 15:09:00,836 INFO L190 IndexEqualityManager]: detected not equals via solver [2020-07-10 15:09:00,838 INFO L384 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 2, 1 stores, 1 select indices, 1 select index equivalence classes, 1 disjoint index pairs (out of 0 index pairs), introduced 1 new quantified variables, introduced 0 case distinctions, treesize of input 21 treesize of output 20 [2020-07-10 15:09:00,841 INFO L544 ElimStorePlain]: Start of recursive call 2: End of recursive call: and 1 xjuncts. [2020-07-10 15:09:00,853 INFO L624 ElimStorePlain]: treesize reduction 0, result has 100.0 percent of original size [2020-07-10 15:09:00,862 INFO L190 IndexEqualityManager]: detected not equals via solver [2020-07-10 15:09:00,864 INFO L384 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 2, 1 stores, 1 select indices, 1 select index equivalence classes, 1 disjoint index pairs (out of 0 index pairs), introduced 1 new quantified variables, introduced 0 case distinctions, treesize of input 21 treesize of output 20 [2020-07-10 15:09:00,866 INFO L544 ElimStorePlain]: Start of recursive call 3: End of recursive call: and 1 xjuncts. [2020-07-10 15:09:00,878 INFO L624 ElimStorePlain]: treesize reduction 0, result has 100.0 percent of original size [2020-07-10 15:09:00,879 INFO L544 ElimStorePlain]: Start of recursive call 1: 2 dim-2 vars, End of recursive call: and 1 xjuncts. [2020-07-10 15:09:00,879 INFO L244 ElimStorePlain]: Needed 3 recursive calls to eliminate 2 variables, input treesize:41, output treesize:33 [2020-07-10 15:09:01,013 INFO L190 IndexEqualityManager]: detected not equals via solver [2020-07-10 15:09:01,014 INFO L384 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 2, 0 stores, 2 select indices, 2 select index equivalence classes, 1 disjoint index pairs (out of 1 index pairs), introduced 2 new quantified variables, introduced 0 case distinctions, treesize of input 24 treesize of output 10 [2020-07-10 15:09:01,016 INFO L544 ElimStorePlain]: Start of recursive call 2: End of recursive call: and 1 xjuncts. [2020-07-10 15:09:01,024 INFO L624 ElimStorePlain]: treesize reduction 0, result has 100.0 percent of original size [2020-07-10 15:09:01,029 INFO L350 Elim1Store]: treesize reduction 9, result has 10.0 percent of original size [2020-07-10 15:09:01,029 INFO L384 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 2, 0 stores, 2 select indices, 2 select index equivalence classes, 0 disjoint index pairs (out of 1 index pairs), introduced 2 new quantified variables, introduced 1 case distinctions, treesize of input 24 treesize of output 10 [2020-07-10 15:09:01,032 INFO L544 ElimStorePlain]: Start of recursive call 3: End of recursive call: and 1 xjuncts. [2020-07-10 15:09:01,037 INFO L624 ElimStorePlain]: treesize reduction 0, result has 100.0 percent of original size [2020-07-10 15:09:01,037 INFO L544 ElimStorePlain]: Start of recursive call 1: 2 dim-0 vars, 2 dim-2 vars, End of recursive call: and 1 xjuncts. [2020-07-10 15:09:01,037 INFO L244 ElimStorePlain]: Needed 3 recursive calls to eliminate 4 variables, input treesize:47, output treesize:7 [2020-07-10 15:09:01,040 WARN L406 uantifierElimination]: Trying to double check SDD result, but SMT solver's response was UNKNOWN. [2020-07-10 15:09:01,041 WARN L407 uantifierElimination]: Input elimination task: ∃ [|#memory_$Pointer$.base|, v_main_~list~0.base_14, v_main_~list~0.offset_14, |#memory_$Pointer$.offset|]. (let ((.cse2 (select |#memory_$Pointer$.offset| v_main_~list~0.base_14)) (.cse4 (select |#memory_$Pointer$.base| v_main_~list~0.base_14))) (let ((.cse1 (select .cse4 v_main_~list~0.offset_14)) (.cse0 (select .cse2 v_main_~list~0.offset_14)) (.cse3 (+ v_main_~list~0.offset_14 4))) (and (= 0 .cse0) (= main_~list~0.base .cse1) (= 0 .cse1) (= main_~list~0.offset .cse0) (= 0 (select .cse2 .cse3)) (= 0 (select .cse4 .cse3))))) [2020-07-10 15:09:01,041 WARN L408 uantifierElimination]: ElimStorePlain result: ∃ []. (and (= 0 main_~list~0.offset) (= 0 main_~list~0.base)) [2020-07-10 15:09:01,047 INFO L263 TraceCheckUtils]: 0: Hoare triple {10086#true} call ULTIMATE.init(); {10086#true} is VALID [2020-07-10 15:09:01,047 INFO L280 TraceCheckUtils]: 1: Hoare triple {10086#true} #NULL.base, #NULL.offset := 0, 0;#valid := #valid[0 := 0];assume 0 < #StackHeapBarrier; {10086#true} is VALID [2020-07-10 15:09:01,047 INFO L280 TraceCheckUtils]: 2: Hoare triple {10086#true} assume true; {10086#true} is VALID [2020-07-10 15:09:01,047 INFO L275 TraceCheckUtils]: 3: Hoare quadruple {10086#true} {10086#true} #337#return; {10086#true} is VALID [2020-07-10 15:09:01,048 INFO L263 TraceCheckUtils]: 4: Hoare triple {10086#true} call #t~ret28 := main(); {10086#true} is VALID [2020-07-10 15:09:01,049 INFO L280 TraceCheckUtils]: 5: Hoare triple {10086#true} call #t~malloc0.base, #t~malloc0.offset := #Ultimate.allocOnHeap(8);~list~0.base, ~list~0.offset := #t~malloc0.base, #t~malloc0.offset;call write~$Pointer$(0, 0, ~list~0.base, ~list~0.offset, 4); {10093#(and (= 0 (select (select |#memory_$Pointer$.base| main_~list~0.base) main_~list~0.offset)) (= 0 (select (select |#memory_$Pointer$.offset| main_~list~0.base) main_~list~0.offset)))} is VALID [2020-07-10 15:09:01,050 INFO L280 TraceCheckUtils]: 6: Hoare triple {10093#(and (= 0 (select (select |#memory_$Pointer$.base| main_~list~0.base) main_~list~0.offset)) (= 0 (select (select |#memory_$Pointer$.offset| main_~list~0.base) main_~list~0.offset)))} assume !!(~list~0.base != 0 || ~list~0.offset != 0); {10093#(and (= 0 (select (select |#memory_$Pointer$.base| main_~list~0.base) main_~list~0.offset)) (= 0 (select (select |#memory_$Pointer$.offset| main_~list~0.base) main_~list~0.offset)))} is VALID [2020-07-10 15:09:01,050 INFO L280 TraceCheckUtils]: 7: Hoare triple {10093#(and (= 0 (select (select |#memory_$Pointer$.base| main_~list~0.base) main_~list~0.offset)) (= 0 (select (select |#memory_$Pointer$.offset| main_~list~0.base) main_~list~0.offset)))} goto; {10093#(and (= 0 (select (select |#memory_$Pointer$.base| main_~list~0.base) main_~list~0.offset)) (= 0 (select (select |#memory_$Pointer$.offset| main_~list~0.base) main_~list~0.offset)))} is VALID [2020-07-10 15:09:01,051 INFO L280 TraceCheckUtils]: 8: Hoare triple {10093#(and (= 0 (select (select |#memory_$Pointer$.base| main_~list~0.base) main_~list~0.offset)) (= 0 (select (select |#memory_$Pointer$.offset| main_~list~0.base) main_~list~0.offset)))} assume -2147483648 <= #t~nondet1 && #t~nondet1 <= 2147483647; {10093#(and (= 0 (select (select |#memory_$Pointer$.base| main_~list~0.base) main_~list~0.offset)) (= 0 (select (select |#memory_$Pointer$.offset| main_~list~0.base) main_~list~0.offset)))} is VALID [2020-07-10 15:09:01,052 INFO L280 TraceCheckUtils]: 9: Hoare triple {10093#(and (= 0 (select (select |#memory_$Pointer$.base| main_~list~0.base) main_~list~0.offset)) (= 0 (select (select |#memory_$Pointer$.offset| main_~list~0.base) main_~list~0.offset)))} assume 0 != #t~nondet1;havoc #t~nondet1;call write~$Pointer$(0, 0, ~list~0.base, 4 + ~list~0.offset, 4); {10126#(and (= 0 (select (select |#memory_$Pointer$.base| main_~list~0.base) main_~list~0.offset)) (= 0 (select (select |#memory_$Pointer$.offset| main_~list~0.base) main_~list~0.offset)) (= 0 (select (select |#memory_$Pointer$.offset| main_~list~0.base) (+ main_~list~0.offset 4))) (= 0 (select (select |#memory_$Pointer$.base| main_~list~0.base) (+ main_~list~0.offset 4))))} is VALID [2020-07-10 15:09:01,053 INFO L280 TraceCheckUtils]: 10: Hoare triple {10126#(and (= 0 (select (select |#memory_$Pointer$.base| main_~list~0.base) main_~list~0.offset)) (= 0 (select (select |#memory_$Pointer$.offset| main_~list~0.base) main_~list~0.offset)) (= 0 (select (select |#memory_$Pointer$.offset| main_~list~0.base) (+ main_~list~0.offset 4))) (= 0 (select (select |#memory_$Pointer$.base| main_~list~0.base) (+ main_~list~0.offset 4))))} call #t~mem5.base, #t~mem5.offset := read~$Pointer$(~list~0.base, 4 + ~list~0.offset, 4);#t~short7 := #t~mem5.base != 0 || #t~mem5.offset != 0; {10126#(and (= 0 (select (select |#memory_$Pointer$.base| main_~list~0.base) main_~list~0.offset)) (= 0 (select (select |#memory_$Pointer$.offset| main_~list~0.base) main_~list~0.offset)) (= 0 (select (select |#memory_$Pointer$.offset| main_~list~0.base) (+ main_~list~0.offset 4))) (= 0 (select (select |#memory_$Pointer$.base| main_~list~0.base) (+ main_~list~0.offset 4))))} is VALID [2020-07-10 15:09:01,055 INFO L280 TraceCheckUtils]: 11: Hoare triple {10126#(and (= 0 (select (select |#memory_$Pointer$.base| main_~list~0.base) main_~list~0.offset)) (= 0 (select (select |#memory_$Pointer$.offset| main_~list~0.base) main_~list~0.offset)) (= 0 (select (select |#memory_$Pointer$.offset| main_~list~0.base) (+ main_~list~0.offset 4))) (= 0 (select (select |#memory_$Pointer$.base| main_~list~0.base) (+ main_~list~0.offset 4))))} assume !#t~short7;call #t~mem6.base, #t~mem6.offset := read~$Pointer$(~list~0.base, 4 + ~list~0.offset, 4);#t~short7 := #t~mem6.base == 0 && #t~mem6.offset == 0; {10126#(and (= 0 (select (select |#memory_$Pointer$.base| main_~list~0.base) main_~list~0.offset)) (= 0 (select (select |#memory_$Pointer$.offset| main_~list~0.base) main_~list~0.offset)) (= 0 (select (select |#memory_$Pointer$.offset| main_~list~0.base) (+ main_~list~0.offset 4))) (= 0 (select (select |#memory_$Pointer$.base| main_~list~0.base) (+ main_~list~0.offset 4))))} is VALID [2020-07-10 15:09:01,056 INFO L280 TraceCheckUtils]: 12: Hoare triple {10126#(and (= 0 (select (select |#memory_$Pointer$.base| main_~list~0.base) main_~list~0.offset)) (= 0 (select (select |#memory_$Pointer$.offset| main_~list~0.base) main_~list~0.offset)) (= 0 (select (select |#memory_$Pointer$.offset| main_~list~0.base) (+ main_~list~0.offset 4))) (= 0 (select (select |#memory_$Pointer$.base| main_~list~0.base) (+ main_~list~0.offset 4))))} assume !!#t~short7;havoc #t~mem5.base, #t~mem5.offset;havoc #t~short7;havoc #t~mem6.base, #t~mem6.offset; {10126#(and (= 0 (select (select |#memory_$Pointer$.base| main_~list~0.base) main_~list~0.offset)) (= 0 (select (select |#memory_$Pointer$.offset| main_~list~0.base) main_~list~0.offset)) (= 0 (select (select |#memory_$Pointer$.offset| main_~list~0.base) (+ main_~list~0.offset 4))) (= 0 (select (select |#memory_$Pointer$.base| main_~list~0.base) (+ main_~list~0.offset 4))))} is VALID [2020-07-10 15:09:01,057 INFO L280 TraceCheckUtils]: 13: Hoare triple {10126#(and (= 0 (select (select |#memory_$Pointer$.base| main_~list~0.base) main_~list~0.offset)) (= 0 (select (select |#memory_$Pointer$.offset| main_~list~0.base) main_~list~0.offset)) (= 0 (select (select |#memory_$Pointer$.offset| main_~list~0.base) (+ main_~list~0.offset 4))) (= 0 (select (select |#memory_$Pointer$.base| main_~list~0.base) (+ main_~list~0.offset 4))))} goto; {10126#(and (= 0 (select (select |#memory_$Pointer$.base| main_~list~0.base) main_~list~0.offset)) (= 0 (select (select |#memory_$Pointer$.offset| main_~list~0.base) main_~list~0.offset)) (= 0 (select (select |#memory_$Pointer$.offset| main_~list~0.base) (+ main_~list~0.offset 4))) (= 0 (select (select |#memory_$Pointer$.base| main_~list~0.base) (+ main_~list~0.offset 4))))} is VALID [2020-07-10 15:09:01,058 INFO L280 TraceCheckUtils]: 14: Hoare triple {10126#(and (= 0 (select (select |#memory_$Pointer$.base| main_~list~0.base) main_~list~0.offset)) (= 0 (select (select |#memory_$Pointer$.offset| main_~list~0.base) main_~list~0.offset)) (= 0 (select (select |#memory_$Pointer$.offset| main_~list~0.base) (+ main_~list~0.offset 4))) (= 0 (select (select |#memory_$Pointer$.base| main_~list~0.base) (+ main_~list~0.offset 4))))} ~end~0.base, ~end~0.offset := ~list~0.base, ~list~0.offset; {10126#(and (= 0 (select (select |#memory_$Pointer$.base| main_~list~0.base) main_~list~0.offset)) (= 0 (select (select |#memory_$Pointer$.offset| main_~list~0.base) main_~list~0.offset)) (= 0 (select (select |#memory_$Pointer$.offset| main_~list~0.base) (+ main_~list~0.offset 4))) (= 0 (select (select |#memory_$Pointer$.base| main_~list~0.base) (+ main_~list~0.offset 4))))} is VALID [2020-07-10 15:09:01,059 INFO L280 TraceCheckUtils]: 15: Hoare triple {10126#(and (= 0 (select (select |#memory_$Pointer$.base| main_~list~0.base) main_~list~0.offset)) (= 0 (select (select |#memory_$Pointer$.offset| main_~list~0.base) main_~list~0.offset)) (= 0 (select (select |#memory_$Pointer$.offset| main_~list~0.base) (+ main_~list~0.offset 4))) (= 0 (select (select |#memory_$Pointer$.base| main_~list~0.base) (+ main_~list~0.offset 4))))} assume -2147483648 <= #t~nondet8 && #t~nondet8 <= 2147483647; {10126#(and (= 0 (select (select |#memory_$Pointer$.base| main_~list~0.base) main_~list~0.offset)) (= 0 (select (select |#memory_$Pointer$.offset| main_~list~0.base) main_~list~0.offset)) (= 0 (select (select |#memory_$Pointer$.offset| main_~list~0.base) (+ main_~list~0.offset 4))) (= 0 (select (select |#memory_$Pointer$.base| main_~list~0.base) (+ main_~list~0.offset 4))))} is VALID [2020-07-10 15:09:01,059 INFO L280 TraceCheckUtils]: 16: Hoare triple {10126#(and (= 0 (select (select |#memory_$Pointer$.base| main_~list~0.base) main_~list~0.offset)) (= 0 (select (select |#memory_$Pointer$.offset| main_~list~0.base) main_~list~0.offset)) (= 0 (select (select |#memory_$Pointer$.offset| main_~list~0.base) (+ main_~list~0.offset 4))) (= 0 (select (select |#memory_$Pointer$.base| main_~list~0.base) (+ main_~list~0.offset 4))))} assume !(0 != #t~nondet8);havoc #t~nondet8; {10126#(and (= 0 (select (select |#memory_$Pointer$.base| main_~list~0.base) main_~list~0.offset)) (= 0 (select (select |#memory_$Pointer$.offset| main_~list~0.base) main_~list~0.offset)) (= 0 (select (select |#memory_$Pointer$.offset| main_~list~0.base) (+ main_~list~0.offset 4))) (= 0 (select (select |#memory_$Pointer$.base| main_~list~0.base) (+ main_~list~0.offset 4))))} is VALID [2020-07-10 15:09:01,060 INFO L280 TraceCheckUtils]: 17: Hoare triple {10126#(and (= 0 (select (select |#memory_$Pointer$.base| main_~list~0.base) main_~list~0.offset)) (= 0 (select (select |#memory_$Pointer$.offset| main_~list~0.base) main_~list~0.offset)) (= 0 (select (select |#memory_$Pointer$.offset| main_~list~0.base) (+ main_~list~0.offset 4))) (= 0 (select (select |#memory_$Pointer$.base| main_~list~0.base) (+ main_~list~0.offset 4))))} ~end~0.base, ~end~0.offset := 0, 0;~end~0.base, ~end~0.offset := ~list~0.base, ~list~0.offset; {10126#(and (= 0 (select (select |#memory_$Pointer$.base| main_~list~0.base) main_~list~0.offset)) (= 0 (select (select |#memory_$Pointer$.offset| main_~list~0.base) main_~list~0.offset)) (= 0 (select (select |#memory_$Pointer$.offset| main_~list~0.base) (+ main_~list~0.offset 4))) (= 0 (select (select |#memory_$Pointer$.base| main_~list~0.base) (+ main_~list~0.offset 4))))} is VALID [2020-07-10 15:09:01,061 INFO L280 TraceCheckUtils]: 18: Hoare triple {10126#(and (= 0 (select (select |#memory_$Pointer$.base| main_~list~0.base) main_~list~0.offset)) (= 0 (select (select |#memory_$Pointer$.offset| main_~list~0.base) main_~list~0.offset)) (= 0 (select (select |#memory_$Pointer$.offset| main_~list~0.base) (+ main_~list~0.offset 4))) (= 0 (select (select |#memory_$Pointer$.base| main_~list~0.base) (+ main_~list~0.offset 4))))} assume !!(0 != ~end~0.base || 0 != ~end~0.offset); {10126#(and (= 0 (select (select |#memory_$Pointer$.base| main_~list~0.base) main_~list~0.offset)) (= 0 (select (select |#memory_$Pointer$.offset| main_~list~0.base) main_~list~0.offset)) (= 0 (select (select |#memory_$Pointer$.offset| main_~list~0.base) (+ main_~list~0.offset 4))) (= 0 (select (select |#memory_$Pointer$.base| main_~list~0.base) (+ main_~list~0.offset 4))))} is VALID [2020-07-10 15:09:01,062 INFO L280 TraceCheckUtils]: 19: Hoare triple {10126#(and (= 0 (select (select |#memory_$Pointer$.base| main_~list~0.base) main_~list~0.offset)) (= 0 (select (select |#memory_$Pointer$.offset| main_~list~0.base) main_~list~0.offset)) (= 0 (select (select |#memory_$Pointer$.offset| main_~list~0.base) (+ main_~list~0.offset 4))) (= 0 (select (select |#memory_$Pointer$.base| main_~list~0.base) (+ main_~list~0.offset 4))))} goto; {10126#(and (= 0 (select (select |#memory_$Pointer$.base| main_~list~0.base) main_~list~0.offset)) (= 0 (select (select |#memory_$Pointer$.offset| main_~list~0.base) main_~list~0.offset)) (= 0 (select (select |#memory_$Pointer$.offset| main_~list~0.base) (+ main_~list~0.offset 4))) (= 0 (select (select |#memory_$Pointer$.base| main_~list~0.base) (+ main_~list~0.offset 4))))} is VALID [2020-07-10 15:09:01,063 INFO L280 TraceCheckUtils]: 20: Hoare triple {10126#(and (= 0 (select (select |#memory_$Pointer$.base| main_~list~0.base) main_~list~0.offset)) (= 0 (select (select |#memory_$Pointer$.offset| main_~list~0.base) main_~list~0.offset)) (= 0 (select (select |#memory_$Pointer$.offset| main_~list~0.base) (+ main_~list~0.offset 4))) (= 0 (select (select |#memory_$Pointer$.base| main_~list~0.base) (+ main_~list~0.offset 4))))} assume !!(0 != ~end~0.base || 0 != ~end~0.offset);~len~0 := 0;call #t~mem18.base, #t~mem18.offset := read~$Pointer$(~end~0.base, 4 + ~end~0.offset, 4);~inner~0.base, ~inner~0.offset := #t~mem18.base, #t~mem18.offset;havoc #t~mem18.base, #t~mem18.offset; {10126#(and (= 0 (select (select |#memory_$Pointer$.base| main_~list~0.base) main_~list~0.offset)) (= 0 (select (select |#memory_$Pointer$.offset| main_~list~0.base) main_~list~0.offset)) (= 0 (select (select |#memory_$Pointer$.offset| main_~list~0.base) (+ main_~list~0.offset 4))) (= 0 (select (select |#memory_$Pointer$.base| main_~list~0.base) (+ main_~list~0.offset 4))))} is VALID [2020-07-10 15:09:01,064 INFO L280 TraceCheckUtils]: 21: Hoare triple {10126#(and (= 0 (select (select |#memory_$Pointer$.base| main_~list~0.base) main_~list~0.offset)) (= 0 (select (select |#memory_$Pointer$.offset| main_~list~0.base) main_~list~0.offset)) (= 0 (select (select |#memory_$Pointer$.offset| main_~list~0.base) (+ main_~list~0.offset 4))) (= 0 (select (select |#memory_$Pointer$.base| main_~list~0.base) (+ main_~list~0.offset 4))))} assume !(0 != ~inner~0.base || 0 != ~inner~0.offset); {10126#(and (= 0 (select (select |#memory_$Pointer$.base| main_~list~0.base) main_~list~0.offset)) (= 0 (select (select |#memory_$Pointer$.offset| main_~list~0.base) main_~list~0.offset)) (= 0 (select (select |#memory_$Pointer$.offset| main_~list~0.base) (+ main_~list~0.offset 4))) (= 0 (select (select |#memory_$Pointer$.base| main_~list~0.base) (+ main_~list~0.offset 4))))} is VALID [2020-07-10 15:09:01,065 INFO L280 TraceCheckUtils]: 22: Hoare triple {10126#(and (= 0 (select (select |#memory_$Pointer$.base| main_~list~0.base) main_~list~0.offset)) (= 0 (select (select |#memory_$Pointer$.offset| main_~list~0.base) main_~list~0.offset)) (= 0 (select (select |#memory_$Pointer$.offset| main_~list~0.base) (+ main_~list~0.offset 4))) (= 0 (select (select |#memory_$Pointer$.base| main_~list~0.base) (+ main_~list~0.offset 4))))} assume !!(~len~0 <= 1); {10126#(and (= 0 (select (select |#memory_$Pointer$.base| main_~list~0.base) main_~list~0.offset)) (= 0 (select (select |#memory_$Pointer$.offset| main_~list~0.base) main_~list~0.offset)) (= 0 (select (select |#memory_$Pointer$.offset| main_~list~0.base) (+ main_~list~0.offset 4))) (= 0 (select (select |#memory_$Pointer$.base| main_~list~0.base) (+ main_~list~0.offset 4))))} is VALID [2020-07-10 15:09:01,066 INFO L280 TraceCheckUtils]: 23: Hoare triple {10126#(and (= 0 (select (select |#memory_$Pointer$.base| main_~list~0.base) main_~list~0.offset)) (= 0 (select (select |#memory_$Pointer$.offset| main_~list~0.base) main_~list~0.offset)) (= 0 (select (select |#memory_$Pointer$.offset| main_~list~0.base) (+ main_~list~0.offset 4))) (= 0 (select (select |#memory_$Pointer$.base| main_~list~0.base) (+ main_~list~0.offset 4))))} goto; {10126#(and (= 0 (select (select |#memory_$Pointer$.base| main_~list~0.base) main_~list~0.offset)) (= 0 (select (select |#memory_$Pointer$.offset| main_~list~0.base) main_~list~0.offset)) (= 0 (select (select |#memory_$Pointer$.offset| main_~list~0.base) (+ main_~list~0.offset 4))) (= 0 (select (select |#memory_$Pointer$.base| main_~list~0.base) (+ main_~list~0.offset 4))))} is VALID [2020-07-10 15:09:01,066 INFO L280 TraceCheckUtils]: 24: Hoare triple {10126#(and (= 0 (select (select |#memory_$Pointer$.base| main_~list~0.base) main_~list~0.offset)) (= 0 (select (select |#memory_$Pointer$.offset| main_~list~0.base) main_~list~0.offset)) (= 0 (select (select |#memory_$Pointer$.offset| main_~list~0.base) (+ main_~list~0.offset 4))) (= 0 (select (select |#memory_$Pointer$.base| main_~list~0.base) (+ main_~list~0.offset 4))))} call #t~mem23.base, #t~mem23.offset := read~$Pointer$(~end~0.base, ~end~0.offset, 4);~end~0.base, ~end~0.offset := #t~mem23.base, #t~mem23.offset;havoc #t~mem23.base, #t~mem23.offset; {10126#(and (= 0 (select (select |#memory_$Pointer$.base| main_~list~0.base) main_~list~0.offset)) (= 0 (select (select |#memory_$Pointer$.offset| main_~list~0.base) main_~list~0.offset)) (= 0 (select (select |#memory_$Pointer$.offset| main_~list~0.base) (+ main_~list~0.offset 4))) (= 0 (select (select |#memory_$Pointer$.base| main_~list~0.base) (+ main_~list~0.offset 4))))} is VALID [2020-07-10 15:09:01,067 INFO L280 TraceCheckUtils]: 25: Hoare triple {10126#(and (= 0 (select (select |#memory_$Pointer$.base| main_~list~0.base) main_~list~0.offset)) (= 0 (select (select |#memory_$Pointer$.offset| main_~list~0.base) main_~list~0.offset)) (= 0 (select (select |#memory_$Pointer$.offset| main_~list~0.base) (+ main_~list~0.offset 4))) (= 0 (select (select |#memory_$Pointer$.base| main_~list~0.base) (+ main_~list~0.offset 4))))} assume !(0 != ~end~0.base || 0 != ~end~0.offset); {10126#(and (= 0 (select (select |#memory_$Pointer$.base| main_~list~0.base) main_~list~0.offset)) (= 0 (select (select |#memory_$Pointer$.offset| main_~list~0.base) main_~list~0.offset)) (= 0 (select (select |#memory_$Pointer$.offset| main_~list~0.base) (+ main_~list~0.offset 4))) (= 0 (select (select |#memory_$Pointer$.base| main_~list~0.base) (+ main_~list~0.offset 4))))} is VALID [2020-07-10 15:09:01,068 INFO L280 TraceCheckUtils]: 26: Hoare triple {10126#(and (= 0 (select (select |#memory_$Pointer$.base| main_~list~0.base) main_~list~0.offset)) (= 0 (select (select |#memory_$Pointer$.offset| main_~list~0.base) main_~list~0.offset)) (= 0 (select (select |#memory_$Pointer$.offset| main_~list~0.base) (+ main_~list~0.offset 4))) (= 0 (select (select |#memory_$Pointer$.base| main_~list~0.base) (+ main_~list~0.offset 4))))} assume !!(0 != ~list~0.base || 0 != ~list~0.offset);call #t~mem24.base, #t~mem24.offset := read~$Pointer$(~list~0.base, 4 + ~list~0.offset, 4);~end~0.base, ~end~0.offset := #t~mem24.base, #t~mem24.offset;havoc #t~mem24.base, #t~mem24.offset; {10126#(and (= 0 (select (select |#memory_$Pointer$.base| main_~list~0.base) main_~list~0.offset)) (= 0 (select (select |#memory_$Pointer$.offset| main_~list~0.base) main_~list~0.offset)) (= 0 (select (select |#memory_$Pointer$.offset| main_~list~0.base) (+ main_~list~0.offset 4))) (= 0 (select (select |#memory_$Pointer$.base| main_~list~0.base) (+ main_~list~0.offset 4))))} is VALID [2020-07-10 15:09:01,069 INFO L280 TraceCheckUtils]: 27: Hoare triple {10126#(and (= 0 (select (select |#memory_$Pointer$.base| main_~list~0.base) main_~list~0.offset)) (= 0 (select (select |#memory_$Pointer$.offset| main_~list~0.base) main_~list~0.offset)) (= 0 (select (select |#memory_$Pointer$.offset| main_~list~0.base) (+ main_~list~0.offset 4))) (= 0 (select (select |#memory_$Pointer$.base| main_~list~0.base) (+ main_~list~0.offset 4))))} assume !(0 != ~end~0.base || 0 != ~end~0.offset); {10126#(and (= 0 (select (select |#memory_$Pointer$.base| main_~list~0.base) main_~list~0.offset)) (= 0 (select (select |#memory_$Pointer$.offset| main_~list~0.base) main_~list~0.offset)) (= 0 (select (select |#memory_$Pointer$.offset| main_~list~0.base) (+ main_~list~0.offset 4))) (= 0 (select (select |#memory_$Pointer$.base| main_~list~0.base) (+ main_~list~0.offset 4))))} is VALID [2020-07-10 15:09:01,070 INFO L280 TraceCheckUtils]: 28: Hoare triple {10126#(and (= 0 (select (select |#memory_$Pointer$.base| main_~list~0.base) main_~list~0.offset)) (= 0 (select (select |#memory_$Pointer$.offset| main_~list~0.base) main_~list~0.offset)) (= 0 (select (select |#memory_$Pointer$.offset| main_~list~0.base) (+ main_~list~0.offset 4))) (= 0 (select (select |#memory_$Pointer$.base| main_~list~0.base) (+ main_~list~0.offset 4))))} call #t~mem27.base, #t~mem27.offset := read~$Pointer$(~list~0.base, ~list~0.offset, 4);~end~0.base, ~end~0.offset := #t~mem27.base, #t~mem27.offset;havoc #t~mem27.base, #t~mem27.offset;call ULTIMATE.dealloc(~list~0.base, ~list~0.offset);~list~0.base, ~list~0.offset := ~end~0.base, ~end~0.offset; {10094#(and (= 0 main_~list~0.offset) (= 0 main_~list~0.base))} is VALID [2020-07-10 15:09:01,071 INFO L280 TraceCheckUtils]: 29: Hoare triple {10094#(and (= 0 main_~list~0.offset) (= 0 main_~list~0.base))} assume !!(0 != ~list~0.base || 0 != ~list~0.offset);call #t~mem24.base, #t~mem24.offset := read~$Pointer$(~list~0.base, 4 + ~list~0.offset, 4);~end~0.base, ~end~0.offset := #t~mem24.base, #t~mem24.offset;havoc #t~mem24.base, #t~mem24.offset; {10087#false} is VALID [2020-07-10 15:09:01,071 INFO L280 TraceCheckUtils]: 30: Hoare triple {10087#false} assume 0 != ~end~0.base || 0 != ~end~0.offset; {10087#false} is VALID [2020-07-10 15:09:01,071 INFO L280 TraceCheckUtils]: 31: Hoare triple {10087#false} assume !!(0 != ~end~0.base || 0 != ~end~0.offset); {10087#false} is VALID [2020-07-10 15:09:01,071 INFO L280 TraceCheckUtils]: 32: Hoare triple {10087#false} goto; {10087#false} is VALID [2020-07-10 15:09:01,071 INFO L280 TraceCheckUtils]: 33: Hoare triple {10087#false} call #t~mem25.base, #t~mem25.offset := read~$Pointer$(~end~0.base, 4 + ~end~0.offset, 4); {10087#false} is VALID [2020-07-10 15:09:01,071 INFO L280 TraceCheckUtils]: 34: Hoare triple {10087#false} assume !(0 == #t~mem25.base && 0 == #t~mem25.offset);havoc #t~mem25.base, #t~mem25.offset; {10087#false} is VALID [2020-07-10 15:09:01,072 INFO L280 TraceCheckUtils]: 35: Hoare triple {10087#false} assume !false; {10087#false} is VALID [2020-07-10 15:09:01,078 INFO L134 CoverageAnalysis]: Checked inductivity of 3 backedges. 1 proven. 1 refuted. 0 times theorem prover too weak. 1 trivial. 0 not checked. [2020-07-10 15:09:01,078 INFO L220 FreeRefinementEngine]: Constructing automaton from 0 perfect and 2 imperfect interpolant sequences. [2020-07-10 15:09:01,078 INFO L233 FreeRefinementEngine]: Number of different interpolants: perfect sequences [] imperfect sequences [7, 5] total 8 [2020-07-10 15:09:01,079 INFO L156 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [1345692440] [2020-07-10 15:09:01,080 INFO L78 Accepts]: Start accepts. Automaton has 8 states. Word has length 36 [2020-07-10 15:09:01,080 INFO L84 Accepts]: Finished accepts. word is accepted. [2020-07-10 15:09:01,080 INFO L86 InductivityCheck]: Starting indutivity check of a Floyd-Hoare automaton with 8 states. [2020-07-10 15:09:01,157 INFO L119 InductivityCheck]: Floyd-Hoare automaton has 62 edges. 62 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2020-07-10 15:09:01,157 INFO L459 AbstractCegarLoop]: Interpolant automaton has 8 states [2020-07-10 15:09:01,158 INFO L143 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy CAMEL [2020-07-10 15:09:01,158 INFO L142 InterpolantAutomaton]: Constructing interpolant automaton starting with 8 interpolants. [2020-07-10 15:09:01,158 INFO L144 InterpolantAutomaton]: CoverageRelationStatistics Valid=14, Invalid=42, Unknown=0, NotChecked=0, Total=56 [2020-07-10 15:09:01,158 INFO L87 Difference]: Start difference. First operand 152 states and 179 transitions. Second operand 8 states. [2020-07-10 15:09:02,466 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2020-07-10 15:09:02,467 INFO L93 Difference]: Finished difference Result 248 states and 283 transitions. [2020-07-10 15:09:02,467 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 12 states. [2020-07-10 15:09:02,467 INFO L78 Accepts]: Start accepts. Automaton has 8 states. Word has length 36 [2020-07-10 15:09:02,467 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2020-07-10 15:09:02,467 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 8 states. [2020-07-10 15:09:02,469 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 12 states to 12 states and 217 transitions. [2020-07-10 15:09:02,469 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 8 states. [2020-07-10 15:09:02,470 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 12 states to 12 states and 217 transitions. [2020-07-10 15:09:02,470 INFO L86 InductivityCheck]: Starting indutivity check of a Floyd-Hoare automaton with 12 states and 217 transitions. [2020-07-10 15:09:02,727 INFO L119 InductivityCheck]: Floyd-Hoare automaton has 217 edges. 217 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2020-07-10 15:09:02,731 INFO L225 Difference]: With dead ends: 248 [2020-07-10 15:09:02,732 INFO L226 Difference]: Without dead ends: 210 [2020-07-10 15:09:02,732 INFO L675 BasicCegarLoop]: 0 DeclaredPredicates, 50 GetRequests, 39 SyntacticMatches, 0 SemanticMatches, 11 ConstructedPredicates, 0 IntricatePredicates, 0 DeprecatedPredicates, 11 ImplicationChecksByTransitivity, 0.1s TimeCoverageRelationStatistics Valid=38, Invalid=118, Unknown=0, NotChecked=0, Total=156 [2020-07-10 15:09:02,733 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 210 states. [2020-07-10 15:09:02,911 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 210 to 169. [2020-07-10 15:09:02,911 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2020-07-10 15:09:02,911 INFO L82 GeneralOperation]: Start isEquivalent. First operand 210 states. Second operand 169 states. [2020-07-10 15:09:02,911 INFO L74 IsIncluded]: Start isIncluded. First operand 210 states. Second operand 169 states. [2020-07-10 15:09:02,912 INFO L87 Difference]: Start difference. First operand 210 states. Second operand 169 states. [2020-07-10 15:09:02,916 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2020-07-10 15:09:02,916 INFO L93 Difference]: Finished difference Result 210 states and 239 transitions. [2020-07-10 15:09:02,916 INFO L276 IsEmpty]: Start isEmpty. Operand 210 states and 239 transitions. [2020-07-10 15:09:02,917 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2020-07-10 15:09:02,917 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2020-07-10 15:09:02,917 INFO L74 IsIncluded]: Start isIncluded. First operand 169 states. Second operand 210 states. [2020-07-10 15:09:02,917 INFO L87 Difference]: Start difference. First operand 169 states. Second operand 210 states. [2020-07-10 15:09:02,921 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2020-07-10 15:09:02,921 INFO L93 Difference]: Finished difference Result 210 states and 239 transitions. [2020-07-10 15:09:02,921 INFO L276 IsEmpty]: Start isEmpty. Operand 210 states and 239 transitions. [2020-07-10 15:09:02,922 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2020-07-10 15:09:02,922 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2020-07-10 15:09:02,922 INFO L88 GeneralOperation]: Finished isEquivalent. [2020-07-10 15:09:02,922 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2020-07-10 15:09:02,922 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 169 states. [2020-07-10 15:09:02,925 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 169 states to 169 states and 202 transitions. [2020-07-10 15:09:02,925 INFO L78 Accepts]: Start accepts. Automaton has 169 states and 202 transitions. Word has length 36 [2020-07-10 15:09:02,925 INFO L84 Accepts]: Finished accepts. word is rejected. [2020-07-10 15:09:02,925 INFO L479 AbstractCegarLoop]: Abstraction has 169 states and 202 transitions. [2020-07-10 15:09:02,925 INFO L480 AbstractCegarLoop]: Interpolant automaton has 8 states. [2020-07-10 15:09:02,926 INFO L276 IsEmpty]: Start isEmpty. Operand 169 states and 202 transitions. [2020-07-10 15:09:02,926 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 37 [2020-07-10 15:09:02,926 INFO L414 BasicCegarLoop]: Found error trace [2020-07-10 15:09:02,926 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] [2020-07-10 15:09:03,139 WARN L516 AbstractCegarLoop]: Destroyed unattended storables created during the last iteration: SelfDestructingSolverStorable18,3 z3 -smt2 -in SMTLIB2_COMPLIANT=true [2020-07-10 15:09:03,140 INFO L427 AbstractCegarLoop]: === Iteration 20 === [mainErr0ASSERT_VIOLATIONERROR_FUNCTION, mainErr7ASSERT_VIOLATIONERROR_FUNCTION, mainErr8ASSERT_VIOLATIONERROR_FUNCTION, mainErr9ASSERT_VIOLATIONERROR_FUNCTION, mainErr10ASSERT_VIOLATIONERROR_FUNCTION, mainErr12ASSERT_VIOLATIONERROR_FUNCTION, mainErr4ASSERT_VIOLATIONERROR_FUNCTION, mainErr11ASSERT_VIOLATIONERROR_FUNCTION, mainErr2ASSERT_VIOLATIONERROR_FUNCTION, mainErr6ASSERT_VIOLATIONERROR_FUNCTION, mainErr5ASSERT_VIOLATIONERROR_FUNCTION, mainErr3ASSERT_VIOLATIONERROR_FUNCTION, mainErr1ASSERT_VIOLATIONERROR_FUNCTION]=== [2020-07-10 15:09:03,141 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2020-07-10 15:09:03,141 INFO L82 PathProgramCache]: Analyzing trace with hash -620993698, now seen corresponding path program 1 times [2020-07-10 15:09:03,142 INFO L163 FreeRefinementEngine]: Executing refinement strategy CAMEL [2020-07-10 15:09:03,142 INFO L354 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [485605150] [2020-07-10 15:09:03,143 INFO L94 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2020-07-10 15:09:03,152 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2020-07-10 15:09:03,183 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2020-07-10 15:09:03,185 INFO L280 TraceCheckUtils]: 0: Hoare triple {11110#(and (= |#valid| |old(#valid)|) (= |#NULL.base| |old(#NULL.base)|) (= |#NULL.offset| |old(#NULL.offset)|))} #NULL.base, #NULL.offset := 0, 0;#valid := #valid[0 := 0];assume 0 < #StackHeapBarrier; {11104#true} is VALID [2020-07-10 15:09:03,186 INFO L280 TraceCheckUtils]: 1: Hoare triple {11104#true} assume true; {11104#true} is VALID [2020-07-10 15:09:03,186 INFO L275 TraceCheckUtils]: 2: Hoare quadruple {11104#true} {11104#true} #337#return; {11104#true} is VALID [2020-07-10 15:09:03,187 INFO L263 TraceCheckUtils]: 0: Hoare triple {11104#true} call ULTIMATE.init(); {11110#(and (= |#valid| |old(#valid)|) (= |#NULL.base| |old(#NULL.base)|) (= |#NULL.offset| |old(#NULL.offset)|))} is VALID [2020-07-10 15:09:03,187 INFO L280 TraceCheckUtils]: 1: Hoare triple {11110#(and (= |#valid| |old(#valid)|) (= |#NULL.base| |old(#NULL.base)|) (= |#NULL.offset| |old(#NULL.offset)|))} #NULL.base, #NULL.offset := 0, 0;#valid := #valid[0 := 0];assume 0 < #StackHeapBarrier; {11104#true} is VALID [2020-07-10 15:09:03,187 INFO L280 TraceCheckUtils]: 2: Hoare triple {11104#true} assume true; {11104#true} is VALID [2020-07-10 15:09:03,187 INFO L275 TraceCheckUtils]: 3: Hoare quadruple {11104#true} {11104#true} #337#return; {11104#true} is VALID [2020-07-10 15:09:03,188 INFO L263 TraceCheckUtils]: 4: Hoare triple {11104#true} call #t~ret28 := main(); {11104#true} is VALID [2020-07-10 15:09:03,188 INFO L280 TraceCheckUtils]: 5: Hoare triple {11104#true} call #t~malloc0.base, #t~malloc0.offset := #Ultimate.allocOnHeap(8);~list~0.base, ~list~0.offset := #t~malloc0.base, #t~malloc0.offset;call write~$Pointer$(0, 0, ~list~0.base, ~list~0.offset, 4); {11104#true} is VALID [2020-07-10 15:09:03,188 INFO L280 TraceCheckUtils]: 6: Hoare triple {11104#true} assume !!(~list~0.base != 0 || ~list~0.offset != 0); {11104#true} is VALID [2020-07-10 15:09:03,188 INFO L280 TraceCheckUtils]: 7: Hoare triple {11104#true} goto; {11104#true} is VALID [2020-07-10 15:09:03,188 INFO L280 TraceCheckUtils]: 8: Hoare triple {11104#true} assume -2147483648 <= #t~nondet1 && #t~nondet1 <= 2147483647; {11104#true} is VALID [2020-07-10 15:09:03,189 INFO L280 TraceCheckUtils]: 9: Hoare triple {11104#true} assume !(0 != #t~nondet1);havoc #t~nondet1;call #t~malloc2.base, #t~malloc2.offset := #Ultimate.allocOnHeap(8);call write~$Pointer$(#t~malloc2.base, #t~malloc2.offset, ~list~0.base, 4 + ~list~0.offset, 4);call #t~mem3.base, #t~mem3.offset := read~$Pointer$(~list~0.base, 4 + ~list~0.offset, 4);call write~$Pointer$(0, 0, #t~mem3.base, #t~mem3.offset, 4);havoc #t~mem3.base, #t~mem3.offset;call #t~mem4.base, #t~mem4.offset := read~$Pointer$(~list~0.base, 4 + ~list~0.offset, 4);call write~$Pointer$(0, 0, #t~mem4.base, 4 + #t~mem4.offset, 4);havoc #t~mem4.base, #t~mem4.offset; {11104#true} is VALID [2020-07-10 15:09:03,189 INFO L280 TraceCheckUtils]: 10: Hoare triple {11104#true} call #t~mem5.base, #t~mem5.offset := read~$Pointer$(~list~0.base, 4 + ~list~0.offset, 4);#t~short7 := #t~mem5.base != 0 || #t~mem5.offset != 0; {11104#true} is VALID [2020-07-10 15:09:03,189 INFO L280 TraceCheckUtils]: 11: Hoare triple {11104#true} assume #t~short7; {11104#true} is VALID [2020-07-10 15:09:03,189 INFO L280 TraceCheckUtils]: 12: Hoare triple {11104#true} assume !!#t~short7;havoc #t~mem5.base, #t~mem5.offset;havoc #t~short7;havoc #t~mem6.base, #t~mem6.offset; {11104#true} is VALID [2020-07-10 15:09:03,189 INFO L280 TraceCheckUtils]: 13: Hoare triple {11104#true} goto; {11104#true} is VALID [2020-07-10 15:09:03,189 INFO L280 TraceCheckUtils]: 14: Hoare triple {11104#true} ~end~0.base, ~end~0.offset := ~list~0.base, ~list~0.offset; {11104#true} is VALID [2020-07-10 15:09:03,190 INFO L280 TraceCheckUtils]: 15: Hoare triple {11104#true} assume -2147483648 <= #t~nondet8 && #t~nondet8 <= 2147483647; {11104#true} is VALID [2020-07-10 15:09:03,190 INFO L280 TraceCheckUtils]: 16: Hoare triple {11104#true} assume !(0 != #t~nondet8);havoc #t~nondet8; {11104#true} is VALID [2020-07-10 15:09:03,190 INFO L280 TraceCheckUtils]: 17: Hoare triple {11104#true} ~end~0.base, ~end~0.offset := 0, 0;~end~0.base, ~end~0.offset := ~list~0.base, ~list~0.offset; {11104#true} is VALID [2020-07-10 15:09:03,190 INFO L280 TraceCheckUtils]: 18: Hoare triple {11104#true} assume !!(0 != ~end~0.base || 0 != ~end~0.offset); {11104#true} is VALID [2020-07-10 15:09:03,190 INFO L280 TraceCheckUtils]: 19: Hoare triple {11104#true} goto; {11104#true} is VALID [2020-07-10 15:09:03,190 INFO L280 TraceCheckUtils]: 20: Hoare triple {11104#true} assume !!(0 != ~end~0.base || 0 != ~end~0.offset);~len~0 := 0;call #t~mem18.base, #t~mem18.offset := read~$Pointer$(~end~0.base, 4 + ~end~0.offset, 4);~inner~0.base, ~inner~0.offset := #t~mem18.base, #t~mem18.offset;havoc #t~mem18.base, #t~mem18.offset; {11104#true} is VALID [2020-07-10 15:09:03,191 INFO L280 TraceCheckUtils]: 21: Hoare triple {11104#true} assume !!(0 != ~inner~0.base || 0 != ~inner~0.offset); {11104#true} is VALID [2020-07-10 15:09:03,191 INFO L280 TraceCheckUtils]: 22: Hoare triple {11104#true} assume 0 == ~len~0;~len~0 := 1; {11109#(= 1 main_~len~0)} is VALID [2020-07-10 15:09:03,192 INFO L280 TraceCheckUtils]: 23: Hoare triple {11109#(= 1 main_~len~0)} assume !!(0 != ~inner~0.base || 0 != ~inner~0.offset); {11109#(= 1 main_~len~0)} is VALID [2020-07-10 15:09:03,192 INFO L280 TraceCheckUtils]: 24: Hoare triple {11109#(= 1 main_~len~0)} goto; {11109#(= 1 main_~len~0)} is VALID [2020-07-10 15:09:03,193 INFO L280 TraceCheckUtils]: 25: Hoare triple {11109#(= 1 main_~len~0)} call #t~mem19.base, #t~mem19.offset := read~$Pointer$(~inner~0.base, 4 + ~inner~0.offset, 4); {11109#(= 1 main_~len~0)} is VALID [2020-07-10 15:09:03,193 INFO L280 TraceCheckUtils]: 26: Hoare triple {11109#(= 1 main_~len~0)} assume !!(0 == #t~mem19.base && 0 == #t~mem19.offset);havoc #t~mem19.base, #t~mem19.offset; {11109#(= 1 main_~len~0)} is VALID [2020-07-10 15:09:03,194 INFO L280 TraceCheckUtils]: 27: Hoare triple {11109#(= 1 main_~len~0)} goto; {11109#(= 1 main_~len~0)} is VALID [2020-07-10 15:09:03,194 INFO L280 TraceCheckUtils]: 28: Hoare triple {11109#(= 1 main_~len~0)} call #t~mem20.base, #t~mem20.offset := read~$Pointer$(~inner~0.base, ~inner~0.offset, 4); {11109#(= 1 main_~len~0)} is VALID [2020-07-10 15:09:03,195 INFO L280 TraceCheckUtils]: 29: Hoare triple {11109#(= 1 main_~len~0)} assume !!(0 == #t~mem20.base && 0 == #t~mem20.offset);havoc #t~mem20.base, #t~mem20.offset; {11109#(= 1 main_~len~0)} is VALID [2020-07-10 15:09:03,195 INFO L280 TraceCheckUtils]: 30: Hoare triple {11109#(= 1 main_~len~0)} goto; {11109#(= 1 main_~len~0)} is VALID [2020-07-10 15:09:03,196 INFO L280 TraceCheckUtils]: 31: Hoare triple {11109#(= 1 main_~len~0)} call #t~mem21.base, #t~mem21.offset := read~$Pointer$(~inner~0.base, 4 + ~inner~0.offset, 4);~inner~0.base, ~inner~0.offset := #t~mem21.base, #t~mem21.offset;havoc #t~mem21.base, #t~mem21.offset; {11109#(= 1 main_~len~0)} is VALID [2020-07-10 15:09:03,196 INFO L280 TraceCheckUtils]: 32: Hoare triple {11109#(= 1 main_~len~0)} assume 1 == ~len~0;call #t~mem22.base, #t~mem22.offset := read~$Pointer$(~inner~0.base, 4 + ~inner~0.offset, 4);~inner~0.base, ~inner~0.offset := #t~mem22.base, #t~mem22.offset;havoc #t~mem22.base, #t~mem22.offset; {11109#(= 1 main_~len~0)} is VALID [2020-07-10 15:09:03,197 INFO L280 TraceCheckUtils]: 33: Hoare triple {11109#(= 1 main_~len~0)} assume !(0 != ~inner~0.base || 0 != ~inner~0.offset); {11109#(= 1 main_~len~0)} is VALID [2020-07-10 15:09:03,197 INFO L280 TraceCheckUtils]: 34: Hoare triple {11109#(= 1 main_~len~0)} assume !(~len~0 <= 1); {11105#false} is VALID [2020-07-10 15:09:03,198 INFO L280 TraceCheckUtils]: 35: Hoare triple {11105#false} assume !false; {11105#false} is VALID [2020-07-10 15:09:03,199 INFO L134 CoverageAnalysis]: Checked inductivity of 1 backedges. 1 proven. 0 refuted. 0 times theorem prover too weak. 0 trivial. 0 not checked. [2020-07-10 15:09:03,199 INFO L354 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleSmtInterpolCraig [485605150] [2020-07-10 15:09:03,199 INFO L220 FreeRefinementEngine]: Constructing automaton from 1 perfect and 0 imperfect interpolant sequences. [2020-07-10 15:09:03,200 INFO L233 FreeRefinementEngine]: Number of different interpolants: perfect sequences [4] imperfect sequences [] total 4 [2020-07-10 15:09:03,200 INFO L156 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [1619638349] [2020-07-10 15:09:03,200 INFO L78 Accepts]: Start accepts. Automaton has 4 states. Word has length 36 [2020-07-10 15:09:03,200 INFO L84 Accepts]: Finished accepts. word is accepted. [2020-07-10 15:09:03,200 INFO L86 InductivityCheck]: Starting indutivity check of a Floyd-Hoare automaton with 4 states. [2020-07-10 15:09:03,236 INFO L119 InductivityCheck]: Floyd-Hoare automaton has 36 edges. 36 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2020-07-10 15:09:03,237 INFO L459 AbstractCegarLoop]: Interpolant automaton has 4 states [2020-07-10 15:09:03,237 INFO L143 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy CAMEL [2020-07-10 15:09:03,237 INFO L142 InterpolantAutomaton]: Constructing interpolant automaton starting with 4 interpolants. [2020-07-10 15:09:03,237 INFO L144 InterpolantAutomaton]: CoverageRelationStatistics Valid=5, Invalid=7, Unknown=0, NotChecked=0, Total=12 [2020-07-10 15:09:03,237 INFO L87 Difference]: Start difference. First operand 169 states and 202 transitions. Second operand 4 states. [2020-07-10 15:09:03,815 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2020-07-10 15:09:03,815 INFO L93 Difference]: Finished difference Result 354 states and 437 transitions. [2020-07-10 15:09:03,815 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 4 states. [2020-07-10 15:09:03,815 INFO L78 Accepts]: Start accepts. Automaton has 4 states. Word has length 36 [2020-07-10 15:09:03,816 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2020-07-10 15:09:03,816 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 4 states. [2020-07-10 15:09:03,823 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 4 states to 4 states and 163 transitions. [2020-07-10 15:09:03,823 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 4 states. [2020-07-10 15:09:03,824 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 4 states to 4 states and 163 transitions. [2020-07-10 15:09:03,824 INFO L86 InductivityCheck]: Starting indutivity check of a Floyd-Hoare automaton with 4 states and 163 transitions. [2020-07-10 15:09:03,994 INFO L119 InductivityCheck]: Floyd-Hoare automaton has 163 edges. 163 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2020-07-10 15:09:03,999 INFO L225 Difference]: With dead ends: 354 [2020-07-10 15:09:04,000 INFO L226 Difference]: Without dead ends: 258 [2020-07-10 15:09:04,000 INFO L675 BasicCegarLoop]: 0 DeclaredPredicates, 5 GetRequests, 3 SyntacticMatches, 0 SemanticMatches, 2 ConstructedPredicates, 0 IntricatePredicates, 0 DeprecatedPredicates, 0 ImplicationChecksByTransitivity, 0.0s TimeCoverageRelationStatistics Valid=5, Invalid=7, Unknown=0, NotChecked=0, Total=12 [2020-07-10 15:09:04,001 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 258 states. [2020-07-10 15:09:04,169 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 258 to 218. [2020-07-10 15:09:04,169 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2020-07-10 15:09:04,169 INFO L82 GeneralOperation]: Start isEquivalent. First operand 258 states. Second operand 218 states. [2020-07-10 15:09:04,169 INFO L74 IsIncluded]: Start isIncluded. First operand 258 states. Second operand 218 states. [2020-07-10 15:09:04,170 INFO L87 Difference]: Start difference. First operand 258 states. Second operand 218 states. [2020-07-10 15:09:04,175 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2020-07-10 15:09:04,175 INFO L93 Difference]: Finished difference Result 258 states and 304 transitions. [2020-07-10 15:09:04,175 INFO L276 IsEmpty]: Start isEmpty. Operand 258 states and 304 transitions. [2020-07-10 15:09:04,176 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2020-07-10 15:09:04,176 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2020-07-10 15:09:04,176 INFO L74 IsIncluded]: Start isIncluded. First operand 218 states. Second operand 258 states. [2020-07-10 15:09:04,177 INFO L87 Difference]: Start difference. First operand 218 states. Second operand 258 states. [2020-07-10 15:09:04,181 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2020-07-10 15:09:04,182 INFO L93 Difference]: Finished difference Result 258 states and 304 transitions. [2020-07-10 15:09:04,182 INFO L276 IsEmpty]: Start isEmpty. Operand 258 states and 304 transitions. [2020-07-10 15:09:04,182 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2020-07-10 15:09:04,182 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2020-07-10 15:09:04,183 INFO L88 GeneralOperation]: Finished isEquivalent. [2020-07-10 15:09:04,183 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2020-07-10 15:09:04,183 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 218 states. [2020-07-10 15:09:04,187 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 218 states to 218 states and 262 transitions. [2020-07-10 15:09:04,187 INFO L78 Accepts]: Start accepts. Automaton has 218 states and 262 transitions. Word has length 36 [2020-07-10 15:09:04,187 INFO L84 Accepts]: Finished accepts. word is rejected. [2020-07-10 15:09:04,187 INFO L479 AbstractCegarLoop]: Abstraction has 218 states and 262 transitions. [2020-07-10 15:09:04,187 INFO L480 AbstractCegarLoop]: Interpolant automaton has 4 states. [2020-07-10 15:09:04,187 INFO L276 IsEmpty]: Start isEmpty. Operand 218 states and 262 transitions. [2020-07-10 15:09:04,188 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 41 [2020-07-10 15:09:04,188 INFO L414 BasicCegarLoop]: Found error trace [2020-07-10 15:09:04,188 INFO L422 BasicCegarLoop]: trace histogram [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] [2020-07-10 15:09:04,188 WARN L516 AbstractCegarLoop]: Destroyed unattended storables created during the last iteration: SelfDestructingSolverStorable19 [2020-07-10 15:09:04,189 INFO L427 AbstractCegarLoop]: === Iteration 21 === [mainErr0ASSERT_VIOLATIONERROR_FUNCTION, mainErr7ASSERT_VIOLATIONERROR_FUNCTION, mainErr8ASSERT_VIOLATIONERROR_FUNCTION, mainErr9ASSERT_VIOLATIONERROR_FUNCTION, mainErr10ASSERT_VIOLATIONERROR_FUNCTION, mainErr12ASSERT_VIOLATIONERROR_FUNCTION, mainErr4ASSERT_VIOLATIONERROR_FUNCTION, mainErr11ASSERT_VIOLATIONERROR_FUNCTION, mainErr2ASSERT_VIOLATIONERROR_FUNCTION, mainErr6ASSERT_VIOLATIONERROR_FUNCTION, mainErr5ASSERT_VIOLATIONERROR_FUNCTION, mainErr3ASSERT_VIOLATIONERROR_FUNCTION, mainErr1ASSERT_VIOLATIONERROR_FUNCTION]=== [2020-07-10 15:09:04,189 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2020-07-10 15:09:04,189 INFO L82 PathProgramCache]: Analyzing trace with hash -366933706, now seen corresponding path program 1 times [2020-07-10 15:09:04,189 INFO L163 FreeRefinementEngine]: Executing refinement strategy CAMEL [2020-07-10 15:09:04,189 INFO L354 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [833436653] [2020-07-10 15:09:04,190 INFO L94 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2020-07-10 15:09:04,202 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2020-07-10 15:09:04,517 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2020-07-10 15:09:04,520 INFO L280 TraceCheckUtils]: 0: Hoare triple {12276#(and (= |#valid| |old(#valid)|) (= |#NULL.base| |old(#NULL.base)|) (= |#NULL.offset| |old(#NULL.offset)|))} #NULL.base, #NULL.offset := 0, 0;#valid := #valid[0 := 0];assume 0 < #StackHeapBarrier; {12264#true} is VALID [2020-07-10 15:09:04,520 INFO L280 TraceCheckUtils]: 1: Hoare triple {12264#true} assume true; {12264#true} is VALID [2020-07-10 15:09:04,521 INFO L275 TraceCheckUtils]: 2: Hoare quadruple {12264#true} {12264#true} #337#return; {12264#true} is VALID [2020-07-10 15:09:04,521 INFO L263 TraceCheckUtils]: 0: Hoare triple {12264#true} call ULTIMATE.init(); {12276#(and (= |#valid| |old(#valid)|) (= |#NULL.base| |old(#NULL.base)|) (= |#NULL.offset| |old(#NULL.offset)|))} is VALID [2020-07-10 15:09:04,522 INFO L280 TraceCheckUtils]: 1: Hoare triple {12276#(and (= |#valid| |old(#valid)|) (= |#NULL.base| |old(#NULL.base)|) (= |#NULL.offset| |old(#NULL.offset)|))} #NULL.base, #NULL.offset := 0, 0;#valid := #valid[0 := 0];assume 0 < #StackHeapBarrier; {12264#true} is VALID [2020-07-10 15:09:04,522 INFO L280 TraceCheckUtils]: 2: Hoare triple {12264#true} assume true; {12264#true} is VALID [2020-07-10 15:09:04,522 INFO L275 TraceCheckUtils]: 3: Hoare quadruple {12264#true} {12264#true} #337#return; {12264#true} is VALID [2020-07-10 15:09:04,522 INFO L263 TraceCheckUtils]: 4: Hoare triple {12264#true} call #t~ret28 := main(); {12264#true} is VALID [2020-07-10 15:09:04,524 INFO L280 TraceCheckUtils]: 5: Hoare triple {12264#true} call #t~malloc0.base, #t~malloc0.offset := #Ultimate.allocOnHeap(8);~list~0.base, ~list~0.offset := #t~malloc0.base, #t~malloc0.offset;call write~$Pointer$(0, 0, ~list~0.base, ~list~0.offset, 4); {12269#(and (= 0 main_~list~0.offset) (= 1 (select |#valid| main_~list~0.base)))} is VALID [2020-07-10 15:09:04,524 INFO L280 TraceCheckUtils]: 6: Hoare triple {12269#(and (= 0 main_~list~0.offset) (= 1 (select |#valid| main_~list~0.base)))} assume !!(~list~0.base != 0 || ~list~0.offset != 0); {12269#(and (= 0 main_~list~0.offset) (= 1 (select |#valid| main_~list~0.base)))} is VALID [2020-07-10 15:09:04,525 INFO L280 TraceCheckUtils]: 7: Hoare triple {12269#(and (= 0 main_~list~0.offset) (= 1 (select |#valid| main_~list~0.base)))} goto; {12269#(and (= 0 main_~list~0.offset) (= 1 (select |#valid| main_~list~0.base)))} is VALID [2020-07-10 15:09:04,526 INFO L280 TraceCheckUtils]: 8: Hoare triple {12269#(and (= 0 main_~list~0.offset) (= 1 (select |#valid| main_~list~0.base)))} assume -2147483648 <= #t~nondet1 && #t~nondet1 <= 2147483647; {12269#(and (= 0 main_~list~0.offset) (= 1 (select |#valid| main_~list~0.base)))} is VALID [2020-07-10 15:09:04,527 INFO L280 TraceCheckUtils]: 9: Hoare triple {12269#(and (= 0 main_~list~0.offset) (= 1 (select |#valid| main_~list~0.base)))} assume 0 != #t~nondet1;havoc #t~nondet1;call write~$Pointer$(0, 0, ~list~0.base, 4 + ~list~0.offset, 4); {12270#(and (= 0 (select (select |#memory_$Pointer$.offset| main_~list~0.base) (+ main_~list~0.offset 4))) (= 0 main_~list~0.offset) (= 0 (select (select |#memory_$Pointer$.base| main_~list~0.base) (+ main_~list~0.offset 4))) (= 1 (select |#valid| main_~list~0.base)))} is VALID [2020-07-10 15:09:04,528 INFO L280 TraceCheckUtils]: 10: Hoare triple {12270#(and (= 0 (select (select |#memory_$Pointer$.offset| main_~list~0.base) (+ main_~list~0.offset 4))) (= 0 main_~list~0.offset) (= 0 (select (select |#memory_$Pointer$.base| main_~list~0.base) (+ main_~list~0.offset 4))) (= 1 (select |#valid| main_~list~0.base)))} call #t~mem5.base, #t~mem5.offset := read~$Pointer$(~list~0.base, 4 + ~list~0.offset, 4);#t~short7 := #t~mem5.base != 0 || #t~mem5.offset != 0; {12270#(and (= 0 (select (select |#memory_$Pointer$.offset| main_~list~0.base) (+ main_~list~0.offset 4))) (= 0 main_~list~0.offset) (= 0 (select (select |#memory_$Pointer$.base| main_~list~0.base) (+ main_~list~0.offset 4))) (= 1 (select |#valid| main_~list~0.base)))} is VALID [2020-07-10 15:09:04,529 INFO L280 TraceCheckUtils]: 11: Hoare triple {12270#(and (= 0 (select (select |#memory_$Pointer$.offset| main_~list~0.base) (+ main_~list~0.offset 4))) (= 0 main_~list~0.offset) (= 0 (select (select |#memory_$Pointer$.base| main_~list~0.base) (+ main_~list~0.offset 4))) (= 1 (select |#valid| main_~list~0.base)))} assume !#t~short7;call #t~mem6.base, #t~mem6.offset := read~$Pointer$(~list~0.base, 4 + ~list~0.offset, 4);#t~short7 := #t~mem6.base == 0 && #t~mem6.offset == 0; {12270#(and (= 0 (select (select |#memory_$Pointer$.offset| main_~list~0.base) (+ main_~list~0.offset 4))) (= 0 main_~list~0.offset) (= 0 (select (select |#memory_$Pointer$.base| main_~list~0.base) (+ main_~list~0.offset 4))) (= 1 (select |#valid| main_~list~0.base)))} is VALID [2020-07-10 15:09:04,530 INFO L280 TraceCheckUtils]: 12: Hoare triple {12270#(and (= 0 (select (select |#memory_$Pointer$.offset| main_~list~0.base) (+ main_~list~0.offset 4))) (= 0 main_~list~0.offset) (= 0 (select (select |#memory_$Pointer$.base| main_~list~0.base) (+ main_~list~0.offset 4))) (= 1 (select |#valid| main_~list~0.base)))} assume !!#t~short7;havoc #t~mem5.base, #t~mem5.offset;havoc #t~short7;havoc #t~mem6.base, #t~mem6.offset; {12270#(and (= 0 (select (select |#memory_$Pointer$.offset| main_~list~0.base) (+ main_~list~0.offset 4))) (= 0 main_~list~0.offset) (= 0 (select (select |#memory_$Pointer$.base| main_~list~0.base) (+ main_~list~0.offset 4))) (= 1 (select |#valid| main_~list~0.base)))} is VALID [2020-07-10 15:09:04,531 INFO L280 TraceCheckUtils]: 13: Hoare triple {12270#(and (= 0 (select (select |#memory_$Pointer$.offset| main_~list~0.base) (+ main_~list~0.offset 4))) (= 0 main_~list~0.offset) (= 0 (select (select |#memory_$Pointer$.base| main_~list~0.base) (+ main_~list~0.offset 4))) (= 1 (select |#valid| main_~list~0.base)))} goto; {12270#(and (= 0 (select (select |#memory_$Pointer$.offset| main_~list~0.base) (+ main_~list~0.offset 4))) (= 0 main_~list~0.offset) (= 0 (select (select |#memory_$Pointer$.base| main_~list~0.base) (+ main_~list~0.offset 4))) (= 1 (select |#valid| main_~list~0.base)))} is VALID [2020-07-10 15:09:04,532 INFO L280 TraceCheckUtils]: 14: Hoare triple {12270#(and (= 0 (select (select |#memory_$Pointer$.offset| main_~list~0.base) (+ main_~list~0.offset 4))) (= 0 main_~list~0.offset) (= 0 (select (select |#memory_$Pointer$.base| main_~list~0.base) (+ main_~list~0.offset 4))) (= 1 (select |#valid| main_~list~0.base)))} ~end~0.base, ~end~0.offset := ~list~0.base, ~list~0.offset; {12271#(and (= main_~list~0.base main_~end~0.base) (= 0 (select (select |#memory_$Pointer$.base| main_~end~0.base) (+ main_~list~0.offset 4))) (= (select (select |#memory_$Pointer$.offset| main_~end~0.base) (+ main_~list~0.offset 4)) 0) (= 1 (select |#valid| main_~end~0.base)) (not (= (+ main_~list~0.offset 4) main_~end~0.offset)))} is VALID [2020-07-10 15:09:04,533 INFO L280 TraceCheckUtils]: 15: Hoare triple {12271#(and (= main_~list~0.base main_~end~0.base) (= 0 (select (select |#memory_$Pointer$.base| main_~end~0.base) (+ main_~list~0.offset 4))) (= (select (select |#memory_$Pointer$.offset| main_~end~0.base) (+ main_~list~0.offset 4)) 0) (= 1 (select |#valid| main_~end~0.base)) (not (= (+ main_~list~0.offset 4) main_~end~0.offset)))} assume -2147483648 <= #t~nondet8 && #t~nondet8 <= 2147483647; {12271#(and (= main_~list~0.base main_~end~0.base) (= 0 (select (select |#memory_$Pointer$.base| main_~end~0.base) (+ main_~list~0.offset 4))) (= (select (select |#memory_$Pointer$.offset| main_~end~0.base) (+ main_~list~0.offset 4)) 0) (= 1 (select |#valid| main_~end~0.base)) (not (= (+ main_~list~0.offset 4) main_~end~0.offset)))} is VALID [2020-07-10 15:09:04,535 INFO L280 TraceCheckUtils]: 16: Hoare triple {12271#(and (= main_~list~0.base main_~end~0.base) (= 0 (select (select |#memory_$Pointer$.base| main_~end~0.base) (+ main_~list~0.offset 4))) (= (select (select |#memory_$Pointer$.offset| main_~end~0.base) (+ main_~list~0.offset 4)) 0) (= 1 (select |#valid| main_~end~0.base)) (not (= (+ main_~list~0.offset 4) main_~end~0.offset)))} assume !!(0 != #t~nondet8);havoc #t~nondet8;call #t~malloc9.base, #t~malloc9.offset := #Ultimate.allocOnHeap(8);call write~$Pointer$(#t~malloc9.base, #t~malloc9.offset, ~end~0.base, ~end~0.offset, 4);call #t~mem10.base, #t~mem10.offset := read~$Pointer$(~end~0.base, ~end~0.offset, 4);~end~0.base, ~end~0.offset := #t~mem10.base, #t~mem10.offset;havoc #t~mem10.base, #t~mem10.offset;call write~$Pointer$(0, 0, ~end~0.base, ~end~0.offset, 4); {12272#(and (= 0 (select (select (store |#memory_$Pointer$.offset| main_~end~0.base (store (select |#memory_$Pointer$.offset| main_~end~0.base) (+ main_~end~0.offset 4) 0)) main_~list~0.base) (+ main_~list~0.offset 4))) (= 0 (select (select (store |#memory_$Pointer$.base| main_~end~0.base (store (select |#memory_$Pointer$.base| main_~end~0.base) (+ main_~end~0.offset 4) 0)) main_~list~0.base) (+ main_~list~0.offset 4))))} is VALID [2020-07-10 15:09:04,536 INFO L280 TraceCheckUtils]: 17: Hoare triple {12272#(and (= 0 (select (select (store |#memory_$Pointer$.offset| main_~end~0.base (store (select |#memory_$Pointer$.offset| main_~end~0.base) (+ main_~end~0.offset 4) 0)) main_~list~0.base) (+ main_~list~0.offset 4))) (= 0 (select (select (store |#memory_$Pointer$.base| main_~end~0.base (store (select |#memory_$Pointer$.base| main_~end~0.base) (+ main_~end~0.offset 4) 0)) main_~list~0.base) (+ main_~list~0.offset 4))))} assume !!(0 != ~end~0.base || 0 != ~end~0.offset); {12272#(and (= 0 (select (select (store |#memory_$Pointer$.offset| main_~end~0.base (store (select |#memory_$Pointer$.offset| main_~end~0.base) (+ main_~end~0.offset 4) 0)) main_~list~0.base) (+ main_~list~0.offset 4))) (= 0 (select (select (store |#memory_$Pointer$.base| main_~end~0.base (store (select |#memory_$Pointer$.base| main_~end~0.base) (+ main_~end~0.offset 4) 0)) main_~list~0.base) (+ main_~list~0.offset 4))))} is VALID [2020-07-10 15:09:04,537 INFO L280 TraceCheckUtils]: 18: Hoare triple {12272#(and (= 0 (select (select (store |#memory_$Pointer$.offset| main_~end~0.base (store (select |#memory_$Pointer$.offset| main_~end~0.base) (+ main_~end~0.offset 4) 0)) main_~list~0.base) (+ main_~list~0.offset 4))) (= 0 (select (select (store |#memory_$Pointer$.base| main_~end~0.base (store (select |#memory_$Pointer$.base| main_~end~0.base) (+ main_~end~0.offset 4) 0)) main_~list~0.base) (+ main_~list~0.offset 4))))} goto; {12272#(and (= 0 (select (select (store |#memory_$Pointer$.offset| main_~end~0.base (store (select |#memory_$Pointer$.offset| main_~end~0.base) (+ main_~end~0.offset 4) 0)) main_~list~0.base) (+ main_~list~0.offset 4))) (= 0 (select (select (store |#memory_$Pointer$.base| main_~end~0.base (store (select |#memory_$Pointer$.base| main_~end~0.base) (+ main_~end~0.offset 4) 0)) main_~list~0.base) (+ main_~list~0.offset 4))))} is VALID [2020-07-10 15:09:04,538 INFO L280 TraceCheckUtils]: 19: Hoare triple {12272#(and (= 0 (select (select (store |#memory_$Pointer$.offset| main_~end~0.base (store (select |#memory_$Pointer$.offset| main_~end~0.base) (+ main_~end~0.offset 4) 0)) main_~list~0.base) (+ main_~list~0.offset 4))) (= 0 (select (select (store |#memory_$Pointer$.base| main_~end~0.base (store (select |#memory_$Pointer$.base| main_~end~0.base) (+ main_~end~0.offset 4) 0)) main_~list~0.base) (+ main_~list~0.offset 4))))} assume !!(~end~0.base != 0 || ~end~0.offset != 0); {12272#(and (= 0 (select (select (store |#memory_$Pointer$.offset| main_~end~0.base (store (select |#memory_$Pointer$.offset| main_~end~0.base) (+ main_~end~0.offset 4) 0)) main_~list~0.base) (+ main_~list~0.offset 4))) (= 0 (select (select (store |#memory_$Pointer$.base| main_~end~0.base (store (select |#memory_$Pointer$.base| main_~end~0.base) (+ main_~end~0.offset 4) 0)) main_~list~0.base) (+ main_~list~0.offset 4))))} is VALID [2020-07-10 15:09:04,539 INFO L280 TraceCheckUtils]: 20: Hoare triple {12272#(and (= 0 (select (select (store |#memory_$Pointer$.offset| main_~end~0.base (store (select |#memory_$Pointer$.offset| main_~end~0.base) (+ main_~end~0.offset 4) 0)) main_~list~0.base) (+ main_~list~0.offset 4))) (= 0 (select (select (store |#memory_$Pointer$.base| main_~end~0.base (store (select |#memory_$Pointer$.base| main_~end~0.base) (+ main_~end~0.offset 4) 0)) main_~list~0.base) (+ main_~list~0.offset 4))))} goto; {12272#(and (= 0 (select (select (store |#memory_$Pointer$.offset| main_~end~0.base (store (select |#memory_$Pointer$.offset| main_~end~0.base) (+ main_~end~0.offset 4) 0)) main_~list~0.base) (+ main_~list~0.offset 4))) (= 0 (select (select (store |#memory_$Pointer$.base| main_~end~0.base (store (select |#memory_$Pointer$.base| main_~end~0.base) (+ main_~end~0.offset 4) 0)) main_~list~0.base) (+ main_~list~0.offset 4))))} is VALID [2020-07-10 15:09:04,540 INFO L280 TraceCheckUtils]: 21: Hoare triple {12272#(and (= 0 (select (select (store |#memory_$Pointer$.offset| main_~end~0.base (store (select |#memory_$Pointer$.offset| main_~end~0.base) (+ main_~end~0.offset 4) 0)) main_~list~0.base) (+ main_~list~0.offset 4))) (= 0 (select (select (store |#memory_$Pointer$.base| main_~end~0.base (store (select |#memory_$Pointer$.base| main_~end~0.base) (+ main_~end~0.offset 4) 0)) main_~list~0.base) (+ main_~list~0.offset 4))))} assume -2147483648 <= #t~nondet11 && #t~nondet11 <= 2147483647; {12272#(and (= 0 (select (select (store |#memory_$Pointer$.offset| main_~end~0.base (store (select |#memory_$Pointer$.offset| main_~end~0.base) (+ main_~end~0.offset 4) 0)) main_~list~0.base) (+ main_~list~0.offset 4))) (= 0 (select (select (store |#memory_$Pointer$.base| main_~end~0.base (store (select |#memory_$Pointer$.base| main_~end~0.base) (+ main_~end~0.offset 4) 0)) main_~list~0.base) (+ main_~list~0.offset 4))))} is VALID [2020-07-10 15:09:04,541 INFO L280 TraceCheckUtils]: 22: Hoare triple {12272#(and (= 0 (select (select (store |#memory_$Pointer$.offset| main_~end~0.base (store (select |#memory_$Pointer$.offset| main_~end~0.base) (+ main_~end~0.offset 4) 0)) main_~list~0.base) (+ main_~list~0.offset 4))) (= 0 (select (select (store |#memory_$Pointer$.base| main_~end~0.base (store (select |#memory_$Pointer$.base| main_~end~0.base) (+ main_~end~0.offset 4) 0)) main_~list~0.base) (+ main_~list~0.offset 4))))} assume 0 != #t~nondet11;havoc #t~nondet11;call write~$Pointer$(0, 0, ~end~0.base, 4 + ~end~0.offset, 4); {12273#(and (= 0 (select (select |#memory_$Pointer$.offset| main_~list~0.base) (+ main_~list~0.offset 4))) (= 0 (select (select |#memory_$Pointer$.base| main_~list~0.base) (+ main_~list~0.offset 4))))} is VALID [2020-07-10 15:09:04,542 INFO L280 TraceCheckUtils]: 23: Hoare triple {12273#(and (= 0 (select (select |#memory_$Pointer$.offset| main_~list~0.base) (+ main_~list~0.offset 4))) (= 0 (select (select |#memory_$Pointer$.base| main_~list~0.base) (+ main_~list~0.offset 4))))} call #t~mem15.base, #t~mem15.offset := read~$Pointer$(~end~0.base, 4 + ~end~0.offset, 4);#t~short17 := #t~mem15.base != 0 || #t~mem15.offset != 0; {12273#(and (= 0 (select (select |#memory_$Pointer$.offset| main_~list~0.base) (+ main_~list~0.offset 4))) (= 0 (select (select |#memory_$Pointer$.base| main_~list~0.base) (+ main_~list~0.offset 4))))} is VALID [2020-07-10 15:09:04,543 INFO L280 TraceCheckUtils]: 24: Hoare triple {12273#(and (= 0 (select (select |#memory_$Pointer$.offset| main_~list~0.base) (+ main_~list~0.offset 4))) (= 0 (select (select |#memory_$Pointer$.base| main_~list~0.base) (+ main_~list~0.offset 4))))} assume !#t~short17;call #t~mem16.base, #t~mem16.offset := read~$Pointer$(~end~0.base, 4 + ~end~0.offset, 4);#t~short17 := #t~mem16.base == 0 && #t~mem16.offset == 0; {12273#(and (= 0 (select (select |#memory_$Pointer$.offset| main_~list~0.base) (+ main_~list~0.offset 4))) (= 0 (select (select |#memory_$Pointer$.base| main_~list~0.base) (+ main_~list~0.offset 4))))} is VALID [2020-07-10 15:09:04,544 INFO L280 TraceCheckUtils]: 25: Hoare triple {12273#(and (= 0 (select (select |#memory_$Pointer$.offset| main_~list~0.base) (+ main_~list~0.offset 4))) (= 0 (select (select |#memory_$Pointer$.base| main_~list~0.base) (+ main_~list~0.offset 4))))} assume !!#t~short17;havoc #t~mem16.base, #t~mem16.offset;havoc #t~short17;havoc #t~mem15.base, #t~mem15.offset; {12273#(and (= 0 (select (select |#memory_$Pointer$.offset| main_~list~0.base) (+ main_~list~0.offset 4))) (= 0 (select (select |#memory_$Pointer$.base| main_~list~0.base) (+ main_~list~0.offset 4))))} is VALID [2020-07-10 15:09:04,545 INFO L280 TraceCheckUtils]: 26: Hoare triple {12273#(and (= 0 (select (select |#memory_$Pointer$.offset| main_~list~0.base) (+ main_~list~0.offset 4))) (= 0 (select (select |#memory_$Pointer$.base| main_~list~0.base) (+ main_~list~0.offset 4))))} goto; {12273#(and (= 0 (select (select |#memory_$Pointer$.offset| main_~list~0.base) (+ main_~list~0.offset 4))) (= 0 (select (select |#memory_$Pointer$.base| main_~list~0.base) (+ main_~list~0.offset 4))))} is VALID [2020-07-10 15:09:04,546 INFO L280 TraceCheckUtils]: 27: Hoare triple {12273#(and (= 0 (select (select |#memory_$Pointer$.offset| main_~list~0.base) (+ main_~list~0.offset 4))) (= 0 (select (select |#memory_$Pointer$.base| main_~list~0.base) (+ main_~list~0.offset 4))))} assume -2147483648 <= #t~nondet8 && #t~nondet8 <= 2147483647; {12273#(and (= 0 (select (select |#memory_$Pointer$.offset| main_~list~0.base) (+ main_~list~0.offset 4))) (= 0 (select (select |#memory_$Pointer$.base| main_~list~0.base) (+ main_~list~0.offset 4))))} is VALID [2020-07-10 15:09:04,546 INFO L280 TraceCheckUtils]: 28: Hoare triple {12273#(and (= 0 (select (select |#memory_$Pointer$.offset| main_~list~0.base) (+ main_~list~0.offset 4))) (= 0 (select (select |#memory_$Pointer$.base| main_~list~0.base) (+ main_~list~0.offset 4))))} assume !(0 != #t~nondet8);havoc #t~nondet8; {12273#(and (= 0 (select (select |#memory_$Pointer$.offset| main_~list~0.base) (+ main_~list~0.offset 4))) (= 0 (select (select |#memory_$Pointer$.base| main_~list~0.base) (+ main_~list~0.offset 4))))} is VALID [2020-07-10 15:09:04,548 INFO L280 TraceCheckUtils]: 29: Hoare triple {12273#(and (= 0 (select (select |#memory_$Pointer$.offset| main_~list~0.base) (+ main_~list~0.offset 4))) (= 0 (select (select |#memory_$Pointer$.base| main_~list~0.base) (+ main_~list~0.offset 4))))} ~end~0.base, ~end~0.offset := 0, 0;~end~0.base, ~end~0.offset := ~list~0.base, ~list~0.offset; {12274#(and (= 0 (select (select |#memory_$Pointer$.offset| main_~end~0.base) (+ main_~end~0.offset 4))) (= 0 (select (select |#memory_$Pointer$.base| main_~end~0.base) (+ main_~end~0.offset 4))))} is VALID [2020-07-10 15:09:04,548 INFO L280 TraceCheckUtils]: 30: Hoare triple {12274#(and (= 0 (select (select |#memory_$Pointer$.offset| main_~end~0.base) (+ main_~end~0.offset 4))) (= 0 (select (select |#memory_$Pointer$.base| main_~end~0.base) (+ main_~end~0.offset 4))))} assume !!(0 != ~end~0.base || 0 != ~end~0.offset); {12274#(and (= 0 (select (select |#memory_$Pointer$.offset| main_~end~0.base) (+ main_~end~0.offset 4))) (= 0 (select (select |#memory_$Pointer$.base| main_~end~0.base) (+ main_~end~0.offset 4))))} is VALID [2020-07-10 15:09:04,549 INFO L280 TraceCheckUtils]: 31: Hoare triple {12274#(and (= 0 (select (select |#memory_$Pointer$.offset| main_~end~0.base) (+ main_~end~0.offset 4))) (= 0 (select (select |#memory_$Pointer$.base| main_~end~0.base) (+ main_~end~0.offset 4))))} goto; {12274#(and (= 0 (select (select |#memory_$Pointer$.offset| main_~end~0.base) (+ main_~end~0.offset 4))) (= 0 (select (select |#memory_$Pointer$.base| main_~end~0.base) (+ main_~end~0.offset 4))))} is VALID [2020-07-10 15:09:04,550 INFO L280 TraceCheckUtils]: 32: Hoare triple {12274#(and (= 0 (select (select |#memory_$Pointer$.offset| main_~end~0.base) (+ main_~end~0.offset 4))) (= 0 (select (select |#memory_$Pointer$.base| main_~end~0.base) (+ main_~end~0.offset 4))))} assume !!(0 != ~end~0.base || 0 != ~end~0.offset);~len~0 := 0;call #t~mem18.base, #t~mem18.offset := read~$Pointer$(~end~0.base, 4 + ~end~0.offset, 4);~inner~0.base, ~inner~0.offset := #t~mem18.base, #t~mem18.offset;havoc #t~mem18.base, #t~mem18.offset; {12275#(and (= 0 main_~inner~0.base) (= 0 main_~inner~0.offset))} is VALID [2020-07-10 15:09:04,550 INFO L280 TraceCheckUtils]: 33: Hoare triple {12275#(and (= 0 main_~inner~0.base) (= 0 main_~inner~0.offset))} assume !!(0 != ~inner~0.base || 0 != ~inner~0.offset); {12265#false} is VALID [2020-07-10 15:09:04,551 INFO L280 TraceCheckUtils]: 34: Hoare triple {12265#false} assume 0 == ~len~0;~len~0 := 1; {12265#false} is VALID [2020-07-10 15:09:04,551 INFO L280 TraceCheckUtils]: 35: Hoare triple {12265#false} assume !!(0 != ~inner~0.base || 0 != ~inner~0.offset); {12265#false} is VALID [2020-07-10 15:09:04,551 INFO L280 TraceCheckUtils]: 36: Hoare triple {12265#false} goto; {12265#false} is VALID [2020-07-10 15:09:04,551 INFO L280 TraceCheckUtils]: 37: Hoare triple {12265#false} call #t~mem19.base, #t~mem19.offset := read~$Pointer$(~inner~0.base, 4 + ~inner~0.offset, 4); {12265#false} is VALID [2020-07-10 15:09:04,551 INFO L280 TraceCheckUtils]: 38: Hoare triple {12265#false} assume !(0 == #t~mem19.base && 0 == #t~mem19.offset);havoc #t~mem19.base, #t~mem19.offset; {12265#false} is VALID [2020-07-10 15:09:04,551 INFO L280 TraceCheckUtils]: 39: Hoare triple {12265#false} assume !false; {12265#false} is VALID [2020-07-10 15:09:04,562 INFO L134 CoverageAnalysis]: Checked inductivity of 2 backedges. 0 proven. 2 refuted. 0 times theorem prover too weak. 0 trivial. 0 not checked. [2020-07-10 15:09:04,562 INFO L354 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleSmtInterpolCraig [833436653] [2020-07-10 15:09:04,562 INFO L354 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleZ3 [438834138] [2020-07-10 15:09:04,562 INFO L94 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 Starting monitored process 4 with z3 -smt2 -in SMTLIB2_COMPLIANT=true (exit command is (exit), workingDir is null) Waiting until toolchain timeout for monitored process 4 with z3 -smt2 -in SMTLIB2_COMPLIANT=true [2020-07-10 15:09:04,655 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2020-07-10 15:09:04,656 INFO L264 TraceCheckSpWp]: Trace formula consists of 137 conjuncts, 33 conjunts are in the unsatisfiable core [2020-07-10 15:09:04,668 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2020-07-10 15:09:04,670 INFO L287 TraceCheckSpWp]: Computing forward predicates... [2020-07-10 15:09:04,684 INFO L384 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 1, 1 stores, 0 select indices, 0 select index equivalence classes, 0 disjoint index pairs (out of 0 index pairs), introduced 0 new quantified variables, introduced 0 case distinctions, treesize of input 6 treesize of output 5 [2020-07-10 15:09:04,685 INFO L544 ElimStorePlain]: Start of recursive call 2: End of recursive call: and 1 xjuncts. [2020-07-10 15:09:04,689 INFO L624 ElimStorePlain]: treesize reduction 0, result has 100.0 percent of original size [2020-07-10 15:09:04,689 INFO L544 ElimStorePlain]: Start of recursive call 1: 1 dim-1 vars, End of recursive call: and 1 xjuncts. [2020-07-10 15:09:04,690 INFO L244 ElimStorePlain]: Needed 2 recursive calls to eliminate 1 variables, input treesize:10, output treesize:9 [2020-07-10 15:09:04,692 WARN L406 uantifierElimination]: Trying to double check SDD result, but SMT solver's response was UNKNOWN. [2020-07-10 15:09:04,692 WARN L407 uantifierElimination]: Input elimination task: ∃ [|v_#valid_19|]. (and (= |#valid| (store |v_#valid_19| main_~list~0.base 1)) (= 0 main_~list~0.offset)) [2020-07-10 15:09:04,693 WARN L408 uantifierElimination]: ElimStorePlain result: ∃ []. (and (= 0 main_~list~0.offset) (= 1 (select |#valid| main_~list~0.base))) [2020-07-10 15:09:04,712 INFO L384 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 2, 1 stores, 0 select indices, 0 select index equivalence classes, 0 disjoint index pairs (out of 0 index pairs), introduced 0 new quantified variables, introduced 0 case distinctions, treesize of input 13 treesize of output 9 [2020-07-10 15:09:04,713 INFO L544 ElimStorePlain]: Start of recursive call 2: End of recursive call: and 1 xjuncts. [2020-07-10 15:09:04,722 INFO L624 ElimStorePlain]: treesize reduction 0, result has 100.0 percent of original size [2020-07-10 15:09:04,725 INFO L384 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 2, 1 stores, 0 select indices, 0 select index equivalence classes, 0 disjoint index pairs (out of 0 index pairs), introduced 0 new quantified variables, introduced 0 case distinctions, treesize of input 13 treesize of output 9 [2020-07-10 15:09:04,725 INFO L544 ElimStorePlain]: Start of recursive call 3: End of recursive call: and 1 xjuncts. [2020-07-10 15:09:04,734 INFO L624 ElimStorePlain]: treesize reduction 0, result has 100.0 percent of original size [2020-07-10 15:09:04,734 INFO L544 ElimStorePlain]: Start of recursive call 1: 2 dim-2 vars, End of recursive call: and 1 xjuncts. [2020-07-10 15:09:04,735 INFO L244 ElimStorePlain]: Needed 3 recursive calls to eliminate 2 variables, input treesize:35, output treesize:27 [2020-07-10 15:09:04,844 INFO L350 Elim1Store]: treesize reduction 0, result has 100.0 percent of original size [2020-07-10 15:09:04,845 INFO L384 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 1, 0 stores, 2 select indices, 2 select index equivalence classes, 0 disjoint index pairs (out of 1 index pairs), introduced 2 new quantified variables, introduced 1 case distinctions, treesize of input 11 treesize of output 15 [2020-07-10 15:09:04,846 INFO L544 ElimStorePlain]: Start of recursive call 2: End of recursive call: and 1 xjuncts. [2020-07-10 15:09:04,865 INFO L624 ElimStorePlain]: treesize reduction 0, result has 100.0 percent of original size [2020-07-10 15:09:04,874 INFO L190 IndexEqualityManager]: detected not equals via solver [2020-07-10 15:09:04,877 INFO L384 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 2, 1 stores, 1 select indices, 1 select index equivalence classes, 2 disjoint index pairs (out of 0 index pairs), introduced 1 new quantified variables, introduced 0 case distinctions, treesize of input 37 treesize of output 27 [2020-07-10 15:09:04,881 INFO L544 ElimStorePlain]: Start of recursive call 3: End of recursive call: and 1 xjuncts. [2020-07-10 15:09:04,900 INFO L624 ElimStorePlain]: treesize reduction 0, result has 100.0 percent of original size [2020-07-10 15:09:04,909 INFO L190 IndexEqualityManager]: detected not equals via solver [2020-07-10 15:09:04,911 INFO L384 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 2, 1 stores, 1 select indices, 1 select index equivalence classes, 2 disjoint index pairs (out of 0 index pairs), introduced 1 new quantified variables, introduced 0 case distinctions, treesize of input 37 treesize of output 27 [2020-07-10 15:09:04,919 INFO L544 ElimStorePlain]: Start of recursive call 4: End of recursive call: and 1 xjuncts. [2020-07-10 15:09:04,936 INFO L624 ElimStorePlain]: treesize reduction 0, result has 100.0 percent of original size [2020-07-10 15:09:04,939 INFO L544 ElimStorePlain]: Start of recursive call 1: 2 dim-0 vars, 1 dim-1 vars, 2 dim-2 vars, End of recursive call: 1 dim-0 vars, and 1 xjuncts. [2020-07-10 15:09:04,939 INFO L244 ElimStorePlain]: Needed 4 recursive calls to eliminate 5 variables, input treesize:89, output treesize:50 [2020-07-10 15:09:04,949 WARN L406 uantifierElimination]: Trying to double check SDD result, but SMT solver's response was UNKNOWN. [2020-07-10 15:09:04,949 WARN L407 uantifierElimination]: Input elimination task: ∃ [|v_#memory_$Pointer$.offset_39|, v_main_~end~0.offset_31, |main_#t~malloc9.offset|, |v_#valid_20|, |v_#memory_$Pointer$.base_39|]. (let ((.cse3 (select |v_#memory_$Pointer$.base_39| main_~list~0.base)) (.cse1 (select |v_#memory_$Pointer$.offset_39| main_~list~0.base)) (.cse4 (+ main_~list~0.offset 4))) (and (<= v_main_~end~0.offset_31 main_~list~0.offset) (= 0 (select |v_#valid_20| main_~end~0.base)) (= 0 main_~list~0.offset) (= (let ((.cse0 (store |v_#memory_$Pointer$.offset_39| main_~list~0.base (store .cse1 v_main_~end~0.offset_31 |main_#t~malloc9.offset|)))) (store .cse0 main_~end~0.base (store (select .cse0 main_~end~0.base) main_~end~0.offset 0))) |#memory_$Pointer$.offset|) (= (let ((.cse2 (store |v_#memory_$Pointer$.base_39| main_~list~0.base (store .cse3 v_main_~end~0.offset_31 main_~end~0.base)))) (store .cse2 main_~end~0.base (store (select .cse2 main_~end~0.base) main_~end~0.offset 0))) |#memory_$Pointer$.base|) (= 1 (select |v_#valid_20| main_~list~0.base)) (= 0 (select .cse3 .cse4)) (= 0 (select .cse1 .cse4)))) [2020-07-10 15:09:04,949 WARN L408 uantifierElimination]: ElimStorePlain result: ∃ [v_main_~end~0.offset_31]. (let ((.cse0 (+ main_~list~0.offset 4)) (.cse1 (select |#memory_$Pointer$.base| main_~list~0.base))) (and (<= v_main_~end~0.offset_31 main_~list~0.offset) (not (= main_~list~0.base main_~end~0.base)) (= 0 main_~list~0.offset) (= 0 (select (select |#memory_$Pointer$.offset| main_~list~0.base) .cse0)) (= 0 (select .cse1 .cse0)) (= 0 (select (select |#memory_$Pointer$.offset| main_~end~0.base) main_~end~0.offset)) (= (select .cse1 v_main_~end~0.offset_31) main_~end~0.base) (= 0 (select (select |#memory_$Pointer$.base| main_~end~0.base) main_~end~0.offset)))) [2020-07-10 15:09:05,152 INFO L440 ElimStorePlain]: Different costs {6=[|v_#memory_$Pointer$.offset_40|], 12=[|v_#memory_$Pointer$.base_40|]} [2020-07-10 15:09:05,161 INFO L190 IndexEqualityManager]: detected not equals via solver [2020-07-10 15:09:05,163 INFO L384 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 2, 1 stores, 2 select indices, 2 select index equivalence classes, 2 disjoint index pairs (out of 1 index pairs), introduced 2 new quantified variables, introduced 0 case distinctions, treesize of input 42 treesize of output 40 [2020-07-10 15:09:05,165 INFO L544 ElimStorePlain]: Start of recursive call 2: End of recursive call: and 1 xjuncts. [2020-07-10 15:09:05,186 INFO L624 ElimStorePlain]: treesize reduction 0, result has 100.0 percent of original size [2020-07-10 15:09:05,192 INFO L190 IndexEqualityManager]: detected not equals via solver [2020-07-10 15:09:05,273 INFO L350 Elim1Store]: treesize reduction 46, result has 65.2 percent of original size [2020-07-10 15:09:05,273 INFO L384 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 2, 1 stores, 3 select indices, 3 select index equivalence classes, 1 disjoint index pairs (out of 3 index pairs), introduced 4 new quantified variables, introduced 5 case distinctions, treesize of input 74 treesize of output 124 [2020-07-10 15:09:05,285 INFO L320 QuantifierPusher]: Applying distributivity to a CONJUNCTION[9, 3, 2, 1] term [2020-07-10 15:09:05,285 INFO L501 QuantifierPusher]: Distributing 2 conjuncts over 9 disjuncts [2020-07-10 15:09:05,295 INFO L544 ElimStorePlain]: Start of recursive call 3: End of recursive call: and 1 xjuncts. [2020-07-10 15:09:05,344 INFO L624 ElimStorePlain]: treesize reduction 64, result has 55.9 percent of original size [2020-07-10 15:09:05,347 INFO L544 ElimStorePlain]: Start of recursive call 1: 2 dim-0 vars, 2 dim-2 vars, End of recursive call: 2 dim-0 vars, and 1 xjuncts. [2020-07-10 15:09:05,347 INFO L244 ElimStorePlain]: Needed 3 recursive calls to eliminate 4 variables, input treesize:97, output treesize:81 [2020-07-10 15:09:08,230 WARN L406 uantifierElimination]: Trying to double check SDD result, but SMT solver's response was UNKNOWN. [2020-07-10 15:09:08,230 WARN L407 uantifierElimination]: Input elimination task: ∃ [|v_#memory_$Pointer$.base_40|, v_main_~end~0.offset_31, |v_#memory_$Pointer$.offset_40|, main_~end~0.offset]. (let ((.cse0 (select |v_#memory_$Pointer$.base_40| main_~list~0.base))) (let ((.cse2 (select .cse0 v_main_~end~0.offset_31))) (let ((.cse1 (+ main_~list~0.offset 4)) (.cse4 (+ main_~end~0.offset 4)) (.cse5 (select |v_#memory_$Pointer$.offset_40| .cse2)) (.cse3 (select |v_#memory_$Pointer$.base_40| .cse2))) (and (<= v_main_~end~0.offset_31 main_~list~0.offset) (= 0 main_~list~0.offset) (= 0 (select .cse0 .cse1)) (= 0 (select (select |v_#memory_$Pointer$.offset_40| main_~list~0.base) .cse1)) (not (= .cse2 main_~list~0.base)) (= (store |v_#memory_$Pointer$.base_40| .cse2 (store .cse3 .cse4 0)) |#memory_$Pointer$.base|) (= (store |v_#memory_$Pointer$.offset_40| .cse2 (store .cse5 .cse4 0)) |#memory_$Pointer$.offset|) (= 0 (select .cse5 main_~end~0.offset)) (= 0 (select .cse3 main_~end~0.offset)))))) [2020-07-10 15:09:08,231 WARN L408 uantifierElimination]: ElimStorePlain result: ∃ [v_main_~end~0.offset_31, main_~end~0.offset]. (let ((.cse3 (select |#memory_$Pointer$.base| main_~list~0.base))) (let ((.cse1 (select .cse3 v_main_~end~0.offset_31))) (let ((.cse2 (+ main_~list~0.offset 4)) (.cse0 (select |#memory_$Pointer$.base| .cse1)) (.cse4 (+ main_~end~0.offset 4)) (.cse5 (select |#memory_$Pointer$.offset| .cse1))) (and (= 0 (select .cse0 main_~end~0.offset)) (<= v_main_~end~0.offset_31 main_~list~0.offset) (not (= .cse1 main_~list~0.base)) (= 0 main_~list~0.offset) (= 0 (select (select |#memory_$Pointer$.offset| main_~list~0.base) .cse2)) (= 0 (select .cse3 .cse2)) (= 0 (select .cse0 .cse4)) (= (select .cse5 .cse4) 0) (= 0 (select .cse5 main_~end~0.offset)))))) [2020-07-10 15:09:10,678 INFO L440 ElimStorePlain]: Different costs {6=[|#memory_$Pointer$.offset|], 12=[|#memory_$Pointer$.base|]} [2020-07-10 15:09:10,683 INFO L190 IndexEqualityManager]: detected not equals via solver [2020-07-10 15:09:10,685 INFO L384 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 2, 0 stores, 3 select indices, 3 select index equivalence classes, 2 disjoint index pairs (out of 3 index pairs), introduced 3 new quantified variables, introduced 0 case distinctions, treesize of input 39 treesize of output 13 [2020-07-10 15:09:10,688 INFO L544 ElimStorePlain]: Start of recursive call 2: End of recursive call: and 1 xjuncts. [2020-07-10 15:09:10,706 INFO L624 ElimStorePlain]: treesize reduction 0, result has 100.0 percent of original size [2020-07-10 15:09:10,710 INFO L190 IndexEqualityManager]: detected not equals via solver [2020-07-10 15:09:10,766 INFO L350 Elim1Store]: treesize reduction 10, result has 84.1 percent of original size [2020-07-10 15:09:10,766 INFO L384 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 2, 0 stores, 4 select indices, 4 select index equivalence classes, 1 disjoint index pairs (out of 6 index pairs), introduced 5 new quantified variables, introduced 6 case distinctions, treesize of input 47 treesize of output 72 [2020-07-10 15:09:10,775 INFO L501 QuantifierPusher]: Distributing 3 conjuncts over 3 disjuncts [2020-07-10 15:09:10,789 INFO L501 QuantifierPusher]: Distributing 3 conjuncts over 2 disjuncts [2020-07-10 15:09:10,793 INFO L544 ElimStorePlain]: Start of recursive call 3: End of recursive call: and 1 xjuncts. [2020-07-10 15:09:10,798 INFO L624 ElimStorePlain]: treesize reduction 0, result has 100.0 percent of original size [2020-07-10 15:09:10,799 INFO L544 ElimStorePlain]: Start of recursive call 1: 3 dim-0 vars, 2 dim-2 vars, End of recursive call: and 1 xjuncts. [2020-07-10 15:09:10,799 INFO L244 ElimStorePlain]: Needed 3 recursive calls to eliminate 5 variables, input treesize:88, output treesize:7 [2020-07-10 15:09:10,802 WARN L406 uantifierElimination]: Trying to double check SDD result, but SMT solver's response was UNKNOWN. [2020-07-10 15:09:10,803 WARN L407 uantifierElimination]: Input elimination task: ∃ [|#memory_$Pointer$.base|, main_~end~0.base, v_main_~end~0.offset_31, |#memory_$Pointer$.offset|, v_subst_2]. (let ((.cse6 (select |#memory_$Pointer$.base| main_~end~0.base))) (let ((.cse5 (select .cse6 v_main_~end~0.offset_31))) (let ((.cse4 (select |#memory_$Pointer$.offset| .cse5)) (.cse1 (+ v_subst_2 4)) (.cse2 (select (select |#memory_$Pointer$.offset| main_~end~0.base) 4)) (.cse0 (select |#memory_$Pointer$.base| .cse5)) (.cse3 (select .cse6 4))) (and (= 0 (select .cse0 .cse1)) (= 0 .cse2) (= 0 .cse3) (= (select .cse4 v_subst_2) 0) (= 0 (select .cse4 .cse1)) (= .cse2 main_~inner~0.offset) (<= v_main_~end~0.offset_31 0) (= (select .cse0 v_subst_2) 0) (not (= .cse5 main_~end~0.base)) (= main_~inner~0.base .cse3))))) [2020-07-10 15:09:10,803 WARN L408 uantifierElimination]: ElimStorePlain result: ∃ []. (and (= 0 main_~inner~0.base) (= 0 main_~inner~0.offset)) [2020-07-10 15:09:10,808 INFO L263 TraceCheckUtils]: 0: Hoare triple {12264#true} call ULTIMATE.init(); {12264#true} is VALID [2020-07-10 15:09:10,808 INFO L280 TraceCheckUtils]: 1: Hoare triple {12264#true} #NULL.base, #NULL.offset := 0, 0;#valid := #valid[0 := 0];assume 0 < #StackHeapBarrier; {12264#true} is VALID [2020-07-10 15:09:10,808 INFO L280 TraceCheckUtils]: 2: Hoare triple {12264#true} assume true; {12264#true} is VALID [2020-07-10 15:09:10,808 INFO L275 TraceCheckUtils]: 3: Hoare quadruple {12264#true} {12264#true} #337#return; {12264#true} is VALID [2020-07-10 15:09:10,809 INFO L263 TraceCheckUtils]: 4: Hoare triple {12264#true} call #t~ret28 := main(); {12264#true} is VALID [2020-07-10 15:09:10,810 INFO L280 TraceCheckUtils]: 5: Hoare triple {12264#true} call #t~malloc0.base, #t~malloc0.offset := #Ultimate.allocOnHeap(8);~list~0.base, ~list~0.offset := #t~malloc0.base, #t~malloc0.offset;call write~$Pointer$(0, 0, ~list~0.base, ~list~0.offset, 4); {12269#(and (= 0 main_~list~0.offset) (= 1 (select |#valid| main_~list~0.base)))} is VALID [2020-07-10 15:09:10,810 INFO L280 TraceCheckUtils]: 6: Hoare triple {12269#(and (= 0 main_~list~0.offset) (= 1 (select |#valid| main_~list~0.base)))} assume !!(~list~0.base != 0 || ~list~0.offset != 0); {12269#(and (= 0 main_~list~0.offset) (= 1 (select |#valid| main_~list~0.base)))} is VALID [2020-07-10 15:09:10,811 INFO L280 TraceCheckUtils]: 7: Hoare triple {12269#(and (= 0 main_~list~0.offset) (= 1 (select |#valid| main_~list~0.base)))} goto; {12269#(and (= 0 main_~list~0.offset) (= 1 (select |#valid| main_~list~0.base)))} is VALID [2020-07-10 15:09:10,812 INFO L280 TraceCheckUtils]: 8: Hoare triple {12269#(and (= 0 main_~list~0.offset) (= 1 (select |#valid| main_~list~0.base)))} assume -2147483648 <= #t~nondet1 && #t~nondet1 <= 2147483647; {12269#(and (= 0 main_~list~0.offset) (= 1 (select |#valid| main_~list~0.base)))} is VALID [2020-07-10 15:09:10,813 INFO L280 TraceCheckUtils]: 9: Hoare triple {12269#(and (= 0 main_~list~0.offset) (= 1 (select |#valid| main_~list~0.base)))} assume 0 != #t~nondet1;havoc #t~nondet1;call write~$Pointer$(0, 0, ~list~0.base, 4 + ~list~0.offset, 4); {12270#(and (= 0 (select (select |#memory_$Pointer$.offset| main_~list~0.base) (+ main_~list~0.offset 4))) (= 0 main_~list~0.offset) (= 0 (select (select |#memory_$Pointer$.base| main_~list~0.base) (+ main_~list~0.offset 4))) (= 1 (select |#valid| main_~list~0.base)))} is VALID [2020-07-10 15:09:10,814 INFO L280 TraceCheckUtils]: 10: Hoare triple {12270#(and (= 0 (select (select |#memory_$Pointer$.offset| main_~list~0.base) (+ main_~list~0.offset 4))) (= 0 main_~list~0.offset) (= 0 (select (select |#memory_$Pointer$.base| main_~list~0.base) (+ main_~list~0.offset 4))) (= 1 (select |#valid| main_~list~0.base)))} call #t~mem5.base, #t~mem5.offset := read~$Pointer$(~list~0.base, 4 + ~list~0.offset, 4);#t~short7 := #t~mem5.base != 0 || #t~mem5.offset != 0; {12270#(and (= 0 (select (select |#memory_$Pointer$.offset| main_~list~0.base) (+ main_~list~0.offset 4))) (= 0 main_~list~0.offset) (= 0 (select (select |#memory_$Pointer$.base| main_~list~0.base) (+ main_~list~0.offset 4))) (= 1 (select |#valid| main_~list~0.base)))} is VALID [2020-07-10 15:09:10,815 INFO L280 TraceCheckUtils]: 11: Hoare triple {12270#(and (= 0 (select (select |#memory_$Pointer$.offset| main_~list~0.base) (+ main_~list~0.offset 4))) (= 0 main_~list~0.offset) (= 0 (select (select |#memory_$Pointer$.base| main_~list~0.base) (+ main_~list~0.offset 4))) (= 1 (select |#valid| main_~list~0.base)))} assume !#t~short7;call #t~mem6.base, #t~mem6.offset := read~$Pointer$(~list~0.base, 4 + ~list~0.offset, 4);#t~short7 := #t~mem6.base == 0 && #t~mem6.offset == 0; {12270#(and (= 0 (select (select |#memory_$Pointer$.offset| main_~list~0.base) (+ main_~list~0.offset 4))) (= 0 main_~list~0.offset) (= 0 (select (select |#memory_$Pointer$.base| main_~list~0.base) (+ main_~list~0.offset 4))) (= 1 (select |#valid| main_~list~0.base)))} is VALID [2020-07-10 15:09:10,815 INFO L280 TraceCheckUtils]: 12: Hoare triple {12270#(and (= 0 (select (select |#memory_$Pointer$.offset| main_~list~0.base) (+ main_~list~0.offset 4))) (= 0 main_~list~0.offset) (= 0 (select (select |#memory_$Pointer$.base| main_~list~0.base) (+ main_~list~0.offset 4))) (= 1 (select |#valid| main_~list~0.base)))} assume !!#t~short7;havoc #t~mem5.base, #t~mem5.offset;havoc #t~short7;havoc #t~mem6.base, #t~mem6.offset; {12270#(and (= 0 (select (select |#memory_$Pointer$.offset| main_~list~0.base) (+ main_~list~0.offset 4))) (= 0 main_~list~0.offset) (= 0 (select (select |#memory_$Pointer$.base| main_~list~0.base) (+ main_~list~0.offset 4))) (= 1 (select |#valid| main_~list~0.base)))} is VALID [2020-07-10 15:09:10,816 INFO L280 TraceCheckUtils]: 13: Hoare triple {12270#(and (= 0 (select (select |#memory_$Pointer$.offset| main_~list~0.base) (+ main_~list~0.offset 4))) (= 0 main_~list~0.offset) (= 0 (select (select |#memory_$Pointer$.base| main_~list~0.base) (+ main_~list~0.offset 4))) (= 1 (select |#valid| main_~list~0.base)))} goto; {12270#(and (= 0 (select (select |#memory_$Pointer$.offset| main_~list~0.base) (+ main_~list~0.offset 4))) (= 0 main_~list~0.offset) (= 0 (select (select |#memory_$Pointer$.base| main_~list~0.base) (+ main_~list~0.offset 4))) (= 1 (select |#valid| main_~list~0.base)))} is VALID [2020-07-10 15:09:10,817 INFO L280 TraceCheckUtils]: 14: Hoare triple {12270#(and (= 0 (select (select |#memory_$Pointer$.offset| main_~list~0.base) (+ main_~list~0.offset 4))) (= 0 main_~list~0.offset) (= 0 (select (select |#memory_$Pointer$.base| main_~list~0.base) (+ main_~list~0.offset 4))) (= 1 (select |#valid| main_~list~0.base)))} ~end~0.base, ~end~0.offset := ~list~0.base, ~list~0.offset; {12322#(and (<= main_~end~0.offset main_~list~0.offset) (= 0 (select (select |#memory_$Pointer$.offset| main_~list~0.base) (+ main_~list~0.offset 4))) (= 0 main_~list~0.offset) (= 0 (select (select |#memory_$Pointer$.base| main_~list~0.base) (+ main_~list~0.offset 4))) (= 1 (select |#valid| main_~list~0.base)) (= main_~list~0.base main_~end~0.base))} is VALID [2020-07-10 15:09:10,818 INFO L280 TraceCheckUtils]: 15: Hoare triple {12322#(and (<= main_~end~0.offset main_~list~0.offset) (= 0 (select (select |#memory_$Pointer$.offset| main_~list~0.base) (+ main_~list~0.offset 4))) (= 0 main_~list~0.offset) (= 0 (select (select |#memory_$Pointer$.base| main_~list~0.base) (+ main_~list~0.offset 4))) (= 1 (select |#valid| main_~list~0.base)) (= main_~list~0.base main_~end~0.base))} assume -2147483648 <= #t~nondet8 && #t~nondet8 <= 2147483647; {12322#(and (<= main_~end~0.offset main_~list~0.offset) (= 0 (select (select |#memory_$Pointer$.offset| main_~list~0.base) (+ main_~list~0.offset 4))) (= 0 main_~list~0.offset) (= 0 (select (select |#memory_$Pointer$.base| main_~list~0.base) (+ main_~list~0.offset 4))) (= 1 (select |#valid| main_~list~0.base)) (= main_~list~0.base main_~end~0.base))} is VALID [2020-07-10 15:09:10,820 INFO L280 TraceCheckUtils]: 16: Hoare triple {12322#(and (<= main_~end~0.offset main_~list~0.offset) (= 0 (select (select |#memory_$Pointer$.offset| main_~list~0.base) (+ main_~list~0.offset 4))) (= 0 main_~list~0.offset) (= 0 (select (select |#memory_$Pointer$.base| main_~list~0.base) (+ main_~list~0.offset 4))) (= 1 (select |#valid| main_~list~0.base)) (= main_~list~0.base main_~end~0.base))} assume !!(0 != #t~nondet8);havoc #t~nondet8;call #t~malloc9.base, #t~malloc9.offset := #Ultimate.allocOnHeap(8);call write~$Pointer$(#t~malloc9.base, #t~malloc9.offset, ~end~0.base, ~end~0.offset, 4);call #t~mem10.base, #t~mem10.offset := read~$Pointer$(~end~0.base, ~end~0.offset, 4);~end~0.base, ~end~0.offset := #t~mem10.base, #t~mem10.offset;havoc #t~mem10.base, #t~mem10.offset;call write~$Pointer$(0, 0, ~end~0.base, ~end~0.offset, 4); {12329#(and (not (= main_~list~0.base main_~end~0.base)) (exists ((v_main_~end~0.offset_31 Int)) (and (<= v_main_~end~0.offset_31 main_~list~0.offset) (= (select (select |#memory_$Pointer$.base| main_~list~0.base) v_main_~end~0.offset_31) main_~end~0.base))) (= 0 (select (select |#memory_$Pointer$.offset| main_~list~0.base) (+ main_~list~0.offset 4))) (= 0 main_~list~0.offset) (= 0 (select (select |#memory_$Pointer$.base| main_~list~0.base) (+ main_~list~0.offset 4))) (= 0 (select (select |#memory_$Pointer$.offset| main_~end~0.base) main_~end~0.offset)) (= 0 (select (select |#memory_$Pointer$.base| main_~end~0.base) main_~end~0.offset)))} is VALID [2020-07-10 15:09:10,821 INFO L280 TraceCheckUtils]: 17: Hoare triple {12329#(and (not (= main_~list~0.base main_~end~0.base)) (exists ((v_main_~end~0.offset_31 Int)) (and (<= v_main_~end~0.offset_31 main_~list~0.offset) (= (select (select |#memory_$Pointer$.base| main_~list~0.base) v_main_~end~0.offset_31) main_~end~0.base))) (= 0 (select (select |#memory_$Pointer$.offset| main_~list~0.base) (+ main_~list~0.offset 4))) (= 0 main_~list~0.offset) (= 0 (select (select |#memory_$Pointer$.base| main_~list~0.base) (+ main_~list~0.offset 4))) (= 0 (select (select |#memory_$Pointer$.offset| main_~end~0.base) main_~end~0.offset)) (= 0 (select (select |#memory_$Pointer$.base| main_~end~0.base) main_~end~0.offset)))} assume !!(0 != ~end~0.base || 0 != ~end~0.offset); {12329#(and (not (= main_~list~0.base main_~end~0.base)) (exists ((v_main_~end~0.offset_31 Int)) (and (<= v_main_~end~0.offset_31 main_~list~0.offset) (= (select (select |#memory_$Pointer$.base| main_~list~0.base) v_main_~end~0.offset_31) main_~end~0.base))) (= 0 (select (select |#memory_$Pointer$.offset| main_~list~0.base) (+ main_~list~0.offset 4))) (= 0 main_~list~0.offset) (= 0 (select (select |#memory_$Pointer$.base| main_~list~0.base) (+ main_~list~0.offset 4))) (= 0 (select (select |#memory_$Pointer$.offset| main_~end~0.base) main_~end~0.offset)) (= 0 (select (select |#memory_$Pointer$.base| main_~end~0.base) main_~end~0.offset)))} is VALID [2020-07-10 15:09:10,822 INFO L280 TraceCheckUtils]: 18: Hoare triple {12329#(and (not (= main_~list~0.base main_~end~0.base)) (exists ((v_main_~end~0.offset_31 Int)) (and (<= v_main_~end~0.offset_31 main_~list~0.offset) (= (select (select |#memory_$Pointer$.base| main_~list~0.base) v_main_~end~0.offset_31) main_~end~0.base))) (= 0 (select (select |#memory_$Pointer$.offset| main_~list~0.base) (+ main_~list~0.offset 4))) (= 0 main_~list~0.offset) (= 0 (select (select |#memory_$Pointer$.base| main_~list~0.base) (+ main_~list~0.offset 4))) (= 0 (select (select |#memory_$Pointer$.offset| main_~end~0.base) main_~end~0.offset)) (= 0 (select (select |#memory_$Pointer$.base| main_~end~0.base) main_~end~0.offset)))} goto; {12329#(and (not (= main_~list~0.base main_~end~0.base)) (exists ((v_main_~end~0.offset_31 Int)) (and (<= v_main_~end~0.offset_31 main_~list~0.offset) (= (select (select |#memory_$Pointer$.base| main_~list~0.base) v_main_~end~0.offset_31) main_~end~0.base))) (= 0 (select (select |#memory_$Pointer$.offset| main_~list~0.base) (+ main_~list~0.offset 4))) (= 0 main_~list~0.offset) (= 0 (select (select |#memory_$Pointer$.base| main_~list~0.base) (+ main_~list~0.offset 4))) (= 0 (select (select |#memory_$Pointer$.offset| main_~end~0.base) main_~end~0.offset)) (= 0 (select (select |#memory_$Pointer$.base| main_~end~0.base) main_~end~0.offset)))} is VALID [2020-07-10 15:09:10,824 INFO L280 TraceCheckUtils]: 19: Hoare triple {12329#(and (not (= main_~list~0.base main_~end~0.base)) (exists ((v_main_~end~0.offset_31 Int)) (and (<= v_main_~end~0.offset_31 main_~list~0.offset) (= (select (select |#memory_$Pointer$.base| main_~list~0.base) v_main_~end~0.offset_31) main_~end~0.base))) (= 0 (select (select |#memory_$Pointer$.offset| main_~list~0.base) (+ main_~list~0.offset 4))) (= 0 main_~list~0.offset) (= 0 (select (select |#memory_$Pointer$.base| main_~list~0.base) (+ main_~list~0.offset 4))) (= 0 (select (select |#memory_$Pointer$.offset| main_~end~0.base) main_~end~0.offset)) (= 0 (select (select |#memory_$Pointer$.base| main_~end~0.base) main_~end~0.offset)))} assume !!(~end~0.base != 0 || ~end~0.offset != 0); {12329#(and (not (= main_~list~0.base main_~end~0.base)) (exists ((v_main_~end~0.offset_31 Int)) (and (<= v_main_~end~0.offset_31 main_~list~0.offset) (= (select (select |#memory_$Pointer$.base| main_~list~0.base) v_main_~end~0.offset_31) main_~end~0.base))) (= 0 (select (select |#memory_$Pointer$.offset| main_~list~0.base) (+ main_~list~0.offset 4))) (= 0 main_~list~0.offset) (= 0 (select (select |#memory_$Pointer$.base| main_~list~0.base) (+ main_~list~0.offset 4))) (= 0 (select (select |#memory_$Pointer$.offset| main_~end~0.base) main_~end~0.offset)) (= 0 (select (select |#memory_$Pointer$.base| main_~end~0.base) main_~end~0.offset)))} is VALID [2020-07-10 15:09:10,824 INFO L280 TraceCheckUtils]: 20: Hoare triple {12329#(and (not (= main_~list~0.base main_~end~0.base)) (exists ((v_main_~end~0.offset_31 Int)) (and (<= v_main_~end~0.offset_31 main_~list~0.offset) (= (select (select |#memory_$Pointer$.base| main_~list~0.base) v_main_~end~0.offset_31) main_~end~0.base))) (= 0 (select (select |#memory_$Pointer$.offset| main_~list~0.base) (+ main_~list~0.offset 4))) (= 0 main_~list~0.offset) (= 0 (select (select |#memory_$Pointer$.base| main_~list~0.base) (+ main_~list~0.offset 4))) (= 0 (select (select |#memory_$Pointer$.offset| main_~end~0.base) main_~end~0.offset)) (= 0 (select (select |#memory_$Pointer$.base| main_~end~0.base) main_~end~0.offset)))} goto; {12329#(and (not (= main_~list~0.base main_~end~0.base)) (exists ((v_main_~end~0.offset_31 Int)) (and (<= v_main_~end~0.offset_31 main_~list~0.offset) (= (select (select |#memory_$Pointer$.base| main_~list~0.base) v_main_~end~0.offset_31) main_~end~0.base))) (= 0 (select (select |#memory_$Pointer$.offset| main_~list~0.base) (+ main_~list~0.offset 4))) (= 0 main_~list~0.offset) (= 0 (select (select |#memory_$Pointer$.base| main_~list~0.base) (+ main_~list~0.offset 4))) (= 0 (select (select |#memory_$Pointer$.offset| main_~end~0.base) main_~end~0.offset)) (= 0 (select (select |#memory_$Pointer$.base| main_~end~0.base) main_~end~0.offset)))} is VALID [2020-07-10 15:09:10,826 INFO L280 TraceCheckUtils]: 21: Hoare triple {12329#(and (not (= main_~list~0.base main_~end~0.base)) (exists ((v_main_~end~0.offset_31 Int)) (and (<= v_main_~end~0.offset_31 main_~list~0.offset) (= (select (select |#memory_$Pointer$.base| main_~list~0.base) v_main_~end~0.offset_31) main_~end~0.base))) (= 0 (select (select |#memory_$Pointer$.offset| main_~list~0.base) (+ main_~list~0.offset 4))) (= 0 main_~list~0.offset) (= 0 (select (select |#memory_$Pointer$.base| main_~list~0.base) (+ main_~list~0.offset 4))) (= 0 (select (select |#memory_$Pointer$.offset| main_~end~0.base) main_~end~0.offset)) (= 0 (select (select |#memory_$Pointer$.base| main_~end~0.base) main_~end~0.offset)))} assume -2147483648 <= #t~nondet11 && #t~nondet11 <= 2147483647; {12329#(and (not (= main_~list~0.base main_~end~0.base)) (exists ((v_main_~end~0.offset_31 Int)) (and (<= v_main_~end~0.offset_31 main_~list~0.offset) (= (select (select |#memory_$Pointer$.base| main_~list~0.base) v_main_~end~0.offset_31) main_~end~0.base))) (= 0 (select (select |#memory_$Pointer$.offset| main_~list~0.base) (+ main_~list~0.offset 4))) (= 0 main_~list~0.offset) (= 0 (select (select |#memory_$Pointer$.base| main_~list~0.base) (+ main_~list~0.offset 4))) (= 0 (select (select |#memory_$Pointer$.offset| main_~end~0.base) main_~end~0.offset)) (= 0 (select (select |#memory_$Pointer$.base| main_~end~0.base) main_~end~0.offset)))} is VALID [2020-07-10 15:09:10,832 INFO L280 TraceCheckUtils]: 22: Hoare triple {12329#(and (not (= main_~list~0.base main_~end~0.base)) (exists ((v_main_~end~0.offset_31 Int)) (and (<= v_main_~end~0.offset_31 main_~list~0.offset) (= (select (select |#memory_$Pointer$.base| main_~list~0.base) v_main_~end~0.offset_31) main_~end~0.base))) (= 0 (select (select |#memory_$Pointer$.offset| main_~list~0.base) (+ main_~list~0.offset 4))) (= 0 main_~list~0.offset) (= 0 (select (select |#memory_$Pointer$.base| main_~list~0.base) (+ main_~list~0.offset 4))) (= 0 (select (select |#memory_$Pointer$.offset| main_~end~0.base) main_~end~0.offset)) (= 0 (select (select |#memory_$Pointer$.base| main_~end~0.base) main_~end~0.offset)))} assume 0 != #t~nondet11;havoc #t~nondet11;call write~$Pointer$(0, 0, ~end~0.base, 4 + ~end~0.offset, 4); {12348#(and (= 0 (select (select |#memory_$Pointer$.offset| main_~list~0.base) (+ main_~list~0.offset 4))) (= 0 main_~list~0.offset) (= 0 (select (select |#memory_$Pointer$.base| main_~list~0.base) (+ main_~list~0.offset 4))) (exists ((v_main_~end~0.offset_31 Int) (main_~end~0.offset Int)) (and (= 0 (select (select |#memory_$Pointer$.base| (select (select |#memory_$Pointer$.base| main_~list~0.base) v_main_~end~0.offset_31)) main_~end~0.offset)) (<= v_main_~end~0.offset_31 main_~list~0.offset) (not (= (select (select |#memory_$Pointer$.base| main_~list~0.base) v_main_~end~0.offset_31) main_~list~0.base)) (= 0 (select (select |#memory_$Pointer$.base| (select (select |#memory_$Pointer$.base| main_~list~0.base) v_main_~end~0.offset_31)) (+ main_~end~0.offset 4))) (= 0 (select (select |#memory_$Pointer$.offset| (select (select |#memory_$Pointer$.base| main_~list~0.base) v_main_~end~0.offset_31)) main_~end~0.offset)) (= (select (select |#memory_$Pointer$.offset| (select (select |#memory_$Pointer$.base| main_~list~0.base) v_main_~end~0.offset_31)) (+ main_~end~0.offset 4)) 0))))} is VALID [2020-07-10 15:09:10,840 INFO L280 TraceCheckUtils]: 23: Hoare triple {12348#(and (= 0 (select (select |#memory_$Pointer$.offset| main_~list~0.base) (+ main_~list~0.offset 4))) (= 0 main_~list~0.offset) (= 0 (select (select |#memory_$Pointer$.base| main_~list~0.base) (+ main_~list~0.offset 4))) (exists ((v_main_~end~0.offset_31 Int) (main_~end~0.offset Int)) (and (= 0 (select (select |#memory_$Pointer$.base| (select (select |#memory_$Pointer$.base| main_~list~0.base) v_main_~end~0.offset_31)) main_~end~0.offset)) (<= v_main_~end~0.offset_31 main_~list~0.offset) (not (= (select (select |#memory_$Pointer$.base| main_~list~0.base) v_main_~end~0.offset_31) main_~list~0.base)) (= 0 (select (select |#memory_$Pointer$.base| (select (select |#memory_$Pointer$.base| main_~list~0.base) v_main_~end~0.offset_31)) (+ main_~end~0.offset 4))) (= 0 (select (select |#memory_$Pointer$.offset| (select (select |#memory_$Pointer$.base| main_~list~0.base) v_main_~end~0.offset_31)) main_~end~0.offset)) (= (select (select |#memory_$Pointer$.offset| (select (select |#memory_$Pointer$.base| main_~list~0.base) v_main_~end~0.offset_31)) (+ main_~end~0.offset 4)) 0))))} call #t~mem15.base, #t~mem15.offset := read~$Pointer$(~end~0.base, 4 + ~end~0.offset, 4);#t~short17 := #t~mem15.base != 0 || #t~mem15.offset != 0; {12348#(and (= 0 (select (select |#memory_$Pointer$.offset| main_~list~0.base) (+ main_~list~0.offset 4))) (= 0 main_~list~0.offset) (= 0 (select (select |#memory_$Pointer$.base| main_~list~0.base) (+ main_~list~0.offset 4))) (exists ((v_main_~end~0.offset_31 Int) (main_~end~0.offset Int)) (and (= 0 (select (select |#memory_$Pointer$.base| (select (select |#memory_$Pointer$.base| main_~list~0.base) v_main_~end~0.offset_31)) main_~end~0.offset)) (<= v_main_~end~0.offset_31 main_~list~0.offset) (not (= (select (select |#memory_$Pointer$.base| main_~list~0.base) v_main_~end~0.offset_31) main_~list~0.base)) (= 0 (select (select |#memory_$Pointer$.base| (select (select |#memory_$Pointer$.base| main_~list~0.base) v_main_~end~0.offset_31)) (+ main_~end~0.offset 4))) (= 0 (select (select |#memory_$Pointer$.offset| (select (select |#memory_$Pointer$.base| main_~list~0.base) v_main_~end~0.offset_31)) main_~end~0.offset)) (= (select (select |#memory_$Pointer$.offset| (select (select |#memory_$Pointer$.base| main_~list~0.base) v_main_~end~0.offset_31)) (+ main_~end~0.offset 4)) 0))))} is VALID [2020-07-10 15:09:10,842 INFO L280 TraceCheckUtils]: 24: Hoare triple {12348#(and (= 0 (select (select |#memory_$Pointer$.offset| main_~list~0.base) (+ main_~list~0.offset 4))) (= 0 main_~list~0.offset) (= 0 (select (select |#memory_$Pointer$.base| main_~list~0.base) (+ main_~list~0.offset 4))) (exists ((v_main_~end~0.offset_31 Int) (main_~end~0.offset Int)) (and (= 0 (select (select |#memory_$Pointer$.base| (select (select |#memory_$Pointer$.base| main_~list~0.base) v_main_~end~0.offset_31)) main_~end~0.offset)) (<= v_main_~end~0.offset_31 main_~list~0.offset) (not (= (select (select |#memory_$Pointer$.base| main_~list~0.base) v_main_~end~0.offset_31) main_~list~0.base)) (= 0 (select (select |#memory_$Pointer$.base| (select (select |#memory_$Pointer$.base| main_~list~0.base) v_main_~end~0.offset_31)) (+ main_~end~0.offset 4))) (= 0 (select (select |#memory_$Pointer$.offset| (select (select |#memory_$Pointer$.base| main_~list~0.base) v_main_~end~0.offset_31)) main_~end~0.offset)) (= (select (select |#memory_$Pointer$.offset| (select (select |#memory_$Pointer$.base| main_~list~0.base) v_main_~end~0.offset_31)) (+ main_~end~0.offset 4)) 0))))} assume !#t~short17;call #t~mem16.base, #t~mem16.offset := read~$Pointer$(~end~0.base, 4 + ~end~0.offset, 4);#t~short17 := #t~mem16.base == 0 && #t~mem16.offset == 0; {12348#(and (= 0 (select (select |#memory_$Pointer$.offset| main_~list~0.base) (+ main_~list~0.offset 4))) (= 0 main_~list~0.offset) (= 0 (select (select |#memory_$Pointer$.base| main_~list~0.base) (+ main_~list~0.offset 4))) (exists ((v_main_~end~0.offset_31 Int) (main_~end~0.offset Int)) (and (= 0 (select (select |#memory_$Pointer$.base| (select (select |#memory_$Pointer$.base| main_~list~0.base) v_main_~end~0.offset_31)) main_~end~0.offset)) (<= v_main_~end~0.offset_31 main_~list~0.offset) (not (= (select (select |#memory_$Pointer$.base| main_~list~0.base) v_main_~end~0.offset_31) main_~list~0.base)) (= 0 (select (select |#memory_$Pointer$.base| (select (select |#memory_$Pointer$.base| main_~list~0.base) v_main_~end~0.offset_31)) (+ main_~end~0.offset 4))) (= 0 (select (select |#memory_$Pointer$.offset| (select (select |#memory_$Pointer$.base| main_~list~0.base) v_main_~end~0.offset_31)) main_~end~0.offset)) (= (select (select |#memory_$Pointer$.offset| (select (select |#memory_$Pointer$.base| main_~list~0.base) v_main_~end~0.offset_31)) (+ main_~end~0.offset 4)) 0))))} is VALID [2020-07-10 15:09:10,843 INFO L280 TraceCheckUtils]: 25: Hoare triple {12348#(and (= 0 (select (select |#memory_$Pointer$.offset| main_~list~0.base) (+ main_~list~0.offset 4))) (= 0 main_~list~0.offset) (= 0 (select (select |#memory_$Pointer$.base| main_~list~0.base) (+ main_~list~0.offset 4))) (exists ((v_main_~end~0.offset_31 Int) (main_~end~0.offset Int)) (and (= 0 (select (select |#memory_$Pointer$.base| (select (select |#memory_$Pointer$.base| main_~list~0.base) v_main_~end~0.offset_31)) main_~end~0.offset)) (<= v_main_~end~0.offset_31 main_~list~0.offset) (not (= (select (select |#memory_$Pointer$.base| main_~list~0.base) v_main_~end~0.offset_31) main_~list~0.base)) (= 0 (select (select |#memory_$Pointer$.base| (select (select |#memory_$Pointer$.base| main_~list~0.base) v_main_~end~0.offset_31)) (+ main_~end~0.offset 4))) (= 0 (select (select |#memory_$Pointer$.offset| (select (select |#memory_$Pointer$.base| main_~list~0.base) v_main_~end~0.offset_31)) main_~end~0.offset)) (= (select (select |#memory_$Pointer$.offset| (select (select |#memory_$Pointer$.base| main_~list~0.base) v_main_~end~0.offset_31)) (+ main_~end~0.offset 4)) 0))))} assume !!#t~short17;havoc #t~mem16.base, #t~mem16.offset;havoc #t~short17;havoc #t~mem15.base, #t~mem15.offset; {12348#(and (= 0 (select (select |#memory_$Pointer$.offset| main_~list~0.base) (+ main_~list~0.offset 4))) (= 0 main_~list~0.offset) (= 0 (select (select |#memory_$Pointer$.base| main_~list~0.base) (+ main_~list~0.offset 4))) (exists ((v_main_~end~0.offset_31 Int) (main_~end~0.offset Int)) (and (= 0 (select (select |#memory_$Pointer$.base| (select (select |#memory_$Pointer$.base| main_~list~0.base) v_main_~end~0.offset_31)) main_~end~0.offset)) (<= v_main_~end~0.offset_31 main_~list~0.offset) (not (= (select (select |#memory_$Pointer$.base| main_~list~0.base) v_main_~end~0.offset_31) main_~list~0.base)) (= 0 (select (select |#memory_$Pointer$.base| (select (select |#memory_$Pointer$.base| main_~list~0.base) v_main_~end~0.offset_31)) (+ main_~end~0.offset 4))) (= 0 (select (select |#memory_$Pointer$.offset| (select (select |#memory_$Pointer$.base| main_~list~0.base) v_main_~end~0.offset_31)) main_~end~0.offset)) (= (select (select |#memory_$Pointer$.offset| (select (select |#memory_$Pointer$.base| main_~list~0.base) v_main_~end~0.offset_31)) (+ main_~end~0.offset 4)) 0))))} is VALID [2020-07-10 15:09:10,844 INFO L280 TraceCheckUtils]: 26: Hoare triple {12348#(and (= 0 (select (select |#memory_$Pointer$.offset| main_~list~0.base) (+ main_~list~0.offset 4))) (= 0 main_~list~0.offset) (= 0 (select (select |#memory_$Pointer$.base| main_~list~0.base) (+ main_~list~0.offset 4))) (exists ((v_main_~end~0.offset_31 Int) (main_~end~0.offset Int)) (and (= 0 (select (select |#memory_$Pointer$.base| (select (select |#memory_$Pointer$.base| main_~list~0.base) v_main_~end~0.offset_31)) main_~end~0.offset)) (<= v_main_~end~0.offset_31 main_~list~0.offset) (not (= (select (select |#memory_$Pointer$.base| main_~list~0.base) v_main_~end~0.offset_31) main_~list~0.base)) (= 0 (select (select |#memory_$Pointer$.base| (select (select |#memory_$Pointer$.base| main_~list~0.base) v_main_~end~0.offset_31)) (+ main_~end~0.offset 4))) (= 0 (select (select |#memory_$Pointer$.offset| (select (select |#memory_$Pointer$.base| main_~list~0.base) v_main_~end~0.offset_31)) main_~end~0.offset)) (= (select (select |#memory_$Pointer$.offset| (select (select |#memory_$Pointer$.base| main_~list~0.base) v_main_~end~0.offset_31)) (+ main_~end~0.offset 4)) 0))))} goto; {12348#(and (= 0 (select (select |#memory_$Pointer$.offset| main_~list~0.base) (+ main_~list~0.offset 4))) (= 0 main_~list~0.offset) (= 0 (select (select |#memory_$Pointer$.base| main_~list~0.base) (+ main_~list~0.offset 4))) (exists ((v_main_~end~0.offset_31 Int) (main_~end~0.offset Int)) (and (= 0 (select (select |#memory_$Pointer$.base| (select (select |#memory_$Pointer$.base| main_~list~0.base) v_main_~end~0.offset_31)) main_~end~0.offset)) (<= v_main_~end~0.offset_31 main_~list~0.offset) (not (= (select (select |#memory_$Pointer$.base| main_~list~0.base) v_main_~end~0.offset_31) main_~list~0.base)) (= 0 (select (select |#memory_$Pointer$.base| (select (select |#memory_$Pointer$.base| main_~list~0.base) v_main_~end~0.offset_31)) (+ main_~end~0.offset 4))) (= 0 (select (select |#memory_$Pointer$.offset| (select (select |#memory_$Pointer$.base| main_~list~0.base) v_main_~end~0.offset_31)) main_~end~0.offset)) (= (select (select |#memory_$Pointer$.offset| (select (select |#memory_$Pointer$.base| main_~list~0.base) v_main_~end~0.offset_31)) (+ main_~end~0.offset 4)) 0))))} is VALID [2020-07-10 15:09:10,845 INFO L280 TraceCheckUtils]: 27: Hoare triple {12348#(and (= 0 (select (select |#memory_$Pointer$.offset| main_~list~0.base) (+ main_~list~0.offset 4))) (= 0 main_~list~0.offset) (= 0 (select (select |#memory_$Pointer$.base| main_~list~0.base) (+ main_~list~0.offset 4))) (exists ((v_main_~end~0.offset_31 Int) (main_~end~0.offset Int)) (and (= 0 (select (select |#memory_$Pointer$.base| (select (select |#memory_$Pointer$.base| main_~list~0.base) v_main_~end~0.offset_31)) main_~end~0.offset)) (<= v_main_~end~0.offset_31 main_~list~0.offset) (not (= (select (select |#memory_$Pointer$.base| main_~list~0.base) v_main_~end~0.offset_31) main_~list~0.base)) (= 0 (select (select |#memory_$Pointer$.base| (select (select |#memory_$Pointer$.base| main_~list~0.base) v_main_~end~0.offset_31)) (+ main_~end~0.offset 4))) (= 0 (select (select |#memory_$Pointer$.offset| (select (select |#memory_$Pointer$.base| main_~list~0.base) v_main_~end~0.offset_31)) main_~end~0.offset)) (= (select (select |#memory_$Pointer$.offset| (select (select |#memory_$Pointer$.base| main_~list~0.base) v_main_~end~0.offset_31)) (+ main_~end~0.offset 4)) 0))))} assume -2147483648 <= #t~nondet8 && #t~nondet8 <= 2147483647; {12348#(and (= 0 (select (select |#memory_$Pointer$.offset| main_~list~0.base) (+ main_~list~0.offset 4))) (= 0 main_~list~0.offset) (= 0 (select (select |#memory_$Pointer$.base| main_~list~0.base) (+ main_~list~0.offset 4))) (exists ((v_main_~end~0.offset_31 Int) (main_~end~0.offset Int)) (and (= 0 (select (select |#memory_$Pointer$.base| (select (select |#memory_$Pointer$.base| main_~list~0.base) v_main_~end~0.offset_31)) main_~end~0.offset)) (<= v_main_~end~0.offset_31 main_~list~0.offset) (not (= (select (select |#memory_$Pointer$.base| main_~list~0.base) v_main_~end~0.offset_31) main_~list~0.base)) (= 0 (select (select |#memory_$Pointer$.base| (select (select |#memory_$Pointer$.base| main_~list~0.base) v_main_~end~0.offset_31)) (+ main_~end~0.offset 4))) (= 0 (select (select |#memory_$Pointer$.offset| (select (select |#memory_$Pointer$.base| main_~list~0.base) v_main_~end~0.offset_31)) main_~end~0.offset)) (= (select (select |#memory_$Pointer$.offset| (select (select |#memory_$Pointer$.base| main_~list~0.base) v_main_~end~0.offset_31)) (+ main_~end~0.offset 4)) 0))))} is VALID [2020-07-10 15:09:10,846 INFO L280 TraceCheckUtils]: 28: Hoare triple {12348#(and (= 0 (select (select |#memory_$Pointer$.offset| main_~list~0.base) (+ main_~list~0.offset 4))) (= 0 main_~list~0.offset) (= 0 (select (select |#memory_$Pointer$.base| main_~list~0.base) (+ main_~list~0.offset 4))) (exists ((v_main_~end~0.offset_31 Int) (main_~end~0.offset Int)) (and (= 0 (select (select |#memory_$Pointer$.base| (select (select |#memory_$Pointer$.base| main_~list~0.base) v_main_~end~0.offset_31)) main_~end~0.offset)) (<= v_main_~end~0.offset_31 main_~list~0.offset) (not (= (select (select |#memory_$Pointer$.base| main_~list~0.base) v_main_~end~0.offset_31) main_~list~0.base)) (= 0 (select (select |#memory_$Pointer$.base| (select (select |#memory_$Pointer$.base| main_~list~0.base) v_main_~end~0.offset_31)) (+ main_~end~0.offset 4))) (= 0 (select (select |#memory_$Pointer$.offset| (select (select |#memory_$Pointer$.base| main_~list~0.base) v_main_~end~0.offset_31)) main_~end~0.offset)) (= (select (select |#memory_$Pointer$.offset| (select (select |#memory_$Pointer$.base| main_~list~0.base) v_main_~end~0.offset_31)) (+ main_~end~0.offset 4)) 0))))} assume !(0 != #t~nondet8);havoc #t~nondet8; {12348#(and (= 0 (select (select |#memory_$Pointer$.offset| main_~list~0.base) (+ main_~list~0.offset 4))) (= 0 main_~list~0.offset) (= 0 (select (select |#memory_$Pointer$.base| main_~list~0.base) (+ main_~list~0.offset 4))) (exists ((v_main_~end~0.offset_31 Int) (main_~end~0.offset Int)) (and (= 0 (select (select |#memory_$Pointer$.base| (select (select |#memory_$Pointer$.base| main_~list~0.base) v_main_~end~0.offset_31)) main_~end~0.offset)) (<= v_main_~end~0.offset_31 main_~list~0.offset) (not (= (select (select |#memory_$Pointer$.base| main_~list~0.base) v_main_~end~0.offset_31) main_~list~0.base)) (= 0 (select (select |#memory_$Pointer$.base| (select (select |#memory_$Pointer$.base| main_~list~0.base) v_main_~end~0.offset_31)) (+ main_~end~0.offset 4))) (= 0 (select (select |#memory_$Pointer$.offset| (select (select |#memory_$Pointer$.base| main_~list~0.base) v_main_~end~0.offset_31)) main_~end~0.offset)) (= (select (select |#memory_$Pointer$.offset| (select (select |#memory_$Pointer$.base| main_~list~0.base) v_main_~end~0.offset_31)) (+ main_~end~0.offset 4)) 0))))} is VALID [2020-07-10 15:09:10,848 INFO L280 TraceCheckUtils]: 29: Hoare triple {12348#(and (= 0 (select (select |#memory_$Pointer$.offset| main_~list~0.base) (+ main_~list~0.offset 4))) (= 0 main_~list~0.offset) (= 0 (select (select |#memory_$Pointer$.base| main_~list~0.base) (+ main_~list~0.offset 4))) (exists ((v_main_~end~0.offset_31 Int) (main_~end~0.offset Int)) (and (= 0 (select (select |#memory_$Pointer$.base| (select (select |#memory_$Pointer$.base| main_~list~0.base) v_main_~end~0.offset_31)) main_~end~0.offset)) (<= v_main_~end~0.offset_31 main_~list~0.offset) (not (= (select (select |#memory_$Pointer$.base| main_~list~0.base) v_main_~end~0.offset_31) main_~list~0.base)) (= 0 (select (select |#memory_$Pointer$.base| (select (select |#memory_$Pointer$.base| main_~list~0.base) v_main_~end~0.offset_31)) (+ main_~end~0.offset 4))) (= 0 (select (select |#memory_$Pointer$.offset| (select (select |#memory_$Pointer$.base| main_~list~0.base) v_main_~end~0.offset_31)) main_~end~0.offset)) (= (select (select |#memory_$Pointer$.offset| (select (select |#memory_$Pointer$.base| main_~list~0.base) v_main_~end~0.offset_31)) (+ main_~end~0.offset 4)) 0))))} ~end~0.base, ~end~0.offset := 0, 0;~end~0.base, ~end~0.offset := ~list~0.base, ~list~0.offset; {12370#(and (= 0 (select (select |#memory_$Pointer$.offset| main_~end~0.base) (+ main_~end~0.offset 4))) (exists ((v_main_~end~0.offset_31 Int) (v_subst_2 Int)) (and (= 0 (select (select |#memory_$Pointer$.base| (select (select |#memory_$Pointer$.base| main_~end~0.base) v_main_~end~0.offset_31)) (+ v_subst_2 4))) (<= v_main_~end~0.offset_31 main_~end~0.offset) (= (select (select |#memory_$Pointer$.offset| (select (select |#memory_$Pointer$.base| main_~end~0.base) v_main_~end~0.offset_31)) v_subst_2) 0) (= 0 (select (select |#memory_$Pointer$.offset| (select (select |#memory_$Pointer$.base| main_~end~0.base) v_main_~end~0.offset_31)) (+ v_subst_2 4))) (= (select (select |#memory_$Pointer$.base| (select (select |#memory_$Pointer$.base| main_~end~0.base) v_main_~end~0.offset_31)) v_subst_2) 0) (not (= (select (select |#memory_$Pointer$.base| main_~end~0.base) v_main_~end~0.offset_31) main_~end~0.base)))) (= 0 main_~end~0.offset) (= 0 (select (select |#memory_$Pointer$.base| main_~end~0.base) (+ main_~end~0.offset 4))))} is VALID [2020-07-10 15:09:10,850 INFO L280 TraceCheckUtils]: 30: Hoare triple {12370#(and (= 0 (select (select |#memory_$Pointer$.offset| main_~end~0.base) (+ main_~end~0.offset 4))) (exists ((v_main_~end~0.offset_31 Int) (v_subst_2 Int)) (and (= 0 (select (select |#memory_$Pointer$.base| (select (select |#memory_$Pointer$.base| main_~end~0.base) v_main_~end~0.offset_31)) (+ v_subst_2 4))) (<= v_main_~end~0.offset_31 main_~end~0.offset) (= (select (select |#memory_$Pointer$.offset| (select (select |#memory_$Pointer$.base| main_~end~0.base) v_main_~end~0.offset_31)) v_subst_2) 0) (= 0 (select (select |#memory_$Pointer$.offset| (select (select |#memory_$Pointer$.base| main_~end~0.base) v_main_~end~0.offset_31)) (+ v_subst_2 4))) (= (select (select |#memory_$Pointer$.base| (select (select |#memory_$Pointer$.base| main_~end~0.base) v_main_~end~0.offset_31)) v_subst_2) 0) (not (= (select (select |#memory_$Pointer$.base| main_~end~0.base) v_main_~end~0.offset_31) main_~end~0.base)))) (= 0 main_~end~0.offset) (= 0 (select (select |#memory_$Pointer$.base| main_~end~0.base) (+ main_~end~0.offset 4))))} assume !!(0 != ~end~0.base || 0 != ~end~0.offset); {12370#(and (= 0 (select (select |#memory_$Pointer$.offset| main_~end~0.base) (+ main_~end~0.offset 4))) (exists ((v_main_~end~0.offset_31 Int) (v_subst_2 Int)) (and (= 0 (select (select |#memory_$Pointer$.base| (select (select |#memory_$Pointer$.base| main_~end~0.base) v_main_~end~0.offset_31)) (+ v_subst_2 4))) (<= v_main_~end~0.offset_31 main_~end~0.offset) (= (select (select |#memory_$Pointer$.offset| (select (select |#memory_$Pointer$.base| main_~end~0.base) v_main_~end~0.offset_31)) v_subst_2) 0) (= 0 (select (select |#memory_$Pointer$.offset| (select (select |#memory_$Pointer$.base| main_~end~0.base) v_main_~end~0.offset_31)) (+ v_subst_2 4))) (= (select (select |#memory_$Pointer$.base| (select (select |#memory_$Pointer$.base| main_~end~0.base) v_main_~end~0.offset_31)) v_subst_2) 0) (not (= (select (select |#memory_$Pointer$.base| main_~end~0.base) v_main_~end~0.offset_31) main_~end~0.base)))) (= 0 main_~end~0.offset) (= 0 (select (select |#memory_$Pointer$.base| main_~end~0.base) (+ main_~end~0.offset 4))))} is VALID [2020-07-10 15:09:10,851 INFO L280 TraceCheckUtils]: 31: Hoare triple {12370#(and (= 0 (select (select |#memory_$Pointer$.offset| main_~end~0.base) (+ main_~end~0.offset 4))) (exists ((v_main_~end~0.offset_31 Int) (v_subst_2 Int)) (and (= 0 (select (select |#memory_$Pointer$.base| (select (select |#memory_$Pointer$.base| main_~end~0.base) v_main_~end~0.offset_31)) (+ v_subst_2 4))) (<= v_main_~end~0.offset_31 main_~end~0.offset) (= (select (select |#memory_$Pointer$.offset| (select (select |#memory_$Pointer$.base| main_~end~0.base) v_main_~end~0.offset_31)) v_subst_2) 0) (= 0 (select (select |#memory_$Pointer$.offset| (select (select |#memory_$Pointer$.base| main_~end~0.base) v_main_~end~0.offset_31)) (+ v_subst_2 4))) (= (select (select |#memory_$Pointer$.base| (select (select |#memory_$Pointer$.base| main_~end~0.base) v_main_~end~0.offset_31)) v_subst_2) 0) (not (= (select (select |#memory_$Pointer$.base| main_~end~0.base) v_main_~end~0.offset_31) main_~end~0.base)))) (= 0 main_~end~0.offset) (= 0 (select (select |#memory_$Pointer$.base| main_~end~0.base) (+ main_~end~0.offset 4))))} goto; {12370#(and (= 0 (select (select |#memory_$Pointer$.offset| main_~end~0.base) (+ main_~end~0.offset 4))) (exists ((v_main_~end~0.offset_31 Int) (v_subst_2 Int)) (and (= 0 (select (select |#memory_$Pointer$.base| (select (select |#memory_$Pointer$.base| main_~end~0.base) v_main_~end~0.offset_31)) (+ v_subst_2 4))) (<= v_main_~end~0.offset_31 main_~end~0.offset) (= (select (select |#memory_$Pointer$.offset| (select (select |#memory_$Pointer$.base| main_~end~0.base) v_main_~end~0.offset_31)) v_subst_2) 0) (= 0 (select (select |#memory_$Pointer$.offset| (select (select |#memory_$Pointer$.base| main_~end~0.base) v_main_~end~0.offset_31)) (+ v_subst_2 4))) (= (select (select |#memory_$Pointer$.base| (select (select |#memory_$Pointer$.base| main_~end~0.base) v_main_~end~0.offset_31)) v_subst_2) 0) (not (= (select (select |#memory_$Pointer$.base| main_~end~0.base) v_main_~end~0.offset_31) main_~end~0.base)))) (= 0 main_~end~0.offset) (= 0 (select (select |#memory_$Pointer$.base| main_~end~0.base) (+ main_~end~0.offset 4))))} is VALID [2020-07-10 15:09:10,852 INFO L280 TraceCheckUtils]: 32: Hoare triple {12370#(and (= 0 (select (select |#memory_$Pointer$.offset| main_~end~0.base) (+ main_~end~0.offset 4))) (exists ((v_main_~end~0.offset_31 Int) (v_subst_2 Int)) (and (= 0 (select (select |#memory_$Pointer$.base| (select (select |#memory_$Pointer$.base| main_~end~0.base) v_main_~end~0.offset_31)) (+ v_subst_2 4))) (<= v_main_~end~0.offset_31 main_~end~0.offset) (= (select (select |#memory_$Pointer$.offset| (select (select |#memory_$Pointer$.base| main_~end~0.base) v_main_~end~0.offset_31)) v_subst_2) 0) (= 0 (select (select |#memory_$Pointer$.offset| (select (select |#memory_$Pointer$.base| main_~end~0.base) v_main_~end~0.offset_31)) (+ v_subst_2 4))) (= (select (select |#memory_$Pointer$.base| (select (select |#memory_$Pointer$.base| main_~end~0.base) v_main_~end~0.offset_31)) v_subst_2) 0) (not (= (select (select |#memory_$Pointer$.base| main_~end~0.base) v_main_~end~0.offset_31) main_~end~0.base)))) (= 0 main_~end~0.offset) (= 0 (select (select |#memory_$Pointer$.base| main_~end~0.base) (+ main_~end~0.offset 4))))} assume !!(0 != ~end~0.base || 0 != ~end~0.offset);~len~0 := 0;call #t~mem18.base, #t~mem18.offset := read~$Pointer$(~end~0.base, 4 + ~end~0.offset, 4);~inner~0.base, ~inner~0.offset := #t~mem18.base, #t~mem18.offset;havoc #t~mem18.base, #t~mem18.offset; {12275#(and (= 0 main_~inner~0.base) (= 0 main_~inner~0.offset))} is VALID [2020-07-10 15:09:10,853 INFO L280 TraceCheckUtils]: 33: Hoare triple {12275#(and (= 0 main_~inner~0.base) (= 0 main_~inner~0.offset))} assume !!(0 != ~inner~0.base || 0 != ~inner~0.offset); {12265#false} is VALID [2020-07-10 15:09:10,853 INFO L280 TraceCheckUtils]: 34: Hoare triple {12265#false} assume 0 == ~len~0;~len~0 := 1; {12265#false} is VALID [2020-07-10 15:09:10,853 INFO L280 TraceCheckUtils]: 35: Hoare triple {12265#false} assume !!(0 != ~inner~0.base || 0 != ~inner~0.offset); {12265#false} is VALID [2020-07-10 15:09:10,853 INFO L280 TraceCheckUtils]: 36: Hoare triple {12265#false} goto; {12265#false} is VALID [2020-07-10 15:09:10,854 INFO L280 TraceCheckUtils]: 37: Hoare triple {12265#false} call #t~mem19.base, #t~mem19.offset := read~$Pointer$(~inner~0.base, 4 + ~inner~0.offset, 4); {12265#false} is VALID [2020-07-10 15:09:10,854 INFO L280 TraceCheckUtils]: 38: Hoare triple {12265#false} assume !(0 == #t~mem19.base && 0 == #t~mem19.offset);havoc #t~mem19.base, #t~mem19.offset; {12265#false} is VALID [2020-07-10 15:09:10,854 INFO L280 TraceCheckUtils]: 39: Hoare triple {12265#false} assume !false; {12265#false} is VALID [2020-07-10 15:09:10,873 INFO L134 CoverageAnalysis]: Checked inductivity of 2 backedges. 0 proven. 2 refuted. 0 times theorem prover too weak. 0 trivial. 0 not checked. [2020-07-10 15:09:10,874 INFO L220 FreeRefinementEngine]: Constructing automaton from 0 perfect and 2 imperfect interpolant sequences. [2020-07-10 15:09:10,874 INFO L233 FreeRefinementEngine]: Number of different interpolants: perfect sequences [] imperfect sequences [10, 9] total 14 [2020-07-10 15:09:10,875 INFO L156 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [1436933016] [2020-07-10 15:09:10,876 INFO L78 Accepts]: Start accepts. Automaton has 14 states. Word has length 40 [2020-07-10 15:09:10,876 INFO L84 Accepts]: Finished accepts. word is accepted. [2020-07-10 15:09:10,876 INFO L86 InductivityCheck]: Starting indutivity check of a Floyd-Hoare automaton with 14 states. [2020-07-10 15:09:10,973 INFO L119 InductivityCheck]: Floyd-Hoare automaton has 61 edges. 61 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2020-07-10 15:09:10,974 INFO L459 AbstractCegarLoop]: Interpolant automaton has 14 states [2020-07-10 15:09:10,974 INFO L143 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy CAMEL [2020-07-10 15:09:10,974 INFO L142 InterpolantAutomaton]: Constructing interpolant automaton starting with 14 interpolants. [2020-07-10 15:09:10,974 INFO L144 InterpolantAutomaton]: CoverageRelationStatistics Valid=41, Invalid=140, Unknown=1, NotChecked=0, Total=182 [2020-07-10 15:09:10,975 INFO L87 Difference]: Start difference. First operand 218 states and 262 transitions. Second operand 14 states. [2020-07-10 15:10:20,135 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2020-07-10 15:10:20,135 INFO L93 Difference]: Finished difference Result 521 states and 619 transitions. [2020-07-10 15:10:20,136 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 23 states. [2020-07-10 15:10:20,136 INFO L78 Accepts]: Start accepts. Automaton has 14 states. Word has length 40 [2020-07-10 15:10:20,136 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2020-07-10 15:10:20,136 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 14 states. [2020-07-10 15:10:20,141 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 23 states to 23 states and 333 transitions. [2020-07-10 15:10:20,141 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 14 states. [2020-07-10 15:10:20,145 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 23 states to 23 states and 333 transitions. [2020-07-10 15:10:20,146 INFO L86 InductivityCheck]: Starting indutivity check of a Floyd-Hoare automaton with 23 states and 333 transitions. [2020-07-10 15:10:20,779 INFO L119 InductivityCheck]: Floyd-Hoare automaton has 333 edges. 333 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2020-07-10 15:10:20,793 INFO L225 Difference]: With dead ends: 521 [2020-07-10 15:10:20,793 INFO L226 Difference]: Without dead ends: 429 [2020-07-10 15:10:20,794 INFO L675 BasicCegarLoop]: 0 DeclaredPredicates, 67 GetRequests, 38 SyntacticMatches, 0 SemanticMatches, 29 ConstructedPredicates, 0 IntricatePredicates, 0 DeprecatedPredicates, 198 ImplicationChecksByTransitivity, 8.0s TimeCoverageRelationStatistics Valid=221, Invalid=706, Unknown=3, NotChecked=0, Total=930 [2020-07-10 15:10:20,794 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 429 states. [2020-07-10 15:10:21,035 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 429 to 247. [2020-07-10 15:10:21,035 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2020-07-10 15:10:21,035 INFO L82 GeneralOperation]: Start isEquivalent. First operand 429 states. Second operand 247 states. [2020-07-10 15:10:21,035 INFO L74 IsIncluded]: Start isIncluded. First operand 429 states. Second operand 247 states. [2020-07-10 15:10:21,036 INFO L87 Difference]: Start difference. First operand 429 states. Second operand 247 states. [2020-07-10 15:10:21,049 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2020-07-10 15:10:21,050 INFO L93 Difference]: Finished difference Result 429 states and 505 transitions. [2020-07-10 15:10:21,050 INFO L276 IsEmpty]: Start isEmpty. Operand 429 states and 505 transitions. [2020-07-10 15:10:21,051 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2020-07-10 15:10:21,051 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2020-07-10 15:10:21,051 INFO L74 IsIncluded]: Start isIncluded. First operand 247 states. Second operand 429 states. [2020-07-10 15:10:21,051 INFO L87 Difference]: Start difference. First operand 247 states. Second operand 429 states. [2020-07-10 15:10:21,062 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2020-07-10 15:10:21,062 INFO L93 Difference]: Finished difference Result 429 states and 505 transitions. [2020-07-10 15:10:21,062 INFO L276 IsEmpty]: Start isEmpty. Operand 429 states and 505 transitions. [2020-07-10 15:10:21,064 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2020-07-10 15:10:21,064 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2020-07-10 15:10:21,064 INFO L88 GeneralOperation]: Finished isEquivalent. [2020-07-10 15:10:21,064 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2020-07-10 15:10:21,064 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 247 states. [2020-07-10 15:10:21,069 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 247 states to 247 states and 297 transitions. [2020-07-10 15:10:21,069 INFO L78 Accepts]: Start accepts. Automaton has 247 states and 297 transitions. Word has length 40 [2020-07-10 15:10:21,069 INFO L84 Accepts]: Finished accepts. word is rejected. [2020-07-10 15:10:21,069 INFO L479 AbstractCegarLoop]: Abstraction has 247 states and 297 transitions. [2020-07-10 15:10:21,069 INFO L480 AbstractCegarLoop]: Interpolant automaton has 14 states. [2020-07-10 15:10:21,069 INFO L276 IsEmpty]: Start isEmpty. Operand 247 states and 297 transitions. [2020-07-10 15:10:21,070 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 41 [2020-07-10 15:10:21,070 INFO L414 BasicCegarLoop]: Found error trace [2020-07-10 15:10:21,070 INFO L422 BasicCegarLoop]: trace histogram [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] [2020-07-10 15:10:21,283 WARN L516 AbstractCegarLoop]: Destroyed unattended storables created during the last iteration: SelfDestructingSolverStorable20,4 z3 -smt2 -in SMTLIB2_COMPLIANT=true [2020-07-10 15:10:21,285 INFO L427 AbstractCegarLoop]: === Iteration 22 === [mainErr0ASSERT_VIOLATIONERROR_FUNCTION, mainErr7ASSERT_VIOLATIONERROR_FUNCTION, mainErr8ASSERT_VIOLATIONERROR_FUNCTION, mainErr9ASSERT_VIOLATIONERROR_FUNCTION, mainErr10ASSERT_VIOLATIONERROR_FUNCTION, mainErr12ASSERT_VIOLATIONERROR_FUNCTION, mainErr4ASSERT_VIOLATIONERROR_FUNCTION, mainErr11ASSERT_VIOLATIONERROR_FUNCTION, mainErr2ASSERT_VIOLATIONERROR_FUNCTION, mainErr6ASSERT_VIOLATIONERROR_FUNCTION, mainErr5ASSERT_VIOLATIONERROR_FUNCTION, mainErr3ASSERT_VIOLATIONERROR_FUNCTION, mainErr1ASSERT_VIOLATIONERROR_FUNCTION]=== [2020-07-10 15:10:21,285 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2020-07-10 15:10:21,286 INFO L82 PathProgramCache]: Analyzing trace with hash 1717014481, now seen corresponding path program 1 times [2020-07-10 15:10:21,286 INFO L163 FreeRefinementEngine]: Executing refinement strategy CAMEL [2020-07-10 15:10:21,286 INFO L354 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [1042558286] [2020-07-10 15:10:21,286 INFO L94 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2020-07-10 15:10:21,302 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is sat [2020-07-10 15:10:21,314 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is sat [2020-07-10 15:10:21,342 INFO L174 FreeRefinementEngine]: Strategy CAMEL found a feasible trace [2020-07-10 15:10:21,342 INFO L520 BasicCegarLoop]: Counterexample might be feasible [2020-07-10 15:10:21,344 WARN L516 AbstractCegarLoop]: Destroyed unattended storables created during the last iteration: SelfDestructingSolverStorable21 [2020-07-10 15:10:21,419 WARN L170 areAnnotationChecker]: ULTIMATE.initENTRY has no Hoare annotation [2020-07-10 15:10:21,419 WARN L170 areAnnotationChecker]: ULTIMATE.startENTRY has no Hoare annotation [2020-07-10 15:10:21,419 WARN L170 areAnnotationChecker]: ULTIMATE.startENTRY has no Hoare annotation [2020-07-10 15:10:21,419 WARN L170 areAnnotationChecker]: mainENTRY has no Hoare annotation [2020-07-10 15:10:21,419 WARN L170 areAnnotationChecker]: ULTIMATE.initFINAL has no Hoare annotation [2020-07-10 15:10:21,419 WARN L170 areAnnotationChecker]: L-1 has no Hoare annotation [2020-07-10 15:10:21,420 WARN L170 areAnnotationChecker]: L-1 has no Hoare annotation [2020-07-10 15:10:21,420 WARN L170 areAnnotationChecker]: L993-4 has no Hoare annotation [2020-07-10 15:10:21,420 WARN L170 areAnnotationChecker]: L993-4 has no Hoare annotation [2020-07-10 15:10:21,420 WARN L170 areAnnotationChecker]: L993-4 has no Hoare annotation [2020-07-10 15:10:21,420 WARN L170 areAnnotationChecker]: ULTIMATE.initEXIT has no Hoare annotation [2020-07-10 15:10:21,420 WARN L170 areAnnotationChecker]: ULTIMATE.startFINAL has no Hoare annotation [2020-07-10 15:10:21,420 WARN L170 areAnnotationChecker]: L993-5 has no Hoare annotation [2020-07-10 15:10:21,420 WARN L170 areAnnotationChecker]: L993-1 has no Hoare annotation [2020-07-10 15:10:21,420 WARN L170 areAnnotationChecker]: L993-1 has no Hoare annotation [2020-07-10 15:10:21,421 WARN L170 areAnnotationChecker]: L993-3 has no Hoare annotation [2020-07-10 15:10:21,421 WARN L170 areAnnotationChecker]: L993-3 has no Hoare annotation [2020-07-10 15:10:21,421 WARN L170 areAnnotationChecker]: L993-6 has no Hoare annotation [2020-07-10 15:10:21,421 WARN L170 areAnnotationChecker]: L993-6 has no Hoare annotation [2020-07-10 15:10:21,421 WARN L170 areAnnotationChecker]: L993-15 has no Hoare annotation [2020-07-10 15:10:21,421 WARN L170 areAnnotationChecker]: L993-15 has no Hoare annotation [2020-07-10 15:10:21,421 WARN L170 areAnnotationChecker]: L993-9 has no Hoare annotation [2020-07-10 15:10:21,421 WARN L170 areAnnotationChecker]: L993-9 has no Hoare annotation [2020-07-10 15:10:21,421 WARN L170 areAnnotationChecker]: L993-16 has no Hoare annotation [2020-07-10 15:10:21,421 WARN L170 areAnnotationChecker]: L993-11 has no Hoare annotation [2020-07-10 15:10:21,421 WARN L170 areAnnotationChecker]: L993-11 has no Hoare annotation [2020-07-10 15:10:21,422 WARN L170 areAnnotationChecker]: L1005-15 has no Hoare annotation [2020-07-10 15:10:21,422 WARN L170 areAnnotationChecker]: L1005-15 has no Hoare annotation [2020-07-10 15:10:21,422 WARN L170 areAnnotationChecker]: L993-12 has no Hoare annotation [2020-07-10 15:10:21,422 WARN L170 areAnnotationChecker]: L993-12 has no Hoare annotation [2020-07-10 15:10:21,422 WARN L170 areAnnotationChecker]: L993-14 has no Hoare annotation [2020-07-10 15:10:21,422 WARN L170 areAnnotationChecker]: L993-14 has no Hoare annotation [2020-07-10 15:10:21,422 WARN L170 areAnnotationChecker]: L998-3 has no Hoare annotation [2020-07-10 15:10:21,422 WARN L170 areAnnotationChecker]: L998-1 has no Hoare annotation [2020-07-10 15:10:21,422 WARN L170 areAnnotationChecker]: L998-1 has no Hoare annotation [2020-07-10 15:10:21,422 WARN L170 areAnnotationChecker]: L1012-4 has no Hoare annotation [2020-07-10 15:10:21,423 WARN L170 areAnnotationChecker]: L1012-4 has no Hoare annotation [2020-07-10 15:10:21,423 WARN L170 areAnnotationChecker]: L1012-4 has no Hoare annotation [2020-07-10 15:10:21,423 WARN L170 areAnnotationChecker]: L1004-4 has no Hoare annotation [2020-07-10 15:10:21,423 WARN L170 areAnnotationChecker]: L1004-4 has no Hoare annotation [2020-07-10 15:10:21,423 WARN L170 areAnnotationChecker]: L1004-4 has no Hoare annotation [2020-07-10 15:10:21,423 WARN L170 areAnnotationChecker]: L1014-1 has no Hoare annotation [2020-07-10 15:10:21,423 WARN L170 areAnnotationChecker]: L1014-1 has no Hoare annotation [2020-07-10 15:10:21,423 WARN L170 areAnnotationChecker]: L1014-1 has no Hoare annotation [2020-07-10 15:10:21,423 WARN L170 areAnnotationChecker]: L1012-1 has no Hoare annotation [2020-07-10 15:10:21,423 WARN L170 areAnnotationChecker]: L1012-1 has no Hoare annotation [2020-07-10 15:10:21,423 WARN L170 areAnnotationChecker]: L1012-3 has no Hoare annotation [2020-07-10 15:10:21,424 WARN L170 areAnnotationChecker]: L1012-3 has no Hoare annotation [2020-07-10 15:10:21,424 WARN L170 areAnnotationChecker]: L1005-3 has no Hoare annotation [2020-07-10 15:10:21,424 WARN L170 areAnnotationChecker]: L1005-3 has no Hoare annotation [2020-07-10 15:10:21,424 WARN L170 areAnnotationChecker]: L1005-3 has no Hoare annotation [2020-07-10 15:10:21,424 WARN L170 areAnnotationChecker]: L1004-1 has no Hoare annotation [2020-07-10 15:10:21,424 WARN L170 areAnnotationChecker]: L1004-1 has no Hoare annotation [2020-07-10 15:10:21,424 WARN L170 areAnnotationChecker]: L1004-3 has no Hoare annotation [2020-07-10 15:10:21,424 WARN L170 areAnnotationChecker]: L1004-3 has no Hoare annotation [2020-07-10 15:10:21,424 WARN L170 areAnnotationChecker]: L1037-1 has no Hoare annotation [2020-07-10 15:10:21,424 WARN L170 areAnnotationChecker]: L1037-1 has no Hoare annotation [2020-07-10 15:10:21,424 WARN L170 areAnnotationChecker]: L1037-1 has no Hoare annotation [2020-07-10 15:10:21,425 WARN L170 areAnnotationChecker]: L1028-2 has no Hoare annotation [2020-07-10 15:10:21,425 WARN L170 areAnnotationChecker]: L1028-2 has no Hoare annotation [2020-07-10 15:10:21,425 WARN L170 areAnnotationChecker]: L1028-2 has no Hoare annotation [2020-07-10 15:10:21,425 WARN L170 areAnnotationChecker]: L1005-4 has no Hoare annotation [2020-07-10 15:10:21,425 WARN L170 areAnnotationChecker]: L1005 has no Hoare annotation [2020-07-10 15:10:21,425 WARN L170 areAnnotationChecker]: L1005 has no Hoare annotation [2020-07-10 15:10:21,425 WARN L170 areAnnotationChecker]: L1005-2 has no Hoare annotation [2020-07-10 15:10:21,425 WARN L170 areAnnotationChecker]: L1005-2 has no Hoare annotation [2020-07-10 15:10:21,425 WARN L170 areAnnotationChecker]: L1037-2 has no Hoare annotation [2020-07-10 15:10:21,425 WARN L170 areAnnotationChecker]: L1041 has no Hoare annotation [2020-07-10 15:10:21,426 WARN L170 areAnnotationChecker]: L1041 has no Hoare annotation [2020-07-10 15:10:21,426 WARN L170 areAnnotationChecker]: L1031-3 has no Hoare annotation [2020-07-10 15:10:21,426 WARN L170 areAnnotationChecker]: L1031-3 has no Hoare annotation [2020-07-10 15:10:21,426 WARN L170 areAnnotationChecker]: L1031-3 has no Hoare annotation [2020-07-10 15:10:21,426 WARN L170 areAnnotationChecker]: L1020 has no Hoare annotation [2020-07-10 15:10:21,426 WARN L170 areAnnotationChecker]: L1020 has no Hoare annotation [2020-07-10 15:10:21,426 WARN L170 areAnnotationChecker]: L1005-5 has no Hoare annotation [2020-07-10 15:10:21,426 WARN L170 areAnnotationChecker]: L1005-5 has no Hoare annotation [2020-07-10 15:10:21,426 WARN L170 areAnnotationChecker]: mainFINAL has no Hoare annotation [2020-07-10 15:10:21,426 WARN L170 areAnnotationChecker]: L1043-4 has no Hoare annotation [2020-07-10 15:10:21,426 WARN L170 areAnnotationChecker]: L1043-4 has no Hoare annotation [2020-07-10 15:10:21,427 WARN L170 areAnnotationChecker]: L1043-4 has no Hoare annotation [2020-07-10 15:10:21,427 WARN L170 areAnnotationChecker]: L1041-2 has no Hoare annotation [2020-07-10 15:10:21,427 WARN L170 areAnnotationChecker]: L1031-4 has no Hoare annotation [2020-07-10 15:10:21,427 WARN L170 areAnnotationChecker]: L1031 has no Hoare annotation [2020-07-10 15:10:21,427 WARN L170 areAnnotationChecker]: L1031 has no Hoare annotation [2020-07-10 15:10:21,427 WARN L170 areAnnotationChecker]: L1031-2 has no Hoare annotation [2020-07-10 15:10:21,427 WARN L170 areAnnotationChecker]: L1031-2 has no Hoare annotation [2020-07-10 15:10:21,427 WARN L170 areAnnotationChecker]: L1024-3 has no Hoare annotation [2020-07-10 15:10:21,427 WARN L170 areAnnotationChecker]: L1024-3 has no Hoare annotation [2020-07-10 15:10:21,427 WARN L170 areAnnotationChecker]: L1024-3 has no Hoare annotation [2020-07-10 15:10:21,427 WARN L170 areAnnotationChecker]: L1005-14 has no Hoare annotation [2020-07-10 15:10:21,428 WARN L170 areAnnotationChecker]: L1005-14 has no Hoare annotation [2020-07-10 15:10:21,428 WARN L170 areAnnotationChecker]: mainEXIT has no Hoare annotation [2020-07-10 15:10:21,428 WARN L170 areAnnotationChecker]: L1044-4 has no Hoare annotation [2020-07-10 15:10:21,428 WARN L170 areAnnotationChecker]: L1044-4 has no Hoare annotation [2020-07-10 15:10:21,428 WARN L170 areAnnotationChecker]: L1043-1 has no Hoare annotation [2020-07-10 15:10:21,428 WARN L170 areAnnotationChecker]: L1043-1 has no Hoare annotation [2020-07-10 15:10:21,428 WARN L170 areAnnotationChecker]: L1043-3 has no Hoare annotation [2020-07-10 15:10:21,428 WARN L170 areAnnotationChecker]: L1043-3 has no Hoare annotation [2020-07-10 15:10:21,428 WARN L170 areAnnotationChecker]: L1025-4 has no Hoare annotation [2020-07-10 15:10:21,428 WARN L170 areAnnotationChecker]: L1025-4 has no Hoare annotation [2020-07-10 15:10:21,429 WARN L170 areAnnotationChecker]: L1024 has no Hoare annotation [2020-07-10 15:10:21,429 WARN L170 areAnnotationChecker]: L1024 has no Hoare annotation [2020-07-10 15:10:21,429 WARN L170 areAnnotationChecker]: L1024-2 has no Hoare annotation [2020-07-10 15:10:21,429 WARN L170 areAnnotationChecker]: L1024-2 has no Hoare annotation [2020-07-10 15:10:21,429 WARN L170 areAnnotationChecker]: L1005-8 has no Hoare annotation [2020-07-10 15:10:21,429 WARN L170 areAnnotationChecker]: L1005-8 has no Hoare annotation [2020-07-10 15:10:21,429 WARN L170 areAnnotationChecker]: L1044 has no Hoare annotation [2020-07-10 15:10:21,429 WARN L170 areAnnotationChecker]: L1044 has no Hoare annotation [2020-07-10 15:10:21,429 WARN L170 areAnnotationChecker]: L1045-4 has no Hoare annotation [2020-07-10 15:10:21,429 WARN L170 areAnnotationChecker]: L1045-4 has no Hoare annotation [2020-07-10 15:10:21,429 WARN L170 areAnnotationChecker]: L1025 has no Hoare annotation [2020-07-10 15:10:21,430 WARN L170 areAnnotationChecker]: L1025 has no Hoare annotation [2020-07-10 15:10:21,430 WARN L170 areAnnotationChecker]: L1026-4 has no Hoare annotation [2020-07-10 15:10:21,430 WARN L170 areAnnotationChecker]: L1026-4 has no Hoare annotation [2020-07-10 15:10:21,430 WARN L170 areAnnotationChecker]: L1005-10 has no Hoare annotation [2020-07-10 15:10:21,430 WARN L170 areAnnotationChecker]: L1005-10 has no Hoare annotation [2020-07-10 15:10:21,430 WARN L170 areAnnotationChecker]: L1044-1 has no Hoare annotation [2020-07-10 15:10:21,430 WARN L170 areAnnotationChecker]: L1044-1 has no Hoare annotation [2020-07-10 15:10:21,430 WARN L170 areAnnotationChecker]: L1044-3 has no Hoare annotation [2020-07-10 15:10:21,430 WARN L170 areAnnotationChecker]: L1044-3 has no Hoare annotation [2020-07-10 15:10:21,430 WARN L170 areAnnotationChecker]: L1045 has no Hoare annotation [2020-07-10 15:10:21,431 WARN L170 areAnnotationChecker]: L1045 has no Hoare annotation [2020-07-10 15:10:21,431 WARN L170 areAnnotationChecker]: L1045-5 has no Hoare annotation [2020-07-10 15:10:21,431 WARN L170 areAnnotationChecker]: L1025-1 has no Hoare annotation [2020-07-10 15:10:21,431 WARN L170 areAnnotationChecker]: L1025-1 has no Hoare annotation [2020-07-10 15:10:21,431 WARN L170 areAnnotationChecker]: L1025-3 has no Hoare annotation [2020-07-10 15:10:21,431 WARN L170 areAnnotationChecker]: L1025-3 has no Hoare annotation [2020-07-10 15:10:21,431 WARN L170 areAnnotationChecker]: L1026 has no Hoare annotation [2020-07-10 15:10:21,431 WARN L170 areAnnotationChecker]: L1026 has no Hoare annotation [2020-07-10 15:10:21,431 WARN L170 areAnnotationChecker]: L1026-5 has no Hoare annotation [2020-07-10 15:10:21,432 WARN L170 areAnnotationChecker]: L1005-11 has no Hoare annotation [2020-07-10 15:10:21,432 WARN L170 areAnnotationChecker]: L1005-11 has no Hoare annotation [2020-07-10 15:10:21,432 WARN L170 areAnnotationChecker]: L1005-13 has no Hoare annotation [2020-07-10 15:10:21,432 WARN L170 areAnnotationChecker]: L1005-13 has no Hoare annotation [2020-07-10 15:10:21,432 WARN L170 areAnnotationChecker]: L1045-1 has no Hoare annotation [2020-07-10 15:10:21,432 WARN L170 areAnnotationChecker]: L1045-1 has no Hoare annotation [2020-07-10 15:10:21,432 WARN L170 areAnnotationChecker]: L1045-3 has no Hoare annotation [2020-07-10 15:10:21,432 WARN L170 areAnnotationChecker]: L1045-3 has no Hoare annotation [2020-07-10 15:10:21,432 WARN L170 areAnnotationChecker]: L1026-1 has no Hoare annotation [2020-07-10 15:10:21,433 WARN L170 areAnnotationChecker]: L1026-1 has no Hoare annotation [2020-07-10 15:10:21,433 WARN L170 areAnnotationChecker]: L1026-3 has no Hoare annotation [2020-07-10 15:10:21,433 WARN L170 areAnnotationChecker]: L1026-3 has no Hoare annotation [2020-07-10 15:10:21,433 WARN L170 areAnnotationChecker]: L1028 has no Hoare annotation [2020-07-10 15:10:21,433 WARN L170 areAnnotationChecker]: L1028 has no Hoare annotation [2020-07-10 15:10:21,433 INFO L163 areAnnotationChecker]: CFG has 0 edges. 0 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. 0 times interpolants missing. [2020-07-10 15:10:21,437 INFO L202 PluginConnector]: Adding new model de.uni_freiburg.informatik.ultimate.plugins.generator.traceabstraction CFG 10.07 03:10:21 BoogieIcfgContainer [2020-07-10 15:10:21,437 INFO L132 PluginConnector]: ------------------------ END TraceAbstraction---------------------------- [2020-07-10 15:10:21,440 INFO L168 Benchmark]: Toolchain (without parser) took 104993.00 ms. Allocated memory was 136.8 MB in the beginning and 519.0 MB in the end (delta: 382.2 MB). Free memory was 100.7 MB in the beginning and 438.5 MB in the end (delta: -337.9 MB). Peak memory consumption was 44.3 MB. Max. memory is 7.1 GB. [2020-07-10 15:10:21,441 INFO L168 Benchmark]: CDTParser took 0.48 ms. Allocated memory is still 136.8 MB. Free memory was 119.9 MB in the beginning and 119.7 MB in the end (delta: 209.7 kB). Peak memory consumption was 209.7 kB. Max. memory is 7.1 GB. [2020-07-10 15:10:21,441 INFO L168 Benchmark]: CACSL2BoogieTranslator took 678.15 ms. Allocated memory was 136.8 MB in the beginning and 201.3 MB in the end (delta: 64.5 MB). Free memory was 100.5 MB in the beginning and 167.6 MB in the end (delta: -67.1 MB). Peak memory consumption was 28.2 MB. Max. memory is 7.1 GB. [2020-07-10 15:10:21,441 INFO L168 Benchmark]: Boogie Preprocessor took 132.49 ms. Allocated memory is still 201.3 MB. Free memory was 167.6 MB in the beginning and 164.0 MB in the end (delta: 3.6 MB). Peak memory consumption was 3.6 MB. Max. memory is 7.1 GB. [2020-07-10 15:10:21,442 INFO L168 Benchmark]: RCFGBuilder took 898.98 ms. Allocated memory is still 201.3 MB. Free memory was 163.3 MB in the beginning and 86.5 MB in the end (delta: 76.7 MB). Peak memory consumption was 76.7 MB. Max. memory is 7.1 GB. [2020-07-10 15:10:21,442 INFO L168 Benchmark]: TraceAbstraction took 103271.21 ms. Allocated memory was 201.3 MB in the beginning and 519.0 MB in the end (delta: 317.7 MB). Free memory was 85.8 MB in the beginning and 446.6 MB in the end (delta: -360.8 MB). There was no memory consumed. Max. memory is 7.1 GB. [2020-07-10 15:10:21,450 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.48 ms. Allocated memory is still 136.8 MB. Free memory was 119.9 MB in the beginning and 119.7 MB in the end (delta: 209.7 kB). Peak memory consumption was 209.7 kB. Max. memory is 7.1 GB. * CACSL2BoogieTranslator took 678.15 ms. Allocated memory was 136.8 MB in the beginning and 201.3 MB in the end (delta: 64.5 MB). Free memory was 100.5 MB in the beginning and 167.6 MB in the end (delta: -67.1 MB). Peak memory consumption was 28.2 MB. Max. memory is 7.1 GB. * Boogie Preprocessor took 132.49 ms. Allocated memory is still 201.3 MB. Free memory was 167.6 MB in the beginning and 164.0 MB in the end (delta: 3.6 MB). Peak memory consumption was 3.6 MB. Max. memory is 7.1 GB. * RCFGBuilder took 898.98 ms. Allocated memory is still 201.3 MB. Free memory was 163.3 MB in the beginning and 86.5 MB in the end (delta: 76.7 MB). Peak memory consumption was 76.7 MB. Max. memory is 7.1 GB. * TraceAbstraction took 103271.21 ms. Allocated memory was 201.3 MB in the beginning and 519.0 MB in the end (delta: 317.7 MB). Free memory was 85.8 MB in the beginning and 446.6 MB in the end (delta: -360.8 MB). There was no memory consumed. Max. memory is 7.1 GB. * Results from de.uni_freiburg.informatik.ultimate.plugins.generator.traceabstraction: - CounterExampleResult [Line: 1025]: a call of __VERIFIER_error() is reachable a call of __VERIFIER_error() is reachable We found a FailurePath: [L991] SLL* list = malloc(sizeof(SLL)); [L992] list->next = ((void*)0) VAL [list={-1:0}, malloc(sizeof(SLL))={-1:0}] [L993] COND FALSE !(!(list != ((void*)0))) VAL [list={-1:0}, malloc(sizeof(SLL))={-1:0}] [L993] COND FALSE !(__VERIFIER_nondet_int()) [L993] list->inner = malloc(sizeof(SLL)) [L993] EXPR list->inner [L993] list->inner->next = ((void*)0) [L993] EXPR list->inner [L993] list->inner->inner = ((void*)0) [L993] EXPR list->inner [L993] EXPR list->inner != ((void*)0) || list->inner == ((void*)0) VAL [list={-1:0}, list->inner={-2:0}, list->inner != ((void*)0) || list->inner == ((void*)0)=1, malloc(sizeof(SLL))={-1:0}, malloc(sizeof(SLL))={-2:0}] [L993] COND FALSE !(!(list->inner != ((void*)0) || list->inner == ((void*)0))) [L995] SLL* end = list; VAL [end={-1:0}, list={-1:0}, malloc(sizeof(SLL))={-1:0}, malloc(sizeof(SLL))={-2:0}] [L998] COND FALSE !(__VERIFIER_nondet_int()) [L1008] end = ((void*)0) [L1009] end = list VAL [end={-1:0}, list={-1:0}, malloc(sizeof(SLL))={-1:0}, malloc(sizeof(SLL))={-2:0}] [L1012] COND FALSE !(!(((void*)0) != end)) VAL [end={-1:0}, list={-1:0}, malloc(sizeof(SLL))={-1:0}, malloc(sizeof(SLL))={-2:0}] [L1014] COND TRUE ((void*)0) != end [L1016] int len = 0; [L1017] EXPR end->inner [L1017] SLL* inner = end->inner; [L1018] COND TRUE ((void*)0) != inner VAL [end={-1:0}, inner={-2:0}, len=0, list={-1:0}, malloc(sizeof(SLL))={-1:0}, malloc(sizeof(SLL))={-2:0}] [L1020] COND TRUE len == 0 [L1021] len = 1 VAL [end={-1:0}, inner={-2:0}, len=1, list={-1:0}, malloc(sizeof(SLL))={-1:0}, malloc(sizeof(SLL))={-2:0}] [L1024] COND FALSE !(!(((void*)0) != inner)) VAL [end={-1:0}, inner={-2:0}, len=1, list={-1:0}, malloc(sizeof(SLL))={-1:0}, malloc(sizeof(SLL))={-2:0}] [L1025] EXPR inner->inner VAL [end={-1:0}, inner={-2:0}, inner->inner={0:0}, len=1, list={-1:0}, malloc(sizeof(SLL))={-1:0}, malloc(sizeof(SLL))={-2:0}] [L1025] COND FALSE !(!(((void*)0) == inner->inner)) [L1026] EXPR inner->next VAL [end={-1:0}, inner={-2:0}, inner->next={0:0}, len=1, list={-1:0}, malloc(sizeof(SLL))={-1:0}, malloc(sizeof(SLL))={-2:0}] [L1026] COND FALSE !(!(((void*)0) == inner->next)) [L1027] EXPR inner->inner [L1027] inner = inner->inner [L1028] COND TRUE len == 1 [L1029] EXPR inner->inner [L1029] inner = inner->inner [L1018] COND TRUE ((void*)0) != inner VAL [end={-1:0}, inner={12:3}, len=1, list={-1:0}, malloc(sizeof(SLL))={-1:0}, malloc(sizeof(SLL))={-2:0}] [L1020] COND FALSE !(len == 0) [L1023] len = 2 VAL [end={-1:0}, inner={12:3}, len=2, list={-1:0}, malloc(sizeof(SLL))={-1:0}, malloc(sizeof(SLL))={-2:0}] [L1024] COND FALSE !(!(((void*)0) != inner)) VAL [end={-1:0}, inner={12:3}, len=2, list={-1:0}, malloc(sizeof(SLL))={-1:0}, malloc(sizeof(SLL))={-2:0}] [L1025] EXPR inner->inner VAL [end={-1:0}, inner={12:3}, inner->inner={9:11}, len=2, list={-1:0}, malloc(sizeof(SLL))={-1:0}, malloc(sizeof(SLL))={-2:0}] [L1025] COND TRUE !(((void*)0) == inner->inner) [L1025] __VERIFIER_error() VAL [end={-1:0}, inner={12:3}, len=2, list={-1:0}, malloc(sizeof(SLL))={-1:0}, malloc(sizeof(SLL))={-2:0}] - StatisticsResult: Ultimate Automizer benchmark data CFG has 3 procedures, 89 locations, 13 error locations. Started 1 CEGAR loops. VerificationResult: UNSAFE, OverallTime: 103.1s, OverallIterations: 22, TraceHistogramMax: 2, AutomataDifference: 89.0s, DeadEndRemovalTime: 0.0s, HoareAnnotationTime: 0.0s, InitialAbstractionConstructionTime: 0.0s, HoareTripleCheckerStatistics: 1629 SDtfs, 2185 SDslu, 3176 SDs, 0 SdLazy, 3646 SolverSat, 233 SolverUnsat, 17 SolverUnknown, 0 SolverNotchecked, 36.4s Time, PredicateUnifierStatistics: 0 DeclaredPredicates, 294 GetRequests, 163 SyntacticMatches, 1 SemanticMatches, 130 ConstructedPredicates, 0 IntricatePredicates, 0 DeprecatedPredicates, 246 ImplicationChecksByTransitivity, 9.8s Time, 0.0s BasicInterpolantAutomatonTime, BiggestAbstraction: size=247occurred in iteration=21, traceCheckStatistics: No data available, InterpolantConsolidationStatistics: No data available, PathInvariantsStatistics: No data available, 0/0 InterpolantCoveringCapability, TotalInterpolationStatistics: No data available, 0.0s DumpTime, AutomataMinimizationStatistics: 1.9s AutomataMinimizationTime, 21 MinimizatonAttempts, 849 StatesRemovedByMinimization, 18 NontrivialMinimizations, HoareAnnotationStatistics: No data available, RefinementEngineStatistics: TRACE_CHECK: 0.0s SsaConstructionTime, 0.3s SatisfiabilityAnalysisTime, 9.5s InterpolantComputationTime, 699 NumberOfCodeBlocks, 699 NumberOfCodeBlocksAsserted, 25 NumberOfCheckSat, 635 ConstructedInterpolants, 16 QuantifiedInterpolants, 227743 SizeOfPredicates, 31 NumberOfNonLiveVariables, 383 ConjunctsInSsa, 63 ConjunctsInUnsatCore, 24 InterpolantComputations, 18 PerfectInterpolantSequences, 10/19 InterpolantCoveringCapability, INVARIANT_SYNTHESIS: No data available, INTERPOLANT_CONSOLIDATION: No data available, ABSTRACT_INTERPRETATION: No data available, PDR: No data available, ACCELERATED_INTERPOLATION: No data available, SIFA: No data available, ReuseStatistics: No data available RESULT: Ultimate proved your program to be incorrect! [MP z3 SMTLIB2_COMPLIANT=true -memory:2024 -smt2 -in -t:2000 (1)] Forcibly destroying the process Received shutdown request...