/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 --traceabstraction.compute.interpolants.along.a.counterexample Craig_NestedInterpolation --traceabstraction.use.separate.solver.for.trace.checks true -s ../../../trunk/examples/settings/automizer/acceleratedInterpolation/acceleratedInterpolationFastUPR_32.epf -i ../../../trunk/examples/svcomp/ldv-regression/rule60_list2.c_1.i -------------------------------------------------------------------------------- This is Ultimate 0.1.25-8fc6572 [2020-07-11 01:05:03,088 INFO L177 SettingsManager]: Resetting all preferences to default values... [2020-07-11 01:05:03,091 INFO L181 SettingsManager]: Resetting UltimateCore preferences to default values [2020-07-11 01:05:03,112 INFO L184 SettingsManager]: Ultimate Commandline Interface provides no preferences, ignoring... [2020-07-11 01:05:03,112 INFO L181 SettingsManager]: Resetting Boogie Preprocessor preferences to default values [2020-07-11 01:05:03,115 INFO L181 SettingsManager]: Resetting Boogie Procedure Inliner preferences to default values [2020-07-11 01:05:03,117 INFO L181 SettingsManager]: Resetting Abstract Interpretation preferences to default values [2020-07-11 01:05:03,131 INFO L181 SettingsManager]: Resetting LassoRanker preferences to default values [2020-07-11 01:05:03,133 INFO L181 SettingsManager]: Resetting Reaching Definitions preferences to default values [2020-07-11 01:05:03,135 INFO L181 SettingsManager]: Resetting SyntaxChecker preferences to default values [2020-07-11 01:05:03,137 INFO L181 SettingsManager]: Resetting Sifa preferences to default values [2020-07-11 01:05:03,139 INFO L184 SettingsManager]: Büchi Program Product provides no preferences, ignoring... [2020-07-11 01:05:03,139 INFO L181 SettingsManager]: Resetting LTL2Aut preferences to default values [2020-07-11 01:05:03,143 INFO L181 SettingsManager]: Resetting PEA to Boogie preferences to default values [2020-07-11 01:05:03,145 INFO L181 SettingsManager]: Resetting BlockEncodingV2 preferences to default values [2020-07-11 01:05:03,149 INFO L181 SettingsManager]: Resetting ChcToBoogie preferences to default values [2020-07-11 01:05:03,151 INFO L181 SettingsManager]: Resetting AutomataScriptInterpreter preferences to default values [2020-07-11 01:05:03,153 INFO L181 SettingsManager]: Resetting BuchiAutomizer preferences to default values [2020-07-11 01:05:03,155 INFO L181 SettingsManager]: Resetting CACSL2BoogieTranslator preferences to default values [2020-07-11 01:05:03,161 INFO L181 SettingsManager]: Resetting CodeCheck preferences to default values [2020-07-11 01:05:03,166 INFO L181 SettingsManager]: Resetting InvariantSynthesis preferences to default values [2020-07-11 01:05:03,167 INFO L181 SettingsManager]: Resetting RCFGBuilder preferences to default values [2020-07-11 01:05:03,169 INFO L181 SettingsManager]: Resetting Referee preferences to default values [2020-07-11 01:05:03,169 INFO L181 SettingsManager]: Resetting TraceAbstraction preferences to default values [2020-07-11 01:05:03,172 INFO L184 SettingsManager]: TraceAbstractionConcurrent provides no preferences, ignoring... [2020-07-11 01:05:03,173 INFO L184 SettingsManager]: TraceAbstractionWithAFAs provides no preferences, ignoring... [2020-07-11 01:05:03,173 INFO L181 SettingsManager]: Resetting TreeAutomizer preferences to default values [2020-07-11 01:05:03,176 INFO L181 SettingsManager]: Resetting IcfgToChc preferences to default values [2020-07-11 01:05:03,177 INFO L181 SettingsManager]: Resetting IcfgTransformer preferences to default values [2020-07-11 01:05:03,177 INFO L184 SettingsManager]: ReqToTest provides no preferences, ignoring... [2020-07-11 01:05:03,178 INFO L181 SettingsManager]: Resetting Boogie Printer preferences to default values [2020-07-11 01:05:03,179 INFO L181 SettingsManager]: Resetting ChcSmtPrinter preferences to default values [2020-07-11 01:05:03,180 INFO L181 SettingsManager]: Resetting ReqPrinter preferences to default values [2020-07-11 01:05:03,181 INFO L181 SettingsManager]: Resetting Witness Printer preferences to default values [2020-07-11 01:05:03,184 INFO L184 SettingsManager]: Boogie PL CUP Parser provides no preferences, ignoring... [2020-07-11 01:05:03,184 INFO L181 SettingsManager]: Resetting CDTParser preferences to default values [2020-07-11 01:05:03,187 INFO L184 SettingsManager]: AutomataScriptParser provides no preferences, ignoring... [2020-07-11 01:05:03,187 INFO L184 SettingsManager]: ReqParser provides no preferences, ignoring... [2020-07-11 01:05:03,188 INFO L181 SettingsManager]: Resetting SmtParser preferences to default values [2020-07-11 01:05:03,189 INFO L181 SettingsManager]: Resetting Witness Parser preferences to default values [2020-07-11 01:05:03,190 INFO L188 SettingsManager]: Finished resetting all preferences to default values... [2020-07-11 01:05:03,191 INFO L101 SettingsManager]: Beginning loading settings from /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/../../../trunk/examples/settings/automizer/acceleratedInterpolation/acceleratedInterpolationFastUPR_32.epf [2020-07-11 01:05:03,211 INFO L113 SettingsManager]: Loading preferences was successful [2020-07-11 01:05:03,211 INFO L115 SettingsManager]: Preferences different from defaults after loading the file: [2020-07-11 01:05:03,213 INFO L136 SettingsManager]: Preferences of CACSL2BoogieTranslator differ from their defaults: [2020-07-11 01:05:03,214 INFO L138 SettingsManager]: * sizeof long=4 [2020-07-11 01:05:03,214 INFO L138 SettingsManager]: * Overapproximate operations on floating types=true [2020-07-11 01:05:03,214 INFO L138 SettingsManager]: * sizeof POINTER=4 [2020-07-11 01:05:03,214 INFO L138 SettingsManager]: * Check division by zero=IGNORE [2020-07-11 01:05:03,215 INFO L138 SettingsManager]: * Pointer to allocated memory at dereference=IGNORE [2020-07-11 01:05:03,215 INFO L138 SettingsManager]: * If two pointers are subtracted or compared they have the same base address=IGNORE [2020-07-11 01:05:03,215 INFO L138 SettingsManager]: * Check array bounds for arrays that are off heap=IGNORE [2020-07-11 01:05:03,216 INFO L138 SettingsManager]: * sizeof long double=12 [2020-07-11 01:05:03,216 INFO L138 SettingsManager]: * Check if freed pointer was valid=false [2020-07-11 01:05:03,217 INFO L138 SettingsManager]: * Use constant arrays=true [2020-07-11 01:05:03,217 INFO L138 SettingsManager]: * Pointer base address is valid at dereference=IGNORE [2020-07-11 01:05:03,218 INFO L136 SettingsManager]: Preferences of RCFGBuilder differ from their defaults: [2020-07-11 01:05:03,218 INFO L138 SettingsManager]: * Size of a code block=SingleStatement [2020-07-11 01:05:03,218 INFO L138 SettingsManager]: * To the following directory=./dump/ [2020-07-11 01:05:03,218 INFO L138 SettingsManager]: * SMT solver=External_DefaultMode [2020-07-11 01:05:03,218 INFO L138 SettingsManager]: * Command for external solver=z3 SMTLIB2_COMPLIANT=true -memory:2024 -smt2 -in -t:2000 [2020-07-11 01:05:03,219 INFO L136 SettingsManager]: Preferences of TraceAbstraction differ from their defaults: [2020-07-11 01:05:03,219 INFO L138 SettingsManager]: * Compute Interpolants along a Counterexample=AcceleratedInterpolation [2020-07-11 01:05:03,219 INFO L138 SettingsManager]: * Compute Hoare Annotation of negated interpolant automaton, abstraction and CFG=true [2020-07-11 01:05:03,219 INFO L138 SettingsManager]: * Use separate solver for trace checks=false Applying setting for plugin de.uni_freiburg.informatik.ultimate.plugins.generator.traceabstraction: Compute Interpolants along a Counterexample -> Craig_NestedInterpolation Applying setting for plugin de.uni_freiburg.informatik.ultimate.plugins.generator.traceabstraction: Use separate solver for trace checks -> true [2020-07-11 01:05:03,506 INFO L81 nceAwareModelManager]: Repository-Root is: /tmp [2020-07-11 01:05:03,527 INFO L258 ainManager$Toolchain]: [Toolchain 1]: Applicable parser(s) successfully (re)initialized [2020-07-11 01:05:03,531 INFO L214 ainManager$Toolchain]: [Toolchain 1]: Toolchain selected. [2020-07-11 01:05:03,533 INFO L271 PluginConnector]: Initializing CDTParser... [2020-07-11 01:05:03,534 INFO L275 PluginConnector]: CDTParser initialized [2020-07-11 01:05:03,535 INFO L429 ainManager$Toolchain]: [Toolchain 1]: Parsing single file: /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/../../../trunk/examples/svcomp/ldv-regression/rule60_list2.c_1.i [2020-07-11 01:05:03,613 INFO L220 CDTParser]: Created temporary CDT project at /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/data/3d86f30ae/1990ee6acf984148a9a3b2f11632b7cb/FLAG7f80065cc [2020-07-11 01:05:04,168 INFO L306 CDTParser]: Found 1 translation units. [2020-07-11 01:05:04,169 INFO L160 CDTParser]: Scanning /storage/repos/ultimate/trunk/examples/svcomp/ldv-regression/rule60_list2.c_1.i [2020-07-11 01:05:04,183 INFO L349 CDTParser]: About to delete temporary CDT project at /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/data/3d86f30ae/1990ee6acf984148a9a3b2f11632b7cb/FLAG7f80065cc [2020-07-11 01:05:04,464 INFO L357 CDTParser]: Successfully deleted /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/data/3d86f30ae/1990ee6acf984148a9a3b2f11632b7cb [2020-07-11 01:05:04,477 INFO L296 ainManager$Toolchain]: ####################### [Toolchain 1] ####################### [2020-07-11 01:05:04,479 INFO L131 ToolchainWalker]: Walking toolchain with 4 elements. [2020-07-11 01:05:04,480 INFO L113 PluginConnector]: ------------------------CACSL2BoogieTranslator---------------------------- [2020-07-11 01:05:04,481 INFO L271 PluginConnector]: Initializing CACSL2BoogieTranslator... [2020-07-11 01:05:04,486 INFO L275 PluginConnector]: CACSL2BoogieTranslator initialized [2020-07-11 01:05:04,488 INFO L185 PluginConnector]: Executing the observer ACSLObjectContainerObserver from plugin CACSL2BoogieTranslator for "CDTParser AST 11.07 01:05:04" (1/1) ... [2020-07-11 01:05:04,491 INFO L205 PluginConnector]: Invalid model from CACSL2BoogieTranslator for observer de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator.ACSLObjectContainerObserver@53131d5b and model type de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 11.07 01:05:04, skipping insertion in model container [2020-07-11 01:05:04,491 INFO L185 PluginConnector]: Executing the observer CACSL2BoogieTranslatorObserver from plugin CACSL2BoogieTranslator for "CDTParser AST 11.07 01:05:04" (1/1) ... [2020-07-11 01:05:04,502 INFO L145 MainTranslator]: Starting translation in SV-COMP mode [2020-07-11 01:05:04,564 INFO L178 MainTranslator]: Built tables and reachable declarations [2020-07-11 01:05:05,081 INFO L206 PostProcessor]: Analyzing one entry point: main [2020-07-11 01:05:05,088 INFO L203 MainTranslator]: Completed pre-run [2020-07-11 01:05:05,139 INFO L206 PostProcessor]: Analyzing one entry point: main [2020-07-11 01:05:05,210 INFO L208 MainTranslator]: Completed translation [2020-07-11 01:05:05,211 INFO L202 PluginConnector]: Adding new model de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 11.07 01:05:05 WrapperNode [2020-07-11 01:05:05,211 INFO L132 PluginConnector]: ------------------------ END CACSL2BoogieTranslator---------------------------- [2020-07-11 01:05:05,212 INFO L113 PluginConnector]: ------------------------Boogie Preprocessor---------------------------- [2020-07-11 01:05:05,212 INFO L271 PluginConnector]: Initializing Boogie Preprocessor... [2020-07-11 01:05:05,212 INFO L275 PluginConnector]: Boogie Preprocessor initialized [2020-07-11 01:05:05,226 INFO L185 PluginConnector]: Executing the observer EnsureBoogieModelObserver from plugin Boogie Preprocessor for "de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 11.07 01:05:05" (1/1) ... [2020-07-11 01:05:05,227 INFO L185 PluginConnector]: Executing the observer TypeChecker from plugin Boogie Preprocessor for "de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 11.07 01:05:05" (1/1) ... [2020-07-11 01:05:05,243 INFO L185 PluginConnector]: Executing the observer ConstExpander from plugin Boogie Preprocessor for "de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 11.07 01:05:05" (1/1) ... [2020-07-11 01:05:05,243 INFO L185 PluginConnector]: Executing the observer StructExpander from plugin Boogie Preprocessor for "de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 11.07 01:05:05" (1/1) ... [2020-07-11 01:05:05,274 INFO L185 PluginConnector]: Executing the observer UnstructureCode from plugin Boogie Preprocessor for "de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 11.07 01:05:05" (1/1) ... [2020-07-11 01:05:05,279 INFO L185 PluginConnector]: Executing the observer FunctionInliner from plugin Boogie Preprocessor for "de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 11.07 01:05:05" (1/1) ... [2020-07-11 01:05:05,284 INFO L185 PluginConnector]: Executing the observer BoogieSymbolTableConstructor from plugin Boogie Preprocessor for "de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 11.07 01:05:05" (1/1) ... [2020-07-11 01:05:05,302 INFO L132 PluginConnector]: ------------------------ END Boogie Preprocessor---------------------------- [2020-07-11 01:05:05,302 INFO L113 PluginConnector]: ------------------------RCFGBuilder---------------------------- [2020-07-11 01:05:05,302 INFO L271 PluginConnector]: Initializing RCFGBuilder... [2020-07-11 01:05:05,303 INFO L275 PluginConnector]: RCFGBuilder initialized [2020-07-11 01:05:05,304 INFO L185 PluginConnector]: Executing the observer RCFGBuilderObserver from plugin RCFGBuilder for "de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 11.07 01:05:05" (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-11 01:05:05,367 INFO L138 BoogieDeclarations]: Found implementation of procedure ULTIMATE.init [2020-07-11 01:05:05,367 INFO L138 BoogieDeclarations]: Found implementation of procedure ULTIMATE.start [2020-07-11 01:05:05,368 INFO L138 BoogieDeclarations]: Found implementation of procedure __blast_assert [2020-07-11 01:05:05,368 INFO L138 BoogieDeclarations]: Found implementation of procedure __getMemory [2020-07-11 01:05:05,368 INFO L138 BoogieDeclarations]: Found implementation of procedure my_malloc [2020-07-11 01:05:05,368 INFO L138 BoogieDeclarations]: Found implementation of procedure list_add [2020-07-11 01:05:05,368 INFO L138 BoogieDeclarations]: Found implementation of procedure list_del [2020-07-11 01:05:05,368 INFO L138 BoogieDeclarations]: Found implementation of procedure main [2020-07-11 01:05:05,369 INFO L130 BoogieDeclarations]: Found specification of procedure __VERIFIER_error [2020-07-11 01:05:05,369 INFO L130 BoogieDeclarations]: Found specification of procedure __blast_assert [2020-07-11 01:05:05,369 INFO L130 BoogieDeclarations]: Found specification of procedure __underflow [2020-07-11 01:05:05,369 INFO L130 BoogieDeclarations]: Found specification of procedure __uflow [2020-07-11 01:05:05,369 INFO L130 BoogieDeclarations]: Found specification of procedure __overflow [2020-07-11 01:05:05,369 INFO L130 BoogieDeclarations]: Found specification of procedure _IO_getc [2020-07-11 01:05:05,370 INFO L130 BoogieDeclarations]: Found specification of procedure _IO_putc [2020-07-11 01:05:05,370 INFO L130 BoogieDeclarations]: Found specification of procedure _IO_feof [2020-07-11 01:05:05,370 INFO L130 BoogieDeclarations]: Found specification of procedure _IO_ferror [2020-07-11 01:05:05,370 INFO L130 BoogieDeclarations]: Found specification of procedure _IO_peekc_locked [2020-07-11 01:05:05,370 INFO L130 BoogieDeclarations]: Found specification of procedure _IO_flockfile [2020-07-11 01:05:05,370 INFO L130 BoogieDeclarations]: Found specification of procedure _IO_funlockfile [2020-07-11 01:05:05,371 INFO L130 BoogieDeclarations]: Found specification of procedure _IO_ftrylockfile [2020-07-11 01:05:05,371 INFO L130 BoogieDeclarations]: Found specification of procedure _IO_vfscanf [2020-07-11 01:05:05,371 INFO L130 BoogieDeclarations]: Found specification of procedure _IO_vfprintf [2020-07-11 01:05:05,371 INFO L130 BoogieDeclarations]: Found specification of procedure _IO_padn [2020-07-11 01:05:05,371 INFO L130 BoogieDeclarations]: Found specification of procedure _IO_sgetn [2020-07-11 01:05:05,372 INFO L130 BoogieDeclarations]: Found specification of procedure _IO_seekoff [2020-07-11 01:05:05,372 INFO L130 BoogieDeclarations]: Found specification of procedure _IO_seekpos [2020-07-11 01:05:05,372 INFO L130 BoogieDeclarations]: Found specification of procedure _IO_free_backup_area [2020-07-11 01:05:05,372 INFO L130 BoogieDeclarations]: Found specification of procedure remove [2020-07-11 01:05:05,372 INFO L130 BoogieDeclarations]: Found specification of procedure rename [2020-07-11 01:05:05,372 INFO L130 BoogieDeclarations]: Found specification of procedure renameat [2020-07-11 01:05:05,372 INFO L130 BoogieDeclarations]: Found specification of procedure tmpfile [2020-07-11 01:05:05,373 INFO L130 BoogieDeclarations]: Found specification of procedure tmpnam [2020-07-11 01:05:05,373 INFO L130 BoogieDeclarations]: Found specification of procedure tmpnam_r [2020-07-11 01:05:05,373 INFO L130 BoogieDeclarations]: Found specification of procedure tempnam [2020-07-11 01:05:05,373 INFO L130 BoogieDeclarations]: Found specification of procedure fclose [2020-07-11 01:05:05,373 INFO L130 BoogieDeclarations]: Found specification of procedure fflush [2020-07-11 01:05:05,373 INFO L130 BoogieDeclarations]: Found specification of procedure fflush_unlocked [2020-07-11 01:05:05,374 INFO L130 BoogieDeclarations]: Found specification of procedure fopen [2020-07-11 01:05:05,374 INFO L130 BoogieDeclarations]: Found specification of procedure freopen [2020-07-11 01:05:05,374 INFO L130 BoogieDeclarations]: Found specification of procedure fdopen [2020-07-11 01:05:05,374 INFO L130 BoogieDeclarations]: Found specification of procedure fmemopen [2020-07-11 01:05:05,374 INFO L130 BoogieDeclarations]: Found specification of procedure open_memstream [2020-07-11 01:05:05,374 INFO L130 BoogieDeclarations]: Found specification of procedure setbuf [2020-07-11 01:05:05,375 INFO L130 BoogieDeclarations]: Found specification of procedure setvbuf [2020-07-11 01:05:05,375 INFO L130 BoogieDeclarations]: Found specification of procedure setbuffer [2020-07-11 01:05:05,375 INFO L130 BoogieDeclarations]: Found specification of procedure setlinebuf [2020-07-11 01:05:05,375 INFO L130 BoogieDeclarations]: Found specification of procedure fprintf [2020-07-11 01:05:05,375 INFO L130 BoogieDeclarations]: Found specification of procedure printf [2020-07-11 01:05:05,375 INFO L130 BoogieDeclarations]: Found specification of procedure sprintf [2020-07-11 01:05:05,376 INFO L130 BoogieDeclarations]: Found specification of procedure vfprintf [2020-07-11 01:05:05,376 INFO L130 BoogieDeclarations]: Found specification of procedure vprintf [2020-07-11 01:05:05,376 INFO L130 BoogieDeclarations]: Found specification of procedure vsprintf [2020-07-11 01:05:05,376 INFO L130 BoogieDeclarations]: Found specification of procedure snprintf [2020-07-11 01:05:05,376 INFO L130 BoogieDeclarations]: Found specification of procedure vsnprintf [2020-07-11 01:05:05,376 INFO L130 BoogieDeclarations]: Found specification of procedure vdprintf [2020-07-11 01:05:05,376 INFO L130 BoogieDeclarations]: Found specification of procedure dprintf [2020-07-11 01:05:05,377 INFO L130 BoogieDeclarations]: Found specification of procedure fscanf [2020-07-11 01:05:05,377 INFO L130 BoogieDeclarations]: Found specification of procedure scanf [2020-07-11 01:05:05,377 INFO L130 BoogieDeclarations]: Found specification of procedure sscanf [2020-07-11 01:05:05,377 INFO L130 BoogieDeclarations]: Found specification of procedure vfscanf [2020-07-11 01:05:05,377 INFO L130 BoogieDeclarations]: Found specification of procedure vscanf [2020-07-11 01:05:05,377 INFO L130 BoogieDeclarations]: Found specification of procedure vsscanf [2020-07-11 01:05:05,378 INFO L130 BoogieDeclarations]: Found specification of procedure fgetc [2020-07-11 01:05:05,378 INFO L130 BoogieDeclarations]: Found specification of procedure getc [2020-07-11 01:05:05,378 INFO L130 BoogieDeclarations]: Found specification of procedure getchar [2020-07-11 01:05:05,378 INFO L130 BoogieDeclarations]: Found specification of procedure getc_unlocked [2020-07-11 01:05:05,378 INFO L130 BoogieDeclarations]: Found specification of procedure getchar_unlocked [2020-07-11 01:05:05,378 INFO L130 BoogieDeclarations]: Found specification of procedure fgetc_unlocked [2020-07-11 01:05:05,379 INFO L130 BoogieDeclarations]: Found specification of procedure fputc [2020-07-11 01:05:05,379 INFO L130 BoogieDeclarations]: Found specification of procedure putc [2020-07-11 01:05:05,379 INFO L130 BoogieDeclarations]: Found specification of procedure putchar [2020-07-11 01:05:05,379 INFO L130 BoogieDeclarations]: Found specification of procedure fputc_unlocked [2020-07-11 01:05:05,379 INFO L130 BoogieDeclarations]: Found specification of procedure putc_unlocked [2020-07-11 01:05:05,380 INFO L130 BoogieDeclarations]: Found specification of procedure putchar_unlocked [2020-07-11 01:05:05,380 INFO L130 BoogieDeclarations]: Found specification of procedure getw [2020-07-11 01:05:05,380 INFO L130 BoogieDeclarations]: Found specification of procedure putw [2020-07-11 01:05:05,380 INFO L130 BoogieDeclarations]: Found specification of procedure fgets [2020-07-11 01:05:05,380 INFO L130 BoogieDeclarations]: Found specification of procedure gets [2020-07-11 01:05:05,380 INFO L130 BoogieDeclarations]: Found specification of procedure __getdelim [2020-07-11 01:05:05,381 INFO L130 BoogieDeclarations]: Found specification of procedure getdelim [2020-07-11 01:05:05,381 INFO L130 BoogieDeclarations]: Found specification of procedure getline [2020-07-11 01:05:05,381 INFO L130 BoogieDeclarations]: Found specification of procedure fputs [2020-07-11 01:05:05,381 INFO L130 BoogieDeclarations]: Found specification of procedure puts [2020-07-11 01:05:05,381 INFO L130 BoogieDeclarations]: Found specification of procedure ungetc [2020-07-11 01:05:05,381 INFO L130 BoogieDeclarations]: Found specification of procedure fread [2020-07-11 01:05:05,382 INFO L130 BoogieDeclarations]: Found specification of procedure fwrite [2020-07-11 01:05:05,382 INFO L130 BoogieDeclarations]: Found specification of procedure fread_unlocked [2020-07-11 01:05:05,382 INFO L130 BoogieDeclarations]: Found specification of procedure fwrite_unlocked [2020-07-11 01:05:05,382 INFO L130 BoogieDeclarations]: Found specification of procedure fseek [2020-07-11 01:05:05,382 INFO L130 BoogieDeclarations]: Found specification of procedure ftell [2020-07-11 01:05:05,382 INFO L130 BoogieDeclarations]: Found specification of procedure rewind [2020-07-11 01:05:05,383 INFO L130 BoogieDeclarations]: Found specification of procedure fseeko [2020-07-11 01:05:05,383 INFO L130 BoogieDeclarations]: Found specification of procedure ftello [2020-07-11 01:05:05,383 INFO L130 BoogieDeclarations]: Found specification of procedure fgetpos [2020-07-11 01:05:05,383 INFO L130 BoogieDeclarations]: Found specification of procedure fsetpos [2020-07-11 01:05:05,383 INFO L130 BoogieDeclarations]: Found specification of procedure clearerr [2020-07-11 01:05:05,383 INFO L130 BoogieDeclarations]: Found specification of procedure feof [2020-07-11 01:05:05,384 INFO L130 BoogieDeclarations]: Found specification of procedure ferror [2020-07-11 01:05:05,384 INFO L130 BoogieDeclarations]: Found specification of procedure clearerr_unlocked [2020-07-11 01:05:05,384 INFO L130 BoogieDeclarations]: Found specification of procedure feof_unlocked [2020-07-11 01:05:05,384 INFO L130 BoogieDeclarations]: Found specification of procedure ferror_unlocked [2020-07-11 01:05:05,387 INFO L130 BoogieDeclarations]: Found specification of procedure perror [2020-07-11 01:05:05,387 INFO L130 BoogieDeclarations]: Found specification of procedure fileno [2020-07-11 01:05:05,387 INFO L130 BoogieDeclarations]: Found specification of procedure fileno_unlocked [2020-07-11 01:05:05,388 INFO L130 BoogieDeclarations]: Found specification of procedure popen [2020-07-11 01:05:05,388 INFO L130 BoogieDeclarations]: Found specification of procedure pclose [2020-07-11 01:05:05,388 INFO L130 BoogieDeclarations]: Found specification of procedure ctermid [2020-07-11 01:05:05,388 INFO L130 BoogieDeclarations]: Found specification of procedure flockfile [2020-07-11 01:05:05,388 INFO L130 BoogieDeclarations]: Found specification of procedure ftrylockfile [2020-07-11 01:05:05,388 INFO L130 BoogieDeclarations]: Found specification of procedure funlockfile [2020-07-11 01:05:05,389 INFO L130 BoogieDeclarations]: Found specification of procedure malloc [2020-07-11 01:05:05,389 INFO L130 BoogieDeclarations]: Found specification of procedure calloc [2020-07-11 01:05:05,389 INFO L130 BoogieDeclarations]: Found specification of procedure realloc [2020-07-11 01:05:05,389 INFO L130 BoogieDeclarations]: Found specification of procedure free [2020-07-11 01:05:05,389 INFO L130 BoogieDeclarations]: Found specification of procedure cfree [2020-07-11 01:05:05,389 INFO L130 BoogieDeclarations]: Found specification of procedure memalign [2020-07-11 01:05:05,390 INFO L130 BoogieDeclarations]: Found specification of procedure valloc [2020-07-11 01:05:05,390 INFO L130 BoogieDeclarations]: Found specification of procedure pvalloc [2020-07-11 01:05:05,390 INFO L130 BoogieDeclarations]: Found specification of procedure __default_morecore [2020-07-11 01:05:05,390 INFO L130 BoogieDeclarations]: Found specification of procedure mallinfo [2020-07-11 01:05:05,390 INFO L130 BoogieDeclarations]: Found specification of procedure mallopt [2020-07-11 01:05:05,391 INFO L130 BoogieDeclarations]: Found specification of procedure malloc_trim [2020-07-11 01:05:05,391 INFO L130 BoogieDeclarations]: Found specification of procedure malloc_usable_size [2020-07-11 01:05:05,391 INFO L130 BoogieDeclarations]: Found specification of procedure malloc_stats [2020-07-11 01:05:05,391 INFO L130 BoogieDeclarations]: Found specification of procedure malloc_info [2020-07-11 01:05:05,391 INFO L130 BoogieDeclarations]: Found specification of procedure malloc_get_state [2020-07-11 01:05:05,391 INFO L130 BoogieDeclarations]: Found specification of procedure malloc_set_state [2020-07-11 01:05:05,392 INFO L130 BoogieDeclarations]: Found specification of procedure __malloc_check_init [2020-07-11 01:05:05,392 INFO L130 BoogieDeclarations]: Found specification of procedure __VERIFIER_nondet_int [2020-07-11 01:05:05,392 INFO L130 BoogieDeclarations]: Found specification of procedure __getMemory [2020-07-11 01:05:05,392 INFO L130 BoogieDeclarations]: Found specification of procedure my_malloc [2020-07-11 01:05:05,392 INFO L130 BoogieDeclarations]: Found specification of procedure list_add [2020-07-11 01:05:05,393 INFO L130 BoogieDeclarations]: Found specification of procedure list_del [2020-07-11 01:05:05,393 INFO L130 BoogieDeclarations]: Found specification of procedure main [2020-07-11 01:05:05,393 INFO L130 BoogieDeclarations]: Found specification of procedure ULTIMATE.init [2020-07-11 01:05:05,393 INFO L130 BoogieDeclarations]: Found specification of procedure #Ultimate.allocOnStack [2020-07-11 01:05:05,394 INFO L130 BoogieDeclarations]: Found specification of procedure write~init~$Pointer$ [2020-07-11 01:05:05,394 INFO L130 BoogieDeclarations]: Found specification of procedure ULTIMATE.start [2020-07-11 01:05:05,394 INFO L130 BoogieDeclarations]: Found specification of procedure write~$Pointer$ [2020-07-11 01:05:05,394 INFO L130 BoogieDeclarations]: Found specification of procedure read~$Pointer$ [2020-07-11 01:05:05,394 INFO L130 BoogieDeclarations]: Found specification of procedure ULTIMATE.dealloc [2020-07-11 01:05:06,082 INFO L290 CfgBuilder]: Using the 1 location(s) as analysis (start of procedure ULTIMATE.start) [2020-07-11 01:05:06,083 INFO L295 CfgBuilder]: Removed 0 assume(true) statements. [2020-07-11 01:05:06,094 INFO L202 PluginConnector]: Adding new model de.uni_freiburg.informatik.ultimate.plugins.generator.rcfgbuilder CFG 11.07 01:05:06 BoogieIcfgContainer [2020-07-11 01:05:06,094 INFO L132 PluginConnector]: ------------------------ END RCFGBuilder---------------------------- [2020-07-11 01:05:06,097 INFO L113 PluginConnector]: ------------------------TraceAbstraction---------------------------- [2020-07-11 01:05:06,098 INFO L271 PluginConnector]: Initializing TraceAbstraction... [2020-07-11 01:05:06,101 INFO L275 PluginConnector]: TraceAbstraction initialized [2020-07-11 01:05:06,102 INFO L185 PluginConnector]: Executing the observer TraceAbstractionObserver from plugin TraceAbstraction for "CDTParser AST 11.07 01:05:04" (1/3) ... [2020-07-11 01:05:06,103 INFO L205 PluginConnector]: Invalid model from TraceAbstraction for observer de.uni_freiburg.informatik.ultimate.plugins.generator.traceabstraction.TraceAbstractionObserver@5755f11b and model type de.uni_freiburg.informatik.ultimate.plugins.generator.traceabstraction AST 11.07 01:05:06, skipping insertion in model container [2020-07-11 01:05:06,103 INFO L185 PluginConnector]: Executing the observer TraceAbstractionObserver from plugin TraceAbstraction for "de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 11.07 01:05:05" (2/3) ... [2020-07-11 01:05:06,103 INFO L205 PluginConnector]: Invalid model from TraceAbstraction for observer de.uni_freiburg.informatik.ultimate.plugins.generator.traceabstraction.TraceAbstractionObserver@5755f11b and model type de.uni_freiburg.informatik.ultimate.plugins.generator.traceabstraction AST 11.07 01:05:06, skipping insertion in model container [2020-07-11 01:05:06,104 INFO L185 PluginConnector]: Executing the observer TraceAbstractionObserver from plugin TraceAbstraction for "de.uni_freiburg.informatik.ultimate.plugins.generator.rcfgbuilder CFG 11.07 01:05:06" (3/3) ... [2020-07-11 01:05:06,105 INFO L109 eAbstractionObserver]: Analyzing ICFG rule60_list2.c_1.i [2020-07-11 01:05:06,114 INFO L157 ceAbstractionStarter]: Automizer settings: Hoare:true NWA Interpolation:Craig_NestedInterpolation Determinization: PREDICATE_ABSTRACTION [2020-07-11 01:05:06,122 INFO L169 ceAbstractionStarter]: Appying trace abstraction to program that has 1 error locations. [2020-07-11 01:05:06,135 INFO L251 AbstractCegarLoop]: Starting to check reachability of 1 error locations. [2020-07-11 01:05:06,156 INFO L375 AbstractCegarLoop]: Interprodecural is true [2020-07-11 01:05:06,156 INFO L376 AbstractCegarLoop]: Hoare is true [2020-07-11 01:05:06,156 INFO L377 AbstractCegarLoop]: Compute interpolants for Craig_NestedInterpolation [2020-07-11 01:05:06,156 INFO L378 AbstractCegarLoop]: Backedges is STRAIGHT_LINE [2020-07-11 01:05:06,157 INFO L379 AbstractCegarLoop]: Determinization is PREDICATE_ABSTRACTION [2020-07-11 01:05:06,157 INFO L380 AbstractCegarLoop]: Difference is false [2020-07-11 01:05:06,157 INFO L381 AbstractCegarLoop]: Minimize is MINIMIZE_SEVPA [2020-07-11 01:05:06,158 INFO L385 AbstractCegarLoop]: ======== Iteration 0==of CEGAR loop == AllErrorsAtOnce======== [2020-07-11 01:05:06,175 INFO L276 IsEmpty]: Start isEmpty. Operand 71 states. [2020-07-11 01:05:06,185 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 22 [2020-07-11 01:05:06,186 INFO L414 BasicCegarLoop]: Found error trace [2020-07-11 01:05:06,187 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] [2020-07-11 01:05:06,187 INFO L427 AbstractCegarLoop]: === Iteration 1 === [__blast_assertErr0ASSERT_VIOLATIONERROR_FUNCTION]=== [2020-07-11 01:05:06,192 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2020-07-11 01:05:06,193 INFO L82 PathProgramCache]: Analyzing trace with hash 1490968618, now seen corresponding path program 1 times [2020-07-11 01:05:06,201 INFO L163 FreeRefinementEngine]: Executing refinement strategy FIXED_PREFERENCES [2020-07-11 01:05:06,202 INFO L354 FreeRefinementEngine]: Using trace check IpTcStrategyModulePreferences [518000932] [2020-07-11 01:05:06,202 INFO L94 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2020-07-11 01:05:06,348 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2020-07-11 01:05:06,624 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2020-07-11 01:05:06,648 INFO L280 TraceCheckUtils]: 0: Hoare triple {90#(and (= |#valid| |old(#valid)|) (= ~elem~0.base |old(~elem~0.base)|) (= |#NULL.base| |old(#NULL.base)|) (= |~#head~0.base| |old(~#head~0.base)|) (= ~guard_malloc_counter~0.offset |old(~guard_malloc_counter~0.offset)|) (= |#NULL.offset| |old(#NULL.offset)|) (= ~elem~0.offset |old(~elem~0.offset)|) (= |old(#length)| |#length|) (= |~#head~0.offset| |old(~#head~0.offset)|) (= ~guard_malloc_counter~0.base |old(~guard_malloc_counter~0.base)|))} #NULL.base, #NULL.offset := 0, 0; {74#true} is VALID [2020-07-11 01:05:06,648 INFO L280 TraceCheckUtils]: 1: Hoare triple {74#true} #valid := #valid[0 := 0]; {74#true} is VALID [2020-07-11 01:05:06,649 INFO L280 TraceCheckUtils]: 2: Hoare triple {74#true} assume 0 < #StackHeapBarrier; {74#true} is VALID [2020-07-11 01:05:06,649 INFO L280 TraceCheckUtils]: 3: Hoare triple {74#true} ~guard_malloc_counter~0.base, ~guard_malloc_counter~0.offset := 0, 0; {74#true} is VALID [2020-07-11 01:05:06,650 INFO L280 TraceCheckUtils]: 4: Hoare triple {74#true} ~elem~0.base, ~elem~0.offset := 0, 0; {74#true} is VALID [2020-07-11 01:05:06,650 INFO L280 TraceCheckUtils]: 5: Hoare triple {74#true} SUMMARY for call ~#head~0.base, ~#head~0.offset := #Ultimate.allocOnStack(8); srcloc: L900 {74#true} is VALID [2020-07-11 01:05:06,650 INFO L280 TraceCheckUtils]: 6: Hoare triple {74#true} SUMMARY for call write~init~$Pointer$(0, 0, ~#head~0.base, ~#head~0.offset, 4); srcloc: L900-1 {74#true} is VALID [2020-07-11 01:05:06,651 INFO L280 TraceCheckUtils]: 7: Hoare triple {74#true} SUMMARY for call write~init~$Pointer$(0, 0, ~#head~0.base, 4 + ~#head~0.offset, 4); srcloc: L900-2 {74#true} is VALID [2020-07-11 01:05:06,651 INFO L280 TraceCheckUtils]: 8: Hoare triple {74#true} assume true; {74#true} is VALID [2020-07-11 01:05:06,651 INFO L275 TraceCheckUtils]: 9: Hoare quadruple {74#true} {74#true} #112#return; {74#true} is VALID [2020-07-11 01:05:06,657 INFO L263 TraceCheckUtils]: 0: Hoare triple {74#true} call ULTIMATE.init(); {90#(and (= |#valid| |old(#valid)|) (= ~elem~0.base |old(~elem~0.base)|) (= |#NULL.base| |old(#NULL.base)|) (= |~#head~0.base| |old(~#head~0.base)|) (= ~guard_malloc_counter~0.offset |old(~guard_malloc_counter~0.offset)|) (= |#NULL.offset| |old(#NULL.offset)|) (= ~elem~0.offset |old(~elem~0.offset)|) (= |old(#length)| |#length|) (= |~#head~0.offset| |old(~#head~0.offset)|) (= ~guard_malloc_counter~0.base |old(~guard_malloc_counter~0.base)|))} is VALID [2020-07-11 01:05:06,657 INFO L280 TraceCheckUtils]: 1: Hoare triple {90#(and (= |#valid| |old(#valid)|) (= ~elem~0.base |old(~elem~0.base)|) (= |#NULL.base| |old(#NULL.base)|) (= |~#head~0.base| |old(~#head~0.base)|) (= ~guard_malloc_counter~0.offset |old(~guard_malloc_counter~0.offset)|) (= |#NULL.offset| |old(#NULL.offset)|) (= ~elem~0.offset |old(~elem~0.offset)|) (= |old(#length)| |#length|) (= |~#head~0.offset| |old(~#head~0.offset)|) (= ~guard_malloc_counter~0.base |old(~guard_malloc_counter~0.base)|))} #NULL.base, #NULL.offset := 0, 0; {74#true} is VALID [2020-07-11 01:05:06,657 INFO L280 TraceCheckUtils]: 2: Hoare triple {74#true} #valid := #valid[0 := 0]; {74#true} is VALID [2020-07-11 01:05:06,658 INFO L280 TraceCheckUtils]: 3: Hoare triple {74#true} assume 0 < #StackHeapBarrier; {74#true} is VALID [2020-07-11 01:05:06,658 INFO L280 TraceCheckUtils]: 4: Hoare triple {74#true} ~guard_malloc_counter~0.base, ~guard_malloc_counter~0.offset := 0, 0; {74#true} is VALID [2020-07-11 01:05:06,658 INFO L280 TraceCheckUtils]: 5: Hoare triple {74#true} ~elem~0.base, ~elem~0.offset := 0, 0; {74#true} is VALID [2020-07-11 01:05:06,659 INFO L280 TraceCheckUtils]: 6: Hoare triple {74#true} SUMMARY for call ~#head~0.base, ~#head~0.offset := #Ultimate.allocOnStack(8); srcloc: L900 {74#true} is VALID [2020-07-11 01:05:06,659 INFO L280 TraceCheckUtils]: 7: Hoare triple {74#true} SUMMARY for call write~init~$Pointer$(0, 0, ~#head~0.base, ~#head~0.offset, 4); srcloc: L900-1 {74#true} is VALID [2020-07-11 01:05:06,659 INFO L280 TraceCheckUtils]: 8: Hoare triple {74#true} SUMMARY for call write~init~$Pointer$(0, 0, ~#head~0.base, 4 + ~#head~0.offset, 4); srcloc: L900-2 {74#true} is VALID [2020-07-11 01:05:06,659 INFO L280 TraceCheckUtils]: 9: Hoare triple {74#true} assume true; {74#true} is VALID [2020-07-11 01:05:06,660 INFO L275 TraceCheckUtils]: 10: Hoare quadruple {74#true} {74#true} #112#return; {74#true} is VALID [2020-07-11 01:05:06,660 INFO L263 TraceCheckUtils]: 11: Hoare triple {74#true} call #t~ret34 := main(); {74#true} is VALID [2020-07-11 01:05:06,661 INFO L280 TraceCheckUtils]: 12: Hoare triple {74#true} havoc ~dev1~0.base, ~dev1~0.offset; {74#true} is VALID [2020-07-11 01:05:06,661 INFO L280 TraceCheckUtils]: 13: Hoare triple {74#true} havoc ~dev2~0.base, ~dev2~0.offset; {74#true} is VALID [2020-07-11 01:05:06,663 INFO L263 TraceCheckUtils]: 14: Hoare triple {74#true} call #t~ret32.base, #t~ret32.offset := my_malloc(8); {86#(= 8 |my_malloc_#in~size|)} is VALID [2020-07-11 01:05:06,664 INFO L280 TraceCheckUtils]: 15: Hoare triple {86#(= 8 |my_malloc_#in~size|)} ~size := #in~size; {87#(= 8 my_malloc_~size)} is VALID [2020-07-11 01:05:06,666 INFO L263 TraceCheckUtils]: 16: Hoare triple {87#(= 8 my_malloc_~size)} call #t~ret30.base, #t~ret30.offset := __getMemory(~size); {88#(= 8 |__getMemory_#in~size|)} is VALID [2020-07-11 01:05:06,670 INFO L280 TraceCheckUtils]: 17: Hoare triple {88#(= 8 |__getMemory_#in~size|)} ~size := #in~size; {89#(= 8 __getMemory_~size)} is VALID [2020-07-11 01:05:06,671 INFO L280 TraceCheckUtils]: 18: Hoare triple {89#(= 8 __getMemory_~size)} assume !(~size > 0); {75#false} is VALID [2020-07-11 01:05:06,671 INFO L263 TraceCheckUtils]: 19: Hoare triple {75#false} call __blast_assert(); {75#false} is VALID [2020-07-11 01:05:06,672 INFO L280 TraceCheckUtils]: 20: Hoare triple {75#false} assume !false; {75#false} is VALID [2020-07-11 01:05:06,675 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-11 01:05:06,676 INFO L354 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModulePreferences [518000932] [2020-07-11 01:05:06,678 INFO L220 FreeRefinementEngine]: Constructing automaton from 1 perfect and 0 imperfect interpolant sequences. [2020-07-11 01:05:06,678 INFO L233 FreeRefinementEngine]: Number of different interpolants: perfect sequences [7] imperfect sequences [] total 7 [2020-07-11 01:05:06,679 INFO L156 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [1425941805] [2020-07-11 01:05:06,686 INFO L78 Accepts]: Start accepts. Automaton has 7 states. Word has length 21 [2020-07-11 01:05:06,689 INFO L84 Accepts]: Finished accepts. word is accepted. [2020-07-11 01:05:06,693 INFO L86 InductivityCheck]: Starting indutivity check of a Floyd-Hoare automaton with 7 states. [2020-07-11 01:05:06,730 INFO L119 InductivityCheck]: Floyd-Hoare automaton has 21 edges. 21 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2020-07-11 01:05:06,730 INFO L459 AbstractCegarLoop]: Interpolant automaton has 7 states [2020-07-11 01:05:06,731 INFO L143 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy FIXED_PREFERENCES [2020-07-11 01:05:06,740 INFO L142 InterpolantAutomaton]: Constructing interpolant automaton starting with 7 interpolants. [2020-07-11 01:05:06,741 INFO L144 InterpolantAutomaton]: CoverageRelationStatistics Valid=11, Invalid=31, Unknown=0, NotChecked=0, Total=42 [2020-07-11 01:05:06,743 INFO L87 Difference]: Start difference. First operand 71 states. Second operand 7 states. [2020-07-11 01:05:08,181 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2020-07-11 01:05:08,182 INFO L93 Difference]: Finished difference Result 128 states and 157 transitions. [2020-07-11 01:05:08,182 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 9 states. [2020-07-11 01:05:08,182 INFO L78 Accepts]: Start accepts. Automaton has 7 states. Word has length 21 [2020-07-11 01:05:08,183 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2020-07-11 01:05:08,184 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 7 states. [2020-07-11 01:05:08,212 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 9 states to 9 states and 157 transitions. [2020-07-11 01:05:08,213 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 7 states. [2020-07-11 01:05:08,227 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 9 states to 9 states and 157 transitions. [2020-07-11 01:05:08,227 INFO L86 InductivityCheck]: Starting indutivity check of a Floyd-Hoare automaton with 9 states and 157 transitions. [2020-07-11 01:05:08,498 INFO L119 InductivityCheck]: Floyd-Hoare automaton has 157 edges. 157 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2020-07-11 01:05:08,515 INFO L225 Difference]: With dead ends: 128 [2020-07-11 01:05:08,515 INFO L226 Difference]: Without dead ends: 67 [2020-07-11 01:05:08,520 INFO L675 BasicCegarLoop]: 0 DeclaredPredicates, 14 GetRequests, 3 SyntacticMatches, 0 SemanticMatches, 11 ConstructedPredicates, 0 IntricatePredicates, 0 DeprecatedPredicates, 13 ImplicationChecksByTransitivity, 0.3s TimeCoverageRelationStatistics Valid=41, Invalid=115, Unknown=0, NotChecked=0, Total=156 [2020-07-11 01:05:08,539 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 67 states. [2020-07-11 01:05:08,741 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 67 to 63. [2020-07-11 01:05:08,742 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2020-07-11 01:05:08,742 INFO L82 GeneralOperation]: Start isEquivalent. First operand 67 states. Second operand 63 states. [2020-07-11 01:05:08,743 INFO L74 IsIncluded]: Start isIncluded. First operand 67 states. Second operand 63 states. [2020-07-11 01:05:08,743 INFO L87 Difference]: Start difference. First operand 67 states. Second operand 63 states. [2020-07-11 01:05:08,751 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2020-07-11 01:05:08,752 INFO L93 Difference]: Finished difference Result 67 states and 75 transitions. [2020-07-11 01:05:08,752 INFO L276 IsEmpty]: Start isEmpty. Operand 67 states and 75 transitions. [2020-07-11 01:05:08,754 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2020-07-11 01:05:08,754 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2020-07-11 01:05:08,754 INFO L74 IsIncluded]: Start isIncluded. First operand 63 states. Second operand 67 states. [2020-07-11 01:05:08,754 INFO L87 Difference]: Start difference. First operand 63 states. Second operand 67 states. [2020-07-11 01:05:08,769 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2020-07-11 01:05:08,769 INFO L93 Difference]: Finished difference Result 67 states and 75 transitions. [2020-07-11 01:05:08,769 INFO L276 IsEmpty]: Start isEmpty. Operand 67 states and 75 transitions. [2020-07-11 01:05:08,771 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2020-07-11 01:05:08,771 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2020-07-11 01:05:08,771 INFO L88 GeneralOperation]: Finished isEquivalent. [2020-07-11 01:05:08,775 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2020-07-11 01:05:08,775 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 63 states. [2020-07-11 01:05:08,785 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 63 states to 63 states and 69 transitions. [2020-07-11 01:05:08,791 INFO L78 Accepts]: Start accepts. Automaton has 63 states and 69 transitions. Word has length 21 [2020-07-11 01:05:08,791 INFO L84 Accepts]: Finished accepts. word is rejected. [2020-07-11 01:05:08,791 INFO L479 AbstractCegarLoop]: Abstraction has 63 states and 69 transitions. [2020-07-11 01:05:08,791 INFO L480 AbstractCegarLoop]: Interpolant automaton has 7 states. [2020-07-11 01:05:08,792 INFO L86 InductivityCheck]: Starting indutivity check of a Floyd-Hoare automaton with 63 states and 69 transitions. [2020-07-11 01:05:08,930 INFO L119 InductivityCheck]: Floyd-Hoare automaton has 69 edges. 69 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2020-07-11 01:05:08,931 INFO L276 IsEmpty]: Start isEmpty. Operand 63 states and 69 transitions. [2020-07-11 01:05:08,935 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 62 [2020-07-11 01:05:08,936 INFO L414 BasicCegarLoop]: Found error trace [2020-07-11 01:05:08,936 INFO L422 BasicCegarLoop]: trace histogram [2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1] [2020-07-11 01:05:08,937 WARN L516 AbstractCegarLoop]: Destroyed unattended storables created during the last iteration: SelfDestructingSolverStorable0 [2020-07-11 01:05:08,937 INFO L427 AbstractCegarLoop]: === Iteration 2 === [__blast_assertErr0ASSERT_VIOLATIONERROR_FUNCTION]=== [2020-07-11 01:05:08,938 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2020-07-11 01:05:08,938 INFO L82 PathProgramCache]: Analyzing trace with hash -114203518, now seen corresponding path program 1 times [2020-07-11 01:05:08,939 INFO L163 FreeRefinementEngine]: Executing refinement strategy FIXED_PREFERENCES [2020-07-11 01:05:08,939 INFO L354 FreeRefinementEngine]: Using trace check IpTcStrategyModulePreferences [1851090847] [2020-07-11 01:05:08,939 INFO L94 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2020-07-11 01:05:09,000 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2020-07-11 01:05:09,115 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2020-07-11 01:05:09,126 INFO L280 TraceCheckUtils]: 0: Hoare triple {669#(and (= |#valid| |old(#valid)|) (= ~elem~0.base |old(~elem~0.base)|) (= |#NULL.base| |old(#NULL.base)|) (= |~#head~0.base| |old(~#head~0.base)|) (= ~guard_malloc_counter~0.offset |old(~guard_malloc_counter~0.offset)|) (= |#NULL.offset| |old(#NULL.offset)|) (= ~elem~0.offset |old(~elem~0.offset)|) (= |old(#length)| |#length|) (= |~#head~0.offset| |old(~#head~0.offset)|) (= ~guard_malloc_counter~0.base |old(~guard_malloc_counter~0.base)|))} #NULL.base, #NULL.offset := 0, 0; {621#true} is VALID [2020-07-11 01:05:09,127 INFO L280 TraceCheckUtils]: 1: Hoare triple {621#true} #valid := #valid[0 := 0]; {621#true} is VALID [2020-07-11 01:05:09,127 INFO L280 TraceCheckUtils]: 2: Hoare triple {621#true} assume 0 < #StackHeapBarrier; {621#true} is VALID [2020-07-11 01:05:09,127 INFO L280 TraceCheckUtils]: 3: Hoare triple {621#true} ~guard_malloc_counter~0.base, ~guard_malloc_counter~0.offset := 0, 0; {621#true} is VALID [2020-07-11 01:05:09,127 INFO L280 TraceCheckUtils]: 4: Hoare triple {621#true} ~elem~0.base, ~elem~0.offset := 0, 0; {621#true} is VALID [2020-07-11 01:05:09,128 INFO L280 TraceCheckUtils]: 5: Hoare triple {621#true} SUMMARY for call ~#head~0.base, ~#head~0.offset := #Ultimate.allocOnStack(8); srcloc: L900 {621#true} is VALID [2020-07-11 01:05:09,128 INFO L280 TraceCheckUtils]: 6: Hoare triple {621#true} SUMMARY for call write~init~$Pointer$(0, 0, ~#head~0.base, ~#head~0.offset, 4); srcloc: L900-1 {621#true} is VALID [2020-07-11 01:05:09,128 INFO L280 TraceCheckUtils]: 7: Hoare triple {621#true} SUMMARY for call write~init~$Pointer$(0, 0, ~#head~0.base, 4 + ~#head~0.offset, 4); srcloc: L900-2 {621#true} is VALID [2020-07-11 01:05:09,129 INFO L280 TraceCheckUtils]: 8: Hoare triple {621#true} assume true; {621#true} is VALID [2020-07-11 01:05:09,129 INFO L275 TraceCheckUtils]: 9: Hoare quadruple {621#true} {621#true} #112#return; {621#true} is VALID [2020-07-11 01:05:09,153 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2020-07-11 01:05:09,243 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2020-07-11 01:05:09,304 INFO L280 TraceCheckUtils]: 0: Hoare triple {670#(and (= ~guard_malloc_counter~0.offset |old(~guard_malloc_counter~0.offset)|) (= ~guard_malloc_counter~0.base |old(~guard_malloc_counter~0.base)|))} ~size := #in~size; {621#true} is VALID [2020-07-11 01:05:09,305 INFO L280 TraceCheckUtils]: 1: Hoare triple {621#true} assume ~size > 0; {621#true} is VALID [2020-07-11 01:05:09,305 INFO L280 TraceCheckUtils]: 2: Hoare triple {621#true} #t~post28.base, #t~post28.offset := ~guard_malloc_counter~0.base, ~guard_malloc_counter~0.offset; {621#true} is VALID [2020-07-11 01:05:09,306 INFO L280 TraceCheckUtils]: 3: Hoare triple {621#true} ~guard_malloc_counter~0.base, ~guard_malloc_counter~0.offset := #t~post28.base, 1 + #t~post28.offset; {621#true} is VALID [2020-07-11 01:05:09,306 INFO L280 TraceCheckUtils]: 4: Hoare triple {621#true} havoc #t~post28.base, #t~post28.offset; {621#true} is VALID [2020-07-11 01:05:09,308 INFO L280 TraceCheckUtils]: 5: Hoare triple {621#true} assume -2147483648 <= #t~nondet29 && #t~nondet29 <= 2147483647; {621#true} is VALID [2020-07-11 01:05:09,309 INFO L280 TraceCheckUtils]: 6: Hoare triple {621#true} assume 0 == #t~nondet29; {621#true} is VALID [2020-07-11 01:05:09,309 INFO L280 TraceCheckUtils]: 7: Hoare triple {621#true} havoc #t~nondet29; {621#true} is VALID [2020-07-11 01:05:09,310 INFO L280 TraceCheckUtils]: 8: Hoare triple {621#true} #res.base, #res.offset := 0, 0; {684#(and (<= |__getMemory_#res.base| 0) (<= |__getMemory_#res.offset| 0) (<= 0 |__getMemory_#res.offset|) (<= 0 |__getMemory_#res.base|))} is VALID [2020-07-11 01:05:09,311 INFO L280 TraceCheckUtils]: 9: Hoare triple {684#(and (<= |__getMemory_#res.base| 0) (<= |__getMemory_#res.offset| 0) (<= 0 |__getMemory_#res.offset|) (<= 0 |__getMemory_#res.base|))} assume true; {684#(and (<= |__getMemory_#res.base| 0) (<= |__getMemory_#res.offset| 0) (<= 0 |__getMemory_#res.offset|) (<= 0 |__getMemory_#res.base|))} is VALID [2020-07-11 01:05:09,312 INFO L275 TraceCheckUtils]: 10: Hoare quadruple {684#(and (<= |__getMemory_#res.base| 0) (<= |__getMemory_#res.offset| 0) (<= 0 |__getMemory_#res.offset|) (<= 0 |__getMemory_#res.base|))} {621#true} #92#return; {682#(and (<= |my_malloc_#t~ret30.offset| 0) (<= 0 |my_malloc_#t~ret30.offset|) (<= 0 |my_malloc_#t~ret30.base|) (<= |my_malloc_#t~ret30.base| 0))} is VALID [2020-07-11 01:05:09,313 INFO L280 TraceCheckUtils]: 0: Hoare triple {670#(and (= ~guard_malloc_counter~0.offset |old(~guard_malloc_counter~0.offset)|) (= ~guard_malloc_counter~0.base |old(~guard_malloc_counter~0.base)|))} ~size := #in~size; {621#true} is VALID [2020-07-11 01:05:09,314 INFO L263 TraceCheckUtils]: 1: Hoare triple {621#true} call #t~ret30.base, #t~ret30.offset := __getMemory(~size); {670#(and (= ~guard_malloc_counter~0.offset |old(~guard_malloc_counter~0.offset)|) (= ~guard_malloc_counter~0.base |old(~guard_malloc_counter~0.base)|))} is VALID [2020-07-11 01:05:09,315 INFO L280 TraceCheckUtils]: 2: Hoare triple {670#(and (= ~guard_malloc_counter~0.offset |old(~guard_malloc_counter~0.offset)|) (= ~guard_malloc_counter~0.base |old(~guard_malloc_counter~0.base)|))} ~size := #in~size; {621#true} is VALID [2020-07-11 01:05:09,315 INFO L280 TraceCheckUtils]: 3: Hoare triple {621#true} assume ~size > 0; {621#true} is VALID [2020-07-11 01:05:09,315 INFO L280 TraceCheckUtils]: 4: Hoare triple {621#true} #t~post28.base, #t~post28.offset := ~guard_malloc_counter~0.base, ~guard_malloc_counter~0.offset; {621#true} is VALID [2020-07-11 01:05:09,316 INFO L280 TraceCheckUtils]: 5: Hoare triple {621#true} ~guard_malloc_counter~0.base, ~guard_malloc_counter~0.offset := #t~post28.base, 1 + #t~post28.offset; {621#true} is VALID [2020-07-11 01:05:09,316 INFO L280 TraceCheckUtils]: 6: Hoare triple {621#true} havoc #t~post28.base, #t~post28.offset; {621#true} is VALID [2020-07-11 01:05:09,316 INFO L280 TraceCheckUtils]: 7: Hoare triple {621#true} assume -2147483648 <= #t~nondet29 && #t~nondet29 <= 2147483647; {621#true} is VALID [2020-07-11 01:05:09,316 INFO L280 TraceCheckUtils]: 8: Hoare triple {621#true} assume 0 == #t~nondet29; {621#true} is VALID [2020-07-11 01:05:09,317 INFO L280 TraceCheckUtils]: 9: Hoare triple {621#true} havoc #t~nondet29; {621#true} is VALID [2020-07-11 01:05:09,318 INFO L280 TraceCheckUtils]: 10: Hoare triple {621#true} #res.base, #res.offset := 0, 0; {684#(and (<= |__getMemory_#res.base| 0) (<= |__getMemory_#res.offset| 0) (<= 0 |__getMemory_#res.offset|) (<= 0 |__getMemory_#res.base|))} is VALID [2020-07-11 01:05:09,318 INFO L280 TraceCheckUtils]: 11: Hoare triple {684#(and (<= |__getMemory_#res.base| 0) (<= |__getMemory_#res.offset| 0) (<= 0 |__getMemory_#res.offset|) (<= 0 |__getMemory_#res.base|))} assume true; {684#(and (<= |__getMemory_#res.base| 0) (<= |__getMemory_#res.offset| 0) (<= 0 |__getMemory_#res.offset|) (<= 0 |__getMemory_#res.base|))} is VALID [2020-07-11 01:05:09,320 INFO L275 TraceCheckUtils]: 12: Hoare quadruple {684#(and (<= |__getMemory_#res.base| 0) (<= |__getMemory_#res.offset| 0) (<= 0 |__getMemory_#res.offset|) (<= 0 |__getMemory_#res.base|))} {621#true} #92#return; {682#(and (<= |my_malloc_#t~ret30.offset| 0) (<= 0 |my_malloc_#t~ret30.offset|) (<= 0 |my_malloc_#t~ret30.base|) (<= |my_malloc_#t~ret30.base| 0))} is VALID [2020-07-11 01:05:09,321 INFO L280 TraceCheckUtils]: 13: Hoare triple {682#(and (<= |my_malloc_#t~ret30.offset| 0) (<= 0 |my_malloc_#t~ret30.offset|) (<= 0 |my_malloc_#t~ret30.base|) (<= |my_malloc_#t~ret30.base| 0))} #res.base, #res.offset := #t~ret30.base, #t~ret30.offset; {683#(and (<= |my_malloc_#res.base| 0) (<= |my_malloc_#res.offset| 0) (<= 0 |my_malloc_#res.base|) (<= 0 |my_malloc_#res.offset|))} is VALID [2020-07-11 01:05:09,322 INFO L280 TraceCheckUtils]: 14: Hoare triple {683#(and (<= |my_malloc_#res.base| 0) (<= |my_malloc_#res.offset| 0) (<= 0 |my_malloc_#res.base|) (<= 0 |my_malloc_#res.offset|))} havoc #t~ret30.base, #t~ret30.offset; {683#(and (<= |my_malloc_#res.base| 0) (<= |my_malloc_#res.offset| 0) (<= 0 |my_malloc_#res.base|) (<= 0 |my_malloc_#res.offset|))} is VALID [2020-07-11 01:05:09,323 INFO L280 TraceCheckUtils]: 15: Hoare triple {683#(and (<= |my_malloc_#res.base| 0) (<= |my_malloc_#res.offset| 0) (<= 0 |my_malloc_#res.base|) (<= 0 |my_malloc_#res.offset|))} assume true; {683#(and (<= |my_malloc_#res.base| 0) (<= |my_malloc_#res.offset| 0) (<= 0 |my_malloc_#res.base|) (<= 0 |my_malloc_#res.offset|))} is VALID [2020-07-11 01:05:09,325 INFO L275 TraceCheckUtils]: 16: Hoare quadruple {683#(and (<= |my_malloc_#res.base| 0) (<= |my_malloc_#res.offset| 0) (<= 0 |my_malloc_#res.base|) (<= 0 |my_malloc_#res.offset|))} {621#true} #94#return; {650#(and (= 0 |main_#t~ret32.base|) (= |main_#t~ret32.offset| 0))} is VALID [2020-07-11 01:05:09,334 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2020-07-11 01:05:09,363 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2020-07-11 01:05:09,397 INFO L280 TraceCheckUtils]: 0: Hoare triple {670#(and (= ~guard_malloc_counter~0.offset |old(~guard_malloc_counter~0.offset)|) (= ~guard_malloc_counter~0.base |old(~guard_malloc_counter~0.base)|))} ~size := #in~size; {621#true} is VALID [2020-07-11 01:05:09,398 INFO L280 TraceCheckUtils]: 1: Hoare triple {621#true} assume ~size > 0; {621#true} is VALID [2020-07-11 01:05:09,398 INFO L280 TraceCheckUtils]: 2: Hoare triple {621#true} #t~post28.base, #t~post28.offset := ~guard_malloc_counter~0.base, ~guard_malloc_counter~0.offset; {621#true} is VALID [2020-07-11 01:05:09,398 INFO L280 TraceCheckUtils]: 3: Hoare triple {621#true} ~guard_malloc_counter~0.base, ~guard_malloc_counter~0.offset := #t~post28.base, 1 + #t~post28.offset; {621#true} is VALID [2020-07-11 01:05:09,399 INFO L280 TraceCheckUtils]: 4: Hoare triple {621#true} havoc #t~post28.base, #t~post28.offset; {621#true} is VALID [2020-07-11 01:05:09,399 INFO L280 TraceCheckUtils]: 5: Hoare triple {621#true} assume -2147483648 <= #t~nondet29 && #t~nondet29 <= 2147483647; {621#true} is VALID [2020-07-11 01:05:09,400 INFO L280 TraceCheckUtils]: 6: Hoare triple {621#true} assume 0 == #t~nondet29; {621#true} is VALID [2020-07-11 01:05:09,400 INFO L280 TraceCheckUtils]: 7: Hoare triple {621#true} havoc #t~nondet29; {621#true} is VALID [2020-07-11 01:05:09,400 INFO L280 TraceCheckUtils]: 8: Hoare triple {621#true} #res.base, #res.offset := 0, 0; {621#true} is VALID [2020-07-11 01:05:09,400 INFO L280 TraceCheckUtils]: 9: Hoare triple {621#true} assume true; {621#true} is VALID [2020-07-11 01:05:09,401 INFO L275 TraceCheckUtils]: 10: Hoare quadruple {621#true} {621#true} #92#return; {621#true} is VALID [2020-07-11 01:05:09,401 INFO L280 TraceCheckUtils]: 0: Hoare triple {670#(and (= ~guard_malloc_counter~0.offset |old(~guard_malloc_counter~0.offset)|) (= ~guard_malloc_counter~0.base |old(~guard_malloc_counter~0.base)|))} ~size := #in~size; {621#true} is VALID [2020-07-11 01:05:09,411 INFO L263 TraceCheckUtils]: 1: Hoare triple {621#true} call #t~ret30.base, #t~ret30.offset := __getMemory(~size); {670#(and (= ~guard_malloc_counter~0.offset |old(~guard_malloc_counter~0.offset)|) (= ~guard_malloc_counter~0.base |old(~guard_malloc_counter~0.base)|))} is VALID [2020-07-11 01:05:09,411 INFO L280 TraceCheckUtils]: 2: Hoare triple {670#(and (= ~guard_malloc_counter~0.offset |old(~guard_malloc_counter~0.offset)|) (= ~guard_malloc_counter~0.base |old(~guard_malloc_counter~0.base)|))} ~size := #in~size; {621#true} is VALID [2020-07-11 01:05:09,412 INFO L280 TraceCheckUtils]: 3: Hoare triple {621#true} assume ~size > 0; {621#true} is VALID [2020-07-11 01:05:09,412 INFO L280 TraceCheckUtils]: 4: Hoare triple {621#true} #t~post28.base, #t~post28.offset := ~guard_malloc_counter~0.base, ~guard_malloc_counter~0.offset; {621#true} is VALID [2020-07-11 01:05:09,412 INFO L280 TraceCheckUtils]: 5: Hoare triple {621#true} ~guard_malloc_counter~0.base, ~guard_malloc_counter~0.offset := #t~post28.base, 1 + #t~post28.offset; {621#true} is VALID [2020-07-11 01:05:09,412 INFO L280 TraceCheckUtils]: 6: Hoare triple {621#true} havoc #t~post28.base, #t~post28.offset; {621#true} is VALID [2020-07-11 01:05:09,413 INFO L280 TraceCheckUtils]: 7: Hoare triple {621#true} assume -2147483648 <= #t~nondet29 && #t~nondet29 <= 2147483647; {621#true} is VALID [2020-07-11 01:05:09,413 INFO L280 TraceCheckUtils]: 8: Hoare triple {621#true} assume 0 == #t~nondet29; {621#true} is VALID [2020-07-11 01:05:09,413 INFO L280 TraceCheckUtils]: 9: Hoare triple {621#true} havoc #t~nondet29; {621#true} is VALID [2020-07-11 01:05:09,414 INFO L280 TraceCheckUtils]: 10: Hoare triple {621#true} #res.base, #res.offset := 0, 0; {621#true} is VALID [2020-07-11 01:05:09,414 INFO L280 TraceCheckUtils]: 11: Hoare triple {621#true} assume true; {621#true} is VALID [2020-07-11 01:05:09,414 INFO L275 TraceCheckUtils]: 12: Hoare quadruple {621#true} {621#true} #92#return; {621#true} is VALID [2020-07-11 01:05:09,414 INFO L280 TraceCheckUtils]: 13: Hoare triple {621#true} #res.base, #res.offset := #t~ret30.base, #t~ret30.offset; {621#true} is VALID [2020-07-11 01:05:09,415 INFO L280 TraceCheckUtils]: 14: Hoare triple {621#true} havoc #t~ret30.base, #t~ret30.offset; {621#true} is VALID [2020-07-11 01:05:09,416 INFO L280 TraceCheckUtils]: 15: Hoare triple {621#true} assume true; {621#true} is VALID [2020-07-11 01:05:09,417 INFO L275 TraceCheckUtils]: 16: Hoare quadruple {621#true} {651#(and (= 0 main_~dev1~0.base) (= 0 main_~dev1~0.offset))} #96#return; {651#(and (= 0 main_~dev1~0.base) (= 0 main_~dev1~0.offset))} is VALID [2020-07-11 01:05:09,419 INFO L263 TraceCheckUtils]: 0: Hoare triple {621#true} call ULTIMATE.init(); {669#(and (= |#valid| |old(#valid)|) (= ~elem~0.base |old(~elem~0.base)|) (= |#NULL.base| |old(#NULL.base)|) (= |~#head~0.base| |old(~#head~0.base)|) (= ~guard_malloc_counter~0.offset |old(~guard_malloc_counter~0.offset)|) (= |#NULL.offset| |old(#NULL.offset)|) (= ~elem~0.offset |old(~elem~0.offset)|) (= |old(#length)| |#length|) (= |~#head~0.offset| |old(~#head~0.offset)|) (= ~guard_malloc_counter~0.base |old(~guard_malloc_counter~0.base)|))} is VALID [2020-07-11 01:05:09,419 INFO L280 TraceCheckUtils]: 1: Hoare triple {669#(and (= |#valid| |old(#valid)|) (= ~elem~0.base |old(~elem~0.base)|) (= |#NULL.base| |old(#NULL.base)|) (= |~#head~0.base| |old(~#head~0.base)|) (= ~guard_malloc_counter~0.offset |old(~guard_malloc_counter~0.offset)|) (= |#NULL.offset| |old(#NULL.offset)|) (= ~elem~0.offset |old(~elem~0.offset)|) (= |old(#length)| |#length|) (= |~#head~0.offset| |old(~#head~0.offset)|) (= ~guard_malloc_counter~0.base |old(~guard_malloc_counter~0.base)|))} #NULL.base, #NULL.offset := 0, 0; {621#true} is VALID [2020-07-11 01:05:09,419 INFO L280 TraceCheckUtils]: 2: Hoare triple {621#true} #valid := #valid[0 := 0]; {621#true} is VALID [2020-07-11 01:05:09,420 INFO L280 TraceCheckUtils]: 3: Hoare triple {621#true} assume 0 < #StackHeapBarrier; {621#true} is VALID [2020-07-11 01:05:09,420 INFO L280 TraceCheckUtils]: 4: Hoare triple {621#true} ~guard_malloc_counter~0.base, ~guard_malloc_counter~0.offset := 0, 0; {621#true} is VALID [2020-07-11 01:05:09,420 INFO L280 TraceCheckUtils]: 5: Hoare triple {621#true} ~elem~0.base, ~elem~0.offset := 0, 0; {621#true} is VALID [2020-07-11 01:05:09,421 INFO L280 TraceCheckUtils]: 6: Hoare triple {621#true} SUMMARY for call ~#head~0.base, ~#head~0.offset := #Ultimate.allocOnStack(8); srcloc: L900 {621#true} is VALID [2020-07-11 01:05:09,421 INFO L280 TraceCheckUtils]: 7: Hoare triple {621#true} SUMMARY for call write~init~$Pointer$(0, 0, ~#head~0.base, ~#head~0.offset, 4); srcloc: L900-1 {621#true} is VALID [2020-07-11 01:05:09,421 INFO L280 TraceCheckUtils]: 8: Hoare triple {621#true} SUMMARY for call write~init~$Pointer$(0, 0, ~#head~0.base, 4 + ~#head~0.offset, 4); srcloc: L900-2 {621#true} is VALID [2020-07-11 01:05:09,421 INFO L280 TraceCheckUtils]: 9: Hoare triple {621#true} assume true; {621#true} is VALID [2020-07-11 01:05:09,422 INFO L275 TraceCheckUtils]: 10: Hoare quadruple {621#true} {621#true} #112#return; {621#true} is VALID [2020-07-11 01:05:09,422 INFO L263 TraceCheckUtils]: 11: Hoare triple {621#true} call #t~ret34 := main(); {621#true} is VALID [2020-07-11 01:05:09,423 INFO L280 TraceCheckUtils]: 12: Hoare triple {621#true} havoc ~dev1~0.base, ~dev1~0.offset; {621#true} is VALID [2020-07-11 01:05:09,424 INFO L280 TraceCheckUtils]: 13: Hoare triple {621#true} havoc ~dev2~0.base, ~dev2~0.offset; {621#true} is VALID [2020-07-11 01:05:09,425 INFO L263 TraceCheckUtils]: 14: Hoare triple {621#true} call #t~ret32.base, #t~ret32.offset := my_malloc(8); {670#(and (= ~guard_malloc_counter~0.offset |old(~guard_malloc_counter~0.offset)|) (= ~guard_malloc_counter~0.base |old(~guard_malloc_counter~0.base)|))} is VALID [2020-07-11 01:05:09,425 INFO L280 TraceCheckUtils]: 15: Hoare triple {670#(and (= ~guard_malloc_counter~0.offset |old(~guard_malloc_counter~0.offset)|) (= ~guard_malloc_counter~0.base |old(~guard_malloc_counter~0.base)|))} ~size := #in~size; {621#true} is VALID [2020-07-11 01:05:09,426 INFO L263 TraceCheckUtils]: 16: Hoare triple {621#true} call #t~ret30.base, #t~ret30.offset := __getMemory(~size); {670#(and (= ~guard_malloc_counter~0.offset |old(~guard_malloc_counter~0.offset)|) (= ~guard_malloc_counter~0.base |old(~guard_malloc_counter~0.base)|))} is VALID [2020-07-11 01:05:09,427 INFO L280 TraceCheckUtils]: 17: Hoare triple {670#(and (= ~guard_malloc_counter~0.offset |old(~guard_malloc_counter~0.offset)|) (= ~guard_malloc_counter~0.base |old(~guard_malloc_counter~0.base)|))} ~size := #in~size; {621#true} is VALID [2020-07-11 01:05:09,427 INFO L280 TraceCheckUtils]: 18: Hoare triple {621#true} assume ~size > 0; {621#true} is VALID [2020-07-11 01:05:09,427 INFO L280 TraceCheckUtils]: 19: Hoare triple {621#true} #t~post28.base, #t~post28.offset := ~guard_malloc_counter~0.base, ~guard_malloc_counter~0.offset; {621#true} is VALID [2020-07-11 01:05:09,427 INFO L280 TraceCheckUtils]: 20: Hoare triple {621#true} ~guard_malloc_counter~0.base, ~guard_malloc_counter~0.offset := #t~post28.base, 1 + #t~post28.offset; {621#true} is VALID [2020-07-11 01:05:09,428 INFO L280 TraceCheckUtils]: 21: Hoare triple {621#true} havoc #t~post28.base, #t~post28.offset; {621#true} is VALID [2020-07-11 01:05:09,428 INFO L280 TraceCheckUtils]: 22: Hoare triple {621#true} assume -2147483648 <= #t~nondet29 && #t~nondet29 <= 2147483647; {621#true} is VALID [2020-07-11 01:05:09,428 INFO L280 TraceCheckUtils]: 23: Hoare triple {621#true} assume 0 == #t~nondet29; {621#true} is VALID [2020-07-11 01:05:09,429 INFO L280 TraceCheckUtils]: 24: Hoare triple {621#true} havoc #t~nondet29; {621#true} is VALID [2020-07-11 01:05:09,446 INFO L280 TraceCheckUtils]: 25: Hoare triple {621#true} #res.base, #res.offset := 0, 0; {684#(and (<= |__getMemory_#res.base| 0) (<= |__getMemory_#res.offset| 0) (<= 0 |__getMemory_#res.offset|) (<= 0 |__getMemory_#res.base|))} is VALID [2020-07-11 01:05:09,448 INFO L280 TraceCheckUtils]: 26: Hoare triple {684#(and (<= |__getMemory_#res.base| 0) (<= |__getMemory_#res.offset| 0) (<= 0 |__getMemory_#res.offset|) (<= 0 |__getMemory_#res.base|))} assume true; {684#(and (<= |__getMemory_#res.base| 0) (<= |__getMemory_#res.offset| 0) (<= 0 |__getMemory_#res.offset|) (<= 0 |__getMemory_#res.base|))} is VALID [2020-07-11 01:05:09,451 INFO L275 TraceCheckUtils]: 27: Hoare quadruple {684#(and (<= |__getMemory_#res.base| 0) (<= |__getMemory_#res.offset| 0) (<= 0 |__getMemory_#res.offset|) (<= 0 |__getMemory_#res.base|))} {621#true} #92#return; {682#(and (<= |my_malloc_#t~ret30.offset| 0) (<= 0 |my_malloc_#t~ret30.offset|) (<= 0 |my_malloc_#t~ret30.base|) (<= |my_malloc_#t~ret30.base| 0))} is VALID [2020-07-11 01:05:09,453 INFO L280 TraceCheckUtils]: 28: Hoare triple {682#(and (<= |my_malloc_#t~ret30.offset| 0) (<= 0 |my_malloc_#t~ret30.offset|) (<= 0 |my_malloc_#t~ret30.base|) (<= |my_malloc_#t~ret30.base| 0))} #res.base, #res.offset := #t~ret30.base, #t~ret30.offset; {683#(and (<= |my_malloc_#res.base| 0) (<= |my_malloc_#res.offset| 0) (<= 0 |my_malloc_#res.base|) (<= 0 |my_malloc_#res.offset|))} is VALID [2020-07-11 01:05:09,460 INFO L280 TraceCheckUtils]: 29: Hoare triple {683#(and (<= |my_malloc_#res.base| 0) (<= |my_malloc_#res.offset| 0) (<= 0 |my_malloc_#res.base|) (<= 0 |my_malloc_#res.offset|))} havoc #t~ret30.base, #t~ret30.offset; {683#(and (<= |my_malloc_#res.base| 0) (<= |my_malloc_#res.offset| 0) (<= 0 |my_malloc_#res.base|) (<= 0 |my_malloc_#res.offset|))} is VALID [2020-07-11 01:05:09,461 INFO L280 TraceCheckUtils]: 30: Hoare triple {683#(and (<= |my_malloc_#res.base| 0) (<= |my_malloc_#res.offset| 0) (<= 0 |my_malloc_#res.base|) (<= 0 |my_malloc_#res.offset|))} assume true; {683#(and (<= |my_malloc_#res.base| 0) (<= |my_malloc_#res.offset| 0) (<= 0 |my_malloc_#res.base|) (<= 0 |my_malloc_#res.offset|))} is VALID [2020-07-11 01:05:09,467 INFO L275 TraceCheckUtils]: 31: Hoare quadruple {683#(and (<= |my_malloc_#res.base| 0) (<= |my_malloc_#res.offset| 0) (<= 0 |my_malloc_#res.base|) (<= 0 |my_malloc_#res.offset|))} {621#true} #94#return; {650#(and (= 0 |main_#t~ret32.base|) (= |main_#t~ret32.offset| 0))} is VALID [2020-07-11 01:05:09,468 INFO L280 TraceCheckUtils]: 32: Hoare triple {650#(and (= 0 |main_#t~ret32.base|) (= |main_#t~ret32.offset| 0))} ~dev1~0.base, ~dev1~0.offset := #t~ret32.base, #t~ret32.offset; {651#(and (= 0 main_~dev1~0.base) (= 0 main_~dev1~0.offset))} is VALID [2020-07-11 01:05:09,469 INFO L280 TraceCheckUtils]: 33: Hoare triple {651#(and (= 0 main_~dev1~0.base) (= 0 main_~dev1~0.offset))} havoc #t~ret32.base, #t~ret32.offset; {651#(and (= 0 main_~dev1~0.base) (= 0 main_~dev1~0.offset))} is VALID [2020-07-11 01:05:09,470 INFO L263 TraceCheckUtils]: 34: Hoare triple {651#(and (= 0 main_~dev1~0.base) (= 0 main_~dev1~0.offset))} call #t~ret33.base, #t~ret33.offset := my_malloc(8); {670#(and (= ~guard_malloc_counter~0.offset |old(~guard_malloc_counter~0.offset)|) (= ~guard_malloc_counter~0.base |old(~guard_malloc_counter~0.base)|))} is VALID [2020-07-11 01:05:09,470 INFO L280 TraceCheckUtils]: 35: Hoare triple {670#(and (= ~guard_malloc_counter~0.offset |old(~guard_malloc_counter~0.offset)|) (= ~guard_malloc_counter~0.base |old(~guard_malloc_counter~0.base)|))} ~size := #in~size; {621#true} is VALID [2020-07-11 01:05:09,472 INFO L263 TraceCheckUtils]: 36: Hoare triple {621#true} call #t~ret30.base, #t~ret30.offset := __getMemory(~size); {670#(and (= ~guard_malloc_counter~0.offset |old(~guard_malloc_counter~0.offset)|) (= ~guard_malloc_counter~0.base |old(~guard_malloc_counter~0.base)|))} is VALID [2020-07-11 01:05:09,472 INFO L280 TraceCheckUtils]: 37: Hoare triple {670#(and (= ~guard_malloc_counter~0.offset |old(~guard_malloc_counter~0.offset)|) (= ~guard_malloc_counter~0.base |old(~guard_malloc_counter~0.base)|))} ~size := #in~size; {621#true} is VALID [2020-07-11 01:05:09,473 INFO L280 TraceCheckUtils]: 38: Hoare triple {621#true} assume ~size > 0; {621#true} is VALID [2020-07-11 01:05:09,473 INFO L280 TraceCheckUtils]: 39: Hoare triple {621#true} #t~post28.base, #t~post28.offset := ~guard_malloc_counter~0.base, ~guard_malloc_counter~0.offset; {621#true} is VALID [2020-07-11 01:05:09,473 INFO L280 TraceCheckUtils]: 40: Hoare triple {621#true} ~guard_malloc_counter~0.base, ~guard_malloc_counter~0.offset := #t~post28.base, 1 + #t~post28.offset; {621#true} is VALID [2020-07-11 01:05:09,473 INFO L280 TraceCheckUtils]: 41: Hoare triple {621#true} havoc #t~post28.base, #t~post28.offset; {621#true} is VALID [2020-07-11 01:05:09,474 INFO L280 TraceCheckUtils]: 42: Hoare triple {621#true} assume -2147483648 <= #t~nondet29 && #t~nondet29 <= 2147483647; {621#true} is VALID [2020-07-11 01:05:09,474 INFO L280 TraceCheckUtils]: 43: Hoare triple {621#true} assume 0 == #t~nondet29; {621#true} is VALID [2020-07-11 01:05:09,474 INFO L280 TraceCheckUtils]: 44: Hoare triple {621#true} havoc #t~nondet29; {621#true} is VALID [2020-07-11 01:05:09,474 INFO L280 TraceCheckUtils]: 45: Hoare triple {621#true} #res.base, #res.offset := 0, 0; {621#true} is VALID [2020-07-11 01:05:09,475 INFO L280 TraceCheckUtils]: 46: Hoare triple {621#true} assume true; {621#true} is VALID [2020-07-11 01:05:09,475 INFO L275 TraceCheckUtils]: 47: Hoare quadruple {621#true} {621#true} #92#return; {621#true} is VALID [2020-07-11 01:05:09,475 INFO L280 TraceCheckUtils]: 48: Hoare triple {621#true} #res.base, #res.offset := #t~ret30.base, #t~ret30.offset; {621#true} is VALID [2020-07-11 01:05:09,475 INFO L280 TraceCheckUtils]: 49: Hoare triple {621#true} havoc #t~ret30.base, #t~ret30.offset; {621#true} is VALID [2020-07-11 01:05:09,476 INFO L280 TraceCheckUtils]: 50: Hoare triple {621#true} assume true; {621#true} is VALID [2020-07-11 01:05:09,482 INFO L275 TraceCheckUtils]: 51: Hoare quadruple {621#true} {651#(and (= 0 main_~dev1~0.base) (= 0 main_~dev1~0.offset))} #96#return; {651#(and (= 0 main_~dev1~0.base) (= 0 main_~dev1~0.offset))} is VALID [2020-07-11 01:05:09,483 INFO L280 TraceCheckUtils]: 52: Hoare triple {651#(and (= 0 main_~dev1~0.base) (= 0 main_~dev1~0.offset))} ~dev2~0.base, ~dev2~0.offset := #t~ret33.base, #t~ret33.offset; {651#(and (= 0 main_~dev1~0.base) (= 0 main_~dev1~0.offset))} is VALID [2020-07-11 01:05:09,484 INFO L280 TraceCheckUtils]: 53: Hoare triple {651#(and (= 0 main_~dev1~0.base) (= 0 main_~dev1~0.offset))} havoc #t~ret33.base, #t~ret33.offset; {651#(and (= 0 main_~dev1~0.base) (= 0 main_~dev1~0.offset))} is VALID [2020-07-11 01:05:09,485 INFO L280 TraceCheckUtils]: 54: Hoare triple {651#(and (= 0 main_~dev1~0.base) (= 0 main_~dev1~0.offset))} assume (~dev1~0.base != 0 || ~dev1~0.offset != 0) && (~dev2~0.base != 0 || ~dev2~0.offset != 0); {622#false} is VALID [2020-07-11 01:05:09,485 INFO L263 TraceCheckUtils]: 55: Hoare triple {622#false} call list_add(~dev2~0.base, ~dev2~0.offset, ~#head~0.base, ~#head~0.offset); {622#false} is VALID [2020-07-11 01:05:09,486 INFO L280 TraceCheckUtils]: 56: Hoare triple {622#false} ~new.base, ~new.offset := #in~new.base, #in~new.offset; {622#false} is VALID [2020-07-11 01:05:09,486 INFO L280 TraceCheckUtils]: 57: Hoare triple {622#false} ~head.base, ~head.offset := #in~head.base, #in~head.offset; {622#false} is VALID [2020-07-11 01:05:09,486 INFO L280 TraceCheckUtils]: 58: Hoare triple {622#false} assume !(~new.base != ~elem~0.base || ~new.offset != ~elem~0.offset); {622#false} is VALID [2020-07-11 01:05:09,486 INFO L263 TraceCheckUtils]: 59: Hoare triple {622#false} call __blast_assert(); {622#false} is VALID [2020-07-11 01:05:09,487 INFO L280 TraceCheckUtils]: 60: Hoare triple {622#false} assume !false; {622#false} is VALID [2020-07-11 01:05:09,497 INFO L134 CoverageAnalysis]: Checked inductivity of 17 backedges. 0 proven. 6 refuted. 0 times theorem prover too weak. 11 trivial. 0 not checked. [2020-07-11 01:05:09,498 INFO L354 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModulePreferences [1851090847] [2020-07-11 01:05:09,498 INFO L220 FreeRefinementEngine]: Constructing automaton from 0 perfect and 1 imperfect interpolant sequences. [2020-07-11 01:05:09,498 INFO L233 FreeRefinementEngine]: Number of different interpolants: perfect sequences [] imperfect sequences [9] total 9 [2020-07-11 01:05:09,498 INFO L156 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [1063075047] [2020-07-11 01:05:09,503 INFO L78 Accepts]: Start accepts. Automaton has 9 states. Word has length 61 [2020-07-11 01:05:09,504 INFO L84 Accepts]: Finished accepts. word is accepted. [2020-07-11 01:05:09,504 INFO L86 InductivityCheck]: Starting indutivity check of a Floyd-Hoare automaton with 9 states. [2020-07-11 01:05:09,564 INFO L119 InductivityCheck]: Floyd-Hoare automaton has 51 edges. 51 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2020-07-11 01:05:09,565 INFO L459 AbstractCegarLoop]: Interpolant automaton has 9 states [2020-07-11 01:05:09,565 INFO L143 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy FIXED_PREFERENCES [2020-07-11 01:05:09,565 INFO L142 InterpolantAutomaton]: Constructing interpolant automaton starting with 9 interpolants. [2020-07-11 01:05:09,566 INFO L144 InterpolantAutomaton]: CoverageRelationStatistics Valid=16, Invalid=56, Unknown=0, NotChecked=0, Total=72 [2020-07-11 01:05:09,566 INFO L87 Difference]: Start difference. First operand 63 states and 69 transitions. Second operand 9 states. [2020-07-11 01:05:10,891 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2020-07-11 01:05:10,891 INFO L93 Difference]: Finished difference Result 102 states and 117 transitions. [2020-07-11 01:05:10,891 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 11 states. [2020-07-11 01:05:10,891 INFO L78 Accepts]: Start accepts. Automaton has 9 states. Word has length 61 [2020-07-11 01:05:10,892 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2020-07-11 01:05:10,892 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 9 states. [2020-07-11 01:05:10,898 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 11 states to 11 states and 117 transitions. [2020-07-11 01:05:10,899 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 9 states. [2020-07-11 01:05:10,904 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 11 states to 11 states and 117 transitions. [2020-07-11 01:05:10,904 INFO L86 InductivityCheck]: Starting indutivity check of a Floyd-Hoare automaton with 11 states and 117 transitions. [2020-07-11 01:05:11,069 INFO L119 InductivityCheck]: Floyd-Hoare automaton has 117 edges. 117 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2020-07-11 01:05:11,074 INFO L225 Difference]: With dead ends: 102 [2020-07-11 01:05:11,075 INFO L226 Difference]: Without dead ends: 73 [2020-07-11 01:05:11,076 INFO L675 BasicCegarLoop]: 0 DeclaredPredicates, 19 GetRequests, 10 SyntacticMatches, 0 SemanticMatches, 9 ConstructedPredicates, 0 IntricatePredicates, 0 DeprecatedPredicates, 4 ImplicationChecksByTransitivity, 0.1s TimeCoverageRelationStatistics Valid=24, Invalid=86, Unknown=0, NotChecked=0, Total=110 [2020-07-11 01:05:11,077 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 73 states. [2020-07-11 01:05:11,288 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 73 to 69. [2020-07-11 01:05:11,289 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2020-07-11 01:05:11,289 INFO L82 GeneralOperation]: Start isEquivalent. First operand 73 states. Second operand 69 states. [2020-07-11 01:05:11,289 INFO L74 IsIncluded]: Start isIncluded. First operand 73 states. Second operand 69 states. [2020-07-11 01:05:11,289 INFO L87 Difference]: Start difference. First operand 73 states. Second operand 69 states. [2020-07-11 01:05:11,295 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2020-07-11 01:05:11,295 INFO L93 Difference]: Finished difference Result 73 states and 81 transitions. [2020-07-11 01:05:11,295 INFO L276 IsEmpty]: Start isEmpty. Operand 73 states and 81 transitions. [2020-07-11 01:05:11,296 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2020-07-11 01:05:11,297 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2020-07-11 01:05:11,297 INFO L74 IsIncluded]: Start isIncluded. First operand 69 states. Second operand 73 states. [2020-07-11 01:05:11,297 INFO L87 Difference]: Start difference. First operand 69 states. Second operand 73 states. [2020-07-11 01:05:11,302 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2020-07-11 01:05:11,302 INFO L93 Difference]: Finished difference Result 73 states and 81 transitions. [2020-07-11 01:05:11,303 INFO L276 IsEmpty]: Start isEmpty. Operand 73 states and 81 transitions. [2020-07-11 01:05:11,304 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2020-07-11 01:05:11,304 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2020-07-11 01:05:11,304 INFO L88 GeneralOperation]: Finished isEquivalent. [2020-07-11 01:05:11,304 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2020-07-11 01:05:11,305 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 69 states. [2020-07-11 01:05:11,309 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 69 states to 69 states and 75 transitions. [2020-07-11 01:05:11,309 INFO L78 Accepts]: Start accepts. Automaton has 69 states and 75 transitions. Word has length 61 [2020-07-11 01:05:11,309 INFO L84 Accepts]: Finished accepts. word is rejected. [2020-07-11 01:05:11,310 INFO L479 AbstractCegarLoop]: Abstraction has 69 states and 75 transitions. [2020-07-11 01:05:11,310 INFO L480 AbstractCegarLoop]: Interpolant automaton has 9 states. [2020-07-11 01:05:11,310 INFO L86 InductivityCheck]: Starting indutivity check of a Floyd-Hoare automaton with 69 states and 75 transitions. [2020-07-11 01:05:11,446 INFO L119 InductivityCheck]: Floyd-Hoare automaton has 75 edges. 75 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2020-07-11 01:05:11,447 INFO L276 IsEmpty]: Start isEmpty. Operand 69 states and 75 transitions. [2020-07-11 01:05:11,449 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 62 [2020-07-11 01:05:11,449 INFO L414 BasicCegarLoop]: Found error trace [2020-07-11 01:05:11,451 INFO L422 BasicCegarLoop]: trace histogram [2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1] [2020-07-11 01:05:11,451 WARN L516 AbstractCegarLoop]: Destroyed unattended storables created during the last iteration: SelfDestructingSolverStorable1 [2020-07-11 01:05:11,451 INFO L427 AbstractCegarLoop]: === Iteration 3 === [__blast_assertErr0ASSERT_VIOLATIONERROR_FUNCTION]=== [2020-07-11 01:05:11,452 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2020-07-11 01:05:11,452 INFO L82 PathProgramCache]: Analyzing trace with hash -1260495361, now seen corresponding path program 1 times [2020-07-11 01:05:11,452 INFO L163 FreeRefinementEngine]: Executing refinement strategy FIXED_PREFERENCES [2020-07-11 01:05:11,453 INFO L354 FreeRefinementEngine]: Using trace check IpTcStrategyModulePreferences [1987109724] [2020-07-11 01:05:11,453 INFO L94 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2020-07-11 01:05:11,519 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2020-07-11 01:05:11,618 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2020-07-11 01:05:11,625 INFO L280 TraceCheckUtils]: 0: Hoare triple {1238#(and (= |#valid| |old(#valid)|) (= ~elem~0.base |old(~elem~0.base)|) (= |#NULL.base| |old(#NULL.base)|) (= |~#head~0.base| |old(~#head~0.base)|) (= ~guard_malloc_counter~0.offset |old(~guard_malloc_counter~0.offset)|) (= |#NULL.offset| |old(#NULL.offset)|) (= ~elem~0.offset |old(~elem~0.offset)|) (= |old(#length)| |#length|) (= |~#head~0.offset| |old(~#head~0.offset)|) (= ~guard_malloc_counter~0.base |old(~guard_malloc_counter~0.base)|))} #NULL.base, #NULL.offset := 0, 0; {1190#true} is VALID [2020-07-11 01:05:11,625 INFO L280 TraceCheckUtils]: 1: Hoare triple {1190#true} #valid := #valid[0 := 0]; {1190#true} is VALID [2020-07-11 01:05:11,626 INFO L280 TraceCheckUtils]: 2: Hoare triple {1190#true} assume 0 < #StackHeapBarrier; {1190#true} is VALID [2020-07-11 01:05:11,626 INFO L280 TraceCheckUtils]: 3: Hoare triple {1190#true} ~guard_malloc_counter~0.base, ~guard_malloc_counter~0.offset := 0, 0; {1190#true} is VALID [2020-07-11 01:05:11,626 INFO L280 TraceCheckUtils]: 4: Hoare triple {1190#true} ~elem~0.base, ~elem~0.offset := 0, 0; {1190#true} is VALID [2020-07-11 01:05:11,627 INFO L280 TraceCheckUtils]: 5: Hoare triple {1190#true} SUMMARY for call ~#head~0.base, ~#head~0.offset := #Ultimate.allocOnStack(8); srcloc: L900 {1190#true} is VALID [2020-07-11 01:05:11,627 INFO L280 TraceCheckUtils]: 6: Hoare triple {1190#true} SUMMARY for call write~init~$Pointer$(0, 0, ~#head~0.base, ~#head~0.offset, 4); srcloc: L900-1 {1190#true} is VALID [2020-07-11 01:05:11,627 INFO L280 TraceCheckUtils]: 7: Hoare triple {1190#true} SUMMARY for call write~init~$Pointer$(0, 0, ~#head~0.base, 4 + ~#head~0.offset, 4); srcloc: L900-2 {1190#true} is VALID [2020-07-11 01:05:11,627 INFO L280 TraceCheckUtils]: 8: Hoare triple {1190#true} assume true; {1190#true} is VALID [2020-07-11 01:05:11,628 INFO L275 TraceCheckUtils]: 9: Hoare quadruple {1190#true} {1190#true} #112#return; {1190#true} is VALID [2020-07-11 01:05:11,641 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2020-07-11 01:05:11,648 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2020-07-11 01:05:11,653 INFO L280 TraceCheckUtils]: 0: Hoare triple {1239#(and (= ~guard_malloc_counter~0.offset |old(~guard_malloc_counter~0.offset)|) (= ~guard_malloc_counter~0.base |old(~guard_malloc_counter~0.base)|))} ~size := #in~size; {1190#true} is VALID [2020-07-11 01:05:11,654 INFO L280 TraceCheckUtils]: 1: Hoare triple {1190#true} assume ~size > 0; {1190#true} is VALID [2020-07-11 01:05:11,654 INFO L280 TraceCheckUtils]: 2: Hoare triple {1190#true} #t~post28.base, #t~post28.offset := ~guard_malloc_counter~0.base, ~guard_malloc_counter~0.offset; {1190#true} is VALID [2020-07-11 01:05:11,654 INFO L280 TraceCheckUtils]: 3: Hoare triple {1190#true} ~guard_malloc_counter~0.base, ~guard_malloc_counter~0.offset := #t~post28.base, 1 + #t~post28.offset; {1190#true} is VALID [2020-07-11 01:05:11,654 INFO L280 TraceCheckUtils]: 4: Hoare triple {1190#true} havoc #t~post28.base, #t~post28.offset; {1190#true} is VALID [2020-07-11 01:05:11,655 INFO L280 TraceCheckUtils]: 5: Hoare triple {1190#true} assume -2147483648 <= #t~nondet29 && #t~nondet29 <= 2147483647; {1190#true} is VALID [2020-07-11 01:05:11,655 INFO L280 TraceCheckUtils]: 6: Hoare triple {1190#true} assume !(0 == #t~nondet29); {1190#true} is VALID [2020-07-11 01:05:11,655 INFO L280 TraceCheckUtils]: 7: Hoare triple {1190#true} havoc #t~nondet29; {1190#true} is VALID [2020-07-11 01:05:11,655 INFO L280 TraceCheckUtils]: 8: Hoare triple {1190#true} #res.base, #res.offset := ~guard_malloc_counter~0.base, ~guard_malloc_counter~0.offset; {1190#true} is VALID [2020-07-11 01:05:11,656 INFO L280 TraceCheckUtils]: 9: Hoare triple {1190#true} assume true; {1190#true} is VALID [2020-07-11 01:05:11,656 INFO L275 TraceCheckUtils]: 10: Hoare quadruple {1190#true} {1190#true} #92#return; {1190#true} is VALID [2020-07-11 01:05:11,656 INFO L280 TraceCheckUtils]: 0: Hoare triple {1239#(and (= ~guard_malloc_counter~0.offset |old(~guard_malloc_counter~0.offset)|) (= ~guard_malloc_counter~0.base |old(~guard_malloc_counter~0.base)|))} ~size := #in~size; {1190#true} is VALID [2020-07-11 01:05:11,658 INFO L263 TraceCheckUtils]: 1: Hoare triple {1190#true} call #t~ret30.base, #t~ret30.offset := __getMemory(~size); {1239#(and (= ~guard_malloc_counter~0.offset |old(~guard_malloc_counter~0.offset)|) (= ~guard_malloc_counter~0.base |old(~guard_malloc_counter~0.base)|))} is VALID [2020-07-11 01:05:11,658 INFO L280 TraceCheckUtils]: 2: Hoare triple {1239#(and (= ~guard_malloc_counter~0.offset |old(~guard_malloc_counter~0.offset)|) (= ~guard_malloc_counter~0.base |old(~guard_malloc_counter~0.base)|))} ~size := #in~size; {1190#true} is VALID [2020-07-11 01:05:11,658 INFO L280 TraceCheckUtils]: 3: Hoare triple {1190#true} assume ~size > 0; {1190#true} is VALID [2020-07-11 01:05:11,658 INFO L280 TraceCheckUtils]: 4: Hoare triple {1190#true} #t~post28.base, #t~post28.offset := ~guard_malloc_counter~0.base, ~guard_malloc_counter~0.offset; {1190#true} is VALID [2020-07-11 01:05:11,659 INFO L280 TraceCheckUtils]: 5: Hoare triple {1190#true} ~guard_malloc_counter~0.base, ~guard_malloc_counter~0.offset := #t~post28.base, 1 + #t~post28.offset; {1190#true} is VALID [2020-07-11 01:05:11,659 INFO L280 TraceCheckUtils]: 6: Hoare triple {1190#true} havoc #t~post28.base, #t~post28.offset; {1190#true} is VALID [2020-07-11 01:05:11,659 INFO L280 TraceCheckUtils]: 7: Hoare triple {1190#true} assume -2147483648 <= #t~nondet29 && #t~nondet29 <= 2147483647; {1190#true} is VALID [2020-07-11 01:05:11,659 INFO L280 TraceCheckUtils]: 8: Hoare triple {1190#true} assume !(0 == #t~nondet29); {1190#true} is VALID [2020-07-11 01:05:11,660 INFO L280 TraceCheckUtils]: 9: Hoare triple {1190#true} havoc #t~nondet29; {1190#true} is VALID [2020-07-11 01:05:11,660 INFO L280 TraceCheckUtils]: 10: Hoare triple {1190#true} #res.base, #res.offset := ~guard_malloc_counter~0.base, ~guard_malloc_counter~0.offset; {1190#true} is VALID [2020-07-11 01:05:11,660 INFO L280 TraceCheckUtils]: 11: Hoare triple {1190#true} assume true; {1190#true} is VALID [2020-07-11 01:05:11,660 INFO L275 TraceCheckUtils]: 12: Hoare quadruple {1190#true} {1190#true} #92#return; {1190#true} is VALID [2020-07-11 01:05:11,661 INFO L280 TraceCheckUtils]: 13: Hoare triple {1190#true} #res.base, #res.offset := #t~ret30.base, #t~ret30.offset; {1190#true} is VALID [2020-07-11 01:05:11,661 INFO L280 TraceCheckUtils]: 14: Hoare triple {1190#true} havoc #t~ret30.base, #t~ret30.offset; {1190#true} is VALID [2020-07-11 01:05:11,661 INFO L280 TraceCheckUtils]: 15: Hoare triple {1190#true} assume true; {1190#true} is VALID [2020-07-11 01:05:11,661 INFO L275 TraceCheckUtils]: 16: Hoare quadruple {1190#true} {1190#true} #94#return; {1190#true} is VALID [2020-07-11 01:05:11,669 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2020-07-11 01:05:11,731 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2020-07-11 01:05:11,783 INFO L280 TraceCheckUtils]: 0: Hoare triple {1239#(and (= ~guard_malloc_counter~0.offset |old(~guard_malloc_counter~0.offset)|) (= ~guard_malloc_counter~0.base |old(~guard_malloc_counter~0.base)|))} ~size := #in~size; {1190#true} is VALID [2020-07-11 01:05:11,783 INFO L280 TraceCheckUtils]: 1: Hoare triple {1190#true} assume ~size > 0; {1190#true} is VALID [2020-07-11 01:05:11,784 INFO L280 TraceCheckUtils]: 2: Hoare triple {1190#true} #t~post28.base, #t~post28.offset := ~guard_malloc_counter~0.base, ~guard_malloc_counter~0.offset; {1190#true} is VALID [2020-07-11 01:05:11,784 INFO L280 TraceCheckUtils]: 3: Hoare triple {1190#true} ~guard_malloc_counter~0.base, ~guard_malloc_counter~0.offset := #t~post28.base, 1 + #t~post28.offset; {1190#true} is VALID [2020-07-11 01:05:11,785 INFO L280 TraceCheckUtils]: 4: Hoare triple {1190#true} havoc #t~post28.base, #t~post28.offset; {1190#true} is VALID [2020-07-11 01:05:11,785 INFO L280 TraceCheckUtils]: 5: Hoare triple {1190#true} assume -2147483648 <= #t~nondet29 && #t~nondet29 <= 2147483647; {1190#true} is VALID [2020-07-11 01:05:11,785 INFO L280 TraceCheckUtils]: 6: Hoare triple {1190#true} assume 0 == #t~nondet29; {1190#true} is VALID [2020-07-11 01:05:11,786 INFO L280 TraceCheckUtils]: 7: Hoare triple {1190#true} havoc #t~nondet29; {1190#true} is VALID [2020-07-11 01:05:11,787 INFO L280 TraceCheckUtils]: 8: Hoare triple {1190#true} #res.base, #res.offset := 0, 0; {1264#(and (<= |__getMemory_#res.base| 0) (<= |__getMemory_#res.offset| 0) (<= 0 |__getMemory_#res.offset|) (<= 0 |__getMemory_#res.base|))} is VALID [2020-07-11 01:05:11,791 INFO L280 TraceCheckUtils]: 9: Hoare triple {1264#(and (<= |__getMemory_#res.base| 0) (<= |__getMemory_#res.offset| 0) (<= 0 |__getMemory_#res.offset|) (<= 0 |__getMemory_#res.base|))} assume true; {1264#(and (<= |__getMemory_#res.base| 0) (<= |__getMemory_#res.offset| 0) (<= 0 |__getMemory_#res.offset|) (<= 0 |__getMemory_#res.base|))} is VALID [2020-07-11 01:05:11,792 INFO L275 TraceCheckUtils]: 10: Hoare quadruple {1264#(and (<= |__getMemory_#res.base| 0) (<= |__getMemory_#res.offset| 0) (<= 0 |__getMemory_#res.offset|) (<= 0 |__getMemory_#res.base|))} {1190#true} #92#return; {1262#(and (<= |my_malloc_#t~ret30.offset| 0) (<= 0 |my_malloc_#t~ret30.offset|) (<= 0 |my_malloc_#t~ret30.base|) (<= |my_malloc_#t~ret30.base| 0))} is VALID [2020-07-11 01:05:11,793 INFO L280 TraceCheckUtils]: 0: Hoare triple {1239#(and (= ~guard_malloc_counter~0.offset |old(~guard_malloc_counter~0.offset)|) (= ~guard_malloc_counter~0.base |old(~guard_malloc_counter~0.base)|))} ~size := #in~size; {1190#true} is VALID [2020-07-11 01:05:11,793 INFO L263 TraceCheckUtils]: 1: Hoare triple {1190#true} call #t~ret30.base, #t~ret30.offset := __getMemory(~size); {1239#(and (= ~guard_malloc_counter~0.offset |old(~guard_malloc_counter~0.offset)|) (= ~guard_malloc_counter~0.base |old(~guard_malloc_counter~0.base)|))} is VALID [2020-07-11 01:05:11,794 INFO L280 TraceCheckUtils]: 2: Hoare triple {1239#(and (= ~guard_malloc_counter~0.offset |old(~guard_malloc_counter~0.offset)|) (= ~guard_malloc_counter~0.base |old(~guard_malloc_counter~0.base)|))} ~size := #in~size; {1190#true} is VALID [2020-07-11 01:05:11,794 INFO L280 TraceCheckUtils]: 3: Hoare triple {1190#true} assume ~size > 0; {1190#true} is VALID [2020-07-11 01:05:11,795 INFO L280 TraceCheckUtils]: 4: Hoare triple {1190#true} #t~post28.base, #t~post28.offset := ~guard_malloc_counter~0.base, ~guard_malloc_counter~0.offset; {1190#true} is VALID [2020-07-11 01:05:11,795 INFO L280 TraceCheckUtils]: 5: Hoare triple {1190#true} ~guard_malloc_counter~0.base, ~guard_malloc_counter~0.offset := #t~post28.base, 1 + #t~post28.offset; {1190#true} is VALID [2020-07-11 01:05:11,795 INFO L280 TraceCheckUtils]: 6: Hoare triple {1190#true} havoc #t~post28.base, #t~post28.offset; {1190#true} is VALID [2020-07-11 01:05:11,795 INFO L280 TraceCheckUtils]: 7: Hoare triple {1190#true} assume -2147483648 <= #t~nondet29 && #t~nondet29 <= 2147483647; {1190#true} is VALID [2020-07-11 01:05:11,796 INFO L280 TraceCheckUtils]: 8: Hoare triple {1190#true} assume 0 == #t~nondet29; {1190#true} is VALID [2020-07-11 01:05:11,796 INFO L280 TraceCheckUtils]: 9: Hoare triple {1190#true} havoc #t~nondet29; {1190#true} is VALID [2020-07-11 01:05:11,797 INFO L280 TraceCheckUtils]: 10: Hoare triple {1190#true} #res.base, #res.offset := 0, 0; {1264#(and (<= |__getMemory_#res.base| 0) (<= |__getMemory_#res.offset| 0) (<= 0 |__getMemory_#res.offset|) (<= 0 |__getMemory_#res.base|))} is VALID [2020-07-11 01:05:11,797 INFO L280 TraceCheckUtils]: 11: Hoare triple {1264#(and (<= |__getMemory_#res.base| 0) (<= |__getMemory_#res.offset| 0) (<= 0 |__getMemory_#res.offset|) (<= 0 |__getMemory_#res.base|))} assume true; {1264#(and (<= |__getMemory_#res.base| 0) (<= |__getMemory_#res.offset| 0) (<= 0 |__getMemory_#res.offset|) (<= 0 |__getMemory_#res.base|))} is VALID [2020-07-11 01:05:11,798 INFO L275 TraceCheckUtils]: 12: Hoare quadruple {1264#(and (<= |__getMemory_#res.base| 0) (<= |__getMemory_#res.offset| 0) (<= 0 |__getMemory_#res.offset|) (<= 0 |__getMemory_#res.base|))} {1190#true} #92#return; {1262#(and (<= |my_malloc_#t~ret30.offset| 0) (<= 0 |my_malloc_#t~ret30.offset|) (<= 0 |my_malloc_#t~ret30.base|) (<= |my_malloc_#t~ret30.base| 0))} is VALID [2020-07-11 01:05:11,799 INFO L280 TraceCheckUtils]: 13: Hoare triple {1262#(and (<= |my_malloc_#t~ret30.offset| 0) (<= 0 |my_malloc_#t~ret30.offset|) (<= 0 |my_malloc_#t~ret30.base|) (<= |my_malloc_#t~ret30.base| 0))} #res.base, #res.offset := #t~ret30.base, #t~ret30.offset; {1263#(and (<= |my_malloc_#res.base| 0) (<= |my_malloc_#res.offset| 0) (<= 0 |my_malloc_#res.base|) (<= 0 |my_malloc_#res.offset|))} is VALID [2020-07-11 01:05:11,802 INFO L280 TraceCheckUtils]: 14: Hoare triple {1263#(and (<= |my_malloc_#res.base| 0) (<= |my_malloc_#res.offset| 0) (<= 0 |my_malloc_#res.base|) (<= 0 |my_malloc_#res.offset|))} havoc #t~ret30.base, #t~ret30.offset; {1263#(and (<= |my_malloc_#res.base| 0) (<= |my_malloc_#res.offset| 0) (<= 0 |my_malloc_#res.base|) (<= 0 |my_malloc_#res.offset|))} is VALID [2020-07-11 01:05:11,804 INFO L280 TraceCheckUtils]: 15: Hoare triple {1263#(and (<= |my_malloc_#res.base| 0) (<= |my_malloc_#res.offset| 0) (<= 0 |my_malloc_#res.base|) (<= 0 |my_malloc_#res.offset|))} assume true; {1263#(and (<= |my_malloc_#res.base| 0) (<= |my_malloc_#res.offset| 0) (<= 0 |my_malloc_#res.base|) (<= 0 |my_malloc_#res.offset|))} is VALID [2020-07-11 01:05:11,806 INFO L275 TraceCheckUtils]: 16: Hoare quadruple {1263#(and (<= |my_malloc_#res.base| 0) (<= |my_malloc_#res.offset| 0) (<= 0 |my_malloc_#res.base|) (<= 0 |my_malloc_#res.offset|))} {1190#true} #96#return; {1236#(and (= 0 |main_#t~ret33.offset|) (= 0 |main_#t~ret33.base|))} is VALID [2020-07-11 01:05:11,809 INFO L263 TraceCheckUtils]: 0: Hoare triple {1190#true} call ULTIMATE.init(); {1238#(and (= |#valid| |old(#valid)|) (= ~elem~0.base |old(~elem~0.base)|) (= |#NULL.base| |old(#NULL.base)|) (= |~#head~0.base| |old(~#head~0.base)|) (= ~guard_malloc_counter~0.offset |old(~guard_malloc_counter~0.offset)|) (= |#NULL.offset| |old(#NULL.offset)|) (= ~elem~0.offset |old(~elem~0.offset)|) (= |old(#length)| |#length|) (= |~#head~0.offset| |old(~#head~0.offset)|) (= ~guard_malloc_counter~0.base |old(~guard_malloc_counter~0.base)|))} is VALID [2020-07-11 01:05:11,809 INFO L280 TraceCheckUtils]: 1: Hoare triple {1238#(and (= |#valid| |old(#valid)|) (= ~elem~0.base |old(~elem~0.base)|) (= |#NULL.base| |old(#NULL.base)|) (= |~#head~0.base| |old(~#head~0.base)|) (= ~guard_malloc_counter~0.offset |old(~guard_malloc_counter~0.offset)|) (= |#NULL.offset| |old(#NULL.offset)|) (= ~elem~0.offset |old(~elem~0.offset)|) (= |old(#length)| |#length|) (= |~#head~0.offset| |old(~#head~0.offset)|) (= ~guard_malloc_counter~0.base |old(~guard_malloc_counter~0.base)|))} #NULL.base, #NULL.offset := 0, 0; {1190#true} is VALID [2020-07-11 01:05:11,809 INFO L280 TraceCheckUtils]: 2: Hoare triple {1190#true} #valid := #valid[0 := 0]; {1190#true} is VALID [2020-07-11 01:05:11,809 INFO L280 TraceCheckUtils]: 3: Hoare triple {1190#true} assume 0 < #StackHeapBarrier; {1190#true} is VALID [2020-07-11 01:05:11,810 INFO L280 TraceCheckUtils]: 4: Hoare triple {1190#true} ~guard_malloc_counter~0.base, ~guard_malloc_counter~0.offset := 0, 0; {1190#true} is VALID [2020-07-11 01:05:11,810 INFO L280 TraceCheckUtils]: 5: Hoare triple {1190#true} ~elem~0.base, ~elem~0.offset := 0, 0; {1190#true} is VALID [2020-07-11 01:05:11,810 INFO L280 TraceCheckUtils]: 6: Hoare triple {1190#true} SUMMARY for call ~#head~0.base, ~#head~0.offset := #Ultimate.allocOnStack(8); srcloc: L900 {1190#true} is VALID [2020-07-11 01:05:11,810 INFO L280 TraceCheckUtils]: 7: Hoare triple {1190#true} SUMMARY for call write~init~$Pointer$(0, 0, ~#head~0.base, ~#head~0.offset, 4); srcloc: L900-1 {1190#true} is VALID [2020-07-11 01:05:11,811 INFO L280 TraceCheckUtils]: 8: Hoare triple {1190#true} SUMMARY for call write~init~$Pointer$(0, 0, ~#head~0.base, 4 + ~#head~0.offset, 4); srcloc: L900-2 {1190#true} is VALID [2020-07-11 01:05:11,811 INFO L280 TraceCheckUtils]: 9: Hoare triple {1190#true} assume true; {1190#true} is VALID [2020-07-11 01:05:11,811 INFO L275 TraceCheckUtils]: 10: Hoare quadruple {1190#true} {1190#true} #112#return; {1190#true} is VALID [2020-07-11 01:05:11,811 INFO L263 TraceCheckUtils]: 11: Hoare triple {1190#true} call #t~ret34 := main(); {1190#true} is VALID [2020-07-11 01:05:11,811 INFO L280 TraceCheckUtils]: 12: Hoare triple {1190#true} havoc ~dev1~0.base, ~dev1~0.offset; {1190#true} is VALID [2020-07-11 01:05:11,812 INFO L280 TraceCheckUtils]: 13: Hoare triple {1190#true} havoc ~dev2~0.base, ~dev2~0.offset; {1190#true} is VALID [2020-07-11 01:05:11,813 INFO L263 TraceCheckUtils]: 14: Hoare triple {1190#true} call #t~ret32.base, #t~ret32.offset := my_malloc(8); {1239#(and (= ~guard_malloc_counter~0.offset |old(~guard_malloc_counter~0.offset)|) (= ~guard_malloc_counter~0.base |old(~guard_malloc_counter~0.base)|))} is VALID [2020-07-11 01:05:11,813 INFO L280 TraceCheckUtils]: 15: Hoare triple {1239#(and (= ~guard_malloc_counter~0.offset |old(~guard_malloc_counter~0.offset)|) (= ~guard_malloc_counter~0.base |old(~guard_malloc_counter~0.base)|))} ~size := #in~size; {1190#true} is VALID [2020-07-11 01:05:11,815 INFO L263 TraceCheckUtils]: 16: Hoare triple {1190#true} call #t~ret30.base, #t~ret30.offset := __getMemory(~size); {1239#(and (= ~guard_malloc_counter~0.offset |old(~guard_malloc_counter~0.offset)|) (= ~guard_malloc_counter~0.base |old(~guard_malloc_counter~0.base)|))} is VALID [2020-07-11 01:05:11,815 INFO L280 TraceCheckUtils]: 17: Hoare triple {1239#(and (= ~guard_malloc_counter~0.offset |old(~guard_malloc_counter~0.offset)|) (= ~guard_malloc_counter~0.base |old(~guard_malloc_counter~0.base)|))} ~size := #in~size; {1190#true} is VALID [2020-07-11 01:05:11,816 INFO L280 TraceCheckUtils]: 18: Hoare triple {1190#true} assume ~size > 0; {1190#true} is VALID [2020-07-11 01:05:11,816 INFO L280 TraceCheckUtils]: 19: Hoare triple {1190#true} #t~post28.base, #t~post28.offset := ~guard_malloc_counter~0.base, ~guard_malloc_counter~0.offset; {1190#true} is VALID [2020-07-11 01:05:11,816 INFO L280 TraceCheckUtils]: 20: Hoare triple {1190#true} ~guard_malloc_counter~0.base, ~guard_malloc_counter~0.offset := #t~post28.base, 1 + #t~post28.offset; {1190#true} is VALID [2020-07-11 01:05:11,816 INFO L280 TraceCheckUtils]: 21: Hoare triple {1190#true} havoc #t~post28.base, #t~post28.offset; {1190#true} is VALID [2020-07-11 01:05:11,817 INFO L280 TraceCheckUtils]: 22: Hoare triple {1190#true} assume -2147483648 <= #t~nondet29 && #t~nondet29 <= 2147483647; {1190#true} is VALID [2020-07-11 01:05:11,817 INFO L280 TraceCheckUtils]: 23: Hoare triple {1190#true} assume !(0 == #t~nondet29); {1190#true} is VALID [2020-07-11 01:05:11,817 INFO L280 TraceCheckUtils]: 24: Hoare triple {1190#true} havoc #t~nondet29; {1190#true} is VALID [2020-07-11 01:05:11,817 INFO L280 TraceCheckUtils]: 25: Hoare triple {1190#true} #res.base, #res.offset := ~guard_malloc_counter~0.base, ~guard_malloc_counter~0.offset; {1190#true} is VALID [2020-07-11 01:05:11,818 INFO L280 TraceCheckUtils]: 26: Hoare triple {1190#true} assume true; {1190#true} is VALID [2020-07-11 01:05:11,818 INFO L275 TraceCheckUtils]: 27: Hoare quadruple {1190#true} {1190#true} #92#return; {1190#true} is VALID [2020-07-11 01:05:11,818 INFO L280 TraceCheckUtils]: 28: Hoare triple {1190#true} #res.base, #res.offset := #t~ret30.base, #t~ret30.offset; {1190#true} is VALID [2020-07-11 01:05:11,818 INFO L280 TraceCheckUtils]: 29: Hoare triple {1190#true} havoc #t~ret30.base, #t~ret30.offset; {1190#true} is VALID [2020-07-11 01:05:11,818 INFO L280 TraceCheckUtils]: 30: Hoare triple {1190#true} assume true; {1190#true} is VALID [2020-07-11 01:05:11,819 INFO L275 TraceCheckUtils]: 31: Hoare quadruple {1190#true} {1190#true} #94#return; {1190#true} is VALID [2020-07-11 01:05:11,819 INFO L280 TraceCheckUtils]: 32: Hoare triple {1190#true} ~dev1~0.base, ~dev1~0.offset := #t~ret32.base, #t~ret32.offset; {1190#true} is VALID [2020-07-11 01:05:11,819 INFO L280 TraceCheckUtils]: 33: Hoare triple {1190#true} havoc #t~ret32.base, #t~ret32.offset; {1190#true} is VALID [2020-07-11 01:05:11,820 INFO L263 TraceCheckUtils]: 34: Hoare triple {1190#true} call #t~ret33.base, #t~ret33.offset := my_malloc(8); {1239#(and (= ~guard_malloc_counter~0.offset |old(~guard_malloc_counter~0.offset)|) (= ~guard_malloc_counter~0.base |old(~guard_malloc_counter~0.base)|))} is VALID [2020-07-11 01:05:11,821 INFO L280 TraceCheckUtils]: 35: Hoare triple {1239#(and (= ~guard_malloc_counter~0.offset |old(~guard_malloc_counter~0.offset)|) (= ~guard_malloc_counter~0.base |old(~guard_malloc_counter~0.base)|))} ~size := #in~size; {1190#true} is VALID [2020-07-11 01:05:11,824 INFO L263 TraceCheckUtils]: 36: Hoare triple {1190#true} call #t~ret30.base, #t~ret30.offset := __getMemory(~size); {1239#(and (= ~guard_malloc_counter~0.offset |old(~guard_malloc_counter~0.offset)|) (= ~guard_malloc_counter~0.base |old(~guard_malloc_counter~0.base)|))} is VALID [2020-07-11 01:05:11,824 INFO L280 TraceCheckUtils]: 37: Hoare triple {1239#(and (= ~guard_malloc_counter~0.offset |old(~guard_malloc_counter~0.offset)|) (= ~guard_malloc_counter~0.base |old(~guard_malloc_counter~0.base)|))} ~size := #in~size; {1190#true} is VALID [2020-07-11 01:05:11,825 INFO L280 TraceCheckUtils]: 38: Hoare triple {1190#true} assume ~size > 0; {1190#true} is VALID [2020-07-11 01:05:11,825 INFO L280 TraceCheckUtils]: 39: Hoare triple {1190#true} #t~post28.base, #t~post28.offset := ~guard_malloc_counter~0.base, ~guard_malloc_counter~0.offset; {1190#true} is VALID [2020-07-11 01:05:11,825 INFO L280 TraceCheckUtils]: 40: Hoare triple {1190#true} ~guard_malloc_counter~0.base, ~guard_malloc_counter~0.offset := #t~post28.base, 1 + #t~post28.offset; {1190#true} is VALID [2020-07-11 01:05:11,825 INFO L280 TraceCheckUtils]: 41: Hoare triple {1190#true} havoc #t~post28.base, #t~post28.offset; {1190#true} is VALID [2020-07-11 01:05:11,826 INFO L280 TraceCheckUtils]: 42: Hoare triple {1190#true} assume -2147483648 <= #t~nondet29 && #t~nondet29 <= 2147483647; {1190#true} is VALID [2020-07-11 01:05:11,826 INFO L280 TraceCheckUtils]: 43: Hoare triple {1190#true} assume 0 == #t~nondet29; {1190#true} is VALID [2020-07-11 01:05:11,826 INFO L280 TraceCheckUtils]: 44: Hoare triple {1190#true} havoc #t~nondet29; {1190#true} is VALID [2020-07-11 01:05:11,827 INFO L280 TraceCheckUtils]: 45: Hoare triple {1190#true} #res.base, #res.offset := 0, 0; {1264#(and (<= |__getMemory_#res.base| 0) (<= |__getMemory_#res.offset| 0) (<= 0 |__getMemory_#res.offset|) (<= 0 |__getMemory_#res.base|))} is VALID [2020-07-11 01:05:11,828 INFO L280 TraceCheckUtils]: 46: Hoare triple {1264#(and (<= |__getMemory_#res.base| 0) (<= |__getMemory_#res.offset| 0) (<= 0 |__getMemory_#res.offset|) (<= 0 |__getMemory_#res.base|))} assume true; {1264#(and (<= |__getMemory_#res.base| 0) (<= |__getMemory_#res.offset| 0) (<= 0 |__getMemory_#res.offset|) (<= 0 |__getMemory_#res.base|))} is VALID [2020-07-11 01:05:11,829 INFO L275 TraceCheckUtils]: 47: Hoare quadruple {1264#(and (<= |__getMemory_#res.base| 0) (<= |__getMemory_#res.offset| 0) (<= 0 |__getMemory_#res.offset|) (<= 0 |__getMemory_#res.base|))} {1190#true} #92#return; {1262#(and (<= |my_malloc_#t~ret30.offset| 0) (<= 0 |my_malloc_#t~ret30.offset|) (<= 0 |my_malloc_#t~ret30.base|) (<= |my_malloc_#t~ret30.base| 0))} is VALID [2020-07-11 01:05:11,830 INFO L280 TraceCheckUtils]: 48: Hoare triple {1262#(and (<= |my_malloc_#t~ret30.offset| 0) (<= 0 |my_malloc_#t~ret30.offset|) (<= 0 |my_malloc_#t~ret30.base|) (<= |my_malloc_#t~ret30.base| 0))} #res.base, #res.offset := #t~ret30.base, #t~ret30.offset; {1263#(and (<= |my_malloc_#res.base| 0) (<= |my_malloc_#res.offset| 0) (<= 0 |my_malloc_#res.base|) (<= 0 |my_malloc_#res.offset|))} is VALID [2020-07-11 01:05:11,830 INFO L280 TraceCheckUtils]: 49: Hoare triple {1263#(and (<= |my_malloc_#res.base| 0) (<= |my_malloc_#res.offset| 0) (<= 0 |my_malloc_#res.base|) (<= 0 |my_malloc_#res.offset|))} havoc #t~ret30.base, #t~ret30.offset; {1263#(and (<= |my_malloc_#res.base| 0) (<= |my_malloc_#res.offset| 0) (<= 0 |my_malloc_#res.base|) (<= 0 |my_malloc_#res.offset|))} is VALID [2020-07-11 01:05:11,831 INFO L280 TraceCheckUtils]: 50: Hoare triple {1263#(and (<= |my_malloc_#res.base| 0) (<= |my_malloc_#res.offset| 0) (<= 0 |my_malloc_#res.base|) (<= 0 |my_malloc_#res.offset|))} assume true; {1263#(and (<= |my_malloc_#res.base| 0) (<= |my_malloc_#res.offset| 0) (<= 0 |my_malloc_#res.base|) (<= 0 |my_malloc_#res.offset|))} is VALID [2020-07-11 01:05:11,833 INFO L275 TraceCheckUtils]: 51: Hoare quadruple {1263#(and (<= |my_malloc_#res.base| 0) (<= |my_malloc_#res.offset| 0) (<= 0 |my_malloc_#res.base|) (<= 0 |my_malloc_#res.offset|))} {1190#true} #96#return; {1236#(and (= 0 |main_#t~ret33.offset|) (= 0 |main_#t~ret33.base|))} is VALID [2020-07-11 01:05:11,834 INFO L280 TraceCheckUtils]: 52: Hoare triple {1236#(and (= 0 |main_#t~ret33.offset|) (= 0 |main_#t~ret33.base|))} ~dev2~0.base, ~dev2~0.offset := #t~ret33.base, #t~ret33.offset; {1237#(and (= 0 main_~dev2~0.offset) (= main_~dev2~0.base 0))} is VALID [2020-07-11 01:05:11,835 INFO L280 TraceCheckUtils]: 53: Hoare triple {1237#(and (= 0 main_~dev2~0.offset) (= main_~dev2~0.base 0))} havoc #t~ret33.base, #t~ret33.offset; {1237#(and (= 0 main_~dev2~0.offset) (= main_~dev2~0.base 0))} is VALID [2020-07-11 01:05:11,835 INFO L280 TraceCheckUtils]: 54: Hoare triple {1237#(and (= 0 main_~dev2~0.offset) (= main_~dev2~0.base 0))} assume (~dev1~0.base != 0 || ~dev1~0.offset != 0) && (~dev2~0.base != 0 || ~dev2~0.offset != 0); {1191#false} is VALID [2020-07-11 01:05:11,836 INFO L263 TraceCheckUtils]: 55: Hoare triple {1191#false} call list_add(~dev2~0.base, ~dev2~0.offset, ~#head~0.base, ~#head~0.offset); {1191#false} is VALID [2020-07-11 01:05:11,836 INFO L280 TraceCheckUtils]: 56: Hoare triple {1191#false} ~new.base, ~new.offset := #in~new.base, #in~new.offset; {1191#false} is VALID [2020-07-11 01:05:11,836 INFO L280 TraceCheckUtils]: 57: Hoare triple {1191#false} ~head.base, ~head.offset := #in~head.base, #in~head.offset; {1191#false} is VALID [2020-07-11 01:05:11,836 INFO L280 TraceCheckUtils]: 58: Hoare triple {1191#false} assume !(~new.base != ~elem~0.base || ~new.offset != ~elem~0.offset); {1191#false} is VALID [2020-07-11 01:05:11,837 INFO L263 TraceCheckUtils]: 59: Hoare triple {1191#false} call __blast_assert(); {1191#false} is VALID [2020-07-11 01:05:11,837 INFO L280 TraceCheckUtils]: 60: Hoare triple {1191#false} assume !false; {1191#false} is VALID [2020-07-11 01:05:11,842 INFO L134 CoverageAnalysis]: Checked inductivity of 15 backedges. 6 proven. 0 refuted. 0 times theorem prover too weak. 9 trivial. 0 not checked. [2020-07-11 01:05:11,843 INFO L354 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModulePreferences [1987109724] [2020-07-11 01:05:11,843 INFO L220 FreeRefinementEngine]: Constructing automaton from 1 perfect and 0 imperfect interpolant sequences. [2020-07-11 01:05:11,843 INFO L233 FreeRefinementEngine]: Number of different interpolants: perfect sequences [9] imperfect sequences [] total 9 [2020-07-11 01:05:11,843 INFO L156 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [634653343] [2020-07-11 01:05:11,844 INFO L78 Accepts]: Start accepts. Automaton has 9 states. Word has length 61 [2020-07-11 01:05:11,844 INFO L84 Accepts]: Finished accepts. word is accepted. [2020-07-11 01:05:11,844 INFO L86 InductivityCheck]: Starting indutivity check of a Floyd-Hoare automaton with 9 states. [2020-07-11 01:05:11,899 INFO L119 InductivityCheck]: Floyd-Hoare automaton has 53 edges. 53 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2020-07-11 01:05:11,900 INFO L459 AbstractCegarLoop]: Interpolant automaton has 9 states [2020-07-11 01:05:11,900 INFO L143 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy FIXED_PREFERENCES [2020-07-11 01:05:11,901 INFO L142 InterpolantAutomaton]: Constructing interpolant automaton starting with 9 interpolants. [2020-07-11 01:05:11,901 INFO L144 InterpolantAutomaton]: CoverageRelationStatistics Valid=16, Invalid=56, Unknown=0, NotChecked=0, Total=72 [2020-07-11 01:05:11,901 INFO L87 Difference]: Start difference. First operand 69 states and 75 transitions. Second operand 9 states. [2020-07-11 01:05:13,158 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2020-07-11 01:05:13,158 INFO L93 Difference]: Finished difference Result 99 states and 111 transitions. [2020-07-11 01:05:13,158 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 11 states. [2020-07-11 01:05:13,158 INFO L78 Accepts]: Start accepts. Automaton has 9 states. Word has length 61 [2020-07-11 01:05:13,159 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2020-07-11 01:05:13,159 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 9 states. [2020-07-11 01:05:13,162 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 11 states to 11 states and 111 transitions. [2020-07-11 01:05:13,163 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 9 states. [2020-07-11 01:05:13,166 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 11 states to 11 states and 111 transitions. [2020-07-11 01:05:13,166 INFO L86 InductivityCheck]: Starting indutivity check of a Floyd-Hoare automaton with 11 states and 111 transitions. [2020-07-11 01:05:13,358 INFO L119 InductivityCheck]: Floyd-Hoare automaton has 111 edges. 111 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2020-07-11 01:05:13,361 INFO L225 Difference]: With dead ends: 99 [2020-07-11 01:05:13,363 INFO L226 Difference]: Without dead ends: 65 [2020-07-11 01:05:13,366 INFO L675 BasicCegarLoop]: 0 DeclaredPredicates, 19 GetRequests, 10 SyntacticMatches, 0 SemanticMatches, 9 ConstructedPredicates, 0 IntricatePredicates, 0 DeprecatedPredicates, 4 ImplicationChecksByTransitivity, 0.1s TimeCoverageRelationStatistics Valid=24, Invalid=86, Unknown=0, NotChecked=0, Total=110 [2020-07-11 01:05:13,366 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 65 states. [2020-07-11 01:05:13,532 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 65 to 61. [2020-07-11 01:05:13,533 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2020-07-11 01:05:13,533 INFO L82 GeneralOperation]: Start isEquivalent. First operand 65 states. Second operand 61 states. [2020-07-11 01:05:13,533 INFO L74 IsIncluded]: Start isIncluded. First operand 65 states. Second operand 61 states. [2020-07-11 01:05:13,533 INFO L87 Difference]: Start difference. First operand 65 states. Second operand 61 states. [2020-07-11 01:05:13,538 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2020-07-11 01:05:13,538 INFO L93 Difference]: Finished difference Result 65 states and 72 transitions. [2020-07-11 01:05:13,539 INFO L276 IsEmpty]: Start isEmpty. Operand 65 states and 72 transitions. [2020-07-11 01:05:13,540 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2020-07-11 01:05:13,540 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2020-07-11 01:05:13,540 INFO L74 IsIncluded]: Start isIncluded. First operand 61 states. Second operand 65 states. [2020-07-11 01:05:13,540 INFO L87 Difference]: Start difference. First operand 61 states. Second operand 65 states. [2020-07-11 01:05:13,544 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2020-07-11 01:05:13,544 INFO L93 Difference]: Finished difference Result 65 states and 72 transitions. [2020-07-11 01:05:13,544 INFO L276 IsEmpty]: Start isEmpty. Operand 65 states and 72 transitions. [2020-07-11 01:05:13,545 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2020-07-11 01:05:13,545 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2020-07-11 01:05:13,546 INFO L88 GeneralOperation]: Finished isEquivalent. [2020-07-11 01:05:13,546 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2020-07-11 01:05:13,546 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 61 states. [2020-07-11 01:05:13,549 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 61 states to 61 states and 66 transitions. [2020-07-11 01:05:13,549 INFO L78 Accepts]: Start accepts. Automaton has 61 states and 66 transitions. Word has length 61 [2020-07-11 01:05:13,549 INFO L84 Accepts]: Finished accepts. word is rejected. [2020-07-11 01:05:13,549 INFO L479 AbstractCegarLoop]: Abstraction has 61 states and 66 transitions. [2020-07-11 01:05:13,549 INFO L480 AbstractCegarLoop]: Interpolant automaton has 9 states. [2020-07-11 01:05:13,550 INFO L86 InductivityCheck]: Starting indutivity check of a Floyd-Hoare automaton with 61 states and 66 transitions. [2020-07-11 01:05:13,687 INFO L119 InductivityCheck]: Floyd-Hoare automaton has 66 edges. 66 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2020-07-11 01:05:13,687 INFO L276 IsEmpty]: Start isEmpty. Operand 61 states and 66 transitions. [2020-07-11 01:05:13,689 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 62 [2020-07-11 01:05:13,689 INFO L414 BasicCegarLoop]: Found error trace [2020-07-11 01:05:13,689 INFO L422 BasicCegarLoop]: trace histogram [2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1] [2020-07-11 01:05:13,690 WARN L516 AbstractCegarLoop]: Destroyed unattended storables created during the last iteration: SelfDestructingSolverStorable2 [2020-07-11 01:05:13,690 INFO L427 AbstractCegarLoop]: === Iteration 4 === [__blast_assertErr0ASSERT_VIOLATIONERROR_FUNCTION]=== [2020-07-11 01:05:13,690 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2020-07-11 01:05:13,690 INFO L82 PathProgramCache]: Analyzing trace with hash -1723385860, now seen corresponding path program 1 times [2020-07-11 01:05:13,690 INFO L163 FreeRefinementEngine]: Executing refinement strategy FIXED_PREFERENCES [2020-07-11 01:05:13,691 INFO L354 FreeRefinementEngine]: Using trace check IpTcStrategyModulePreferences [2062599878] [2020-07-11 01:05:13,691 INFO L94 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2020-07-11 01:05:13,712 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2020-07-11 01:05:13,898 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2020-07-11 01:05:13,930 INFO L280 TraceCheckUtils]: 0: Hoare triple {1773#(and (= |#valid| |old(#valid)|) (= ~elem~0.base |old(~elem~0.base)|) (= |#NULL.base| |old(#NULL.base)|) (= |~#head~0.base| |old(~#head~0.base)|) (= ~guard_malloc_counter~0.offset |old(~guard_malloc_counter~0.offset)|) (= |#NULL.offset| |old(#NULL.offset)|) (= ~elem~0.offset |old(~elem~0.offset)|) (= |old(#length)| |#length|) (= |~#head~0.offset| |old(~#head~0.offset)|) (= ~guard_malloc_counter~0.base |old(~guard_malloc_counter~0.base)|))} #NULL.base, #NULL.offset := 0, 0; {1721#true} is VALID [2020-07-11 01:05:13,931 INFO L280 TraceCheckUtils]: 1: Hoare triple {1721#true} #valid := #valid[0 := 0]; {1721#true} is VALID [2020-07-11 01:05:13,931 INFO L280 TraceCheckUtils]: 2: Hoare triple {1721#true} assume 0 < #StackHeapBarrier; {1721#true} is VALID [2020-07-11 01:05:13,931 INFO L280 TraceCheckUtils]: 3: Hoare triple {1721#true} ~guard_malloc_counter~0.base, ~guard_malloc_counter~0.offset := 0, 0; {1774#(= 0 ~guard_malloc_counter~0.offset)} is VALID [2020-07-11 01:05:13,933 INFO L280 TraceCheckUtils]: 4: Hoare triple {1774#(= 0 ~guard_malloc_counter~0.offset)} ~elem~0.base, ~elem~0.offset := 0, 0; {1733#(and (= 0 ~elem~0.offset) (= 0 ~guard_malloc_counter~0.offset))} is VALID [2020-07-11 01:05:13,934 INFO L280 TraceCheckUtils]: 5: Hoare triple {1733#(and (= 0 ~elem~0.offset) (= 0 ~guard_malloc_counter~0.offset))} SUMMARY for call ~#head~0.base, ~#head~0.offset := #Ultimate.allocOnStack(8); srcloc: L900 {1733#(and (= 0 ~elem~0.offset) (= 0 ~guard_malloc_counter~0.offset))} is VALID [2020-07-11 01:05:13,935 INFO L280 TraceCheckUtils]: 6: Hoare triple {1733#(and (= 0 ~elem~0.offset) (= 0 ~guard_malloc_counter~0.offset))} SUMMARY for call write~init~$Pointer$(0, 0, ~#head~0.base, ~#head~0.offset, 4); srcloc: L900-1 {1733#(and (= 0 ~elem~0.offset) (= 0 ~guard_malloc_counter~0.offset))} is VALID [2020-07-11 01:05:13,936 INFO L280 TraceCheckUtils]: 7: Hoare triple {1733#(and (= 0 ~elem~0.offset) (= 0 ~guard_malloc_counter~0.offset))} SUMMARY for call write~init~$Pointer$(0, 0, ~#head~0.base, 4 + ~#head~0.offset, 4); srcloc: L900-2 {1733#(and (= 0 ~elem~0.offset) (= 0 ~guard_malloc_counter~0.offset))} is VALID [2020-07-11 01:05:13,937 INFO L280 TraceCheckUtils]: 8: Hoare triple {1733#(and (= 0 ~elem~0.offset) (= 0 ~guard_malloc_counter~0.offset))} assume true; {1733#(and (= 0 ~elem~0.offset) (= 0 ~guard_malloc_counter~0.offset))} is VALID [2020-07-11 01:05:13,938 INFO L275 TraceCheckUtils]: 9: Hoare quadruple {1733#(and (= 0 ~elem~0.offset) (= 0 ~guard_malloc_counter~0.offset))} {1721#true} #112#return; {1733#(and (= 0 ~elem~0.offset) (= 0 ~guard_malloc_counter~0.offset))} is VALID [2020-07-11 01:05:13,960 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2020-07-11 01:05:14,015 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2020-07-11 01:05:14,045 INFO L280 TraceCheckUtils]: 0: Hoare triple {1775#(and (= ~guard_malloc_counter~0.offset |old(~guard_malloc_counter~0.offset)|) (= ~guard_malloc_counter~0.base |old(~guard_malloc_counter~0.base)|))} ~size := #in~size; {1776#(= ~guard_malloc_counter~0.offset |old(~guard_malloc_counter~0.offset)|)} is VALID [2020-07-11 01:05:14,046 INFO L280 TraceCheckUtils]: 1: Hoare triple {1776#(= ~guard_malloc_counter~0.offset |old(~guard_malloc_counter~0.offset)|)} assume ~size > 0; {1776#(= ~guard_malloc_counter~0.offset |old(~guard_malloc_counter~0.offset)|)} is VALID [2020-07-11 01:05:14,047 INFO L280 TraceCheckUtils]: 2: Hoare triple {1776#(= ~guard_malloc_counter~0.offset |old(~guard_malloc_counter~0.offset)|)} #t~post28.base, #t~post28.offset := ~guard_malloc_counter~0.base, ~guard_malloc_counter~0.offset; {1789#(= |old(~guard_malloc_counter~0.offset)| |__getMemory_#t~post28.offset|)} is VALID [2020-07-11 01:05:14,048 INFO L280 TraceCheckUtils]: 3: Hoare triple {1789#(= |old(~guard_malloc_counter~0.offset)| |__getMemory_#t~post28.offset|)} ~guard_malloc_counter~0.base, ~guard_malloc_counter~0.offset := #t~post28.base, 1 + #t~post28.offset; {1788#(<= (+ |old(~guard_malloc_counter~0.offset)| 1) ~guard_malloc_counter~0.offset)} is VALID [2020-07-11 01:05:14,049 INFO L280 TraceCheckUtils]: 4: Hoare triple {1788#(<= (+ |old(~guard_malloc_counter~0.offset)| 1) ~guard_malloc_counter~0.offset)} havoc #t~post28.base, #t~post28.offset; {1788#(<= (+ |old(~guard_malloc_counter~0.offset)| 1) ~guard_malloc_counter~0.offset)} is VALID [2020-07-11 01:05:14,049 INFO L280 TraceCheckUtils]: 5: Hoare triple {1788#(<= (+ |old(~guard_malloc_counter~0.offset)| 1) ~guard_malloc_counter~0.offset)} assume -2147483648 <= #t~nondet29 && #t~nondet29 <= 2147483647; {1788#(<= (+ |old(~guard_malloc_counter~0.offset)| 1) ~guard_malloc_counter~0.offset)} is VALID [2020-07-11 01:05:14,050 INFO L280 TraceCheckUtils]: 6: Hoare triple {1788#(<= (+ |old(~guard_malloc_counter~0.offset)| 1) ~guard_malloc_counter~0.offset)} assume !(0 == #t~nondet29); {1788#(<= (+ |old(~guard_malloc_counter~0.offset)| 1) ~guard_malloc_counter~0.offset)} is VALID [2020-07-11 01:05:14,050 INFO L280 TraceCheckUtils]: 7: Hoare triple {1788#(<= (+ |old(~guard_malloc_counter~0.offset)| 1) ~guard_malloc_counter~0.offset)} havoc #t~nondet29; {1788#(<= (+ |old(~guard_malloc_counter~0.offset)| 1) ~guard_malloc_counter~0.offset)} is VALID [2020-07-11 01:05:14,051 INFO L280 TraceCheckUtils]: 8: Hoare triple {1788#(<= (+ |old(~guard_malloc_counter~0.offset)| 1) ~guard_malloc_counter~0.offset)} #res.base, #res.offset := ~guard_malloc_counter~0.base, ~guard_malloc_counter~0.offset; {1788#(<= (+ |old(~guard_malloc_counter~0.offset)| 1) ~guard_malloc_counter~0.offset)} is VALID [2020-07-11 01:05:14,052 INFO L280 TraceCheckUtils]: 9: Hoare triple {1788#(<= (+ |old(~guard_malloc_counter~0.offset)| 1) ~guard_malloc_counter~0.offset)} assume true; {1788#(<= (+ |old(~guard_malloc_counter~0.offset)| 1) ~guard_malloc_counter~0.offset)} is VALID [2020-07-11 01:05:14,053 INFO L275 TraceCheckUtils]: 10: Hoare quadruple {1788#(<= (+ |old(~guard_malloc_counter~0.offset)| 1) ~guard_malloc_counter~0.offset)} {1776#(= ~guard_malloc_counter~0.offset |old(~guard_malloc_counter~0.offset)|)} #92#return; {1788#(<= (+ |old(~guard_malloc_counter~0.offset)| 1) ~guard_malloc_counter~0.offset)} is VALID [2020-07-11 01:05:14,054 INFO L280 TraceCheckUtils]: 0: Hoare triple {1775#(and (= ~guard_malloc_counter~0.offset |old(~guard_malloc_counter~0.offset)|) (= ~guard_malloc_counter~0.base |old(~guard_malloc_counter~0.base)|))} ~size := #in~size; {1776#(= ~guard_malloc_counter~0.offset |old(~guard_malloc_counter~0.offset)|)} is VALID [2020-07-11 01:05:14,055 INFO L263 TraceCheckUtils]: 1: Hoare triple {1776#(= ~guard_malloc_counter~0.offset |old(~guard_malloc_counter~0.offset)|)} call #t~ret30.base, #t~ret30.offset := __getMemory(~size); {1775#(and (= ~guard_malloc_counter~0.offset |old(~guard_malloc_counter~0.offset)|) (= ~guard_malloc_counter~0.base |old(~guard_malloc_counter~0.base)|))} is VALID [2020-07-11 01:05:14,055 INFO L280 TraceCheckUtils]: 2: Hoare triple {1775#(and (= ~guard_malloc_counter~0.offset |old(~guard_malloc_counter~0.offset)|) (= ~guard_malloc_counter~0.base |old(~guard_malloc_counter~0.base)|))} ~size := #in~size; {1776#(= ~guard_malloc_counter~0.offset |old(~guard_malloc_counter~0.offset)|)} is VALID [2020-07-11 01:05:14,056 INFO L280 TraceCheckUtils]: 3: Hoare triple {1776#(= ~guard_malloc_counter~0.offset |old(~guard_malloc_counter~0.offset)|)} assume ~size > 0; {1776#(= ~guard_malloc_counter~0.offset |old(~guard_malloc_counter~0.offset)|)} is VALID [2020-07-11 01:05:14,057 INFO L280 TraceCheckUtils]: 4: Hoare triple {1776#(= ~guard_malloc_counter~0.offset |old(~guard_malloc_counter~0.offset)|)} #t~post28.base, #t~post28.offset := ~guard_malloc_counter~0.base, ~guard_malloc_counter~0.offset; {1789#(= |old(~guard_malloc_counter~0.offset)| |__getMemory_#t~post28.offset|)} is VALID [2020-07-11 01:05:14,057 INFO L280 TraceCheckUtils]: 5: Hoare triple {1789#(= |old(~guard_malloc_counter~0.offset)| |__getMemory_#t~post28.offset|)} ~guard_malloc_counter~0.base, ~guard_malloc_counter~0.offset := #t~post28.base, 1 + #t~post28.offset; {1788#(<= (+ |old(~guard_malloc_counter~0.offset)| 1) ~guard_malloc_counter~0.offset)} is VALID [2020-07-11 01:05:14,058 INFO L280 TraceCheckUtils]: 6: Hoare triple {1788#(<= (+ |old(~guard_malloc_counter~0.offset)| 1) ~guard_malloc_counter~0.offset)} havoc #t~post28.base, #t~post28.offset; {1788#(<= (+ |old(~guard_malloc_counter~0.offset)| 1) ~guard_malloc_counter~0.offset)} is VALID [2020-07-11 01:05:14,058 INFO L280 TraceCheckUtils]: 7: Hoare triple {1788#(<= (+ |old(~guard_malloc_counter~0.offset)| 1) ~guard_malloc_counter~0.offset)} assume -2147483648 <= #t~nondet29 && #t~nondet29 <= 2147483647; {1788#(<= (+ |old(~guard_malloc_counter~0.offset)| 1) ~guard_malloc_counter~0.offset)} is VALID [2020-07-11 01:05:14,059 INFO L280 TraceCheckUtils]: 8: Hoare triple {1788#(<= (+ |old(~guard_malloc_counter~0.offset)| 1) ~guard_malloc_counter~0.offset)} assume !(0 == #t~nondet29); {1788#(<= (+ |old(~guard_malloc_counter~0.offset)| 1) ~guard_malloc_counter~0.offset)} is VALID [2020-07-11 01:05:14,059 INFO L280 TraceCheckUtils]: 9: Hoare triple {1788#(<= (+ |old(~guard_malloc_counter~0.offset)| 1) ~guard_malloc_counter~0.offset)} havoc #t~nondet29; {1788#(<= (+ |old(~guard_malloc_counter~0.offset)| 1) ~guard_malloc_counter~0.offset)} is VALID [2020-07-11 01:05:14,060 INFO L280 TraceCheckUtils]: 10: Hoare triple {1788#(<= (+ |old(~guard_malloc_counter~0.offset)| 1) ~guard_malloc_counter~0.offset)} #res.base, #res.offset := ~guard_malloc_counter~0.base, ~guard_malloc_counter~0.offset; {1788#(<= (+ |old(~guard_malloc_counter~0.offset)| 1) ~guard_malloc_counter~0.offset)} is VALID [2020-07-11 01:05:14,061 INFO L280 TraceCheckUtils]: 11: Hoare triple {1788#(<= (+ |old(~guard_malloc_counter~0.offset)| 1) ~guard_malloc_counter~0.offset)} assume true; {1788#(<= (+ |old(~guard_malloc_counter~0.offset)| 1) ~guard_malloc_counter~0.offset)} is VALID [2020-07-11 01:05:14,062 INFO L275 TraceCheckUtils]: 12: Hoare quadruple {1788#(<= (+ |old(~guard_malloc_counter~0.offset)| 1) ~guard_malloc_counter~0.offset)} {1776#(= ~guard_malloc_counter~0.offset |old(~guard_malloc_counter~0.offset)|)} #92#return; {1788#(<= (+ |old(~guard_malloc_counter~0.offset)| 1) ~guard_malloc_counter~0.offset)} is VALID [2020-07-11 01:05:14,063 INFO L280 TraceCheckUtils]: 13: Hoare triple {1788#(<= (+ |old(~guard_malloc_counter~0.offset)| 1) ~guard_malloc_counter~0.offset)} #res.base, #res.offset := #t~ret30.base, #t~ret30.offset; {1788#(<= (+ |old(~guard_malloc_counter~0.offset)| 1) ~guard_malloc_counter~0.offset)} is VALID [2020-07-11 01:05:14,063 INFO L280 TraceCheckUtils]: 14: Hoare triple {1788#(<= (+ |old(~guard_malloc_counter~0.offset)| 1) ~guard_malloc_counter~0.offset)} havoc #t~ret30.base, #t~ret30.offset; {1788#(<= (+ |old(~guard_malloc_counter~0.offset)| 1) ~guard_malloc_counter~0.offset)} is VALID [2020-07-11 01:05:14,064 INFO L280 TraceCheckUtils]: 15: Hoare triple {1788#(<= (+ |old(~guard_malloc_counter~0.offset)| 1) ~guard_malloc_counter~0.offset)} assume true; {1788#(<= (+ |old(~guard_malloc_counter~0.offset)| 1) ~guard_malloc_counter~0.offset)} is VALID [2020-07-11 01:05:14,065 INFO L275 TraceCheckUtils]: 16: Hoare quadruple {1788#(<= (+ |old(~guard_malloc_counter~0.offset)| 1) ~guard_malloc_counter~0.offset)} {1733#(and (= 0 ~elem~0.offset) (= 0 ~guard_malloc_counter~0.offset))} #94#return; {1751#(and (= 0 ~elem~0.offset) (<= 1 ~guard_malloc_counter~0.offset))} is VALID [2020-07-11 01:05:14,070 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2020-07-11 01:05:14,121 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2020-07-11 01:05:14,158 INFO L280 TraceCheckUtils]: 0: Hoare triple {1775#(and (= ~guard_malloc_counter~0.offset |old(~guard_malloc_counter~0.offset)|) (= ~guard_malloc_counter~0.base |old(~guard_malloc_counter~0.base)|))} ~size := #in~size; {1776#(= ~guard_malloc_counter~0.offset |old(~guard_malloc_counter~0.offset)|)} is VALID [2020-07-11 01:05:14,158 INFO L280 TraceCheckUtils]: 1: Hoare triple {1776#(= ~guard_malloc_counter~0.offset |old(~guard_malloc_counter~0.offset)|)} assume ~size > 0; {1776#(= ~guard_malloc_counter~0.offset |old(~guard_malloc_counter~0.offset)|)} is VALID [2020-07-11 01:05:14,159 INFO L280 TraceCheckUtils]: 2: Hoare triple {1776#(= ~guard_malloc_counter~0.offset |old(~guard_malloc_counter~0.offset)|)} #t~post28.base, #t~post28.offset := ~guard_malloc_counter~0.base, ~guard_malloc_counter~0.offset; {1789#(= |old(~guard_malloc_counter~0.offset)| |__getMemory_#t~post28.offset|)} is VALID [2020-07-11 01:05:14,160 INFO L280 TraceCheckUtils]: 3: Hoare triple {1789#(= |old(~guard_malloc_counter~0.offset)| |__getMemory_#t~post28.offset|)} ~guard_malloc_counter~0.base, ~guard_malloc_counter~0.offset := #t~post28.base, 1 + #t~post28.offset; {1788#(<= (+ |old(~guard_malloc_counter~0.offset)| 1) ~guard_malloc_counter~0.offset)} is VALID [2020-07-11 01:05:14,160 INFO L280 TraceCheckUtils]: 4: Hoare triple {1788#(<= (+ |old(~guard_malloc_counter~0.offset)| 1) ~guard_malloc_counter~0.offset)} havoc #t~post28.base, #t~post28.offset; {1788#(<= (+ |old(~guard_malloc_counter~0.offset)| 1) ~guard_malloc_counter~0.offset)} is VALID [2020-07-11 01:05:14,161 INFO L280 TraceCheckUtils]: 5: Hoare triple {1788#(<= (+ |old(~guard_malloc_counter~0.offset)| 1) ~guard_malloc_counter~0.offset)} assume -2147483648 <= #t~nondet29 && #t~nondet29 <= 2147483647; {1788#(<= (+ |old(~guard_malloc_counter~0.offset)| 1) ~guard_malloc_counter~0.offset)} is VALID [2020-07-11 01:05:14,161 INFO L280 TraceCheckUtils]: 6: Hoare triple {1788#(<= (+ |old(~guard_malloc_counter~0.offset)| 1) ~guard_malloc_counter~0.offset)} assume !(0 == #t~nondet29); {1788#(<= (+ |old(~guard_malloc_counter~0.offset)| 1) ~guard_malloc_counter~0.offset)} is VALID [2020-07-11 01:05:14,162 INFO L280 TraceCheckUtils]: 7: Hoare triple {1788#(<= (+ |old(~guard_malloc_counter~0.offset)| 1) ~guard_malloc_counter~0.offset)} havoc #t~nondet29; {1788#(<= (+ |old(~guard_malloc_counter~0.offset)| 1) ~guard_malloc_counter~0.offset)} is VALID [2020-07-11 01:05:14,162 INFO L280 TraceCheckUtils]: 8: Hoare triple {1788#(<= (+ |old(~guard_malloc_counter~0.offset)| 1) ~guard_malloc_counter~0.offset)} #res.base, #res.offset := ~guard_malloc_counter~0.base, ~guard_malloc_counter~0.offset; {1803#(<= (+ |old(~guard_malloc_counter~0.offset)| 1) |__getMemory_#res.offset|)} is VALID [2020-07-11 01:05:14,163 INFO L280 TraceCheckUtils]: 9: Hoare triple {1803#(<= (+ |old(~guard_malloc_counter~0.offset)| 1) |__getMemory_#res.offset|)} assume true; {1803#(<= (+ |old(~guard_malloc_counter~0.offset)| 1) |__getMemory_#res.offset|)} is VALID [2020-07-11 01:05:14,165 INFO L275 TraceCheckUtils]: 10: Hoare quadruple {1803#(<= (+ |old(~guard_malloc_counter~0.offset)| 1) |__getMemory_#res.offset|)} {1776#(= ~guard_malloc_counter~0.offset |old(~guard_malloc_counter~0.offset)|)} #92#return; {1801#(<= (+ |old(~guard_malloc_counter~0.offset)| 1) |my_malloc_#t~ret30.offset|)} is VALID [2020-07-11 01:05:14,171 INFO L280 TraceCheckUtils]: 0: Hoare triple {1775#(and (= ~guard_malloc_counter~0.offset |old(~guard_malloc_counter~0.offset)|) (= ~guard_malloc_counter~0.base |old(~guard_malloc_counter~0.base)|))} ~size := #in~size; {1776#(= ~guard_malloc_counter~0.offset |old(~guard_malloc_counter~0.offset)|)} is VALID [2020-07-11 01:05:14,173 INFO L263 TraceCheckUtils]: 1: Hoare triple {1776#(= ~guard_malloc_counter~0.offset |old(~guard_malloc_counter~0.offset)|)} call #t~ret30.base, #t~ret30.offset := __getMemory(~size); {1775#(and (= ~guard_malloc_counter~0.offset |old(~guard_malloc_counter~0.offset)|) (= ~guard_malloc_counter~0.base |old(~guard_malloc_counter~0.base)|))} is VALID [2020-07-11 01:05:14,174 INFO L280 TraceCheckUtils]: 2: Hoare triple {1775#(and (= ~guard_malloc_counter~0.offset |old(~guard_malloc_counter~0.offset)|) (= ~guard_malloc_counter~0.base |old(~guard_malloc_counter~0.base)|))} ~size := #in~size; {1776#(= ~guard_malloc_counter~0.offset |old(~guard_malloc_counter~0.offset)|)} is VALID [2020-07-11 01:05:14,174 INFO L280 TraceCheckUtils]: 3: Hoare triple {1776#(= ~guard_malloc_counter~0.offset |old(~guard_malloc_counter~0.offset)|)} assume ~size > 0; {1776#(= ~guard_malloc_counter~0.offset |old(~guard_malloc_counter~0.offset)|)} is VALID [2020-07-11 01:05:14,175 INFO L280 TraceCheckUtils]: 4: Hoare triple {1776#(= ~guard_malloc_counter~0.offset |old(~guard_malloc_counter~0.offset)|)} #t~post28.base, #t~post28.offset := ~guard_malloc_counter~0.base, ~guard_malloc_counter~0.offset; {1789#(= |old(~guard_malloc_counter~0.offset)| |__getMemory_#t~post28.offset|)} is VALID [2020-07-11 01:05:14,176 INFO L280 TraceCheckUtils]: 5: Hoare triple {1789#(= |old(~guard_malloc_counter~0.offset)| |__getMemory_#t~post28.offset|)} ~guard_malloc_counter~0.base, ~guard_malloc_counter~0.offset := #t~post28.base, 1 + #t~post28.offset; {1788#(<= (+ |old(~guard_malloc_counter~0.offset)| 1) ~guard_malloc_counter~0.offset)} is VALID [2020-07-11 01:05:14,177 INFO L280 TraceCheckUtils]: 6: Hoare triple {1788#(<= (+ |old(~guard_malloc_counter~0.offset)| 1) ~guard_malloc_counter~0.offset)} havoc #t~post28.base, #t~post28.offset; {1788#(<= (+ |old(~guard_malloc_counter~0.offset)| 1) ~guard_malloc_counter~0.offset)} is VALID [2020-07-11 01:05:14,177 INFO L280 TraceCheckUtils]: 7: Hoare triple {1788#(<= (+ |old(~guard_malloc_counter~0.offset)| 1) ~guard_malloc_counter~0.offset)} assume -2147483648 <= #t~nondet29 && #t~nondet29 <= 2147483647; {1788#(<= (+ |old(~guard_malloc_counter~0.offset)| 1) ~guard_malloc_counter~0.offset)} is VALID [2020-07-11 01:05:14,178 INFO L280 TraceCheckUtils]: 8: Hoare triple {1788#(<= (+ |old(~guard_malloc_counter~0.offset)| 1) ~guard_malloc_counter~0.offset)} assume !(0 == #t~nondet29); {1788#(<= (+ |old(~guard_malloc_counter~0.offset)| 1) ~guard_malloc_counter~0.offset)} is VALID [2020-07-11 01:05:14,178 INFO L280 TraceCheckUtils]: 9: Hoare triple {1788#(<= (+ |old(~guard_malloc_counter~0.offset)| 1) ~guard_malloc_counter~0.offset)} havoc #t~nondet29; {1788#(<= (+ |old(~guard_malloc_counter~0.offset)| 1) ~guard_malloc_counter~0.offset)} is VALID [2020-07-11 01:05:14,179 INFO L280 TraceCheckUtils]: 10: Hoare triple {1788#(<= (+ |old(~guard_malloc_counter~0.offset)| 1) ~guard_malloc_counter~0.offset)} #res.base, #res.offset := ~guard_malloc_counter~0.base, ~guard_malloc_counter~0.offset; {1803#(<= (+ |old(~guard_malloc_counter~0.offset)| 1) |__getMemory_#res.offset|)} is VALID [2020-07-11 01:05:14,180 INFO L280 TraceCheckUtils]: 11: Hoare triple {1803#(<= (+ |old(~guard_malloc_counter~0.offset)| 1) |__getMemory_#res.offset|)} assume true; {1803#(<= (+ |old(~guard_malloc_counter~0.offset)| 1) |__getMemory_#res.offset|)} is VALID [2020-07-11 01:05:14,181 INFO L275 TraceCheckUtils]: 12: Hoare quadruple {1803#(<= (+ |old(~guard_malloc_counter~0.offset)| 1) |__getMemory_#res.offset|)} {1776#(= ~guard_malloc_counter~0.offset |old(~guard_malloc_counter~0.offset)|)} #92#return; {1801#(<= (+ |old(~guard_malloc_counter~0.offset)| 1) |my_malloc_#t~ret30.offset|)} is VALID [2020-07-11 01:05:14,182 INFO L280 TraceCheckUtils]: 13: Hoare triple {1801#(<= (+ |old(~guard_malloc_counter~0.offset)| 1) |my_malloc_#t~ret30.offset|)} #res.base, #res.offset := #t~ret30.base, #t~ret30.offset; {1802#(<= (+ |old(~guard_malloc_counter~0.offset)| 1) |my_malloc_#res.offset|)} is VALID [2020-07-11 01:05:14,182 INFO L280 TraceCheckUtils]: 14: Hoare triple {1802#(<= (+ |old(~guard_malloc_counter~0.offset)| 1) |my_malloc_#res.offset|)} havoc #t~ret30.base, #t~ret30.offset; {1802#(<= (+ |old(~guard_malloc_counter~0.offset)| 1) |my_malloc_#res.offset|)} is VALID [2020-07-11 01:05:14,183 INFO L280 TraceCheckUtils]: 15: Hoare triple {1802#(<= (+ |old(~guard_malloc_counter~0.offset)| 1) |my_malloc_#res.offset|)} assume true; {1802#(<= (+ |old(~guard_malloc_counter~0.offset)| 1) |my_malloc_#res.offset|)} is VALID [2020-07-11 01:05:14,184 INFO L275 TraceCheckUtils]: 16: Hoare quadruple {1802#(<= (+ |old(~guard_malloc_counter~0.offset)| 1) |my_malloc_#res.offset|)} {1751#(and (= 0 ~elem~0.offset) (<= 1 ~guard_malloc_counter~0.offset))} #96#return; {1769#(and (= 0 ~elem~0.offset) (<= 2 |main_#t~ret33.offset|))} is VALID [2020-07-11 01:05:14,186 INFO L263 TraceCheckUtils]: 0: Hoare triple {1721#true} call ULTIMATE.init(); {1773#(and (= |#valid| |old(#valid)|) (= ~elem~0.base |old(~elem~0.base)|) (= |#NULL.base| |old(#NULL.base)|) (= |~#head~0.base| |old(~#head~0.base)|) (= ~guard_malloc_counter~0.offset |old(~guard_malloc_counter~0.offset)|) (= |#NULL.offset| |old(#NULL.offset)|) (= ~elem~0.offset |old(~elem~0.offset)|) (= |old(#length)| |#length|) (= |~#head~0.offset| |old(~#head~0.offset)|) (= ~guard_malloc_counter~0.base |old(~guard_malloc_counter~0.base)|))} is VALID [2020-07-11 01:05:14,187 INFO L280 TraceCheckUtils]: 1: Hoare triple {1773#(and (= |#valid| |old(#valid)|) (= ~elem~0.base |old(~elem~0.base)|) (= |#NULL.base| |old(#NULL.base)|) (= |~#head~0.base| |old(~#head~0.base)|) (= ~guard_malloc_counter~0.offset |old(~guard_malloc_counter~0.offset)|) (= |#NULL.offset| |old(#NULL.offset)|) (= ~elem~0.offset |old(~elem~0.offset)|) (= |old(#length)| |#length|) (= |~#head~0.offset| |old(~#head~0.offset)|) (= ~guard_malloc_counter~0.base |old(~guard_malloc_counter~0.base)|))} #NULL.base, #NULL.offset := 0, 0; {1721#true} is VALID [2020-07-11 01:05:14,187 INFO L280 TraceCheckUtils]: 2: Hoare triple {1721#true} #valid := #valid[0 := 0]; {1721#true} is VALID [2020-07-11 01:05:14,187 INFO L280 TraceCheckUtils]: 3: Hoare triple {1721#true} assume 0 < #StackHeapBarrier; {1721#true} is VALID [2020-07-11 01:05:14,188 INFO L280 TraceCheckUtils]: 4: Hoare triple {1721#true} ~guard_malloc_counter~0.base, ~guard_malloc_counter~0.offset := 0, 0; {1774#(= 0 ~guard_malloc_counter~0.offset)} is VALID [2020-07-11 01:05:14,188 INFO L280 TraceCheckUtils]: 5: Hoare triple {1774#(= 0 ~guard_malloc_counter~0.offset)} ~elem~0.base, ~elem~0.offset := 0, 0; {1733#(and (= 0 ~elem~0.offset) (= 0 ~guard_malloc_counter~0.offset))} is VALID [2020-07-11 01:05:14,189 INFO L280 TraceCheckUtils]: 6: Hoare triple {1733#(and (= 0 ~elem~0.offset) (= 0 ~guard_malloc_counter~0.offset))} SUMMARY for call ~#head~0.base, ~#head~0.offset := #Ultimate.allocOnStack(8); srcloc: L900 {1733#(and (= 0 ~elem~0.offset) (= 0 ~guard_malloc_counter~0.offset))} is VALID [2020-07-11 01:05:14,190 INFO L280 TraceCheckUtils]: 7: Hoare triple {1733#(and (= 0 ~elem~0.offset) (= 0 ~guard_malloc_counter~0.offset))} SUMMARY for call write~init~$Pointer$(0, 0, ~#head~0.base, ~#head~0.offset, 4); srcloc: L900-1 {1733#(and (= 0 ~elem~0.offset) (= 0 ~guard_malloc_counter~0.offset))} is VALID [2020-07-11 01:05:14,191 INFO L280 TraceCheckUtils]: 8: Hoare triple {1733#(and (= 0 ~elem~0.offset) (= 0 ~guard_malloc_counter~0.offset))} SUMMARY for call write~init~$Pointer$(0, 0, ~#head~0.base, 4 + ~#head~0.offset, 4); srcloc: L900-2 {1733#(and (= 0 ~elem~0.offset) (= 0 ~guard_malloc_counter~0.offset))} is VALID [2020-07-11 01:05:14,191 INFO L280 TraceCheckUtils]: 9: Hoare triple {1733#(and (= 0 ~elem~0.offset) (= 0 ~guard_malloc_counter~0.offset))} assume true; {1733#(and (= 0 ~elem~0.offset) (= 0 ~guard_malloc_counter~0.offset))} is VALID [2020-07-11 01:05:14,192 INFO L275 TraceCheckUtils]: 10: Hoare quadruple {1733#(and (= 0 ~elem~0.offset) (= 0 ~guard_malloc_counter~0.offset))} {1721#true} #112#return; {1733#(and (= 0 ~elem~0.offset) (= 0 ~guard_malloc_counter~0.offset))} is VALID [2020-07-11 01:05:14,193 INFO L263 TraceCheckUtils]: 11: Hoare triple {1733#(and (= 0 ~elem~0.offset) (= 0 ~guard_malloc_counter~0.offset))} call #t~ret34 := main(); {1733#(and (= 0 ~elem~0.offset) (= 0 ~guard_malloc_counter~0.offset))} is VALID [2020-07-11 01:05:14,194 INFO L280 TraceCheckUtils]: 12: Hoare triple {1733#(and (= 0 ~elem~0.offset) (= 0 ~guard_malloc_counter~0.offset))} havoc ~dev1~0.base, ~dev1~0.offset; {1733#(and (= 0 ~elem~0.offset) (= 0 ~guard_malloc_counter~0.offset))} is VALID [2020-07-11 01:05:14,195 INFO L280 TraceCheckUtils]: 13: Hoare triple {1733#(and (= 0 ~elem~0.offset) (= 0 ~guard_malloc_counter~0.offset))} havoc ~dev2~0.base, ~dev2~0.offset; {1733#(and (= 0 ~elem~0.offset) (= 0 ~guard_malloc_counter~0.offset))} is VALID [2020-07-11 01:05:14,196 INFO L263 TraceCheckUtils]: 14: Hoare triple {1733#(and (= 0 ~elem~0.offset) (= 0 ~guard_malloc_counter~0.offset))} call #t~ret32.base, #t~ret32.offset := my_malloc(8); {1775#(and (= ~guard_malloc_counter~0.offset |old(~guard_malloc_counter~0.offset)|) (= ~guard_malloc_counter~0.base |old(~guard_malloc_counter~0.base)|))} is VALID [2020-07-11 01:05:14,196 INFO L280 TraceCheckUtils]: 15: Hoare triple {1775#(and (= ~guard_malloc_counter~0.offset |old(~guard_malloc_counter~0.offset)|) (= ~guard_malloc_counter~0.base |old(~guard_malloc_counter~0.base)|))} ~size := #in~size; {1776#(= ~guard_malloc_counter~0.offset |old(~guard_malloc_counter~0.offset)|)} is VALID [2020-07-11 01:05:14,197 INFO L263 TraceCheckUtils]: 16: Hoare triple {1776#(= ~guard_malloc_counter~0.offset |old(~guard_malloc_counter~0.offset)|)} call #t~ret30.base, #t~ret30.offset := __getMemory(~size); {1775#(and (= ~guard_malloc_counter~0.offset |old(~guard_malloc_counter~0.offset)|) (= ~guard_malloc_counter~0.base |old(~guard_malloc_counter~0.base)|))} is VALID [2020-07-11 01:05:14,198 INFO L280 TraceCheckUtils]: 17: Hoare triple {1775#(and (= ~guard_malloc_counter~0.offset |old(~guard_malloc_counter~0.offset)|) (= ~guard_malloc_counter~0.base |old(~guard_malloc_counter~0.base)|))} ~size := #in~size; {1776#(= ~guard_malloc_counter~0.offset |old(~guard_malloc_counter~0.offset)|)} is VALID [2020-07-11 01:05:14,198 INFO L280 TraceCheckUtils]: 18: Hoare triple {1776#(= ~guard_malloc_counter~0.offset |old(~guard_malloc_counter~0.offset)|)} assume ~size > 0; {1776#(= ~guard_malloc_counter~0.offset |old(~guard_malloc_counter~0.offset)|)} is VALID [2020-07-11 01:05:14,199 INFO L280 TraceCheckUtils]: 19: Hoare triple {1776#(= ~guard_malloc_counter~0.offset |old(~guard_malloc_counter~0.offset)|)} #t~post28.base, #t~post28.offset := ~guard_malloc_counter~0.base, ~guard_malloc_counter~0.offset; {1789#(= |old(~guard_malloc_counter~0.offset)| |__getMemory_#t~post28.offset|)} is VALID [2020-07-11 01:05:14,200 INFO L280 TraceCheckUtils]: 20: Hoare triple {1789#(= |old(~guard_malloc_counter~0.offset)| |__getMemory_#t~post28.offset|)} ~guard_malloc_counter~0.base, ~guard_malloc_counter~0.offset := #t~post28.base, 1 + #t~post28.offset; {1788#(<= (+ |old(~guard_malloc_counter~0.offset)| 1) ~guard_malloc_counter~0.offset)} is VALID [2020-07-11 01:05:14,200 INFO L280 TraceCheckUtils]: 21: Hoare triple {1788#(<= (+ |old(~guard_malloc_counter~0.offset)| 1) ~guard_malloc_counter~0.offset)} havoc #t~post28.base, #t~post28.offset; {1788#(<= (+ |old(~guard_malloc_counter~0.offset)| 1) ~guard_malloc_counter~0.offset)} is VALID [2020-07-11 01:05:14,201 INFO L280 TraceCheckUtils]: 22: Hoare triple {1788#(<= (+ |old(~guard_malloc_counter~0.offset)| 1) ~guard_malloc_counter~0.offset)} assume -2147483648 <= #t~nondet29 && #t~nondet29 <= 2147483647; {1788#(<= (+ |old(~guard_malloc_counter~0.offset)| 1) ~guard_malloc_counter~0.offset)} is VALID [2020-07-11 01:05:14,201 INFO L280 TraceCheckUtils]: 23: Hoare triple {1788#(<= (+ |old(~guard_malloc_counter~0.offset)| 1) ~guard_malloc_counter~0.offset)} assume !(0 == #t~nondet29); {1788#(<= (+ |old(~guard_malloc_counter~0.offset)| 1) ~guard_malloc_counter~0.offset)} is VALID [2020-07-11 01:05:14,202 INFO L280 TraceCheckUtils]: 24: Hoare triple {1788#(<= (+ |old(~guard_malloc_counter~0.offset)| 1) ~guard_malloc_counter~0.offset)} havoc #t~nondet29; {1788#(<= (+ |old(~guard_malloc_counter~0.offset)| 1) ~guard_malloc_counter~0.offset)} is VALID [2020-07-11 01:05:14,202 INFO L280 TraceCheckUtils]: 25: Hoare triple {1788#(<= (+ |old(~guard_malloc_counter~0.offset)| 1) ~guard_malloc_counter~0.offset)} #res.base, #res.offset := ~guard_malloc_counter~0.base, ~guard_malloc_counter~0.offset; {1788#(<= (+ |old(~guard_malloc_counter~0.offset)| 1) ~guard_malloc_counter~0.offset)} is VALID [2020-07-11 01:05:14,203 INFO L280 TraceCheckUtils]: 26: Hoare triple {1788#(<= (+ |old(~guard_malloc_counter~0.offset)| 1) ~guard_malloc_counter~0.offset)} assume true; {1788#(<= (+ |old(~guard_malloc_counter~0.offset)| 1) ~guard_malloc_counter~0.offset)} is VALID [2020-07-11 01:05:14,205 INFO L275 TraceCheckUtils]: 27: Hoare quadruple {1788#(<= (+ |old(~guard_malloc_counter~0.offset)| 1) ~guard_malloc_counter~0.offset)} {1776#(= ~guard_malloc_counter~0.offset |old(~guard_malloc_counter~0.offset)|)} #92#return; {1788#(<= (+ |old(~guard_malloc_counter~0.offset)| 1) ~guard_malloc_counter~0.offset)} is VALID [2020-07-11 01:05:14,206 INFO L280 TraceCheckUtils]: 28: Hoare triple {1788#(<= (+ |old(~guard_malloc_counter~0.offset)| 1) ~guard_malloc_counter~0.offset)} #res.base, #res.offset := #t~ret30.base, #t~ret30.offset; {1788#(<= (+ |old(~guard_malloc_counter~0.offset)| 1) ~guard_malloc_counter~0.offset)} is VALID [2020-07-11 01:05:14,206 INFO L280 TraceCheckUtils]: 29: Hoare triple {1788#(<= (+ |old(~guard_malloc_counter~0.offset)| 1) ~guard_malloc_counter~0.offset)} havoc #t~ret30.base, #t~ret30.offset; {1788#(<= (+ |old(~guard_malloc_counter~0.offset)| 1) ~guard_malloc_counter~0.offset)} is VALID [2020-07-11 01:05:14,207 INFO L280 TraceCheckUtils]: 30: Hoare triple {1788#(<= (+ |old(~guard_malloc_counter~0.offset)| 1) ~guard_malloc_counter~0.offset)} assume true; {1788#(<= (+ |old(~guard_malloc_counter~0.offset)| 1) ~guard_malloc_counter~0.offset)} is VALID [2020-07-11 01:05:14,209 INFO L275 TraceCheckUtils]: 31: Hoare quadruple {1788#(<= (+ |old(~guard_malloc_counter~0.offset)| 1) ~guard_malloc_counter~0.offset)} {1733#(and (= 0 ~elem~0.offset) (= 0 ~guard_malloc_counter~0.offset))} #94#return; {1751#(and (= 0 ~elem~0.offset) (<= 1 ~guard_malloc_counter~0.offset))} is VALID [2020-07-11 01:05:14,211 INFO L280 TraceCheckUtils]: 32: Hoare triple {1751#(and (= 0 ~elem~0.offset) (<= 1 ~guard_malloc_counter~0.offset))} ~dev1~0.base, ~dev1~0.offset := #t~ret32.base, #t~ret32.offset; {1751#(and (= 0 ~elem~0.offset) (<= 1 ~guard_malloc_counter~0.offset))} is VALID [2020-07-11 01:05:14,213 INFO L280 TraceCheckUtils]: 33: Hoare triple {1751#(and (= 0 ~elem~0.offset) (<= 1 ~guard_malloc_counter~0.offset))} havoc #t~ret32.base, #t~ret32.offset; {1751#(and (= 0 ~elem~0.offset) (<= 1 ~guard_malloc_counter~0.offset))} is VALID [2020-07-11 01:05:14,215 INFO L263 TraceCheckUtils]: 34: Hoare triple {1751#(and (= 0 ~elem~0.offset) (<= 1 ~guard_malloc_counter~0.offset))} call #t~ret33.base, #t~ret33.offset := my_malloc(8); {1775#(and (= ~guard_malloc_counter~0.offset |old(~guard_malloc_counter~0.offset)|) (= ~guard_malloc_counter~0.base |old(~guard_malloc_counter~0.base)|))} is VALID [2020-07-11 01:05:14,216 INFO L280 TraceCheckUtils]: 35: Hoare triple {1775#(and (= ~guard_malloc_counter~0.offset |old(~guard_malloc_counter~0.offset)|) (= ~guard_malloc_counter~0.base |old(~guard_malloc_counter~0.base)|))} ~size := #in~size; {1776#(= ~guard_malloc_counter~0.offset |old(~guard_malloc_counter~0.offset)|)} is VALID [2020-07-11 01:05:14,216 INFO L263 TraceCheckUtils]: 36: Hoare triple {1776#(= ~guard_malloc_counter~0.offset |old(~guard_malloc_counter~0.offset)|)} call #t~ret30.base, #t~ret30.offset := __getMemory(~size); {1775#(and (= ~guard_malloc_counter~0.offset |old(~guard_malloc_counter~0.offset)|) (= ~guard_malloc_counter~0.base |old(~guard_malloc_counter~0.base)|))} is VALID [2020-07-11 01:05:14,217 INFO L280 TraceCheckUtils]: 37: Hoare triple {1775#(and (= ~guard_malloc_counter~0.offset |old(~guard_malloc_counter~0.offset)|) (= ~guard_malloc_counter~0.base |old(~guard_malloc_counter~0.base)|))} ~size := #in~size; {1776#(= ~guard_malloc_counter~0.offset |old(~guard_malloc_counter~0.offset)|)} is VALID [2020-07-11 01:05:14,217 INFO L280 TraceCheckUtils]: 38: Hoare triple {1776#(= ~guard_malloc_counter~0.offset |old(~guard_malloc_counter~0.offset)|)} assume ~size > 0; {1776#(= ~guard_malloc_counter~0.offset |old(~guard_malloc_counter~0.offset)|)} is VALID [2020-07-11 01:05:14,218 INFO L280 TraceCheckUtils]: 39: Hoare triple {1776#(= ~guard_malloc_counter~0.offset |old(~guard_malloc_counter~0.offset)|)} #t~post28.base, #t~post28.offset := ~guard_malloc_counter~0.base, ~guard_malloc_counter~0.offset; {1789#(= |old(~guard_malloc_counter~0.offset)| |__getMemory_#t~post28.offset|)} is VALID [2020-07-11 01:05:14,219 INFO L280 TraceCheckUtils]: 40: Hoare triple {1789#(= |old(~guard_malloc_counter~0.offset)| |__getMemory_#t~post28.offset|)} ~guard_malloc_counter~0.base, ~guard_malloc_counter~0.offset := #t~post28.base, 1 + #t~post28.offset; {1788#(<= (+ |old(~guard_malloc_counter~0.offset)| 1) ~guard_malloc_counter~0.offset)} is VALID [2020-07-11 01:05:14,220 INFO L280 TraceCheckUtils]: 41: Hoare triple {1788#(<= (+ |old(~guard_malloc_counter~0.offset)| 1) ~guard_malloc_counter~0.offset)} havoc #t~post28.base, #t~post28.offset; {1788#(<= (+ |old(~guard_malloc_counter~0.offset)| 1) ~guard_malloc_counter~0.offset)} is VALID [2020-07-11 01:05:14,222 INFO L280 TraceCheckUtils]: 42: Hoare triple {1788#(<= (+ |old(~guard_malloc_counter~0.offset)| 1) ~guard_malloc_counter~0.offset)} assume -2147483648 <= #t~nondet29 && #t~nondet29 <= 2147483647; {1788#(<= (+ |old(~guard_malloc_counter~0.offset)| 1) ~guard_malloc_counter~0.offset)} is VALID [2020-07-11 01:05:14,225 INFO L280 TraceCheckUtils]: 43: Hoare triple {1788#(<= (+ |old(~guard_malloc_counter~0.offset)| 1) ~guard_malloc_counter~0.offset)} assume !(0 == #t~nondet29); {1788#(<= (+ |old(~guard_malloc_counter~0.offset)| 1) ~guard_malloc_counter~0.offset)} is VALID [2020-07-11 01:05:14,225 INFO L280 TraceCheckUtils]: 44: Hoare triple {1788#(<= (+ |old(~guard_malloc_counter~0.offset)| 1) ~guard_malloc_counter~0.offset)} havoc #t~nondet29; {1788#(<= (+ |old(~guard_malloc_counter~0.offset)| 1) ~guard_malloc_counter~0.offset)} is VALID [2020-07-11 01:05:14,226 INFO L280 TraceCheckUtils]: 45: Hoare triple {1788#(<= (+ |old(~guard_malloc_counter~0.offset)| 1) ~guard_malloc_counter~0.offset)} #res.base, #res.offset := ~guard_malloc_counter~0.base, ~guard_malloc_counter~0.offset; {1803#(<= (+ |old(~guard_malloc_counter~0.offset)| 1) |__getMemory_#res.offset|)} is VALID [2020-07-11 01:05:14,226 INFO L280 TraceCheckUtils]: 46: Hoare triple {1803#(<= (+ |old(~guard_malloc_counter~0.offset)| 1) |__getMemory_#res.offset|)} assume true; {1803#(<= (+ |old(~guard_malloc_counter~0.offset)| 1) |__getMemory_#res.offset|)} is VALID [2020-07-11 01:05:14,227 INFO L275 TraceCheckUtils]: 47: Hoare quadruple {1803#(<= (+ |old(~guard_malloc_counter~0.offset)| 1) |__getMemory_#res.offset|)} {1776#(= ~guard_malloc_counter~0.offset |old(~guard_malloc_counter~0.offset)|)} #92#return; {1801#(<= (+ |old(~guard_malloc_counter~0.offset)| 1) |my_malloc_#t~ret30.offset|)} is VALID [2020-07-11 01:05:14,228 INFO L280 TraceCheckUtils]: 48: Hoare triple {1801#(<= (+ |old(~guard_malloc_counter~0.offset)| 1) |my_malloc_#t~ret30.offset|)} #res.base, #res.offset := #t~ret30.base, #t~ret30.offset; {1802#(<= (+ |old(~guard_malloc_counter~0.offset)| 1) |my_malloc_#res.offset|)} is VALID [2020-07-11 01:05:14,229 INFO L280 TraceCheckUtils]: 49: Hoare triple {1802#(<= (+ |old(~guard_malloc_counter~0.offset)| 1) |my_malloc_#res.offset|)} havoc #t~ret30.base, #t~ret30.offset; {1802#(<= (+ |old(~guard_malloc_counter~0.offset)| 1) |my_malloc_#res.offset|)} is VALID [2020-07-11 01:05:14,230 INFO L280 TraceCheckUtils]: 50: Hoare triple {1802#(<= (+ |old(~guard_malloc_counter~0.offset)| 1) |my_malloc_#res.offset|)} assume true; {1802#(<= (+ |old(~guard_malloc_counter~0.offset)| 1) |my_malloc_#res.offset|)} is VALID [2020-07-11 01:05:14,231 INFO L275 TraceCheckUtils]: 51: Hoare quadruple {1802#(<= (+ |old(~guard_malloc_counter~0.offset)| 1) |my_malloc_#res.offset|)} {1751#(and (= 0 ~elem~0.offset) (<= 1 ~guard_malloc_counter~0.offset))} #96#return; {1769#(and (= 0 ~elem~0.offset) (<= 2 |main_#t~ret33.offset|))} is VALID [2020-07-11 01:05:14,231 INFO L280 TraceCheckUtils]: 52: Hoare triple {1769#(and (= 0 ~elem~0.offset) (<= 2 |main_#t~ret33.offset|))} ~dev2~0.base, ~dev2~0.offset := #t~ret33.base, #t~ret33.offset; {1770#(and (= 0 ~elem~0.offset) (<= 2 main_~dev2~0.offset))} is VALID [2020-07-11 01:05:14,232 INFO L280 TraceCheckUtils]: 53: Hoare triple {1770#(and (= 0 ~elem~0.offset) (<= 2 main_~dev2~0.offset))} havoc #t~ret33.base, #t~ret33.offset; {1770#(and (= 0 ~elem~0.offset) (<= 2 main_~dev2~0.offset))} is VALID [2020-07-11 01:05:14,233 INFO L280 TraceCheckUtils]: 54: Hoare triple {1770#(and (= 0 ~elem~0.offset) (<= 2 main_~dev2~0.offset))} assume (~dev1~0.base != 0 || ~dev1~0.offset != 0) && (~dev2~0.base != 0 || ~dev2~0.offset != 0); {1770#(and (= 0 ~elem~0.offset) (<= 2 main_~dev2~0.offset))} is VALID [2020-07-11 01:05:14,234 INFO L263 TraceCheckUtils]: 55: Hoare triple {1770#(and (= 0 ~elem~0.offset) (<= 2 main_~dev2~0.offset))} call list_add(~dev2~0.base, ~dev2~0.offset, ~#head~0.base, ~#head~0.offset); {1771#(and (= 0 ~elem~0.offset) (<= 2 |list_add_#in~new.offset|))} is VALID [2020-07-11 01:05:14,234 INFO L280 TraceCheckUtils]: 56: Hoare triple {1771#(and (= 0 ~elem~0.offset) (<= 2 |list_add_#in~new.offset|))} ~new.base, ~new.offset := #in~new.base, #in~new.offset; {1772#(and (= 0 ~elem~0.offset) (not (= 0 list_add_~new.offset)))} is VALID [2020-07-11 01:05:14,235 INFO L280 TraceCheckUtils]: 57: Hoare triple {1772#(and (= 0 ~elem~0.offset) (not (= 0 list_add_~new.offset)))} ~head.base, ~head.offset := #in~head.base, #in~head.offset; {1772#(and (= 0 ~elem~0.offset) (not (= 0 list_add_~new.offset)))} is VALID [2020-07-11 01:05:14,235 INFO L280 TraceCheckUtils]: 58: Hoare triple {1772#(and (= 0 ~elem~0.offset) (not (= 0 list_add_~new.offset)))} assume !(~new.base != ~elem~0.base || ~new.offset != ~elem~0.offset); {1722#false} is VALID [2020-07-11 01:05:14,235 INFO L263 TraceCheckUtils]: 59: Hoare triple {1722#false} call __blast_assert(); {1722#false} is VALID [2020-07-11 01:05:14,236 INFO L280 TraceCheckUtils]: 60: Hoare triple {1722#false} assume !false; {1722#false} is VALID [2020-07-11 01:05:14,242 INFO L134 CoverageAnalysis]: Checked inductivity of 17 backedges. 0 proven. 6 refuted. 0 times theorem prover too weak. 11 trivial. 0 not checked. [2020-07-11 01:05:14,243 INFO L354 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModulePreferences [2062599878] [2020-07-11 01:05:14,243 INFO L220 FreeRefinementEngine]: Constructing automaton from 0 perfect and 1 imperfect interpolant sequences. [2020-07-11 01:05:14,243 INFO L233 FreeRefinementEngine]: Number of different interpolants: perfect sequences [] imperfect sequences [17] total 17 [2020-07-11 01:05:14,243 INFO L156 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [953830249] [2020-07-11 01:05:14,244 INFO L78 Accepts]: Start accepts. Automaton has 17 states. Word has length 61 [2020-07-11 01:05:14,244 INFO L84 Accepts]: Finished accepts. word is accepted. [2020-07-11 01:05:14,244 INFO L86 InductivityCheck]: Starting indutivity check of a Floyd-Hoare automaton with 17 states. [2020-07-11 01:05:14,312 INFO L119 InductivityCheck]: Floyd-Hoare automaton has 51 edges. 51 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2020-07-11 01:05:14,312 INFO L459 AbstractCegarLoop]: Interpolant automaton has 17 states [2020-07-11 01:05:14,312 INFO L143 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy FIXED_PREFERENCES [2020-07-11 01:05:14,313 INFO L142 InterpolantAutomaton]: Constructing interpolant automaton starting with 17 interpolants. [2020-07-11 01:05:14,313 INFO L144 InterpolantAutomaton]: CoverageRelationStatistics Valid=35, Invalid=237, Unknown=0, NotChecked=0, Total=272 [2020-07-11 01:05:14,313 INFO L87 Difference]: Start difference. First operand 61 states and 66 transitions. Second operand 17 states. [2020-07-11 01:05:18,640 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2020-07-11 01:05:18,640 INFO L93 Difference]: Finished difference Result 108 states and 121 transitions. [2020-07-11 01:05:18,640 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 23 states. [2020-07-11 01:05:18,640 INFO L78 Accepts]: Start accepts. Automaton has 17 states. Word has length 61 [2020-07-11 01:05:18,641 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2020-07-11 01:05:18,642 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 17 states. [2020-07-11 01:05:18,649 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 23 states to 23 states and 121 transitions. [2020-07-11 01:05:18,649 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 17 states. [2020-07-11 01:05:18,657 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 23 states to 23 states and 121 transitions. [2020-07-11 01:05:18,658 INFO L86 InductivityCheck]: Starting indutivity check of a Floyd-Hoare automaton with 23 states and 121 transitions. [2020-07-11 01:05:18,889 INFO L119 InductivityCheck]: Floyd-Hoare automaton has 121 edges. 121 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2020-07-11 01:05:18,894 INFO L225 Difference]: With dead ends: 108 [2020-07-11 01:05:18,894 INFO L226 Difference]: Without dead ends: 105 [2020-07-11 01:05:18,895 INFO L675 BasicCegarLoop]: 0 DeclaredPredicates, 44 GetRequests, 13 SyntacticMatches, 0 SemanticMatches, 31 ConstructedPredicates, 0 IntricatePredicates, 0 DeprecatedPredicates, 126 ImplicationChecksByTransitivity, 0.8s TimeCoverageRelationStatistics Valid=150, Invalid=906, Unknown=0, NotChecked=0, Total=1056 [2020-07-11 01:05:18,896 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 105 states. [2020-07-11 01:05:19,299 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 105 to 88. [2020-07-11 01:05:19,299 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2020-07-11 01:05:19,299 INFO L82 GeneralOperation]: Start isEquivalent. First operand 105 states. Second operand 88 states. [2020-07-11 01:05:19,299 INFO L74 IsIncluded]: Start isIncluded. First operand 105 states. Second operand 88 states. [2020-07-11 01:05:19,300 INFO L87 Difference]: Start difference. First operand 105 states. Second operand 88 states. [2020-07-11 01:05:19,306 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2020-07-11 01:05:19,306 INFO L93 Difference]: Finished difference Result 105 states and 118 transitions. [2020-07-11 01:05:19,306 INFO L276 IsEmpty]: Start isEmpty. Operand 105 states and 118 transitions. [2020-07-11 01:05:19,307 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2020-07-11 01:05:19,307 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2020-07-11 01:05:19,307 INFO L74 IsIncluded]: Start isIncluded. First operand 88 states. Second operand 105 states. [2020-07-11 01:05:19,307 INFO L87 Difference]: Start difference. First operand 88 states. Second operand 105 states. [2020-07-11 01:05:19,313 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2020-07-11 01:05:19,313 INFO L93 Difference]: Finished difference Result 105 states and 118 transitions. [2020-07-11 01:05:19,313 INFO L276 IsEmpty]: Start isEmpty. Operand 105 states and 118 transitions. [2020-07-11 01:05:19,314 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2020-07-11 01:05:19,314 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2020-07-11 01:05:19,314 INFO L88 GeneralOperation]: Finished isEquivalent. [2020-07-11 01:05:19,314 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2020-07-11 01:05:19,314 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 88 states. [2020-07-11 01:05:19,318 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 88 states to 88 states and 101 transitions. [2020-07-11 01:05:19,318 INFO L78 Accepts]: Start accepts. Automaton has 88 states and 101 transitions. Word has length 61 [2020-07-11 01:05:19,319 INFO L84 Accepts]: Finished accepts. word is rejected. [2020-07-11 01:05:19,319 INFO L479 AbstractCegarLoop]: Abstraction has 88 states and 101 transitions. [2020-07-11 01:05:19,319 INFO L480 AbstractCegarLoop]: Interpolant automaton has 17 states. [2020-07-11 01:05:19,319 INFO L86 InductivityCheck]: Starting indutivity check of a Floyd-Hoare automaton with 88 states and 101 transitions. [2020-07-11 01:05:19,531 INFO L119 InductivityCheck]: Floyd-Hoare automaton has 101 edges. 101 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2020-07-11 01:05:19,532 INFO L276 IsEmpty]: Start isEmpty. Operand 88 states and 101 transitions. [2020-07-11 01:05:19,533 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 71 [2020-07-11 01:05:19,533 INFO L414 BasicCegarLoop]: Found error trace [2020-07-11 01:05:19,533 INFO L422 BasicCegarLoop]: trace histogram [2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1] [2020-07-11 01:05:19,534 WARN L516 AbstractCegarLoop]: Destroyed unattended storables created during the last iteration: SelfDestructingSolverStorable3 [2020-07-11 01:05:19,534 INFO L427 AbstractCegarLoop]: === Iteration 5 === [__blast_assertErr0ASSERT_VIOLATIONERROR_FUNCTION]=== [2020-07-11 01:05:19,534 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2020-07-11 01:05:19,534 INFO L82 PathProgramCache]: Analyzing trace with hash -1814582916, now seen corresponding path program 1 times [2020-07-11 01:05:19,535 INFO L163 FreeRefinementEngine]: Executing refinement strategy FIXED_PREFERENCES [2020-07-11 01:05:19,535 INFO L354 FreeRefinementEngine]: Using trace check IpTcStrategyModulePreferences [992024186] [2020-07-11 01:05:19,535 INFO L94 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2020-07-11 01:05:19,554 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2020-07-11 01:05:19,717 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2020-07-11 01:05:19,748 INFO L280 TraceCheckUtils]: 0: Hoare triple {2499#(and (= |#valid| |old(#valid)|) (= ~elem~0.base |old(~elem~0.base)|) (= |#NULL.base| |old(#NULL.base)|) (= |~#head~0.base| |old(~#head~0.base)|) (= ~guard_malloc_counter~0.offset |old(~guard_malloc_counter~0.offset)|) (= |#NULL.offset| |old(#NULL.offset)|) (= ~elem~0.offset |old(~elem~0.offset)|) (= |old(#length)| |#length|) (= |~#head~0.offset| |old(~#head~0.offset)|) (= ~guard_malloc_counter~0.base |old(~guard_malloc_counter~0.base)|))} #NULL.base, #NULL.offset := 0, 0; {2440#true} is VALID [2020-07-11 01:05:19,748 INFO L280 TraceCheckUtils]: 1: Hoare triple {2440#true} #valid := #valid[0 := 0]; {2440#true} is VALID [2020-07-11 01:05:19,748 INFO L280 TraceCheckUtils]: 2: Hoare triple {2440#true} assume 0 < #StackHeapBarrier; {2440#true} is VALID [2020-07-11 01:05:19,750 INFO L280 TraceCheckUtils]: 3: Hoare triple {2440#true} ~guard_malloc_counter~0.base, ~guard_malloc_counter~0.offset := 0, 0; {2500#(= 0 ~guard_malloc_counter~0.offset)} is VALID [2020-07-11 01:05:19,750 INFO L280 TraceCheckUtils]: 4: Hoare triple {2500#(= 0 ~guard_malloc_counter~0.offset)} ~elem~0.base, ~elem~0.offset := 0, 0; {2452#(and (= 0 ~elem~0.offset) (= 0 ~guard_malloc_counter~0.offset))} is VALID [2020-07-11 01:05:19,751 INFO L280 TraceCheckUtils]: 5: Hoare triple {2452#(and (= 0 ~elem~0.offset) (= 0 ~guard_malloc_counter~0.offset))} SUMMARY for call ~#head~0.base, ~#head~0.offset := #Ultimate.allocOnStack(8); srcloc: L900 {2452#(and (= 0 ~elem~0.offset) (= 0 ~guard_malloc_counter~0.offset))} is VALID [2020-07-11 01:05:19,752 INFO L280 TraceCheckUtils]: 6: Hoare triple {2452#(and (= 0 ~elem~0.offset) (= 0 ~guard_malloc_counter~0.offset))} SUMMARY for call write~init~$Pointer$(0, 0, ~#head~0.base, ~#head~0.offset, 4); srcloc: L900-1 {2452#(and (= 0 ~elem~0.offset) (= 0 ~guard_malloc_counter~0.offset))} is VALID [2020-07-11 01:05:19,753 INFO L280 TraceCheckUtils]: 7: Hoare triple {2452#(and (= 0 ~elem~0.offset) (= 0 ~guard_malloc_counter~0.offset))} SUMMARY for call write~init~$Pointer$(0, 0, ~#head~0.base, 4 + ~#head~0.offset, 4); srcloc: L900-2 {2452#(and (= 0 ~elem~0.offset) (= 0 ~guard_malloc_counter~0.offset))} is VALID [2020-07-11 01:05:19,754 INFO L280 TraceCheckUtils]: 8: Hoare triple {2452#(and (= 0 ~elem~0.offset) (= 0 ~guard_malloc_counter~0.offset))} assume true; {2452#(and (= 0 ~elem~0.offset) (= 0 ~guard_malloc_counter~0.offset))} is VALID [2020-07-11 01:05:19,755 INFO L275 TraceCheckUtils]: 9: Hoare quadruple {2452#(and (= 0 ~elem~0.offset) (= 0 ~guard_malloc_counter~0.offset))} {2440#true} #112#return; {2452#(and (= 0 ~elem~0.offset) (= 0 ~guard_malloc_counter~0.offset))} is VALID [2020-07-11 01:05:19,777 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2020-07-11 01:05:19,863 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2020-07-11 01:05:19,954 INFO L280 TraceCheckUtils]: 0: Hoare triple {2501#(and (= ~guard_malloc_counter~0.offset |old(~guard_malloc_counter~0.offset)|) (= ~guard_malloc_counter~0.base |old(~guard_malloc_counter~0.base)|))} ~size := #in~size; {2502#(= ~guard_malloc_counter~0.offset |old(~guard_malloc_counter~0.offset)|)} is VALID [2020-07-11 01:05:19,955 INFO L280 TraceCheckUtils]: 1: Hoare triple {2502#(= ~guard_malloc_counter~0.offset |old(~guard_malloc_counter~0.offset)|)} assume ~size > 0; {2502#(= ~guard_malloc_counter~0.offset |old(~guard_malloc_counter~0.offset)|)} is VALID [2020-07-11 01:05:19,956 INFO L280 TraceCheckUtils]: 2: Hoare triple {2502#(= ~guard_malloc_counter~0.offset |old(~guard_malloc_counter~0.offset)|)} #t~post28.base, #t~post28.offset := ~guard_malloc_counter~0.base, ~guard_malloc_counter~0.offset; {2516#(= |old(~guard_malloc_counter~0.offset)| |__getMemory_#t~post28.offset|)} is VALID [2020-07-11 01:05:19,958 INFO L280 TraceCheckUtils]: 3: Hoare triple {2516#(= |old(~guard_malloc_counter~0.offset)| |__getMemory_#t~post28.offset|)} ~guard_malloc_counter~0.base, ~guard_malloc_counter~0.offset := #t~post28.base, 1 + #t~post28.offset; {2517#(<= (+ |old(~guard_malloc_counter~0.offset)| 1) ~guard_malloc_counter~0.offset)} is VALID [2020-07-11 01:05:19,960 INFO L280 TraceCheckUtils]: 4: Hoare triple {2517#(<= (+ |old(~guard_malloc_counter~0.offset)| 1) ~guard_malloc_counter~0.offset)} havoc #t~post28.base, #t~post28.offset; {2517#(<= (+ |old(~guard_malloc_counter~0.offset)| 1) ~guard_malloc_counter~0.offset)} is VALID [2020-07-11 01:05:19,960 INFO L280 TraceCheckUtils]: 5: Hoare triple {2517#(<= (+ |old(~guard_malloc_counter~0.offset)| 1) ~guard_malloc_counter~0.offset)} assume -2147483648 <= #t~nondet29 && #t~nondet29 <= 2147483647; {2517#(<= (+ |old(~guard_malloc_counter~0.offset)| 1) ~guard_malloc_counter~0.offset)} is VALID [2020-07-11 01:05:19,961 INFO L280 TraceCheckUtils]: 6: Hoare triple {2517#(<= (+ |old(~guard_malloc_counter~0.offset)| 1) ~guard_malloc_counter~0.offset)} assume !(0 == #t~nondet29); {2517#(<= (+ |old(~guard_malloc_counter~0.offset)| 1) ~guard_malloc_counter~0.offset)} is VALID [2020-07-11 01:05:19,962 INFO L280 TraceCheckUtils]: 7: Hoare triple {2517#(<= (+ |old(~guard_malloc_counter~0.offset)| 1) ~guard_malloc_counter~0.offset)} havoc #t~nondet29; {2517#(<= (+ |old(~guard_malloc_counter~0.offset)| 1) ~guard_malloc_counter~0.offset)} is VALID [2020-07-11 01:05:19,963 INFO L280 TraceCheckUtils]: 8: Hoare triple {2517#(<= (+ |old(~guard_malloc_counter~0.offset)| 1) ~guard_malloc_counter~0.offset)} #res.base, #res.offset := ~guard_malloc_counter~0.base, ~guard_malloc_counter~0.offset; {2518#(<= (+ |old(~guard_malloc_counter~0.offset)| 1) |__getMemory_#res.offset|)} is VALID [2020-07-11 01:05:19,963 INFO L280 TraceCheckUtils]: 9: Hoare triple {2518#(<= (+ |old(~guard_malloc_counter~0.offset)| 1) |__getMemory_#res.offset|)} assume true; {2518#(<= (+ |old(~guard_malloc_counter~0.offset)| 1) |__getMemory_#res.offset|)} is VALID [2020-07-11 01:05:19,965 INFO L275 TraceCheckUtils]: 10: Hoare quadruple {2518#(<= (+ |old(~guard_malloc_counter~0.offset)| 1) |__getMemory_#res.offset|)} {2502#(= ~guard_malloc_counter~0.offset |old(~guard_malloc_counter~0.offset)|)} #92#return; {2514#(<= (+ |old(~guard_malloc_counter~0.offset)| 1) |my_malloc_#t~ret30.offset|)} is VALID [2020-07-11 01:05:19,966 INFO L280 TraceCheckUtils]: 0: Hoare triple {2501#(and (= ~guard_malloc_counter~0.offset |old(~guard_malloc_counter~0.offset)|) (= ~guard_malloc_counter~0.base |old(~guard_malloc_counter~0.base)|))} ~size := #in~size; {2502#(= ~guard_malloc_counter~0.offset |old(~guard_malloc_counter~0.offset)|)} is VALID [2020-07-11 01:05:19,967 INFO L263 TraceCheckUtils]: 1: Hoare triple {2502#(= ~guard_malloc_counter~0.offset |old(~guard_malloc_counter~0.offset)|)} call #t~ret30.base, #t~ret30.offset := __getMemory(~size); {2501#(and (= ~guard_malloc_counter~0.offset |old(~guard_malloc_counter~0.offset)|) (= ~guard_malloc_counter~0.base |old(~guard_malloc_counter~0.base)|))} is VALID [2020-07-11 01:05:19,968 INFO L280 TraceCheckUtils]: 2: Hoare triple {2501#(and (= ~guard_malloc_counter~0.offset |old(~guard_malloc_counter~0.offset)|) (= ~guard_malloc_counter~0.base |old(~guard_malloc_counter~0.base)|))} ~size := #in~size; {2502#(= ~guard_malloc_counter~0.offset |old(~guard_malloc_counter~0.offset)|)} is VALID [2020-07-11 01:05:19,969 INFO L280 TraceCheckUtils]: 3: Hoare triple {2502#(= ~guard_malloc_counter~0.offset |old(~guard_malloc_counter~0.offset)|)} assume ~size > 0; {2502#(= ~guard_malloc_counter~0.offset |old(~guard_malloc_counter~0.offset)|)} is VALID [2020-07-11 01:05:19,970 INFO L280 TraceCheckUtils]: 4: Hoare triple {2502#(= ~guard_malloc_counter~0.offset |old(~guard_malloc_counter~0.offset)|)} #t~post28.base, #t~post28.offset := ~guard_malloc_counter~0.base, ~guard_malloc_counter~0.offset; {2516#(= |old(~guard_malloc_counter~0.offset)| |__getMemory_#t~post28.offset|)} is VALID [2020-07-11 01:05:19,971 INFO L280 TraceCheckUtils]: 5: Hoare triple {2516#(= |old(~guard_malloc_counter~0.offset)| |__getMemory_#t~post28.offset|)} ~guard_malloc_counter~0.base, ~guard_malloc_counter~0.offset := #t~post28.base, 1 + #t~post28.offset; {2517#(<= (+ |old(~guard_malloc_counter~0.offset)| 1) ~guard_malloc_counter~0.offset)} is VALID [2020-07-11 01:05:19,972 INFO L280 TraceCheckUtils]: 6: Hoare triple {2517#(<= (+ |old(~guard_malloc_counter~0.offset)| 1) ~guard_malloc_counter~0.offset)} havoc #t~post28.base, #t~post28.offset; {2517#(<= (+ |old(~guard_malloc_counter~0.offset)| 1) ~guard_malloc_counter~0.offset)} is VALID [2020-07-11 01:05:19,973 INFO L280 TraceCheckUtils]: 7: Hoare triple {2517#(<= (+ |old(~guard_malloc_counter~0.offset)| 1) ~guard_malloc_counter~0.offset)} assume -2147483648 <= #t~nondet29 && #t~nondet29 <= 2147483647; {2517#(<= (+ |old(~guard_malloc_counter~0.offset)| 1) ~guard_malloc_counter~0.offset)} is VALID [2020-07-11 01:05:19,973 INFO L280 TraceCheckUtils]: 8: Hoare triple {2517#(<= (+ |old(~guard_malloc_counter~0.offset)| 1) ~guard_malloc_counter~0.offset)} assume !(0 == #t~nondet29); {2517#(<= (+ |old(~guard_malloc_counter~0.offset)| 1) ~guard_malloc_counter~0.offset)} is VALID [2020-07-11 01:05:19,974 INFO L280 TraceCheckUtils]: 9: Hoare triple {2517#(<= (+ |old(~guard_malloc_counter~0.offset)| 1) ~guard_malloc_counter~0.offset)} havoc #t~nondet29; {2517#(<= (+ |old(~guard_malloc_counter~0.offset)| 1) ~guard_malloc_counter~0.offset)} is VALID [2020-07-11 01:05:19,975 INFO L280 TraceCheckUtils]: 10: Hoare triple {2517#(<= (+ |old(~guard_malloc_counter~0.offset)| 1) ~guard_malloc_counter~0.offset)} #res.base, #res.offset := ~guard_malloc_counter~0.base, ~guard_malloc_counter~0.offset; {2518#(<= (+ |old(~guard_malloc_counter~0.offset)| 1) |__getMemory_#res.offset|)} is VALID [2020-07-11 01:05:19,976 INFO L280 TraceCheckUtils]: 11: Hoare triple {2518#(<= (+ |old(~guard_malloc_counter~0.offset)| 1) |__getMemory_#res.offset|)} assume true; {2518#(<= (+ |old(~guard_malloc_counter~0.offset)| 1) |__getMemory_#res.offset|)} is VALID [2020-07-11 01:05:19,977 INFO L275 TraceCheckUtils]: 12: Hoare quadruple {2518#(<= (+ |old(~guard_malloc_counter~0.offset)| 1) |__getMemory_#res.offset|)} {2502#(= ~guard_malloc_counter~0.offset |old(~guard_malloc_counter~0.offset)|)} #92#return; {2514#(<= (+ |old(~guard_malloc_counter~0.offset)| 1) |my_malloc_#t~ret30.offset|)} is VALID [2020-07-11 01:05:19,978 INFO L280 TraceCheckUtils]: 13: Hoare triple {2514#(<= (+ |old(~guard_malloc_counter~0.offset)| 1) |my_malloc_#t~ret30.offset|)} #res.base, #res.offset := #t~ret30.base, #t~ret30.offset; {2515#(<= (+ |old(~guard_malloc_counter~0.offset)| 1) |my_malloc_#res.offset|)} is VALID [2020-07-11 01:05:19,979 INFO L280 TraceCheckUtils]: 14: Hoare triple {2515#(<= (+ |old(~guard_malloc_counter~0.offset)| 1) |my_malloc_#res.offset|)} havoc #t~ret30.base, #t~ret30.offset; {2515#(<= (+ |old(~guard_malloc_counter~0.offset)| 1) |my_malloc_#res.offset|)} is VALID [2020-07-11 01:05:19,980 INFO L280 TraceCheckUtils]: 15: Hoare triple {2515#(<= (+ |old(~guard_malloc_counter~0.offset)| 1) |my_malloc_#res.offset|)} assume true; {2515#(<= (+ |old(~guard_malloc_counter~0.offset)| 1) |my_malloc_#res.offset|)} is VALID [2020-07-11 01:05:19,982 INFO L275 TraceCheckUtils]: 16: Hoare quadruple {2515#(<= (+ |old(~guard_malloc_counter~0.offset)| 1) |my_malloc_#res.offset|)} {2452#(and (= 0 ~elem~0.offset) (= 0 ~guard_malloc_counter~0.offset))} #94#return; {2470#(and (= 0 ~elem~0.offset) (<= 1 |main_#t~ret32.offset|))} is VALID [2020-07-11 01:05:19,987 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2020-07-11 01:05:19,994 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2020-07-11 01:05:20,001 INFO L280 TraceCheckUtils]: 0: Hoare triple {2501#(and (= ~guard_malloc_counter~0.offset |old(~guard_malloc_counter~0.offset)|) (= ~guard_malloc_counter~0.base |old(~guard_malloc_counter~0.base)|))} ~size := #in~size; {2440#true} is VALID [2020-07-11 01:05:20,002 INFO L280 TraceCheckUtils]: 1: Hoare triple {2440#true} assume ~size > 0; {2440#true} is VALID [2020-07-11 01:05:20,002 INFO L280 TraceCheckUtils]: 2: Hoare triple {2440#true} #t~post28.base, #t~post28.offset := ~guard_malloc_counter~0.base, ~guard_malloc_counter~0.offset; {2440#true} is VALID [2020-07-11 01:05:20,002 INFO L280 TraceCheckUtils]: 3: Hoare triple {2440#true} ~guard_malloc_counter~0.base, ~guard_malloc_counter~0.offset := #t~post28.base, 1 + #t~post28.offset; {2440#true} is VALID [2020-07-11 01:05:20,003 INFO L280 TraceCheckUtils]: 4: Hoare triple {2440#true} havoc #t~post28.base, #t~post28.offset; {2440#true} is VALID [2020-07-11 01:05:20,003 INFO L280 TraceCheckUtils]: 5: Hoare triple {2440#true} assume -2147483648 <= #t~nondet29 && #t~nondet29 <= 2147483647; {2440#true} is VALID [2020-07-11 01:05:20,003 INFO L280 TraceCheckUtils]: 6: Hoare triple {2440#true} assume !(0 == #t~nondet29); {2440#true} is VALID [2020-07-11 01:05:20,003 INFO L280 TraceCheckUtils]: 7: Hoare triple {2440#true} havoc #t~nondet29; {2440#true} is VALID [2020-07-11 01:05:20,003 INFO L280 TraceCheckUtils]: 8: Hoare triple {2440#true} #res.base, #res.offset := ~guard_malloc_counter~0.base, ~guard_malloc_counter~0.offset; {2440#true} is VALID [2020-07-11 01:05:20,004 INFO L280 TraceCheckUtils]: 9: Hoare triple {2440#true} assume true; {2440#true} is VALID [2020-07-11 01:05:20,004 INFO L275 TraceCheckUtils]: 10: Hoare quadruple {2440#true} {2440#true} #92#return; {2440#true} is VALID [2020-07-11 01:05:20,004 INFO L280 TraceCheckUtils]: 0: Hoare triple {2501#(and (= ~guard_malloc_counter~0.offset |old(~guard_malloc_counter~0.offset)|) (= ~guard_malloc_counter~0.base |old(~guard_malloc_counter~0.base)|))} ~size := #in~size; {2440#true} is VALID [2020-07-11 01:05:20,006 INFO L263 TraceCheckUtils]: 1: Hoare triple {2440#true} call #t~ret30.base, #t~ret30.offset := __getMemory(~size); {2501#(and (= ~guard_malloc_counter~0.offset |old(~guard_malloc_counter~0.offset)|) (= ~guard_malloc_counter~0.base |old(~guard_malloc_counter~0.base)|))} is VALID [2020-07-11 01:05:20,006 INFO L280 TraceCheckUtils]: 2: Hoare triple {2501#(and (= ~guard_malloc_counter~0.offset |old(~guard_malloc_counter~0.offset)|) (= ~guard_malloc_counter~0.base |old(~guard_malloc_counter~0.base)|))} ~size := #in~size; {2440#true} is VALID [2020-07-11 01:05:20,006 INFO L280 TraceCheckUtils]: 3: Hoare triple {2440#true} assume ~size > 0; {2440#true} is VALID [2020-07-11 01:05:20,007 INFO L280 TraceCheckUtils]: 4: Hoare triple {2440#true} #t~post28.base, #t~post28.offset := ~guard_malloc_counter~0.base, ~guard_malloc_counter~0.offset; {2440#true} is VALID [2020-07-11 01:05:20,007 INFO L280 TraceCheckUtils]: 5: Hoare triple {2440#true} ~guard_malloc_counter~0.base, ~guard_malloc_counter~0.offset := #t~post28.base, 1 + #t~post28.offset; {2440#true} is VALID [2020-07-11 01:05:20,007 INFO L280 TraceCheckUtils]: 6: Hoare triple {2440#true} havoc #t~post28.base, #t~post28.offset; {2440#true} is VALID [2020-07-11 01:05:20,007 INFO L280 TraceCheckUtils]: 7: Hoare triple {2440#true} assume -2147483648 <= #t~nondet29 && #t~nondet29 <= 2147483647; {2440#true} is VALID [2020-07-11 01:05:20,008 INFO L280 TraceCheckUtils]: 8: Hoare triple {2440#true} assume !(0 == #t~nondet29); {2440#true} is VALID [2020-07-11 01:05:20,008 INFO L280 TraceCheckUtils]: 9: Hoare triple {2440#true} havoc #t~nondet29; {2440#true} is VALID [2020-07-11 01:05:20,008 INFO L280 TraceCheckUtils]: 10: Hoare triple {2440#true} #res.base, #res.offset := ~guard_malloc_counter~0.base, ~guard_malloc_counter~0.offset; {2440#true} is VALID [2020-07-11 01:05:20,008 INFO L280 TraceCheckUtils]: 11: Hoare triple {2440#true} assume true; {2440#true} is VALID [2020-07-11 01:05:20,008 INFO L275 TraceCheckUtils]: 12: Hoare quadruple {2440#true} {2440#true} #92#return; {2440#true} is VALID [2020-07-11 01:05:20,009 INFO L280 TraceCheckUtils]: 13: Hoare triple {2440#true} #res.base, #res.offset := #t~ret30.base, #t~ret30.offset; {2440#true} is VALID [2020-07-11 01:05:20,009 INFO L280 TraceCheckUtils]: 14: Hoare triple {2440#true} havoc #t~ret30.base, #t~ret30.offset; {2440#true} is VALID [2020-07-11 01:05:20,009 INFO L280 TraceCheckUtils]: 15: Hoare triple {2440#true} assume true; {2440#true} is VALID [2020-07-11 01:05:20,010 INFO L275 TraceCheckUtils]: 16: Hoare quadruple {2440#true} {2471#(and (<= 1 main_~dev1~0.offset) (= 0 ~elem~0.offset))} #96#return; {2471#(and (<= 1 main_~dev1~0.offset) (= 0 ~elem~0.offset))} is VALID [2020-07-11 01:05:20,041 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2020-07-11 01:05:20,069 INFO L280 TraceCheckUtils]: 0: Hoare triple {2530#(and (= ~elem~0.base |old(~elem~0.base)|) (= ~elem~0.offset |old(~elem~0.offset)|))} ~new.base, ~new.offset := #in~new.base, #in~new.offset; {2531#(= |old(~elem~0.offset)| ~elem~0.offset)} is VALID [2020-07-11 01:05:20,070 INFO L280 TraceCheckUtils]: 1: Hoare triple {2531#(= |old(~elem~0.offset)| ~elem~0.offset)} ~head.base, ~head.offset := #in~head.base, #in~head.offset; {2531#(= |old(~elem~0.offset)| ~elem~0.offset)} is VALID [2020-07-11 01:05:20,071 INFO L280 TraceCheckUtils]: 2: Hoare triple {2531#(= |old(~elem~0.offset)| ~elem~0.offset)} assume ~new.base != ~elem~0.base || ~new.offset != ~elem~0.offset; {2531#(= |old(~elem~0.offset)| ~elem~0.offset)} is VALID [2020-07-11 01:05:20,071 INFO L280 TraceCheckUtils]: 3: Hoare triple {2531#(= |old(~elem~0.offset)| ~elem~0.offset)} assume -2147483648 <= #t~nondet31 && #t~nondet31 <= 2147483647; {2531#(= |old(~elem~0.offset)| ~elem~0.offset)} is VALID [2020-07-11 01:05:20,072 INFO L280 TraceCheckUtils]: 4: Hoare triple {2531#(= |old(~elem~0.offset)| ~elem~0.offset)} assume !(0 != #t~nondet31); {2531#(= |old(~elem~0.offset)| ~elem~0.offset)} is VALID [2020-07-11 01:05:20,073 INFO L280 TraceCheckUtils]: 5: Hoare triple {2531#(= |old(~elem~0.offset)| ~elem~0.offset)} havoc #t~nondet31; {2531#(= |old(~elem~0.offset)| ~elem~0.offset)} is VALID [2020-07-11 01:05:20,073 INFO L280 TraceCheckUtils]: 6: Hoare triple {2531#(= |old(~elem~0.offset)| ~elem~0.offset)} assume true; {2531#(= |old(~elem~0.offset)| ~elem~0.offset)} is VALID [2020-07-11 01:05:20,075 INFO L275 TraceCheckUtils]: 7: Hoare quadruple {2531#(= |old(~elem~0.offset)| ~elem~0.offset)} {2471#(and (<= 1 main_~dev1~0.offset) (= 0 ~elem~0.offset))} #98#return; {2471#(and (<= 1 main_~dev1~0.offset) (= 0 ~elem~0.offset))} is VALID [2020-07-11 01:05:20,076 INFO L263 TraceCheckUtils]: 0: Hoare triple {2440#true} call ULTIMATE.init(); {2499#(and (= |#valid| |old(#valid)|) (= ~elem~0.base |old(~elem~0.base)|) (= |#NULL.base| |old(#NULL.base)|) (= |~#head~0.base| |old(~#head~0.base)|) (= ~guard_malloc_counter~0.offset |old(~guard_malloc_counter~0.offset)|) (= |#NULL.offset| |old(#NULL.offset)|) (= ~elem~0.offset |old(~elem~0.offset)|) (= |old(#length)| |#length|) (= |~#head~0.offset| |old(~#head~0.offset)|) (= ~guard_malloc_counter~0.base |old(~guard_malloc_counter~0.base)|))} is VALID [2020-07-11 01:05:20,077 INFO L280 TraceCheckUtils]: 1: Hoare triple {2499#(and (= |#valid| |old(#valid)|) (= ~elem~0.base |old(~elem~0.base)|) (= |#NULL.base| |old(#NULL.base)|) (= |~#head~0.base| |old(~#head~0.base)|) (= ~guard_malloc_counter~0.offset |old(~guard_malloc_counter~0.offset)|) (= |#NULL.offset| |old(#NULL.offset)|) (= ~elem~0.offset |old(~elem~0.offset)|) (= |old(#length)| |#length|) (= |~#head~0.offset| |old(~#head~0.offset)|) (= ~guard_malloc_counter~0.base |old(~guard_malloc_counter~0.base)|))} #NULL.base, #NULL.offset := 0, 0; {2440#true} is VALID [2020-07-11 01:05:20,077 INFO L280 TraceCheckUtils]: 2: Hoare triple {2440#true} #valid := #valid[0 := 0]; {2440#true} is VALID [2020-07-11 01:05:20,077 INFO L280 TraceCheckUtils]: 3: Hoare triple {2440#true} assume 0 < #StackHeapBarrier; {2440#true} is VALID [2020-07-11 01:05:20,078 INFO L280 TraceCheckUtils]: 4: Hoare triple {2440#true} ~guard_malloc_counter~0.base, ~guard_malloc_counter~0.offset := 0, 0; {2500#(= 0 ~guard_malloc_counter~0.offset)} is VALID [2020-07-11 01:05:20,078 INFO L280 TraceCheckUtils]: 5: Hoare triple {2500#(= 0 ~guard_malloc_counter~0.offset)} ~elem~0.base, ~elem~0.offset := 0, 0; {2452#(and (= 0 ~elem~0.offset) (= 0 ~guard_malloc_counter~0.offset))} is VALID [2020-07-11 01:05:20,079 INFO L280 TraceCheckUtils]: 6: Hoare triple {2452#(and (= 0 ~elem~0.offset) (= 0 ~guard_malloc_counter~0.offset))} SUMMARY for call ~#head~0.base, ~#head~0.offset := #Ultimate.allocOnStack(8); srcloc: L900 {2452#(and (= 0 ~elem~0.offset) (= 0 ~guard_malloc_counter~0.offset))} is VALID [2020-07-11 01:05:20,080 INFO L280 TraceCheckUtils]: 7: Hoare triple {2452#(and (= 0 ~elem~0.offset) (= 0 ~guard_malloc_counter~0.offset))} SUMMARY for call write~init~$Pointer$(0, 0, ~#head~0.base, ~#head~0.offset, 4); srcloc: L900-1 {2452#(and (= 0 ~elem~0.offset) (= 0 ~guard_malloc_counter~0.offset))} is VALID [2020-07-11 01:05:20,081 INFO L280 TraceCheckUtils]: 8: Hoare triple {2452#(and (= 0 ~elem~0.offset) (= 0 ~guard_malloc_counter~0.offset))} SUMMARY for call write~init~$Pointer$(0, 0, ~#head~0.base, 4 + ~#head~0.offset, 4); srcloc: L900-2 {2452#(and (= 0 ~elem~0.offset) (= 0 ~guard_malloc_counter~0.offset))} is VALID [2020-07-11 01:05:20,082 INFO L280 TraceCheckUtils]: 9: Hoare triple {2452#(and (= 0 ~elem~0.offset) (= 0 ~guard_malloc_counter~0.offset))} assume true; {2452#(and (= 0 ~elem~0.offset) (= 0 ~guard_malloc_counter~0.offset))} is VALID [2020-07-11 01:05:20,083 INFO L275 TraceCheckUtils]: 10: Hoare quadruple {2452#(and (= 0 ~elem~0.offset) (= 0 ~guard_malloc_counter~0.offset))} {2440#true} #112#return; {2452#(and (= 0 ~elem~0.offset) (= 0 ~guard_malloc_counter~0.offset))} is VALID [2020-07-11 01:05:20,083 INFO L263 TraceCheckUtils]: 11: Hoare triple {2452#(and (= 0 ~elem~0.offset) (= 0 ~guard_malloc_counter~0.offset))} call #t~ret34 := main(); {2452#(and (= 0 ~elem~0.offset) (= 0 ~guard_malloc_counter~0.offset))} is VALID [2020-07-11 01:05:20,084 INFO L280 TraceCheckUtils]: 12: Hoare triple {2452#(and (= 0 ~elem~0.offset) (= 0 ~guard_malloc_counter~0.offset))} havoc ~dev1~0.base, ~dev1~0.offset; {2452#(and (= 0 ~elem~0.offset) (= 0 ~guard_malloc_counter~0.offset))} is VALID [2020-07-11 01:05:20,085 INFO L280 TraceCheckUtils]: 13: Hoare triple {2452#(and (= 0 ~elem~0.offset) (= 0 ~guard_malloc_counter~0.offset))} havoc ~dev2~0.base, ~dev2~0.offset; {2452#(and (= 0 ~elem~0.offset) (= 0 ~guard_malloc_counter~0.offset))} is VALID [2020-07-11 01:05:20,086 INFO L263 TraceCheckUtils]: 14: Hoare triple {2452#(and (= 0 ~elem~0.offset) (= 0 ~guard_malloc_counter~0.offset))} call #t~ret32.base, #t~ret32.offset := my_malloc(8); {2501#(and (= ~guard_malloc_counter~0.offset |old(~guard_malloc_counter~0.offset)|) (= ~guard_malloc_counter~0.base |old(~guard_malloc_counter~0.base)|))} is VALID [2020-07-11 01:05:20,086 INFO L280 TraceCheckUtils]: 15: Hoare triple {2501#(and (= ~guard_malloc_counter~0.offset |old(~guard_malloc_counter~0.offset)|) (= ~guard_malloc_counter~0.base |old(~guard_malloc_counter~0.base)|))} ~size := #in~size; {2502#(= ~guard_malloc_counter~0.offset |old(~guard_malloc_counter~0.offset)|)} is VALID [2020-07-11 01:05:20,087 INFO L263 TraceCheckUtils]: 16: Hoare triple {2502#(= ~guard_malloc_counter~0.offset |old(~guard_malloc_counter~0.offset)|)} call #t~ret30.base, #t~ret30.offset := __getMemory(~size); {2501#(and (= ~guard_malloc_counter~0.offset |old(~guard_malloc_counter~0.offset)|) (= ~guard_malloc_counter~0.base |old(~guard_malloc_counter~0.base)|))} is VALID [2020-07-11 01:05:20,088 INFO L280 TraceCheckUtils]: 17: Hoare triple {2501#(and (= ~guard_malloc_counter~0.offset |old(~guard_malloc_counter~0.offset)|) (= ~guard_malloc_counter~0.base |old(~guard_malloc_counter~0.base)|))} ~size := #in~size; {2502#(= ~guard_malloc_counter~0.offset |old(~guard_malloc_counter~0.offset)|)} is VALID [2020-07-11 01:05:20,089 INFO L280 TraceCheckUtils]: 18: Hoare triple {2502#(= ~guard_malloc_counter~0.offset |old(~guard_malloc_counter~0.offset)|)} assume ~size > 0; {2502#(= ~guard_malloc_counter~0.offset |old(~guard_malloc_counter~0.offset)|)} is VALID [2020-07-11 01:05:20,090 INFO L280 TraceCheckUtils]: 19: Hoare triple {2502#(= ~guard_malloc_counter~0.offset |old(~guard_malloc_counter~0.offset)|)} #t~post28.base, #t~post28.offset := ~guard_malloc_counter~0.base, ~guard_malloc_counter~0.offset; {2516#(= |old(~guard_malloc_counter~0.offset)| |__getMemory_#t~post28.offset|)} is VALID [2020-07-11 01:05:20,091 INFO L280 TraceCheckUtils]: 20: Hoare triple {2516#(= |old(~guard_malloc_counter~0.offset)| |__getMemory_#t~post28.offset|)} ~guard_malloc_counter~0.base, ~guard_malloc_counter~0.offset := #t~post28.base, 1 + #t~post28.offset; {2517#(<= (+ |old(~guard_malloc_counter~0.offset)| 1) ~guard_malloc_counter~0.offset)} is VALID [2020-07-11 01:05:20,092 INFO L280 TraceCheckUtils]: 21: Hoare triple {2517#(<= (+ |old(~guard_malloc_counter~0.offset)| 1) ~guard_malloc_counter~0.offset)} havoc #t~post28.base, #t~post28.offset; {2517#(<= (+ |old(~guard_malloc_counter~0.offset)| 1) ~guard_malloc_counter~0.offset)} is VALID [2020-07-11 01:05:20,092 INFO L280 TraceCheckUtils]: 22: Hoare triple {2517#(<= (+ |old(~guard_malloc_counter~0.offset)| 1) ~guard_malloc_counter~0.offset)} assume -2147483648 <= #t~nondet29 && #t~nondet29 <= 2147483647; {2517#(<= (+ |old(~guard_malloc_counter~0.offset)| 1) ~guard_malloc_counter~0.offset)} is VALID [2020-07-11 01:05:20,093 INFO L280 TraceCheckUtils]: 23: Hoare triple {2517#(<= (+ |old(~guard_malloc_counter~0.offset)| 1) ~guard_malloc_counter~0.offset)} assume !(0 == #t~nondet29); {2517#(<= (+ |old(~guard_malloc_counter~0.offset)| 1) ~guard_malloc_counter~0.offset)} is VALID [2020-07-11 01:05:20,093 INFO L280 TraceCheckUtils]: 24: Hoare triple {2517#(<= (+ |old(~guard_malloc_counter~0.offset)| 1) ~guard_malloc_counter~0.offset)} havoc #t~nondet29; {2517#(<= (+ |old(~guard_malloc_counter~0.offset)| 1) ~guard_malloc_counter~0.offset)} is VALID [2020-07-11 01:05:20,094 INFO L280 TraceCheckUtils]: 25: Hoare triple {2517#(<= (+ |old(~guard_malloc_counter~0.offset)| 1) ~guard_malloc_counter~0.offset)} #res.base, #res.offset := ~guard_malloc_counter~0.base, ~guard_malloc_counter~0.offset; {2518#(<= (+ |old(~guard_malloc_counter~0.offset)| 1) |__getMemory_#res.offset|)} is VALID [2020-07-11 01:05:20,110 INFO L280 TraceCheckUtils]: 26: Hoare triple {2518#(<= (+ |old(~guard_malloc_counter~0.offset)| 1) |__getMemory_#res.offset|)} assume true; {2518#(<= (+ |old(~guard_malloc_counter~0.offset)| 1) |__getMemory_#res.offset|)} is VALID [2020-07-11 01:05:20,112 INFO L275 TraceCheckUtils]: 27: Hoare quadruple {2518#(<= (+ |old(~guard_malloc_counter~0.offset)| 1) |__getMemory_#res.offset|)} {2502#(= ~guard_malloc_counter~0.offset |old(~guard_malloc_counter~0.offset)|)} #92#return; {2514#(<= (+ |old(~guard_malloc_counter~0.offset)| 1) |my_malloc_#t~ret30.offset|)} is VALID [2020-07-11 01:05:20,113 INFO L280 TraceCheckUtils]: 28: Hoare triple {2514#(<= (+ |old(~guard_malloc_counter~0.offset)| 1) |my_malloc_#t~ret30.offset|)} #res.base, #res.offset := #t~ret30.base, #t~ret30.offset; {2515#(<= (+ |old(~guard_malloc_counter~0.offset)| 1) |my_malloc_#res.offset|)} is VALID [2020-07-11 01:05:20,113 INFO L280 TraceCheckUtils]: 29: Hoare triple {2515#(<= (+ |old(~guard_malloc_counter~0.offset)| 1) |my_malloc_#res.offset|)} havoc #t~ret30.base, #t~ret30.offset; {2515#(<= (+ |old(~guard_malloc_counter~0.offset)| 1) |my_malloc_#res.offset|)} is VALID [2020-07-11 01:05:20,114 INFO L280 TraceCheckUtils]: 30: Hoare triple {2515#(<= (+ |old(~guard_malloc_counter~0.offset)| 1) |my_malloc_#res.offset|)} assume true; {2515#(<= (+ |old(~guard_malloc_counter~0.offset)| 1) |my_malloc_#res.offset|)} is VALID [2020-07-11 01:05:20,115 INFO L275 TraceCheckUtils]: 31: Hoare quadruple {2515#(<= (+ |old(~guard_malloc_counter~0.offset)| 1) |my_malloc_#res.offset|)} {2452#(and (= 0 ~elem~0.offset) (= 0 ~guard_malloc_counter~0.offset))} #94#return; {2470#(and (= 0 ~elem~0.offset) (<= 1 |main_#t~ret32.offset|))} is VALID [2020-07-11 01:05:20,116 INFO L280 TraceCheckUtils]: 32: Hoare triple {2470#(and (= 0 ~elem~0.offset) (<= 1 |main_#t~ret32.offset|))} ~dev1~0.base, ~dev1~0.offset := #t~ret32.base, #t~ret32.offset; {2471#(and (<= 1 main_~dev1~0.offset) (= 0 ~elem~0.offset))} is VALID [2020-07-11 01:05:20,116 INFO L280 TraceCheckUtils]: 33: Hoare triple {2471#(and (<= 1 main_~dev1~0.offset) (= 0 ~elem~0.offset))} havoc #t~ret32.base, #t~ret32.offset; {2471#(and (<= 1 main_~dev1~0.offset) (= 0 ~elem~0.offset))} is VALID [2020-07-11 01:05:20,117 INFO L263 TraceCheckUtils]: 34: Hoare triple {2471#(and (<= 1 main_~dev1~0.offset) (= 0 ~elem~0.offset))} call #t~ret33.base, #t~ret33.offset := my_malloc(8); {2501#(and (= ~guard_malloc_counter~0.offset |old(~guard_malloc_counter~0.offset)|) (= ~guard_malloc_counter~0.base |old(~guard_malloc_counter~0.base)|))} is VALID [2020-07-11 01:05:20,118 INFO L280 TraceCheckUtils]: 35: Hoare triple {2501#(and (= ~guard_malloc_counter~0.offset |old(~guard_malloc_counter~0.offset)|) (= ~guard_malloc_counter~0.base |old(~guard_malloc_counter~0.base)|))} ~size := #in~size; {2440#true} is VALID [2020-07-11 01:05:20,118 INFO L263 TraceCheckUtils]: 36: Hoare triple {2440#true} call #t~ret30.base, #t~ret30.offset := __getMemory(~size); {2501#(and (= ~guard_malloc_counter~0.offset |old(~guard_malloc_counter~0.offset)|) (= ~guard_malloc_counter~0.base |old(~guard_malloc_counter~0.base)|))} is VALID [2020-07-11 01:05:20,119 INFO L280 TraceCheckUtils]: 37: Hoare triple {2501#(and (= ~guard_malloc_counter~0.offset |old(~guard_malloc_counter~0.offset)|) (= ~guard_malloc_counter~0.base |old(~guard_malloc_counter~0.base)|))} ~size := #in~size; {2440#true} is VALID [2020-07-11 01:05:20,119 INFO L280 TraceCheckUtils]: 38: Hoare triple {2440#true} assume ~size > 0; {2440#true} is VALID [2020-07-11 01:05:20,119 INFO L280 TraceCheckUtils]: 39: Hoare triple {2440#true} #t~post28.base, #t~post28.offset := ~guard_malloc_counter~0.base, ~guard_malloc_counter~0.offset; {2440#true} is VALID [2020-07-11 01:05:20,119 INFO L280 TraceCheckUtils]: 40: Hoare triple {2440#true} ~guard_malloc_counter~0.base, ~guard_malloc_counter~0.offset := #t~post28.base, 1 + #t~post28.offset; {2440#true} is VALID [2020-07-11 01:05:20,119 INFO L280 TraceCheckUtils]: 41: Hoare triple {2440#true} havoc #t~post28.base, #t~post28.offset; {2440#true} is VALID [2020-07-11 01:05:20,119 INFO L280 TraceCheckUtils]: 42: Hoare triple {2440#true} assume -2147483648 <= #t~nondet29 && #t~nondet29 <= 2147483647; {2440#true} is VALID [2020-07-11 01:05:20,120 INFO L280 TraceCheckUtils]: 43: Hoare triple {2440#true} assume !(0 == #t~nondet29); {2440#true} is VALID [2020-07-11 01:05:20,120 INFO L280 TraceCheckUtils]: 44: Hoare triple {2440#true} havoc #t~nondet29; {2440#true} is VALID [2020-07-11 01:05:20,120 INFO L280 TraceCheckUtils]: 45: Hoare triple {2440#true} #res.base, #res.offset := ~guard_malloc_counter~0.base, ~guard_malloc_counter~0.offset; {2440#true} is VALID [2020-07-11 01:05:20,120 INFO L280 TraceCheckUtils]: 46: Hoare triple {2440#true} assume true; {2440#true} is VALID [2020-07-11 01:05:20,120 INFO L275 TraceCheckUtils]: 47: Hoare quadruple {2440#true} {2440#true} #92#return; {2440#true} is VALID [2020-07-11 01:05:20,121 INFO L280 TraceCheckUtils]: 48: Hoare triple {2440#true} #res.base, #res.offset := #t~ret30.base, #t~ret30.offset; {2440#true} is VALID [2020-07-11 01:05:20,121 INFO L280 TraceCheckUtils]: 49: Hoare triple {2440#true} havoc #t~ret30.base, #t~ret30.offset; {2440#true} is VALID [2020-07-11 01:05:20,121 INFO L280 TraceCheckUtils]: 50: Hoare triple {2440#true} assume true; {2440#true} is VALID [2020-07-11 01:05:20,123 INFO L275 TraceCheckUtils]: 51: Hoare quadruple {2440#true} {2471#(and (<= 1 main_~dev1~0.offset) (= 0 ~elem~0.offset))} #96#return; {2471#(and (<= 1 main_~dev1~0.offset) (= 0 ~elem~0.offset))} is VALID [2020-07-11 01:05:20,124 INFO L280 TraceCheckUtils]: 52: Hoare triple {2471#(and (<= 1 main_~dev1~0.offset) (= 0 ~elem~0.offset))} ~dev2~0.base, ~dev2~0.offset := #t~ret33.base, #t~ret33.offset; {2471#(and (<= 1 main_~dev1~0.offset) (= 0 ~elem~0.offset))} is VALID [2020-07-11 01:05:20,125 INFO L280 TraceCheckUtils]: 53: Hoare triple {2471#(and (<= 1 main_~dev1~0.offset) (= 0 ~elem~0.offset))} havoc #t~ret33.base, #t~ret33.offset; {2471#(and (<= 1 main_~dev1~0.offset) (= 0 ~elem~0.offset))} is VALID [2020-07-11 01:05:20,126 INFO L280 TraceCheckUtils]: 54: Hoare triple {2471#(and (<= 1 main_~dev1~0.offset) (= 0 ~elem~0.offset))} assume (~dev1~0.base != 0 || ~dev1~0.offset != 0) && (~dev2~0.base != 0 || ~dev2~0.offset != 0); {2471#(and (<= 1 main_~dev1~0.offset) (= 0 ~elem~0.offset))} is VALID [2020-07-11 01:05:20,127 INFO L263 TraceCheckUtils]: 55: Hoare triple {2471#(and (<= 1 main_~dev1~0.offset) (= 0 ~elem~0.offset))} call list_add(~dev2~0.base, ~dev2~0.offset, ~#head~0.base, ~#head~0.offset); {2530#(and (= ~elem~0.base |old(~elem~0.base)|) (= ~elem~0.offset |old(~elem~0.offset)|))} is VALID [2020-07-11 01:05:20,128 INFO L280 TraceCheckUtils]: 56: Hoare triple {2530#(and (= ~elem~0.base |old(~elem~0.base)|) (= ~elem~0.offset |old(~elem~0.offset)|))} ~new.base, ~new.offset := #in~new.base, #in~new.offset; {2531#(= |old(~elem~0.offset)| ~elem~0.offset)} is VALID [2020-07-11 01:05:20,129 INFO L280 TraceCheckUtils]: 57: Hoare triple {2531#(= |old(~elem~0.offset)| ~elem~0.offset)} ~head.base, ~head.offset := #in~head.base, #in~head.offset; {2531#(= |old(~elem~0.offset)| ~elem~0.offset)} is VALID [2020-07-11 01:05:20,129 INFO L280 TraceCheckUtils]: 58: Hoare triple {2531#(= |old(~elem~0.offset)| ~elem~0.offset)} assume ~new.base != ~elem~0.base || ~new.offset != ~elem~0.offset; {2531#(= |old(~elem~0.offset)| ~elem~0.offset)} is VALID [2020-07-11 01:05:20,129 INFO L280 TraceCheckUtils]: 59: Hoare triple {2531#(= |old(~elem~0.offset)| ~elem~0.offset)} assume -2147483648 <= #t~nondet31 && #t~nondet31 <= 2147483647; {2531#(= |old(~elem~0.offset)| ~elem~0.offset)} is VALID [2020-07-11 01:05:20,130 INFO L280 TraceCheckUtils]: 60: Hoare triple {2531#(= |old(~elem~0.offset)| ~elem~0.offset)} assume !(0 != #t~nondet31); {2531#(= |old(~elem~0.offset)| ~elem~0.offset)} is VALID [2020-07-11 01:05:20,130 INFO L280 TraceCheckUtils]: 61: Hoare triple {2531#(= |old(~elem~0.offset)| ~elem~0.offset)} havoc #t~nondet31; {2531#(= |old(~elem~0.offset)| ~elem~0.offset)} is VALID [2020-07-11 01:05:20,131 INFO L280 TraceCheckUtils]: 62: Hoare triple {2531#(= |old(~elem~0.offset)| ~elem~0.offset)} assume true; {2531#(= |old(~elem~0.offset)| ~elem~0.offset)} is VALID [2020-07-11 01:05:20,132 INFO L275 TraceCheckUtils]: 63: Hoare quadruple {2531#(= |old(~elem~0.offset)| ~elem~0.offset)} {2471#(and (<= 1 main_~dev1~0.offset) (= 0 ~elem~0.offset))} #98#return; {2471#(and (<= 1 main_~dev1~0.offset) (= 0 ~elem~0.offset))} is VALID [2020-07-11 01:05:20,134 INFO L263 TraceCheckUtils]: 64: Hoare triple {2471#(and (<= 1 main_~dev1~0.offset) (= 0 ~elem~0.offset))} call list_add(~dev1~0.base, ~dev1~0.offset, ~#head~0.base, ~#head~0.offset); {2497#(and (= 0 ~elem~0.offset) (<= 1 |list_add_#in~new.offset|))} is VALID [2020-07-11 01:05:20,135 INFO L280 TraceCheckUtils]: 65: Hoare triple {2497#(and (= 0 ~elem~0.offset) (<= 1 |list_add_#in~new.offset|))} ~new.base, ~new.offset := #in~new.base, #in~new.offset; {2498#(and (= 0 ~elem~0.offset) (not (= 0 list_add_~new.offset)))} is VALID [2020-07-11 01:05:20,135 INFO L280 TraceCheckUtils]: 66: Hoare triple {2498#(and (= 0 ~elem~0.offset) (not (= 0 list_add_~new.offset)))} ~head.base, ~head.offset := #in~head.base, #in~head.offset; {2498#(and (= 0 ~elem~0.offset) (not (= 0 list_add_~new.offset)))} is VALID [2020-07-11 01:05:20,136 INFO L280 TraceCheckUtils]: 67: Hoare triple {2498#(and (= 0 ~elem~0.offset) (not (= 0 list_add_~new.offset)))} assume !(~new.base != ~elem~0.base || ~new.offset != ~elem~0.offset); {2441#false} is VALID [2020-07-11 01:05:20,136 INFO L263 TraceCheckUtils]: 68: Hoare triple {2441#false} call __blast_assert(); {2441#false} is VALID [2020-07-11 01:05:20,136 INFO L280 TraceCheckUtils]: 69: Hoare triple {2441#false} assume !false; {2441#false} is VALID [2020-07-11 01:05:20,144 INFO L134 CoverageAnalysis]: Checked inductivity of 20 backedges. 0 proven. 18 refuted. 0 times theorem prover too weak. 2 trivial. 0 not checked. [2020-07-11 01:05:20,144 INFO L354 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModulePreferences [992024186] [2020-07-11 01:05:20,144 INFO L220 FreeRefinementEngine]: Constructing automaton from 0 perfect and 1 imperfect interpolant sequences. [2020-07-11 01:05:20,145 INFO L233 FreeRefinementEngine]: Number of different interpolants: perfect sequences [] imperfect sequences [18] total 18 [2020-07-11 01:05:20,145 INFO L156 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [1573030521] [2020-07-11 01:05:20,146 INFO L78 Accepts]: Start accepts. Automaton has 18 states. Word has length 70 [2020-07-11 01:05:20,147 INFO L84 Accepts]: Finished accepts. word is accepted. [2020-07-11 01:05:20,147 INFO L86 InductivityCheck]: Starting indutivity check of a Floyd-Hoare automaton with 18 states. [2020-07-11 01:05:20,218 INFO L119 InductivityCheck]: Floyd-Hoare automaton has 70 edges. 70 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2020-07-11 01:05:20,218 INFO L459 AbstractCegarLoop]: Interpolant automaton has 18 states [2020-07-11 01:05:20,218 INFO L143 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy FIXED_PREFERENCES [2020-07-11 01:05:20,219 INFO L142 InterpolantAutomaton]: Constructing interpolant automaton starting with 18 interpolants. [2020-07-11 01:05:20,219 INFO L144 InterpolantAutomaton]: CoverageRelationStatistics Valid=40, Invalid=266, Unknown=0, NotChecked=0, Total=306 [2020-07-11 01:05:20,219 INFO L87 Difference]: Start difference. First operand 88 states and 101 transitions. Second operand 18 states. [2020-07-11 01:05:24,443 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2020-07-11 01:05:24,443 INFO L93 Difference]: Finished difference Result 113 states and 129 transitions. [2020-07-11 01:05:24,443 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 22 states. [2020-07-11 01:05:24,443 INFO L78 Accepts]: Start accepts. Automaton has 18 states. Word has length 70 [2020-07-11 01:05:24,444 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2020-07-11 01:05:24,444 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 18 states. [2020-07-11 01:05:24,448 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 22 states to 22 states and 102 transitions. [2020-07-11 01:05:24,449 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 18 states. [2020-07-11 01:05:24,452 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 22 states to 22 states and 102 transitions. [2020-07-11 01:05:24,452 INFO L86 InductivityCheck]: Starting indutivity check of a Floyd-Hoare automaton with 22 states and 102 transitions. [2020-07-11 01:05:24,631 INFO L119 InductivityCheck]: Floyd-Hoare automaton has 102 edges. 102 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2020-07-11 01:05:24,635 INFO L225 Difference]: With dead ends: 113 [2020-07-11 01:05:24,635 INFO L226 Difference]: Without dead ends: 104 [2020-07-11 01:05:24,637 INFO L675 BasicCegarLoop]: 0 DeclaredPredicates, 44 GetRequests, 12 SyntacticMatches, 0 SemanticMatches, 32 ConstructedPredicates, 0 IntricatePredicates, 0 DeprecatedPredicates, 123 ImplicationChecksByTransitivity, 0.7s TimeCoverageRelationStatistics Valid=173, Invalid=949, Unknown=0, NotChecked=0, Total=1122 [2020-07-11 01:05:24,637 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 104 states. [2020-07-11 01:05:25,076 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 104 to 94. [2020-07-11 01:05:25,076 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2020-07-11 01:05:25,076 INFO L82 GeneralOperation]: Start isEquivalent. First operand 104 states. Second operand 94 states. [2020-07-11 01:05:25,076 INFO L74 IsIncluded]: Start isIncluded. First operand 104 states. Second operand 94 states. [2020-07-11 01:05:25,077 INFO L87 Difference]: Start difference. First operand 104 states. Second operand 94 states. [2020-07-11 01:05:25,083 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2020-07-11 01:05:25,083 INFO L93 Difference]: Finished difference Result 104 states and 118 transitions. [2020-07-11 01:05:25,083 INFO L276 IsEmpty]: Start isEmpty. Operand 104 states and 118 transitions. [2020-07-11 01:05:25,084 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2020-07-11 01:05:25,084 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2020-07-11 01:05:25,084 INFO L74 IsIncluded]: Start isIncluded. First operand 94 states. Second operand 104 states. [2020-07-11 01:05:25,084 INFO L87 Difference]: Start difference. First operand 94 states. Second operand 104 states. [2020-07-11 01:05:25,090 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2020-07-11 01:05:25,090 INFO L93 Difference]: Finished difference Result 104 states and 118 transitions. [2020-07-11 01:05:25,090 INFO L276 IsEmpty]: Start isEmpty. Operand 104 states and 118 transitions. [2020-07-11 01:05:25,091 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2020-07-11 01:05:25,091 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2020-07-11 01:05:25,091 INFO L88 GeneralOperation]: Finished isEquivalent. [2020-07-11 01:05:25,091 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2020-07-11 01:05:25,091 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 94 states. [2020-07-11 01:05:25,096 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 94 states to 94 states and 107 transitions. [2020-07-11 01:05:25,096 INFO L78 Accepts]: Start accepts. Automaton has 94 states and 107 transitions. Word has length 70 [2020-07-11 01:05:25,096 INFO L84 Accepts]: Finished accepts. word is rejected. [2020-07-11 01:05:25,096 INFO L479 AbstractCegarLoop]: Abstraction has 94 states and 107 transitions. [2020-07-11 01:05:25,096 INFO L480 AbstractCegarLoop]: Interpolant automaton has 18 states. [2020-07-11 01:05:25,097 INFO L86 InductivityCheck]: Starting indutivity check of a Floyd-Hoare automaton with 94 states and 107 transitions. [2020-07-11 01:05:25,333 INFO L119 InductivityCheck]: Floyd-Hoare automaton has 107 edges. 107 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2020-07-11 01:05:25,333 INFO L276 IsEmpty]: Start isEmpty. Operand 94 states and 107 transitions. [2020-07-11 01:05:25,334 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 72 [2020-07-11 01:05:25,335 INFO L414 BasicCegarLoop]: Found error trace [2020-07-11 01:05:25,335 INFO L422 BasicCegarLoop]: trace histogram [2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1] [2020-07-11 01:05:25,335 WARN L516 AbstractCegarLoop]: Destroyed unattended storables created during the last iteration: SelfDestructingSolverStorable4 [2020-07-11 01:05:25,335 INFO L427 AbstractCegarLoop]: === Iteration 6 === [__blast_assertErr0ASSERT_VIOLATIONERROR_FUNCTION]=== [2020-07-11 01:05:25,335 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2020-07-11 01:05:25,336 INFO L82 PathProgramCache]: Analyzing trace with hash 983151375, now seen corresponding path program 1 times [2020-07-11 01:05:25,336 INFO L163 FreeRefinementEngine]: Executing refinement strategy FIXED_PREFERENCES [2020-07-11 01:05:25,336 INFO L354 FreeRefinementEngine]: Using trace check IpTcStrategyModulePreferences [518287211] [2020-07-11 01:05:25,336 INFO L94 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2020-07-11 01:05:25,354 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2020-07-11 01:05:25,496 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2020-07-11 01:05:25,501 INFO L280 TraceCheckUtils]: 0: Hoare triple {3251#(and (= |#valid| |old(#valid)|) (= ~elem~0.base |old(~elem~0.base)|) (= |#NULL.base| |old(#NULL.base)|) (= |~#head~0.base| |old(~#head~0.base)|) (= ~guard_malloc_counter~0.offset |old(~guard_malloc_counter~0.offset)|) (= |#NULL.offset| |old(#NULL.offset)|) (= ~elem~0.offset |old(~elem~0.offset)|) (= |old(#length)| |#length|) (= |~#head~0.offset| |old(~#head~0.offset)|) (= ~guard_malloc_counter~0.base |old(~guard_malloc_counter~0.base)|))} #NULL.base, #NULL.offset := 0, 0; {3189#true} is VALID [2020-07-11 01:05:25,501 INFO L280 TraceCheckUtils]: 1: Hoare triple {3189#true} #valid := #valid[0 := 0]; {3189#true} is VALID [2020-07-11 01:05:25,502 INFO L280 TraceCheckUtils]: 2: Hoare triple {3189#true} assume 0 < #StackHeapBarrier; {3189#true} is VALID [2020-07-11 01:05:25,502 INFO L280 TraceCheckUtils]: 3: Hoare triple {3189#true} ~guard_malloc_counter~0.base, ~guard_malloc_counter~0.offset := 0, 0; {3189#true} is VALID [2020-07-11 01:05:25,502 INFO L280 TraceCheckUtils]: 4: Hoare triple {3189#true} ~elem~0.base, ~elem~0.offset := 0, 0; {3189#true} is VALID [2020-07-11 01:05:25,502 INFO L280 TraceCheckUtils]: 5: Hoare triple {3189#true} SUMMARY for call ~#head~0.base, ~#head~0.offset := #Ultimate.allocOnStack(8); srcloc: L900 {3189#true} is VALID [2020-07-11 01:05:25,502 INFO L280 TraceCheckUtils]: 6: Hoare triple {3189#true} SUMMARY for call write~init~$Pointer$(0, 0, ~#head~0.base, ~#head~0.offset, 4); srcloc: L900-1 {3189#true} is VALID [2020-07-11 01:05:25,503 INFO L280 TraceCheckUtils]: 7: Hoare triple {3189#true} SUMMARY for call write~init~$Pointer$(0, 0, ~#head~0.base, 4 + ~#head~0.offset, 4); srcloc: L900-2 {3189#true} is VALID [2020-07-11 01:05:25,503 INFO L280 TraceCheckUtils]: 8: Hoare triple {3189#true} assume true; {3189#true} is VALID [2020-07-11 01:05:25,503 INFO L275 TraceCheckUtils]: 9: Hoare quadruple {3189#true} {3189#true} #112#return; {3189#true} is VALID [2020-07-11 01:05:25,523 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2020-07-11 01:05:25,564 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2020-07-11 01:05:25,602 INFO L280 TraceCheckUtils]: 0: Hoare triple {3252#(and (= ~guard_malloc_counter~0.offset |old(~guard_malloc_counter~0.offset)|) (= ~guard_malloc_counter~0.base |old(~guard_malloc_counter~0.base)|))} ~size := #in~size; {3189#true} is VALID [2020-07-11 01:05:25,602 INFO L280 TraceCheckUtils]: 1: Hoare triple {3189#true} assume ~size > 0; {3189#true} is VALID [2020-07-11 01:05:25,603 INFO L280 TraceCheckUtils]: 2: Hoare triple {3189#true} #t~post28.base, #t~post28.offset := ~guard_malloc_counter~0.base, ~guard_malloc_counter~0.offset; {3189#true} is VALID [2020-07-11 01:05:25,603 INFO L280 TraceCheckUtils]: 3: Hoare triple {3189#true} ~guard_malloc_counter~0.base, ~guard_malloc_counter~0.offset := #t~post28.base, 1 + #t~post28.offset; {3189#true} is VALID [2020-07-11 01:05:25,603 INFO L280 TraceCheckUtils]: 4: Hoare triple {3189#true} havoc #t~post28.base, #t~post28.offset; {3189#true} is VALID [2020-07-11 01:05:25,603 INFO L280 TraceCheckUtils]: 5: Hoare triple {3189#true} assume -2147483648 <= #t~nondet29 && #t~nondet29 <= 2147483647; {3189#true} is VALID [2020-07-11 01:05:25,604 INFO L280 TraceCheckUtils]: 6: Hoare triple {3189#true} assume !(0 == #t~nondet29); {3189#true} is VALID [2020-07-11 01:05:25,604 INFO L280 TraceCheckUtils]: 7: Hoare triple {3189#true} havoc #t~nondet29; {3189#true} is VALID [2020-07-11 01:05:25,605 INFO L280 TraceCheckUtils]: 8: Hoare triple {3189#true} #res.base, #res.offset := ~guard_malloc_counter~0.base, ~guard_malloc_counter~0.offset; {3266#(<= |__getMemory_#res.offset| ~guard_malloc_counter~0.offset)} is VALID [2020-07-11 01:05:25,606 INFO L280 TraceCheckUtils]: 9: Hoare triple {3266#(<= |__getMemory_#res.offset| ~guard_malloc_counter~0.offset)} assume true; {3266#(<= |__getMemory_#res.offset| ~guard_malloc_counter~0.offset)} is VALID [2020-07-11 01:05:25,607 INFO L275 TraceCheckUtils]: 10: Hoare quadruple {3266#(<= |__getMemory_#res.offset| ~guard_malloc_counter~0.offset)} {3189#true} #92#return; {3264#(<= |my_malloc_#t~ret30.offset| ~guard_malloc_counter~0.offset)} is VALID [2020-07-11 01:05:25,608 INFO L280 TraceCheckUtils]: 0: Hoare triple {3252#(and (= ~guard_malloc_counter~0.offset |old(~guard_malloc_counter~0.offset)|) (= ~guard_malloc_counter~0.base |old(~guard_malloc_counter~0.base)|))} ~size := #in~size; {3189#true} is VALID [2020-07-11 01:05:25,609 INFO L263 TraceCheckUtils]: 1: Hoare triple {3189#true} call #t~ret30.base, #t~ret30.offset := __getMemory(~size); {3252#(and (= ~guard_malloc_counter~0.offset |old(~guard_malloc_counter~0.offset)|) (= ~guard_malloc_counter~0.base |old(~guard_malloc_counter~0.base)|))} is VALID [2020-07-11 01:05:25,609 INFO L280 TraceCheckUtils]: 2: Hoare triple {3252#(and (= ~guard_malloc_counter~0.offset |old(~guard_malloc_counter~0.offset)|) (= ~guard_malloc_counter~0.base |old(~guard_malloc_counter~0.base)|))} ~size := #in~size; {3189#true} is VALID [2020-07-11 01:05:25,609 INFO L280 TraceCheckUtils]: 3: Hoare triple {3189#true} assume ~size > 0; {3189#true} is VALID [2020-07-11 01:05:25,609 INFO L280 TraceCheckUtils]: 4: Hoare triple {3189#true} #t~post28.base, #t~post28.offset := ~guard_malloc_counter~0.base, ~guard_malloc_counter~0.offset; {3189#true} is VALID [2020-07-11 01:05:25,609 INFO L280 TraceCheckUtils]: 5: Hoare triple {3189#true} ~guard_malloc_counter~0.base, ~guard_malloc_counter~0.offset := #t~post28.base, 1 + #t~post28.offset; {3189#true} is VALID [2020-07-11 01:05:25,610 INFO L280 TraceCheckUtils]: 6: Hoare triple {3189#true} havoc #t~post28.base, #t~post28.offset; {3189#true} is VALID [2020-07-11 01:05:25,610 INFO L280 TraceCheckUtils]: 7: Hoare triple {3189#true} assume -2147483648 <= #t~nondet29 && #t~nondet29 <= 2147483647; {3189#true} is VALID [2020-07-11 01:05:25,610 INFO L280 TraceCheckUtils]: 8: Hoare triple {3189#true} assume !(0 == #t~nondet29); {3189#true} is VALID [2020-07-11 01:05:25,610 INFO L280 TraceCheckUtils]: 9: Hoare triple {3189#true} havoc #t~nondet29; {3189#true} is VALID [2020-07-11 01:05:25,611 INFO L280 TraceCheckUtils]: 10: Hoare triple {3189#true} #res.base, #res.offset := ~guard_malloc_counter~0.base, ~guard_malloc_counter~0.offset; {3266#(<= |__getMemory_#res.offset| ~guard_malloc_counter~0.offset)} is VALID [2020-07-11 01:05:25,611 INFO L280 TraceCheckUtils]: 11: Hoare triple {3266#(<= |__getMemory_#res.offset| ~guard_malloc_counter~0.offset)} assume true; {3266#(<= |__getMemory_#res.offset| ~guard_malloc_counter~0.offset)} is VALID [2020-07-11 01:05:25,613 INFO L275 TraceCheckUtils]: 12: Hoare quadruple {3266#(<= |__getMemory_#res.offset| ~guard_malloc_counter~0.offset)} {3189#true} #92#return; {3264#(<= |my_malloc_#t~ret30.offset| ~guard_malloc_counter~0.offset)} is VALID [2020-07-11 01:05:25,614 INFO L280 TraceCheckUtils]: 13: Hoare triple {3264#(<= |my_malloc_#t~ret30.offset| ~guard_malloc_counter~0.offset)} #res.base, #res.offset := #t~ret30.base, #t~ret30.offset; {3265#(<= |my_malloc_#res.offset| ~guard_malloc_counter~0.offset)} is VALID [2020-07-11 01:05:25,614 INFO L280 TraceCheckUtils]: 14: Hoare triple {3265#(<= |my_malloc_#res.offset| ~guard_malloc_counter~0.offset)} havoc #t~ret30.base, #t~ret30.offset; {3265#(<= |my_malloc_#res.offset| ~guard_malloc_counter~0.offset)} is VALID [2020-07-11 01:05:25,615 INFO L280 TraceCheckUtils]: 15: Hoare triple {3265#(<= |my_malloc_#res.offset| ~guard_malloc_counter~0.offset)} assume true; {3265#(<= |my_malloc_#res.offset| ~guard_malloc_counter~0.offset)} is VALID [2020-07-11 01:05:25,616 INFO L275 TraceCheckUtils]: 16: Hoare quadruple {3265#(<= |my_malloc_#res.offset| ~guard_malloc_counter~0.offset)} {3189#true} #94#return; {3218#(<= |main_#t~ret32.offset| ~guard_malloc_counter~0.offset)} is VALID [2020-07-11 01:05:25,620 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2020-07-11 01:05:25,704 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2020-07-11 01:05:25,809 INFO L280 TraceCheckUtils]: 0: Hoare triple {3252#(and (= ~guard_malloc_counter~0.offset |old(~guard_malloc_counter~0.offset)|) (= ~guard_malloc_counter~0.base |old(~guard_malloc_counter~0.base)|))} ~size := #in~size; {3267#(= ~guard_malloc_counter~0.offset |old(~guard_malloc_counter~0.offset)|)} is VALID [2020-07-11 01:05:25,810 INFO L280 TraceCheckUtils]: 1: Hoare triple {3267#(= ~guard_malloc_counter~0.offset |old(~guard_malloc_counter~0.offset)|)} assume ~size > 0; {3267#(= ~guard_malloc_counter~0.offset |old(~guard_malloc_counter~0.offset)|)} is VALID [2020-07-11 01:05:25,811 INFO L280 TraceCheckUtils]: 2: Hoare triple {3267#(= ~guard_malloc_counter~0.offset |old(~guard_malloc_counter~0.offset)|)} #t~post28.base, #t~post28.offset := ~guard_malloc_counter~0.base, ~guard_malloc_counter~0.offset; {3281#(= |old(~guard_malloc_counter~0.offset)| |__getMemory_#t~post28.offset|)} is VALID [2020-07-11 01:05:25,812 INFO L280 TraceCheckUtils]: 3: Hoare triple {3281#(= |old(~guard_malloc_counter~0.offset)| |__getMemory_#t~post28.offset|)} ~guard_malloc_counter~0.base, ~guard_malloc_counter~0.offset := #t~post28.base, 1 + #t~post28.offset; {3282#(<= (+ |old(~guard_malloc_counter~0.offset)| 1) ~guard_malloc_counter~0.offset)} is VALID [2020-07-11 01:05:25,813 INFO L280 TraceCheckUtils]: 4: Hoare triple {3282#(<= (+ |old(~guard_malloc_counter~0.offset)| 1) ~guard_malloc_counter~0.offset)} havoc #t~post28.base, #t~post28.offset; {3282#(<= (+ |old(~guard_malloc_counter~0.offset)| 1) ~guard_malloc_counter~0.offset)} is VALID [2020-07-11 01:05:25,814 INFO L280 TraceCheckUtils]: 5: Hoare triple {3282#(<= (+ |old(~guard_malloc_counter~0.offset)| 1) ~guard_malloc_counter~0.offset)} assume -2147483648 <= #t~nondet29 && #t~nondet29 <= 2147483647; {3282#(<= (+ |old(~guard_malloc_counter~0.offset)| 1) ~guard_malloc_counter~0.offset)} is VALID [2020-07-11 01:05:25,815 INFO L280 TraceCheckUtils]: 6: Hoare triple {3282#(<= (+ |old(~guard_malloc_counter~0.offset)| 1) ~guard_malloc_counter~0.offset)} assume !(0 == #t~nondet29); {3282#(<= (+ |old(~guard_malloc_counter~0.offset)| 1) ~guard_malloc_counter~0.offset)} is VALID [2020-07-11 01:05:25,816 INFO L280 TraceCheckUtils]: 7: Hoare triple {3282#(<= (+ |old(~guard_malloc_counter~0.offset)| 1) ~guard_malloc_counter~0.offset)} havoc #t~nondet29; {3282#(<= (+ |old(~guard_malloc_counter~0.offset)| 1) ~guard_malloc_counter~0.offset)} is VALID [2020-07-11 01:05:25,817 INFO L280 TraceCheckUtils]: 8: Hoare triple {3282#(<= (+ |old(~guard_malloc_counter~0.offset)| 1) ~guard_malloc_counter~0.offset)} #res.base, #res.offset := ~guard_malloc_counter~0.base, ~guard_malloc_counter~0.offset; {3283#(<= (+ |old(~guard_malloc_counter~0.offset)| 1) |__getMemory_#res.offset|)} is VALID [2020-07-11 01:05:25,818 INFO L280 TraceCheckUtils]: 9: Hoare triple {3283#(<= (+ |old(~guard_malloc_counter~0.offset)| 1) |__getMemory_#res.offset|)} assume true; {3283#(<= (+ |old(~guard_malloc_counter~0.offset)| 1) |__getMemory_#res.offset|)} is VALID [2020-07-11 01:05:25,819 INFO L275 TraceCheckUtils]: 10: Hoare quadruple {3283#(<= (+ |old(~guard_malloc_counter~0.offset)| 1) |__getMemory_#res.offset|)} {3267#(= ~guard_malloc_counter~0.offset |old(~guard_malloc_counter~0.offset)|)} #92#return; {3279#(<= (+ |old(~guard_malloc_counter~0.offset)| 1) |my_malloc_#t~ret30.offset|)} is VALID [2020-07-11 01:05:25,820 INFO L280 TraceCheckUtils]: 0: Hoare triple {3252#(and (= ~guard_malloc_counter~0.offset |old(~guard_malloc_counter~0.offset)|) (= ~guard_malloc_counter~0.base |old(~guard_malloc_counter~0.base)|))} ~size := #in~size; {3267#(= ~guard_malloc_counter~0.offset |old(~guard_malloc_counter~0.offset)|)} is VALID [2020-07-11 01:05:25,821 INFO L263 TraceCheckUtils]: 1: Hoare triple {3267#(= ~guard_malloc_counter~0.offset |old(~guard_malloc_counter~0.offset)|)} call #t~ret30.base, #t~ret30.offset := __getMemory(~size); {3252#(and (= ~guard_malloc_counter~0.offset |old(~guard_malloc_counter~0.offset)|) (= ~guard_malloc_counter~0.base |old(~guard_malloc_counter~0.base)|))} is VALID [2020-07-11 01:05:25,821 INFO L280 TraceCheckUtils]: 2: Hoare triple {3252#(and (= ~guard_malloc_counter~0.offset |old(~guard_malloc_counter~0.offset)|) (= ~guard_malloc_counter~0.base |old(~guard_malloc_counter~0.base)|))} ~size := #in~size; {3267#(= ~guard_malloc_counter~0.offset |old(~guard_malloc_counter~0.offset)|)} is VALID [2020-07-11 01:05:25,822 INFO L280 TraceCheckUtils]: 3: Hoare triple {3267#(= ~guard_malloc_counter~0.offset |old(~guard_malloc_counter~0.offset)|)} assume ~size > 0; {3267#(= ~guard_malloc_counter~0.offset |old(~guard_malloc_counter~0.offset)|)} is VALID [2020-07-11 01:05:25,823 INFO L280 TraceCheckUtils]: 4: Hoare triple {3267#(= ~guard_malloc_counter~0.offset |old(~guard_malloc_counter~0.offset)|)} #t~post28.base, #t~post28.offset := ~guard_malloc_counter~0.base, ~guard_malloc_counter~0.offset; {3281#(= |old(~guard_malloc_counter~0.offset)| |__getMemory_#t~post28.offset|)} is VALID [2020-07-11 01:05:25,824 INFO L280 TraceCheckUtils]: 5: Hoare triple {3281#(= |old(~guard_malloc_counter~0.offset)| |__getMemory_#t~post28.offset|)} ~guard_malloc_counter~0.base, ~guard_malloc_counter~0.offset := #t~post28.base, 1 + #t~post28.offset; {3282#(<= (+ |old(~guard_malloc_counter~0.offset)| 1) ~guard_malloc_counter~0.offset)} is VALID [2020-07-11 01:05:25,824 INFO L280 TraceCheckUtils]: 6: Hoare triple {3282#(<= (+ |old(~guard_malloc_counter~0.offset)| 1) ~guard_malloc_counter~0.offset)} havoc #t~post28.base, #t~post28.offset; {3282#(<= (+ |old(~guard_malloc_counter~0.offset)| 1) ~guard_malloc_counter~0.offset)} is VALID [2020-07-11 01:05:25,825 INFO L280 TraceCheckUtils]: 7: Hoare triple {3282#(<= (+ |old(~guard_malloc_counter~0.offset)| 1) ~guard_malloc_counter~0.offset)} assume -2147483648 <= #t~nondet29 && #t~nondet29 <= 2147483647; {3282#(<= (+ |old(~guard_malloc_counter~0.offset)| 1) ~guard_malloc_counter~0.offset)} is VALID [2020-07-11 01:05:25,826 INFO L280 TraceCheckUtils]: 8: Hoare triple {3282#(<= (+ |old(~guard_malloc_counter~0.offset)| 1) ~guard_malloc_counter~0.offset)} assume !(0 == #t~nondet29); {3282#(<= (+ |old(~guard_malloc_counter~0.offset)| 1) ~guard_malloc_counter~0.offset)} is VALID [2020-07-11 01:05:25,827 INFO L280 TraceCheckUtils]: 9: Hoare triple {3282#(<= (+ |old(~guard_malloc_counter~0.offset)| 1) ~guard_malloc_counter~0.offset)} havoc #t~nondet29; {3282#(<= (+ |old(~guard_malloc_counter~0.offset)| 1) ~guard_malloc_counter~0.offset)} is VALID [2020-07-11 01:05:25,828 INFO L280 TraceCheckUtils]: 10: Hoare triple {3282#(<= (+ |old(~guard_malloc_counter~0.offset)| 1) ~guard_malloc_counter~0.offset)} #res.base, #res.offset := ~guard_malloc_counter~0.base, ~guard_malloc_counter~0.offset; {3283#(<= (+ |old(~guard_malloc_counter~0.offset)| 1) |__getMemory_#res.offset|)} is VALID [2020-07-11 01:05:25,828 INFO L280 TraceCheckUtils]: 11: Hoare triple {3283#(<= (+ |old(~guard_malloc_counter~0.offset)| 1) |__getMemory_#res.offset|)} assume true; {3283#(<= (+ |old(~guard_malloc_counter~0.offset)| 1) |__getMemory_#res.offset|)} is VALID [2020-07-11 01:05:25,830 INFO L275 TraceCheckUtils]: 12: Hoare quadruple {3283#(<= (+ |old(~guard_malloc_counter~0.offset)| 1) |__getMemory_#res.offset|)} {3267#(= ~guard_malloc_counter~0.offset |old(~guard_malloc_counter~0.offset)|)} #92#return; {3279#(<= (+ |old(~guard_malloc_counter~0.offset)| 1) |my_malloc_#t~ret30.offset|)} is VALID [2020-07-11 01:05:25,832 INFO L280 TraceCheckUtils]: 13: Hoare triple {3279#(<= (+ |old(~guard_malloc_counter~0.offset)| 1) |my_malloc_#t~ret30.offset|)} #res.base, #res.offset := #t~ret30.base, #t~ret30.offset; {3280#(<= (+ |old(~guard_malloc_counter~0.offset)| 1) |my_malloc_#res.offset|)} is VALID [2020-07-11 01:05:25,833 INFO L280 TraceCheckUtils]: 14: Hoare triple {3280#(<= (+ |old(~guard_malloc_counter~0.offset)| 1) |my_malloc_#res.offset|)} havoc #t~ret30.base, #t~ret30.offset; {3280#(<= (+ |old(~guard_malloc_counter~0.offset)| 1) |my_malloc_#res.offset|)} is VALID [2020-07-11 01:05:25,833 INFO L280 TraceCheckUtils]: 15: Hoare triple {3280#(<= (+ |old(~guard_malloc_counter~0.offset)| 1) |my_malloc_#res.offset|)} assume true; {3280#(<= (+ |old(~guard_malloc_counter~0.offset)| 1) |my_malloc_#res.offset|)} is VALID [2020-07-11 01:05:25,835 INFO L275 TraceCheckUtils]: 16: Hoare quadruple {3280#(<= (+ |old(~guard_malloc_counter~0.offset)| 1) |my_malloc_#res.offset|)} {3219#(<= main_~dev1~0.offset ~guard_malloc_counter~0.offset)} #96#return; {3237#(<= (+ main_~dev1~0.offset 1) |main_#t~ret33.offset|)} is VALID [2020-07-11 01:05:25,868 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2020-07-11 01:05:25,933 INFO L280 TraceCheckUtils]: 0: Hoare triple {3284#(and (= ~elem~0.base |old(~elem~0.base)|) (= ~elem~0.offset |old(~elem~0.offset)|))} ~new.base, ~new.offset := #in~new.base, #in~new.offset; {3285#(= |list_add_#in~new.offset| list_add_~new.offset)} is VALID [2020-07-11 01:05:25,934 INFO L280 TraceCheckUtils]: 1: Hoare triple {3285#(= |list_add_#in~new.offset| list_add_~new.offset)} ~head.base, ~head.offset := #in~head.base, #in~head.offset; {3285#(= |list_add_#in~new.offset| list_add_~new.offset)} is VALID [2020-07-11 01:05:25,934 INFO L280 TraceCheckUtils]: 2: Hoare triple {3285#(= |list_add_#in~new.offset| list_add_~new.offset)} assume ~new.base != ~elem~0.base || ~new.offset != ~elem~0.offset; {3285#(= |list_add_#in~new.offset| list_add_~new.offset)} is VALID [2020-07-11 01:05:25,935 INFO L280 TraceCheckUtils]: 3: Hoare triple {3285#(= |list_add_#in~new.offset| list_add_~new.offset)} assume -2147483648 <= #t~nondet31 && #t~nondet31 <= 2147483647; {3285#(= |list_add_#in~new.offset| list_add_~new.offset)} is VALID [2020-07-11 01:05:25,935 INFO L280 TraceCheckUtils]: 4: Hoare triple {3285#(= |list_add_#in~new.offset| list_add_~new.offset)} assume 0 != #t~nondet31; {3285#(= |list_add_#in~new.offset| list_add_~new.offset)} is VALID [2020-07-11 01:05:25,936 INFO L280 TraceCheckUtils]: 5: Hoare triple {3285#(= |list_add_#in~new.offset| list_add_~new.offset)} havoc #t~nondet31; {3285#(= |list_add_#in~new.offset| list_add_~new.offset)} is VALID [2020-07-11 01:05:25,937 INFO L280 TraceCheckUtils]: 6: Hoare triple {3285#(= |list_add_#in~new.offset| list_add_~new.offset)} ~elem~0.base, ~elem~0.offset := ~new.base, ~new.offset; {3286#(= ~elem~0.offset |list_add_#in~new.offset|)} is VALID [2020-07-11 01:05:25,937 INFO L280 TraceCheckUtils]: 7: Hoare triple {3286#(= ~elem~0.offset |list_add_#in~new.offset|)} assume true; {3286#(= ~elem~0.offset |list_add_#in~new.offset|)} is VALID [2020-07-11 01:05:25,939 INFO L275 TraceCheckUtils]: 8: Hoare quadruple {3286#(= ~elem~0.offset |list_add_#in~new.offset|)} {3238#(<= (+ main_~dev1~0.offset 1) main_~dev2~0.offset)} #98#return; {3248#(<= (+ main_~dev1~0.offset 1) ~elem~0.offset)} is VALID [2020-07-11 01:05:25,940 INFO L263 TraceCheckUtils]: 0: Hoare triple {3189#true} call ULTIMATE.init(); {3251#(and (= |#valid| |old(#valid)|) (= ~elem~0.base |old(~elem~0.base)|) (= |#NULL.base| |old(#NULL.base)|) (= |~#head~0.base| |old(~#head~0.base)|) (= ~guard_malloc_counter~0.offset |old(~guard_malloc_counter~0.offset)|) (= |#NULL.offset| |old(#NULL.offset)|) (= ~elem~0.offset |old(~elem~0.offset)|) (= |old(#length)| |#length|) (= |~#head~0.offset| |old(~#head~0.offset)|) (= ~guard_malloc_counter~0.base |old(~guard_malloc_counter~0.base)|))} is VALID [2020-07-11 01:05:25,940 INFO L280 TraceCheckUtils]: 1: Hoare triple {3251#(and (= |#valid| |old(#valid)|) (= ~elem~0.base |old(~elem~0.base)|) (= |#NULL.base| |old(#NULL.base)|) (= |~#head~0.base| |old(~#head~0.base)|) (= ~guard_malloc_counter~0.offset |old(~guard_malloc_counter~0.offset)|) (= |#NULL.offset| |old(#NULL.offset)|) (= ~elem~0.offset |old(~elem~0.offset)|) (= |old(#length)| |#length|) (= |~#head~0.offset| |old(~#head~0.offset)|) (= ~guard_malloc_counter~0.base |old(~guard_malloc_counter~0.base)|))} #NULL.base, #NULL.offset := 0, 0; {3189#true} is VALID [2020-07-11 01:05:25,941 INFO L280 TraceCheckUtils]: 2: Hoare triple {3189#true} #valid := #valid[0 := 0]; {3189#true} is VALID [2020-07-11 01:05:25,941 INFO L280 TraceCheckUtils]: 3: Hoare triple {3189#true} assume 0 < #StackHeapBarrier; {3189#true} is VALID [2020-07-11 01:05:25,941 INFO L280 TraceCheckUtils]: 4: Hoare triple {3189#true} ~guard_malloc_counter~0.base, ~guard_malloc_counter~0.offset := 0, 0; {3189#true} is VALID [2020-07-11 01:05:25,941 INFO L280 TraceCheckUtils]: 5: Hoare triple {3189#true} ~elem~0.base, ~elem~0.offset := 0, 0; {3189#true} is VALID [2020-07-11 01:05:25,941 INFO L280 TraceCheckUtils]: 6: Hoare triple {3189#true} SUMMARY for call ~#head~0.base, ~#head~0.offset := #Ultimate.allocOnStack(8); srcloc: L900 {3189#true} is VALID [2020-07-11 01:05:25,941 INFO L280 TraceCheckUtils]: 7: Hoare triple {3189#true} SUMMARY for call write~init~$Pointer$(0, 0, ~#head~0.base, ~#head~0.offset, 4); srcloc: L900-1 {3189#true} is VALID [2020-07-11 01:05:25,942 INFO L280 TraceCheckUtils]: 8: Hoare triple {3189#true} SUMMARY for call write~init~$Pointer$(0, 0, ~#head~0.base, 4 + ~#head~0.offset, 4); srcloc: L900-2 {3189#true} is VALID [2020-07-11 01:05:25,942 INFO L280 TraceCheckUtils]: 9: Hoare triple {3189#true} assume true; {3189#true} is VALID [2020-07-11 01:05:25,942 INFO L275 TraceCheckUtils]: 10: Hoare quadruple {3189#true} {3189#true} #112#return; {3189#true} is VALID [2020-07-11 01:05:25,942 INFO L263 TraceCheckUtils]: 11: Hoare triple {3189#true} call #t~ret34 := main(); {3189#true} is VALID [2020-07-11 01:05:25,942 INFO L280 TraceCheckUtils]: 12: Hoare triple {3189#true} havoc ~dev1~0.base, ~dev1~0.offset; {3189#true} is VALID [2020-07-11 01:05:25,943 INFO L280 TraceCheckUtils]: 13: Hoare triple {3189#true} havoc ~dev2~0.base, ~dev2~0.offset; {3189#true} is VALID [2020-07-11 01:05:25,943 INFO L263 TraceCheckUtils]: 14: Hoare triple {3189#true} call #t~ret32.base, #t~ret32.offset := my_malloc(8); {3252#(and (= ~guard_malloc_counter~0.offset |old(~guard_malloc_counter~0.offset)|) (= ~guard_malloc_counter~0.base |old(~guard_malloc_counter~0.base)|))} is VALID [2020-07-11 01:05:25,944 INFO L280 TraceCheckUtils]: 15: Hoare triple {3252#(and (= ~guard_malloc_counter~0.offset |old(~guard_malloc_counter~0.offset)|) (= ~guard_malloc_counter~0.base |old(~guard_malloc_counter~0.base)|))} ~size := #in~size; {3189#true} is VALID [2020-07-11 01:05:25,944 INFO L263 TraceCheckUtils]: 16: Hoare triple {3189#true} call #t~ret30.base, #t~ret30.offset := __getMemory(~size); {3252#(and (= ~guard_malloc_counter~0.offset |old(~guard_malloc_counter~0.offset)|) (= ~guard_malloc_counter~0.base |old(~guard_malloc_counter~0.base)|))} is VALID [2020-07-11 01:05:25,945 INFO L280 TraceCheckUtils]: 17: Hoare triple {3252#(and (= ~guard_malloc_counter~0.offset |old(~guard_malloc_counter~0.offset)|) (= ~guard_malloc_counter~0.base |old(~guard_malloc_counter~0.base)|))} ~size := #in~size; {3189#true} is VALID [2020-07-11 01:05:25,945 INFO L280 TraceCheckUtils]: 18: Hoare triple {3189#true} assume ~size > 0; {3189#true} is VALID [2020-07-11 01:05:25,945 INFO L280 TraceCheckUtils]: 19: Hoare triple {3189#true} #t~post28.base, #t~post28.offset := ~guard_malloc_counter~0.base, ~guard_malloc_counter~0.offset; {3189#true} is VALID [2020-07-11 01:05:25,945 INFO L280 TraceCheckUtils]: 20: Hoare triple {3189#true} ~guard_malloc_counter~0.base, ~guard_malloc_counter~0.offset := #t~post28.base, 1 + #t~post28.offset; {3189#true} is VALID [2020-07-11 01:05:25,945 INFO L280 TraceCheckUtils]: 21: Hoare triple {3189#true} havoc #t~post28.base, #t~post28.offset; {3189#true} is VALID [2020-07-11 01:05:25,945 INFO L280 TraceCheckUtils]: 22: Hoare triple {3189#true} assume -2147483648 <= #t~nondet29 && #t~nondet29 <= 2147483647; {3189#true} is VALID [2020-07-11 01:05:25,946 INFO L280 TraceCheckUtils]: 23: Hoare triple {3189#true} assume !(0 == #t~nondet29); {3189#true} is VALID [2020-07-11 01:05:25,946 INFO L280 TraceCheckUtils]: 24: Hoare triple {3189#true} havoc #t~nondet29; {3189#true} is VALID [2020-07-11 01:05:25,947 INFO L280 TraceCheckUtils]: 25: Hoare triple {3189#true} #res.base, #res.offset := ~guard_malloc_counter~0.base, ~guard_malloc_counter~0.offset; {3266#(<= |__getMemory_#res.offset| ~guard_malloc_counter~0.offset)} is VALID [2020-07-11 01:05:25,947 INFO L280 TraceCheckUtils]: 26: Hoare triple {3266#(<= |__getMemory_#res.offset| ~guard_malloc_counter~0.offset)} assume true; {3266#(<= |__getMemory_#res.offset| ~guard_malloc_counter~0.offset)} is VALID [2020-07-11 01:05:25,949 INFO L275 TraceCheckUtils]: 27: Hoare quadruple {3266#(<= |__getMemory_#res.offset| ~guard_malloc_counter~0.offset)} {3189#true} #92#return; {3264#(<= |my_malloc_#t~ret30.offset| ~guard_malloc_counter~0.offset)} is VALID [2020-07-11 01:05:25,949 INFO L280 TraceCheckUtils]: 28: Hoare triple {3264#(<= |my_malloc_#t~ret30.offset| ~guard_malloc_counter~0.offset)} #res.base, #res.offset := #t~ret30.base, #t~ret30.offset; {3265#(<= |my_malloc_#res.offset| ~guard_malloc_counter~0.offset)} is VALID [2020-07-11 01:05:25,969 INFO L280 TraceCheckUtils]: 29: Hoare triple {3265#(<= |my_malloc_#res.offset| ~guard_malloc_counter~0.offset)} havoc #t~ret30.base, #t~ret30.offset; {3265#(<= |my_malloc_#res.offset| ~guard_malloc_counter~0.offset)} is VALID [2020-07-11 01:05:25,970 INFO L280 TraceCheckUtils]: 30: Hoare triple {3265#(<= |my_malloc_#res.offset| ~guard_malloc_counter~0.offset)} assume true; {3265#(<= |my_malloc_#res.offset| ~guard_malloc_counter~0.offset)} is VALID [2020-07-11 01:05:25,971 INFO L275 TraceCheckUtils]: 31: Hoare quadruple {3265#(<= |my_malloc_#res.offset| ~guard_malloc_counter~0.offset)} {3189#true} #94#return; {3218#(<= |main_#t~ret32.offset| ~guard_malloc_counter~0.offset)} is VALID [2020-07-11 01:05:25,972 INFO L280 TraceCheckUtils]: 32: Hoare triple {3218#(<= |main_#t~ret32.offset| ~guard_malloc_counter~0.offset)} ~dev1~0.base, ~dev1~0.offset := #t~ret32.base, #t~ret32.offset; {3219#(<= main_~dev1~0.offset ~guard_malloc_counter~0.offset)} is VALID [2020-07-11 01:05:25,972 INFO L280 TraceCheckUtils]: 33: Hoare triple {3219#(<= main_~dev1~0.offset ~guard_malloc_counter~0.offset)} havoc #t~ret32.base, #t~ret32.offset; {3219#(<= main_~dev1~0.offset ~guard_malloc_counter~0.offset)} is VALID [2020-07-11 01:05:25,973 INFO L263 TraceCheckUtils]: 34: Hoare triple {3219#(<= main_~dev1~0.offset ~guard_malloc_counter~0.offset)} call #t~ret33.base, #t~ret33.offset := my_malloc(8); {3252#(and (= ~guard_malloc_counter~0.offset |old(~guard_malloc_counter~0.offset)|) (= ~guard_malloc_counter~0.base |old(~guard_malloc_counter~0.base)|))} is VALID [2020-07-11 01:05:25,973 INFO L280 TraceCheckUtils]: 35: Hoare triple {3252#(and (= ~guard_malloc_counter~0.offset |old(~guard_malloc_counter~0.offset)|) (= ~guard_malloc_counter~0.base |old(~guard_malloc_counter~0.base)|))} ~size := #in~size; {3267#(= ~guard_malloc_counter~0.offset |old(~guard_malloc_counter~0.offset)|)} is VALID [2020-07-11 01:05:25,974 INFO L263 TraceCheckUtils]: 36: Hoare triple {3267#(= ~guard_malloc_counter~0.offset |old(~guard_malloc_counter~0.offset)|)} call #t~ret30.base, #t~ret30.offset := __getMemory(~size); {3252#(and (= ~guard_malloc_counter~0.offset |old(~guard_malloc_counter~0.offset)|) (= ~guard_malloc_counter~0.base |old(~guard_malloc_counter~0.base)|))} is VALID [2020-07-11 01:05:25,975 INFO L280 TraceCheckUtils]: 37: Hoare triple {3252#(and (= ~guard_malloc_counter~0.offset |old(~guard_malloc_counter~0.offset)|) (= ~guard_malloc_counter~0.base |old(~guard_malloc_counter~0.base)|))} ~size := #in~size; {3267#(= ~guard_malloc_counter~0.offset |old(~guard_malloc_counter~0.offset)|)} is VALID [2020-07-11 01:05:25,975 INFO L280 TraceCheckUtils]: 38: Hoare triple {3267#(= ~guard_malloc_counter~0.offset |old(~guard_malloc_counter~0.offset)|)} assume ~size > 0; {3267#(= ~guard_malloc_counter~0.offset |old(~guard_malloc_counter~0.offset)|)} is VALID [2020-07-11 01:05:25,976 INFO L280 TraceCheckUtils]: 39: Hoare triple {3267#(= ~guard_malloc_counter~0.offset |old(~guard_malloc_counter~0.offset)|)} #t~post28.base, #t~post28.offset := ~guard_malloc_counter~0.base, ~guard_malloc_counter~0.offset; {3281#(= |old(~guard_malloc_counter~0.offset)| |__getMemory_#t~post28.offset|)} is VALID [2020-07-11 01:05:25,976 INFO L280 TraceCheckUtils]: 40: Hoare triple {3281#(= |old(~guard_malloc_counter~0.offset)| |__getMemory_#t~post28.offset|)} ~guard_malloc_counter~0.base, ~guard_malloc_counter~0.offset := #t~post28.base, 1 + #t~post28.offset; {3282#(<= (+ |old(~guard_malloc_counter~0.offset)| 1) ~guard_malloc_counter~0.offset)} is VALID [2020-07-11 01:05:25,977 INFO L280 TraceCheckUtils]: 41: Hoare triple {3282#(<= (+ |old(~guard_malloc_counter~0.offset)| 1) ~guard_malloc_counter~0.offset)} havoc #t~post28.base, #t~post28.offset; {3282#(<= (+ |old(~guard_malloc_counter~0.offset)| 1) ~guard_malloc_counter~0.offset)} is VALID [2020-07-11 01:05:25,977 INFO L280 TraceCheckUtils]: 42: Hoare triple {3282#(<= (+ |old(~guard_malloc_counter~0.offset)| 1) ~guard_malloc_counter~0.offset)} assume -2147483648 <= #t~nondet29 && #t~nondet29 <= 2147483647; {3282#(<= (+ |old(~guard_malloc_counter~0.offset)| 1) ~guard_malloc_counter~0.offset)} is VALID [2020-07-11 01:05:25,978 INFO L280 TraceCheckUtils]: 43: Hoare triple {3282#(<= (+ |old(~guard_malloc_counter~0.offset)| 1) ~guard_malloc_counter~0.offset)} assume !(0 == #t~nondet29); {3282#(<= (+ |old(~guard_malloc_counter~0.offset)| 1) ~guard_malloc_counter~0.offset)} is VALID [2020-07-11 01:05:25,978 INFO L280 TraceCheckUtils]: 44: Hoare triple {3282#(<= (+ |old(~guard_malloc_counter~0.offset)| 1) ~guard_malloc_counter~0.offset)} havoc #t~nondet29; {3282#(<= (+ |old(~guard_malloc_counter~0.offset)| 1) ~guard_malloc_counter~0.offset)} is VALID [2020-07-11 01:05:25,979 INFO L280 TraceCheckUtils]: 45: Hoare triple {3282#(<= (+ |old(~guard_malloc_counter~0.offset)| 1) ~guard_malloc_counter~0.offset)} #res.base, #res.offset := ~guard_malloc_counter~0.base, ~guard_malloc_counter~0.offset; {3283#(<= (+ |old(~guard_malloc_counter~0.offset)| 1) |__getMemory_#res.offset|)} is VALID [2020-07-11 01:05:25,980 INFO L280 TraceCheckUtils]: 46: Hoare triple {3283#(<= (+ |old(~guard_malloc_counter~0.offset)| 1) |__getMemory_#res.offset|)} assume true; {3283#(<= (+ |old(~guard_malloc_counter~0.offset)| 1) |__getMemory_#res.offset|)} is VALID [2020-07-11 01:05:25,981 INFO L275 TraceCheckUtils]: 47: Hoare quadruple {3283#(<= (+ |old(~guard_malloc_counter~0.offset)| 1) |__getMemory_#res.offset|)} {3267#(= ~guard_malloc_counter~0.offset |old(~guard_malloc_counter~0.offset)|)} #92#return; {3279#(<= (+ |old(~guard_malloc_counter~0.offset)| 1) |my_malloc_#t~ret30.offset|)} is VALID [2020-07-11 01:05:25,981 INFO L280 TraceCheckUtils]: 48: Hoare triple {3279#(<= (+ |old(~guard_malloc_counter~0.offset)| 1) |my_malloc_#t~ret30.offset|)} #res.base, #res.offset := #t~ret30.base, #t~ret30.offset; {3280#(<= (+ |old(~guard_malloc_counter~0.offset)| 1) |my_malloc_#res.offset|)} is VALID [2020-07-11 01:05:25,982 INFO L280 TraceCheckUtils]: 49: Hoare triple {3280#(<= (+ |old(~guard_malloc_counter~0.offset)| 1) |my_malloc_#res.offset|)} havoc #t~ret30.base, #t~ret30.offset; {3280#(<= (+ |old(~guard_malloc_counter~0.offset)| 1) |my_malloc_#res.offset|)} is VALID [2020-07-11 01:05:25,982 INFO L280 TraceCheckUtils]: 50: Hoare triple {3280#(<= (+ |old(~guard_malloc_counter~0.offset)| 1) |my_malloc_#res.offset|)} assume true; {3280#(<= (+ |old(~guard_malloc_counter~0.offset)| 1) |my_malloc_#res.offset|)} is VALID [2020-07-11 01:05:25,983 INFO L275 TraceCheckUtils]: 51: Hoare quadruple {3280#(<= (+ |old(~guard_malloc_counter~0.offset)| 1) |my_malloc_#res.offset|)} {3219#(<= main_~dev1~0.offset ~guard_malloc_counter~0.offset)} #96#return; {3237#(<= (+ main_~dev1~0.offset 1) |main_#t~ret33.offset|)} is VALID [2020-07-11 01:05:25,984 INFO L280 TraceCheckUtils]: 52: Hoare triple {3237#(<= (+ main_~dev1~0.offset 1) |main_#t~ret33.offset|)} ~dev2~0.base, ~dev2~0.offset := #t~ret33.base, #t~ret33.offset; {3238#(<= (+ main_~dev1~0.offset 1) main_~dev2~0.offset)} is VALID [2020-07-11 01:05:25,984 INFO L280 TraceCheckUtils]: 53: Hoare triple {3238#(<= (+ main_~dev1~0.offset 1) main_~dev2~0.offset)} havoc #t~ret33.base, #t~ret33.offset; {3238#(<= (+ main_~dev1~0.offset 1) main_~dev2~0.offset)} is VALID [2020-07-11 01:05:25,985 INFO L280 TraceCheckUtils]: 54: Hoare triple {3238#(<= (+ main_~dev1~0.offset 1) main_~dev2~0.offset)} assume (~dev1~0.base != 0 || ~dev1~0.offset != 0) && (~dev2~0.base != 0 || ~dev2~0.offset != 0); {3238#(<= (+ main_~dev1~0.offset 1) main_~dev2~0.offset)} is VALID [2020-07-11 01:05:25,986 INFO L263 TraceCheckUtils]: 55: Hoare triple {3238#(<= (+ main_~dev1~0.offset 1) main_~dev2~0.offset)} call list_add(~dev2~0.base, ~dev2~0.offset, ~#head~0.base, ~#head~0.offset); {3284#(and (= ~elem~0.base |old(~elem~0.base)|) (= ~elem~0.offset |old(~elem~0.offset)|))} is VALID [2020-07-11 01:05:25,987 INFO L280 TraceCheckUtils]: 56: Hoare triple {3284#(and (= ~elem~0.base |old(~elem~0.base)|) (= ~elem~0.offset |old(~elem~0.offset)|))} ~new.base, ~new.offset := #in~new.base, #in~new.offset; {3285#(= |list_add_#in~new.offset| list_add_~new.offset)} is VALID [2020-07-11 01:05:25,987 INFO L280 TraceCheckUtils]: 57: Hoare triple {3285#(= |list_add_#in~new.offset| list_add_~new.offset)} ~head.base, ~head.offset := #in~head.base, #in~head.offset; {3285#(= |list_add_#in~new.offset| list_add_~new.offset)} is VALID [2020-07-11 01:05:25,988 INFO L280 TraceCheckUtils]: 58: Hoare triple {3285#(= |list_add_#in~new.offset| list_add_~new.offset)} assume ~new.base != ~elem~0.base || ~new.offset != ~elem~0.offset; {3285#(= |list_add_#in~new.offset| list_add_~new.offset)} is VALID [2020-07-11 01:05:25,988 INFO L280 TraceCheckUtils]: 59: Hoare triple {3285#(= |list_add_#in~new.offset| list_add_~new.offset)} assume -2147483648 <= #t~nondet31 && #t~nondet31 <= 2147483647; {3285#(= |list_add_#in~new.offset| list_add_~new.offset)} is VALID [2020-07-11 01:05:25,989 INFO L280 TraceCheckUtils]: 60: Hoare triple {3285#(= |list_add_#in~new.offset| list_add_~new.offset)} assume 0 != #t~nondet31; {3285#(= |list_add_#in~new.offset| list_add_~new.offset)} is VALID [2020-07-11 01:05:25,989 INFO L280 TraceCheckUtils]: 61: Hoare triple {3285#(= |list_add_#in~new.offset| list_add_~new.offset)} havoc #t~nondet31; {3285#(= |list_add_#in~new.offset| list_add_~new.offset)} is VALID [2020-07-11 01:05:25,990 INFO L280 TraceCheckUtils]: 62: Hoare triple {3285#(= |list_add_#in~new.offset| list_add_~new.offset)} ~elem~0.base, ~elem~0.offset := ~new.base, ~new.offset; {3286#(= ~elem~0.offset |list_add_#in~new.offset|)} is VALID [2020-07-11 01:05:25,990 INFO L280 TraceCheckUtils]: 63: Hoare triple {3286#(= ~elem~0.offset |list_add_#in~new.offset|)} assume true; {3286#(= ~elem~0.offset |list_add_#in~new.offset|)} is VALID [2020-07-11 01:05:25,992 INFO L275 TraceCheckUtils]: 64: Hoare quadruple {3286#(= ~elem~0.offset |list_add_#in~new.offset|)} {3238#(<= (+ main_~dev1~0.offset 1) main_~dev2~0.offset)} #98#return; {3248#(<= (+ main_~dev1~0.offset 1) ~elem~0.offset)} is VALID [2020-07-11 01:05:25,993 INFO L263 TraceCheckUtils]: 65: Hoare triple {3248#(<= (+ main_~dev1~0.offset 1) ~elem~0.offset)} call list_add(~dev1~0.base, ~dev1~0.offset, ~#head~0.base, ~#head~0.offset); {3249#(<= (+ |list_add_#in~new.offset| 1) ~elem~0.offset)} is VALID [2020-07-11 01:05:25,994 INFO L280 TraceCheckUtils]: 66: Hoare triple {3249#(<= (+ |list_add_#in~new.offset| 1) ~elem~0.offset)} ~new.base, ~new.offset := #in~new.base, #in~new.offset; {3250#(not (= ~elem~0.offset list_add_~new.offset))} is VALID [2020-07-11 01:05:25,994 INFO L280 TraceCheckUtils]: 67: Hoare triple {3250#(not (= ~elem~0.offset list_add_~new.offset))} ~head.base, ~head.offset := #in~head.base, #in~head.offset; {3250#(not (= ~elem~0.offset list_add_~new.offset))} is VALID [2020-07-11 01:05:25,995 INFO L280 TraceCheckUtils]: 68: Hoare triple {3250#(not (= ~elem~0.offset list_add_~new.offset))} assume !(~new.base != ~elem~0.base || ~new.offset != ~elem~0.offset); {3190#false} is VALID [2020-07-11 01:05:25,995 INFO L263 TraceCheckUtils]: 69: Hoare triple {3190#false} call __blast_assert(); {3190#false} is VALID [2020-07-11 01:05:25,995 INFO L280 TraceCheckUtils]: 70: Hoare triple {3190#false} assume !false; {3190#false} is VALID [2020-07-11 01:05:26,003 INFO L134 CoverageAnalysis]: Checked inductivity of 20 backedges. 9 proven. 9 refuted. 0 times theorem prover too weak. 2 trivial. 0 not checked. [2020-07-11 01:05:26,003 INFO L354 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModulePreferences [518287211] [2020-07-11 01:05:26,004 INFO L220 FreeRefinementEngine]: Constructing automaton from 0 perfect and 1 imperfect interpolant sequences. [2020-07-11 01:05:26,004 INFO L233 FreeRefinementEngine]: Number of different interpolants: perfect sequences [] imperfect sequences [23] total 23 [2020-07-11 01:05:26,005 INFO L156 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [1039072075] [2020-07-11 01:05:26,005 INFO L78 Accepts]: Start accepts. Automaton has 23 states. Word has length 71 [2020-07-11 01:05:26,006 INFO L84 Accepts]: Finished accepts. word is accepted. [2020-07-11 01:05:26,006 INFO L86 InductivityCheck]: Starting indutivity check of a Floyd-Hoare automaton with 23 states. [2020-07-11 01:05:26,076 INFO L119 InductivityCheck]: Floyd-Hoare automaton has 71 edges. 71 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2020-07-11 01:05:26,077 INFO L459 AbstractCegarLoop]: Interpolant automaton has 23 states [2020-07-11 01:05:26,077 INFO L143 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy FIXED_PREFERENCES [2020-07-11 01:05:26,077 INFO L142 InterpolantAutomaton]: Constructing interpolant automaton starting with 23 interpolants. [2020-07-11 01:05:26,078 INFO L144 InterpolantAutomaton]: CoverageRelationStatistics Valid=47, Invalid=459, Unknown=0, NotChecked=0, Total=506 [2020-07-11 01:05:26,078 INFO L87 Difference]: Start difference. First operand 94 states and 107 transitions. Second operand 23 states. [2020-07-11 01:05:32,848 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2020-07-11 01:05:32,848 INFO L93 Difference]: Finished difference Result 112 states and 129 transitions. [2020-07-11 01:05:32,848 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 26 states. [2020-07-11 01:05:32,848 INFO L78 Accepts]: Start accepts. Automaton has 23 states. Word has length 71 [2020-07-11 01:05:32,849 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2020-07-11 01:05:32,849 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 23 states. [2020-07-11 01:05:32,853 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 26 states to 26 states and 100 transitions. [2020-07-11 01:05:32,853 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 23 states. [2020-07-11 01:05:32,857 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 26 states to 26 states and 100 transitions. [2020-07-11 01:05:32,857 INFO L86 InductivityCheck]: Starting indutivity check of a Floyd-Hoare automaton with 26 states and 100 transitions. [2020-07-11 01:05:33,037 INFO L119 InductivityCheck]: Floyd-Hoare automaton has 100 edges. 100 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2020-07-11 01:05:33,041 INFO L225 Difference]: With dead ends: 112 [2020-07-11 01:05:33,042 INFO L226 Difference]: Without dead ends: 105 [2020-07-11 01:05:33,043 INFO L675 BasicCegarLoop]: 0 DeclaredPredicates, 51 GetRequests, 9 SyntacticMatches, 0 SemanticMatches, 42 ConstructedPredicates, 0 IntricatePredicates, 0 DeprecatedPredicates, 205 ImplicationChecksByTransitivity, 1.2s TimeCoverageRelationStatistics Valid=210, Invalid=1682, Unknown=0, NotChecked=0, Total=1892 [2020-07-11 01:05:33,044 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 105 states. [2020-07-11 01:05:33,576 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 105 to 103. [2020-07-11 01:05:33,576 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2020-07-11 01:05:33,577 INFO L82 GeneralOperation]: Start isEquivalent. First operand 105 states. Second operand 103 states. [2020-07-11 01:05:33,577 INFO L74 IsIncluded]: Start isIncluded. First operand 105 states. Second operand 103 states. [2020-07-11 01:05:33,577 INFO L87 Difference]: Start difference. First operand 105 states. Second operand 103 states. [2020-07-11 01:05:33,582 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2020-07-11 01:05:33,582 INFO L93 Difference]: Finished difference Result 105 states and 116 transitions. [2020-07-11 01:05:33,582 INFO L276 IsEmpty]: Start isEmpty. Operand 105 states and 116 transitions. [2020-07-11 01:05:33,583 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2020-07-11 01:05:33,583 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2020-07-11 01:05:33,584 INFO L74 IsIncluded]: Start isIncluded. First operand 103 states. Second operand 105 states. [2020-07-11 01:05:33,584 INFO L87 Difference]: Start difference. First operand 103 states. Second operand 105 states. [2020-07-11 01:05:33,588 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2020-07-11 01:05:33,589 INFO L93 Difference]: Finished difference Result 105 states and 116 transitions. [2020-07-11 01:05:33,589 INFO L276 IsEmpty]: Start isEmpty. Operand 105 states and 116 transitions. [2020-07-11 01:05:33,589 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2020-07-11 01:05:33,590 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2020-07-11 01:05:33,590 INFO L88 GeneralOperation]: Finished isEquivalent. [2020-07-11 01:05:33,590 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2020-07-11 01:05:33,590 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 103 states. [2020-07-11 01:05:33,594 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 103 states to 103 states and 114 transitions. [2020-07-11 01:05:33,595 INFO L78 Accepts]: Start accepts. Automaton has 103 states and 114 transitions. Word has length 71 [2020-07-11 01:05:33,595 INFO L84 Accepts]: Finished accepts. word is rejected. [2020-07-11 01:05:33,595 INFO L479 AbstractCegarLoop]: Abstraction has 103 states and 114 transitions. [2020-07-11 01:05:33,595 INFO L480 AbstractCegarLoop]: Interpolant automaton has 23 states. [2020-07-11 01:05:33,595 INFO L86 InductivityCheck]: Starting indutivity check of a Floyd-Hoare automaton with 103 states and 114 transitions. [2020-07-11 01:05:33,882 INFO L119 InductivityCheck]: Floyd-Hoare automaton has 114 edges. 114 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2020-07-11 01:05:33,882 INFO L276 IsEmpty]: Start isEmpty. Operand 103 states and 114 transitions. [2020-07-11 01:05:33,884 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 86 [2020-07-11 01:05:33,884 INFO L414 BasicCegarLoop]: Found error trace [2020-07-11 01:05:33,884 INFO L422 BasicCegarLoop]: trace histogram [3, 3, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1] [2020-07-11 01:05:33,885 WARN L516 AbstractCegarLoop]: Destroyed unattended storables created during the last iteration: SelfDestructingSolverStorable5 [2020-07-11 01:05:33,885 INFO L427 AbstractCegarLoop]: === Iteration 7 === [__blast_assertErr0ASSERT_VIOLATIONERROR_FUNCTION]=== [2020-07-11 01:05:33,887 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2020-07-11 01:05:33,888 INFO L82 PathProgramCache]: Analyzing trace with hash -1660138148, now seen corresponding path program 1 times [2020-07-11 01:05:33,888 INFO L163 FreeRefinementEngine]: Executing refinement strategy FIXED_PREFERENCES [2020-07-11 01:05:33,888 INFO L354 FreeRefinementEngine]: Using trace check IpTcStrategyModulePreferences [1463642213] [2020-07-11 01:05:33,888 INFO L94 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2020-07-11 01:05:33,906 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2020-07-11 01:05:34,078 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2020-07-11 01:05:34,085 INFO L280 TraceCheckUtils]: 0: Hoare triple {4045#(and (= |#valid| |old(#valid)|) (= ~elem~0.base |old(~elem~0.base)|) (= |#NULL.base| |old(#NULL.base)|) (= |~#head~0.base| |old(~#head~0.base)|) (= ~guard_malloc_counter~0.offset |old(~guard_malloc_counter~0.offset)|) (= |#NULL.offset| |old(#NULL.offset)|) (= ~elem~0.offset |old(~elem~0.offset)|) (= |old(#length)| |#length|) (= |~#head~0.offset| |old(~#head~0.offset)|) (= ~guard_malloc_counter~0.base |old(~guard_malloc_counter~0.base)|))} #NULL.base, #NULL.offset := 0, 0; {3971#true} is VALID [2020-07-11 01:05:34,086 INFO L280 TraceCheckUtils]: 1: Hoare triple {3971#true} #valid := #valid[0 := 0]; {3971#true} is VALID [2020-07-11 01:05:34,086 INFO L280 TraceCheckUtils]: 2: Hoare triple {3971#true} assume 0 < #StackHeapBarrier; {3971#true} is VALID [2020-07-11 01:05:34,086 INFO L280 TraceCheckUtils]: 3: Hoare triple {3971#true} ~guard_malloc_counter~0.base, ~guard_malloc_counter~0.offset := 0, 0; {3971#true} is VALID [2020-07-11 01:05:34,086 INFO L280 TraceCheckUtils]: 4: Hoare triple {3971#true} ~elem~0.base, ~elem~0.offset := 0, 0; {3971#true} is VALID [2020-07-11 01:05:34,086 INFO L280 TraceCheckUtils]: 5: Hoare triple {3971#true} SUMMARY for call ~#head~0.base, ~#head~0.offset := #Ultimate.allocOnStack(8); srcloc: L900 {3971#true} is VALID [2020-07-11 01:05:34,086 INFO L280 TraceCheckUtils]: 6: Hoare triple {3971#true} SUMMARY for call write~init~$Pointer$(0, 0, ~#head~0.base, ~#head~0.offset, 4); srcloc: L900-1 {3971#true} is VALID [2020-07-11 01:05:34,087 INFO L280 TraceCheckUtils]: 7: Hoare triple {3971#true} SUMMARY for call write~init~$Pointer$(0, 0, ~#head~0.base, 4 + ~#head~0.offset, 4); srcloc: L900-2 {3971#true} is VALID [2020-07-11 01:05:34,087 INFO L280 TraceCheckUtils]: 8: Hoare triple {3971#true} assume true; {3971#true} is VALID [2020-07-11 01:05:34,087 INFO L275 TraceCheckUtils]: 9: Hoare quadruple {3971#true} {3971#true} #112#return; {3971#true} is VALID [2020-07-11 01:05:34,110 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2020-07-11 01:05:34,163 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2020-07-11 01:05:34,185 INFO L280 TraceCheckUtils]: 0: Hoare triple {4046#(and (= ~guard_malloc_counter~0.offset |old(~guard_malloc_counter~0.offset)|) (= ~guard_malloc_counter~0.base |old(~guard_malloc_counter~0.base)|))} ~size := #in~size; {3971#true} is VALID [2020-07-11 01:05:34,186 INFO L280 TraceCheckUtils]: 1: Hoare triple {3971#true} assume ~size > 0; {3971#true} is VALID [2020-07-11 01:05:34,186 INFO L280 TraceCheckUtils]: 2: Hoare triple {3971#true} #t~post28.base, #t~post28.offset := ~guard_malloc_counter~0.base, ~guard_malloc_counter~0.offset; {3971#true} is VALID [2020-07-11 01:05:34,186 INFO L280 TraceCheckUtils]: 3: Hoare triple {3971#true} ~guard_malloc_counter~0.base, ~guard_malloc_counter~0.offset := #t~post28.base, 1 + #t~post28.offset; {3971#true} is VALID [2020-07-11 01:05:34,186 INFO L280 TraceCheckUtils]: 4: Hoare triple {3971#true} havoc #t~post28.base, #t~post28.offset; {3971#true} is VALID [2020-07-11 01:05:34,186 INFO L280 TraceCheckUtils]: 5: Hoare triple {3971#true} assume -2147483648 <= #t~nondet29 && #t~nondet29 <= 2147483647; {3971#true} is VALID [2020-07-11 01:05:34,187 INFO L280 TraceCheckUtils]: 6: Hoare triple {3971#true} assume !(0 == #t~nondet29); {3971#true} is VALID [2020-07-11 01:05:34,187 INFO L280 TraceCheckUtils]: 7: Hoare triple {3971#true} havoc #t~nondet29; {3971#true} is VALID [2020-07-11 01:05:34,188 INFO L280 TraceCheckUtils]: 8: Hoare triple {3971#true} #res.base, #res.offset := ~guard_malloc_counter~0.base, ~guard_malloc_counter~0.offset; {4060#(<= |__getMemory_#res.offset| ~guard_malloc_counter~0.offset)} is VALID [2020-07-11 01:05:34,188 INFO L280 TraceCheckUtils]: 9: Hoare triple {4060#(<= |__getMemory_#res.offset| ~guard_malloc_counter~0.offset)} assume true; {4060#(<= |__getMemory_#res.offset| ~guard_malloc_counter~0.offset)} is VALID [2020-07-11 01:05:34,190 INFO L275 TraceCheckUtils]: 10: Hoare quadruple {4060#(<= |__getMemory_#res.offset| ~guard_malloc_counter~0.offset)} {3971#true} #92#return; {4058#(<= |my_malloc_#t~ret30.offset| ~guard_malloc_counter~0.offset)} is VALID [2020-07-11 01:05:34,190 INFO L280 TraceCheckUtils]: 0: Hoare triple {4046#(and (= ~guard_malloc_counter~0.offset |old(~guard_malloc_counter~0.offset)|) (= ~guard_malloc_counter~0.base |old(~guard_malloc_counter~0.base)|))} ~size := #in~size; {3971#true} is VALID [2020-07-11 01:05:34,191 INFO L263 TraceCheckUtils]: 1: Hoare triple {3971#true} call #t~ret30.base, #t~ret30.offset := __getMemory(~size); {4046#(and (= ~guard_malloc_counter~0.offset |old(~guard_malloc_counter~0.offset)|) (= ~guard_malloc_counter~0.base |old(~guard_malloc_counter~0.base)|))} is VALID [2020-07-11 01:05:34,191 INFO L280 TraceCheckUtils]: 2: Hoare triple {4046#(and (= ~guard_malloc_counter~0.offset |old(~guard_malloc_counter~0.offset)|) (= ~guard_malloc_counter~0.base |old(~guard_malloc_counter~0.base)|))} ~size := #in~size; {3971#true} is VALID [2020-07-11 01:05:34,191 INFO L280 TraceCheckUtils]: 3: Hoare triple {3971#true} assume ~size > 0; {3971#true} is VALID [2020-07-11 01:05:34,191 INFO L280 TraceCheckUtils]: 4: Hoare triple {3971#true} #t~post28.base, #t~post28.offset := ~guard_malloc_counter~0.base, ~guard_malloc_counter~0.offset; {3971#true} is VALID [2020-07-11 01:05:34,192 INFO L280 TraceCheckUtils]: 5: Hoare triple {3971#true} ~guard_malloc_counter~0.base, ~guard_malloc_counter~0.offset := #t~post28.base, 1 + #t~post28.offset; {3971#true} is VALID [2020-07-11 01:05:34,192 INFO L280 TraceCheckUtils]: 6: Hoare triple {3971#true} havoc #t~post28.base, #t~post28.offset; {3971#true} is VALID [2020-07-11 01:05:34,192 INFO L280 TraceCheckUtils]: 7: Hoare triple {3971#true} assume -2147483648 <= #t~nondet29 && #t~nondet29 <= 2147483647; {3971#true} is VALID [2020-07-11 01:05:34,192 INFO L280 TraceCheckUtils]: 8: Hoare triple {3971#true} assume !(0 == #t~nondet29); {3971#true} is VALID [2020-07-11 01:05:34,192 INFO L280 TraceCheckUtils]: 9: Hoare triple {3971#true} havoc #t~nondet29; {3971#true} is VALID [2020-07-11 01:05:34,193 INFO L280 TraceCheckUtils]: 10: Hoare triple {3971#true} #res.base, #res.offset := ~guard_malloc_counter~0.base, ~guard_malloc_counter~0.offset; {4060#(<= |__getMemory_#res.offset| ~guard_malloc_counter~0.offset)} is VALID [2020-07-11 01:05:34,193 INFO L280 TraceCheckUtils]: 11: Hoare triple {4060#(<= |__getMemory_#res.offset| ~guard_malloc_counter~0.offset)} assume true; {4060#(<= |__getMemory_#res.offset| ~guard_malloc_counter~0.offset)} is VALID [2020-07-11 01:05:34,195 INFO L275 TraceCheckUtils]: 12: Hoare quadruple {4060#(<= |__getMemory_#res.offset| ~guard_malloc_counter~0.offset)} {3971#true} #92#return; {4058#(<= |my_malloc_#t~ret30.offset| ~guard_malloc_counter~0.offset)} is VALID [2020-07-11 01:05:34,195 INFO L280 TraceCheckUtils]: 13: Hoare triple {4058#(<= |my_malloc_#t~ret30.offset| ~guard_malloc_counter~0.offset)} #res.base, #res.offset := #t~ret30.base, #t~ret30.offset; {4059#(<= |my_malloc_#res.offset| ~guard_malloc_counter~0.offset)} is VALID [2020-07-11 01:05:34,196 INFO L280 TraceCheckUtils]: 14: Hoare triple {4059#(<= |my_malloc_#res.offset| ~guard_malloc_counter~0.offset)} havoc #t~ret30.base, #t~ret30.offset; {4059#(<= |my_malloc_#res.offset| ~guard_malloc_counter~0.offset)} is VALID [2020-07-11 01:05:34,197 INFO L280 TraceCheckUtils]: 15: Hoare triple {4059#(<= |my_malloc_#res.offset| ~guard_malloc_counter~0.offset)} assume true; {4059#(<= |my_malloc_#res.offset| ~guard_malloc_counter~0.offset)} is VALID [2020-07-11 01:05:34,198 INFO L275 TraceCheckUtils]: 16: Hoare quadruple {4059#(<= |my_malloc_#res.offset| ~guard_malloc_counter~0.offset)} {3971#true} #94#return; {4000#(<= |main_#t~ret32.offset| ~guard_malloc_counter~0.offset)} is VALID [2020-07-11 01:05:34,201 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2020-07-11 01:05:34,274 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2020-07-11 01:05:34,360 INFO L280 TraceCheckUtils]: 0: Hoare triple {4046#(and (= ~guard_malloc_counter~0.offset |old(~guard_malloc_counter~0.offset)|) (= ~guard_malloc_counter~0.base |old(~guard_malloc_counter~0.base)|))} ~size := #in~size; {4061#(= ~guard_malloc_counter~0.offset |old(~guard_malloc_counter~0.offset)|)} is VALID [2020-07-11 01:05:34,361 INFO L280 TraceCheckUtils]: 1: Hoare triple {4061#(= ~guard_malloc_counter~0.offset |old(~guard_malloc_counter~0.offset)|)} assume ~size > 0; {4061#(= ~guard_malloc_counter~0.offset |old(~guard_malloc_counter~0.offset)|)} is VALID [2020-07-11 01:05:34,361 INFO L280 TraceCheckUtils]: 2: Hoare triple {4061#(= ~guard_malloc_counter~0.offset |old(~guard_malloc_counter~0.offset)|)} #t~post28.base, #t~post28.offset := ~guard_malloc_counter~0.base, ~guard_malloc_counter~0.offset; {4075#(= |old(~guard_malloc_counter~0.offset)| |__getMemory_#t~post28.offset|)} is VALID [2020-07-11 01:05:34,362 INFO L280 TraceCheckUtils]: 3: Hoare triple {4075#(= |old(~guard_malloc_counter~0.offset)| |__getMemory_#t~post28.offset|)} ~guard_malloc_counter~0.base, ~guard_malloc_counter~0.offset := #t~post28.base, 1 + #t~post28.offset; {4076#(<= (+ |old(~guard_malloc_counter~0.offset)| 1) ~guard_malloc_counter~0.offset)} is VALID [2020-07-11 01:05:34,362 INFO L280 TraceCheckUtils]: 4: Hoare triple {4076#(<= (+ |old(~guard_malloc_counter~0.offset)| 1) ~guard_malloc_counter~0.offset)} havoc #t~post28.base, #t~post28.offset; {4076#(<= (+ |old(~guard_malloc_counter~0.offset)| 1) ~guard_malloc_counter~0.offset)} is VALID [2020-07-11 01:05:34,363 INFO L280 TraceCheckUtils]: 5: Hoare triple {4076#(<= (+ |old(~guard_malloc_counter~0.offset)| 1) ~guard_malloc_counter~0.offset)} assume -2147483648 <= #t~nondet29 && #t~nondet29 <= 2147483647; {4076#(<= (+ |old(~guard_malloc_counter~0.offset)| 1) ~guard_malloc_counter~0.offset)} is VALID [2020-07-11 01:05:34,364 INFO L280 TraceCheckUtils]: 6: Hoare triple {4076#(<= (+ |old(~guard_malloc_counter~0.offset)| 1) ~guard_malloc_counter~0.offset)} assume !(0 == #t~nondet29); {4076#(<= (+ |old(~guard_malloc_counter~0.offset)| 1) ~guard_malloc_counter~0.offset)} is VALID [2020-07-11 01:05:34,364 INFO L280 TraceCheckUtils]: 7: Hoare triple {4076#(<= (+ |old(~guard_malloc_counter~0.offset)| 1) ~guard_malloc_counter~0.offset)} havoc #t~nondet29; {4076#(<= (+ |old(~guard_malloc_counter~0.offset)| 1) ~guard_malloc_counter~0.offset)} is VALID [2020-07-11 01:05:34,365 INFO L280 TraceCheckUtils]: 8: Hoare triple {4076#(<= (+ |old(~guard_malloc_counter~0.offset)| 1) ~guard_malloc_counter~0.offset)} #res.base, #res.offset := ~guard_malloc_counter~0.base, ~guard_malloc_counter~0.offset; {4077#(<= (+ |old(~guard_malloc_counter~0.offset)| 1) |__getMemory_#res.offset|)} is VALID [2020-07-11 01:05:34,366 INFO L280 TraceCheckUtils]: 9: Hoare triple {4077#(<= (+ |old(~guard_malloc_counter~0.offset)| 1) |__getMemory_#res.offset|)} assume true; {4077#(<= (+ |old(~guard_malloc_counter~0.offset)| 1) |__getMemory_#res.offset|)} is VALID [2020-07-11 01:05:34,367 INFO L275 TraceCheckUtils]: 10: Hoare quadruple {4077#(<= (+ |old(~guard_malloc_counter~0.offset)| 1) |__getMemory_#res.offset|)} {4061#(= ~guard_malloc_counter~0.offset |old(~guard_malloc_counter~0.offset)|)} #92#return; {4073#(<= (+ |old(~guard_malloc_counter~0.offset)| 1) |my_malloc_#t~ret30.offset|)} is VALID [2020-07-11 01:05:34,368 INFO L280 TraceCheckUtils]: 0: Hoare triple {4046#(and (= ~guard_malloc_counter~0.offset |old(~guard_malloc_counter~0.offset)|) (= ~guard_malloc_counter~0.base |old(~guard_malloc_counter~0.base)|))} ~size := #in~size; {4061#(= ~guard_malloc_counter~0.offset |old(~guard_malloc_counter~0.offset)|)} is VALID [2020-07-11 01:05:34,368 INFO L263 TraceCheckUtils]: 1: Hoare triple {4061#(= ~guard_malloc_counter~0.offset |old(~guard_malloc_counter~0.offset)|)} call #t~ret30.base, #t~ret30.offset := __getMemory(~size); {4046#(and (= ~guard_malloc_counter~0.offset |old(~guard_malloc_counter~0.offset)|) (= ~guard_malloc_counter~0.base |old(~guard_malloc_counter~0.base)|))} is VALID [2020-07-11 01:05:34,368 INFO L280 TraceCheckUtils]: 2: Hoare triple {4046#(and (= ~guard_malloc_counter~0.offset |old(~guard_malloc_counter~0.offset)|) (= ~guard_malloc_counter~0.base |old(~guard_malloc_counter~0.base)|))} ~size := #in~size; {4061#(= ~guard_malloc_counter~0.offset |old(~guard_malloc_counter~0.offset)|)} is VALID [2020-07-11 01:05:34,369 INFO L280 TraceCheckUtils]: 3: Hoare triple {4061#(= ~guard_malloc_counter~0.offset |old(~guard_malloc_counter~0.offset)|)} assume ~size > 0; {4061#(= ~guard_malloc_counter~0.offset |old(~guard_malloc_counter~0.offset)|)} is VALID [2020-07-11 01:05:34,369 INFO L280 TraceCheckUtils]: 4: Hoare triple {4061#(= ~guard_malloc_counter~0.offset |old(~guard_malloc_counter~0.offset)|)} #t~post28.base, #t~post28.offset := ~guard_malloc_counter~0.base, ~guard_malloc_counter~0.offset; {4075#(= |old(~guard_malloc_counter~0.offset)| |__getMemory_#t~post28.offset|)} is VALID [2020-07-11 01:05:34,370 INFO L280 TraceCheckUtils]: 5: Hoare triple {4075#(= |old(~guard_malloc_counter~0.offset)| |__getMemory_#t~post28.offset|)} ~guard_malloc_counter~0.base, ~guard_malloc_counter~0.offset := #t~post28.base, 1 + #t~post28.offset; {4076#(<= (+ |old(~guard_malloc_counter~0.offset)| 1) ~guard_malloc_counter~0.offset)} is VALID [2020-07-11 01:05:34,370 INFO L280 TraceCheckUtils]: 6: Hoare triple {4076#(<= (+ |old(~guard_malloc_counter~0.offset)| 1) ~guard_malloc_counter~0.offset)} havoc #t~post28.base, #t~post28.offset; {4076#(<= (+ |old(~guard_malloc_counter~0.offset)| 1) ~guard_malloc_counter~0.offset)} is VALID [2020-07-11 01:05:34,371 INFO L280 TraceCheckUtils]: 7: Hoare triple {4076#(<= (+ |old(~guard_malloc_counter~0.offset)| 1) ~guard_malloc_counter~0.offset)} assume -2147483648 <= #t~nondet29 && #t~nondet29 <= 2147483647; {4076#(<= (+ |old(~guard_malloc_counter~0.offset)| 1) ~guard_malloc_counter~0.offset)} is VALID [2020-07-11 01:05:34,371 INFO L280 TraceCheckUtils]: 8: Hoare triple {4076#(<= (+ |old(~guard_malloc_counter~0.offset)| 1) ~guard_malloc_counter~0.offset)} assume !(0 == #t~nondet29); {4076#(<= (+ |old(~guard_malloc_counter~0.offset)| 1) ~guard_malloc_counter~0.offset)} is VALID [2020-07-11 01:05:34,377 INFO L280 TraceCheckUtils]: 9: Hoare triple {4076#(<= (+ |old(~guard_malloc_counter~0.offset)| 1) ~guard_malloc_counter~0.offset)} havoc #t~nondet29; {4076#(<= (+ |old(~guard_malloc_counter~0.offset)| 1) ~guard_malloc_counter~0.offset)} is VALID [2020-07-11 01:05:34,382 INFO L280 TraceCheckUtils]: 10: Hoare triple {4076#(<= (+ |old(~guard_malloc_counter~0.offset)| 1) ~guard_malloc_counter~0.offset)} #res.base, #res.offset := ~guard_malloc_counter~0.base, ~guard_malloc_counter~0.offset; {4077#(<= (+ |old(~guard_malloc_counter~0.offset)| 1) |__getMemory_#res.offset|)} is VALID [2020-07-11 01:05:34,383 INFO L280 TraceCheckUtils]: 11: Hoare triple {4077#(<= (+ |old(~guard_malloc_counter~0.offset)| 1) |__getMemory_#res.offset|)} assume true; {4077#(<= (+ |old(~guard_malloc_counter~0.offset)| 1) |__getMemory_#res.offset|)} is VALID [2020-07-11 01:05:34,384 INFO L275 TraceCheckUtils]: 12: Hoare quadruple {4077#(<= (+ |old(~guard_malloc_counter~0.offset)| 1) |__getMemory_#res.offset|)} {4061#(= ~guard_malloc_counter~0.offset |old(~guard_malloc_counter~0.offset)|)} #92#return; {4073#(<= (+ |old(~guard_malloc_counter~0.offset)| 1) |my_malloc_#t~ret30.offset|)} is VALID [2020-07-11 01:05:34,385 INFO L280 TraceCheckUtils]: 13: Hoare triple {4073#(<= (+ |old(~guard_malloc_counter~0.offset)| 1) |my_malloc_#t~ret30.offset|)} #res.base, #res.offset := #t~ret30.base, #t~ret30.offset; {4074#(<= (+ |old(~guard_malloc_counter~0.offset)| 1) |my_malloc_#res.offset|)} is VALID [2020-07-11 01:05:34,386 INFO L280 TraceCheckUtils]: 14: Hoare triple {4074#(<= (+ |old(~guard_malloc_counter~0.offset)| 1) |my_malloc_#res.offset|)} havoc #t~ret30.base, #t~ret30.offset; {4074#(<= (+ |old(~guard_malloc_counter~0.offset)| 1) |my_malloc_#res.offset|)} is VALID [2020-07-11 01:05:34,386 INFO L280 TraceCheckUtils]: 15: Hoare triple {4074#(<= (+ |old(~guard_malloc_counter~0.offset)| 1) |my_malloc_#res.offset|)} assume true; {4074#(<= (+ |old(~guard_malloc_counter~0.offset)| 1) |my_malloc_#res.offset|)} is VALID [2020-07-11 01:05:34,388 INFO L275 TraceCheckUtils]: 16: Hoare quadruple {4074#(<= (+ |old(~guard_malloc_counter~0.offset)| 1) |my_malloc_#res.offset|)} {4001#(<= main_~dev1~0.offset ~guard_malloc_counter~0.offset)} #96#return; {4019#(<= (+ main_~dev1~0.offset 1) |main_#t~ret33.offset|)} is VALID [2020-07-11 01:05:34,417 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2020-07-11 01:05:34,431 INFO L280 TraceCheckUtils]: 0: Hoare triple {4078#(and (= ~elem~0.base |old(~elem~0.base)|) (= ~elem~0.offset |old(~elem~0.offset)|))} ~new.base, ~new.offset := #in~new.base, #in~new.offset; {3971#true} is VALID [2020-07-11 01:05:34,432 INFO L280 TraceCheckUtils]: 1: Hoare triple {3971#true} ~head.base, ~head.offset := #in~head.base, #in~head.offset; {3971#true} is VALID [2020-07-11 01:05:34,432 INFO L280 TraceCheckUtils]: 2: Hoare triple {3971#true} assume ~new.base != ~elem~0.base || ~new.offset != ~elem~0.offset; {3971#true} is VALID [2020-07-11 01:05:34,432 INFO L280 TraceCheckUtils]: 3: Hoare triple {3971#true} assume -2147483648 <= #t~nondet31 && #t~nondet31 <= 2147483647; {3971#true} is VALID [2020-07-11 01:05:34,432 INFO L280 TraceCheckUtils]: 4: Hoare triple {3971#true} assume !(0 != #t~nondet31); {3971#true} is VALID [2020-07-11 01:05:34,433 INFO L280 TraceCheckUtils]: 5: Hoare triple {3971#true} havoc #t~nondet31; {3971#true} is VALID [2020-07-11 01:05:34,433 INFO L280 TraceCheckUtils]: 6: Hoare triple {3971#true} assume true; {3971#true} is VALID [2020-07-11 01:05:34,435 INFO L275 TraceCheckUtils]: 7: Hoare quadruple {3971#true} {4020#(<= (+ main_~dev1~0.offset 1) main_~dev2~0.offset)} #98#return; {4020#(<= (+ main_~dev1~0.offset 1) main_~dev2~0.offset)} is VALID [2020-07-11 01:05:34,438 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2020-07-11 01:05:34,498 INFO L280 TraceCheckUtils]: 0: Hoare triple {4078#(and (= ~elem~0.base |old(~elem~0.base)|) (= ~elem~0.offset |old(~elem~0.offset)|))} ~new.base, ~new.offset := #in~new.base, #in~new.offset; {4079#(= |list_add_#in~new.offset| list_add_~new.offset)} is VALID [2020-07-11 01:05:34,499 INFO L280 TraceCheckUtils]: 1: Hoare triple {4079#(= |list_add_#in~new.offset| list_add_~new.offset)} ~head.base, ~head.offset := #in~head.base, #in~head.offset; {4079#(= |list_add_#in~new.offset| list_add_~new.offset)} is VALID [2020-07-11 01:05:34,499 INFO L280 TraceCheckUtils]: 2: Hoare triple {4079#(= |list_add_#in~new.offset| list_add_~new.offset)} assume ~new.base != ~elem~0.base || ~new.offset != ~elem~0.offset; {4079#(= |list_add_#in~new.offset| list_add_~new.offset)} is VALID [2020-07-11 01:05:34,500 INFO L280 TraceCheckUtils]: 3: Hoare triple {4079#(= |list_add_#in~new.offset| list_add_~new.offset)} assume -2147483648 <= #t~nondet31 && #t~nondet31 <= 2147483647; {4079#(= |list_add_#in~new.offset| list_add_~new.offset)} is VALID [2020-07-11 01:05:34,501 INFO L280 TraceCheckUtils]: 4: Hoare triple {4079#(= |list_add_#in~new.offset| list_add_~new.offset)} assume 0 != #t~nondet31; {4079#(= |list_add_#in~new.offset| list_add_~new.offset)} is VALID [2020-07-11 01:05:34,501 INFO L280 TraceCheckUtils]: 5: Hoare triple {4079#(= |list_add_#in~new.offset| list_add_~new.offset)} havoc #t~nondet31; {4079#(= |list_add_#in~new.offset| list_add_~new.offset)} is VALID [2020-07-11 01:05:34,502 INFO L280 TraceCheckUtils]: 6: Hoare triple {4079#(= |list_add_#in~new.offset| list_add_~new.offset)} ~elem~0.base, ~elem~0.offset := ~new.base, ~new.offset; {4080#(= ~elem~0.offset |list_add_#in~new.offset|)} is VALID [2020-07-11 01:05:34,502 INFO L280 TraceCheckUtils]: 7: Hoare triple {4080#(= ~elem~0.offset |list_add_#in~new.offset|)} assume true; {4080#(= ~elem~0.offset |list_add_#in~new.offset|)} is VALID [2020-07-11 01:05:34,504 INFO L275 TraceCheckUtils]: 8: Hoare quadruple {4080#(= ~elem~0.offset |list_add_#in~new.offset|)} {4020#(<= (+ main_~dev1~0.offset 1) main_~dev2~0.offset)} #100#return; {4038#(<= (+ ~elem~0.offset 1) main_~dev2~0.offset)} is VALID [2020-07-11 01:05:34,506 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2020-07-11 01:05:34,539 INFO L280 TraceCheckUtils]: 0: Hoare triple {4078#(and (= ~elem~0.base |old(~elem~0.base)|) (= ~elem~0.offset |old(~elem~0.offset)|))} ~entry.base, ~entry.offset := #in~entry.base, #in~entry.offset; {4081#(= |old(~elem~0.offset)| ~elem~0.offset)} is VALID [2020-07-11 01:05:34,540 INFO L280 TraceCheckUtils]: 1: Hoare triple {4081#(= |old(~elem~0.offset)| ~elem~0.offset)} assume !(~entry.base == ~elem~0.base && ~entry.offset == ~elem~0.offset); {4081#(= |old(~elem~0.offset)| ~elem~0.offset)} is VALID [2020-07-11 01:05:34,541 INFO L280 TraceCheckUtils]: 2: Hoare triple {4081#(= |old(~elem~0.offset)| ~elem~0.offset)} assume true; {4081#(= |old(~elem~0.offset)| ~elem~0.offset)} is VALID [2020-07-11 01:05:34,542 INFO L275 TraceCheckUtils]: 3: Hoare quadruple {4081#(= |old(~elem~0.offset)| ~elem~0.offset)} {4038#(<= (+ ~elem~0.offset 1) main_~dev2~0.offset)} #102#return; {4038#(<= (+ ~elem~0.offset 1) main_~dev2~0.offset)} is VALID [2020-07-11 01:05:34,544 INFO L263 TraceCheckUtils]: 0: Hoare triple {3971#true} call ULTIMATE.init(); {4045#(and (= |#valid| |old(#valid)|) (= ~elem~0.base |old(~elem~0.base)|) (= |#NULL.base| |old(#NULL.base)|) (= |~#head~0.base| |old(~#head~0.base)|) (= ~guard_malloc_counter~0.offset |old(~guard_malloc_counter~0.offset)|) (= |#NULL.offset| |old(#NULL.offset)|) (= ~elem~0.offset |old(~elem~0.offset)|) (= |old(#length)| |#length|) (= |~#head~0.offset| |old(~#head~0.offset)|) (= ~guard_malloc_counter~0.base |old(~guard_malloc_counter~0.base)|))} is VALID [2020-07-11 01:05:34,544 INFO L280 TraceCheckUtils]: 1: Hoare triple {4045#(and (= |#valid| |old(#valid)|) (= ~elem~0.base |old(~elem~0.base)|) (= |#NULL.base| |old(#NULL.base)|) (= |~#head~0.base| |old(~#head~0.base)|) (= ~guard_malloc_counter~0.offset |old(~guard_malloc_counter~0.offset)|) (= |#NULL.offset| |old(#NULL.offset)|) (= ~elem~0.offset |old(~elem~0.offset)|) (= |old(#length)| |#length|) (= |~#head~0.offset| |old(~#head~0.offset)|) (= ~guard_malloc_counter~0.base |old(~guard_malloc_counter~0.base)|))} #NULL.base, #NULL.offset := 0, 0; {3971#true} is VALID [2020-07-11 01:05:34,544 INFO L280 TraceCheckUtils]: 2: Hoare triple {3971#true} #valid := #valid[0 := 0]; {3971#true} is VALID [2020-07-11 01:05:34,545 INFO L280 TraceCheckUtils]: 3: Hoare triple {3971#true} assume 0 < #StackHeapBarrier; {3971#true} is VALID [2020-07-11 01:05:34,545 INFO L280 TraceCheckUtils]: 4: Hoare triple {3971#true} ~guard_malloc_counter~0.base, ~guard_malloc_counter~0.offset := 0, 0; {3971#true} is VALID [2020-07-11 01:05:34,545 INFO L280 TraceCheckUtils]: 5: Hoare triple {3971#true} ~elem~0.base, ~elem~0.offset := 0, 0; {3971#true} is VALID [2020-07-11 01:05:34,545 INFO L280 TraceCheckUtils]: 6: Hoare triple {3971#true} SUMMARY for call ~#head~0.base, ~#head~0.offset := #Ultimate.allocOnStack(8); srcloc: L900 {3971#true} is VALID [2020-07-11 01:05:34,545 INFO L280 TraceCheckUtils]: 7: Hoare triple {3971#true} SUMMARY for call write~init~$Pointer$(0, 0, ~#head~0.base, ~#head~0.offset, 4); srcloc: L900-1 {3971#true} is VALID [2020-07-11 01:05:34,545 INFO L280 TraceCheckUtils]: 8: Hoare triple {3971#true} SUMMARY for call write~init~$Pointer$(0, 0, ~#head~0.base, 4 + ~#head~0.offset, 4); srcloc: L900-2 {3971#true} is VALID [2020-07-11 01:05:34,546 INFO L280 TraceCheckUtils]: 9: Hoare triple {3971#true} assume true; {3971#true} is VALID [2020-07-11 01:05:34,546 INFO L275 TraceCheckUtils]: 10: Hoare quadruple {3971#true} {3971#true} #112#return; {3971#true} is VALID [2020-07-11 01:05:34,546 INFO L263 TraceCheckUtils]: 11: Hoare triple {3971#true} call #t~ret34 := main(); {3971#true} is VALID [2020-07-11 01:05:34,546 INFO L280 TraceCheckUtils]: 12: Hoare triple {3971#true} havoc ~dev1~0.base, ~dev1~0.offset; {3971#true} is VALID [2020-07-11 01:05:34,546 INFO L280 TraceCheckUtils]: 13: Hoare triple {3971#true} havoc ~dev2~0.base, ~dev2~0.offset; {3971#true} is VALID [2020-07-11 01:05:34,547 INFO L263 TraceCheckUtils]: 14: Hoare triple {3971#true} call #t~ret32.base, #t~ret32.offset := my_malloc(8); {4046#(and (= ~guard_malloc_counter~0.offset |old(~guard_malloc_counter~0.offset)|) (= ~guard_malloc_counter~0.base |old(~guard_malloc_counter~0.base)|))} is VALID [2020-07-11 01:05:34,547 INFO L280 TraceCheckUtils]: 15: Hoare triple {4046#(and (= ~guard_malloc_counter~0.offset |old(~guard_malloc_counter~0.offset)|) (= ~guard_malloc_counter~0.base |old(~guard_malloc_counter~0.base)|))} ~size := #in~size; {3971#true} is VALID [2020-07-11 01:05:34,549 INFO L263 TraceCheckUtils]: 16: Hoare triple {3971#true} call #t~ret30.base, #t~ret30.offset := __getMemory(~size); {4046#(and (= ~guard_malloc_counter~0.offset |old(~guard_malloc_counter~0.offset)|) (= ~guard_malloc_counter~0.base |old(~guard_malloc_counter~0.base)|))} is VALID [2020-07-11 01:05:34,549 INFO L280 TraceCheckUtils]: 17: Hoare triple {4046#(and (= ~guard_malloc_counter~0.offset |old(~guard_malloc_counter~0.offset)|) (= ~guard_malloc_counter~0.base |old(~guard_malloc_counter~0.base)|))} ~size := #in~size; {3971#true} is VALID [2020-07-11 01:05:34,549 INFO L280 TraceCheckUtils]: 18: Hoare triple {3971#true} assume ~size > 0; {3971#true} is VALID [2020-07-11 01:05:34,549 INFO L280 TraceCheckUtils]: 19: Hoare triple {3971#true} #t~post28.base, #t~post28.offset := ~guard_malloc_counter~0.base, ~guard_malloc_counter~0.offset; {3971#true} is VALID [2020-07-11 01:05:34,550 INFO L280 TraceCheckUtils]: 20: Hoare triple {3971#true} ~guard_malloc_counter~0.base, ~guard_malloc_counter~0.offset := #t~post28.base, 1 + #t~post28.offset; {3971#true} is VALID [2020-07-11 01:05:34,550 INFO L280 TraceCheckUtils]: 21: Hoare triple {3971#true} havoc #t~post28.base, #t~post28.offset; {3971#true} is VALID [2020-07-11 01:05:34,550 INFO L280 TraceCheckUtils]: 22: Hoare triple {3971#true} assume -2147483648 <= #t~nondet29 && #t~nondet29 <= 2147483647; {3971#true} is VALID [2020-07-11 01:05:34,550 INFO L280 TraceCheckUtils]: 23: Hoare triple {3971#true} assume !(0 == #t~nondet29); {3971#true} is VALID [2020-07-11 01:05:34,550 INFO L280 TraceCheckUtils]: 24: Hoare triple {3971#true} havoc #t~nondet29; {3971#true} is VALID [2020-07-11 01:05:34,551 INFO L280 TraceCheckUtils]: 25: Hoare triple {3971#true} #res.base, #res.offset := ~guard_malloc_counter~0.base, ~guard_malloc_counter~0.offset; {4060#(<= |__getMemory_#res.offset| ~guard_malloc_counter~0.offset)} is VALID [2020-07-11 01:05:34,552 INFO L280 TraceCheckUtils]: 26: Hoare triple {4060#(<= |__getMemory_#res.offset| ~guard_malloc_counter~0.offset)} assume true; {4060#(<= |__getMemory_#res.offset| ~guard_malloc_counter~0.offset)} is VALID [2020-07-11 01:05:34,553 INFO L275 TraceCheckUtils]: 27: Hoare quadruple {4060#(<= |__getMemory_#res.offset| ~guard_malloc_counter~0.offset)} {3971#true} #92#return; {4058#(<= |my_malloc_#t~ret30.offset| ~guard_malloc_counter~0.offset)} is VALID [2020-07-11 01:05:34,554 INFO L280 TraceCheckUtils]: 28: Hoare triple {4058#(<= |my_malloc_#t~ret30.offset| ~guard_malloc_counter~0.offset)} #res.base, #res.offset := #t~ret30.base, #t~ret30.offset; {4059#(<= |my_malloc_#res.offset| ~guard_malloc_counter~0.offset)} is VALID [2020-07-11 01:05:34,554 INFO L280 TraceCheckUtils]: 29: Hoare triple {4059#(<= |my_malloc_#res.offset| ~guard_malloc_counter~0.offset)} havoc #t~ret30.base, #t~ret30.offset; {4059#(<= |my_malloc_#res.offset| ~guard_malloc_counter~0.offset)} is VALID [2020-07-11 01:05:34,555 INFO L280 TraceCheckUtils]: 30: Hoare triple {4059#(<= |my_malloc_#res.offset| ~guard_malloc_counter~0.offset)} assume true; {4059#(<= |my_malloc_#res.offset| ~guard_malloc_counter~0.offset)} is VALID [2020-07-11 01:05:34,556 INFO L275 TraceCheckUtils]: 31: Hoare quadruple {4059#(<= |my_malloc_#res.offset| ~guard_malloc_counter~0.offset)} {3971#true} #94#return; {4000#(<= |main_#t~ret32.offset| ~guard_malloc_counter~0.offset)} is VALID [2020-07-11 01:05:34,557 INFO L280 TraceCheckUtils]: 32: Hoare triple {4000#(<= |main_#t~ret32.offset| ~guard_malloc_counter~0.offset)} ~dev1~0.base, ~dev1~0.offset := #t~ret32.base, #t~ret32.offset; {4001#(<= main_~dev1~0.offset ~guard_malloc_counter~0.offset)} is VALID [2020-07-11 01:05:34,558 INFO L280 TraceCheckUtils]: 33: Hoare triple {4001#(<= main_~dev1~0.offset ~guard_malloc_counter~0.offset)} havoc #t~ret32.base, #t~ret32.offset; {4001#(<= main_~dev1~0.offset ~guard_malloc_counter~0.offset)} is VALID [2020-07-11 01:05:34,559 INFO L263 TraceCheckUtils]: 34: Hoare triple {4001#(<= main_~dev1~0.offset ~guard_malloc_counter~0.offset)} call #t~ret33.base, #t~ret33.offset := my_malloc(8); {4046#(and (= ~guard_malloc_counter~0.offset |old(~guard_malloc_counter~0.offset)|) (= ~guard_malloc_counter~0.base |old(~guard_malloc_counter~0.base)|))} is VALID [2020-07-11 01:05:34,560 INFO L280 TraceCheckUtils]: 35: Hoare triple {4046#(and (= ~guard_malloc_counter~0.offset |old(~guard_malloc_counter~0.offset)|) (= ~guard_malloc_counter~0.base |old(~guard_malloc_counter~0.base)|))} ~size := #in~size; {4061#(= ~guard_malloc_counter~0.offset |old(~guard_malloc_counter~0.offset)|)} is VALID [2020-07-11 01:05:34,561 INFO L263 TraceCheckUtils]: 36: Hoare triple {4061#(= ~guard_malloc_counter~0.offset |old(~guard_malloc_counter~0.offset)|)} call #t~ret30.base, #t~ret30.offset := __getMemory(~size); {4046#(and (= ~guard_malloc_counter~0.offset |old(~guard_malloc_counter~0.offset)|) (= ~guard_malloc_counter~0.base |old(~guard_malloc_counter~0.base)|))} is VALID [2020-07-11 01:05:34,561 INFO L280 TraceCheckUtils]: 37: Hoare triple {4046#(and (= ~guard_malloc_counter~0.offset |old(~guard_malloc_counter~0.offset)|) (= ~guard_malloc_counter~0.base |old(~guard_malloc_counter~0.base)|))} ~size := #in~size; {4061#(= ~guard_malloc_counter~0.offset |old(~guard_malloc_counter~0.offset)|)} is VALID [2020-07-11 01:05:34,562 INFO L280 TraceCheckUtils]: 38: Hoare triple {4061#(= ~guard_malloc_counter~0.offset |old(~guard_malloc_counter~0.offset)|)} assume ~size > 0; {4061#(= ~guard_malloc_counter~0.offset |old(~guard_malloc_counter~0.offset)|)} is VALID [2020-07-11 01:05:34,563 INFO L280 TraceCheckUtils]: 39: Hoare triple {4061#(= ~guard_malloc_counter~0.offset |old(~guard_malloc_counter~0.offset)|)} #t~post28.base, #t~post28.offset := ~guard_malloc_counter~0.base, ~guard_malloc_counter~0.offset; {4075#(= |old(~guard_malloc_counter~0.offset)| |__getMemory_#t~post28.offset|)} is VALID [2020-07-11 01:05:34,563 INFO L280 TraceCheckUtils]: 40: Hoare triple {4075#(= |old(~guard_malloc_counter~0.offset)| |__getMemory_#t~post28.offset|)} ~guard_malloc_counter~0.base, ~guard_malloc_counter~0.offset := #t~post28.base, 1 + #t~post28.offset; {4076#(<= (+ |old(~guard_malloc_counter~0.offset)| 1) ~guard_malloc_counter~0.offset)} is VALID [2020-07-11 01:05:34,564 INFO L280 TraceCheckUtils]: 41: Hoare triple {4076#(<= (+ |old(~guard_malloc_counter~0.offset)| 1) ~guard_malloc_counter~0.offset)} havoc #t~post28.base, #t~post28.offset; {4076#(<= (+ |old(~guard_malloc_counter~0.offset)| 1) ~guard_malloc_counter~0.offset)} is VALID [2020-07-11 01:05:34,565 INFO L280 TraceCheckUtils]: 42: Hoare triple {4076#(<= (+ |old(~guard_malloc_counter~0.offset)| 1) ~guard_malloc_counter~0.offset)} assume -2147483648 <= #t~nondet29 && #t~nondet29 <= 2147483647; {4076#(<= (+ |old(~guard_malloc_counter~0.offset)| 1) ~guard_malloc_counter~0.offset)} is VALID [2020-07-11 01:05:34,566 INFO L280 TraceCheckUtils]: 43: Hoare triple {4076#(<= (+ |old(~guard_malloc_counter~0.offset)| 1) ~guard_malloc_counter~0.offset)} assume !(0 == #t~nondet29); {4076#(<= (+ |old(~guard_malloc_counter~0.offset)| 1) ~guard_malloc_counter~0.offset)} is VALID [2020-07-11 01:05:34,566 INFO L280 TraceCheckUtils]: 44: Hoare triple {4076#(<= (+ |old(~guard_malloc_counter~0.offset)| 1) ~guard_malloc_counter~0.offset)} havoc #t~nondet29; {4076#(<= (+ |old(~guard_malloc_counter~0.offset)| 1) ~guard_malloc_counter~0.offset)} is VALID [2020-07-11 01:05:34,567 INFO L280 TraceCheckUtils]: 45: Hoare triple {4076#(<= (+ |old(~guard_malloc_counter~0.offset)| 1) ~guard_malloc_counter~0.offset)} #res.base, #res.offset := ~guard_malloc_counter~0.base, ~guard_malloc_counter~0.offset; {4077#(<= (+ |old(~guard_malloc_counter~0.offset)| 1) |__getMemory_#res.offset|)} is VALID [2020-07-11 01:05:34,568 INFO L280 TraceCheckUtils]: 46: Hoare triple {4077#(<= (+ |old(~guard_malloc_counter~0.offset)| 1) |__getMemory_#res.offset|)} assume true; {4077#(<= (+ |old(~guard_malloc_counter~0.offset)| 1) |__getMemory_#res.offset|)} is VALID [2020-07-11 01:05:34,569 INFO L275 TraceCheckUtils]: 47: Hoare quadruple {4077#(<= (+ |old(~guard_malloc_counter~0.offset)| 1) |__getMemory_#res.offset|)} {4061#(= ~guard_malloc_counter~0.offset |old(~guard_malloc_counter~0.offset)|)} #92#return; {4073#(<= (+ |old(~guard_malloc_counter~0.offset)| 1) |my_malloc_#t~ret30.offset|)} is VALID [2020-07-11 01:05:34,570 INFO L280 TraceCheckUtils]: 48: Hoare triple {4073#(<= (+ |old(~guard_malloc_counter~0.offset)| 1) |my_malloc_#t~ret30.offset|)} #res.base, #res.offset := #t~ret30.base, #t~ret30.offset; {4074#(<= (+ |old(~guard_malloc_counter~0.offset)| 1) |my_malloc_#res.offset|)} is VALID [2020-07-11 01:05:34,570 INFO L280 TraceCheckUtils]: 49: Hoare triple {4074#(<= (+ |old(~guard_malloc_counter~0.offset)| 1) |my_malloc_#res.offset|)} havoc #t~ret30.base, #t~ret30.offset; {4074#(<= (+ |old(~guard_malloc_counter~0.offset)| 1) |my_malloc_#res.offset|)} is VALID [2020-07-11 01:05:34,571 INFO L280 TraceCheckUtils]: 50: Hoare triple {4074#(<= (+ |old(~guard_malloc_counter~0.offset)| 1) |my_malloc_#res.offset|)} assume true; {4074#(<= (+ |old(~guard_malloc_counter~0.offset)| 1) |my_malloc_#res.offset|)} is VALID [2020-07-11 01:05:34,572 INFO L275 TraceCheckUtils]: 51: Hoare quadruple {4074#(<= (+ |old(~guard_malloc_counter~0.offset)| 1) |my_malloc_#res.offset|)} {4001#(<= main_~dev1~0.offset ~guard_malloc_counter~0.offset)} #96#return; {4019#(<= (+ main_~dev1~0.offset 1) |main_#t~ret33.offset|)} is VALID [2020-07-11 01:05:34,573 INFO L280 TraceCheckUtils]: 52: Hoare triple {4019#(<= (+ main_~dev1~0.offset 1) |main_#t~ret33.offset|)} ~dev2~0.base, ~dev2~0.offset := #t~ret33.base, #t~ret33.offset; {4020#(<= (+ main_~dev1~0.offset 1) main_~dev2~0.offset)} is VALID [2020-07-11 01:05:34,574 INFO L280 TraceCheckUtils]: 53: Hoare triple {4020#(<= (+ main_~dev1~0.offset 1) main_~dev2~0.offset)} havoc #t~ret33.base, #t~ret33.offset; {4020#(<= (+ main_~dev1~0.offset 1) main_~dev2~0.offset)} is VALID [2020-07-11 01:05:34,574 INFO L280 TraceCheckUtils]: 54: Hoare triple {4020#(<= (+ main_~dev1~0.offset 1) main_~dev2~0.offset)} assume (~dev1~0.base != 0 || ~dev1~0.offset != 0) && (~dev2~0.base != 0 || ~dev2~0.offset != 0); {4020#(<= (+ main_~dev1~0.offset 1) main_~dev2~0.offset)} is VALID [2020-07-11 01:05:34,576 INFO L263 TraceCheckUtils]: 55: Hoare triple {4020#(<= (+ main_~dev1~0.offset 1) main_~dev2~0.offset)} call list_add(~dev2~0.base, ~dev2~0.offset, ~#head~0.base, ~#head~0.offset); {4078#(and (= ~elem~0.base |old(~elem~0.base)|) (= ~elem~0.offset |old(~elem~0.offset)|))} is VALID [2020-07-11 01:05:34,576 INFO L280 TraceCheckUtils]: 56: Hoare triple {4078#(and (= ~elem~0.base |old(~elem~0.base)|) (= ~elem~0.offset |old(~elem~0.offset)|))} ~new.base, ~new.offset := #in~new.base, #in~new.offset; {3971#true} is VALID [2020-07-11 01:05:34,576 INFO L280 TraceCheckUtils]: 57: Hoare triple {3971#true} ~head.base, ~head.offset := #in~head.base, #in~head.offset; {3971#true} is VALID [2020-07-11 01:05:34,576 INFO L280 TraceCheckUtils]: 58: Hoare triple {3971#true} assume ~new.base != ~elem~0.base || ~new.offset != ~elem~0.offset; {3971#true} is VALID [2020-07-11 01:05:34,576 INFO L280 TraceCheckUtils]: 59: Hoare triple {3971#true} assume -2147483648 <= #t~nondet31 && #t~nondet31 <= 2147483647; {3971#true} is VALID [2020-07-11 01:05:34,577 INFO L280 TraceCheckUtils]: 60: Hoare triple {3971#true} assume !(0 != #t~nondet31); {3971#true} is VALID [2020-07-11 01:05:34,577 INFO L280 TraceCheckUtils]: 61: Hoare triple {3971#true} havoc #t~nondet31; {3971#true} is VALID [2020-07-11 01:05:34,577 INFO L280 TraceCheckUtils]: 62: Hoare triple {3971#true} assume true; {3971#true} is VALID [2020-07-11 01:05:34,578 INFO L275 TraceCheckUtils]: 63: Hoare quadruple {3971#true} {4020#(<= (+ main_~dev1~0.offset 1) main_~dev2~0.offset)} #98#return; {4020#(<= (+ main_~dev1~0.offset 1) main_~dev2~0.offset)} is VALID [2020-07-11 01:05:34,579 INFO L263 TraceCheckUtils]: 64: Hoare triple {4020#(<= (+ main_~dev1~0.offset 1) main_~dev2~0.offset)} call list_add(~dev1~0.base, ~dev1~0.offset, ~#head~0.base, ~#head~0.offset); {4078#(and (= ~elem~0.base |old(~elem~0.base)|) (= ~elem~0.offset |old(~elem~0.offset)|))} is VALID [2020-07-11 01:05:34,580 INFO L280 TraceCheckUtils]: 65: Hoare triple {4078#(and (= ~elem~0.base |old(~elem~0.base)|) (= ~elem~0.offset |old(~elem~0.offset)|))} ~new.base, ~new.offset := #in~new.base, #in~new.offset; {4079#(= |list_add_#in~new.offset| list_add_~new.offset)} is VALID [2020-07-11 01:05:34,581 INFO L280 TraceCheckUtils]: 66: Hoare triple {4079#(= |list_add_#in~new.offset| list_add_~new.offset)} ~head.base, ~head.offset := #in~head.base, #in~head.offset; {4079#(= |list_add_#in~new.offset| list_add_~new.offset)} is VALID [2020-07-11 01:05:34,581 INFO L280 TraceCheckUtils]: 67: Hoare triple {4079#(= |list_add_#in~new.offset| list_add_~new.offset)} assume ~new.base != ~elem~0.base || ~new.offset != ~elem~0.offset; {4079#(= |list_add_#in~new.offset| list_add_~new.offset)} is VALID [2020-07-11 01:05:34,582 INFO L280 TraceCheckUtils]: 68: Hoare triple {4079#(= |list_add_#in~new.offset| list_add_~new.offset)} assume -2147483648 <= #t~nondet31 && #t~nondet31 <= 2147483647; {4079#(= |list_add_#in~new.offset| list_add_~new.offset)} is VALID [2020-07-11 01:05:34,582 INFO L280 TraceCheckUtils]: 69: Hoare triple {4079#(= |list_add_#in~new.offset| list_add_~new.offset)} assume 0 != #t~nondet31; {4079#(= |list_add_#in~new.offset| list_add_~new.offset)} is VALID [2020-07-11 01:05:34,583 INFO L280 TraceCheckUtils]: 70: Hoare triple {4079#(= |list_add_#in~new.offset| list_add_~new.offset)} havoc #t~nondet31; {4079#(= |list_add_#in~new.offset| list_add_~new.offset)} is VALID [2020-07-11 01:05:34,584 INFO L280 TraceCheckUtils]: 71: Hoare triple {4079#(= |list_add_#in~new.offset| list_add_~new.offset)} ~elem~0.base, ~elem~0.offset := ~new.base, ~new.offset; {4080#(= ~elem~0.offset |list_add_#in~new.offset|)} is VALID [2020-07-11 01:05:34,584 INFO L280 TraceCheckUtils]: 72: Hoare triple {4080#(= ~elem~0.offset |list_add_#in~new.offset|)} assume true; {4080#(= ~elem~0.offset |list_add_#in~new.offset|)} is VALID [2020-07-11 01:05:34,586 INFO L275 TraceCheckUtils]: 73: Hoare quadruple {4080#(= ~elem~0.offset |list_add_#in~new.offset|)} {4020#(<= (+ main_~dev1~0.offset 1) main_~dev2~0.offset)} #100#return; {4038#(<= (+ ~elem~0.offset 1) main_~dev2~0.offset)} is VALID [2020-07-11 01:05:34,587 INFO L263 TraceCheckUtils]: 74: Hoare triple {4038#(<= (+ ~elem~0.offset 1) main_~dev2~0.offset)} call list_del(~dev2~0.base, ~dev2~0.offset); {4078#(and (= ~elem~0.base |old(~elem~0.base)|) (= ~elem~0.offset |old(~elem~0.offset)|))} is VALID [2020-07-11 01:05:34,587 INFO L280 TraceCheckUtils]: 75: Hoare triple {4078#(and (= ~elem~0.base |old(~elem~0.base)|) (= ~elem~0.offset |old(~elem~0.offset)|))} ~entry.base, ~entry.offset := #in~entry.base, #in~entry.offset; {4081#(= |old(~elem~0.offset)| ~elem~0.offset)} is VALID [2020-07-11 01:05:34,588 INFO L280 TraceCheckUtils]: 76: Hoare triple {4081#(= |old(~elem~0.offset)| ~elem~0.offset)} assume !(~entry.base == ~elem~0.base && ~entry.offset == ~elem~0.offset); {4081#(= |old(~elem~0.offset)| ~elem~0.offset)} is VALID [2020-07-11 01:05:34,589 INFO L280 TraceCheckUtils]: 77: Hoare triple {4081#(= |old(~elem~0.offset)| ~elem~0.offset)} assume true; {4081#(= |old(~elem~0.offset)| ~elem~0.offset)} is VALID [2020-07-11 01:05:34,590 INFO L275 TraceCheckUtils]: 78: Hoare quadruple {4081#(= |old(~elem~0.offset)| ~elem~0.offset)} {4038#(<= (+ ~elem~0.offset 1) main_~dev2~0.offset)} #102#return; {4038#(<= (+ ~elem~0.offset 1) main_~dev2~0.offset)} is VALID [2020-07-11 01:05:34,591 INFO L263 TraceCheckUtils]: 79: Hoare triple {4038#(<= (+ ~elem~0.offset 1) main_~dev2~0.offset)} call list_add(~dev2~0.base, ~dev2~0.offset, ~#head~0.base, ~#head~0.offset); {4043#(<= (+ ~elem~0.offset 1) |list_add_#in~new.offset|)} is VALID [2020-07-11 01:05:34,593 INFO L280 TraceCheckUtils]: 80: Hoare triple {4043#(<= (+ ~elem~0.offset 1) |list_add_#in~new.offset|)} ~new.base, ~new.offset := #in~new.base, #in~new.offset; {4044#(not (= ~elem~0.offset list_add_~new.offset))} is VALID [2020-07-11 01:05:34,593 INFO L280 TraceCheckUtils]: 81: Hoare triple {4044#(not (= ~elem~0.offset list_add_~new.offset))} ~head.base, ~head.offset := #in~head.base, #in~head.offset; {4044#(not (= ~elem~0.offset list_add_~new.offset))} is VALID [2020-07-11 01:05:34,594 INFO L280 TraceCheckUtils]: 82: Hoare triple {4044#(not (= ~elem~0.offset list_add_~new.offset))} assume !(~new.base != ~elem~0.base || ~new.offset != ~elem~0.offset); {3972#false} is VALID [2020-07-11 01:05:34,594 INFO L263 TraceCheckUtils]: 83: Hoare triple {3972#false} call __blast_assert(); {3972#false} is VALID [2020-07-11 01:05:34,594 INFO L280 TraceCheckUtils]: 84: Hoare triple {3972#false} assume !false; {3972#false} is VALID [2020-07-11 01:05:34,604 INFO L134 CoverageAnalysis]: Checked inductivity of 30 backedges. 17 proven. 10 refuted. 0 times theorem prover too weak. 3 trivial. 0 not checked. [2020-07-11 01:05:34,604 INFO L354 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModulePreferences [1463642213] [2020-07-11 01:05:34,605 INFO L220 FreeRefinementEngine]: Constructing automaton from 0 perfect and 1 imperfect interpolant sequences. [2020-07-11 01:05:34,605 INFO L233 FreeRefinementEngine]: Number of different interpolants: perfect sequences [] imperfect sequences [24] total 24 [2020-07-11 01:05:34,605 INFO L156 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [666108661] [2020-07-11 01:05:34,610 INFO L78 Accepts]: Start accepts. Automaton has 24 states. Word has length 85 [2020-07-11 01:05:34,610 INFO L84 Accepts]: Finished accepts. word is accepted. [2020-07-11 01:05:34,611 INFO L86 InductivityCheck]: Starting indutivity check of a Floyd-Hoare automaton with 24 states. [2020-07-11 01:05:34,707 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-11 01:05:34,707 INFO L459 AbstractCegarLoop]: Interpolant automaton has 24 states [2020-07-11 01:05:34,707 INFO L143 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy FIXED_PREFERENCES [2020-07-11 01:05:34,708 INFO L142 InterpolantAutomaton]: Constructing interpolant automaton starting with 24 interpolants. [2020-07-11 01:05:34,708 INFO L144 InterpolantAutomaton]: CoverageRelationStatistics Valid=51, Invalid=501, Unknown=0, NotChecked=0, Total=552 [2020-07-11 01:05:34,708 INFO L87 Difference]: Start difference. First operand 103 states and 114 transitions. Second operand 24 states. [2020-07-11 01:05:42,672 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2020-07-11 01:05:42,672 INFO L93 Difference]: Finished difference Result 118 states and 130 transitions. [2020-07-11 01:05:42,673 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 26 states. [2020-07-11 01:05:42,673 INFO L78 Accepts]: Start accepts. Automaton has 24 states. Word has length 85 [2020-07-11 01:05:42,673 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2020-07-11 01:05:42,673 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 24 states. [2020-07-11 01:05:42,677 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 26 states to 26 states and 95 transitions. [2020-07-11 01:05:42,677 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 24 states. [2020-07-11 01:05:42,681 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 26 states to 26 states and 95 transitions. [2020-07-11 01:05:42,681 INFO L86 InductivityCheck]: Starting indutivity check of a Floyd-Hoare automaton with 26 states and 95 transitions. [2020-07-11 01:05:42,862 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-11 01:05:42,866 INFO L225 Difference]: With dead ends: 118 [2020-07-11 01:05:42,866 INFO L226 Difference]: Without dead ends: 113 [2020-07-11 01:05:42,867 INFO L675 BasicCegarLoop]: 0 DeclaredPredicates, 59 GetRequests, 16 SyntacticMatches, 0 SemanticMatches, 43 ConstructedPredicates, 0 IntricatePredicates, 0 DeprecatedPredicates, 205 ImplicationChecksByTransitivity, 1.4s TimeCoverageRelationStatistics Valid=232, Invalid=1748, Unknown=0, NotChecked=0, Total=1980 [2020-07-11 01:05:42,868 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 113 states. [2020-07-11 01:05:43,411 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 113 to 112. [2020-07-11 01:05:43,411 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2020-07-11 01:05:43,411 INFO L82 GeneralOperation]: Start isEquivalent. First operand 113 states. Second operand 112 states. [2020-07-11 01:05:43,411 INFO L74 IsIncluded]: Start isIncluded. First operand 113 states. Second operand 112 states. [2020-07-11 01:05:43,411 INFO L87 Difference]: Start difference. First operand 113 states. Second operand 112 states. [2020-07-11 01:05:43,417 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2020-07-11 01:05:43,417 INFO L93 Difference]: Finished difference Result 113 states and 124 transitions. [2020-07-11 01:05:43,417 INFO L276 IsEmpty]: Start isEmpty. Operand 113 states and 124 transitions. [2020-07-11 01:05:43,418 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2020-07-11 01:05:43,418 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2020-07-11 01:05:43,418 INFO L74 IsIncluded]: Start isIncluded. First operand 112 states. Second operand 113 states. [2020-07-11 01:05:43,419 INFO L87 Difference]: Start difference. First operand 112 states. Second operand 113 states. [2020-07-11 01:05:43,423 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2020-07-11 01:05:43,424 INFO L93 Difference]: Finished difference Result 113 states and 124 transitions. [2020-07-11 01:05:43,424 INFO L276 IsEmpty]: Start isEmpty. Operand 113 states and 124 transitions. [2020-07-11 01:05:43,425 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2020-07-11 01:05:43,425 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2020-07-11 01:05:43,425 INFO L88 GeneralOperation]: Finished isEquivalent. [2020-07-11 01:05:43,425 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2020-07-11 01:05:43,425 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 112 states. [2020-07-11 01:05:43,429 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 112 states to 112 states and 123 transitions. [2020-07-11 01:05:43,430 INFO L78 Accepts]: Start accepts. Automaton has 112 states and 123 transitions. Word has length 85 [2020-07-11 01:05:43,430 INFO L84 Accepts]: Finished accepts. word is rejected. [2020-07-11 01:05:43,430 INFO L479 AbstractCegarLoop]: Abstraction has 112 states and 123 transitions. [2020-07-11 01:05:43,430 INFO L480 AbstractCegarLoop]: Interpolant automaton has 24 states. [2020-07-11 01:05:43,431 INFO L86 InductivityCheck]: Starting indutivity check of a Floyd-Hoare automaton with 112 states and 123 transitions. [2020-07-11 01:05:43,734 INFO L119 InductivityCheck]: Floyd-Hoare automaton has 123 edges. 123 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2020-07-11 01:05:43,734 INFO L276 IsEmpty]: Start isEmpty. Operand 112 states and 123 transitions. [2020-07-11 01:05:43,736 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 86 [2020-07-11 01:05:43,736 INFO L414 BasicCegarLoop]: Found error trace [2020-07-11 01:05:43,736 INFO L422 BasicCegarLoop]: trace histogram [3, 3, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1] [2020-07-11 01:05:43,736 WARN L516 AbstractCegarLoop]: Destroyed unattended storables created during the last iteration: SelfDestructingSolverStorable6 [2020-07-11 01:05:43,737 INFO L427 AbstractCegarLoop]: === Iteration 8 === [__blast_assertErr0ASSERT_VIOLATIONERROR_FUNCTION]=== [2020-07-11 01:05:43,737 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2020-07-11 01:05:43,737 INFO L82 PathProgramCache]: Analyzing trace with hash 1173492322, now seen corresponding path program 2 times [2020-07-11 01:05:43,737 INFO L163 FreeRefinementEngine]: Executing refinement strategy FIXED_PREFERENCES [2020-07-11 01:05:43,737 INFO L354 FreeRefinementEngine]: Using trace check IpTcStrategyModulePreferences [320360537] [2020-07-11 01:05:43,738 INFO L94 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2020-07-11 01:05:43,755 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2020-07-11 01:05:43,849 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2020-07-11 01:05:43,857 INFO L280 TraceCheckUtils]: 0: Hoare triple {4883#(and (= |#valid| |old(#valid)|) (= ~elem~0.base |old(~elem~0.base)|) (= |#NULL.base| |old(#NULL.base)|) (= |~#head~0.base| |old(~#head~0.base)|) (= ~guard_malloc_counter~0.offset |old(~guard_malloc_counter~0.offset)|) (= |#NULL.offset| |old(#NULL.offset)|) (= ~elem~0.offset |old(~elem~0.offset)|) (= |old(#length)| |#length|) (= |~#head~0.offset| |old(~#head~0.offset)|) (= ~guard_malloc_counter~0.base |old(~guard_malloc_counter~0.base)|))} #NULL.base, #NULL.offset := 0, 0; {4815#true} is VALID [2020-07-11 01:05:43,857 INFO L280 TraceCheckUtils]: 1: Hoare triple {4815#true} #valid := #valid[0 := 0]; {4815#true} is VALID [2020-07-11 01:05:43,858 INFO L280 TraceCheckUtils]: 2: Hoare triple {4815#true} assume 0 < #StackHeapBarrier; {4815#true} is VALID [2020-07-11 01:05:43,858 INFO L280 TraceCheckUtils]: 3: Hoare triple {4815#true} ~guard_malloc_counter~0.base, ~guard_malloc_counter~0.offset := 0, 0; {4815#true} is VALID [2020-07-11 01:05:43,858 INFO L280 TraceCheckUtils]: 4: Hoare triple {4815#true} ~elem~0.base, ~elem~0.offset := 0, 0; {4815#true} is VALID [2020-07-11 01:05:43,859 INFO L280 TraceCheckUtils]: 5: Hoare triple {4815#true} SUMMARY for call ~#head~0.base, ~#head~0.offset := #Ultimate.allocOnStack(8); srcloc: L900 {4815#true} is VALID [2020-07-11 01:05:43,859 INFO L280 TraceCheckUtils]: 6: Hoare triple {4815#true} SUMMARY for call write~init~$Pointer$(0, 0, ~#head~0.base, ~#head~0.offset, 4); srcloc: L900-1 {4815#true} is VALID [2020-07-11 01:05:43,859 INFO L280 TraceCheckUtils]: 7: Hoare triple {4815#true} SUMMARY for call write~init~$Pointer$(0, 0, ~#head~0.base, 4 + ~#head~0.offset, 4); srcloc: L900-2 {4815#true} is VALID [2020-07-11 01:05:43,859 INFO L280 TraceCheckUtils]: 8: Hoare triple {4815#true} assume true; {4815#true} is VALID [2020-07-11 01:05:43,859 INFO L275 TraceCheckUtils]: 9: Hoare quadruple {4815#true} {4815#true} #112#return; {4815#true} is VALID [2020-07-11 01:05:43,871 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2020-07-11 01:05:43,885 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2020-07-11 01:05:43,895 INFO L280 TraceCheckUtils]: 0: Hoare triple {4884#(and (= ~guard_malloc_counter~0.offset |old(~guard_malloc_counter~0.offset)|) (= ~guard_malloc_counter~0.base |old(~guard_malloc_counter~0.base)|))} ~size := #in~size; {4815#true} is VALID [2020-07-11 01:05:43,896 INFO L280 TraceCheckUtils]: 1: Hoare triple {4815#true} assume ~size > 0; {4815#true} is VALID [2020-07-11 01:05:43,896 INFO L280 TraceCheckUtils]: 2: Hoare triple {4815#true} #t~post28.base, #t~post28.offset := ~guard_malloc_counter~0.base, ~guard_malloc_counter~0.offset; {4815#true} is VALID [2020-07-11 01:05:43,896 INFO L280 TraceCheckUtils]: 3: Hoare triple {4815#true} ~guard_malloc_counter~0.base, ~guard_malloc_counter~0.offset := #t~post28.base, 1 + #t~post28.offset; {4815#true} is VALID [2020-07-11 01:05:43,896 INFO L280 TraceCheckUtils]: 4: Hoare triple {4815#true} havoc #t~post28.base, #t~post28.offset; {4815#true} is VALID [2020-07-11 01:05:43,896 INFO L280 TraceCheckUtils]: 5: Hoare triple {4815#true} assume -2147483648 <= #t~nondet29 && #t~nondet29 <= 2147483647; {4815#true} is VALID [2020-07-11 01:05:43,897 INFO L280 TraceCheckUtils]: 6: Hoare triple {4815#true} assume !(0 == #t~nondet29); {4815#true} is VALID [2020-07-11 01:05:43,897 INFO L280 TraceCheckUtils]: 7: Hoare triple {4815#true} havoc #t~nondet29; {4815#true} is VALID [2020-07-11 01:05:43,897 INFO L280 TraceCheckUtils]: 8: Hoare triple {4815#true} #res.base, #res.offset := ~guard_malloc_counter~0.base, ~guard_malloc_counter~0.offset; {4815#true} is VALID [2020-07-11 01:05:43,897 INFO L280 TraceCheckUtils]: 9: Hoare triple {4815#true} assume true; {4815#true} is VALID [2020-07-11 01:05:43,897 INFO L275 TraceCheckUtils]: 10: Hoare quadruple {4815#true} {4815#true} #92#return; {4815#true} is VALID [2020-07-11 01:05:43,898 INFO L280 TraceCheckUtils]: 0: Hoare triple {4884#(and (= ~guard_malloc_counter~0.offset |old(~guard_malloc_counter~0.offset)|) (= ~guard_malloc_counter~0.base |old(~guard_malloc_counter~0.base)|))} ~size := #in~size; {4815#true} is VALID [2020-07-11 01:05:43,900 INFO L263 TraceCheckUtils]: 1: Hoare triple {4815#true} call #t~ret30.base, #t~ret30.offset := __getMemory(~size); {4884#(and (= ~guard_malloc_counter~0.offset |old(~guard_malloc_counter~0.offset)|) (= ~guard_malloc_counter~0.base |old(~guard_malloc_counter~0.base)|))} is VALID [2020-07-11 01:05:43,900 INFO L280 TraceCheckUtils]: 2: Hoare triple {4884#(and (= ~guard_malloc_counter~0.offset |old(~guard_malloc_counter~0.offset)|) (= ~guard_malloc_counter~0.base |old(~guard_malloc_counter~0.base)|))} ~size := #in~size; {4815#true} is VALID [2020-07-11 01:05:43,901 INFO L280 TraceCheckUtils]: 3: Hoare triple {4815#true} assume ~size > 0; {4815#true} is VALID [2020-07-11 01:05:43,901 INFO L280 TraceCheckUtils]: 4: Hoare triple {4815#true} #t~post28.base, #t~post28.offset := ~guard_malloc_counter~0.base, ~guard_malloc_counter~0.offset; {4815#true} is VALID [2020-07-11 01:05:43,901 INFO L280 TraceCheckUtils]: 5: Hoare triple {4815#true} ~guard_malloc_counter~0.base, ~guard_malloc_counter~0.offset := #t~post28.base, 1 + #t~post28.offset; {4815#true} is VALID [2020-07-11 01:05:43,901 INFO L280 TraceCheckUtils]: 6: Hoare triple {4815#true} havoc #t~post28.base, #t~post28.offset; {4815#true} is VALID [2020-07-11 01:05:43,901 INFO L280 TraceCheckUtils]: 7: Hoare triple {4815#true} assume -2147483648 <= #t~nondet29 && #t~nondet29 <= 2147483647; {4815#true} is VALID [2020-07-11 01:05:43,902 INFO L280 TraceCheckUtils]: 8: Hoare triple {4815#true} assume !(0 == #t~nondet29); {4815#true} is VALID [2020-07-11 01:05:43,902 INFO L280 TraceCheckUtils]: 9: Hoare triple {4815#true} havoc #t~nondet29; {4815#true} is VALID [2020-07-11 01:05:43,902 INFO L280 TraceCheckUtils]: 10: Hoare triple {4815#true} #res.base, #res.offset := ~guard_malloc_counter~0.base, ~guard_malloc_counter~0.offset; {4815#true} is VALID [2020-07-11 01:05:43,903 INFO L280 TraceCheckUtils]: 11: Hoare triple {4815#true} assume true; {4815#true} is VALID [2020-07-11 01:05:43,903 INFO L275 TraceCheckUtils]: 12: Hoare quadruple {4815#true} {4815#true} #92#return; {4815#true} is VALID [2020-07-11 01:05:43,903 INFO L280 TraceCheckUtils]: 13: Hoare triple {4815#true} #res.base, #res.offset := #t~ret30.base, #t~ret30.offset; {4815#true} is VALID [2020-07-11 01:05:43,903 INFO L280 TraceCheckUtils]: 14: Hoare triple {4815#true} havoc #t~ret30.base, #t~ret30.offset; {4815#true} is VALID [2020-07-11 01:05:43,904 INFO L280 TraceCheckUtils]: 15: Hoare triple {4815#true} assume true; {4815#true} is VALID [2020-07-11 01:05:43,904 INFO L275 TraceCheckUtils]: 16: Hoare quadruple {4815#true} {4815#true} #94#return; {4815#true} is VALID [2020-07-11 01:05:43,905 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2020-07-11 01:05:43,921 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2020-07-11 01:05:43,924 INFO L280 TraceCheckUtils]: 0: Hoare triple {4884#(and (= ~guard_malloc_counter~0.offset |old(~guard_malloc_counter~0.offset)|) (= ~guard_malloc_counter~0.base |old(~guard_malloc_counter~0.base)|))} ~size := #in~size; {4815#true} is VALID [2020-07-11 01:05:43,924 INFO L280 TraceCheckUtils]: 1: Hoare triple {4815#true} assume ~size > 0; {4815#true} is VALID [2020-07-11 01:05:43,924 INFO L280 TraceCheckUtils]: 2: Hoare triple {4815#true} #t~post28.base, #t~post28.offset := ~guard_malloc_counter~0.base, ~guard_malloc_counter~0.offset; {4815#true} is VALID [2020-07-11 01:05:43,924 INFO L280 TraceCheckUtils]: 3: Hoare triple {4815#true} ~guard_malloc_counter~0.base, ~guard_malloc_counter~0.offset := #t~post28.base, 1 + #t~post28.offset; {4815#true} is VALID [2020-07-11 01:05:43,924 INFO L280 TraceCheckUtils]: 4: Hoare triple {4815#true} havoc #t~post28.base, #t~post28.offset; {4815#true} is VALID [2020-07-11 01:05:43,925 INFO L280 TraceCheckUtils]: 5: Hoare triple {4815#true} assume -2147483648 <= #t~nondet29 && #t~nondet29 <= 2147483647; {4815#true} is VALID [2020-07-11 01:05:43,925 INFO L280 TraceCheckUtils]: 6: Hoare triple {4815#true} assume !(0 == #t~nondet29); {4815#true} is VALID [2020-07-11 01:05:43,925 INFO L280 TraceCheckUtils]: 7: Hoare triple {4815#true} havoc #t~nondet29; {4815#true} is VALID [2020-07-11 01:05:43,925 INFO L280 TraceCheckUtils]: 8: Hoare triple {4815#true} #res.base, #res.offset := ~guard_malloc_counter~0.base, ~guard_malloc_counter~0.offset; {4815#true} is VALID [2020-07-11 01:05:43,925 INFO L280 TraceCheckUtils]: 9: Hoare triple {4815#true} assume true; {4815#true} is VALID [2020-07-11 01:05:43,925 INFO L275 TraceCheckUtils]: 10: Hoare quadruple {4815#true} {4815#true} #92#return; {4815#true} is VALID [2020-07-11 01:05:43,926 INFO L280 TraceCheckUtils]: 0: Hoare triple {4884#(and (= ~guard_malloc_counter~0.offset |old(~guard_malloc_counter~0.offset)|) (= ~guard_malloc_counter~0.base |old(~guard_malloc_counter~0.base)|))} ~size := #in~size; {4815#true} is VALID [2020-07-11 01:05:43,926 INFO L263 TraceCheckUtils]: 1: Hoare triple {4815#true} call #t~ret30.base, #t~ret30.offset := __getMemory(~size); {4884#(and (= ~guard_malloc_counter~0.offset |old(~guard_malloc_counter~0.offset)|) (= ~guard_malloc_counter~0.base |old(~guard_malloc_counter~0.base)|))} is VALID [2020-07-11 01:05:43,926 INFO L280 TraceCheckUtils]: 2: Hoare triple {4884#(and (= ~guard_malloc_counter~0.offset |old(~guard_malloc_counter~0.offset)|) (= ~guard_malloc_counter~0.base |old(~guard_malloc_counter~0.base)|))} ~size := #in~size; {4815#true} is VALID [2020-07-11 01:05:43,927 INFO L280 TraceCheckUtils]: 3: Hoare triple {4815#true} assume ~size > 0; {4815#true} is VALID [2020-07-11 01:05:43,927 INFO L280 TraceCheckUtils]: 4: Hoare triple {4815#true} #t~post28.base, #t~post28.offset := ~guard_malloc_counter~0.base, ~guard_malloc_counter~0.offset; {4815#true} is VALID [2020-07-11 01:05:43,927 INFO L280 TraceCheckUtils]: 5: Hoare triple {4815#true} ~guard_malloc_counter~0.base, ~guard_malloc_counter~0.offset := #t~post28.base, 1 + #t~post28.offset; {4815#true} is VALID [2020-07-11 01:05:43,927 INFO L280 TraceCheckUtils]: 6: Hoare triple {4815#true} havoc #t~post28.base, #t~post28.offset; {4815#true} is VALID [2020-07-11 01:05:43,927 INFO L280 TraceCheckUtils]: 7: Hoare triple {4815#true} assume -2147483648 <= #t~nondet29 && #t~nondet29 <= 2147483647; {4815#true} is VALID [2020-07-11 01:05:43,928 INFO L280 TraceCheckUtils]: 8: Hoare triple {4815#true} assume !(0 == #t~nondet29); {4815#true} is VALID [2020-07-11 01:05:43,928 INFO L280 TraceCheckUtils]: 9: Hoare triple {4815#true} havoc #t~nondet29; {4815#true} is VALID [2020-07-11 01:05:43,928 INFO L280 TraceCheckUtils]: 10: Hoare triple {4815#true} #res.base, #res.offset := ~guard_malloc_counter~0.base, ~guard_malloc_counter~0.offset; {4815#true} is VALID [2020-07-11 01:05:43,928 INFO L280 TraceCheckUtils]: 11: Hoare triple {4815#true} assume true; {4815#true} is VALID [2020-07-11 01:05:43,928 INFO L275 TraceCheckUtils]: 12: Hoare quadruple {4815#true} {4815#true} #92#return; {4815#true} is VALID [2020-07-11 01:05:43,928 INFO L280 TraceCheckUtils]: 13: Hoare triple {4815#true} #res.base, #res.offset := #t~ret30.base, #t~ret30.offset; {4815#true} is VALID [2020-07-11 01:05:43,929 INFO L280 TraceCheckUtils]: 14: Hoare triple {4815#true} havoc #t~ret30.base, #t~ret30.offset; {4815#true} is VALID [2020-07-11 01:05:43,929 INFO L280 TraceCheckUtils]: 15: Hoare triple {4815#true} assume true; {4815#true} is VALID [2020-07-11 01:05:43,929 INFO L275 TraceCheckUtils]: 16: Hoare quadruple {4815#true} {4815#true} #96#return; {4815#true} is VALID [2020-07-11 01:05:43,947 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2020-07-11 01:05:43,996 INFO L280 TraceCheckUtils]: 0: Hoare triple {4907#(and (= ~elem~0.base |old(~elem~0.base)|) (= ~elem~0.offset |old(~elem~0.offset)|))} ~new.base, ~new.offset := #in~new.base, #in~new.offset; {4908#(and (= list_add_~new.base |list_add_#in~new.base|) (= |list_add_#in~new.offset| list_add_~new.offset))} is VALID [2020-07-11 01:05:43,997 INFO L280 TraceCheckUtils]: 1: Hoare triple {4908#(and (= list_add_~new.base |list_add_#in~new.base|) (= |list_add_#in~new.offset| list_add_~new.offset))} ~head.base, ~head.offset := #in~head.base, #in~head.offset; {4908#(and (= list_add_~new.base |list_add_#in~new.base|) (= |list_add_#in~new.offset| list_add_~new.offset))} is VALID [2020-07-11 01:05:43,998 INFO L280 TraceCheckUtils]: 2: Hoare triple {4908#(and (= list_add_~new.base |list_add_#in~new.base|) (= |list_add_#in~new.offset| list_add_~new.offset))} assume ~new.base != ~elem~0.base || ~new.offset != ~elem~0.offset; {4908#(and (= list_add_~new.base |list_add_#in~new.base|) (= |list_add_#in~new.offset| list_add_~new.offset))} is VALID [2020-07-11 01:05:43,999 INFO L280 TraceCheckUtils]: 3: Hoare triple {4908#(and (= list_add_~new.base |list_add_#in~new.base|) (= |list_add_#in~new.offset| list_add_~new.offset))} assume -2147483648 <= #t~nondet31 && #t~nondet31 <= 2147483647; {4908#(and (= list_add_~new.base |list_add_#in~new.base|) (= |list_add_#in~new.offset| list_add_~new.offset))} is VALID [2020-07-11 01:05:43,999 INFO L280 TraceCheckUtils]: 4: Hoare triple {4908#(and (= list_add_~new.base |list_add_#in~new.base|) (= |list_add_#in~new.offset| list_add_~new.offset))} assume 0 != #t~nondet31; {4908#(and (= list_add_~new.base |list_add_#in~new.base|) (= |list_add_#in~new.offset| list_add_~new.offset))} is VALID [2020-07-11 01:05:44,000 INFO L280 TraceCheckUtils]: 5: Hoare triple {4908#(and (= list_add_~new.base |list_add_#in~new.base|) (= |list_add_#in~new.offset| list_add_~new.offset))} havoc #t~nondet31; {4908#(and (= list_add_~new.base |list_add_#in~new.base|) (= |list_add_#in~new.offset| list_add_~new.offset))} is VALID [2020-07-11 01:05:44,000 INFO L280 TraceCheckUtils]: 6: Hoare triple {4908#(and (= list_add_~new.base |list_add_#in~new.base|) (= |list_add_#in~new.offset| list_add_~new.offset))} ~elem~0.base, ~elem~0.offset := ~new.base, ~new.offset; {4909#(and (= ~elem~0.base |list_add_#in~new.base|) (= ~elem~0.offset |list_add_#in~new.offset|))} is VALID [2020-07-11 01:05:44,001 INFO L280 TraceCheckUtils]: 7: Hoare triple {4909#(and (= ~elem~0.base |list_add_#in~new.base|) (= ~elem~0.offset |list_add_#in~new.offset|))} assume true; {4909#(and (= ~elem~0.base |list_add_#in~new.base|) (= ~elem~0.offset |list_add_#in~new.offset|))} is VALID [2020-07-11 01:05:44,002 INFO L275 TraceCheckUtils]: 8: Hoare quadruple {4909#(and (= ~elem~0.base |list_add_#in~new.base|) (= ~elem~0.offset |list_add_#in~new.offset|))} {4815#true} #98#return; {4870#(and (= main_~dev2~0.base ~elem~0.base) (= main_~dev2~0.offset ~elem~0.offset))} is VALID [2020-07-11 01:05:44,004 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2020-07-11 01:05:44,022 INFO L280 TraceCheckUtils]: 0: Hoare triple {4907#(and (= ~elem~0.base |old(~elem~0.base)|) (= ~elem~0.offset |old(~elem~0.offset)|))} ~new.base, ~new.offset := #in~new.base, #in~new.offset; {4907#(and (= ~elem~0.base |old(~elem~0.base)|) (= ~elem~0.offset |old(~elem~0.offset)|))} is VALID [2020-07-11 01:05:44,023 INFO L280 TraceCheckUtils]: 1: Hoare triple {4907#(and (= ~elem~0.base |old(~elem~0.base)|) (= ~elem~0.offset |old(~elem~0.offset)|))} ~head.base, ~head.offset := #in~head.base, #in~head.offset; {4907#(and (= ~elem~0.base |old(~elem~0.base)|) (= ~elem~0.offset |old(~elem~0.offset)|))} is VALID [2020-07-11 01:05:44,024 INFO L280 TraceCheckUtils]: 2: Hoare triple {4907#(and (= ~elem~0.base |old(~elem~0.base)|) (= ~elem~0.offset |old(~elem~0.offset)|))} assume ~new.base != ~elem~0.base || ~new.offset != ~elem~0.offset; {4907#(and (= ~elem~0.base |old(~elem~0.base)|) (= ~elem~0.offset |old(~elem~0.offset)|))} is VALID [2020-07-11 01:05:44,024 INFO L280 TraceCheckUtils]: 3: Hoare triple {4907#(and (= ~elem~0.base |old(~elem~0.base)|) (= ~elem~0.offset |old(~elem~0.offset)|))} assume -2147483648 <= #t~nondet31 && #t~nondet31 <= 2147483647; {4907#(and (= ~elem~0.base |old(~elem~0.base)|) (= ~elem~0.offset |old(~elem~0.offset)|))} is VALID [2020-07-11 01:05:44,025 INFO L280 TraceCheckUtils]: 4: Hoare triple {4907#(and (= ~elem~0.base |old(~elem~0.base)|) (= ~elem~0.offset |old(~elem~0.offset)|))} assume !(0 != #t~nondet31); {4907#(and (= ~elem~0.base |old(~elem~0.base)|) (= ~elem~0.offset |old(~elem~0.offset)|))} is VALID [2020-07-11 01:05:44,026 INFO L280 TraceCheckUtils]: 5: Hoare triple {4907#(and (= ~elem~0.base |old(~elem~0.base)|) (= ~elem~0.offset |old(~elem~0.offset)|))} havoc #t~nondet31; {4907#(and (= ~elem~0.base |old(~elem~0.base)|) (= ~elem~0.offset |old(~elem~0.offset)|))} is VALID [2020-07-11 01:05:44,026 INFO L280 TraceCheckUtils]: 6: Hoare triple {4907#(and (= ~elem~0.base |old(~elem~0.base)|) (= ~elem~0.offset |old(~elem~0.offset)|))} assume true; {4907#(and (= ~elem~0.base |old(~elem~0.base)|) (= ~elem~0.offset |old(~elem~0.offset)|))} is VALID [2020-07-11 01:05:44,027 INFO L275 TraceCheckUtils]: 7: Hoare quadruple {4907#(and (= ~elem~0.base |old(~elem~0.base)|) (= ~elem~0.offset |old(~elem~0.offset)|))} {4870#(and (= main_~dev2~0.base ~elem~0.base) (= main_~dev2~0.offset ~elem~0.offset))} #100#return; {4870#(and (= main_~dev2~0.base ~elem~0.base) (= main_~dev2~0.offset ~elem~0.offset))} is VALID [2020-07-11 01:05:44,029 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2020-07-11 01:05:44,090 INFO L280 TraceCheckUtils]: 0: Hoare triple {4907#(and (= ~elem~0.base |old(~elem~0.base)|) (= ~elem~0.offset |old(~elem~0.offset)|))} ~entry.base, ~entry.offset := #in~entry.base, #in~entry.offset; {4910#(and (= list_del_~entry.base |list_del_#in~entry.base|) (= |old(~elem~0.offset)| ~elem~0.offset) (= |list_del_#in~entry.offset| list_del_~entry.offset) (= |old(~elem~0.base)| ~elem~0.base))} is VALID [2020-07-11 01:05:44,091 INFO L280 TraceCheckUtils]: 1: Hoare triple {4910#(and (= list_del_~entry.base |list_del_#in~entry.base|) (= |old(~elem~0.offset)| ~elem~0.offset) (= |list_del_#in~entry.offset| list_del_~entry.offset) (= |old(~elem~0.base)| ~elem~0.base))} assume !(~entry.base == ~elem~0.base && ~entry.offset == ~elem~0.offset); {4911#(or (not (= |old(~elem~0.base)| |list_del_#in~entry.base|)) (not (= |old(~elem~0.offset)| |list_del_#in~entry.offset|)))} is VALID [2020-07-11 01:05:44,091 INFO L280 TraceCheckUtils]: 2: Hoare triple {4911#(or (not (= |old(~elem~0.base)| |list_del_#in~entry.base|)) (not (= |old(~elem~0.offset)| |list_del_#in~entry.offset|)))} assume true; {4911#(or (not (= |old(~elem~0.base)| |list_del_#in~entry.base|)) (not (= |old(~elem~0.offset)| |list_del_#in~entry.offset|)))} is VALID [2020-07-11 01:05:44,107 INFO L275 TraceCheckUtils]: 3: Hoare quadruple {4911#(or (not (= |old(~elem~0.base)| |list_del_#in~entry.base|)) (not (= |old(~elem~0.offset)| |list_del_#in~entry.offset|)))} {4870#(and (= main_~dev2~0.base ~elem~0.base) (= main_~dev2~0.offset ~elem~0.offset))} #102#return; {4816#false} is VALID [2020-07-11 01:05:44,109 INFO L263 TraceCheckUtils]: 0: Hoare triple {4815#true} call ULTIMATE.init(); {4883#(and (= |#valid| |old(#valid)|) (= ~elem~0.base |old(~elem~0.base)|) (= |#NULL.base| |old(#NULL.base)|) (= |~#head~0.base| |old(~#head~0.base)|) (= ~guard_malloc_counter~0.offset |old(~guard_malloc_counter~0.offset)|) (= |#NULL.offset| |old(#NULL.offset)|) (= ~elem~0.offset |old(~elem~0.offset)|) (= |old(#length)| |#length|) (= |~#head~0.offset| |old(~#head~0.offset)|) (= ~guard_malloc_counter~0.base |old(~guard_malloc_counter~0.base)|))} is VALID [2020-07-11 01:05:44,110 INFO L280 TraceCheckUtils]: 1: Hoare triple {4883#(and (= |#valid| |old(#valid)|) (= ~elem~0.base |old(~elem~0.base)|) (= |#NULL.base| |old(#NULL.base)|) (= |~#head~0.base| |old(~#head~0.base)|) (= ~guard_malloc_counter~0.offset |old(~guard_malloc_counter~0.offset)|) (= |#NULL.offset| |old(#NULL.offset)|) (= ~elem~0.offset |old(~elem~0.offset)|) (= |old(#length)| |#length|) (= |~#head~0.offset| |old(~#head~0.offset)|) (= ~guard_malloc_counter~0.base |old(~guard_malloc_counter~0.base)|))} #NULL.base, #NULL.offset := 0, 0; {4815#true} is VALID [2020-07-11 01:05:44,110 INFO L280 TraceCheckUtils]: 2: Hoare triple {4815#true} #valid := #valid[0 := 0]; {4815#true} is VALID [2020-07-11 01:05:44,110 INFO L280 TraceCheckUtils]: 3: Hoare triple {4815#true} assume 0 < #StackHeapBarrier; {4815#true} is VALID [2020-07-11 01:05:44,110 INFO L280 TraceCheckUtils]: 4: Hoare triple {4815#true} ~guard_malloc_counter~0.base, ~guard_malloc_counter~0.offset := 0, 0; {4815#true} is VALID [2020-07-11 01:05:44,110 INFO L280 TraceCheckUtils]: 5: Hoare triple {4815#true} ~elem~0.base, ~elem~0.offset := 0, 0; {4815#true} is VALID [2020-07-11 01:05:44,110 INFO L280 TraceCheckUtils]: 6: Hoare triple {4815#true} SUMMARY for call ~#head~0.base, ~#head~0.offset := #Ultimate.allocOnStack(8); srcloc: L900 {4815#true} is VALID [2020-07-11 01:05:44,111 INFO L280 TraceCheckUtils]: 7: Hoare triple {4815#true} SUMMARY for call write~init~$Pointer$(0, 0, ~#head~0.base, ~#head~0.offset, 4); srcloc: L900-1 {4815#true} is VALID [2020-07-11 01:05:44,111 INFO L280 TraceCheckUtils]: 8: Hoare triple {4815#true} SUMMARY for call write~init~$Pointer$(0, 0, ~#head~0.base, 4 + ~#head~0.offset, 4); srcloc: L900-2 {4815#true} is VALID [2020-07-11 01:05:44,111 INFO L280 TraceCheckUtils]: 9: Hoare triple {4815#true} assume true; {4815#true} is VALID [2020-07-11 01:05:44,111 INFO L275 TraceCheckUtils]: 10: Hoare quadruple {4815#true} {4815#true} #112#return; {4815#true} is VALID [2020-07-11 01:05:44,111 INFO L263 TraceCheckUtils]: 11: Hoare triple {4815#true} call #t~ret34 := main(); {4815#true} is VALID [2020-07-11 01:05:44,111 INFO L280 TraceCheckUtils]: 12: Hoare triple {4815#true} havoc ~dev1~0.base, ~dev1~0.offset; {4815#true} is VALID [2020-07-11 01:05:44,111 INFO L280 TraceCheckUtils]: 13: Hoare triple {4815#true} havoc ~dev2~0.base, ~dev2~0.offset; {4815#true} is VALID [2020-07-11 01:05:44,112 INFO L263 TraceCheckUtils]: 14: Hoare triple {4815#true} call #t~ret32.base, #t~ret32.offset := my_malloc(8); {4884#(and (= ~guard_malloc_counter~0.offset |old(~guard_malloc_counter~0.offset)|) (= ~guard_malloc_counter~0.base |old(~guard_malloc_counter~0.base)|))} is VALID [2020-07-11 01:05:44,112 INFO L280 TraceCheckUtils]: 15: Hoare triple {4884#(and (= ~guard_malloc_counter~0.offset |old(~guard_malloc_counter~0.offset)|) (= ~guard_malloc_counter~0.base |old(~guard_malloc_counter~0.base)|))} ~size := #in~size; {4815#true} is VALID [2020-07-11 01:05:44,113 INFO L263 TraceCheckUtils]: 16: Hoare triple {4815#true} call #t~ret30.base, #t~ret30.offset := __getMemory(~size); {4884#(and (= ~guard_malloc_counter~0.offset |old(~guard_malloc_counter~0.offset)|) (= ~guard_malloc_counter~0.base |old(~guard_malloc_counter~0.base)|))} is VALID [2020-07-11 01:05:44,113 INFO L280 TraceCheckUtils]: 17: Hoare triple {4884#(and (= ~guard_malloc_counter~0.offset |old(~guard_malloc_counter~0.offset)|) (= ~guard_malloc_counter~0.base |old(~guard_malloc_counter~0.base)|))} ~size := #in~size; {4815#true} is VALID [2020-07-11 01:05:44,113 INFO L280 TraceCheckUtils]: 18: Hoare triple {4815#true} assume ~size > 0; {4815#true} is VALID [2020-07-11 01:05:44,113 INFO L280 TraceCheckUtils]: 19: Hoare triple {4815#true} #t~post28.base, #t~post28.offset := ~guard_malloc_counter~0.base, ~guard_malloc_counter~0.offset; {4815#true} is VALID [2020-07-11 01:05:44,113 INFO L280 TraceCheckUtils]: 20: Hoare triple {4815#true} ~guard_malloc_counter~0.base, ~guard_malloc_counter~0.offset := #t~post28.base, 1 + #t~post28.offset; {4815#true} is VALID [2020-07-11 01:05:44,114 INFO L280 TraceCheckUtils]: 21: Hoare triple {4815#true} havoc #t~post28.base, #t~post28.offset; {4815#true} is VALID [2020-07-11 01:05:44,114 INFO L280 TraceCheckUtils]: 22: Hoare triple {4815#true} assume -2147483648 <= #t~nondet29 && #t~nondet29 <= 2147483647; {4815#true} is VALID [2020-07-11 01:05:44,114 INFO L280 TraceCheckUtils]: 23: Hoare triple {4815#true} assume !(0 == #t~nondet29); {4815#true} is VALID [2020-07-11 01:05:44,114 INFO L280 TraceCheckUtils]: 24: Hoare triple {4815#true} havoc #t~nondet29; {4815#true} is VALID [2020-07-11 01:05:44,114 INFO L280 TraceCheckUtils]: 25: Hoare triple {4815#true} #res.base, #res.offset := ~guard_malloc_counter~0.base, ~guard_malloc_counter~0.offset; {4815#true} is VALID [2020-07-11 01:05:44,114 INFO L280 TraceCheckUtils]: 26: Hoare triple {4815#true} assume true; {4815#true} is VALID [2020-07-11 01:05:44,114 INFO L275 TraceCheckUtils]: 27: Hoare quadruple {4815#true} {4815#true} #92#return; {4815#true} is VALID [2020-07-11 01:05:44,115 INFO L280 TraceCheckUtils]: 28: Hoare triple {4815#true} #res.base, #res.offset := #t~ret30.base, #t~ret30.offset; {4815#true} is VALID [2020-07-11 01:05:44,115 INFO L280 TraceCheckUtils]: 29: Hoare triple {4815#true} havoc #t~ret30.base, #t~ret30.offset; {4815#true} is VALID [2020-07-11 01:05:44,115 INFO L280 TraceCheckUtils]: 30: Hoare triple {4815#true} assume true; {4815#true} is VALID [2020-07-11 01:05:44,115 INFO L275 TraceCheckUtils]: 31: Hoare quadruple {4815#true} {4815#true} #94#return; {4815#true} is VALID [2020-07-11 01:05:44,115 INFO L280 TraceCheckUtils]: 32: Hoare triple {4815#true} ~dev1~0.base, ~dev1~0.offset := #t~ret32.base, #t~ret32.offset; {4815#true} is VALID [2020-07-11 01:05:44,115 INFO L280 TraceCheckUtils]: 33: Hoare triple {4815#true} havoc #t~ret32.base, #t~ret32.offset; {4815#true} is VALID [2020-07-11 01:05:44,117 INFO L263 TraceCheckUtils]: 34: Hoare triple {4815#true} call #t~ret33.base, #t~ret33.offset := my_malloc(8); {4884#(and (= ~guard_malloc_counter~0.offset |old(~guard_malloc_counter~0.offset)|) (= ~guard_malloc_counter~0.base |old(~guard_malloc_counter~0.base)|))} is VALID [2020-07-11 01:05:44,117 INFO L280 TraceCheckUtils]: 35: Hoare triple {4884#(and (= ~guard_malloc_counter~0.offset |old(~guard_malloc_counter~0.offset)|) (= ~guard_malloc_counter~0.base |old(~guard_malloc_counter~0.base)|))} ~size := #in~size; {4815#true} is VALID [2020-07-11 01:05:44,118 INFO L263 TraceCheckUtils]: 36: Hoare triple {4815#true} call #t~ret30.base, #t~ret30.offset := __getMemory(~size); {4884#(and (= ~guard_malloc_counter~0.offset |old(~guard_malloc_counter~0.offset)|) (= ~guard_malloc_counter~0.base |old(~guard_malloc_counter~0.base)|))} is VALID [2020-07-11 01:05:44,118 INFO L280 TraceCheckUtils]: 37: Hoare triple {4884#(and (= ~guard_malloc_counter~0.offset |old(~guard_malloc_counter~0.offset)|) (= ~guard_malloc_counter~0.base |old(~guard_malloc_counter~0.base)|))} ~size := #in~size; {4815#true} is VALID [2020-07-11 01:05:44,118 INFO L280 TraceCheckUtils]: 38: Hoare triple {4815#true} assume ~size > 0; {4815#true} is VALID [2020-07-11 01:05:44,119 INFO L280 TraceCheckUtils]: 39: Hoare triple {4815#true} #t~post28.base, #t~post28.offset := ~guard_malloc_counter~0.base, ~guard_malloc_counter~0.offset; {4815#true} is VALID [2020-07-11 01:05:44,119 INFO L280 TraceCheckUtils]: 40: Hoare triple {4815#true} ~guard_malloc_counter~0.base, ~guard_malloc_counter~0.offset := #t~post28.base, 1 + #t~post28.offset; {4815#true} is VALID [2020-07-11 01:05:44,119 INFO L280 TraceCheckUtils]: 41: Hoare triple {4815#true} havoc #t~post28.base, #t~post28.offset; {4815#true} is VALID [2020-07-11 01:05:44,119 INFO L280 TraceCheckUtils]: 42: Hoare triple {4815#true} assume -2147483648 <= #t~nondet29 && #t~nondet29 <= 2147483647; {4815#true} is VALID [2020-07-11 01:05:44,119 INFO L280 TraceCheckUtils]: 43: Hoare triple {4815#true} assume !(0 == #t~nondet29); {4815#true} is VALID [2020-07-11 01:05:44,119 INFO L280 TraceCheckUtils]: 44: Hoare triple {4815#true} havoc #t~nondet29; {4815#true} is VALID [2020-07-11 01:05:44,120 INFO L280 TraceCheckUtils]: 45: Hoare triple {4815#true} #res.base, #res.offset := ~guard_malloc_counter~0.base, ~guard_malloc_counter~0.offset; {4815#true} is VALID [2020-07-11 01:05:44,120 INFO L280 TraceCheckUtils]: 46: Hoare triple {4815#true} assume true; {4815#true} is VALID [2020-07-11 01:05:44,120 INFO L275 TraceCheckUtils]: 47: Hoare quadruple {4815#true} {4815#true} #92#return; {4815#true} is VALID [2020-07-11 01:05:44,120 INFO L280 TraceCheckUtils]: 48: Hoare triple {4815#true} #res.base, #res.offset := #t~ret30.base, #t~ret30.offset; {4815#true} is VALID [2020-07-11 01:05:44,120 INFO L280 TraceCheckUtils]: 49: Hoare triple {4815#true} havoc #t~ret30.base, #t~ret30.offset; {4815#true} is VALID [2020-07-11 01:05:44,121 INFO L280 TraceCheckUtils]: 50: Hoare triple {4815#true} assume true; {4815#true} is VALID [2020-07-11 01:05:44,121 INFO L275 TraceCheckUtils]: 51: Hoare quadruple {4815#true} {4815#true} #96#return; {4815#true} is VALID [2020-07-11 01:05:44,121 INFO L280 TraceCheckUtils]: 52: Hoare triple {4815#true} ~dev2~0.base, ~dev2~0.offset := #t~ret33.base, #t~ret33.offset; {4815#true} is VALID [2020-07-11 01:05:44,121 INFO L280 TraceCheckUtils]: 53: Hoare triple {4815#true} havoc #t~ret33.base, #t~ret33.offset; {4815#true} is VALID [2020-07-11 01:05:44,121 INFO L280 TraceCheckUtils]: 54: Hoare triple {4815#true} assume (~dev1~0.base != 0 || ~dev1~0.offset != 0) && (~dev2~0.base != 0 || ~dev2~0.offset != 0); {4815#true} is VALID [2020-07-11 01:05:44,123 INFO L263 TraceCheckUtils]: 55: Hoare triple {4815#true} call list_add(~dev2~0.base, ~dev2~0.offset, ~#head~0.base, ~#head~0.offset); {4907#(and (= ~elem~0.base |old(~elem~0.base)|) (= ~elem~0.offset |old(~elem~0.offset)|))} is VALID [2020-07-11 01:05:44,123 INFO L280 TraceCheckUtils]: 56: Hoare triple {4907#(and (= ~elem~0.base |old(~elem~0.base)|) (= ~elem~0.offset |old(~elem~0.offset)|))} ~new.base, ~new.offset := #in~new.base, #in~new.offset; {4908#(and (= list_add_~new.base |list_add_#in~new.base|) (= |list_add_#in~new.offset| list_add_~new.offset))} is VALID [2020-07-11 01:05:44,124 INFO L280 TraceCheckUtils]: 57: Hoare triple {4908#(and (= list_add_~new.base |list_add_#in~new.base|) (= |list_add_#in~new.offset| list_add_~new.offset))} ~head.base, ~head.offset := #in~head.base, #in~head.offset; {4908#(and (= list_add_~new.base |list_add_#in~new.base|) (= |list_add_#in~new.offset| list_add_~new.offset))} is VALID [2020-07-11 01:05:44,125 INFO L280 TraceCheckUtils]: 58: Hoare triple {4908#(and (= list_add_~new.base |list_add_#in~new.base|) (= |list_add_#in~new.offset| list_add_~new.offset))} assume ~new.base != ~elem~0.base || ~new.offset != ~elem~0.offset; {4908#(and (= list_add_~new.base |list_add_#in~new.base|) (= |list_add_#in~new.offset| list_add_~new.offset))} is VALID [2020-07-11 01:05:44,126 INFO L280 TraceCheckUtils]: 59: Hoare triple {4908#(and (= list_add_~new.base |list_add_#in~new.base|) (= |list_add_#in~new.offset| list_add_~new.offset))} assume -2147483648 <= #t~nondet31 && #t~nondet31 <= 2147483647; {4908#(and (= list_add_~new.base |list_add_#in~new.base|) (= |list_add_#in~new.offset| list_add_~new.offset))} is VALID [2020-07-11 01:05:44,127 INFO L280 TraceCheckUtils]: 60: Hoare triple {4908#(and (= list_add_~new.base |list_add_#in~new.base|) (= |list_add_#in~new.offset| list_add_~new.offset))} assume 0 != #t~nondet31; {4908#(and (= list_add_~new.base |list_add_#in~new.base|) (= |list_add_#in~new.offset| list_add_~new.offset))} is VALID [2020-07-11 01:05:44,127 INFO L280 TraceCheckUtils]: 61: Hoare triple {4908#(and (= list_add_~new.base |list_add_#in~new.base|) (= |list_add_#in~new.offset| list_add_~new.offset))} havoc #t~nondet31; {4908#(and (= list_add_~new.base |list_add_#in~new.base|) (= |list_add_#in~new.offset| list_add_~new.offset))} is VALID [2020-07-11 01:05:44,128 INFO L280 TraceCheckUtils]: 62: Hoare triple {4908#(and (= list_add_~new.base |list_add_#in~new.base|) (= |list_add_#in~new.offset| list_add_~new.offset))} ~elem~0.base, ~elem~0.offset := ~new.base, ~new.offset; {4909#(and (= ~elem~0.base |list_add_#in~new.base|) (= ~elem~0.offset |list_add_#in~new.offset|))} is VALID [2020-07-11 01:05:44,128 INFO L280 TraceCheckUtils]: 63: Hoare triple {4909#(and (= ~elem~0.base |list_add_#in~new.base|) (= ~elem~0.offset |list_add_#in~new.offset|))} assume true; {4909#(and (= ~elem~0.base |list_add_#in~new.base|) (= ~elem~0.offset |list_add_#in~new.offset|))} is VALID [2020-07-11 01:05:44,129 INFO L275 TraceCheckUtils]: 64: Hoare quadruple {4909#(and (= ~elem~0.base |list_add_#in~new.base|) (= ~elem~0.offset |list_add_#in~new.offset|))} {4815#true} #98#return; {4870#(and (= main_~dev2~0.base ~elem~0.base) (= main_~dev2~0.offset ~elem~0.offset))} is VALID [2020-07-11 01:05:44,131 INFO L263 TraceCheckUtils]: 65: Hoare triple {4870#(and (= main_~dev2~0.base ~elem~0.base) (= main_~dev2~0.offset ~elem~0.offset))} call list_add(~dev1~0.base, ~dev1~0.offset, ~#head~0.base, ~#head~0.offset); {4907#(and (= ~elem~0.base |old(~elem~0.base)|) (= ~elem~0.offset |old(~elem~0.offset)|))} is VALID [2020-07-11 01:05:44,131 INFO L280 TraceCheckUtils]: 66: Hoare triple {4907#(and (= ~elem~0.base |old(~elem~0.base)|) (= ~elem~0.offset |old(~elem~0.offset)|))} ~new.base, ~new.offset := #in~new.base, #in~new.offset; {4907#(and (= ~elem~0.base |old(~elem~0.base)|) (= ~elem~0.offset |old(~elem~0.offset)|))} is VALID [2020-07-11 01:05:44,132 INFO L280 TraceCheckUtils]: 67: Hoare triple {4907#(and (= ~elem~0.base |old(~elem~0.base)|) (= ~elem~0.offset |old(~elem~0.offset)|))} ~head.base, ~head.offset := #in~head.base, #in~head.offset; {4907#(and (= ~elem~0.base |old(~elem~0.base)|) (= ~elem~0.offset |old(~elem~0.offset)|))} is VALID [2020-07-11 01:05:44,133 INFO L280 TraceCheckUtils]: 68: Hoare triple {4907#(and (= ~elem~0.base |old(~elem~0.base)|) (= ~elem~0.offset |old(~elem~0.offset)|))} assume ~new.base != ~elem~0.base || ~new.offset != ~elem~0.offset; {4907#(and (= ~elem~0.base |old(~elem~0.base)|) (= ~elem~0.offset |old(~elem~0.offset)|))} is VALID [2020-07-11 01:05:44,133 INFO L280 TraceCheckUtils]: 69: Hoare triple {4907#(and (= ~elem~0.base |old(~elem~0.base)|) (= ~elem~0.offset |old(~elem~0.offset)|))} assume -2147483648 <= #t~nondet31 && #t~nondet31 <= 2147483647; {4907#(and (= ~elem~0.base |old(~elem~0.base)|) (= ~elem~0.offset |old(~elem~0.offset)|))} is VALID [2020-07-11 01:05:44,134 INFO L280 TraceCheckUtils]: 70: Hoare triple {4907#(and (= ~elem~0.base |old(~elem~0.base)|) (= ~elem~0.offset |old(~elem~0.offset)|))} assume !(0 != #t~nondet31); {4907#(and (= ~elem~0.base |old(~elem~0.base)|) (= ~elem~0.offset |old(~elem~0.offset)|))} is VALID [2020-07-11 01:05:44,135 INFO L280 TraceCheckUtils]: 71: Hoare triple {4907#(and (= ~elem~0.base |old(~elem~0.base)|) (= ~elem~0.offset |old(~elem~0.offset)|))} havoc #t~nondet31; {4907#(and (= ~elem~0.base |old(~elem~0.base)|) (= ~elem~0.offset |old(~elem~0.offset)|))} is VALID [2020-07-11 01:05:44,135 INFO L280 TraceCheckUtils]: 72: Hoare triple {4907#(and (= ~elem~0.base |old(~elem~0.base)|) (= ~elem~0.offset |old(~elem~0.offset)|))} assume true; {4907#(and (= ~elem~0.base |old(~elem~0.base)|) (= ~elem~0.offset |old(~elem~0.offset)|))} is VALID [2020-07-11 01:05:44,137 INFO L275 TraceCheckUtils]: 73: Hoare quadruple {4907#(and (= ~elem~0.base |old(~elem~0.base)|) (= ~elem~0.offset |old(~elem~0.offset)|))} {4870#(and (= main_~dev2~0.base ~elem~0.base) (= main_~dev2~0.offset ~elem~0.offset))} #100#return; {4870#(and (= main_~dev2~0.base ~elem~0.base) (= main_~dev2~0.offset ~elem~0.offset))} is VALID [2020-07-11 01:05:44,138 INFO L263 TraceCheckUtils]: 74: Hoare triple {4870#(and (= main_~dev2~0.base ~elem~0.base) (= main_~dev2~0.offset ~elem~0.offset))} call list_del(~dev2~0.base, ~dev2~0.offset); {4907#(and (= ~elem~0.base |old(~elem~0.base)|) (= ~elem~0.offset |old(~elem~0.offset)|))} is VALID [2020-07-11 01:05:44,138 INFO L280 TraceCheckUtils]: 75: Hoare triple {4907#(and (= ~elem~0.base |old(~elem~0.base)|) (= ~elem~0.offset |old(~elem~0.offset)|))} ~entry.base, ~entry.offset := #in~entry.base, #in~entry.offset; {4910#(and (= list_del_~entry.base |list_del_#in~entry.base|) (= |old(~elem~0.offset)| ~elem~0.offset) (= |list_del_#in~entry.offset| list_del_~entry.offset) (= |old(~elem~0.base)| ~elem~0.base))} is VALID [2020-07-11 01:05:44,139 INFO L280 TraceCheckUtils]: 76: Hoare triple {4910#(and (= list_del_~entry.base |list_del_#in~entry.base|) (= |old(~elem~0.offset)| ~elem~0.offset) (= |list_del_#in~entry.offset| list_del_~entry.offset) (= |old(~elem~0.base)| ~elem~0.base))} assume !(~entry.base == ~elem~0.base && ~entry.offset == ~elem~0.offset); {4911#(or (not (= |old(~elem~0.base)| |list_del_#in~entry.base|)) (not (= |old(~elem~0.offset)| |list_del_#in~entry.offset|)))} is VALID [2020-07-11 01:05:44,139 INFO L280 TraceCheckUtils]: 77: Hoare triple {4911#(or (not (= |old(~elem~0.base)| |list_del_#in~entry.base|)) (not (= |old(~elem~0.offset)| |list_del_#in~entry.offset|)))} assume true; {4911#(or (not (= |old(~elem~0.base)| |list_del_#in~entry.base|)) (not (= |old(~elem~0.offset)| |list_del_#in~entry.offset|)))} is VALID [2020-07-11 01:05:44,140 INFO L275 TraceCheckUtils]: 78: Hoare quadruple {4911#(or (not (= |old(~elem~0.base)| |list_del_#in~entry.base|)) (not (= |old(~elem~0.offset)| |list_del_#in~entry.offset|)))} {4870#(and (= main_~dev2~0.base ~elem~0.base) (= main_~dev2~0.offset ~elem~0.offset))} #102#return; {4816#false} is VALID [2020-07-11 01:05:44,141 INFO L263 TraceCheckUtils]: 79: Hoare triple {4816#false} call list_add(~dev2~0.base, ~dev2~0.offset, ~#head~0.base, ~#head~0.offset); {4816#false} is VALID [2020-07-11 01:05:44,141 INFO L280 TraceCheckUtils]: 80: Hoare triple {4816#false} ~new.base, ~new.offset := #in~new.base, #in~new.offset; {4816#false} is VALID [2020-07-11 01:05:44,141 INFO L280 TraceCheckUtils]: 81: Hoare triple {4816#false} ~head.base, ~head.offset := #in~head.base, #in~head.offset; {4816#false} is VALID [2020-07-11 01:05:44,141 INFO L280 TraceCheckUtils]: 82: Hoare triple {4816#false} assume !(~new.base != ~elem~0.base || ~new.offset != ~elem~0.offset); {4816#false} is VALID [2020-07-11 01:05:44,142 INFO L263 TraceCheckUtils]: 83: Hoare triple {4816#false} call __blast_assert(); {4816#false} is VALID [2020-07-11 01:05:44,142 INFO L280 TraceCheckUtils]: 84: Hoare triple {4816#false} assume !false; {4816#false} is VALID [2020-07-11 01:05:44,157 INFO L134 CoverageAnalysis]: Checked inductivity of 30 backedges. 6 proven. 6 refuted. 0 times theorem prover too weak. 18 trivial. 0 not checked. [2020-07-11 01:05:44,158 INFO L354 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModulePreferences [320360537] [2020-07-11 01:05:44,158 INFO L220 FreeRefinementEngine]: Constructing automaton from 0 perfect and 1 imperfect interpolant sequences. [2020-07-11 01:05:44,158 INFO L233 FreeRefinementEngine]: Number of different interpolants: perfect sequences [] imperfect sequences [10] total 10 [2020-07-11 01:05:44,159 INFO L156 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [1584420587] [2020-07-11 01:05:44,159 INFO L78 Accepts]: Start accepts. Automaton has 10 states. Word has length 85 [2020-07-11 01:05:44,160 INFO L84 Accepts]: Finished accepts. word is accepted. [2020-07-11 01:05:44,160 INFO L86 InductivityCheck]: Starting indutivity check of a Floyd-Hoare automaton with 10 states. [2020-07-11 01:05:44,267 INFO L119 InductivityCheck]: Floyd-Hoare automaton has 69 edges. 69 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2020-07-11 01:05:44,267 INFO L459 AbstractCegarLoop]: Interpolant automaton has 10 states [2020-07-11 01:05:44,267 INFO L143 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy FIXED_PREFERENCES [2020-07-11 01:05:44,268 INFO L142 InterpolantAutomaton]: Constructing interpolant automaton starting with 10 interpolants. [2020-07-11 01:05:44,268 INFO L144 InterpolantAutomaton]: CoverageRelationStatistics Valid=20, Invalid=70, Unknown=0, NotChecked=0, Total=90 [2020-07-11 01:05:44,268 INFO L87 Difference]: Start difference. First operand 112 states and 123 transitions. Second operand 10 states. [2020-07-11 01:05:46,828 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2020-07-11 01:05:46,828 INFO L93 Difference]: Finished difference Result 127 states and 137 transitions. [2020-07-11 01:05:46,829 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 12 states. [2020-07-11 01:05:46,829 INFO L78 Accepts]: Start accepts. Automaton has 10 states. Word has length 85 [2020-07-11 01:05:46,833 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2020-07-11 01:05:46,833 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 10 states. [2020-07-11 01:05:46,836 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 12 states to 12 states and 93 transitions. [2020-07-11 01:05:46,836 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 10 states. [2020-07-11 01:05:46,838 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 12 states to 12 states and 93 transitions. [2020-07-11 01:05:46,838 INFO L86 InductivityCheck]: Starting indutivity check of a Floyd-Hoare automaton with 12 states and 93 transitions. [2020-07-11 01:05:46,982 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-11 01:05:46,985 INFO L225 Difference]: With dead ends: 127 [2020-07-11 01:05:46,986 INFO L226 Difference]: Without dead ends: 111 [2020-07-11 01:05:46,986 INFO L675 BasicCegarLoop]: 0 DeclaredPredicates, 28 GetRequests, 13 SyntacticMatches, 1 SemanticMatches, 14 ConstructedPredicates, 0 IntricatePredicates, 0 DeprecatedPredicates, 18 ImplicationChecksByTransitivity, 0.4s TimeCoverageRelationStatistics Valid=63, Invalid=177, Unknown=0, NotChecked=0, Total=240 [2020-07-11 01:05:46,987 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 111 states. [2020-07-11 01:05:47,592 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 111 to 111. [2020-07-11 01:05:47,593 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2020-07-11 01:05:47,593 INFO L82 GeneralOperation]: Start isEquivalent. First operand 111 states. Second operand 111 states. [2020-07-11 01:05:47,593 INFO L74 IsIncluded]: Start isIncluded. First operand 111 states. Second operand 111 states. [2020-07-11 01:05:47,593 INFO L87 Difference]: Start difference. First operand 111 states. Second operand 111 states. [2020-07-11 01:05:47,598 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2020-07-11 01:05:47,598 INFO L93 Difference]: Finished difference Result 111 states and 121 transitions. [2020-07-11 01:05:47,598 INFO L276 IsEmpty]: Start isEmpty. Operand 111 states and 121 transitions. [2020-07-11 01:05:47,599 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2020-07-11 01:05:47,599 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2020-07-11 01:05:47,599 INFO L74 IsIncluded]: Start isIncluded. First operand 111 states. Second operand 111 states. [2020-07-11 01:05:47,599 INFO L87 Difference]: Start difference. First operand 111 states. Second operand 111 states. [2020-07-11 01:05:47,604 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2020-07-11 01:05:47,604 INFO L93 Difference]: Finished difference Result 111 states and 121 transitions. [2020-07-11 01:05:47,604 INFO L276 IsEmpty]: Start isEmpty. Operand 111 states and 121 transitions. [2020-07-11 01:05:47,605 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2020-07-11 01:05:47,605 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2020-07-11 01:05:47,605 INFO L88 GeneralOperation]: Finished isEquivalent. [2020-07-11 01:05:47,605 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2020-07-11 01:05:47,605 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 111 states. [2020-07-11 01:05:47,609 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 111 states to 111 states and 121 transitions. [2020-07-11 01:05:47,610 INFO L78 Accepts]: Start accepts. Automaton has 111 states and 121 transitions. Word has length 85 [2020-07-11 01:05:47,610 INFO L84 Accepts]: Finished accepts. word is rejected. [2020-07-11 01:05:47,610 INFO L479 AbstractCegarLoop]: Abstraction has 111 states and 121 transitions. [2020-07-11 01:05:47,610 INFO L480 AbstractCegarLoop]: Interpolant automaton has 10 states. [2020-07-11 01:05:47,610 INFO L86 InductivityCheck]: Starting indutivity check of a Floyd-Hoare automaton with 111 states and 121 transitions. [2020-07-11 01:05:47,897 INFO L119 InductivityCheck]: Floyd-Hoare automaton has 121 edges. 121 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2020-07-11 01:05:47,898 INFO L276 IsEmpty]: Start isEmpty. Operand 111 states and 121 transitions. [2020-07-11 01:05:47,899 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 87 [2020-07-11 01:05:47,899 INFO L414 BasicCegarLoop]: Found error trace [2020-07-11 01:05:47,900 INFO L422 BasicCegarLoop]: trace histogram [3, 3, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1] [2020-07-11 01:05:47,900 WARN L516 AbstractCegarLoop]: Destroyed unattended storables created during the last iteration: SelfDestructingSolverStorable7 [2020-07-11 01:05:47,900 INFO L427 AbstractCegarLoop]: === Iteration 9 === [__blast_assertErr0ASSERT_VIOLATIONERROR_FUNCTION]=== [2020-07-11 01:05:47,901 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2020-07-11 01:05:47,901 INFO L82 PathProgramCache]: Analyzing trace with hash 2046230471, now seen corresponding path program 1 times [2020-07-11 01:05:47,901 INFO L163 FreeRefinementEngine]: Executing refinement strategy FIXED_PREFERENCES [2020-07-11 01:05:47,901 INFO L354 FreeRefinementEngine]: Using trace check IpTcStrategyModulePreferences [244532260] [2020-07-11 01:05:47,901 INFO L94 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2020-07-11 01:05:47,916 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2020-07-11 01:05:48,031 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2020-07-11 01:05:48,035 INFO L280 TraceCheckUtils]: 0: Hoare triple {5697#(and (= |#valid| |old(#valid)|) (= ~elem~0.base |old(~elem~0.base)|) (= |#NULL.base| |old(#NULL.base)|) (= |~#head~0.base| |old(~#head~0.base)|) (= ~guard_malloc_counter~0.offset |old(~guard_malloc_counter~0.offset)|) (= |#NULL.offset| |old(#NULL.offset)|) (= ~elem~0.offset |old(~elem~0.offset)|) (= |old(#length)| |#length|) (= |~#head~0.offset| |old(~#head~0.offset)|) (= ~guard_malloc_counter~0.base |old(~guard_malloc_counter~0.base)|))} #NULL.base, #NULL.offset := 0, 0; {5624#true} is VALID [2020-07-11 01:05:48,036 INFO L280 TraceCheckUtils]: 1: Hoare triple {5624#true} #valid := #valid[0 := 0]; {5624#true} is VALID [2020-07-11 01:05:48,036 INFO L280 TraceCheckUtils]: 2: Hoare triple {5624#true} assume 0 < #StackHeapBarrier; {5624#true} is VALID [2020-07-11 01:05:48,036 INFO L280 TraceCheckUtils]: 3: Hoare triple {5624#true} ~guard_malloc_counter~0.base, ~guard_malloc_counter~0.offset := 0, 0; {5624#true} is VALID [2020-07-11 01:05:48,036 INFO L280 TraceCheckUtils]: 4: Hoare triple {5624#true} ~elem~0.base, ~elem~0.offset := 0, 0; {5624#true} is VALID [2020-07-11 01:05:48,036 INFO L280 TraceCheckUtils]: 5: Hoare triple {5624#true} SUMMARY for call ~#head~0.base, ~#head~0.offset := #Ultimate.allocOnStack(8); srcloc: L900 {5624#true} is VALID [2020-07-11 01:05:48,037 INFO L280 TraceCheckUtils]: 6: Hoare triple {5624#true} SUMMARY for call write~init~$Pointer$(0, 0, ~#head~0.base, ~#head~0.offset, 4); srcloc: L900-1 {5624#true} is VALID [2020-07-11 01:05:48,037 INFO L280 TraceCheckUtils]: 7: Hoare triple {5624#true} SUMMARY for call write~init~$Pointer$(0, 0, ~#head~0.base, 4 + ~#head~0.offset, 4); srcloc: L900-2 {5624#true} is VALID [2020-07-11 01:05:48,037 INFO L280 TraceCheckUtils]: 8: Hoare triple {5624#true} assume true; {5624#true} is VALID [2020-07-11 01:05:48,037 INFO L275 TraceCheckUtils]: 9: Hoare quadruple {5624#true} {5624#true} #112#return; {5624#true} is VALID [2020-07-11 01:05:48,063 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2020-07-11 01:05:48,113 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2020-07-11 01:05:48,140 INFO L280 TraceCheckUtils]: 0: Hoare triple {5698#(and (= ~guard_malloc_counter~0.offset |old(~guard_malloc_counter~0.offset)|) (= ~guard_malloc_counter~0.base |old(~guard_malloc_counter~0.base)|))} ~size := #in~size; {5624#true} is VALID [2020-07-11 01:05:48,141 INFO L280 TraceCheckUtils]: 1: Hoare triple {5624#true} assume ~size > 0; {5624#true} is VALID [2020-07-11 01:05:48,141 INFO L280 TraceCheckUtils]: 2: Hoare triple {5624#true} #t~post28.base, #t~post28.offset := ~guard_malloc_counter~0.base, ~guard_malloc_counter~0.offset; {5624#true} is VALID [2020-07-11 01:05:48,141 INFO L280 TraceCheckUtils]: 3: Hoare triple {5624#true} ~guard_malloc_counter~0.base, ~guard_malloc_counter~0.offset := #t~post28.base, 1 + #t~post28.offset; {5624#true} is VALID [2020-07-11 01:05:48,142 INFO L280 TraceCheckUtils]: 4: Hoare triple {5624#true} havoc #t~post28.base, #t~post28.offset; {5624#true} is VALID [2020-07-11 01:05:48,142 INFO L280 TraceCheckUtils]: 5: Hoare triple {5624#true} assume -2147483648 <= #t~nondet29 && #t~nondet29 <= 2147483647; {5624#true} is VALID [2020-07-11 01:05:48,142 INFO L280 TraceCheckUtils]: 6: Hoare triple {5624#true} assume !(0 == #t~nondet29); {5624#true} is VALID [2020-07-11 01:05:48,143 INFO L280 TraceCheckUtils]: 7: Hoare triple {5624#true} havoc #t~nondet29; {5624#true} is VALID [2020-07-11 01:05:48,144 INFO L280 TraceCheckUtils]: 8: Hoare triple {5624#true} #res.base, #res.offset := ~guard_malloc_counter~0.base, ~guard_malloc_counter~0.offset; {5712#(<= |__getMemory_#res.offset| ~guard_malloc_counter~0.offset)} is VALID [2020-07-11 01:05:48,145 INFO L280 TraceCheckUtils]: 9: Hoare triple {5712#(<= |__getMemory_#res.offset| ~guard_malloc_counter~0.offset)} assume true; {5712#(<= |__getMemory_#res.offset| ~guard_malloc_counter~0.offset)} is VALID [2020-07-11 01:05:48,147 INFO L275 TraceCheckUtils]: 10: Hoare quadruple {5712#(<= |__getMemory_#res.offset| ~guard_malloc_counter~0.offset)} {5624#true} #92#return; {5710#(<= |my_malloc_#t~ret30.offset| ~guard_malloc_counter~0.offset)} is VALID [2020-07-11 01:05:48,147 INFO L280 TraceCheckUtils]: 0: Hoare triple {5698#(and (= ~guard_malloc_counter~0.offset |old(~guard_malloc_counter~0.offset)|) (= ~guard_malloc_counter~0.base |old(~guard_malloc_counter~0.base)|))} ~size := #in~size; {5624#true} is VALID [2020-07-11 01:05:48,149 INFO L263 TraceCheckUtils]: 1: Hoare triple {5624#true} call #t~ret30.base, #t~ret30.offset := __getMemory(~size); {5698#(and (= ~guard_malloc_counter~0.offset |old(~guard_malloc_counter~0.offset)|) (= ~guard_malloc_counter~0.base |old(~guard_malloc_counter~0.base)|))} is VALID [2020-07-11 01:05:48,149 INFO L280 TraceCheckUtils]: 2: Hoare triple {5698#(and (= ~guard_malloc_counter~0.offset |old(~guard_malloc_counter~0.offset)|) (= ~guard_malloc_counter~0.base |old(~guard_malloc_counter~0.base)|))} ~size := #in~size; {5624#true} is VALID [2020-07-11 01:05:48,149 INFO L280 TraceCheckUtils]: 3: Hoare triple {5624#true} assume ~size > 0; {5624#true} is VALID [2020-07-11 01:05:48,150 INFO L280 TraceCheckUtils]: 4: Hoare triple {5624#true} #t~post28.base, #t~post28.offset := ~guard_malloc_counter~0.base, ~guard_malloc_counter~0.offset; {5624#true} is VALID [2020-07-11 01:05:48,150 INFO L280 TraceCheckUtils]: 5: Hoare triple {5624#true} ~guard_malloc_counter~0.base, ~guard_malloc_counter~0.offset := #t~post28.base, 1 + #t~post28.offset; {5624#true} is VALID [2020-07-11 01:05:48,150 INFO L280 TraceCheckUtils]: 6: Hoare triple {5624#true} havoc #t~post28.base, #t~post28.offset; {5624#true} is VALID [2020-07-11 01:05:48,151 INFO L280 TraceCheckUtils]: 7: Hoare triple {5624#true} assume -2147483648 <= #t~nondet29 && #t~nondet29 <= 2147483647; {5624#true} is VALID [2020-07-11 01:05:48,151 INFO L280 TraceCheckUtils]: 8: Hoare triple {5624#true} assume !(0 == #t~nondet29); {5624#true} is VALID [2020-07-11 01:05:48,151 INFO L280 TraceCheckUtils]: 9: Hoare triple {5624#true} havoc #t~nondet29; {5624#true} is VALID [2020-07-11 01:05:48,152 INFO L280 TraceCheckUtils]: 10: Hoare triple {5624#true} #res.base, #res.offset := ~guard_malloc_counter~0.base, ~guard_malloc_counter~0.offset; {5712#(<= |__getMemory_#res.offset| ~guard_malloc_counter~0.offset)} is VALID [2020-07-11 01:05:48,153 INFO L280 TraceCheckUtils]: 11: Hoare triple {5712#(<= |__getMemory_#res.offset| ~guard_malloc_counter~0.offset)} assume true; {5712#(<= |__getMemory_#res.offset| ~guard_malloc_counter~0.offset)} is VALID [2020-07-11 01:05:48,155 INFO L275 TraceCheckUtils]: 12: Hoare quadruple {5712#(<= |__getMemory_#res.offset| ~guard_malloc_counter~0.offset)} {5624#true} #92#return; {5710#(<= |my_malloc_#t~ret30.offset| ~guard_malloc_counter~0.offset)} is VALID [2020-07-11 01:05:48,157 INFO L280 TraceCheckUtils]: 13: Hoare triple {5710#(<= |my_malloc_#t~ret30.offset| ~guard_malloc_counter~0.offset)} #res.base, #res.offset := #t~ret30.base, #t~ret30.offset; {5711#(<= |my_malloc_#res.offset| ~guard_malloc_counter~0.offset)} is VALID [2020-07-11 01:05:48,158 INFO L280 TraceCheckUtils]: 14: Hoare triple {5711#(<= |my_malloc_#res.offset| ~guard_malloc_counter~0.offset)} havoc #t~ret30.base, #t~ret30.offset; {5711#(<= |my_malloc_#res.offset| ~guard_malloc_counter~0.offset)} is VALID [2020-07-11 01:05:48,159 INFO L280 TraceCheckUtils]: 15: Hoare triple {5711#(<= |my_malloc_#res.offset| ~guard_malloc_counter~0.offset)} assume true; {5711#(<= |my_malloc_#res.offset| ~guard_malloc_counter~0.offset)} is VALID [2020-07-11 01:05:48,160 INFO L275 TraceCheckUtils]: 16: Hoare quadruple {5711#(<= |my_malloc_#res.offset| ~guard_malloc_counter~0.offset)} {5624#true} #94#return; {5653#(<= |main_#t~ret32.offset| ~guard_malloc_counter~0.offset)} is VALID [2020-07-11 01:05:48,164 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2020-07-11 01:05:48,253 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2020-07-11 01:05:48,361 INFO L280 TraceCheckUtils]: 0: Hoare triple {5698#(and (= ~guard_malloc_counter~0.offset |old(~guard_malloc_counter~0.offset)|) (= ~guard_malloc_counter~0.base |old(~guard_malloc_counter~0.base)|))} ~size := #in~size; {5713#(= ~guard_malloc_counter~0.offset |old(~guard_malloc_counter~0.offset)|)} is VALID [2020-07-11 01:05:48,362 INFO L280 TraceCheckUtils]: 1: Hoare triple {5713#(= ~guard_malloc_counter~0.offset |old(~guard_malloc_counter~0.offset)|)} assume ~size > 0; {5713#(= ~guard_malloc_counter~0.offset |old(~guard_malloc_counter~0.offset)|)} is VALID [2020-07-11 01:05:48,364 INFO L280 TraceCheckUtils]: 2: Hoare triple {5713#(= ~guard_malloc_counter~0.offset |old(~guard_malloc_counter~0.offset)|)} #t~post28.base, #t~post28.offset := ~guard_malloc_counter~0.base, ~guard_malloc_counter~0.offset; {5727#(= |old(~guard_malloc_counter~0.offset)| |__getMemory_#t~post28.offset|)} is VALID [2020-07-11 01:05:48,365 INFO L280 TraceCheckUtils]: 3: Hoare triple {5727#(= |old(~guard_malloc_counter~0.offset)| |__getMemory_#t~post28.offset|)} ~guard_malloc_counter~0.base, ~guard_malloc_counter~0.offset := #t~post28.base, 1 + #t~post28.offset; {5728#(<= (+ |old(~guard_malloc_counter~0.offset)| 1) ~guard_malloc_counter~0.offset)} is VALID [2020-07-11 01:05:48,366 INFO L280 TraceCheckUtils]: 4: Hoare triple {5728#(<= (+ |old(~guard_malloc_counter~0.offset)| 1) ~guard_malloc_counter~0.offset)} havoc #t~post28.base, #t~post28.offset; {5728#(<= (+ |old(~guard_malloc_counter~0.offset)| 1) ~guard_malloc_counter~0.offset)} is VALID [2020-07-11 01:05:48,367 INFO L280 TraceCheckUtils]: 5: Hoare triple {5728#(<= (+ |old(~guard_malloc_counter~0.offset)| 1) ~guard_malloc_counter~0.offset)} assume -2147483648 <= #t~nondet29 && #t~nondet29 <= 2147483647; {5728#(<= (+ |old(~guard_malloc_counter~0.offset)| 1) ~guard_malloc_counter~0.offset)} is VALID [2020-07-11 01:05:48,368 INFO L280 TraceCheckUtils]: 6: Hoare triple {5728#(<= (+ |old(~guard_malloc_counter~0.offset)| 1) ~guard_malloc_counter~0.offset)} assume !(0 == #t~nondet29); {5728#(<= (+ |old(~guard_malloc_counter~0.offset)| 1) ~guard_malloc_counter~0.offset)} is VALID [2020-07-11 01:05:48,392 INFO L280 TraceCheckUtils]: 7: Hoare triple {5728#(<= (+ |old(~guard_malloc_counter~0.offset)| 1) ~guard_malloc_counter~0.offset)} havoc #t~nondet29; {5728#(<= (+ |old(~guard_malloc_counter~0.offset)| 1) ~guard_malloc_counter~0.offset)} is VALID [2020-07-11 01:05:48,399 INFO L280 TraceCheckUtils]: 8: Hoare triple {5728#(<= (+ |old(~guard_malloc_counter~0.offset)| 1) ~guard_malloc_counter~0.offset)} #res.base, #res.offset := ~guard_malloc_counter~0.base, ~guard_malloc_counter~0.offset; {5729#(<= (+ |old(~guard_malloc_counter~0.offset)| 1) |__getMemory_#res.offset|)} is VALID [2020-07-11 01:05:48,400 INFO L280 TraceCheckUtils]: 9: Hoare triple {5729#(<= (+ |old(~guard_malloc_counter~0.offset)| 1) |__getMemory_#res.offset|)} assume true; {5729#(<= (+ |old(~guard_malloc_counter~0.offset)| 1) |__getMemory_#res.offset|)} is VALID [2020-07-11 01:05:48,402 INFO L275 TraceCheckUtils]: 10: Hoare quadruple {5729#(<= (+ |old(~guard_malloc_counter~0.offset)| 1) |__getMemory_#res.offset|)} {5713#(= ~guard_malloc_counter~0.offset |old(~guard_malloc_counter~0.offset)|)} #92#return; {5725#(<= (+ |old(~guard_malloc_counter~0.offset)| 1) |my_malloc_#t~ret30.offset|)} is VALID [2020-07-11 01:05:48,403 INFO L280 TraceCheckUtils]: 0: Hoare triple {5698#(and (= ~guard_malloc_counter~0.offset |old(~guard_malloc_counter~0.offset)|) (= ~guard_malloc_counter~0.base |old(~guard_malloc_counter~0.base)|))} ~size := #in~size; {5713#(= ~guard_malloc_counter~0.offset |old(~guard_malloc_counter~0.offset)|)} is VALID [2020-07-11 01:05:48,404 INFO L263 TraceCheckUtils]: 1: Hoare triple {5713#(= ~guard_malloc_counter~0.offset |old(~guard_malloc_counter~0.offset)|)} call #t~ret30.base, #t~ret30.offset := __getMemory(~size); {5698#(and (= ~guard_malloc_counter~0.offset |old(~guard_malloc_counter~0.offset)|) (= ~guard_malloc_counter~0.base |old(~guard_malloc_counter~0.base)|))} is VALID [2020-07-11 01:05:48,406 INFO L280 TraceCheckUtils]: 2: Hoare triple {5698#(and (= ~guard_malloc_counter~0.offset |old(~guard_malloc_counter~0.offset)|) (= ~guard_malloc_counter~0.base |old(~guard_malloc_counter~0.base)|))} ~size := #in~size; {5713#(= ~guard_malloc_counter~0.offset |old(~guard_malloc_counter~0.offset)|)} is VALID [2020-07-11 01:05:48,407 INFO L280 TraceCheckUtils]: 3: Hoare triple {5713#(= ~guard_malloc_counter~0.offset |old(~guard_malloc_counter~0.offset)|)} assume ~size > 0; {5713#(= ~guard_malloc_counter~0.offset |old(~guard_malloc_counter~0.offset)|)} is VALID [2020-07-11 01:05:48,408 INFO L280 TraceCheckUtils]: 4: Hoare triple {5713#(= ~guard_malloc_counter~0.offset |old(~guard_malloc_counter~0.offset)|)} #t~post28.base, #t~post28.offset := ~guard_malloc_counter~0.base, ~guard_malloc_counter~0.offset; {5727#(= |old(~guard_malloc_counter~0.offset)| |__getMemory_#t~post28.offset|)} is VALID [2020-07-11 01:05:48,409 INFO L280 TraceCheckUtils]: 5: Hoare triple {5727#(= |old(~guard_malloc_counter~0.offset)| |__getMemory_#t~post28.offset|)} ~guard_malloc_counter~0.base, ~guard_malloc_counter~0.offset := #t~post28.base, 1 + #t~post28.offset; {5728#(<= (+ |old(~guard_malloc_counter~0.offset)| 1) ~guard_malloc_counter~0.offset)} is VALID [2020-07-11 01:05:48,410 INFO L280 TraceCheckUtils]: 6: Hoare triple {5728#(<= (+ |old(~guard_malloc_counter~0.offset)| 1) ~guard_malloc_counter~0.offset)} havoc #t~post28.base, #t~post28.offset; {5728#(<= (+ |old(~guard_malloc_counter~0.offset)| 1) ~guard_malloc_counter~0.offset)} is VALID [2020-07-11 01:05:48,410 INFO L280 TraceCheckUtils]: 7: Hoare triple {5728#(<= (+ |old(~guard_malloc_counter~0.offset)| 1) ~guard_malloc_counter~0.offset)} assume -2147483648 <= #t~nondet29 && #t~nondet29 <= 2147483647; {5728#(<= (+ |old(~guard_malloc_counter~0.offset)| 1) ~guard_malloc_counter~0.offset)} is VALID [2020-07-11 01:05:48,411 INFO L280 TraceCheckUtils]: 8: Hoare triple {5728#(<= (+ |old(~guard_malloc_counter~0.offset)| 1) ~guard_malloc_counter~0.offset)} assume !(0 == #t~nondet29); {5728#(<= (+ |old(~guard_malloc_counter~0.offset)| 1) ~guard_malloc_counter~0.offset)} is VALID [2020-07-11 01:05:48,413 INFO L280 TraceCheckUtils]: 9: Hoare triple {5728#(<= (+ |old(~guard_malloc_counter~0.offset)| 1) ~guard_malloc_counter~0.offset)} havoc #t~nondet29; {5728#(<= (+ |old(~guard_malloc_counter~0.offset)| 1) ~guard_malloc_counter~0.offset)} is VALID [2020-07-11 01:05:48,414 INFO L280 TraceCheckUtils]: 10: Hoare triple {5728#(<= (+ |old(~guard_malloc_counter~0.offset)| 1) ~guard_malloc_counter~0.offset)} #res.base, #res.offset := ~guard_malloc_counter~0.base, ~guard_malloc_counter~0.offset; {5729#(<= (+ |old(~guard_malloc_counter~0.offset)| 1) |__getMemory_#res.offset|)} is VALID [2020-07-11 01:05:48,415 INFO L280 TraceCheckUtils]: 11: Hoare triple {5729#(<= (+ |old(~guard_malloc_counter~0.offset)| 1) |__getMemory_#res.offset|)} assume true; {5729#(<= (+ |old(~guard_malloc_counter~0.offset)| 1) |__getMemory_#res.offset|)} is VALID [2020-07-11 01:05:48,416 INFO L275 TraceCheckUtils]: 12: Hoare quadruple {5729#(<= (+ |old(~guard_malloc_counter~0.offset)| 1) |__getMemory_#res.offset|)} {5713#(= ~guard_malloc_counter~0.offset |old(~guard_malloc_counter~0.offset)|)} #92#return; {5725#(<= (+ |old(~guard_malloc_counter~0.offset)| 1) |my_malloc_#t~ret30.offset|)} is VALID [2020-07-11 01:05:48,418 INFO L280 TraceCheckUtils]: 13: Hoare triple {5725#(<= (+ |old(~guard_malloc_counter~0.offset)| 1) |my_malloc_#t~ret30.offset|)} #res.base, #res.offset := #t~ret30.base, #t~ret30.offset; {5726#(<= (+ |old(~guard_malloc_counter~0.offset)| 1) |my_malloc_#res.offset|)} is VALID [2020-07-11 01:05:48,419 INFO L280 TraceCheckUtils]: 14: Hoare triple {5726#(<= (+ |old(~guard_malloc_counter~0.offset)| 1) |my_malloc_#res.offset|)} havoc #t~ret30.base, #t~ret30.offset; {5726#(<= (+ |old(~guard_malloc_counter~0.offset)| 1) |my_malloc_#res.offset|)} is VALID [2020-07-11 01:05:48,420 INFO L280 TraceCheckUtils]: 15: Hoare triple {5726#(<= (+ |old(~guard_malloc_counter~0.offset)| 1) |my_malloc_#res.offset|)} assume true; {5726#(<= (+ |old(~guard_malloc_counter~0.offset)| 1) |my_malloc_#res.offset|)} is VALID [2020-07-11 01:05:48,421 INFO L275 TraceCheckUtils]: 16: Hoare quadruple {5726#(<= (+ |old(~guard_malloc_counter~0.offset)| 1) |my_malloc_#res.offset|)} {5654#(<= main_~dev1~0.offset ~guard_malloc_counter~0.offset)} #96#return; {5672#(<= (+ main_~dev1~0.offset 1) |main_#t~ret33.offset|)} is VALID [2020-07-11 01:05:48,461 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2020-07-11 01:05:48,466 INFO L280 TraceCheckUtils]: 0: Hoare triple {5730#(and (= ~elem~0.base |old(~elem~0.base)|) (= ~elem~0.offset |old(~elem~0.offset)|))} ~new.base, ~new.offset := #in~new.base, #in~new.offset; {5624#true} is VALID [2020-07-11 01:05:48,466 INFO L280 TraceCheckUtils]: 1: Hoare triple {5624#true} ~head.base, ~head.offset := #in~head.base, #in~head.offset; {5624#true} is VALID [2020-07-11 01:05:48,466 INFO L280 TraceCheckUtils]: 2: Hoare triple {5624#true} assume ~new.base != ~elem~0.base || ~new.offset != ~elem~0.offset; {5624#true} is VALID [2020-07-11 01:05:48,467 INFO L280 TraceCheckUtils]: 3: Hoare triple {5624#true} assume -2147483648 <= #t~nondet31 && #t~nondet31 <= 2147483647; {5624#true} is VALID [2020-07-11 01:05:48,467 INFO L280 TraceCheckUtils]: 4: Hoare triple {5624#true} assume !(0 != #t~nondet31); {5624#true} is VALID [2020-07-11 01:05:48,467 INFO L280 TraceCheckUtils]: 5: Hoare triple {5624#true} havoc #t~nondet31; {5624#true} is VALID [2020-07-11 01:05:48,468 INFO L280 TraceCheckUtils]: 6: Hoare triple {5624#true} assume true; {5624#true} is VALID [2020-07-11 01:05:48,469 INFO L275 TraceCheckUtils]: 7: Hoare quadruple {5624#true} {5673#(<= (+ main_~dev1~0.offset 1) main_~dev2~0.offset)} #98#return; {5673#(<= (+ main_~dev1~0.offset 1) main_~dev2~0.offset)} is VALID [2020-07-11 01:05:48,472 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2020-07-11 01:05:48,546 INFO L280 TraceCheckUtils]: 0: Hoare triple {5730#(and (= ~elem~0.base |old(~elem~0.base)|) (= ~elem~0.offset |old(~elem~0.offset)|))} ~new.base, ~new.offset := #in~new.base, #in~new.offset; {5731#(= |list_add_#in~new.offset| list_add_~new.offset)} is VALID [2020-07-11 01:05:48,547 INFO L280 TraceCheckUtils]: 1: Hoare triple {5731#(= |list_add_#in~new.offset| list_add_~new.offset)} ~head.base, ~head.offset := #in~head.base, #in~head.offset; {5731#(= |list_add_#in~new.offset| list_add_~new.offset)} is VALID [2020-07-11 01:05:48,548 INFO L280 TraceCheckUtils]: 2: Hoare triple {5731#(= |list_add_#in~new.offset| list_add_~new.offset)} assume ~new.base != ~elem~0.base || ~new.offset != ~elem~0.offset; {5731#(= |list_add_#in~new.offset| list_add_~new.offset)} is VALID [2020-07-11 01:05:48,549 INFO L280 TraceCheckUtils]: 3: Hoare triple {5731#(= |list_add_#in~new.offset| list_add_~new.offset)} assume -2147483648 <= #t~nondet31 && #t~nondet31 <= 2147483647; {5731#(= |list_add_#in~new.offset| list_add_~new.offset)} is VALID [2020-07-11 01:05:48,550 INFO L280 TraceCheckUtils]: 4: Hoare triple {5731#(= |list_add_#in~new.offset| list_add_~new.offset)} assume 0 != #t~nondet31; {5731#(= |list_add_#in~new.offset| list_add_~new.offset)} is VALID [2020-07-11 01:05:48,551 INFO L280 TraceCheckUtils]: 5: Hoare triple {5731#(= |list_add_#in~new.offset| list_add_~new.offset)} havoc #t~nondet31; {5731#(= |list_add_#in~new.offset| list_add_~new.offset)} is VALID [2020-07-11 01:05:48,552 INFO L280 TraceCheckUtils]: 6: Hoare triple {5731#(= |list_add_#in~new.offset| list_add_~new.offset)} ~elem~0.base, ~elem~0.offset := ~new.base, ~new.offset; {5732#(= ~elem~0.offset |list_add_#in~new.offset|)} is VALID [2020-07-11 01:05:48,553 INFO L280 TraceCheckUtils]: 7: Hoare triple {5732#(= ~elem~0.offset |list_add_#in~new.offset|)} assume true; {5732#(= ~elem~0.offset |list_add_#in~new.offset|)} is VALID [2020-07-11 01:05:48,554 INFO L275 TraceCheckUtils]: 8: Hoare quadruple {5732#(= ~elem~0.offset |list_add_#in~new.offset|)} {5673#(<= (+ main_~dev1~0.offset 1) main_~dev2~0.offset)} #100#return; {5691#(<= (+ ~elem~0.offset 1) main_~dev2~0.offset)} is VALID [2020-07-11 01:05:48,556 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2020-07-11 01:05:48,635 INFO L280 TraceCheckUtils]: 0: Hoare triple {5730#(and (= ~elem~0.base |old(~elem~0.base)|) (= ~elem~0.offset |old(~elem~0.offset)|))} ~entry.base, ~entry.offset := #in~entry.base, #in~entry.offset; {5733#(and (= |old(~elem~0.offset)| ~elem~0.offset) (= |list_del_#in~entry.offset| list_del_~entry.offset))} is VALID [2020-07-11 01:05:48,636 INFO L280 TraceCheckUtils]: 1: Hoare triple {5733#(and (= |old(~elem~0.offset)| ~elem~0.offset) (= |list_del_#in~entry.offset| list_del_~entry.offset))} assume ~entry.base == ~elem~0.base && ~entry.offset == ~elem~0.offset; {5734#(= |old(~elem~0.offset)| |list_del_#in~entry.offset|)} is VALID [2020-07-11 01:05:48,637 INFO L280 TraceCheckUtils]: 2: Hoare triple {5734#(= |old(~elem~0.offset)| |list_del_#in~entry.offset|)} ~elem~0.base, ~elem~0.offset := 0, 0; {5734#(= |old(~elem~0.offset)| |list_del_#in~entry.offset|)} is VALID [2020-07-11 01:05:48,638 INFO L280 TraceCheckUtils]: 3: Hoare triple {5734#(= |old(~elem~0.offset)| |list_del_#in~entry.offset|)} assume true; {5734#(= |old(~elem~0.offset)| |list_del_#in~entry.offset|)} is VALID [2020-07-11 01:05:48,639 INFO L275 TraceCheckUtils]: 4: Hoare quadruple {5734#(= |old(~elem~0.offset)| |list_del_#in~entry.offset|)} {5691#(<= (+ ~elem~0.offset 1) main_~dev2~0.offset)} #102#return; {5625#false} is VALID [2020-07-11 01:05:48,640 INFO L263 TraceCheckUtils]: 0: Hoare triple {5624#true} call ULTIMATE.init(); {5697#(and (= |#valid| |old(#valid)|) (= ~elem~0.base |old(~elem~0.base)|) (= |#NULL.base| |old(#NULL.base)|) (= |~#head~0.base| |old(~#head~0.base)|) (= ~guard_malloc_counter~0.offset |old(~guard_malloc_counter~0.offset)|) (= |#NULL.offset| |old(#NULL.offset)|) (= ~elem~0.offset |old(~elem~0.offset)|) (= |old(#length)| |#length|) (= |~#head~0.offset| |old(~#head~0.offset)|) (= ~guard_malloc_counter~0.base |old(~guard_malloc_counter~0.base)|))} is VALID [2020-07-11 01:05:48,641 INFO L280 TraceCheckUtils]: 1: Hoare triple {5697#(and (= |#valid| |old(#valid)|) (= ~elem~0.base |old(~elem~0.base)|) (= |#NULL.base| |old(#NULL.base)|) (= |~#head~0.base| |old(~#head~0.base)|) (= ~guard_malloc_counter~0.offset |old(~guard_malloc_counter~0.offset)|) (= |#NULL.offset| |old(#NULL.offset)|) (= ~elem~0.offset |old(~elem~0.offset)|) (= |old(#length)| |#length|) (= |~#head~0.offset| |old(~#head~0.offset)|) (= ~guard_malloc_counter~0.base |old(~guard_malloc_counter~0.base)|))} #NULL.base, #NULL.offset := 0, 0; {5624#true} is VALID [2020-07-11 01:05:48,641 INFO L280 TraceCheckUtils]: 2: Hoare triple {5624#true} #valid := #valid[0 := 0]; {5624#true} is VALID [2020-07-11 01:05:48,641 INFO L280 TraceCheckUtils]: 3: Hoare triple {5624#true} assume 0 < #StackHeapBarrier; {5624#true} is VALID [2020-07-11 01:05:48,641 INFO L280 TraceCheckUtils]: 4: Hoare triple {5624#true} ~guard_malloc_counter~0.base, ~guard_malloc_counter~0.offset := 0, 0; {5624#true} is VALID [2020-07-11 01:05:48,641 INFO L280 TraceCheckUtils]: 5: Hoare triple {5624#true} ~elem~0.base, ~elem~0.offset := 0, 0; {5624#true} is VALID [2020-07-11 01:05:48,642 INFO L280 TraceCheckUtils]: 6: Hoare triple {5624#true} SUMMARY for call ~#head~0.base, ~#head~0.offset := #Ultimate.allocOnStack(8); srcloc: L900 {5624#true} is VALID [2020-07-11 01:05:48,642 INFO L280 TraceCheckUtils]: 7: Hoare triple {5624#true} SUMMARY for call write~init~$Pointer$(0, 0, ~#head~0.base, ~#head~0.offset, 4); srcloc: L900-1 {5624#true} is VALID [2020-07-11 01:05:48,642 INFO L280 TraceCheckUtils]: 8: Hoare triple {5624#true} SUMMARY for call write~init~$Pointer$(0, 0, ~#head~0.base, 4 + ~#head~0.offset, 4); srcloc: L900-2 {5624#true} is VALID [2020-07-11 01:05:48,642 INFO L280 TraceCheckUtils]: 9: Hoare triple {5624#true} assume true; {5624#true} is VALID [2020-07-11 01:05:48,643 INFO L275 TraceCheckUtils]: 10: Hoare quadruple {5624#true} {5624#true} #112#return; {5624#true} is VALID [2020-07-11 01:05:48,643 INFO L263 TraceCheckUtils]: 11: Hoare triple {5624#true} call #t~ret34 := main(); {5624#true} is VALID [2020-07-11 01:05:48,643 INFO L280 TraceCheckUtils]: 12: Hoare triple {5624#true} havoc ~dev1~0.base, ~dev1~0.offset; {5624#true} is VALID [2020-07-11 01:05:48,644 INFO L280 TraceCheckUtils]: 13: Hoare triple {5624#true} havoc ~dev2~0.base, ~dev2~0.offset; {5624#true} is VALID [2020-07-11 01:05:48,645 INFO L263 TraceCheckUtils]: 14: Hoare triple {5624#true} call #t~ret32.base, #t~ret32.offset := my_malloc(8); {5698#(and (= ~guard_malloc_counter~0.offset |old(~guard_malloc_counter~0.offset)|) (= ~guard_malloc_counter~0.base |old(~guard_malloc_counter~0.base)|))} is VALID [2020-07-11 01:05:48,645 INFO L280 TraceCheckUtils]: 15: Hoare triple {5698#(and (= ~guard_malloc_counter~0.offset |old(~guard_malloc_counter~0.offset)|) (= ~guard_malloc_counter~0.base |old(~guard_malloc_counter~0.base)|))} ~size := #in~size; {5624#true} is VALID [2020-07-11 01:05:48,646 INFO L263 TraceCheckUtils]: 16: Hoare triple {5624#true} call #t~ret30.base, #t~ret30.offset := __getMemory(~size); {5698#(and (= ~guard_malloc_counter~0.offset |old(~guard_malloc_counter~0.offset)|) (= ~guard_malloc_counter~0.base |old(~guard_malloc_counter~0.base)|))} is VALID [2020-07-11 01:05:48,646 INFO L280 TraceCheckUtils]: 17: Hoare triple {5698#(and (= ~guard_malloc_counter~0.offset |old(~guard_malloc_counter~0.offset)|) (= ~guard_malloc_counter~0.base |old(~guard_malloc_counter~0.base)|))} ~size := #in~size; {5624#true} is VALID [2020-07-11 01:05:48,647 INFO L280 TraceCheckUtils]: 18: Hoare triple {5624#true} assume ~size > 0; {5624#true} is VALID [2020-07-11 01:05:48,647 INFO L280 TraceCheckUtils]: 19: Hoare triple {5624#true} #t~post28.base, #t~post28.offset := ~guard_malloc_counter~0.base, ~guard_malloc_counter~0.offset; {5624#true} is VALID [2020-07-11 01:05:48,647 INFO L280 TraceCheckUtils]: 20: Hoare triple {5624#true} ~guard_malloc_counter~0.base, ~guard_malloc_counter~0.offset := #t~post28.base, 1 + #t~post28.offset; {5624#true} is VALID [2020-07-11 01:05:48,647 INFO L280 TraceCheckUtils]: 21: Hoare triple {5624#true} havoc #t~post28.base, #t~post28.offset; {5624#true} is VALID [2020-07-11 01:05:48,648 INFO L280 TraceCheckUtils]: 22: Hoare triple {5624#true} assume -2147483648 <= #t~nondet29 && #t~nondet29 <= 2147483647; {5624#true} is VALID [2020-07-11 01:05:48,648 INFO L280 TraceCheckUtils]: 23: Hoare triple {5624#true} assume !(0 == #t~nondet29); {5624#true} is VALID [2020-07-11 01:05:48,648 INFO L280 TraceCheckUtils]: 24: Hoare triple {5624#true} havoc #t~nondet29; {5624#true} is VALID [2020-07-11 01:05:48,649 INFO L280 TraceCheckUtils]: 25: Hoare triple {5624#true} #res.base, #res.offset := ~guard_malloc_counter~0.base, ~guard_malloc_counter~0.offset; {5712#(<= |__getMemory_#res.offset| ~guard_malloc_counter~0.offset)} is VALID [2020-07-11 01:05:48,650 INFO L280 TraceCheckUtils]: 26: Hoare triple {5712#(<= |__getMemory_#res.offset| ~guard_malloc_counter~0.offset)} assume true; {5712#(<= |__getMemory_#res.offset| ~guard_malloc_counter~0.offset)} is VALID [2020-07-11 01:05:48,652 INFO L275 TraceCheckUtils]: 27: Hoare quadruple {5712#(<= |__getMemory_#res.offset| ~guard_malloc_counter~0.offset)} {5624#true} #92#return; {5710#(<= |my_malloc_#t~ret30.offset| ~guard_malloc_counter~0.offset)} is VALID [2020-07-11 01:05:48,653 INFO L280 TraceCheckUtils]: 28: Hoare triple {5710#(<= |my_malloc_#t~ret30.offset| ~guard_malloc_counter~0.offset)} #res.base, #res.offset := #t~ret30.base, #t~ret30.offset; {5711#(<= |my_malloc_#res.offset| ~guard_malloc_counter~0.offset)} is VALID [2020-07-11 01:05:48,654 INFO L280 TraceCheckUtils]: 29: Hoare triple {5711#(<= |my_malloc_#res.offset| ~guard_malloc_counter~0.offset)} havoc #t~ret30.base, #t~ret30.offset; {5711#(<= |my_malloc_#res.offset| ~guard_malloc_counter~0.offset)} is VALID [2020-07-11 01:05:48,655 INFO L280 TraceCheckUtils]: 30: Hoare triple {5711#(<= |my_malloc_#res.offset| ~guard_malloc_counter~0.offset)} assume true; {5711#(<= |my_malloc_#res.offset| ~guard_malloc_counter~0.offset)} is VALID [2020-07-11 01:05:48,656 INFO L275 TraceCheckUtils]: 31: Hoare quadruple {5711#(<= |my_malloc_#res.offset| ~guard_malloc_counter~0.offset)} {5624#true} #94#return; {5653#(<= |main_#t~ret32.offset| ~guard_malloc_counter~0.offset)} is VALID [2020-07-11 01:05:48,658 INFO L280 TraceCheckUtils]: 32: Hoare triple {5653#(<= |main_#t~ret32.offset| ~guard_malloc_counter~0.offset)} ~dev1~0.base, ~dev1~0.offset := #t~ret32.base, #t~ret32.offset; {5654#(<= main_~dev1~0.offset ~guard_malloc_counter~0.offset)} is VALID [2020-07-11 01:05:48,658 INFO L280 TraceCheckUtils]: 33: Hoare triple {5654#(<= main_~dev1~0.offset ~guard_malloc_counter~0.offset)} havoc #t~ret32.base, #t~ret32.offset; {5654#(<= main_~dev1~0.offset ~guard_malloc_counter~0.offset)} is VALID [2020-07-11 01:05:48,660 INFO L263 TraceCheckUtils]: 34: Hoare triple {5654#(<= main_~dev1~0.offset ~guard_malloc_counter~0.offset)} call #t~ret33.base, #t~ret33.offset := my_malloc(8); {5698#(and (= ~guard_malloc_counter~0.offset |old(~guard_malloc_counter~0.offset)|) (= ~guard_malloc_counter~0.base |old(~guard_malloc_counter~0.base)|))} is VALID [2020-07-11 01:05:48,661 INFO L280 TraceCheckUtils]: 35: Hoare triple {5698#(and (= ~guard_malloc_counter~0.offset |old(~guard_malloc_counter~0.offset)|) (= ~guard_malloc_counter~0.base |old(~guard_malloc_counter~0.base)|))} ~size := #in~size; {5713#(= ~guard_malloc_counter~0.offset |old(~guard_malloc_counter~0.offset)|)} is VALID [2020-07-11 01:05:48,662 INFO L263 TraceCheckUtils]: 36: Hoare triple {5713#(= ~guard_malloc_counter~0.offset |old(~guard_malloc_counter~0.offset)|)} call #t~ret30.base, #t~ret30.offset := __getMemory(~size); {5698#(and (= ~guard_malloc_counter~0.offset |old(~guard_malloc_counter~0.offset)|) (= ~guard_malloc_counter~0.base |old(~guard_malloc_counter~0.base)|))} is VALID [2020-07-11 01:05:48,662 INFO L280 TraceCheckUtils]: 37: Hoare triple {5698#(and (= ~guard_malloc_counter~0.offset |old(~guard_malloc_counter~0.offset)|) (= ~guard_malloc_counter~0.base |old(~guard_malloc_counter~0.base)|))} ~size := #in~size; {5713#(= ~guard_malloc_counter~0.offset |old(~guard_malloc_counter~0.offset)|)} is VALID [2020-07-11 01:05:48,663 INFO L280 TraceCheckUtils]: 38: Hoare triple {5713#(= ~guard_malloc_counter~0.offset |old(~guard_malloc_counter~0.offset)|)} assume ~size > 0; {5713#(= ~guard_malloc_counter~0.offset |old(~guard_malloc_counter~0.offset)|)} is VALID [2020-07-11 01:05:48,664 INFO L280 TraceCheckUtils]: 39: Hoare triple {5713#(= ~guard_malloc_counter~0.offset |old(~guard_malloc_counter~0.offset)|)} #t~post28.base, #t~post28.offset := ~guard_malloc_counter~0.base, ~guard_malloc_counter~0.offset; {5727#(= |old(~guard_malloc_counter~0.offset)| |__getMemory_#t~post28.offset|)} is VALID [2020-07-11 01:05:48,665 INFO L280 TraceCheckUtils]: 40: Hoare triple {5727#(= |old(~guard_malloc_counter~0.offset)| |__getMemory_#t~post28.offset|)} ~guard_malloc_counter~0.base, ~guard_malloc_counter~0.offset := #t~post28.base, 1 + #t~post28.offset; {5728#(<= (+ |old(~guard_malloc_counter~0.offset)| 1) ~guard_malloc_counter~0.offset)} is VALID [2020-07-11 01:05:48,666 INFO L280 TraceCheckUtils]: 41: Hoare triple {5728#(<= (+ |old(~guard_malloc_counter~0.offset)| 1) ~guard_malloc_counter~0.offset)} havoc #t~post28.base, #t~post28.offset; {5728#(<= (+ |old(~guard_malloc_counter~0.offset)| 1) ~guard_malloc_counter~0.offset)} is VALID [2020-07-11 01:05:48,666 INFO L280 TraceCheckUtils]: 42: Hoare triple {5728#(<= (+ |old(~guard_malloc_counter~0.offset)| 1) ~guard_malloc_counter~0.offset)} assume -2147483648 <= #t~nondet29 && #t~nondet29 <= 2147483647; {5728#(<= (+ |old(~guard_malloc_counter~0.offset)| 1) ~guard_malloc_counter~0.offset)} is VALID [2020-07-11 01:05:48,667 INFO L280 TraceCheckUtils]: 43: Hoare triple {5728#(<= (+ |old(~guard_malloc_counter~0.offset)| 1) ~guard_malloc_counter~0.offset)} assume !(0 == #t~nondet29); {5728#(<= (+ |old(~guard_malloc_counter~0.offset)| 1) ~guard_malloc_counter~0.offset)} is VALID [2020-07-11 01:05:48,667 INFO L280 TraceCheckUtils]: 44: Hoare triple {5728#(<= (+ |old(~guard_malloc_counter~0.offset)| 1) ~guard_malloc_counter~0.offset)} havoc #t~nondet29; {5728#(<= (+ |old(~guard_malloc_counter~0.offset)| 1) ~guard_malloc_counter~0.offset)} is VALID [2020-07-11 01:05:48,668 INFO L280 TraceCheckUtils]: 45: Hoare triple {5728#(<= (+ |old(~guard_malloc_counter~0.offset)| 1) ~guard_malloc_counter~0.offset)} #res.base, #res.offset := ~guard_malloc_counter~0.base, ~guard_malloc_counter~0.offset; {5729#(<= (+ |old(~guard_malloc_counter~0.offset)| 1) |__getMemory_#res.offset|)} is VALID [2020-07-11 01:05:48,669 INFO L280 TraceCheckUtils]: 46: Hoare triple {5729#(<= (+ |old(~guard_malloc_counter~0.offset)| 1) |__getMemory_#res.offset|)} assume true; {5729#(<= (+ |old(~guard_malloc_counter~0.offset)| 1) |__getMemory_#res.offset|)} is VALID [2020-07-11 01:05:48,670 INFO L275 TraceCheckUtils]: 47: Hoare quadruple {5729#(<= (+ |old(~guard_malloc_counter~0.offset)| 1) |__getMemory_#res.offset|)} {5713#(= ~guard_malloc_counter~0.offset |old(~guard_malloc_counter~0.offset)|)} #92#return; {5725#(<= (+ |old(~guard_malloc_counter~0.offset)| 1) |my_malloc_#t~ret30.offset|)} is VALID [2020-07-11 01:05:48,671 INFO L280 TraceCheckUtils]: 48: Hoare triple {5725#(<= (+ |old(~guard_malloc_counter~0.offset)| 1) |my_malloc_#t~ret30.offset|)} #res.base, #res.offset := #t~ret30.base, #t~ret30.offset; {5726#(<= (+ |old(~guard_malloc_counter~0.offset)| 1) |my_malloc_#res.offset|)} is VALID [2020-07-11 01:05:48,672 INFO L280 TraceCheckUtils]: 49: Hoare triple {5726#(<= (+ |old(~guard_malloc_counter~0.offset)| 1) |my_malloc_#res.offset|)} havoc #t~ret30.base, #t~ret30.offset; {5726#(<= (+ |old(~guard_malloc_counter~0.offset)| 1) |my_malloc_#res.offset|)} is VALID [2020-07-11 01:05:48,672 INFO L280 TraceCheckUtils]: 50: Hoare triple {5726#(<= (+ |old(~guard_malloc_counter~0.offset)| 1) |my_malloc_#res.offset|)} assume true; {5726#(<= (+ |old(~guard_malloc_counter~0.offset)| 1) |my_malloc_#res.offset|)} is VALID [2020-07-11 01:05:48,674 INFO L275 TraceCheckUtils]: 51: Hoare quadruple {5726#(<= (+ |old(~guard_malloc_counter~0.offset)| 1) |my_malloc_#res.offset|)} {5654#(<= main_~dev1~0.offset ~guard_malloc_counter~0.offset)} #96#return; {5672#(<= (+ main_~dev1~0.offset 1) |main_#t~ret33.offset|)} is VALID [2020-07-11 01:05:48,675 INFO L280 TraceCheckUtils]: 52: Hoare triple {5672#(<= (+ main_~dev1~0.offset 1) |main_#t~ret33.offset|)} ~dev2~0.base, ~dev2~0.offset := #t~ret33.base, #t~ret33.offset; {5673#(<= (+ main_~dev1~0.offset 1) main_~dev2~0.offset)} is VALID [2020-07-11 01:05:48,675 INFO L280 TraceCheckUtils]: 53: Hoare triple {5673#(<= (+ main_~dev1~0.offset 1) main_~dev2~0.offset)} havoc #t~ret33.base, #t~ret33.offset; {5673#(<= (+ main_~dev1~0.offset 1) main_~dev2~0.offset)} is VALID [2020-07-11 01:05:48,676 INFO L280 TraceCheckUtils]: 54: Hoare triple {5673#(<= (+ main_~dev1~0.offset 1) main_~dev2~0.offset)} assume (~dev1~0.base != 0 || ~dev1~0.offset != 0) && (~dev2~0.base != 0 || ~dev2~0.offset != 0); {5673#(<= (+ main_~dev1~0.offset 1) main_~dev2~0.offset)} is VALID [2020-07-11 01:05:48,677 INFO L263 TraceCheckUtils]: 55: Hoare triple {5673#(<= (+ main_~dev1~0.offset 1) main_~dev2~0.offset)} call list_add(~dev2~0.base, ~dev2~0.offset, ~#head~0.base, ~#head~0.offset); {5730#(and (= ~elem~0.base |old(~elem~0.base)|) (= ~elem~0.offset |old(~elem~0.offset)|))} is VALID [2020-07-11 01:05:48,677 INFO L280 TraceCheckUtils]: 56: Hoare triple {5730#(and (= ~elem~0.base |old(~elem~0.base)|) (= ~elem~0.offset |old(~elem~0.offset)|))} ~new.base, ~new.offset := #in~new.base, #in~new.offset; {5624#true} is VALID [2020-07-11 01:05:48,678 INFO L280 TraceCheckUtils]: 57: Hoare triple {5624#true} ~head.base, ~head.offset := #in~head.base, #in~head.offset; {5624#true} is VALID [2020-07-11 01:05:48,678 INFO L280 TraceCheckUtils]: 58: Hoare triple {5624#true} assume ~new.base != ~elem~0.base || ~new.offset != ~elem~0.offset; {5624#true} is VALID [2020-07-11 01:05:48,678 INFO L280 TraceCheckUtils]: 59: Hoare triple {5624#true} assume -2147483648 <= #t~nondet31 && #t~nondet31 <= 2147483647; {5624#true} is VALID [2020-07-11 01:05:48,678 INFO L280 TraceCheckUtils]: 60: Hoare triple {5624#true} assume !(0 != #t~nondet31); {5624#true} is VALID [2020-07-11 01:05:48,678 INFO L280 TraceCheckUtils]: 61: Hoare triple {5624#true} havoc #t~nondet31; {5624#true} is VALID [2020-07-11 01:05:48,679 INFO L280 TraceCheckUtils]: 62: Hoare triple {5624#true} assume true; {5624#true} is VALID [2020-07-11 01:05:48,680 INFO L275 TraceCheckUtils]: 63: Hoare quadruple {5624#true} {5673#(<= (+ main_~dev1~0.offset 1) main_~dev2~0.offset)} #98#return; {5673#(<= (+ main_~dev1~0.offset 1) main_~dev2~0.offset)} is VALID [2020-07-11 01:05:48,682 INFO L263 TraceCheckUtils]: 64: Hoare triple {5673#(<= (+ main_~dev1~0.offset 1) main_~dev2~0.offset)} call list_add(~dev1~0.base, ~dev1~0.offset, ~#head~0.base, ~#head~0.offset); {5730#(and (= ~elem~0.base |old(~elem~0.base)|) (= ~elem~0.offset |old(~elem~0.offset)|))} is VALID [2020-07-11 01:05:48,682 INFO L280 TraceCheckUtils]: 65: Hoare triple {5730#(and (= ~elem~0.base |old(~elem~0.base)|) (= ~elem~0.offset |old(~elem~0.offset)|))} ~new.base, ~new.offset := #in~new.base, #in~new.offset; {5731#(= |list_add_#in~new.offset| list_add_~new.offset)} is VALID [2020-07-11 01:05:48,683 INFO L280 TraceCheckUtils]: 66: Hoare triple {5731#(= |list_add_#in~new.offset| list_add_~new.offset)} ~head.base, ~head.offset := #in~head.base, #in~head.offset; {5731#(= |list_add_#in~new.offset| list_add_~new.offset)} is VALID [2020-07-11 01:05:48,684 INFO L280 TraceCheckUtils]: 67: Hoare triple {5731#(= |list_add_#in~new.offset| list_add_~new.offset)} assume ~new.base != ~elem~0.base || ~new.offset != ~elem~0.offset; {5731#(= |list_add_#in~new.offset| list_add_~new.offset)} is VALID [2020-07-11 01:05:48,684 INFO L280 TraceCheckUtils]: 68: Hoare triple {5731#(= |list_add_#in~new.offset| list_add_~new.offset)} assume -2147483648 <= #t~nondet31 && #t~nondet31 <= 2147483647; {5731#(= |list_add_#in~new.offset| list_add_~new.offset)} is VALID [2020-07-11 01:05:48,685 INFO L280 TraceCheckUtils]: 69: Hoare triple {5731#(= |list_add_#in~new.offset| list_add_~new.offset)} assume 0 != #t~nondet31; {5731#(= |list_add_#in~new.offset| list_add_~new.offset)} is VALID [2020-07-11 01:05:48,685 INFO L280 TraceCheckUtils]: 70: Hoare triple {5731#(= |list_add_#in~new.offset| list_add_~new.offset)} havoc #t~nondet31; {5731#(= |list_add_#in~new.offset| list_add_~new.offset)} is VALID [2020-07-11 01:05:48,686 INFO L280 TraceCheckUtils]: 71: Hoare triple {5731#(= |list_add_#in~new.offset| list_add_~new.offset)} ~elem~0.base, ~elem~0.offset := ~new.base, ~new.offset; {5732#(= ~elem~0.offset |list_add_#in~new.offset|)} is VALID [2020-07-11 01:05:48,687 INFO L280 TraceCheckUtils]: 72: Hoare triple {5732#(= ~elem~0.offset |list_add_#in~new.offset|)} assume true; {5732#(= ~elem~0.offset |list_add_#in~new.offset|)} is VALID [2020-07-11 01:05:48,688 INFO L275 TraceCheckUtils]: 73: Hoare quadruple {5732#(= ~elem~0.offset |list_add_#in~new.offset|)} {5673#(<= (+ main_~dev1~0.offset 1) main_~dev2~0.offset)} #100#return; {5691#(<= (+ ~elem~0.offset 1) main_~dev2~0.offset)} is VALID [2020-07-11 01:05:48,690 INFO L263 TraceCheckUtils]: 74: Hoare triple {5691#(<= (+ ~elem~0.offset 1) main_~dev2~0.offset)} call list_del(~dev2~0.base, ~dev2~0.offset); {5730#(and (= ~elem~0.base |old(~elem~0.base)|) (= ~elem~0.offset |old(~elem~0.offset)|))} is VALID [2020-07-11 01:05:48,690 INFO L280 TraceCheckUtils]: 75: Hoare triple {5730#(and (= ~elem~0.base |old(~elem~0.base)|) (= ~elem~0.offset |old(~elem~0.offset)|))} ~entry.base, ~entry.offset := #in~entry.base, #in~entry.offset; {5733#(and (= |old(~elem~0.offset)| ~elem~0.offset) (= |list_del_#in~entry.offset| list_del_~entry.offset))} is VALID [2020-07-11 01:05:48,691 INFO L280 TraceCheckUtils]: 76: Hoare triple {5733#(and (= |old(~elem~0.offset)| ~elem~0.offset) (= |list_del_#in~entry.offset| list_del_~entry.offset))} assume ~entry.base == ~elem~0.base && ~entry.offset == ~elem~0.offset; {5734#(= |old(~elem~0.offset)| |list_del_#in~entry.offset|)} is VALID [2020-07-11 01:05:48,692 INFO L280 TraceCheckUtils]: 77: Hoare triple {5734#(= |old(~elem~0.offset)| |list_del_#in~entry.offset|)} ~elem~0.base, ~elem~0.offset := 0, 0; {5734#(= |old(~elem~0.offset)| |list_del_#in~entry.offset|)} is VALID [2020-07-11 01:05:48,692 INFO L280 TraceCheckUtils]: 78: Hoare triple {5734#(= |old(~elem~0.offset)| |list_del_#in~entry.offset|)} assume true; {5734#(= |old(~elem~0.offset)| |list_del_#in~entry.offset|)} is VALID [2020-07-11 01:05:48,693 INFO L275 TraceCheckUtils]: 79: Hoare quadruple {5734#(= |old(~elem~0.offset)| |list_del_#in~entry.offset|)} {5691#(<= (+ ~elem~0.offset 1) main_~dev2~0.offset)} #102#return; {5625#false} is VALID [2020-07-11 01:05:48,694 INFO L263 TraceCheckUtils]: 80: Hoare triple {5625#false} call list_add(~dev2~0.base, ~dev2~0.offset, ~#head~0.base, ~#head~0.offset); {5625#false} is VALID [2020-07-11 01:05:48,694 INFO L280 TraceCheckUtils]: 81: Hoare triple {5625#false} ~new.base, ~new.offset := #in~new.base, #in~new.offset; {5625#false} is VALID [2020-07-11 01:05:48,694 INFO L280 TraceCheckUtils]: 82: Hoare triple {5625#false} ~head.base, ~head.offset := #in~head.base, #in~head.offset; {5625#false} is VALID [2020-07-11 01:05:48,694 INFO L280 TraceCheckUtils]: 83: Hoare triple {5625#false} assume !(~new.base != ~elem~0.base || ~new.offset != ~elem~0.offset); {5625#false} is VALID [2020-07-11 01:05:48,695 INFO L263 TraceCheckUtils]: 84: Hoare triple {5625#false} call __blast_assert(); {5625#false} is VALID [2020-07-11 01:05:48,695 INFO L280 TraceCheckUtils]: 85: Hoare triple {5625#false} assume !false; {5625#false} is VALID [2020-07-11 01:05:48,707 INFO L134 CoverageAnalysis]: Checked inductivity of 30 backedges. 21 proven. 6 refuted. 0 times theorem prover too weak. 3 trivial. 0 not checked. [2020-07-11 01:05:48,708 INFO L354 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModulePreferences [244532260] [2020-07-11 01:05:48,708 INFO L220 FreeRefinementEngine]: Constructing automaton from 0 perfect and 1 imperfect interpolant sequences. [2020-07-11 01:05:48,708 INFO L233 FreeRefinementEngine]: Number of different interpolants: perfect sequences [] imperfect sequences [23] total 23 [2020-07-11 01:05:48,714 INFO L156 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [1232393476] [2020-07-11 01:05:48,716 INFO L78 Accepts]: Start accepts. Automaton has 23 states. Word has length 86 [2020-07-11 01:05:48,716 INFO L84 Accepts]: Finished accepts. word is accepted. [2020-07-11 01:05:48,716 INFO L86 InductivityCheck]: Starting indutivity check of a Floyd-Hoare automaton with 23 states. [2020-07-11 01:05:48,811 INFO L119 InductivityCheck]: Floyd-Hoare automaton has 86 edges. 86 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2020-07-11 01:05:48,812 INFO L459 AbstractCegarLoop]: Interpolant automaton has 23 states [2020-07-11 01:05:48,812 INFO L143 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy FIXED_PREFERENCES [2020-07-11 01:05:48,812 INFO L142 InterpolantAutomaton]: Constructing interpolant automaton starting with 23 interpolants. [2020-07-11 01:05:48,813 INFO L144 InterpolantAutomaton]: CoverageRelationStatistics Valid=47, Invalid=459, Unknown=0, NotChecked=0, Total=506 [2020-07-11 01:05:48,813 INFO L87 Difference]: Start difference. First operand 111 states and 121 transitions. Second operand 23 states. [2020-07-11 01:05:55,104 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2020-07-11 01:05:55,104 INFO L93 Difference]: Finished difference Result 129 states and 139 transitions. [2020-07-11 01:05:55,104 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 26 states. [2020-07-11 01:05:55,104 INFO L78 Accepts]: Start accepts. Automaton has 23 states. Word has length 86 [2020-07-11 01:05:55,105 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2020-07-11 01:05:55,105 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 23 states. [2020-07-11 01:05:55,107 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 26 states to 26 states and 97 transitions. [2020-07-11 01:05:55,108 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 23 states. [2020-07-11 01:05:55,110 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 26 states to 26 states and 97 transitions. [2020-07-11 01:05:55,111 INFO L86 InductivityCheck]: Starting indutivity check of a Floyd-Hoare automaton with 26 states and 97 transitions. [2020-07-11 01:05:55,302 INFO L119 InductivityCheck]: Floyd-Hoare automaton has 97 edges. 97 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2020-07-11 01:05:55,306 INFO L225 Difference]: With dead ends: 129 [2020-07-11 01:05:55,307 INFO L226 Difference]: Without dead ends: 112 [2020-07-11 01:05:55,308 INFO L675 BasicCegarLoop]: 0 DeclaredPredicates, 57 GetRequests, 14 SyntacticMatches, 0 SemanticMatches, 43 ConstructedPredicates, 0 IntricatePredicates, 0 DeprecatedPredicates, 232 ImplicationChecksByTransitivity, 1.3s TimeCoverageRelationStatistics Valid=214, Invalid=1766, Unknown=0, NotChecked=0, Total=1980 [2020-07-11 01:05:55,309 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 112 states. [2020-07-11 01:05:55,908 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 112 to 111. [2020-07-11 01:05:55,908 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2020-07-11 01:05:55,908 INFO L82 GeneralOperation]: Start isEquivalent. First operand 112 states. Second operand 111 states. [2020-07-11 01:05:55,909 INFO L74 IsIncluded]: Start isIncluded. First operand 112 states. Second operand 111 states. [2020-07-11 01:05:55,909 INFO L87 Difference]: Start difference. First operand 112 states. Second operand 111 states. [2020-07-11 01:05:55,914 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2020-07-11 01:05:55,915 INFO L93 Difference]: Finished difference Result 112 states and 121 transitions. [2020-07-11 01:05:55,915 INFO L276 IsEmpty]: Start isEmpty. Operand 112 states and 121 transitions. [2020-07-11 01:05:55,916 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2020-07-11 01:05:55,916 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2020-07-11 01:05:55,916 INFO L74 IsIncluded]: Start isIncluded. First operand 111 states. Second operand 112 states. [2020-07-11 01:05:55,916 INFO L87 Difference]: Start difference. First operand 111 states. Second operand 112 states. [2020-07-11 01:05:55,920 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2020-07-11 01:05:55,921 INFO L93 Difference]: Finished difference Result 112 states and 121 transitions. [2020-07-11 01:05:55,921 INFO L276 IsEmpty]: Start isEmpty. Operand 112 states and 121 transitions. [2020-07-11 01:05:55,921 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2020-07-11 01:05:55,922 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2020-07-11 01:05:55,922 INFO L88 GeneralOperation]: Finished isEquivalent. [2020-07-11 01:05:55,922 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2020-07-11 01:05:55,922 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 111 states. [2020-07-11 01:05:55,926 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 111 states to 111 states and 120 transitions. [2020-07-11 01:05:55,926 INFO L78 Accepts]: Start accepts. Automaton has 111 states and 120 transitions. Word has length 86 [2020-07-11 01:05:55,927 INFO L84 Accepts]: Finished accepts. word is rejected. [2020-07-11 01:05:55,927 INFO L479 AbstractCegarLoop]: Abstraction has 111 states and 120 transitions. [2020-07-11 01:05:55,927 INFO L480 AbstractCegarLoop]: Interpolant automaton has 23 states. [2020-07-11 01:05:55,927 INFO L86 InductivityCheck]: Starting indutivity check of a Floyd-Hoare automaton with 111 states and 120 transitions. [2020-07-11 01:05:56,251 INFO L119 InductivityCheck]: Floyd-Hoare automaton has 120 edges. 120 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2020-07-11 01:05:56,251 INFO L276 IsEmpty]: Start isEmpty. Operand 111 states and 120 transitions. [2020-07-11 01:05:56,253 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 87 [2020-07-11 01:05:56,253 INFO L414 BasicCegarLoop]: Found error trace [2020-07-11 01:05:56,253 INFO L422 BasicCegarLoop]: trace histogram [3, 3, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1] [2020-07-11 01:05:56,254 WARN L516 AbstractCegarLoop]: Destroyed unattended storables created during the last iteration: SelfDestructingSolverStorable8 [2020-07-11 01:05:56,254 INFO L427 AbstractCegarLoop]: === Iteration 10 === [__blast_assertErr0ASSERT_VIOLATIONERROR_FUNCTION]=== [2020-07-11 01:05:56,254 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2020-07-11 01:05:56,255 INFO L82 PathProgramCache]: Analyzing trace with hash -305538175, now seen corresponding path program 2 times [2020-07-11 01:05:56,255 INFO L163 FreeRefinementEngine]: Executing refinement strategy FIXED_PREFERENCES [2020-07-11 01:05:56,255 INFO L354 FreeRefinementEngine]: Using trace check IpTcStrategyModulePreferences [2090468360] [2020-07-11 01:05:56,255 INFO L94 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2020-07-11 01:05:56,275 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2020-07-11 01:05:56,485 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2020-07-11 01:05:56,491 INFO L280 TraceCheckUtils]: 0: Hoare triple {6562#(and (= |#valid| |old(#valid)|) (= ~elem~0.base |old(~elem~0.base)|) (= |#NULL.base| |old(#NULL.base)|) (= |~#head~0.base| |old(~#head~0.base)|) (= ~guard_malloc_counter~0.offset |old(~guard_malloc_counter~0.offset)|) (= |#NULL.offset| |old(#NULL.offset)|) (= ~elem~0.offset |old(~elem~0.offset)|) (= |old(#length)| |#length|) (= |~#head~0.offset| |old(~#head~0.offset)|) (= ~guard_malloc_counter~0.base |old(~guard_malloc_counter~0.base)|))} #NULL.base, #NULL.offset := 0, 0; {6487#true} is VALID [2020-07-11 01:05:56,491 INFO L280 TraceCheckUtils]: 1: Hoare triple {6487#true} #valid := #valid[0 := 0]; {6487#true} is VALID [2020-07-11 01:05:56,491 INFO L280 TraceCheckUtils]: 2: Hoare triple {6487#true} assume 0 < #StackHeapBarrier; {6487#true} is VALID [2020-07-11 01:05:56,492 INFO L280 TraceCheckUtils]: 3: Hoare triple {6487#true} ~guard_malloc_counter~0.base, ~guard_malloc_counter~0.offset := 0, 0; {6499#(= 0 ~guard_malloc_counter~0.offset)} is VALID [2020-07-11 01:05:56,493 INFO L280 TraceCheckUtils]: 4: Hoare triple {6499#(= 0 ~guard_malloc_counter~0.offset)} ~elem~0.base, ~elem~0.offset := 0, 0; {6499#(= 0 ~guard_malloc_counter~0.offset)} is VALID [2020-07-11 01:05:56,493 INFO L280 TraceCheckUtils]: 5: Hoare triple {6499#(= 0 ~guard_malloc_counter~0.offset)} SUMMARY for call ~#head~0.base, ~#head~0.offset := #Ultimate.allocOnStack(8); srcloc: L900 {6499#(= 0 ~guard_malloc_counter~0.offset)} is VALID [2020-07-11 01:05:56,494 INFO L280 TraceCheckUtils]: 6: Hoare triple {6499#(= 0 ~guard_malloc_counter~0.offset)} SUMMARY for call write~init~$Pointer$(0, 0, ~#head~0.base, ~#head~0.offset, 4); srcloc: L900-1 {6499#(= 0 ~guard_malloc_counter~0.offset)} is VALID [2020-07-11 01:05:56,494 INFO L280 TraceCheckUtils]: 7: Hoare triple {6499#(= 0 ~guard_malloc_counter~0.offset)} SUMMARY for call write~init~$Pointer$(0, 0, ~#head~0.base, 4 + ~#head~0.offset, 4); srcloc: L900-2 {6499#(= 0 ~guard_malloc_counter~0.offset)} is VALID [2020-07-11 01:05:56,495 INFO L280 TraceCheckUtils]: 8: Hoare triple {6499#(= 0 ~guard_malloc_counter~0.offset)} assume true; {6499#(= 0 ~guard_malloc_counter~0.offset)} is VALID [2020-07-11 01:05:56,495 INFO L275 TraceCheckUtils]: 9: Hoare quadruple {6499#(= 0 ~guard_malloc_counter~0.offset)} {6487#true} #112#return; {6499#(= 0 ~guard_malloc_counter~0.offset)} is VALID [2020-07-11 01:05:56,517 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2020-07-11 01:05:56,559 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2020-07-11 01:05:56,595 INFO L280 TraceCheckUtils]: 0: Hoare triple {6563#(and (= ~guard_malloc_counter~0.offset |old(~guard_malloc_counter~0.offset)|) (= ~guard_malloc_counter~0.base |old(~guard_malloc_counter~0.base)|))} ~size := #in~size; {6564#(= ~guard_malloc_counter~0.offset |old(~guard_malloc_counter~0.offset)|)} is VALID [2020-07-11 01:05:56,596 INFO L280 TraceCheckUtils]: 1: Hoare triple {6564#(= ~guard_malloc_counter~0.offset |old(~guard_malloc_counter~0.offset)|)} assume ~size > 0; {6564#(= ~guard_malloc_counter~0.offset |old(~guard_malloc_counter~0.offset)|)} is VALID [2020-07-11 01:05:56,597 INFO L280 TraceCheckUtils]: 2: Hoare triple {6564#(= ~guard_malloc_counter~0.offset |old(~guard_malloc_counter~0.offset)|)} #t~post28.base, #t~post28.offset := ~guard_malloc_counter~0.base, ~guard_malloc_counter~0.offset; {6577#(= |old(~guard_malloc_counter~0.offset)| |__getMemory_#t~post28.offset|)} is VALID [2020-07-11 01:05:56,598 INFO L280 TraceCheckUtils]: 3: Hoare triple {6577#(= |old(~guard_malloc_counter~0.offset)| |__getMemory_#t~post28.offset|)} ~guard_malloc_counter~0.base, ~guard_malloc_counter~0.offset := #t~post28.base, 1 + #t~post28.offset; {6576#(<= (+ |old(~guard_malloc_counter~0.offset)| 1) ~guard_malloc_counter~0.offset)} is VALID [2020-07-11 01:05:56,598 INFO L280 TraceCheckUtils]: 4: Hoare triple {6576#(<= (+ |old(~guard_malloc_counter~0.offset)| 1) ~guard_malloc_counter~0.offset)} havoc #t~post28.base, #t~post28.offset; {6576#(<= (+ |old(~guard_malloc_counter~0.offset)| 1) ~guard_malloc_counter~0.offset)} is VALID [2020-07-11 01:05:56,599 INFO L280 TraceCheckUtils]: 5: Hoare triple {6576#(<= (+ |old(~guard_malloc_counter~0.offset)| 1) ~guard_malloc_counter~0.offset)} assume -2147483648 <= #t~nondet29 && #t~nondet29 <= 2147483647; {6576#(<= (+ |old(~guard_malloc_counter~0.offset)| 1) ~guard_malloc_counter~0.offset)} is VALID [2020-07-11 01:05:56,600 INFO L280 TraceCheckUtils]: 6: Hoare triple {6576#(<= (+ |old(~guard_malloc_counter~0.offset)| 1) ~guard_malloc_counter~0.offset)} assume !(0 == #t~nondet29); {6576#(<= (+ |old(~guard_malloc_counter~0.offset)| 1) ~guard_malloc_counter~0.offset)} is VALID [2020-07-11 01:05:56,601 INFO L280 TraceCheckUtils]: 7: Hoare triple {6576#(<= (+ |old(~guard_malloc_counter~0.offset)| 1) ~guard_malloc_counter~0.offset)} havoc #t~nondet29; {6576#(<= (+ |old(~guard_malloc_counter~0.offset)| 1) ~guard_malloc_counter~0.offset)} is VALID [2020-07-11 01:05:56,602 INFO L280 TraceCheckUtils]: 8: Hoare triple {6576#(<= (+ |old(~guard_malloc_counter~0.offset)| 1) ~guard_malloc_counter~0.offset)} #res.base, #res.offset := ~guard_malloc_counter~0.base, ~guard_malloc_counter~0.offset; {6576#(<= (+ |old(~guard_malloc_counter~0.offset)| 1) ~guard_malloc_counter~0.offset)} is VALID [2020-07-11 01:05:56,602 INFO L280 TraceCheckUtils]: 9: Hoare triple {6576#(<= (+ |old(~guard_malloc_counter~0.offset)| 1) ~guard_malloc_counter~0.offset)} assume true; {6576#(<= (+ |old(~guard_malloc_counter~0.offset)| 1) ~guard_malloc_counter~0.offset)} is VALID [2020-07-11 01:05:56,604 INFO L275 TraceCheckUtils]: 10: Hoare quadruple {6576#(<= (+ |old(~guard_malloc_counter~0.offset)| 1) ~guard_malloc_counter~0.offset)} {6564#(= ~guard_malloc_counter~0.offset |old(~guard_malloc_counter~0.offset)|)} #92#return; {6576#(<= (+ |old(~guard_malloc_counter~0.offset)| 1) ~guard_malloc_counter~0.offset)} is VALID [2020-07-11 01:05:56,605 INFO L280 TraceCheckUtils]: 0: Hoare triple {6563#(and (= ~guard_malloc_counter~0.offset |old(~guard_malloc_counter~0.offset)|) (= ~guard_malloc_counter~0.base |old(~guard_malloc_counter~0.base)|))} ~size := #in~size; {6564#(= ~guard_malloc_counter~0.offset |old(~guard_malloc_counter~0.offset)|)} is VALID [2020-07-11 01:05:56,606 INFO L263 TraceCheckUtils]: 1: Hoare triple {6564#(= ~guard_malloc_counter~0.offset |old(~guard_malloc_counter~0.offset)|)} call #t~ret30.base, #t~ret30.offset := __getMemory(~size); {6563#(and (= ~guard_malloc_counter~0.offset |old(~guard_malloc_counter~0.offset)|) (= ~guard_malloc_counter~0.base |old(~guard_malloc_counter~0.base)|))} is VALID [2020-07-11 01:05:56,606 INFO L280 TraceCheckUtils]: 2: Hoare triple {6563#(and (= ~guard_malloc_counter~0.offset |old(~guard_malloc_counter~0.offset)|) (= ~guard_malloc_counter~0.base |old(~guard_malloc_counter~0.base)|))} ~size := #in~size; {6564#(= ~guard_malloc_counter~0.offset |old(~guard_malloc_counter~0.offset)|)} is VALID [2020-07-11 01:05:56,607 INFO L280 TraceCheckUtils]: 3: Hoare triple {6564#(= ~guard_malloc_counter~0.offset |old(~guard_malloc_counter~0.offset)|)} assume ~size > 0; {6564#(= ~guard_malloc_counter~0.offset |old(~guard_malloc_counter~0.offset)|)} is VALID [2020-07-11 01:05:56,608 INFO L280 TraceCheckUtils]: 4: Hoare triple {6564#(= ~guard_malloc_counter~0.offset |old(~guard_malloc_counter~0.offset)|)} #t~post28.base, #t~post28.offset := ~guard_malloc_counter~0.base, ~guard_malloc_counter~0.offset; {6577#(= |old(~guard_malloc_counter~0.offset)| |__getMemory_#t~post28.offset|)} is VALID [2020-07-11 01:05:56,609 INFO L280 TraceCheckUtils]: 5: Hoare triple {6577#(= |old(~guard_malloc_counter~0.offset)| |__getMemory_#t~post28.offset|)} ~guard_malloc_counter~0.base, ~guard_malloc_counter~0.offset := #t~post28.base, 1 + #t~post28.offset; {6576#(<= (+ |old(~guard_malloc_counter~0.offset)| 1) ~guard_malloc_counter~0.offset)} is VALID [2020-07-11 01:05:56,609 INFO L280 TraceCheckUtils]: 6: Hoare triple {6576#(<= (+ |old(~guard_malloc_counter~0.offset)| 1) ~guard_malloc_counter~0.offset)} havoc #t~post28.base, #t~post28.offset; {6576#(<= (+ |old(~guard_malloc_counter~0.offset)| 1) ~guard_malloc_counter~0.offset)} is VALID [2020-07-11 01:05:56,610 INFO L280 TraceCheckUtils]: 7: Hoare triple {6576#(<= (+ |old(~guard_malloc_counter~0.offset)| 1) ~guard_malloc_counter~0.offset)} assume -2147483648 <= #t~nondet29 && #t~nondet29 <= 2147483647; {6576#(<= (+ |old(~guard_malloc_counter~0.offset)| 1) ~guard_malloc_counter~0.offset)} is VALID [2020-07-11 01:05:56,610 INFO L280 TraceCheckUtils]: 8: Hoare triple {6576#(<= (+ |old(~guard_malloc_counter~0.offset)| 1) ~guard_malloc_counter~0.offset)} assume !(0 == #t~nondet29); {6576#(<= (+ |old(~guard_malloc_counter~0.offset)| 1) ~guard_malloc_counter~0.offset)} is VALID [2020-07-11 01:05:56,611 INFO L280 TraceCheckUtils]: 9: Hoare triple {6576#(<= (+ |old(~guard_malloc_counter~0.offset)| 1) ~guard_malloc_counter~0.offset)} havoc #t~nondet29; {6576#(<= (+ |old(~guard_malloc_counter~0.offset)| 1) ~guard_malloc_counter~0.offset)} is VALID [2020-07-11 01:05:56,612 INFO L280 TraceCheckUtils]: 10: Hoare triple {6576#(<= (+ |old(~guard_malloc_counter~0.offset)| 1) ~guard_malloc_counter~0.offset)} #res.base, #res.offset := ~guard_malloc_counter~0.base, ~guard_malloc_counter~0.offset; {6576#(<= (+ |old(~guard_malloc_counter~0.offset)| 1) ~guard_malloc_counter~0.offset)} is VALID [2020-07-11 01:05:56,612 INFO L280 TraceCheckUtils]: 11: Hoare triple {6576#(<= (+ |old(~guard_malloc_counter~0.offset)| 1) ~guard_malloc_counter~0.offset)} assume true; {6576#(<= (+ |old(~guard_malloc_counter~0.offset)| 1) ~guard_malloc_counter~0.offset)} is VALID [2020-07-11 01:05:56,613 INFO L275 TraceCheckUtils]: 12: Hoare quadruple {6576#(<= (+ |old(~guard_malloc_counter~0.offset)| 1) ~guard_malloc_counter~0.offset)} {6564#(= ~guard_malloc_counter~0.offset |old(~guard_malloc_counter~0.offset)|)} #92#return; {6576#(<= (+ |old(~guard_malloc_counter~0.offset)| 1) ~guard_malloc_counter~0.offset)} is VALID [2020-07-11 01:05:56,614 INFO L280 TraceCheckUtils]: 13: Hoare triple {6576#(<= (+ |old(~guard_malloc_counter~0.offset)| 1) ~guard_malloc_counter~0.offset)} #res.base, #res.offset := #t~ret30.base, #t~ret30.offset; {6576#(<= (+ |old(~guard_malloc_counter~0.offset)| 1) ~guard_malloc_counter~0.offset)} is VALID [2020-07-11 01:05:56,614 INFO L280 TraceCheckUtils]: 14: Hoare triple {6576#(<= (+ |old(~guard_malloc_counter~0.offset)| 1) ~guard_malloc_counter~0.offset)} havoc #t~ret30.base, #t~ret30.offset; {6576#(<= (+ |old(~guard_malloc_counter~0.offset)| 1) ~guard_malloc_counter~0.offset)} is VALID [2020-07-11 01:05:56,615 INFO L280 TraceCheckUtils]: 15: Hoare triple {6576#(<= (+ |old(~guard_malloc_counter~0.offset)| 1) ~guard_malloc_counter~0.offset)} assume true; {6576#(<= (+ |old(~guard_malloc_counter~0.offset)| 1) ~guard_malloc_counter~0.offset)} is VALID [2020-07-11 01:05:56,616 INFO L275 TraceCheckUtils]: 16: Hoare quadruple {6576#(<= (+ |old(~guard_malloc_counter~0.offset)| 1) ~guard_malloc_counter~0.offset)} {6499#(= 0 ~guard_malloc_counter~0.offset)} #94#return; {6517#(<= 1 ~guard_malloc_counter~0.offset)} is VALID [2020-07-11 01:05:56,619 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2020-07-11 01:05:56,675 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2020-07-11 01:05:56,709 INFO L280 TraceCheckUtils]: 0: Hoare triple {6563#(and (= ~guard_malloc_counter~0.offset |old(~guard_malloc_counter~0.offset)|) (= ~guard_malloc_counter~0.base |old(~guard_malloc_counter~0.base)|))} ~size := #in~size; {6564#(= ~guard_malloc_counter~0.offset |old(~guard_malloc_counter~0.offset)|)} is VALID [2020-07-11 01:05:56,709 INFO L280 TraceCheckUtils]: 1: Hoare triple {6564#(= ~guard_malloc_counter~0.offset |old(~guard_malloc_counter~0.offset)|)} assume ~size > 0; {6564#(= ~guard_malloc_counter~0.offset |old(~guard_malloc_counter~0.offset)|)} is VALID [2020-07-11 01:05:56,710 INFO L280 TraceCheckUtils]: 2: Hoare triple {6564#(= ~guard_malloc_counter~0.offset |old(~guard_malloc_counter~0.offset)|)} #t~post28.base, #t~post28.offset := ~guard_malloc_counter~0.base, ~guard_malloc_counter~0.offset; {6577#(= |old(~guard_malloc_counter~0.offset)| |__getMemory_#t~post28.offset|)} is VALID [2020-07-11 01:05:56,711 INFO L280 TraceCheckUtils]: 3: Hoare triple {6577#(= |old(~guard_malloc_counter~0.offset)| |__getMemory_#t~post28.offset|)} ~guard_malloc_counter~0.base, ~guard_malloc_counter~0.offset := #t~post28.base, 1 + #t~post28.offset; {6576#(<= (+ |old(~guard_malloc_counter~0.offset)| 1) ~guard_malloc_counter~0.offset)} is VALID [2020-07-11 01:05:56,711 INFO L280 TraceCheckUtils]: 4: Hoare triple {6576#(<= (+ |old(~guard_malloc_counter~0.offset)| 1) ~guard_malloc_counter~0.offset)} havoc #t~post28.base, #t~post28.offset; {6576#(<= (+ |old(~guard_malloc_counter~0.offset)| 1) ~guard_malloc_counter~0.offset)} is VALID [2020-07-11 01:05:56,712 INFO L280 TraceCheckUtils]: 5: Hoare triple {6576#(<= (+ |old(~guard_malloc_counter~0.offset)| 1) ~guard_malloc_counter~0.offset)} assume -2147483648 <= #t~nondet29 && #t~nondet29 <= 2147483647; {6576#(<= (+ |old(~guard_malloc_counter~0.offset)| 1) ~guard_malloc_counter~0.offset)} is VALID [2020-07-11 01:05:56,713 INFO L280 TraceCheckUtils]: 6: Hoare triple {6576#(<= (+ |old(~guard_malloc_counter~0.offset)| 1) ~guard_malloc_counter~0.offset)} assume !(0 == #t~nondet29); {6576#(<= (+ |old(~guard_malloc_counter~0.offset)| 1) ~guard_malloc_counter~0.offset)} is VALID [2020-07-11 01:05:56,713 INFO L280 TraceCheckUtils]: 7: Hoare triple {6576#(<= (+ |old(~guard_malloc_counter~0.offset)| 1) ~guard_malloc_counter~0.offset)} havoc #t~nondet29; {6576#(<= (+ |old(~guard_malloc_counter~0.offset)| 1) ~guard_malloc_counter~0.offset)} is VALID [2020-07-11 01:05:56,714 INFO L280 TraceCheckUtils]: 8: Hoare triple {6576#(<= (+ |old(~guard_malloc_counter~0.offset)| 1) ~guard_malloc_counter~0.offset)} #res.base, #res.offset := ~guard_malloc_counter~0.base, ~guard_malloc_counter~0.offset; {6591#(<= (+ |old(~guard_malloc_counter~0.offset)| 1) |__getMemory_#res.offset|)} is VALID [2020-07-11 01:05:56,715 INFO L280 TraceCheckUtils]: 9: Hoare triple {6591#(<= (+ |old(~guard_malloc_counter~0.offset)| 1) |__getMemory_#res.offset|)} assume true; {6591#(<= (+ |old(~guard_malloc_counter~0.offset)| 1) |__getMemory_#res.offset|)} is VALID [2020-07-11 01:05:56,716 INFO L275 TraceCheckUtils]: 10: Hoare quadruple {6591#(<= (+ |old(~guard_malloc_counter~0.offset)| 1) |__getMemory_#res.offset|)} {6564#(= ~guard_malloc_counter~0.offset |old(~guard_malloc_counter~0.offset)|)} #92#return; {6589#(<= (+ |old(~guard_malloc_counter~0.offset)| 1) |my_malloc_#t~ret30.offset|)} is VALID [2020-07-11 01:05:56,717 INFO L280 TraceCheckUtils]: 0: Hoare triple {6563#(and (= ~guard_malloc_counter~0.offset |old(~guard_malloc_counter~0.offset)|) (= ~guard_malloc_counter~0.base |old(~guard_malloc_counter~0.base)|))} ~size := #in~size; {6564#(= ~guard_malloc_counter~0.offset |old(~guard_malloc_counter~0.offset)|)} is VALID [2020-07-11 01:05:56,718 INFO L263 TraceCheckUtils]: 1: Hoare triple {6564#(= ~guard_malloc_counter~0.offset |old(~guard_malloc_counter~0.offset)|)} call #t~ret30.base, #t~ret30.offset := __getMemory(~size); {6563#(and (= ~guard_malloc_counter~0.offset |old(~guard_malloc_counter~0.offset)|) (= ~guard_malloc_counter~0.base |old(~guard_malloc_counter~0.base)|))} is VALID [2020-07-11 01:05:56,718 INFO L280 TraceCheckUtils]: 2: Hoare triple {6563#(and (= ~guard_malloc_counter~0.offset |old(~guard_malloc_counter~0.offset)|) (= ~guard_malloc_counter~0.base |old(~guard_malloc_counter~0.base)|))} ~size := #in~size; {6564#(= ~guard_malloc_counter~0.offset |old(~guard_malloc_counter~0.offset)|)} is VALID [2020-07-11 01:05:56,719 INFO L280 TraceCheckUtils]: 3: Hoare triple {6564#(= ~guard_malloc_counter~0.offset |old(~guard_malloc_counter~0.offset)|)} assume ~size > 0; {6564#(= ~guard_malloc_counter~0.offset |old(~guard_malloc_counter~0.offset)|)} is VALID [2020-07-11 01:05:56,719 INFO L280 TraceCheckUtils]: 4: Hoare triple {6564#(= ~guard_malloc_counter~0.offset |old(~guard_malloc_counter~0.offset)|)} #t~post28.base, #t~post28.offset := ~guard_malloc_counter~0.base, ~guard_malloc_counter~0.offset; {6577#(= |old(~guard_malloc_counter~0.offset)| |__getMemory_#t~post28.offset|)} is VALID [2020-07-11 01:05:56,720 INFO L280 TraceCheckUtils]: 5: Hoare triple {6577#(= |old(~guard_malloc_counter~0.offset)| |__getMemory_#t~post28.offset|)} ~guard_malloc_counter~0.base, ~guard_malloc_counter~0.offset := #t~post28.base, 1 + #t~post28.offset; {6576#(<= (+ |old(~guard_malloc_counter~0.offset)| 1) ~guard_malloc_counter~0.offset)} is VALID [2020-07-11 01:05:56,721 INFO L280 TraceCheckUtils]: 6: Hoare triple {6576#(<= (+ |old(~guard_malloc_counter~0.offset)| 1) ~guard_malloc_counter~0.offset)} havoc #t~post28.base, #t~post28.offset; {6576#(<= (+ |old(~guard_malloc_counter~0.offset)| 1) ~guard_malloc_counter~0.offset)} is VALID [2020-07-11 01:05:56,721 INFO L280 TraceCheckUtils]: 7: Hoare triple {6576#(<= (+ |old(~guard_malloc_counter~0.offset)| 1) ~guard_malloc_counter~0.offset)} assume -2147483648 <= #t~nondet29 && #t~nondet29 <= 2147483647; {6576#(<= (+ |old(~guard_malloc_counter~0.offset)| 1) ~guard_malloc_counter~0.offset)} is VALID [2020-07-11 01:05:56,722 INFO L280 TraceCheckUtils]: 8: Hoare triple {6576#(<= (+ |old(~guard_malloc_counter~0.offset)| 1) ~guard_malloc_counter~0.offset)} assume !(0 == #t~nondet29); {6576#(<= (+ |old(~guard_malloc_counter~0.offset)| 1) ~guard_malloc_counter~0.offset)} is VALID [2020-07-11 01:05:56,722 INFO L280 TraceCheckUtils]: 9: Hoare triple {6576#(<= (+ |old(~guard_malloc_counter~0.offset)| 1) ~guard_malloc_counter~0.offset)} havoc #t~nondet29; {6576#(<= (+ |old(~guard_malloc_counter~0.offset)| 1) ~guard_malloc_counter~0.offset)} is VALID [2020-07-11 01:05:56,723 INFO L280 TraceCheckUtils]: 10: Hoare triple {6576#(<= (+ |old(~guard_malloc_counter~0.offset)| 1) ~guard_malloc_counter~0.offset)} #res.base, #res.offset := ~guard_malloc_counter~0.base, ~guard_malloc_counter~0.offset; {6591#(<= (+ |old(~guard_malloc_counter~0.offset)| 1) |__getMemory_#res.offset|)} is VALID [2020-07-11 01:05:56,723 INFO L280 TraceCheckUtils]: 11: Hoare triple {6591#(<= (+ |old(~guard_malloc_counter~0.offset)| 1) |__getMemory_#res.offset|)} assume true; {6591#(<= (+ |old(~guard_malloc_counter~0.offset)| 1) |__getMemory_#res.offset|)} is VALID [2020-07-11 01:05:56,724 INFO L275 TraceCheckUtils]: 12: Hoare quadruple {6591#(<= (+ |old(~guard_malloc_counter~0.offset)| 1) |__getMemory_#res.offset|)} {6564#(= ~guard_malloc_counter~0.offset |old(~guard_malloc_counter~0.offset)|)} #92#return; {6589#(<= (+ |old(~guard_malloc_counter~0.offset)| 1) |my_malloc_#t~ret30.offset|)} is VALID [2020-07-11 01:05:56,724 INFO L280 TraceCheckUtils]: 13: Hoare triple {6589#(<= (+ |old(~guard_malloc_counter~0.offset)| 1) |my_malloc_#t~ret30.offset|)} #res.base, #res.offset := #t~ret30.base, #t~ret30.offset; {6590#(<= (+ |old(~guard_malloc_counter~0.offset)| 1) |my_malloc_#res.offset|)} is VALID [2020-07-11 01:05:56,725 INFO L280 TraceCheckUtils]: 14: Hoare triple {6590#(<= (+ |old(~guard_malloc_counter~0.offset)| 1) |my_malloc_#res.offset|)} havoc #t~ret30.base, #t~ret30.offset; {6590#(<= (+ |old(~guard_malloc_counter~0.offset)| 1) |my_malloc_#res.offset|)} is VALID [2020-07-11 01:05:56,725 INFO L280 TraceCheckUtils]: 15: Hoare triple {6590#(<= (+ |old(~guard_malloc_counter~0.offset)| 1) |my_malloc_#res.offset|)} assume true; {6590#(<= (+ |old(~guard_malloc_counter~0.offset)| 1) |my_malloc_#res.offset|)} is VALID [2020-07-11 01:05:56,727 INFO L275 TraceCheckUtils]: 16: Hoare quadruple {6590#(<= (+ |old(~guard_malloc_counter~0.offset)| 1) |my_malloc_#res.offset|)} {6517#(<= 1 ~guard_malloc_counter~0.offset)} #96#return; {6535#(<= 2 |main_#t~ret33.offset|)} is VALID [2020-07-11 01:05:56,759 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2020-07-11 01:05:56,768 INFO L280 TraceCheckUtils]: 0: Hoare triple {6592#(and (= ~elem~0.base |old(~elem~0.base)|) (= ~elem~0.offset |old(~elem~0.offset)|))} ~new.base, ~new.offset := #in~new.base, #in~new.offset; {6487#true} is VALID [2020-07-11 01:05:56,769 INFO L280 TraceCheckUtils]: 1: Hoare triple {6487#true} ~head.base, ~head.offset := #in~head.base, #in~head.offset; {6487#true} is VALID [2020-07-11 01:05:56,769 INFO L280 TraceCheckUtils]: 2: Hoare triple {6487#true} assume ~new.base != ~elem~0.base || ~new.offset != ~elem~0.offset; {6487#true} is VALID [2020-07-11 01:05:56,769 INFO L280 TraceCheckUtils]: 3: Hoare triple {6487#true} assume -2147483648 <= #t~nondet31 && #t~nondet31 <= 2147483647; {6487#true} is VALID [2020-07-11 01:05:56,769 INFO L280 TraceCheckUtils]: 4: Hoare triple {6487#true} assume 0 != #t~nondet31; {6487#true} is VALID [2020-07-11 01:05:56,770 INFO L280 TraceCheckUtils]: 5: Hoare triple {6487#true} havoc #t~nondet31; {6487#true} is VALID [2020-07-11 01:05:56,770 INFO L280 TraceCheckUtils]: 6: Hoare triple {6487#true} ~elem~0.base, ~elem~0.offset := ~new.base, ~new.offset; {6487#true} is VALID [2020-07-11 01:05:56,770 INFO L280 TraceCheckUtils]: 7: Hoare triple {6487#true} assume true; {6487#true} is VALID [2020-07-11 01:05:56,771 INFO L275 TraceCheckUtils]: 8: Hoare quadruple {6487#true} {6536#(<= 2 main_~dev2~0.offset)} #98#return; {6536#(<= 2 main_~dev2~0.offset)} is VALID [2020-07-11 01:05:56,773 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2020-07-11 01:05:56,777 INFO L280 TraceCheckUtils]: 0: Hoare triple {6592#(and (= ~elem~0.base |old(~elem~0.base)|) (= ~elem~0.offset |old(~elem~0.offset)|))} ~new.base, ~new.offset := #in~new.base, #in~new.offset; {6487#true} is VALID [2020-07-11 01:05:56,778 INFO L280 TraceCheckUtils]: 1: Hoare triple {6487#true} ~head.base, ~head.offset := #in~head.base, #in~head.offset; {6487#true} is VALID [2020-07-11 01:05:56,778 INFO L280 TraceCheckUtils]: 2: Hoare triple {6487#true} assume ~new.base != ~elem~0.base || ~new.offset != ~elem~0.offset; {6487#true} is VALID [2020-07-11 01:05:56,778 INFO L280 TraceCheckUtils]: 3: Hoare triple {6487#true} assume -2147483648 <= #t~nondet31 && #t~nondet31 <= 2147483647; {6487#true} is VALID [2020-07-11 01:05:56,778 INFO L280 TraceCheckUtils]: 4: Hoare triple {6487#true} assume !(0 != #t~nondet31); {6487#true} is VALID [2020-07-11 01:05:56,778 INFO L280 TraceCheckUtils]: 5: Hoare triple {6487#true} havoc #t~nondet31; {6487#true} is VALID [2020-07-11 01:05:56,779 INFO L280 TraceCheckUtils]: 6: Hoare triple {6487#true} assume true; {6487#true} is VALID [2020-07-11 01:05:56,780 INFO L275 TraceCheckUtils]: 7: Hoare quadruple {6487#true} {6536#(<= 2 main_~dev2~0.offset)} #100#return; {6536#(<= 2 main_~dev2~0.offset)} is VALID [2020-07-11 01:05:56,781 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2020-07-11 01:05:56,805 INFO L280 TraceCheckUtils]: 0: Hoare triple {6592#(and (= ~elem~0.base |old(~elem~0.base)|) (= ~elem~0.offset |old(~elem~0.offset)|))} ~entry.base, ~entry.offset := #in~entry.base, #in~entry.offset; {6487#true} is VALID [2020-07-11 01:05:56,806 INFO L280 TraceCheckUtils]: 1: Hoare triple {6487#true} assume ~entry.base == ~elem~0.base && ~entry.offset == ~elem~0.offset; {6487#true} is VALID [2020-07-11 01:05:56,806 INFO L280 TraceCheckUtils]: 2: Hoare triple {6487#true} ~elem~0.base, ~elem~0.offset := 0, 0; {6593#(= 0 ~elem~0.offset)} is VALID [2020-07-11 01:05:56,806 INFO L280 TraceCheckUtils]: 3: Hoare triple {6593#(= 0 ~elem~0.offset)} assume true; {6593#(= 0 ~elem~0.offset)} is VALID [2020-07-11 01:05:56,807 INFO L275 TraceCheckUtils]: 4: Hoare quadruple {6593#(= 0 ~elem~0.offset)} {6536#(<= 2 main_~dev2~0.offset)} #102#return; {6559#(and (= 0 ~elem~0.offset) (<= 2 main_~dev2~0.offset))} is VALID [2020-07-11 01:05:56,808 INFO L263 TraceCheckUtils]: 0: Hoare triple {6487#true} call ULTIMATE.init(); {6562#(and (= |#valid| |old(#valid)|) (= ~elem~0.base |old(~elem~0.base)|) (= |#NULL.base| |old(#NULL.base)|) (= |~#head~0.base| |old(~#head~0.base)|) (= ~guard_malloc_counter~0.offset |old(~guard_malloc_counter~0.offset)|) (= |#NULL.offset| |old(#NULL.offset)|) (= ~elem~0.offset |old(~elem~0.offset)|) (= |old(#length)| |#length|) (= |~#head~0.offset| |old(~#head~0.offset)|) (= ~guard_malloc_counter~0.base |old(~guard_malloc_counter~0.base)|))} is VALID [2020-07-11 01:05:56,809 INFO L280 TraceCheckUtils]: 1: Hoare triple {6562#(and (= |#valid| |old(#valid)|) (= ~elem~0.base |old(~elem~0.base)|) (= |#NULL.base| |old(#NULL.base)|) (= |~#head~0.base| |old(~#head~0.base)|) (= ~guard_malloc_counter~0.offset |old(~guard_malloc_counter~0.offset)|) (= |#NULL.offset| |old(#NULL.offset)|) (= ~elem~0.offset |old(~elem~0.offset)|) (= |old(#length)| |#length|) (= |~#head~0.offset| |old(~#head~0.offset)|) (= ~guard_malloc_counter~0.base |old(~guard_malloc_counter~0.base)|))} #NULL.base, #NULL.offset := 0, 0; {6487#true} is VALID [2020-07-11 01:05:56,809 INFO L280 TraceCheckUtils]: 2: Hoare triple {6487#true} #valid := #valid[0 := 0]; {6487#true} is VALID [2020-07-11 01:05:56,809 INFO L280 TraceCheckUtils]: 3: Hoare triple {6487#true} assume 0 < #StackHeapBarrier; {6487#true} is VALID [2020-07-11 01:05:56,810 INFO L280 TraceCheckUtils]: 4: Hoare triple {6487#true} ~guard_malloc_counter~0.base, ~guard_malloc_counter~0.offset := 0, 0; {6499#(= 0 ~guard_malloc_counter~0.offset)} is VALID [2020-07-11 01:05:56,810 INFO L280 TraceCheckUtils]: 5: Hoare triple {6499#(= 0 ~guard_malloc_counter~0.offset)} ~elem~0.base, ~elem~0.offset := 0, 0; {6499#(= 0 ~guard_malloc_counter~0.offset)} is VALID [2020-07-11 01:05:56,811 INFO L280 TraceCheckUtils]: 6: Hoare triple {6499#(= 0 ~guard_malloc_counter~0.offset)} SUMMARY for call ~#head~0.base, ~#head~0.offset := #Ultimate.allocOnStack(8); srcloc: L900 {6499#(= 0 ~guard_malloc_counter~0.offset)} is VALID [2020-07-11 01:05:56,811 INFO L280 TraceCheckUtils]: 7: Hoare triple {6499#(= 0 ~guard_malloc_counter~0.offset)} SUMMARY for call write~init~$Pointer$(0, 0, ~#head~0.base, ~#head~0.offset, 4); srcloc: L900-1 {6499#(= 0 ~guard_malloc_counter~0.offset)} is VALID [2020-07-11 01:05:56,812 INFO L280 TraceCheckUtils]: 8: Hoare triple {6499#(= 0 ~guard_malloc_counter~0.offset)} SUMMARY for call write~init~$Pointer$(0, 0, ~#head~0.base, 4 + ~#head~0.offset, 4); srcloc: L900-2 {6499#(= 0 ~guard_malloc_counter~0.offset)} is VALID [2020-07-11 01:05:56,812 INFO L280 TraceCheckUtils]: 9: Hoare triple {6499#(= 0 ~guard_malloc_counter~0.offset)} assume true; {6499#(= 0 ~guard_malloc_counter~0.offset)} is VALID [2020-07-11 01:05:56,812 INFO L275 TraceCheckUtils]: 10: Hoare quadruple {6499#(= 0 ~guard_malloc_counter~0.offset)} {6487#true} #112#return; {6499#(= 0 ~guard_malloc_counter~0.offset)} is VALID [2020-07-11 01:05:56,813 INFO L263 TraceCheckUtils]: 11: Hoare triple {6499#(= 0 ~guard_malloc_counter~0.offset)} call #t~ret34 := main(); {6499#(= 0 ~guard_malloc_counter~0.offset)} is VALID [2020-07-11 01:05:56,813 INFO L280 TraceCheckUtils]: 12: Hoare triple {6499#(= 0 ~guard_malloc_counter~0.offset)} havoc ~dev1~0.base, ~dev1~0.offset; {6499#(= 0 ~guard_malloc_counter~0.offset)} is VALID [2020-07-11 01:05:56,813 INFO L280 TraceCheckUtils]: 13: Hoare triple {6499#(= 0 ~guard_malloc_counter~0.offset)} havoc ~dev2~0.base, ~dev2~0.offset; {6499#(= 0 ~guard_malloc_counter~0.offset)} is VALID [2020-07-11 01:05:56,814 INFO L263 TraceCheckUtils]: 14: Hoare triple {6499#(= 0 ~guard_malloc_counter~0.offset)} call #t~ret32.base, #t~ret32.offset := my_malloc(8); {6563#(and (= ~guard_malloc_counter~0.offset |old(~guard_malloc_counter~0.offset)|) (= ~guard_malloc_counter~0.base |old(~guard_malloc_counter~0.base)|))} is VALID [2020-07-11 01:05:56,815 INFO L280 TraceCheckUtils]: 15: Hoare triple {6563#(and (= ~guard_malloc_counter~0.offset |old(~guard_malloc_counter~0.offset)|) (= ~guard_malloc_counter~0.base |old(~guard_malloc_counter~0.base)|))} ~size := #in~size; {6564#(= ~guard_malloc_counter~0.offset |old(~guard_malloc_counter~0.offset)|)} is VALID [2020-07-11 01:05:56,816 INFO L263 TraceCheckUtils]: 16: Hoare triple {6564#(= ~guard_malloc_counter~0.offset |old(~guard_malloc_counter~0.offset)|)} call #t~ret30.base, #t~ret30.offset := __getMemory(~size); {6563#(and (= ~guard_malloc_counter~0.offset |old(~guard_malloc_counter~0.offset)|) (= ~guard_malloc_counter~0.base |old(~guard_malloc_counter~0.base)|))} is VALID [2020-07-11 01:05:56,817 INFO L280 TraceCheckUtils]: 17: Hoare triple {6563#(and (= ~guard_malloc_counter~0.offset |old(~guard_malloc_counter~0.offset)|) (= ~guard_malloc_counter~0.base |old(~guard_malloc_counter~0.base)|))} ~size := #in~size; {6564#(= ~guard_malloc_counter~0.offset |old(~guard_malloc_counter~0.offset)|)} is VALID [2020-07-11 01:05:56,817 INFO L280 TraceCheckUtils]: 18: Hoare triple {6564#(= ~guard_malloc_counter~0.offset |old(~guard_malloc_counter~0.offset)|)} assume ~size > 0; {6564#(= ~guard_malloc_counter~0.offset |old(~guard_malloc_counter~0.offset)|)} is VALID [2020-07-11 01:05:56,817 INFO L280 TraceCheckUtils]: 19: Hoare triple {6564#(= ~guard_malloc_counter~0.offset |old(~guard_malloc_counter~0.offset)|)} #t~post28.base, #t~post28.offset := ~guard_malloc_counter~0.base, ~guard_malloc_counter~0.offset; {6577#(= |old(~guard_malloc_counter~0.offset)| |__getMemory_#t~post28.offset|)} is VALID [2020-07-11 01:05:56,818 INFO L280 TraceCheckUtils]: 20: Hoare triple {6577#(= |old(~guard_malloc_counter~0.offset)| |__getMemory_#t~post28.offset|)} ~guard_malloc_counter~0.base, ~guard_malloc_counter~0.offset := #t~post28.base, 1 + #t~post28.offset; {6576#(<= (+ |old(~guard_malloc_counter~0.offset)| 1) ~guard_malloc_counter~0.offset)} is VALID [2020-07-11 01:05:56,818 INFO L280 TraceCheckUtils]: 21: Hoare triple {6576#(<= (+ |old(~guard_malloc_counter~0.offset)| 1) ~guard_malloc_counter~0.offset)} havoc #t~post28.base, #t~post28.offset; {6576#(<= (+ |old(~guard_malloc_counter~0.offset)| 1) ~guard_malloc_counter~0.offset)} is VALID [2020-07-11 01:05:56,819 INFO L280 TraceCheckUtils]: 22: Hoare triple {6576#(<= (+ |old(~guard_malloc_counter~0.offset)| 1) ~guard_malloc_counter~0.offset)} assume -2147483648 <= #t~nondet29 && #t~nondet29 <= 2147483647; {6576#(<= (+ |old(~guard_malloc_counter~0.offset)| 1) ~guard_malloc_counter~0.offset)} is VALID [2020-07-11 01:05:56,819 INFO L280 TraceCheckUtils]: 23: Hoare triple {6576#(<= (+ |old(~guard_malloc_counter~0.offset)| 1) ~guard_malloc_counter~0.offset)} assume !(0 == #t~nondet29); {6576#(<= (+ |old(~guard_malloc_counter~0.offset)| 1) ~guard_malloc_counter~0.offset)} is VALID [2020-07-11 01:05:56,819 INFO L280 TraceCheckUtils]: 24: Hoare triple {6576#(<= (+ |old(~guard_malloc_counter~0.offset)| 1) ~guard_malloc_counter~0.offset)} havoc #t~nondet29; {6576#(<= (+ |old(~guard_malloc_counter~0.offset)| 1) ~guard_malloc_counter~0.offset)} is VALID [2020-07-11 01:05:56,820 INFO L280 TraceCheckUtils]: 25: Hoare triple {6576#(<= (+ |old(~guard_malloc_counter~0.offset)| 1) ~guard_malloc_counter~0.offset)} #res.base, #res.offset := ~guard_malloc_counter~0.base, ~guard_malloc_counter~0.offset; {6576#(<= (+ |old(~guard_malloc_counter~0.offset)| 1) ~guard_malloc_counter~0.offset)} is VALID [2020-07-11 01:05:56,820 INFO L280 TraceCheckUtils]: 26: Hoare triple {6576#(<= (+ |old(~guard_malloc_counter~0.offset)| 1) ~guard_malloc_counter~0.offset)} assume true; {6576#(<= (+ |old(~guard_malloc_counter~0.offset)| 1) ~guard_malloc_counter~0.offset)} is VALID [2020-07-11 01:05:56,821 INFO L275 TraceCheckUtils]: 27: Hoare quadruple {6576#(<= (+ |old(~guard_malloc_counter~0.offset)| 1) ~guard_malloc_counter~0.offset)} {6564#(= ~guard_malloc_counter~0.offset |old(~guard_malloc_counter~0.offset)|)} #92#return; {6576#(<= (+ |old(~guard_malloc_counter~0.offset)| 1) ~guard_malloc_counter~0.offset)} is VALID [2020-07-11 01:05:56,822 INFO L280 TraceCheckUtils]: 28: Hoare triple {6576#(<= (+ |old(~guard_malloc_counter~0.offset)| 1) ~guard_malloc_counter~0.offset)} #res.base, #res.offset := #t~ret30.base, #t~ret30.offset; {6576#(<= (+ |old(~guard_malloc_counter~0.offset)| 1) ~guard_malloc_counter~0.offset)} is VALID [2020-07-11 01:05:56,823 INFO L280 TraceCheckUtils]: 29: Hoare triple {6576#(<= (+ |old(~guard_malloc_counter~0.offset)| 1) ~guard_malloc_counter~0.offset)} havoc #t~ret30.base, #t~ret30.offset; {6576#(<= (+ |old(~guard_malloc_counter~0.offset)| 1) ~guard_malloc_counter~0.offset)} is VALID [2020-07-11 01:05:56,823 INFO L280 TraceCheckUtils]: 30: Hoare triple {6576#(<= (+ |old(~guard_malloc_counter~0.offset)| 1) ~guard_malloc_counter~0.offset)} assume true; {6576#(<= (+ |old(~guard_malloc_counter~0.offset)| 1) ~guard_malloc_counter~0.offset)} is VALID [2020-07-11 01:05:56,824 INFO L275 TraceCheckUtils]: 31: Hoare quadruple {6576#(<= (+ |old(~guard_malloc_counter~0.offset)| 1) ~guard_malloc_counter~0.offset)} {6499#(= 0 ~guard_malloc_counter~0.offset)} #94#return; {6517#(<= 1 ~guard_malloc_counter~0.offset)} is VALID [2020-07-11 01:05:56,824 INFO L280 TraceCheckUtils]: 32: Hoare triple {6517#(<= 1 ~guard_malloc_counter~0.offset)} ~dev1~0.base, ~dev1~0.offset := #t~ret32.base, #t~ret32.offset; {6517#(<= 1 ~guard_malloc_counter~0.offset)} is VALID [2020-07-11 01:05:56,825 INFO L280 TraceCheckUtils]: 33: Hoare triple {6517#(<= 1 ~guard_malloc_counter~0.offset)} havoc #t~ret32.base, #t~ret32.offset; {6517#(<= 1 ~guard_malloc_counter~0.offset)} is VALID [2020-07-11 01:05:56,833 INFO L263 TraceCheckUtils]: 34: Hoare triple {6517#(<= 1 ~guard_malloc_counter~0.offset)} call #t~ret33.base, #t~ret33.offset := my_malloc(8); {6563#(and (= ~guard_malloc_counter~0.offset |old(~guard_malloc_counter~0.offset)|) (= ~guard_malloc_counter~0.base |old(~guard_malloc_counter~0.base)|))} is VALID [2020-07-11 01:05:56,836 INFO L280 TraceCheckUtils]: 35: Hoare triple {6563#(and (= ~guard_malloc_counter~0.offset |old(~guard_malloc_counter~0.offset)|) (= ~guard_malloc_counter~0.base |old(~guard_malloc_counter~0.base)|))} ~size := #in~size; {6564#(= ~guard_malloc_counter~0.offset |old(~guard_malloc_counter~0.offset)|)} is VALID [2020-07-11 01:05:56,840 INFO L263 TraceCheckUtils]: 36: Hoare triple {6564#(= ~guard_malloc_counter~0.offset |old(~guard_malloc_counter~0.offset)|)} call #t~ret30.base, #t~ret30.offset := __getMemory(~size); {6563#(and (= ~guard_malloc_counter~0.offset |old(~guard_malloc_counter~0.offset)|) (= ~guard_malloc_counter~0.base |old(~guard_malloc_counter~0.base)|))} is VALID [2020-07-11 01:05:56,841 INFO L280 TraceCheckUtils]: 37: Hoare triple {6563#(and (= ~guard_malloc_counter~0.offset |old(~guard_malloc_counter~0.offset)|) (= ~guard_malloc_counter~0.base |old(~guard_malloc_counter~0.base)|))} ~size := #in~size; {6564#(= ~guard_malloc_counter~0.offset |old(~guard_malloc_counter~0.offset)|)} is VALID [2020-07-11 01:05:56,842 INFO L280 TraceCheckUtils]: 38: Hoare triple {6564#(= ~guard_malloc_counter~0.offset |old(~guard_malloc_counter~0.offset)|)} assume ~size > 0; {6564#(= ~guard_malloc_counter~0.offset |old(~guard_malloc_counter~0.offset)|)} is VALID [2020-07-11 01:05:56,842 INFO L280 TraceCheckUtils]: 39: Hoare triple {6564#(= ~guard_malloc_counter~0.offset |old(~guard_malloc_counter~0.offset)|)} #t~post28.base, #t~post28.offset := ~guard_malloc_counter~0.base, ~guard_malloc_counter~0.offset; {6577#(= |old(~guard_malloc_counter~0.offset)| |__getMemory_#t~post28.offset|)} is VALID [2020-07-11 01:05:56,843 INFO L280 TraceCheckUtils]: 40: Hoare triple {6577#(= |old(~guard_malloc_counter~0.offset)| |__getMemory_#t~post28.offset|)} ~guard_malloc_counter~0.base, ~guard_malloc_counter~0.offset := #t~post28.base, 1 + #t~post28.offset; {6576#(<= (+ |old(~guard_malloc_counter~0.offset)| 1) ~guard_malloc_counter~0.offset)} is VALID [2020-07-11 01:05:56,843 INFO L280 TraceCheckUtils]: 41: Hoare triple {6576#(<= (+ |old(~guard_malloc_counter~0.offset)| 1) ~guard_malloc_counter~0.offset)} havoc #t~post28.base, #t~post28.offset; {6576#(<= (+ |old(~guard_malloc_counter~0.offset)| 1) ~guard_malloc_counter~0.offset)} is VALID [2020-07-11 01:05:56,844 INFO L280 TraceCheckUtils]: 42: Hoare triple {6576#(<= (+ |old(~guard_malloc_counter~0.offset)| 1) ~guard_malloc_counter~0.offset)} assume -2147483648 <= #t~nondet29 && #t~nondet29 <= 2147483647; {6576#(<= (+ |old(~guard_malloc_counter~0.offset)| 1) ~guard_malloc_counter~0.offset)} is VALID [2020-07-11 01:05:56,844 INFO L280 TraceCheckUtils]: 43: Hoare triple {6576#(<= (+ |old(~guard_malloc_counter~0.offset)| 1) ~guard_malloc_counter~0.offset)} assume !(0 == #t~nondet29); {6576#(<= (+ |old(~guard_malloc_counter~0.offset)| 1) ~guard_malloc_counter~0.offset)} is VALID [2020-07-11 01:05:56,844 INFO L280 TraceCheckUtils]: 44: Hoare triple {6576#(<= (+ |old(~guard_malloc_counter~0.offset)| 1) ~guard_malloc_counter~0.offset)} havoc #t~nondet29; {6576#(<= (+ |old(~guard_malloc_counter~0.offset)| 1) ~guard_malloc_counter~0.offset)} is VALID [2020-07-11 01:05:56,845 INFO L280 TraceCheckUtils]: 45: Hoare triple {6576#(<= (+ |old(~guard_malloc_counter~0.offset)| 1) ~guard_malloc_counter~0.offset)} #res.base, #res.offset := ~guard_malloc_counter~0.base, ~guard_malloc_counter~0.offset; {6591#(<= (+ |old(~guard_malloc_counter~0.offset)| 1) |__getMemory_#res.offset|)} is VALID [2020-07-11 01:05:56,845 INFO L280 TraceCheckUtils]: 46: Hoare triple {6591#(<= (+ |old(~guard_malloc_counter~0.offset)| 1) |__getMemory_#res.offset|)} assume true; {6591#(<= (+ |old(~guard_malloc_counter~0.offset)| 1) |__getMemory_#res.offset|)} is VALID [2020-07-11 01:05:56,847 INFO L275 TraceCheckUtils]: 47: Hoare quadruple {6591#(<= (+ |old(~guard_malloc_counter~0.offset)| 1) |__getMemory_#res.offset|)} {6564#(= ~guard_malloc_counter~0.offset |old(~guard_malloc_counter~0.offset)|)} #92#return; {6589#(<= (+ |old(~guard_malloc_counter~0.offset)| 1) |my_malloc_#t~ret30.offset|)} is VALID [2020-07-11 01:05:56,848 INFO L280 TraceCheckUtils]: 48: Hoare triple {6589#(<= (+ |old(~guard_malloc_counter~0.offset)| 1) |my_malloc_#t~ret30.offset|)} #res.base, #res.offset := #t~ret30.base, #t~ret30.offset; {6590#(<= (+ |old(~guard_malloc_counter~0.offset)| 1) |my_malloc_#res.offset|)} is VALID [2020-07-11 01:05:56,850 INFO L280 TraceCheckUtils]: 49: Hoare triple {6590#(<= (+ |old(~guard_malloc_counter~0.offset)| 1) |my_malloc_#res.offset|)} havoc #t~ret30.base, #t~ret30.offset; {6590#(<= (+ |old(~guard_malloc_counter~0.offset)| 1) |my_malloc_#res.offset|)} is VALID [2020-07-11 01:05:56,851 INFO L280 TraceCheckUtils]: 50: Hoare triple {6590#(<= (+ |old(~guard_malloc_counter~0.offset)| 1) |my_malloc_#res.offset|)} assume true; {6590#(<= (+ |old(~guard_malloc_counter~0.offset)| 1) |my_malloc_#res.offset|)} is VALID [2020-07-11 01:05:56,860 INFO L275 TraceCheckUtils]: 51: Hoare quadruple {6590#(<= (+ |old(~guard_malloc_counter~0.offset)| 1) |my_malloc_#res.offset|)} {6517#(<= 1 ~guard_malloc_counter~0.offset)} #96#return; {6535#(<= 2 |main_#t~ret33.offset|)} is VALID [2020-07-11 01:05:56,862 INFO L280 TraceCheckUtils]: 52: Hoare triple {6535#(<= 2 |main_#t~ret33.offset|)} ~dev2~0.base, ~dev2~0.offset := #t~ret33.base, #t~ret33.offset; {6536#(<= 2 main_~dev2~0.offset)} is VALID [2020-07-11 01:05:56,862 INFO L280 TraceCheckUtils]: 53: Hoare triple {6536#(<= 2 main_~dev2~0.offset)} havoc #t~ret33.base, #t~ret33.offset; {6536#(<= 2 main_~dev2~0.offset)} is VALID [2020-07-11 01:05:56,863 INFO L280 TraceCheckUtils]: 54: Hoare triple {6536#(<= 2 main_~dev2~0.offset)} assume (~dev1~0.base != 0 || ~dev1~0.offset != 0) && (~dev2~0.base != 0 || ~dev2~0.offset != 0); {6536#(<= 2 main_~dev2~0.offset)} is VALID [2020-07-11 01:05:56,864 INFO L263 TraceCheckUtils]: 55: Hoare triple {6536#(<= 2 main_~dev2~0.offset)} call list_add(~dev2~0.base, ~dev2~0.offset, ~#head~0.base, ~#head~0.offset); {6592#(and (= ~elem~0.base |old(~elem~0.base)|) (= ~elem~0.offset |old(~elem~0.offset)|))} is VALID [2020-07-11 01:05:56,864 INFO L280 TraceCheckUtils]: 56: Hoare triple {6592#(and (= ~elem~0.base |old(~elem~0.base)|) (= ~elem~0.offset |old(~elem~0.offset)|))} ~new.base, ~new.offset := #in~new.base, #in~new.offset; {6487#true} is VALID [2020-07-11 01:05:56,864 INFO L280 TraceCheckUtils]: 57: Hoare triple {6487#true} ~head.base, ~head.offset := #in~head.base, #in~head.offset; {6487#true} is VALID [2020-07-11 01:05:56,865 INFO L280 TraceCheckUtils]: 58: Hoare triple {6487#true} assume ~new.base != ~elem~0.base || ~new.offset != ~elem~0.offset; {6487#true} is VALID [2020-07-11 01:05:56,865 INFO L280 TraceCheckUtils]: 59: Hoare triple {6487#true} assume -2147483648 <= #t~nondet31 && #t~nondet31 <= 2147483647; {6487#true} is VALID [2020-07-11 01:05:56,865 INFO L280 TraceCheckUtils]: 60: Hoare triple {6487#true} assume 0 != #t~nondet31; {6487#true} is VALID [2020-07-11 01:05:56,865 INFO L280 TraceCheckUtils]: 61: Hoare triple {6487#true} havoc #t~nondet31; {6487#true} is VALID [2020-07-11 01:05:56,865 INFO L280 TraceCheckUtils]: 62: Hoare triple {6487#true} ~elem~0.base, ~elem~0.offset := ~new.base, ~new.offset; {6487#true} is VALID [2020-07-11 01:05:56,865 INFO L280 TraceCheckUtils]: 63: Hoare triple {6487#true} assume true; {6487#true} is VALID [2020-07-11 01:05:56,867 INFO L275 TraceCheckUtils]: 64: Hoare quadruple {6487#true} {6536#(<= 2 main_~dev2~0.offset)} #98#return; {6536#(<= 2 main_~dev2~0.offset)} is VALID [2020-07-11 01:05:56,868 INFO L263 TraceCheckUtils]: 65: Hoare triple {6536#(<= 2 main_~dev2~0.offset)} call list_add(~dev1~0.base, ~dev1~0.offset, ~#head~0.base, ~#head~0.offset); {6592#(and (= ~elem~0.base |old(~elem~0.base)|) (= ~elem~0.offset |old(~elem~0.offset)|))} is VALID [2020-07-11 01:05:56,868 INFO L280 TraceCheckUtils]: 66: Hoare triple {6592#(and (= ~elem~0.base |old(~elem~0.base)|) (= ~elem~0.offset |old(~elem~0.offset)|))} ~new.base, ~new.offset := #in~new.base, #in~new.offset; {6487#true} is VALID [2020-07-11 01:05:56,868 INFO L280 TraceCheckUtils]: 67: Hoare triple {6487#true} ~head.base, ~head.offset := #in~head.base, #in~head.offset; {6487#true} is VALID [2020-07-11 01:05:56,869 INFO L280 TraceCheckUtils]: 68: Hoare triple {6487#true} assume ~new.base != ~elem~0.base || ~new.offset != ~elem~0.offset; {6487#true} is VALID [2020-07-11 01:05:56,869 INFO L280 TraceCheckUtils]: 69: Hoare triple {6487#true} assume -2147483648 <= #t~nondet31 && #t~nondet31 <= 2147483647; {6487#true} is VALID [2020-07-11 01:05:56,869 INFO L280 TraceCheckUtils]: 70: Hoare triple {6487#true} assume !(0 != #t~nondet31); {6487#true} is VALID [2020-07-11 01:05:56,869 INFO L280 TraceCheckUtils]: 71: Hoare triple {6487#true} havoc #t~nondet31; {6487#true} is VALID [2020-07-11 01:05:56,869 INFO L280 TraceCheckUtils]: 72: Hoare triple {6487#true} assume true; {6487#true} is VALID [2020-07-11 01:05:56,871 INFO L275 TraceCheckUtils]: 73: Hoare quadruple {6487#true} {6536#(<= 2 main_~dev2~0.offset)} #100#return; {6536#(<= 2 main_~dev2~0.offset)} is VALID [2020-07-11 01:05:56,872 INFO L263 TraceCheckUtils]: 74: Hoare triple {6536#(<= 2 main_~dev2~0.offset)} call list_del(~dev2~0.base, ~dev2~0.offset); {6592#(and (= ~elem~0.base |old(~elem~0.base)|) (= ~elem~0.offset |old(~elem~0.offset)|))} is VALID [2020-07-11 01:05:56,872 INFO L280 TraceCheckUtils]: 75: Hoare triple {6592#(and (= ~elem~0.base |old(~elem~0.base)|) (= ~elem~0.offset |old(~elem~0.offset)|))} ~entry.base, ~entry.offset := #in~entry.base, #in~entry.offset; {6487#true} is VALID [2020-07-11 01:05:56,872 INFO L280 TraceCheckUtils]: 76: Hoare triple {6487#true} assume ~entry.base == ~elem~0.base && ~entry.offset == ~elem~0.offset; {6487#true} is VALID [2020-07-11 01:05:56,873 INFO L280 TraceCheckUtils]: 77: Hoare triple {6487#true} ~elem~0.base, ~elem~0.offset := 0, 0; {6593#(= 0 ~elem~0.offset)} is VALID [2020-07-11 01:05:56,873 INFO L280 TraceCheckUtils]: 78: Hoare triple {6593#(= 0 ~elem~0.offset)} assume true; {6593#(= 0 ~elem~0.offset)} is VALID [2020-07-11 01:05:56,874 INFO L275 TraceCheckUtils]: 79: Hoare quadruple {6593#(= 0 ~elem~0.offset)} {6536#(<= 2 main_~dev2~0.offset)} #102#return; {6559#(and (= 0 ~elem~0.offset) (<= 2 main_~dev2~0.offset))} is VALID [2020-07-11 01:05:56,875 INFO L263 TraceCheckUtils]: 80: Hoare triple {6559#(and (= 0 ~elem~0.offset) (<= 2 main_~dev2~0.offset))} call list_add(~dev2~0.base, ~dev2~0.offset, ~#head~0.base, ~#head~0.offset); {6560#(and (= 0 ~elem~0.offset) (<= 2 |list_add_#in~new.offset|))} is VALID [2020-07-11 01:05:56,876 INFO L280 TraceCheckUtils]: 81: Hoare triple {6560#(and (= 0 ~elem~0.offset) (<= 2 |list_add_#in~new.offset|))} ~new.base, ~new.offset := #in~new.base, #in~new.offset; {6561#(and (= 0 ~elem~0.offset) (not (= 0 list_add_~new.offset)))} is VALID [2020-07-11 01:05:56,877 INFO L280 TraceCheckUtils]: 82: Hoare triple {6561#(and (= 0 ~elem~0.offset) (not (= 0 list_add_~new.offset)))} ~head.base, ~head.offset := #in~head.base, #in~head.offset; {6561#(and (= 0 ~elem~0.offset) (not (= 0 list_add_~new.offset)))} is VALID [2020-07-11 01:05:56,878 INFO L280 TraceCheckUtils]: 83: Hoare triple {6561#(and (= 0 ~elem~0.offset) (not (= 0 list_add_~new.offset)))} assume !(~new.base != ~elem~0.base || ~new.offset != ~elem~0.offset); {6488#false} is VALID [2020-07-11 01:05:56,878 INFO L263 TraceCheckUtils]: 84: Hoare triple {6488#false} call __blast_assert(); {6488#false} is VALID [2020-07-11 01:05:56,878 INFO L280 TraceCheckUtils]: 85: Hoare triple {6488#false} assume !false; {6488#false} is VALID [2020-07-11 01:05:56,887 INFO L134 CoverageAnalysis]: Checked inductivity of 30 backedges. 4 proven. 8 refuted. 0 times theorem prover too weak. 18 trivial. 0 not checked. [2020-07-11 01:05:56,888 INFO L354 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModulePreferences [2090468360] [2020-07-11 01:05:56,888 INFO L220 FreeRefinementEngine]: Constructing automaton from 0 perfect and 1 imperfect interpolant sequences. [2020-07-11 01:05:56,888 INFO L233 FreeRefinementEngine]: Number of different interpolants: perfect sequences [] imperfect sequences [19] total 19 [2020-07-11 01:05:56,889 INFO L156 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [2072706364] [2020-07-11 01:05:56,889 INFO L78 Accepts]: Start accepts. Automaton has 19 states. Word has length 86 [2020-07-11 01:05:56,889 INFO L84 Accepts]: Finished accepts. word is accepted. [2020-07-11 01:05:56,890 INFO L86 InductivityCheck]: Starting indutivity check of a Floyd-Hoare automaton with 19 states. [2020-07-11 01:05:56,987 INFO L119 InductivityCheck]: Floyd-Hoare automaton has 71 edges. 71 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2020-07-11 01:05:56,987 INFO L459 AbstractCegarLoop]: Interpolant automaton has 19 states [2020-07-11 01:05:56,988 INFO L143 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy FIXED_PREFERENCES [2020-07-11 01:05:56,988 INFO L142 InterpolantAutomaton]: Constructing interpolant automaton starting with 19 interpolants. [2020-07-11 01:05:56,988 INFO L144 InterpolantAutomaton]: CoverageRelationStatistics Valid=43, Invalid=299, Unknown=0, NotChecked=0, Total=342 [2020-07-11 01:05:56,989 INFO L87 Difference]: Start difference. First operand 111 states and 120 transitions. Second operand 19 states. [2020-07-11 01:06:02,087 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2020-07-11 01:06:02,087 INFO L93 Difference]: Finished difference Result 144 states and 154 transitions. [2020-07-11 01:06:02,087 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 26 states. [2020-07-11 01:06:02,087 INFO L78 Accepts]: Start accepts. Automaton has 19 states. Word has length 86 [2020-07-11 01:06:02,088 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2020-07-11 01:06:02,088 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 19 states. [2020-07-11 01:06:02,090 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 26 states to 26 states and 115 transitions. [2020-07-11 01:06:02,090 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 19 states. [2020-07-11 01:06:02,093 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 26 states to 26 states and 115 transitions. [2020-07-11 01:06:02,093 INFO L86 InductivityCheck]: Starting indutivity check of a Floyd-Hoare automaton with 26 states and 115 transitions. [2020-07-11 01:06:02,334 INFO L119 InductivityCheck]: Floyd-Hoare automaton has 115 edges. 115 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2020-07-11 01:06:02,338 INFO L225 Difference]: With dead ends: 144 [2020-07-11 01:06:02,339 INFO L226 Difference]: Without dead ends: 131 [2020-07-11 01:06:02,340 INFO L675 BasicCegarLoop]: 0 DeclaredPredicates, 60 GetRequests, 20 SyntacticMatches, 0 SemanticMatches, 40 ConstructedPredicates, 0 IntricatePredicates, 0 DeprecatedPredicates, 279 ImplicationChecksByTransitivity, 1.1s TimeCoverageRelationStatistics Valid=253, Invalid=1469, Unknown=0, NotChecked=0, Total=1722 [2020-07-11 01:06:02,340 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 131 states. [2020-07-11 01:06:02,934 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 131 to 110. [2020-07-11 01:06:02,934 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2020-07-11 01:06:02,934 INFO L82 GeneralOperation]: Start isEquivalent. First operand 131 states. Second operand 110 states. [2020-07-11 01:06:02,934 INFO L74 IsIncluded]: Start isIncluded. First operand 131 states. Second operand 110 states. [2020-07-11 01:06:02,934 INFO L87 Difference]: Start difference. First operand 131 states. Second operand 110 states. [2020-07-11 01:06:02,938 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2020-07-11 01:06:02,939 INFO L93 Difference]: Finished difference Result 131 states and 139 transitions. [2020-07-11 01:06:02,939 INFO L276 IsEmpty]: Start isEmpty. Operand 131 states and 139 transitions. [2020-07-11 01:06:02,941 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2020-07-11 01:06:02,941 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2020-07-11 01:06:02,941 INFO L74 IsIncluded]: Start isIncluded. First operand 110 states. Second operand 131 states. [2020-07-11 01:06:02,941 INFO L87 Difference]: Start difference. First operand 110 states. Second operand 131 states. [2020-07-11 01:06:02,945 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2020-07-11 01:06:02,945 INFO L93 Difference]: Finished difference Result 131 states and 139 transitions. [2020-07-11 01:06:02,946 INFO L276 IsEmpty]: Start isEmpty. Operand 131 states and 139 transitions. [2020-07-11 01:06:02,946 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2020-07-11 01:06:02,946 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2020-07-11 01:06:02,947 INFO L88 GeneralOperation]: Finished isEquivalent. [2020-07-11 01:06:02,947 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2020-07-11 01:06:02,947 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 110 states. [2020-07-11 01:06:02,949 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 110 states to 110 states and 118 transitions. [2020-07-11 01:06:02,950 INFO L78 Accepts]: Start accepts. Automaton has 110 states and 118 transitions. Word has length 86 [2020-07-11 01:06:02,950 INFO L84 Accepts]: Finished accepts. word is rejected. [2020-07-11 01:06:02,950 INFO L479 AbstractCegarLoop]: Abstraction has 110 states and 118 transitions. [2020-07-11 01:06:02,950 INFO L480 AbstractCegarLoop]: Interpolant automaton has 19 states. [2020-07-11 01:06:02,950 INFO L86 InductivityCheck]: Starting indutivity check of a Floyd-Hoare automaton with 110 states and 118 transitions. [2020-07-11 01:06:03,247 INFO L119 InductivityCheck]: Floyd-Hoare automaton has 118 edges. 118 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2020-07-11 01:06:03,248 INFO L276 IsEmpty]: Start isEmpty. Operand 110 states and 118 transitions. [2020-07-11 01:06:03,249 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 95 [2020-07-11 01:06:03,249 INFO L414 BasicCegarLoop]: Found error trace [2020-07-11 01:06:03,249 INFO L422 BasicCegarLoop]: trace histogram [4, 4, 3, 3, 3, 3, 3, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1] [2020-07-11 01:06:03,250 WARN L516 AbstractCegarLoop]: Destroyed unattended storables created during the last iteration: SelfDestructingSolverStorable9 [2020-07-11 01:06:03,250 INFO L427 AbstractCegarLoop]: === Iteration 11 === [__blast_assertErr0ASSERT_VIOLATIONERROR_FUNCTION]=== [2020-07-11 01:06:03,250 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2020-07-11 01:06:03,250 INFO L82 PathProgramCache]: Analyzing trace with hash -1959566780, now seen corresponding path program 1 times [2020-07-11 01:06:03,251 INFO L163 FreeRefinementEngine]: Executing refinement strategy FIXED_PREFERENCES [2020-07-11 01:06:03,251 INFO L354 FreeRefinementEngine]: Using trace check IpTcStrategyModulePreferences [774207081] [2020-07-11 01:06:03,251 INFO L94 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2020-07-11 01:06:03,272 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2020-07-11 01:06:03,459 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2020-07-11 01:06:03,483 INFO L280 TraceCheckUtils]: 0: Hoare triple {7493#(and (= |#valid| |old(#valid)|) (= ~elem~0.base |old(~elem~0.base)|) (= |#NULL.base| |old(#NULL.base)|) (= |~#head~0.base| |old(~#head~0.base)|) (= ~guard_malloc_counter~0.offset |old(~guard_malloc_counter~0.offset)|) (= |#NULL.offset| |old(#NULL.offset)|) (= ~elem~0.offset |old(~elem~0.offset)|) (= |old(#length)| |#length|) (= |~#head~0.offset| |old(~#head~0.offset)|) (= ~guard_malloc_counter~0.base |old(~guard_malloc_counter~0.base)|))} #NULL.base, #NULL.offset := 0, 0; {7414#true} is VALID [2020-07-11 01:06:03,483 INFO L280 TraceCheckUtils]: 1: Hoare triple {7414#true} #valid := #valid[0 := 0]; {7414#true} is VALID [2020-07-11 01:06:03,483 INFO L280 TraceCheckUtils]: 2: Hoare triple {7414#true} assume 0 < #StackHeapBarrier; {7414#true} is VALID [2020-07-11 01:06:03,485 INFO L280 TraceCheckUtils]: 3: Hoare triple {7414#true} ~guard_malloc_counter~0.base, ~guard_malloc_counter~0.offset := 0, 0; {7494#(= 0 ~guard_malloc_counter~0.offset)} is VALID [2020-07-11 01:06:03,486 INFO L280 TraceCheckUtils]: 4: Hoare triple {7494#(= 0 ~guard_malloc_counter~0.offset)} ~elem~0.base, ~elem~0.offset := 0, 0; {7426#(and (= 0 ~elem~0.offset) (= 0 ~guard_malloc_counter~0.offset))} is VALID [2020-07-11 01:06:03,486 INFO L280 TraceCheckUtils]: 5: Hoare triple {7426#(and (= 0 ~elem~0.offset) (= 0 ~guard_malloc_counter~0.offset))} SUMMARY for call ~#head~0.base, ~#head~0.offset := #Ultimate.allocOnStack(8); srcloc: L900 {7426#(and (= 0 ~elem~0.offset) (= 0 ~guard_malloc_counter~0.offset))} is VALID [2020-07-11 01:06:03,488 INFO L280 TraceCheckUtils]: 6: Hoare triple {7426#(and (= 0 ~elem~0.offset) (= 0 ~guard_malloc_counter~0.offset))} SUMMARY for call write~init~$Pointer$(0, 0, ~#head~0.base, ~#head~0.offset, 4); srcloc: L900-1 {7426#(and (= 0 ~elem~0.offset) (= 0 ~guard_malloc_counter~0.offset))} is VALID [2020-07-11 01:06:03,490 INFO L280 TraceCheckUtils]: 7: Hoare triple {7426#(and (= 0 ~elem~0.offset) (= 0 ~guard_malloc_counter~0.offset))} SUMMARY for call write~init~$Pointer$(0, 0, ~#head~0.base, 4 + ~#head~0.offset, 4); srcloc: L900-2 {7426#(and (= 0 ~elem~0.offset) (= 0 ~guard_malloc_counter~0.offset))} is VALID [2020-07-11 01:06:03,491 INFO L280 TraceCheckUtils]: 8: Hoare triple {7426#(and (= 0 ~elem~0.offset) (= 0 ~guard_malloc_counter~0.offset))} assume true; {7426#(and (= 0 ~elem~0.offset) (= 0 ~guard_malloc_counter~0.offset))} is VALID [2020-07-11 01:06:03,492 INFO L275 TraceCheckUtils]: 9: Hoare quadruple {7426#(and (= 0 ~elem~0.offset) (= 0 ~guard_malloc_counter~0.offset))} {7414#true} #112#return; {7426#(and (= 0 ~elem~0.offset) (= 0 ~guard_malloc_counter~0.offset))} is VALID [2020-07-11 01:06:03,509 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2020-07-11 01:06:03,548 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2020-07-11 01:06:03,579 INFO L280 TraceCheckUtils]: 0: Hoare triple {7495#(and (= ~guard_malloc_counter~0.offset |old(~guard_malloc_counter~0.offset)|) (= ~guard_malloc_counter~0.base |old(~guard_malloc_counter~0.base)|))} ~size := #in~size; {7496#(= ~guard_malloc_counter~0.offset |old(~guard_malloc_counter~0.offset)|)} is VALID [2020-07-11 01:06:03,579 INFO L280 TraceCheckUtils]: 1: Hoare triple {7496#(= ~guard_malloc_counter~0.offset |old(~guard_malloc_counter~0.offset)|)} assume ~size > 0; {7496#(= ~guard_malloc_counter~0.offset |old(~guard_malloc_counter~0.offset)|)} is VALID [2020-07-11 01:06:03,580 INFO L280 TraceCheckUtils]: 2: Hoare triple {7496#(= ~guard_malloc_counter~0.offset |old(~guard_malloc_counter~0.offset)|)} #t~post28.base, #t~post28.offset := ~guard_malloc_counter~0.base, ~guard_malloc_counter~0.offset; {7509#(= |old(~guard_malloc_counter~0.offset)| |__getMemory_#t~post28.offset|)} is VALID [2020-07-11 01:06:03,581 INFO L280 TraceCheckUtils]: 3: Hoare triple {7509#(= |old(~guard_malloc_counter~0.offset)| |__getMemory_#t~post28.offset|)} ~guard_malloc_counter~0.base, ~guard_malloc_counter~0.offset := #t~post28.base, 1 + #t~post28.offset; {7508#(<= (+ |old(~guard_malloc_counter~0.offset)| 1) ~guard_malloc_counter~0.offset)} is VALID [2020-07-11 01:06:03,581 INFO L280 TraceCheckUtils]: 4: Hoare triple {7508#(<= (+ |old(~guard_malloc_counter~0.offset)| 1) ~guard_malloc_counter~0.offset)} havoc #t~post28.base, #t~post28.offset; {7508#(<= (+ |old(~guard_malloc_counter~0.offset)| 1) ~guard_malloc_counter~0.offset)} is VALID [2020-07-11 01:06:03,583 INFO L280 TraceCheckUtils]: 5: Hoare triple {7508#(<= (+ |old(~guard_malloc_counter~0.offset)| 1) ~guard_malloc_counter~0.offset)} assume -2147483648 <= #t~nondet29 && #t~nondet29 <= 2147483647; {7508#(<= (+ |old(~guard_malloc_counter~0.offset)| 1) ~guard_malloc_counter~0.offset)} is VALID [2020-07-11 01:06:03,584 INFO L280 TraceCheckUtils]: 6: Hoare triple {7508#(<= (+ |old(~guard_malloc_counter~0.offset)| 1) ~guard_malloc_counter~0.offset)} assume !(0 == #t~nondet29); {7508#(<= (+ |old(~guard_malloc_counter~0.offset)| 1) ~guard_malloc_counter~0.offset)} is VALID [2020-07-11 01:06:03,584 INFO L280 TraceCheckUtils]: 7: Hoare triple {7508#(<= (+ |old(~guard_malloc_counter~0.offset)| 1) ~guard_malloc_counter~0.offset)} havoc #t~nondet29; {7508#(<= (+ |old(~guard_malloc_counter~0.offset)| 1) ~guard_malloc_counter~0.offset)} is VALID [2020-07-11 01:06:03,585 INFO L280 TraceCheckUtils]: 8: Hoare triple {7508#(<= (+ |old(~guard_malloc_counter~0.offset)| 1) ~guard_malloc_counter~0.offset)} #res.base, #res.offset := ~guard_malloc_counter~0.base, ~guard_malloc_counter~0.offset; {7508#(<= (+ |old(~guard_malloc_counter~0.offset)| 1) ~guard_malloc_counter~0.offset)} is VALID [2020-07-11 01:06:03,585 INFO L280 TraceCheckUtils]: 9: Hoare triple {7508#(<= (+ |old(~guard_malloc_counter~0.offset)| 1) ~guard_malloc_counter~0.offset)} assume true; {7508#(<= (+ |old(~guard_malloc_counter~0.offset)| 1) ~guard_malloc_counter~0.offset)} is VALID [2020-07-11 01:06:03,586 INFO L275 TraceCheckUtils]: 10: Hoare quadruple {7508#(<= (+ |old(~guard_malloc_counter~0.offset)| 1) ~guard_malloc_counter~0.offset)} {7496#(= ~guard_malloc_counter~0.offset |old(~guard_malloc_counter~0.offset)|)} #92#return; {7508#(<= (+ |old(~guard_malloc_counter~0.offset)| 1) ~guard_malloc_counter~0.offset)} is VALID [2020-07-11 01:06:03,587 INFO L280 TraceCheckUtils]: 0: Hoare triple {7495#(and (= ~guard_malloc_counter~0.offset |old(~guard_malloc_counter~0.offset)|) (= ~guard_malloc_counter~0.base |old(~guard_malloc_counter~0.base)|))} ~size := #in~size; {7496#(= ~guard_malloc_counter~0.offset |old(~guard_malloc_counter~0.offset)|)} is VALID [2020-07-11 01:06:03,588 INFO L263 TraceCheckUtils]: 1: Hoare triple {7496#(= ~guard_malloc_counter~0.offset |old(~guard_malloc_counter~0.offset)|)} call #t~ret30.base, #t~ret30.offset := __getMemory(~size); {7495#(and (= ~guard_malloc_counter~0.offset |old(~guard_malloc_counter~0.offset)|) (= ~guard_malloc_counter~0.base |old(~guard_malloc_counter~0.base)|))} is VALID [2020-07-11 01:06:03,589 INFO L280 TraceCheckUtils]: 2: Hoare triple {7495#(and (= ~guard_malloc_counter~0.offset |old(~guard_malloc_counter~0.offset)|) (= ~guard_malloc_counter~0.base |old(~guard_malloc_counter~0.base)|))} ~size := #in~size; {7496#(= ~guard_malloc_counter~0.offset |old(~guard_malloc_counter~0.offset)|)} is VALID [2020-07-11 01:06:03,590 INFO L280 TraceCheckUtils]: 3: Hoare triple {7496#(= ~guard_malloc_counter~0.offset |old(~guard_malloc_counter~0.offset)|)} assume ~size > 0; {7496#(= ~guard_malloc_counter~0.offset |old(~guard_malloc_counter~0.offset)|)} is VALID [2020-07-11 01:06:03,590 INFO L280 TraceCheckUtils]: 4: Hoare triple {7496#(= ~guard_malloc_counter~0.offset |old(~guard_malloc_counter~0.offset)|)} #t~post28.base, #t~post28.offset := ~guard_malloc_counter~0.base, ~guard_malloc_counter~0.offset; {7509#(= |old(~guard_malloc_counter~0.offset)| |__getMemory_#t~post28.offset|)} is VALID [2020-07-11 01:06:03,591 INFO L280 TraceCheckUtils]: 5: Hoare triple {7509#(= |old(~guard_malloc_counter~0.offset)| |__getMemory_#t~post28.offset|)} ~guard_malloc_counter~0.base, ~guard_malloc_counter~0.offset := #t~post28.base, 1 + #t~post28.offset; {7508#(<= (+ |old(~guard_malloc_counter~0.offset)| 1) ~guard_malloc_counter~0.offset)} is VALID [2020-07-11 01:06:03,592 INFO L280 TraceCheckUtils]: 6: Hoare triple {7508#(<= (+ |old(~guard_malloc_counter~0.offset)| 1) ~guard_malloc_counter~0.offset)} havoc #t~post28.base, #t~post28.offset; {7508#(<= (+ |old(~guard_malloc_counter~0.offset)| 1) ~guard_malloc_counter~0.offset)} is VALID [2020-07-11 01:06:03,592 INFO L280 TraceCheckUtils]: 7: Hoare triple {7508#(<= (+ |old(~guard_malloc_counter~0.offset)| 1) ~guard_malloc_counter~0.offset)} assume -2147483648 <= #t~nondet29 && #t~nondet29 <= 2147483647; {7508#(<= (+ |old(~guard_malloc_counter~0.offset)| 1) ~guard_malloc_counter~0.offset)} is VALID [2020-07-11 01:06:03,593 INFO L280 TraceCheckUtils]: 8: Hoare triple {7508#(<= (+ |old(~guard_malloc_counter~0.offset)| 1) ~guard_malloc_counter~0.offset)} assume !(0 == #t~nondet29); {7508#(<= (+ |old(~guard_malloc_counter~0.offset)| 1) ~guard_malloc_counter~0.offset)} is VALID [2020-07-11 01:06:03,593 INFO L280 TraceCheckUtils]: 9: Hoare triple {7508#(<= (+ |old(~guard_malloc_counter~0.offset)| 1) ~guard_malloc_counter~0.offset)} havoc #t~nondet29; {7508#(<= (+ |old(~guard_malloc_counter~0.offset)| 1) ~guard_malloc_counter~0.offset)} is VALID [2020-07-11 01:06:03,594 INFO L280 TraceCheckUtils]: 10: Hoare triple {7508#(<= (+ |old(~guard_malloc_counter~0.offset)| 1) ~guard_malloc_counter~0.offset)} #res.base, #res.offset := ~guard_malloc_counter~0.base, ~guard_malloc_counter~0.offset; {7508#(<= (+ |old(~guard_malloc_counter~0.offset)| 1) ~guard_malloc_counter~0.offset)} is VALID [2020-07-11 01:06:03,595 INFO L280 TraceCheckUtils]: 11: Hoare triple {7508#(<= (+ |old(~guard_malloc_counter~0.offset)| 1) ~guard_malloc_counter~0.offset)} assume true; {7508#(<= (+ |old(~guard_malloc_counter~0.offset)| 1) ~guard_malloc_counter~0.offset)} is VALID [2020-07-11 01:06:03,596 INFO L275 TraceCheckUtils]: 12: Hoare quadruple {7508#(<= (+ |old(~guard_malloc_counter~0.offset)| 1) ~guard_malloc_counter~0.offset)} {7496#(= ~guard_malloc_counter~0.offset |old(~guard_malloc_counter~0.offset)|)} #92#return; {7508#(<= (+ |old(~guard_malloc_counter~0.offset)| 1) ~guard_malloc_counter~0.offset)} is VALID [2020-07-11 01:06:03,597 INFO L280 TraceCheckUtils]: 13: Hoare triple {7508#(<= (+ |old(~guard_malloc_counter~0.offset)| 1) ~guard_malloc_counter~0.offset)} #res.base, #res.offset := #t~ret30.base, #t~ret30.offset; {7508#(<= (+ |old(~guard_malloc_counter~0.offset)| 1) ~guard_malloc_counter~0.offset)} is VALID [2020-07-11 01:06:03,598 INFO L280 TraceCheckUtils]: 14: Hoare triple {7508#(<= (+ |old(~guard_malloc_counter~0.offset)| 1) ~guard_malloc_counter~0.offset)} havoc #t~ret30.base, #t~ret30.offset; {7508#(<= (+ |old(~guard_malloc_counter~0.offset)| 1) ~guard_malloc_counter~0.offset)} is VALID [2020-07-11 01:06:03,598 INFO L280 TraceCheckUtils]: 15: Hoare triple {7508#(<= (+ |old(~guard_malloc_counter~0.offset)| 1) ~guard_malloc_counter~0.offset)} assume true; {7508#(<= (+ |old(~guard_malloc_counter~0.offset)| 1) ~guard_malloc_counter~0.offset)} is VALID [2020-07-11 01:06:03,600 INFO L275 TraceCheckUtils]: 16: Hoare quadruple {7508#(<= (+ |old(~guard_malloc_counter~0.offset)| 1) ~guard_malloc_counter~0.offset)} {7426#(and (= 0 ~elem~0.offset) (= 0 ~guard_malloc_counter~0.offset))} #94#return; {7444#(and (= 0 ~elem~0.offset) (<= 1 ~guard_malloc_counter~0.offset))} is VALID [2020-07-11 01:06:03,603 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2020-07-11 01:06:03,656 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2020-07-11 01:06:03,691 INFO L280 TraceCheckUtils]: 0: Hoare triple {7495#(and (= ~guard_malloc_counter~0.offset |old(~guard_malloc_counter~0.offset)|) (= ~guard_malloc_counter~0.base |old(~guard_malloc_counter~0.base)|))} ~size := #in~size; {7496#(= ~guard_malloc_counter~0.offset |old(~guard_malloc_counter~0.offset)|)} is VALID [2020-07-11 01:06:03,692 INFO L280 TraceCheckUtils]: 1: Hoare triple {7496#(= ~guard_malloc_counter~0.offset |old(~guard_malloc_counter~0.offset)|)} assume ~size > 0; {7496#(= ~guard_malloc_counter~0.offset |old(~guard_malloc_counter~0.offset)|)} is VALID [2020-07-11 01:06:03,692 INFO L280 TraceCheckUtils]: 2: Hoare triple {7496#(= ~guard_malloc_counter~0.offset |old(~guard_malloc_counter~0.offset)|)} #t~post28.base, #t~post28.offset := ~guard_malloc_counter~0.base, ~guard_malloc_counter~0.offset; {7509#(= |old(~guard_malloc_counter~0.offset)| |__getMemory_#t~post28.offset|)} is VALID [2020-07-11 01:06:03,693 INFO L280 TraceCheckUtils]: 3: Hoare triple {7509#(= |old(~guard_malloc_counter~0.offset)| |__getMemory_#t~post28.offset|)} ~guard_malloc_counter~0.base, ~guard_malloc_counter~0.offset := #t~post28.base, 1 + #t~post28.offset; {7508#(<= (+ |old(~guard_malloc_counter~0.offset)| 1) ~guard_malloc_counter~0.offset)} is VALID [2020-07-11 01:06:03,694 INFO L280 TraceCheckUtils]: 4: Hoare triple {7508#(<= (+ |old(~guard_malloc_counter~0.offset)| 1) ~guard_malloc_counter~0.offset)} havoc #t~post28.base, #t~post28.offset; {7508#(<= (+ |old(~guard_malloc_counter~0.offset)| 1) ~guard_malloc_counter~0.offset)} is VALID [2020-07-11 01:06:03,694 INFO L280 TraceCheckUtils]: 5: Hoare triple {7508#(<= (+ |old(~guard_malloc_counter~0.offset)| 1) ~guard_malloc_counter~0.offset)} assume -2147483648 <= #t~nondet29 && #t~nondet29 <= 2147483647; {7508#(<= (+ |old(~guard_malloc_counter~0.offset)| 1) ~guard_malloc_counter~0.offset)} is VALID [2020-07-11 01:06:03,695 INFO L280 TraceCheckUtils]: 6: Hoare triple {7508#(<= (+ |old(~guard_malloc_counter~0.offset)| 1) ~guard_malloc_counter~0.offset)} assume !(0 == #t~nondet29); {7508#(<= (+ |old(~guard_malloc_counter~0.offset)| 1) ~guard_malloc_counter~0.offset)} is VALID [2020-07-11 01:06:03,695 INFO L280 TraceCheckUtils]: 7: Hoare triple {7508#(<= (+ |old(~guard_malloc_counter~0.offset)| 1) ~guard_malloc_counter~0.offset)} havoc #t~nondet29; {7508#(<= (+ |old(~guard_malloc_counter~0.offset)| 1) ~guard_malloc_counter~0.offset)} is VALID [2020-07-11 01:06:03,696 INFO L280 TraceCheckUtils]: 8: Hoare triple {7508#(<= (+ |old(~guard_malloc_counter~0.offset)| 1) ~guard_malloc_counter~0.offset)} #res.base, #res.offset := ~guard_malloc_counter~0.base, ~guard_malloc_counter~0.offset; {7523#(<= (+ |old(~guard_malloc_counter~0.offset)| 1) |__getMemory_#res.offset|)} is VALID [2020-07-11 01:06:03,697 INFO L280 TraceCheckUtils]: 9: Hoare triple {7523#(<= (+ |old(~guard_malloc_counter~0.offset)| 1) |__getMemory_#res.offset|)} assume true; {7523#(<= (+ |old(~guard_malloc_counter~0.offset)| 1) |__getMemory_#res.offset|)} is VALID [2020-07-11 01:06:03,698 INFO L275 TraceCheckUtils]: 10: Hoare quadruple {7523#(<= (+ |old(~guard_malloc_counter~0.offset)| 1) |__getMemory_#res.offset|)} {7496#(= ~guard_malloc_counter~0.offset |old(~guard_malloc_counter~0.offset)|)} #92#return; {7521#(<= (+ |old(~guard_malloc_counter~0.offset)| 1) |my_malloc_#t~ret30.offset|)} is VALID [2020-07-11 01:06:03,699 INFO L280 TraceCheckUtils]: 0: Hoare triple {7495#(and (= ~guard_malloc_counter~0.offset |old(~guard_malloc_counter~0.offset)|) (= ~guard_malloc_counter~0.base |old(~guard_malloc_counter~0.base)|))} ~size := #in~size; {7496#(= ~guard_malloc_counter~0.offset |old(~guard_malloc_counter~0.offset)|)} is VALID [2020-07-11 01:06:03,700 INFO L263 TraceCheckUtils]: 1: Hoare triple {7496#(= ~guard_malloc_counter~0.offset |old(~guard_malloc_counter~0.offset)|)} call #t~ret30.base, #t~ret30.offset := __getMemory(~size); {7495#(and (= ~guard_malloc_counter~0.offset |old(~guard_malloc_counter~0.offset)|) (= ~guard_malloc_counter~0.base |old(~guard_malloc_counter~0.base)|))} is VALID [2020-07-11 01:06:03,700 INFO L280 TraceCheckUtils]: 2: Hoare triple {7495#(and (= ~guard_malloc_counter~0.offset |old(~guard_malloc_counter~0.offset)|) (= ~guard_malloc_counter~0.base |old(~guard_malloc_counter~0.base)|))} ~size := #in~size; {7496#(= ~guard_malloc_counter~0.offset |old(~guard_malloc_counter~0.offset)|)} is VALID [2020-07-11 01:06:03,701 INFO L280 TraceCheckUtils]: 3: Hoare triple {7496#(= ~guard_malloc_counter~0.offset |old(~guard_malloc_counter~0.offset)|)} assume ~size > 0; {7496#(= ~guard_malloc_counter~0.offset |old(~guard_malloc_counter~0.offset)|)} is VALID [2020-07-11 01:06:03,701 INFO L280 TraceCheckUtils]: 4: Hoare triple {7496#(= ~guard_malloc_counter~0.offset |old(~guard_malloc_counter~0.offset)|)} #t~post28.base, #t~post28.offset := ~guard_malloc_counter~0.base, ~guard_malloc_counter~0.offset; {7509#(= |old(~guard_malloc_counter~0.offset)| |__getMemory_#t~post28.offset|)} is VALID [2020-07-11 01:06:03,702 INFO L280 TraceCheckUtils]: 5: Hoare triple {7509#(= |old(~guard_malloc_counter~0.offset)| |__getMemory_#t~post28.offset|)} ~guard_malloc_counter~0.base, ~guard_malloc_counter~0.offset := #t~post28.base, 1 + #t~post28.offset; {7508#(<= (+ |old(~guard_malloc_counter~0.offset)| 1) ~guard_malloc_counter~0.offset)} is VALID [2020-07-11 01:06:03,703 INFO L280 TraceCheckUtils]: 6: Hoare triple {7508#(<= (+ |old(~guard_malloc_counter~0.offset)| 1) ~guard_malloc_counter~0.offset)} havoc #t~post28.base, #t~post28.offset; {7508#(<= (+ |old(~guard_malloc_counter~0.offset)| 1) ~guard_malloc_counter~0.offset)} is VALID [2020-07-11 01:06:03,703 INFO L280 TraceCheckUtils]: 7: Hoare triple {7508#(<= (+ |old(~guard_malloc_counter~0.offset)| 1) ~guard_malloc_counter~0.offset)} assume -2147483648 <= #t~nondet29 && #t~nondet29 <= 2147483647; {7508#(<= (+ |old(~guard_malloc_counter~0.offset)| 1) ~guard_malloc_counter~0.offset)} is VALID [2020-07-11 01:06:03,704 INFO L280 TraceCheckUtils]: 8: Hoare triple {7508#(<= (+ |old(~guard_malloc_counter~0.offset)| 1) ~guard_malloc_counter~0.offset)} assume !(0 == #t~nondet29); {7508#(<= (+ |old(~guard_malloc_counter~0.offset)| 1) ~guard_malloc_counter~0.offset)} is VALID [2020-07-11 01:06:03,704 INFO L280 TraceCheckUtils]: 9: Hoare triple {7508#(<= (+ |old(~guard_malloc_counter~0.offset)| 1) ~guard_malloc_counter~0.offset)} havoc #t~nondet29; {7508#(<= (+ |old(~guard_malloc_counter~0.offset)| 1) ~guard_malloc_counter~0.offset)} is VALID [2020-07-11 01:06:03,705 INFO L280 TraceCheckUtils]: 10: Hoare triple {7508#(<= (+ |old(~guard_malloc_counter~0.offset)| 1) ~guard_malloc_counter~0.offset)} #res.base, #res.offset := ~guard_malloc_counter~0.base, ~guard_malloc_counter~0.offset; {7523#(<= (+ |old(~guard_malloc_counter~0.offset)| 1) |__getMemory_#res.offset|)} is VALID [2020-07-11 01:06:03,706 INFO L280 TraceCheckUtils]: 11: Hoare triple {7523#(<= (+ |old(~guard_malloc_counter~0.offset)| 1) |__getMemory_#res.offset|)} assume true; {7523#(<= (+ |old(~guard_malloc_counter~0.offset)| 1) |__getMemory_#res.offset|)} is VALID [2020-07-11 01:06:03,707 INFO L275 TraceCheckUtils]: 12: Hoare quadruple {7523#(<= (+ |old(~guard_malloc_counter~0.offset)| 1) |__getMemory_#res.offset|)} {7496#(= ~guard_malloc_counter~0.offset |old(~guard_malloc_counter~0.offset)|)} #92#return; {7521#(<= (+ |old(~guard_malloc_counter~0.offset)| 1) |my_malloc_#t~ret30.offset|)} is VALID [2020-07-11 01:06:03,709 INFO L280 TraceCheckUtils]: 13: Hoare triple {7521#(<= (+ |old(~guard_malloc_counter~0.offset)| 1) |my_malloc_#t~ret30.offset|)} #res.base, #res.offset := #t~ret30.base, #t~ret30.offset; {7522#(<= (+ |old(~guard_malloc_counter~0.offset)| 1) |my_malloc_#res.offset|)} is VALID [2020-07-11 01:06:03,709 INFO L280 TraceCheckUtils]: 14: Hoare triple {7522#(<= (+ |old(~guard_malloc_counter~0.offset)| 1) |my_malloc_#res.offset|)} havoc #t~ret30.base, #t~ret30.offset; {7522#(<= (+ |old(~guard_malloc_counter~0.offset)| 1) |my_malloc_#res.offset|)} is VALID [2020-07-11 01:06:03,710 INFO L280 TraceCheckUtils]: 15: Hoare triple {7522#(<= (+ |old(~guard_malloc_counter~0.offset)| 1) |my_malloc_#res.offset|)} assume true; {7522#(<= (+ |old(~guard_malloc_counter~0.offset)| 1) |my_malloc_#res.offset|)} is VALID [2020-07-11 01:06:03,711 INFO L275 TraceCheckUtils]: 16: Hoare quadruple {7522#(<= (+ |old(~guard_malloc_counter~0.offset)| 1) |my_malloc_#res.offset|)} {7444#(and (= 0 ~elem~0.offset) (<= 1 ~guard_malloc_counter~0.offset))} #96#return; {7462#(and (= 0 ~elem~0.offset) (<= 2 |main_#t~ret33.offset|))} is VALID [2020-07-11 01:06:03,736 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2020-07-11 01:06:03,762 INFO L280 TraceCheckUtils]: 0: Hoare triple {7524#(and (= ~elem~0.base |old(~elem~0.base)|) (= ~elem~0.offset |old(~elem~0.offset)|))} ~new.base, ~new.offset := #in~new.base, #in~new.offset; {7525#(= |old(~elem~0.offset)| ~elem~0.offset)} is VALID [2020-07-11 01:06:03,763 INFO L280 TraceCheckUtils]: 1: Hoare triple {7525#(= |old(~elem~0.offset)| ~elem~0.offset)} ~head.base, ~head.offset := #in~head.base, #in~head.offset; {7525#(= |old(~elem~0.offset)| ~elem~0.offset)} is VALID [2020-07-11 01:06:03,763 INFO L280 TraceCheckUtils]: 2: Hoare triple {7525#(= |old(~elem~0.offset)| ~elem~0.offset)} assume ~new.base != ~elem~0.base || ~new.offset != ~elem~0.offset; {7525#(= |old(~elem~0.offset)| ~elem~0.offset)} is VALID [2020-07-11 01:06:03,764 INFO L280 TraceCheckUtils]: 3: Hoare triple {7525#(= |old(~elem~0.offset)| ~elem~0.offset)} assume -2147483648 <= #t~nondet31 && #t~nondet31 <= 2147483647; {7525#(= |old(~elem~0.offset)| ~elem~0.offset)} is VALID [2020-07-11 01:06:03,764 INFO L280 TraceCheckUtils]: 4: Hoare triple {7525#(= |old(~elem~0.offset)| ~elem~0.offset)} assume !(0 != #t~nondet31); {7525#(= |old(~elem~0.offset)| ~elem~0.offset)} is VALID [2020-07-11 01:06:03,765 INFO L280 TraceCheckUtils]: 5: Hoare triple {7525#(= |old(~elem~0.offset)| ~elem~0.offset)} havoc #t~nondet31; {7525#(= |old(~elem~0.offset)| ~elem~0.offset)} is VALID [2020-07-11 01:06:03,765 INFO L280 TraceCheckUtils]: 6: Hoare triple {7525#(= |old(~elem~0.offset)| ~elem~0.offset)} assume true; {7525#(= |old(~elem~0.offset)| ~elem~0.offset)} is VALID [2020-07-11 01:06:03,766 INFO L275 TraceCheckUtils]: 7: Hoare quadruple {7525#(= |old(~elem~0.offset)| ~elem~0.offset)} {7463#(and (= 0 ~elem~0.offset) (<= 2 main_~dev2~0.offset))} #98#return; {7463#(and (= 0 ~elem~0.offset) (<= 2 main_~dev2~0.offset))} is VALID [2020-07-11 01:06:03,768 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2020-07-11 01:06:03,780 INFO L280 TraceCheckUtils]: 0: Hoare triple {7524#(and (= ~elem~0.base |old(~elem~0.base)|) (= ~elem~0.offset |old(~elem~0.offset)|))} ~new.base, ~new.offset := #in~new.base, #in~new.offset; {7525#(= |old(~elem~0.offset)| ~elem~0.offset)} is VALID [2020-07-11 01:06:03,781 INFO L280 TraceCheckUtils]: 1: Hoare triple {7525#(= |old(~elem~0.offset)| ~elem~0.offset)} ~head.base, ~head.offset := #in~head.base, #in~head.offset; {7525#(= |old(~elem~0.offset)| ~elem~0.offset)} is VALID [2020-07-11 01:06:03,782 INFO L280 TraceCheckUtils]: 2: Hoare triple {7525#(= |old(~elem~0.offset)| ~elem~0.offset)} assume ~new.base != ~elem~0.base || ~new.offset != ~elem~0.offset; {7525#(= |old(~elem~0.offset)| ~elem~0.offset)} is VALID [2020-07-11 01:06:03,782 INFO L280 TraceCheckUtils]: 3: Hoare triple {7525#(= |old(~elem~0.offset)| ~elem~0.offset)} assume -2147483648 <= #t~nondet31 && #t~nondet31 <= 2147483647; {7525#(= |old(~elem~0.offset)| ~elem~0.offset)} is VALID [2020-07-11 01:06:03,783 INFO L280 TraceCheckUtils]: 4: Hoare triple {7525#(= |old(~elem~0.offset)| ~elem~0.offset)} assume !(0 != #t~nondet31); {7525#(= |old(~elem~0.offset)| ~elem~0.offset)} is VALID [2020-07-11 01:06:03,783 INFO L280 TraceCheckUtils]: 5: Hoare triple {7525#(= |old(~elem~0.offset)| ~elem~0.offset)} havoc #t~nondet31; {7525#(= |old(~elem~0.offset)| ~elem~0.offset)} is VALID [2020-07-11 01:06:03,784 INFO L280 TraceCheckUtils]: 6: Hoare triple {7525#(= |old(~elem~0.offset)| ~elem~0.offset)} assume true; {7525#(= |old(~elem~0.offset)| ~elem~0.offset)} is VALID [2020-07-11 01:06:03,785 INFO L275 TraceCheckUtils]: 7: Hoare quadruple {7525#(= |old(~elem~0.offset)| ~elem~0.offset)} {7463#(and (= 0 ~elem~0.offset) (<= 2 main_~dev2~0.offset))} #100#return; {7463#(and (= 0 ~elem~0.offset) (<= 2 main_~dev2~0.offset))} is VALID [2020-07-11 01:06:03,787 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2020-07-11 01:06:03,839 INFO L280 TraceCheckUtils]: 0: Hoare triple {7524#(and (= ~elem~0.base |old(~elem~0.base)|) (= ~elem~0.offset |old(~elem~0.offset)|))} ~entry.base, ~entry.offset := #in~entry.base, #in~entry.offset; {7526#(and (= |old(~elem~0.offset)| ~elem~0.offset) (= |list_del_#in~entry.offset| list_del_~entry.offset))} is VALID [2020-07-11 01:06:03,839 INFO L280 TraceCheckUtils]: 1: Hoare triple {7526#(and (= |old(~elem~0.offset)| ~elem~0.offset) (= |list_del_#in~entry.offset| list_del_~entry.offset))} assume ~entry.base == ~elem~0.base && ~entry.offset == ~elem~0.offset; {7527#(= |old(~elem~0.offset)| |list_del_#in~entry.offset|)} is VALID [2020-07-11 01:06:03,840 INFO L280 TraceCheckUtils]: 2: Hoare triple {7527#(= |old(~elem~0.offset)| |list_del_#in~entry.offset|)} ~elem~0.base, ~elem~0.offset := 0, 0; {7527#(= |old(~elem~0.offset)| |list_del_#in~entry.offset|)} is VALID [2020-07-11 01:06:03,841 INFO L280 TraceCheckUtils]: 3: Hoare triple {7527#(= |old(~elem~0.offset)| |list_del_#in~entry.offset|)} assume true; {7527#(= |old(~elem~0.offset)| |list_del_#in~entry.offset|)} is VALID [2020-07-11 01:06:03,842 INFO L275 TraceCheckUtils]: 4: Hoare quadruple {7527#(= |old(~elem~0.offset)| |list_del_#in~entry.offset|)} {7463#(and (= 0 ~elem~0.offset) (<= 2 main_~dev2~0.offset))} #102#return; {7415#false} is VALID [2020-07-11 01:06:03,843 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2020-07-11 01:06:03,847 INFO L280 TraceCheckUtils]: 0: Hoare triple {7524#(and (= ~elem~0.base |old(~elem~0.base)|) (= ~elem~0.offset |old(~elem~0.offset)|))} ~new.base, ~new.offset := #in~new.base, #in~new.offset; {7414#true} is VALID [2020-07-11 01:06:03,848 INFO L280 TraceCheckUtils]: 1: Hoare triple {7414#true} ~head.base, ~head.offset := #in~head.base, #in~head.offset; {7414#true} is VALID [2020-07-11 01:06:03,848 INFO L280 TraceCheckUtils]: 2: Hoare triple {7414#true} assume ~new.base != ~elem~0.base || ~new.offset != ~elem~0.offset; {7414#true} is VALID [2020-07-11 01:06:03,848 INFO L280 TraceCheckUtils]: 3: Hoare triple {7414#true} assume -2147483648 <= #t~nondet31 && #t~nondet31 <= 2147483647; {7414#true} is VALID [2020-07-11 01:06:03,848 INFO L280 TraceCheckUtils]: 4: Hoare triple {7414#true} assume !(0 != #t~nondet31); {7414#true} is VALID [2020-07-11 01:06:03,848 INFO L280 TraceCheckUtils]: 5: Hoare triple {7414#true} havoc #t~nondet31; {7414#true} is VALID [2020-07-11 01:06:03,849 INFO L280 TraceCheckUtils]: 6: Hoare triple {7414#true} assume true; {7414#true} is VALID [2020-07-11 01:06:03,849 INFO L275 TraceCheckUtils]: 7: Hoare quadruple {7414#true} {7415#false} #104#return; {7415#false} is VALID [2020-07-11 01:06:03,850 INFO L263 TraceCheckUtils]: 0: Hoare triple {7414#true} call ULTIMATE.init(); {7493#(and (= |#valid| |old(#valid)|) (= ~elem~0.base |old(~elem~0.base)|) (= |#NULL.base| |old(#NULL.base)|) (= |~#head~0.base| |old(~#head~0.base)|) (= ~guard_malloc_counter~0.offset |old(~guard_malloc_counter~0.offset)|) (= |#NULL.offset| |old(#NULL.offset)|) (= ~elem~0.offset |old(~elem~0.offset)|) (= |old(#length)| |#length|) (= |~#head~0.offset| |old(~#head~0.offset)|) (= ~guard_malloc_counter~0.base |old(~guard_malloc_counter~0.base)|))} is VALID [2020-07-11 01:06:03,850 INFO L280 TraceCheckUtils]: 1: Hoare triple {7493#(and (= |#valid| |old(#valid)|) (= ~elem~0.base |old(~elem~0.base)|) (= |#NULL.base| |old(#NULL.base)|) (= |~#head~0.base| |old(~#head~0.base)|) (= ~guard_malloc_counter~0.offset |old(~guard_malloc_counter~0.offset)|) (= |#NULL.offset| |old(#NULL.offset)|) (= ~elem~0.offset |old(~elem~0.offset)|) (= |old(#length)| |#length|) (= |~#head~0.offset| |old(~#head~0.offset)|) (= ~guard_malloc_counter~0.base |old(~guard_malloc_counter~0.base)|))} #NULL.base, #NULL.offset := 0, 0; {7414#true} is VALID [2020-07-11 01:06:03,850 INFO L280 TraceCheckUtils]: 2: Hoare triple {7414#true} #valid := #valid[0 := 0]; {7414#true} is VALID [2020-07-11 01:06:03,850 INFO L280 TraceCheckUtils]: 3: Hoare triple {7414#true} assume 0 < #StackHeapBarrier; {7414#true} is VALID [2020-07-11 01:06:03,851 INFO L280 TraceCheckUtils]: 4: Hoare triple {7414#true} ~guard_malloc_counter~0.base, ~guard_malloc_counter~0.offset := 0, 0; {7494#(= 0 ~guard_malloc_counter~0.offset)} is VALID [2020-07-11 01:06:03,852 INFO L280 TraceCheckUtils]: 5: Hoare triple {7494#(= 0 ~guard_malloc_counter~0.offset)} ~elem~0.base, ~elem~0.offset := 0, 0; {7426#(and (= 0 ~elem~0.offset) (= 0 ~guard_malloc_counter~0.offset))} is VALID [2020-07-11 01:06:03,853 INFO L280 TraceCheckUtils]: 6: Hoare triple {7426#(and (= 0 ~elem~0.offset) (= 0 ~guard_malloc_counter~0.offset))} SUMMARY for call ~#head~0.base, ~#head~0.offset := #Ultimate.allocOnStack(8); srcloc: L900 {7426#(and (= 0 ~elem~0.offset) (= 0 ~guard_malloc_counter~0.offset))} is VALID [2020-07-11 01:06:03,854 INFO L280 TraceCheckUtils]: 7: Hoare triple {7426#(and (= 0 ~elem~0.offset) (= 0 ~guard_malloc_counter~0.offset))} SUMMARY for call write~init~$Pointer$(0, 0, ~#head~0.base, ~#head~0.offset, 4); srcloc: L900-1 {7426#(and (= 0 ~elem~0.offset) (= 0 ~guard_malloc_counter~0.offset))} is VALID [2020-07-11 01:06:03,854 INFO L280 TraceCheckUtils]: 8: Hoare triple {7426#(and (= 0 ~elem~0.offset) (= 0 ~guard_malloc_counter~0.offset))} SUMMARY for call write~init~$Pointer$(0, 0, ~#head~0.base, 4 + ~#head~0.offset, 4); srcloc: L900-2 {7426#(and (= 0 ~elem~0.offset) (= 0 ~guard_malloc_counter~0.offset))} is VALID [2020-07-11 01:06:03,855 INFO L280 TraceCheckUtils]: 9: Hoare triple {7426#(and (= 0 ~elem~0.offset) (= 0 ~guard_malloc_counter~0.offset))} assume true; {7426#(and (= 0 ~elem~0.offset) (= 0 ~guard_malloc_counter~0.offset))} is VALID [2020-07-11 01:06:03,856 INFO L275 TraceCheckUtils]: 10: Hoare quadruple {7426#(and (= 0 ~elem~0.offset) (= 0 ~guard_malloc_counter~0.offset))} {7414#true} #112#return; {7426#(and (= 0 ~elem~0.offset) (= 0 ~guard_malloc_counter~0.offset))} is VALID [2020-07-11 01:06:03,856 INFO L263 TraceCheckUtils]: 11: Hoare triple {7426#(and (= 0 ~elem~0.offset) (= 0 ~guard_malloc_counter~0.offset))} call #t~ret34 := main(); {7426#(and (= 0 ~elem~0.offset) (= 0 ~guard_malloc_counter~0.offset))} is VALID [2020-07-11 01:06:03,857 INFO L280 TraceCheckUtils]: 12: Hoare triple {7426#(and (= 0 ~elem~0.offset) (= 0 ~guard_malloc_counter~0.offset))} havoc ~dev1~0.base, ~dev1~0.offset; {7426#(and (= 0 ~elem~0.offset) (= 0 ~guard_malloc_counter~0.offset))} is VALID [2020-07-11 01:06:03,858 INFO L280 TraceCheckUtils]: 13: Hoare triple {7426#(and (= 0 ~elem~0.offset) (= 0 ~guard_malloc_counter~0.offset))} havoc ~dev2~0.base, ~dev2~0.offset; {7426#(and (= 0 ~elem~0.offset) (= 0 ~guard_malloc_counter~0.offset))} is VALID [2020-07-11 01:06:03,858 INFO L263 TraceCheckUtils]: 14: Hoare triple {7426#(and (= 0 ~elem~0.offset) (= 0 ~guard_malloc_counter~0.offset))} call #t~ret32.base, #t~ret32.offset := my_malloc(8); {7495#(and (= ~guard_malloc_counter~0.offset |old(~guard_malloc_counter~0.offset)|) (= ~guard_malloc_counter~0.base |old(~guard_malloc_counter~0.base)|))} is VALID [2020-07-11 01:06:03,859 INFO L280 TraceCheckUtils]: 15: Hoare triple {7495#(and (= ~guard_malloc_counter~0.offset |old(~guard_malloc_counter~0.offset)|) (= ~guard_malloc_counter~0.base |old(~guard_malloc_counter~0.base)|))} ~size := #in~size; {7496#(= ~guard_malloc_counter~0.offset |old(~guard_malloc_counter~0.offset)|)} is VALID [2020-07-11 01:06:03,860 INFO L263 TraceCheckUtils]: 16: Hoare triple {7496#(= ~guard_malloc_counter~0.offset |old(~guard_malloc_counter~0.offset)|)} call #t~ret30.base, #t~ret30.offset := __getMemory(~size); {7495#(and (= ~guard_malloc_counter~0.offset |old(~guard_malloc_counter~0.offset)|) (= ~guard_malloc_counter~0.base |old(~guard_malloc_counter~0.base)|))} is VALID [2020-07-11 01:06:03,861 INFO L280 TraceCheckUtils]: 17: Hoare triple {7495#(and (= ~guard_malloc_counter~0.offset |old(~guard_malloc_counter~0.offset)|) (= ~guard_malloc_counter~0.base |old(~guard_malloc_counter~0.base)|))} ~size := #in~size; {7496#(= ~guard_malloc_counter~0.offset |old(~guard_malloc_counter~0.offset)|)} is VALID [2020-07-11 01:06:03,861 INFO L280 TraceCheckUtils]: 18: Hoare triple {7496#(= ~guard_malloc_counter~0.offset |old(~guard_malloc_counter~0.offset)|)} assume ~size > 0; {7496#(= ~guard_malloc_counter~0.offset |old(~guard_malloc_counter~0.offset)|)} is VALID [2020-07-11 01:06:03,862 INFO L280 TraceCheckUtils]: 19: Hoare triple {7496#(= ~guard_malloc_counter~0.offset |old(~guard_malloc_counter~0.offset)|)} #t~post28.base, #t~post28.offset := ~guard_malloc_counter~0.base, ~guard_malloc_counter~0.offset; {7509#(= |old(~guard_malloc_counter~0.offset)| |__getMemory_#t~post28.offset|)} is VALID [2020-07-11 01:06:03,862 INFO L280 TraceCheckUtils]: 20: Hoare triple {7509#(= |old(~guard_malloc_counter~0.offset)| |__getMemory_#t~post28.offset|)} ~guard_malloc_counter~0.base, ~guard_malloc_counter~0.offset := #t~post28.base, 1 + #t~post28.offset; {7508#(<= (+ |old(~guard_malloc_counter~0.offset)| 1) ~guard_malloc_counter~0.offset)} is VALID [2020-07-11 01:06:03,863 INFO L280 TraceCheckUtils]: 21: Hoare triple {7508#(<= (+ |old(~guard_malloc_counter~0.offset)| 1) ~guard_malloc_counter~0.offset)} havoc #t~post28.base, #t~post28.offset; {7508#(<= (+ |old(~guard_malloc_counter~0.offset)| 1) ~guard_malloc_counter~0.offset)} is VALID [2020-07-11 01:06:03,863 INFO L280 TraceCheckUtils]: 22: Hoare triple {7508#(<= (+ |old(~guard_malloc_counter~0.offset)| 1) ~guard_malloc_counter~0.offset)} assume -2147483648 <= #t~nondet29 && #t~nondet29 <= 2147483647; {7508#(<= (+ |old(~guard_malloc_counter~0.offset)| 1) ~guard_malloc_counter~0.offset)} is VALID [2020-07-11 01:06:03,864 INFO L280 TraceCheckUtils]: 23: Hoare triple {7508#(<= (+ |old(~guard_malloc_counter~0.offset)| 1) ~guard_malloc_counter~0.offset)} assume !(0 == #t~nondet29); {7508#(<= (+ |old(~guard_malloc_counter~0.offset)| 1) ~guard_malloc_counter~0.offset)} is VALID [2020-07-11 01:06:03,864 INFO L280 TraceCheckUtils]: 24: Hoare triple {7508#(<= (+ |old(~guard_malloc_counter~0.offset)| 1) ~guard_malloc_counter~0.offset)} havoc #t~nondet29; {7508#(<= (+ |old(~guard_malloc_counter~0.offset)| 1) ~guard_malloc_counter~0.offset)} is VALID [2020-07-11 01:06:03,865 INFO L280 TraceCheckUtils]: 25: Hoare triple {7508#(<= (+ |old(~guard_malloc_counter~0.offset)| 1) ~guard_malloc_counter~0.offset)} #res.base, #res.offset := ~guard_malloc_counter~0.base, ~guard_malloc_counter~0.offset; {7508#(<= (+ |old(~guard_malloc_counter~0.offset)| 1) ~guard_malloc_counter~0.offset)} is VALID [2020-07-11 01:06:03,865 INFO L280 TraceCheckUtils]: 26: Hoare triple {7508#(<= (+ |old(~guard_malloc_counter~0.offset)| 1) ~guard_malloc_counter~0.offset)} assume true; {7508#(<= (+ |old(~guard_malloc_counter~0.offset)| 1) ~guard_malloc_counter~0.offset)} is VALID [2020-07-11 01:06:03,867 INFO L275 TraceCheckUtils]: 27: Hoare quadruple {7508#(<= (+ |old(~guard_malloc_counter~0.offset)| 1) ~guard_malloc_counter~0.offset)} {7496#(= ~guard_malloc_counter~0.offset |old(~guard_malloc_counter~0.offset)|)} #92#return; {7508#(<= (+ |old(~guard_malloc_counter~0.offset)| 1) ~guard_malloc_counter~0.offset)} is VALID [2020-07-11 01:06:03,870 INFO L280 TraceCheckUtils]: 28: Hoare triple {7508#(<= (+ |old(~guard_malloc_counter~0.offset)| 1) ~guard_malloc_counter~0.offset)} #res.base, #res.offset := #t~ret30.base, #t~ret30.offset; {7508#(<= (+ |old(~guard_malloc_counter~0.offset)| 1) ~guard_malloc_counter~0.offset)} is VALID [2020-07-11 01:06:03,870 INFO L280 TraceCheckUtils]: 29: Hoare triple {7508#(<= (+ |old(~guard_malloc_counter~0.offset)| 1) ~guard_malloc_counter~0.offset)} havoc #t~ret30.base, #t~ret30.offset; {7508#(<= (+ |old(~guard_malloc_counter~0.offset)| 1) ~guard_malloc_counter~0.offset)} is VALID [2020-07-11 01:06:03,871 INFO L280 TraceCheckUtils]: 30: Hoare triple {7508#(<= (+ |old(~guard_malloc_counter~0.offset)| 1) ~guard_malloc_counter~0.offset)} assume true; {7508#(<= (+ |old(~guard_malloc_counter~0.offset)| 1) ~guard_malloc_counter~0.offset)} is VALID [2020-07-11 01:06:03,872 INFO L275 TraceCheckUtils]: 31: Hoare quadruple {7508#(<= (+ |old(~guard_malloc_counter~0.offset)| 1) ~guard_malloc_counter~0.offset)} {7426#(and (= 0 ~elem~0.offset) (= 0 ~guard_malloc_counter~0.offset))} #94#return; {7444#(and (= 0 ~elem~0.offset) (<= 1 ~guard_malloc_counter~0.offset))} is VALID [2020-07-11 01:06:03,873 INFO L280 TraceCheckUtils]: 32: Hoare triple {7444#(and (= 0 ~elem~0.offset) (<= 1 ~guard_malloc_counter~0.offset))} ~dev1~0.base, ~dev1~0.offset := #t~ret32.base, #t~ret32.offset; {7444#(and (= 0 ~elem~0.offset) (<= 1 ~guard_malloc_counter~0.offset))} is VALID [2020-07-11 01:06:03,874 INFO L280 TraceCheckUtils]: 33: Hoare triple {7444#(and (= 0 ~elem~0.offset) (<= 1 ~guard_malloc_counter~0.offset))} havoc #t~ret32.base, #t~ret32.offset; {7444#(and (= 0 ~elem~0.offset) (<= 1 ~guard_malloc_counter~0.offset))} is VALID [2020-07-11 01:06:03,875 INFO L263 TraceCheckUtils]: 34: Hoare triple {7444#(and (= 0 ~elem~0.offset) (<= 1 ~guard_malloc_counter~0.offset))} call #t~ret33.base, #t~ret33.offset := my_malloc(8); {7495#(and (= ~guard_malloc_counter~0.offset |old(~guard_malloc_counter~0.offset)|) (= ~guard_malloc_counter~0.base |old(~guard_malloc_counter~0.base)|))} is VALID [2020-07-11 01:06:03,876 INFO L280 TraceCheckUtils]: 35: Hoare triple {7495#(and (= ~guard_malloc_counter~0.offset |old(~guard_malloc_counter~0.offset)|) (= ~guard_malloc_counter~0.base |old(~guard_malloc_counter~0.base)|))} ~size := #in~size; {7496#(= ~guard_malloc_counter~0.offset |old(~guard_malloc_counter~0.offset)|)} is VALID [2020-07-11 01:06:03,877 INFO L263 TraceCheckUtils]: 36: Hoare triple {7496#(= ~guard_malloc_counter~0.offset |old(~guard_malloc_counter~0.offset)|)} call #t~ret30.base, #t~ret30.offset := __getMemory(~size); {7495#(and (= ~guard_malloc_counter~0.offset |old(~guard_malloc_counter~0.offset)|) (= ~guard_malloc_counter~0.base |old(~guard_malloc_counter~0.base)|))} is VALID [2020-07-11 01:06:03,878 INFO L280 TraceCheckUtils]: 37: Hoare triple {7495#(and (= ~guard_malloc_counter~0.offset |old(~guard_malloc_counter~0.offset)|) (= ~guard_malloc_counter~0.base |old(~guard_malloc_counter~0.base)|))} ~size := #in~size; {7496#(= ~guard_malloc_counter~0.offset |old(~guard_malloc_counter~0.offset)|)} is VALID [2020-07-11 01:06:03,878 INFO L280 TraceCheckUtils]: 38: Hoare triple {7496#(= ~guard_malloc_counter~0.offset |old(~guard_malloc_counter~0.offset)|)} assume ~size > 0; {7496#(= ~guard_malloc_counter~0.offset |old(~guard_malloc_counter~0.offset)|)} is VALID [2020-07-11 01:06:03,879 INFO L280 TraceCheckUtils]: 39: Hoare triple {7496#(= ~guard_malloc_counter~0.offset |old(~guard_malloc_counter~0.offset)|)} #t~post28.base, #t~post28.offset := ~guard_malloc_counter~0.base, ~guard_malloc_counter~0.offset; {7509#(= |old(~guard_malloc_counter~0.offset)| |__getMemory_#t~post28.offset|)} is VALID [2020-07-11 01:06:03,879 INFO L280 TraceCheckUtils]: 40: Hoare triple {7509#(= |old(~guard_malloc_counter~0.offset)| |__getMemory_#t~post28.offset|)} ~guard_malloc_counter~0.base, ~guard_malloc_counter~0.offset := #t~post28.base, 1 + #t~post28.offset; {7508#(<= (+ |old(~guard_malloc_counter~0.offset)| 1) ~guard_malloc_counter~0.offset)} is VALID [2020-07-11 01:06:03,880 INFO L280 TraceCheckUtils]: 41: Hoare triple {7508#(<= (+ |old(~guard_malloc_counter~0.offset)| 1) ~guard_malloc_counter~0.offset)} havoc #t~post28.base, #t~post28.offset; {7508#(<= (+ |old(~guard_malloc_counter~0.offset)| 1) ~guard_malloc_counter~0.offset)} is VALID [2020-07-11 01:06:03,881 INFO L280 TraceCheckUtils]: 42: Hoare triple {7508#(<= (+ |old(~guard_malloc_counter~0.offset)| 1) ~guard_malloc_counter~0.offset)} assume -2147483648 <= #t~nondet29 && #t~nondet29 <= 2147483647; {7508#(<= (+ |old(~guard_malloc_counter~0.offset)| 1) ~guard_malloc_counter~0.offset)} is VALID [2020-07-11 01:06:03,881 INFO L280 TraceCheckUtils]: 43: Hoare triple {7508#(<= (+ |old(~guard_malloc_counter~0.offset)| 1) ~guard_malloc_counter~0.offset)} assume !(0 == #t~nondet29); {7508#(<= (+ |old(~guard_malloc_counter~0.offset)| 1) ~guard_malloc_counter~0.offset)} is VALID [2020-07-11 01:06:03,882 INFO L280 TraceCheckUtils]: 44: Hoare triple {7508#(<= (+ |old(~guard_malloc_counter~0.offset)| 1) ~guard_malloc_counter~0.offset)} havoc #t~nondet29; {7508#(<= (+ |old(~guard_malloc_counter~0.offset)| 1) ~guard_malloc_counter~0.offset)} is VALID [2020-07-11 01:06:03,883 INFO L280 TraceCheckUtils]: 45: Hoare triple {7508#(<= (+ |old(~guard_malloc_counter~0.offset)| 1) ~guard_malloc_counter~0.offset)} #res.base, #res.offset := ~guard_malloc_counter~0.base, ~guard_malloc_counter~0.offset; {7523#(<= (+ |old(~guard_malloc_counter~0.offset)| 1) |__getMemory_#res.offset|)} is VALID [2020-07-11 01:06:03,883 INFO L280 TraceCheckUtils]: 46: Hoare triple {7523#(<= (+ |old(~guard_malloc_counter~0.offset)| 1) |__getMemory_#res.offset|)} assume true; {7523#(<= (+ |old(~guard_malloc_counter~0.offset)| 1) |__getMemory_#res.offset|)} is VALID [2020-07-11 01:06:03,884 INFO L275 TraceCheckUtils]: 47: Hoare quadruple {7523#(<= (+ |old(~guard_malloc_counter~0.offset)| 1) |__getMemory_#res.offset|)} {7496#(= ~guard_malloc_counter~0.offset |old(~guard_malloc_counter~0.offset)|)} #92#return; {7521#(<= (+ |old(~guard_malloc_counter~0.offset)| 1) |my_malloc_#t~ret30.offset|)} is VALID [2020-07-11 01:06:03,885 INFO L280 TraceCheckUtils]: 48: Hoare triple {7521#(<= (+ |old(~guard_malloc_counter~0.offset)| 1) |my_malloc_#t~ret30.offset|)} #res.base, #res.offset := #t~ret30.base, #t~ret30.offset; {7522#(<= (+ |old(~guard_malloc_counter~0.offset)| 1) |my_malloc_#res.offset|)} is VALID [2020-07-11 01:06:03,885 INFO L280 TraceCheckUtils]: 49: Hoare triple {7522#(<= (+ |old(~guard_malloc_counter~0.offset)| 1) |my_malloc_#res.offset|)} havoc #t~ret30.base, #t~ret30.offset; {7522#(<= (+ |old(~guard_malloc_counter~0.offset)| 1) |my_malloc_#res.offset|)} is VALID [2020-07-11 01:06:03,886 INFO L280 TraceCheckUtils]: 50: Hoare triple {7522#(<= (+ |old(~guard_malloc_counter~0.offset)| 1) |my_malloc_#res.offset|)} assume true; {7522#(<= (+ |old(~guard_malloc_counter~0.offset)| 1) |my_malloc_#res.offset|)} is VALID [2020-07-11 01:06:03,887 INFO L275 TraceCheckUtils]: 51: Hoare quadruple {7522#(<= (+ |old(~guard_malloc_counter~0.offset)| 1) |my_malloc_#res.offset|)} {7444#(and (= 0 ~elem~0.offset) (<= 1 ~guard_malloc_counter~0.offset))} #96#return; {7462#(and (= 0 ~elem~0.offset) (<= 2 |main_#t~ret33.offset|))} is VALID [2020-07-11 01:06:03,888 INFO L280 TraceCheckUtils]: 52: Hoare triple {7462#(and (= 0 ~elem~0.offset) (<= 2 |main_#t~ret33.offset|))} ~dev2~0.base, ~dev2~0.offset := #t~ret33.base, #t~ret33.offset; {7463#(and (= 0 ~elem~0.offset) (<= 2 main_~dev2~0.offset))} is VALID [2020-07-11 01:06:03,889 INFO L280 TraceCheckUtils]: 53: Hoare triple {7463#(and (= 0 ~elem~0.offset) (<= 2 main_~dev2~0.offset))} havoc #t~ret33.base, #t~ret33.offset; {7463#(and (= 0 ~elem~0.offset) (<= 2 main_~dev2~0.offset))} is VALID [2020-07-11 01:06:03,890 INFO L280 TraceCheckUtils]: 54: Hoare triple {7463#(and (= 0 ~elem~0.offset) (<= 2 main_~dev2~0.offset))} assume (~dev1~0.base != 0 || ~dev1~0.offset != 0) && (~dev2~0.base != 0 || ~dev2~0.offset != 0); {7463#(and (= 0 ~elem~0.offset) (<= 2 main_~dev2~0.offset))} is VALID [2020-07-11 01:06:03,892 INFO L263 TraceCheckUtils]: 55: Hoare triple {7463#(and (= 0 ~elem~0.offset) (<= 2 main_~dev2~0.offset))} call list_add(~dev2~0.base, ~dev2~0.offset, ~#head~0.base, ~#head~0.offset); {7524#(and (= ~elem~0.base |old(~elem~0.base)|) (= ~elem~0.offset |old(~elem~0.offset)|))} is VALID [2020-07-11 01:06:03,893 INFO L280 TraceCheckUtils]: 56: Hoare triple {7524#(and (= ~elem~0.base |old(~elem~0.base)|) (= ~elem~0.offset |old(~elem~0.offset)|))} ~new.base, ~new.offset := #in~new.base, #in~new.offset; {7525#(= |old(~elem~0.offset)| ~elem~0.offset)} is VALID [2020-07-11 01:06:03,893 INFO L280 TraceCheckUtils]: 57: Hoare triple {7525#(= |old(~elem~0.offset)| ~elem~0.offset)} ~head.base, ~head.offset := #in~head.base, #in~head.offset; {7525#(= |old(~elem~0.offset)| ~elem~0.offset)} is VALID [2020-07-11 01:06:03,894 INFO L280 TraceCheckUtils]: 58: Hoare triple {7525#(= |old(~elem~0.offset)| ~elem~0.offset)} assume ~new.base != ~elem~0.base || ~new.offset != ~elem~0.offset; {7525#(= |old(~elem~0.offset)| ~elem~0.offset)} is VALID [2020-07-11 01:06:03,895 INFO L280 TraceCheckUtils]: 59: Hoare triple {7525#(= |old(~elem~0.offset)| ~elem~0.offset)} assume -2147483648 <= #t~nondet31 && #t~nondet31 <= 2147483647; {7525#(= |old(~elem~0.offset)| ~elem~0.offset)} is VALID [2020-07-11 01:06:03,896 INFO L280 TraceCheckUtils]: 60: Hoare triple {7525#(= |old(~elem~0.offset)| ~elem~0.offset)} assume !(0 != #t~nondet31); {7525#(= |old(~elem~0.offset)| ~elem~0.offset)} is VALID [2020-07-11 01:06:03,897 INFO L280 TraceCheckUtils]: 61: Hoare triple {7525#(= |old(~elem~0.offset)| ~elem~0.offset)} havoc #t~nondet31; {7525#(= |old(~elem~0.offset)| ~elem~0.offset)} is VALID [2020-07-11 01:06:03,898 INFO L280 TraceCheckUtils]: 62: Hoare triple {7525#(= |old(~elem~0.offset)| ~elem~0.offset)} assume true; {7525#(= |old(~elem~0.offset)| ~elem~0.offset)} is VALID [2020-07-11 01:06:03,900 INFO L275 TraceCheckUtils]: 63: Hoare quadruple {7525#(= |old(~elem~0.offset)| ~elem~0.offset)} {7463#(and (= 0 ~elem~0.offset) (<= 2 main_~dev2~0.offset))} #98#return; {7463#(and (= 0 ~elem~0.offset) (<= 2 main_~dev2~0.offset))} is VALID [2020-07-11 01:06:03,903 INFO L263 TraceCheckUtils]: 64: Hoare triple {7463#(and (= 0 ~elem~0.offset) (<= 2 main_~dev2~0.offset))} call list_add(~dev1~0.base, ~dev1~0.offset, ~#head~0.base, ~#head~0.offset); {7524#(and (= ~elem~0.base |old(~elem~0.base)|) (= ~elem~0.offset |old(~elem~0.offset)|))} is VALID [2020-07-11 01:06:03,905 INFO L280 TraceCheckUtils]: 65: Hoare triple {7524#(and (= ~elem~0.base |old(~elem~0.base)|) (= ~elem~0.offset |old(~elem~0.offset)|))} ~new.base, ~new.offset := #in~new.base, #in~new.offset; {7525#(= |old(~elem~0.offset)| ~elem~0.offset)} is VALID [2020-07-11 01:06:03,906 INFO L280 TraceCheckUtils]: 66: Hoare triple {7525#(= |old(~elem~0.offset)| ~elem~0.offset)} ~head.base, ~head.offset := #in~head.base, #in~head.offset; {7525#(= |old(~elem~0.offset)| ~elem~0.offset)} is VALID [2020-07-11 01:06:03,907 INFO L280 TraceCheckUtils]: 67: Hoare triple {7525#(= |old(~elem~0.offset)| ~elem~0.offset)} assume ~new.base != ~elem~0.base || ~new.offset != ~elem~0.offset; {7525#(= |old(~elem~0.offset)| ~elem~0.offset)} is VALID [2020-07-11 01:06:03,907 INFO L280 TraceCheckUtils]: 68: Hoare triple {7525#(= |old(~elem~0.offset)| ~elem~0.offset)} assume -2147483648 <= #t~nondet31 && #t~nondet31 <= 2147483647; {7525#(= |old(~elem~0.offset)| ~elem~0.offset)} is VALID [2020-07-11 01:06:03,908 INFO L280 TraceCheckUtils]: 69: Hoare triple {7525#(= |old(~elem~0.offset)| ~elem~0.offset)} assume !(0 != #t~nondet31); {7525#(= |old(~elem~0.offset)| ~elem~0.offset)} is VALID [2020-07-11 01:06:03,909 INFO L280 TraceCheckUtils]: 70: Hoare triple {7525#(= |old(~elem~0.offset)| ~elem~0.offset)} havoc #t~nondet31; {7525#(= |old(~elem~0.offset)| ~elem~0.offset)} is VALID [2020-07-11 01:06:03,910 INFO L280 TraceCheckUtils]: 71: Hoare triple {7525#(= |old(~elem~0.offset)| ~elem~0.offset)} assume true; {7525#(= |old(~elem~0.offset)| ~elem~0.offset)} is VALID [2020-07-11 01:06:03,912 INFO L275 TraceCheckUtils]: 72: Hoare quadruple {7525#(= |old(~elem~0.offset)| ~elem~0.offset)} {7463#(and (= 0 ~elem~0.offset) (<= 2 main_~dev2~0.offset))} #100#return; {7463#(and (= 0 ~elem~0.offset) (<= 2 main_~dev2~0.offset))} is VALID [2020-07-11 01:06:03,914 INFO L263 TraceCheckUtils]: 73: Hoare triple {7463#(and (= 0 ~elem~0.offset) (<= 2 main_~dev2~0.offset))} call list_del(~dev2~0.base, ~dev2~0.offset); {7524#(and (= ~elem~0.base |old(~elem~0.base)|) (= ~elem~0.offset |old(~elem~0.offset)|))} is VALID [2020-07-11 01:06:03,915 INFO L280 TraceCheckUtils]: 74: Hoare triple {7524#(and (= ~elem~0.base |old(~elem~0.base)|) (= ~elem~0.offset |old(~elem~0.offset)|))} ~entry.base, ~entry.offset := #in~entry.base, #in~entry.offset; {7526#(and (= |old(~elem~0.offset)| ~elem~0.offset) (= |list_del_#in~entry.offset| list_del_~entry.offset))} is VALID [2020-07-11 01:06:03,916 INFO L280 TraceCheckUtils]: 75: Hoare triple {7526#(and (= |old(~elem~0.offset)| ~elem~0.offset) (= |list_del_#in~entry.offset| list_del_~entry.offset))} assume ~entry.base == ~elem~0.base && ~entry.offset == ~elem~0.offset; {7527#(= |old(~elem~0.offset)| |list_del_#in~entry.offset|)} is VALID [2020-07-11 01:06:03,917 INFO L280 TraceCheckUtils]: 76: Hoare triple {7527#(= |old(~elem~0.offset)| |list_del_#in~entry.offset|)} ~elem~0.base, ~elem~0.offset := 0, 0; {7527#(= |old(~elem~0.offset)| |list_del_#in~entry.offset|)} is VALID [2020-07-11 01:06:03,918 INFO L280 TraceCheckUtils]: 77: Hoare triple {7527#(= |old(~elem~0.offset)| |list_del_#in~entry.offset|)} assume true; {7527#(= |old(~elem~0.offset)| |list_del_#in~entry.offset|)} is VALID [2020-07-11 01:06:03,920 INFO L275 TraceCheckUtils]: 78: Hoare quadruple {7527#(= |old(~elem~0.offset)| |list_del_#in~entry.offset|)} {7463#(and (= 0 ~elem~0.offset) (<= 2 main_~dev2~0.offset))} #102#return; {7415#false} is VALID [2020-07-11 01:06:03,920 INFO L263 TraceCheckUtils]: 79: Hoare triple {7415#false} call list_add(~dev2~0.base, ~dev2~0.offset, ~#head~0.base, ~#head~0.offset); {7524#(and (= ~elem~0.base |old(~elem~0.base)|) (= ~elem~0.offset |old(~elem~0.offset)|))} is VALID [2020-07-11 01:06:03,920 INFO L280 TraceCheckUtils]: 80: Hoare triple {7524#(and (= ~elem~0.base |old(~elem~0.base)|) (= ~elem~0.offset |old(~elem~0.offset)|))} ~new.base, ~new.offset := #in~new.base, #in~new.offset; {7414#true} is VALID [2020-07-11 01:06:03,921 INFO L280 TraceCheckUtils]: 81: Hoare triple {7414#true} ~head.base, ~head.offset := #in~head.base, #in~head.offset; {7414#true} is VALID [2020-07-11 01:06:03,921 INFO L280 TraceCheckUtils]: 82: Hoare triple {7414#true} assume ~new.base != ~elem~0.base || ~new.offset != ~elem~0.offset; {7414#true} is VALID [2020-07-11 01:06:03,921 INFO L280 TraceCheckUtils]: 83: Hoare triple {7414#true} assume -2147483648 <= #t~nondet31 && #t~nondet31 <= 2147483647; {7414#true} is VALID [2020-07-11 01:06:03,921 INFO L280 TraceCheckUtils]: 84: Hoare triple {7414#true} assume !(0 != #t~nondet31); {7414#true} is VALID [2020-07-11 01:06:03,922 INFO L280 TraceCheckUtils]: 85: Hoare triple {7414#true} havoc #t~nondet31; {7414#true} is VALID [2020-07-11 01:06:03,922 INFO L280 TraceCheckUtils]: 86: Hoare triple {7414#true} assume true; {7414#true} is VALID [2020-07-11 01:06:03,922 INFO L275 TraceCheckUtils]: 87: Hoare quadruple {7414#true} {7415#false} #104#return; {7415#false} is VALID [2020-07-11 01:06:03,923 INFO L263 TraceCheckUtils]: 88: Hoare triple {7415#false} call list_add(~dev1~0.base, ~dev1~0.offset, ~#head~0.base, ~#head~0.offset); {7415#false} is VALID [2020-07-11 01:06:03,923 INFO L280 TraceCheckUtils]: 89: Hoare triple {7415#false} ~new.base, ~new.offset := #in~new.base, #in~new.offset; {7415#false} is VALID [2020-07-11 01:06:03,923 INFO L280 TraceCheckUtils]: 90: Hoare triple {7415#false} ~head.base, ~head.offset := #in~head.base, #in~head.offset; {7415#false} is VALID [2020-07-11 01:06:03,924 INFO L280 TraceCheckUtils]: 91: Hoare triple {7415#false} assume !(~new.base != ~elem~0.base || ~new.offset != ~elem~0.offset); {7415#false} is VALID [2020-07-11 01:06:03,924 INFO L263 TraceCheckUtils]: 92: Hoare triple {7415#false} call __blast_assert(); {7415#false} is VALID [2020-07-11 01:06:03,924 INFO L280 TraceCheckUtils]: 93: Hoare triple {7415#false} assume !false; {7415#false} is VALID [2020-07-11 01:06:03,950 INFO L134 CoverageAnalysis]: Checked inductivity of 50 backedges. 9 proven. 20 refuted. 0 times theorem prover too weak. 21 trivial. 0 not checked. [2020-07-11 01:06:03,950 INFO L354 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModulePreferences [774207081] [2020-07-11 01:06:03,951 INFO L220 FreeRefinementEngine]: Constructing automaton from 0 perfect and 1 imperfect interpolant sequences. [2020-07-11 01:06:03,951 INFO L233 FreeRefinementEngine]: Number of different interpolants: perfect sequences [] imperfect sequences [19] total 19 [2020-07-11 01:06:03,951 INFO L156 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [1347829326] [2020-07-11 01:06:03,952 INFO L78 Accepts]: Start accepts. Automaton has 19 states. Word has length 94 [2020-07-11 01:06:03,953 INFO L84 Accepts]: Finished accepts. word is accepted. [2020-07-11 01:06:03,953 INFO L86 InductivityCheck]: Starting indutivity check of a Floyd-Hoare automaton with 19 states. [2020-07-11 01:06:04,076 INFO L119 InductivityCheck]: Floyd-Hoare automaton has 77 edges. 77 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2020-07-11 01:06:04,077 INFO L459 AbstractCegarLoop]: Interpolant automaton has 19 states [2020-07-11 01:06:04,077 INFO L143 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy FIXED_PREFERENCES [2020-07-11 01:06:04,077 INFO L142 InterpolantAutomaton]: Constructing interpolant automaton starting with 19 interpolants. [2020-07-11 01:06:04,078 INFO L144 InterpolantAutomaton]: CoverageRelationStatistics Valid=43, Invalid=299, Unknown=0, NotChecked=0, Total=342 [2020-07-11 01:06:04,078 INFO L87 Difference]: Start difference. First operand 110 states and 118 transitions. Second operand 19 states. [2020-07-11 01:06:09,018 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2020-07-11 01:06:09,019 INFO L93 Difference]: Finished difference Result 137 states and 144 transitions. [2020-07-11 01:06:09,019 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 27 states. [2020-07-11 01:06:09,019 INFO L78 Accepts]: Start accepts. Automaton has 19 states. Word has length 94 [2020-07-11 01:06:09,019 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2020-07-11 01:06:09,019 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 19 states. [2020-07-11 01:06:09,022 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 27 states to 27 states and 113 transitions. [2020-07-11 01:06:09,022 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 19 states. [2020-07-11 01:06:09,024 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 27 states to 27 states and 113 transitions. [2020-07-11 01:06:09,024 INFO L86 InductivityCheck]: Starting indutivity check of a Floyd-Hoare automaton with 27 states and 113 transitions. [2020-07-11 01:06:09,234 INFO L119 InductivityCheck]: Floyd-Hoare automaton has 113 edges. 113 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2020-07-11 01:06:09,236 INFO L225 Difference]: With dead ends: 137 [2020-07-11 01:06:09,236 INFO L226 Difference]: Without dead ends: 108 [2020-07-11 01:06:09,238 INFO L675 BasicCegarLoop]: 0 DeclaredPredicates, 59 GetRequests, 21 SyntacticMatches, 0 SemanticMatches, 38 ConstructedPredicates, 0 IntricatePredicates, 0 DeprecatedPredicates, 219 ImplicationChecksByTransitivity, 1.2s TimeCoverageRelationStatistics Valid=239, Invalid=1321, Unknown=0, NotChecked=0, Total=1560 [2020-07-11 01:06:09,238 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 108 states. [2020-07-11 01:06:09,837 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 108 to 100. [2020-07-11 01:06:09,837 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2020-07-11 01:06:09,838 INFO L82 GeneralOperation]: Start isEquivalent. First operand 108 states. Second operand 100 states. [2020-07-11 01:06:09,838 INFO L74 IsIncluded]: Start isIncluded. First operand 108 states. Second operand 100 states. [2020-07-11 01:06:09,838 INFO L87 Difference]: Start difference. First operand 108 states. Second operand 100 states. [2020-07-11 01:06:09,841 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2020-07-11 01:06:09,841 INFO L93 Difference]: Finished difference Result 108 states and 115 transitions. [2020-07-11 01:06:09,841 INFO L276 IsEmpty]: Start isEmpty. Operand 108 states and 115 transitions. [2020-07-11 01:06:09,842 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2020-07-11 01:06:09,842 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2020-07-11 01:06:09,842 INFO L74 IsIncluded]: Start isIncluded. First operand 100 states. Second operand 108 states. [2020-07-11 01:06:09,842 INFO L87 Difference]: Start difference. First operand 100 states. Second operand 108 states. [2020-07-11 01:06:09,845 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2020-07-11 01:06:09,845 INFO L93 Difference]: Finished difference Result 108 states and 115 transitions. [2020-07-11 01:06:09,845 INFO L276 IsEmpty]: Start isEmpty. Operand 108 states and 115 transitions. [2020-07-11 01:06:09,846 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2020-07-11 01:06:09,846 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2020-07-11 01:06:09,846 INFO L88 GeneralOperation]: Finished isEquivalent. [2020-07-11 01:06:09,846 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2020-07-11 01:06:09,846 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 100 states. [2020-07-11 01:06:09,849 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 100 states to 100 states and 106 transitions. [2020-07-11 01:06:09,849 INFO L78 Accepts]: Start accepts. Automaton has 100 states and 106 transitions. Word has length 94 [2020-07-11 01:06:09,849 INFO L84 Accepts]: Finished accepts. word is rejected. [2020-07-11 01:06:09,850 INFO L479 AbstractCegarLoop]: Abstraction has 100 states and 106 transitions. [2020-07-11 01:06:09,850 INFO L480 AbstractCegarLoop]: Interpolant automaton has 19 states. [2020-07-11 01:06:09,850 INFO L86 InductivityCheck]: Starting indutivity check of a Floyd-Hoare automaton with 100 states and 106 transitions. [2020-07-11 01:06:10,128 INFO L119 InductivityCheck]: Floyd-Hoare automaton has 106 edges. 106 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2020-07-11 01:06:10,128 INFO L276 IsEmpty]: Start isEmpty. Operand 100 states and 106 transitions. [2020-07-11 01:06:10,129 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 95 [2020-07-11 01:06:10,129 INFO L414 BasicCegarLoop]: Found error trace [2020-07-11 01:06:10,129 INFO L422 BasicCegarLoop]: trace histogram [4, 4, 3, 3, 3, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1] [2020-07-11 01:06:10,129 WARN L516 AbstractCegarLoop]: Destroyed unattended storables created during the last iteration: SelfDestructingSolverStorable10 [2020-07-11 01:06:10,130 INFO L427 AbstractCegarLoop]: === Iteration 12 === [__blast_assertErr0ASSERT_VIOLATIONERROR_FUNCTION]=== [2020-07-11 01:06:10,130 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2020-07-11 01:06:10,130 INFO L82 PathProgramCache]: Analyzing trace with hash -416868516, now seen corresponding path program 1 times [2020-07-11 01:06:10,130 INFO L163 FreeRefinementEngine]: Executing refinement strategy FIXED_PREFERENCES [2020-07-11 01:06:10,131 INFO L354 FreeRefinementEngine]: Using trace check IpTcStrategyModulePreferences [1588636264] [2020-07-11 01:06:10,131 INFO L94 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2020-07-11 01:06:10,158 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is sat [2020-07-11 01:06:10,195 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is sat [2020-07-11 01:06:10,265 INFO L174 FreeRefinementEngine]: Strategy FIXED_PREFERENCES found a feasible trace [2020-07-11 01:06:10,265 INFO L520 BasicCegarLoop]: Counterexample might be feasible [2020-07-11 01:06:10,266 WARN L516 AbstractCegarLoop]: Destroyed unattended storables created during the last iteration: SelfDestructingSolverStorable11 [2020-07-11 01:06:10,362 WARN L1295 BoogieBacktranslator]: Unfinished Backtranslation: IntegerLiteral 16 could not be translated for associated CType STRUCT~~list_head?prev~*list_head?next~*list_head# [2020-07-11 01:06:10,364 WARN L1295 BoogieBacktranslator]: Unfinished Backtranslation: IntegerLiteral 13 could not be translated for associated CType STRUCT~~list_head?prev~*list_head?next~*list_head# [2020-07-11 01:06:10,365 WARN L1295 BoogieBacktranslator]: Unfinished Backtranslation: IntegerLiteral 13 could not be translated for associated CType STRUCT~~list_head?prev~*list_head?next~*list_head# [2020-07-11 01:06:10,365 WARN L1295 BoogieBacktranslator]: Unfinished Backtranslation: IntegerLiteral 16 could not be translated for associated CType STRUCT~~list_head?prev~*list_head?next~*list_head# [2020-07-11 01:06:10,366 WARN L1295 BoogieBacktranslator]: Unfinished Backtranslation: IntegerLiteral 16 could not be translated for associated CType STRUCT~~list_head?prev~*list_head?next~*list_head# [2020-07-11 01:06:10,367 WARN L1295 BoogieBacktranslator]: Unfinished Backtranslation: IntegerLiteral 13 could not be translated for associated CType STRUCT~~list_head?prev~*list_head?next~*list_head# [2020-07-11 01:06:10,420 WARN L170 areAnnotationChecker]: my_mallocENTRY has no Hoare annotation [2020-07-11 01:06:10,421 WARN L170 areAnnotationChecker]: ULTIMATE.initENTRY has no Hoare annotation [2020-07-11 01:06:10,421 WARN L170 areAnnotationChecker]: list_delENTRY has no Hoare annotation [2020-07-11 01:06:10,421 WARN L170 areAnnotationChecker]: ULTIMATE.startENTRY has no Hoare annotation [2020-07-11 01:06:10,421 WARN L170 areAnnotationChecker]: ULTIMATE.startENTRY has no Hoare annotation [2020-07-11 01:06:10,421 WARN L170 areAnnotationChecker]: __blast_assertENTRY has no Hoare annotation [2020-07-11 01:06:10,421 WARN L170 areAnnotationChecker]: __blast_assertENTRY has no Hoare annotation [2020-07-11 01:06:10,421 WARN L170 areAnnotationChecker]: list_addENTRY has no Hoare annotation [2020-07-11 01:06:10,421 WARN L170 areAnnotationChecker]: mainENTRY has no Hoare annotation [2020-07-11 01:06:10,422 WARN L170 areAnnotationChecker]: __getMemoryENTRY has no Hoare annotation [2020-07-11 01:06:10,422 WARN L170 areAnnotationChecker]: L879 has no Hoare annotation [2020-07-11 01:06:10,422 WARN L170 areAnnotationChecker]: L879 has no Hoare annotation [2020-07-11 01:06:10,422 WARN L170 areAnnotationChecker]: L-1 has no Hoare annotation [2020-07-11 01:06:10,422 WARN L170 areAnnotationChecker]: L896 has no Hoare annotation [2020-07-11 01:06:10,422 WARN L170 areAnnotationChecker]: L896 has no Hoare annotation [2020-07-11 01:06:10,422 WARN L170 areAnnotationChecker]: L-1 has no Hoare annotation [2020-07-11 01:06:10,422 WARN L170 areAnnotationChecker]: L-1 has no Hoare annotation [2020-07-11 01:06:10,422 WARN L170 areAnnotationChecker]: __blast_assertFINAL has no Hoare annotation [2020-07-11 01:06:10,423 WARN L170 areAnnotationChecker]: L889 has no Hoare annotation [2020-07-11 01:06:10,423 WARN L170 areAnnotationChecker]: L903 has no Hoare annotation [2020-07-11 01:06:10,423 WARN L170 areAnnotationChecker]: L871 has no Hoare annotation [2020-07-11 01:06:10,423 WARN L170 areAnnotationChecker]: L871 has no Hoare annotation [2020-07-11 01:06:10,423 WARN L170 areAnnotationChecker]: L879-1 has no Hoare annotation [2020-07-11 01:06:10,423 WARN L170 areAnnotationChecker]: L-1-1 has no Hoare annotation [2020-07-11 01:06:10,423 WARN L170 areAnnotationChecker]: L897 has no Hoare annotation [2020-07-11 01:06:10,423 WARN L170 areAnnotationChecker]: L896-2 has no Hoare annotation [2020-07-11 01:06:10,423 WARN L170 areAnnotationChecker]: ULTIMATE.startFINAL has no Hoare annotation [2020-07-11 01:06:10,423 WARN L170 areAnnotationChecker]: __blast_assertEXIT has no Hoare annotation [2020-07-11 01:06:10,424 WARN L170 areAnnotationChecker]: __blast_assertEXIT has no Hoare annotation [2020-07-11 01:06:10,424 WARN L170 areAnnotationChecker]: L890 has no Hoare annotation [2020-07-11 01:06:10,424 WARN L170 areAnnotationChecker]: L890 has no Hoare annotation [2020-07-11 01:06:10,424 WARN L170 areAnnotationChecker]: L904 has no Hoare annotation [2020-07-11 01:06:10,424 WARN L170 areAnnotationChecker]: L904 has no Hoare annotation [2020-07-11 01:06:10,424 WARN L170 areAnnotationChecker]: L871-3 has no Hoare annotation [2020-07-11 01:06:10,424 WARN L170 areAnnotationChecker]: L871-2 has no Hoare annotation [2020-07-11 01:06:10,424 WARN L170 areAnnotationChecker]: L871-2 has no Hoare annotation [2020-07-11 01:06:10,424 WARN L170 areAnnotationChecker]: L879-2 has no Hoare annotation [2020-07-11 01:06:10,424 WARN L170 areAnnotationChecker]: L867 has no Hoare annotation [2020-07-11 01:06:10,425 WARN L170 areAnnotationChecker]: list_delEXIT has no Hoare annotation [2020-07-11 01:06:10,425 WARN L170 areAnnotationChecker]: L890-3 has no Hoare annotation [2020-07-11 01:06:10,425 WARN L170 areAnnotationChecker]: L890-2 has no Hoare annotation [2020-07-11 01:06:10,425 WARN L170 areAnnotationChecker]: L890-2 has no Hoare annotation [2020-07-11 01:06:10,425 WARN L170 areAnnotationChecker]: L904-1 has no Hoare annotation [2020-07-11 01:06:10,425 WARN L170 areAnnotationChecker]: L872 has no Hoare annotation [2020-07-11 01:06:10,425 WARN L170 areAnnotationChecker]: my_mallocFINAL has no Hoare annotation [2020-07-11 01:06:10,425 WARN L170 areAnnotationChecker]: L887 has no Hoare annotation [2020-07-11 01:06:10,425 WARN L170 areAnnotationChecker]: L909 has no Hoare annotation [2020-07-11 01:06:10,426 WARN L170 areAnnotationChecker]: L909 has no Hoare annotation [2020-07-11 01:06:10,426 WARN L170 areAnnotationChecker]: L891 has no Hoare annotation [2020-07-11 01:06:10,426 WARN L170 areAnnotationChecker]: L891 has no Hoare annotation [2020-07-11 01:06:10,426 WARN L170 areAnnotationChecker]: L904-2 has no Hoare annotation [2020-07-11 01:06:10,426 WARN L170 areAnnotationChecker]: L872-1 has no Hoare annotation [2020-07-11 01:06:10,426 WARN L170 areAnnotationChecker]: my_mallocEXIT has no Hoare annotation [2020-07-11 01:06:10,426 WARN L170 areAnnotationChecker]: my_mallocEXIT has no Hoare annotation [2020-07-11 01:06:10,426 WARN L170 areAnnotationChecker]: L900 has no Hoare annotation [2020-07-11 01:06:10,426 WARN L170 areAnnotationChecker]: L910 has no Hoare annotation [2020-07-11 01:06:10,427 WARN L170 areAnnotationChecker]: L910 has no Hoare annotation [2020-07-11 01:06:10,427 WARN L170 areAnnotationChecker]: L891-1 has no Hoare annotation [2020-07-11 01:06:10,427 WARN L170 areAnnotationChecker]: L891-3 has no Hoare annotation [2020-07-11 01:06:10,427 WARN L170 areAnnotationChecker]: L905 has no Hoare annotation [2020-07-11 01:06:10,427 WARN L170 areAnnotationChecker]: L905 has no Hoare annotation [2020-07-11 01:06:10,427 WARN L170 areAnnotationChecker]: L873 has no Hoare annotation [2020-07-11 01:06:10,427 WARN L170 areAnnotationChecker]: L905-1 has no Hoare annotation [2020-07-11 01:06:10,427 WARN L170 areAnnotationChecker]: L900-1 has no Hoare annotation [2020-07-11 01:06:10,427 WARN L170 areAnnotationChecker]: L906-1 has no Hoare annotation [2020-07-11 01:06:10,427 WARN L170 areAnnotationChecker]: L892 has no Hoare annotation [2020-07-11 01:06:10,428 WARN L170 areAnnotationChecker]: L891-4 has no Hoare annotation [2020-07-11 01:06:10,428 WARN L170 areAnnotationChecker]: L873-1 has no Hoare annotation [2020-07-11 01:06:10,428 WARN L170 areAnnotationChecker]: L873-1 has no Hoare annotation [2020-07-11 01:06:10,428 WARN L170 areAnnotationChecker]: L905-2 has no Hoare annotation [2020-07-11 01:06:10,428 WARN L170 areAnnotationChecker]: L900-2 has no Hoare annotation [2020-07-11 01:06:10,428 WARN L170 areAnnotationChecker]: mainFINAL has no Hoare annotation [2020-07-11 01:06:10,428 WARN L170 areAnnotationChecker]: list_addEXIT has no Hoare annotation [2020-07-11 01:06:10,428 WARN L170 areAnnotationChecker]: list_addEXIT has no Hoare annotation [2020-07-11 01:06:10,428 WARN L170 areAnnotationChecker]: list_addEXIT has no Hoare annotation [2020-07-11 01:06:10,428 WARN L170 areAnnotationChecker]: list_addEXIT has no Hoare annotation [2020-07-11 01:06:10,429 WARN L170 areAnnotationChecker]: L873-2 has no Hoare annotation [2020-07-11 01:06:10,429 WARN L170 areAnnotationChecker]: L873-3 has no Hoare annotation [2020-07-11 01:06:10,429 WARN L170 areAnnotationChecker]: L906 has no Hoare annotation [2020-07-11 01:06:10,429 WARN L170 areAnnotationChecker]: L906 has no Hoare annotation [2020-07-11 01:06:10,429 WARN L170 areAnnotationChecker]: ULTIMATE.initFINAL has no Hoare annotation [2020-07-11 01:06:10,429 WARN L170 areAnnotationChecker]: mainEXIT has no Hoare annotation [2020-07-11 01:06:10,429 WARN L170 areAnnotationChecker]: L907-1 has no Hoare annotation [2020-07-11 01:06:10,429 WARN L170 areAnnotationChecker]: L907-1 has no Hoare annotation [2020-07-11 01:06:10,429 WARN L170 areAnnotationChecker]: L908 has no Hoare annotation [2020-07-11 01:06:10,429 WARN L170 areAnnotationChecker]: L908 has no Hoare annotation [2020-07-11 01:06:10,429 WARN L170 areAnnotationChecker]: L874 has no Hoare annotation [2020-07-11 01:06:10,430 WARN L170 areAnnotationChecker]: L875 has no Hoare annotation [2020-07-11 01:06:10,430 WARN L170 areAnnotationChecker]: L907 has no Hoare annotation [2020-07-11 01:06:10,430 WARN L170 areAnnotationChecker]: L907 has no Hoare annotation [2020-07-11 01:06:10,430 WARN L170 areAnnotationChecker]: ULTIMATE.initEXIT has no Hoare annotation [2020-07-11 01:06:10,430 WARN L170 areAnnotationChecker]: __getMemoryFINAL has no Hoare annotation [2020-07-11 01:06:10,430 WARN L170 areAnnotationChecker]: __getMemoryEXIT has no Hoare annotation [2020-07-11 01:06:10,430 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-11 01:06:10,434 INFO L202 PluginConnector]: Adding new model de.uni_freiburg.informatik.ultimate.plugins.generator.traceabstraction CFG 11.07 01:06:10 BoogieIcfgContainer [2020-07-11 01:06:10,434 INFO L132 PluginConnector]: ------------------------ END TraceAbstraction---------------------------- [2020-07-11 01:06:10,437 INFO L168 Benchmark]: Toolchain (without parser) took 65958.06 ms. Allocated memory was 145.8 MB in the beginning and 547.4 MB in the end (delta: 401.6 MB). Free memory was 101.3 MB in the beginning and 507.6 MB in the end (delta: -406.3 MB). Peak memory consumption was 419.3 MB. Max. memory is 7.1 GB. [2020-07-11 01:06:10,437 INFO L168 Benchmark]: CDTParser took 0.32 ms. Allocated memory is still 145.8 MB. Free memory is still 120.8 MB. There was no memory consumed. Max. memory is 7.1 GB. [2020-07-11 01:06:10,438 INFO L168 Benchmark]: CACSL2BoogieTranslator took 730.75 ms. Allocated memory was 145.8 MB in the beginning and 204.5 MB in the end (delta: 58.7 MB). Free memory was 101.3 MB in the beginning and 167.5 MB in the end (delta: -66.2 MB). Peak memory consumption was 21.1 MB. Max. memory is 7.1 GB. [2020-07-11 01:06:10,439 INFO L168 Benchmark]: Boogie Preprocessor took 90.41 ms. Allocated memory is still 204.5 MB. Free memory was 167.5 MB in the beginning and 164.7 MB in the end (delta: 2.8 MB). Peak memory consumption was 2.8 MB. Max. memory is 7.1 GB. [2020-07-11 01:06:10,439 INFO L168 Benchmark]: RCFGBuilder took 792.10 ms. Allocated memory is still 204.5 MB. Free memory was 164.7 MB in the beginning and 105.5 MB in the end (delta: 59.2 MB). Peak memory consumption was 59.2 MB. Max. memory is 7.1 GB. [2020-07-11 01:06:10,440 INFO L168 Benchmark]: TraceAbstraction took 64337.75 ms. Allocated memory was 204.5 MB in the beginning and 547.4 MB in the end (delta: 342.9 MB). Free memory was 105.5 MB in the beginning and 507.6 MB in the end (delta: -402.1 MB). Peak memory consumption was 364.7 MB. Max. memory is 7.1 GB. [2020-07-11 01:06:10,442 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.32 ms. Allocated memory is still 145.8 MB. Free memory is still 120.8 MB. There was no memory consumed. Max. memory is 7.1 GB. * CACSL2BoogieTranslator took 730.75 ms. Allocated memory was 145.8 MB in the beginning and 204.5 MB in the end (delta: 58.7 MB). Free memory was 101.3 MB in the beginning and 167.5 MB in the end (delta: -66.2 MB). Peak memory consumption was 21.1 MB. Max. memory is 7.1 GB. * Boogie Preprocessor took 90.41 ms. Allocated memory is still 204.5 MB. Free memory was 167.5 MB in the beginning and 164.7 MB in the end (delta: 2.8 MB). Peak memory consumption was 2.8 MB. Max. memory is 7.1 GB. * RCFGBuilder took 792.10 ms. Allocated memory is still 204.5 MB. Free memory was 164.7 MB in the beginning and 105.5 MB in the end (delta: 59.2 MB). Peak memory consumption was 59.2 MB. Max. memory is 7.1 GB. * TraceAbstraction took 64337.75 ms. Allocated memory was 204.5 MB in the beginning and 547.4 MB in the end (delta: 342.9 MB). Free memory was 105.5 MB in the beginning and 507.6 MB in the end (delta: -402.1 MB). Peak memory consumption was 364.7 MB. Max. memory is 7.1 GB. * Results from de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator: - GenericResult: Unfinished Backtranslation Unfinished Backtranslation: IntegerLiteral 16 could not be translated for associated CType STRUCT~~list_head?prev~*list_head?next~*list_head# - GenericResult: Unfinished Backtranslation Unfinished Backtranslation: IntegerLiteral 13 could not be translated for associated CType STRUCT~~list_head?prev~*list_head?next~*list_head# - GenericResult: Unfinished Backtranslation Unfinished Backtranslation: IntegerLiteral 13 could not be translated for associated CType STRUCT~~list_head?prev~*list_head?next~*list_head# - GenericResult: Unfinished Backtranslation Unfinished Backtranslation: IntegerLiteral 16 could not be translated for associated CType STRUCT~~list_head?prev~*list_head?next~*list_head# - GenericResult: Unfinished Backtranslation Unfinished Backtranslation: IntegerLiteral 16 could not be translated for associated CType STRUCT~~list_head?prev~*list_head?next~*list_head# - GenericResult: Unfinished Backtranslation Unfinished Backtranslation: IntegerLiteral 13 could not be translated for associated CType STRUCT~~list_head?prev~*list_head?next~*list_head# * Results from de.uni_freiburg.informatik.ultimate.plugins.generator.traceabstraction: - CounterExampleResult [Line: 6]: a call of __VERIFIER_error() is reachable a call of __VERIFIER_error() is reachable We found a FailurePath: [L867] void * guard_malloc_counter = 0; VAL [\old(elem)=14, \old(elem)=9, \old(guard_malloc_counter)=11, \old(guard_malloc_counter)=12, \old(head)=null, \old(head)=null, elem={14:9}, guard_malloc_counter={0:0}, head={16:13}] [L887] struct list_head *elem = ((void *)0); VAL [\old(elem)=14, \old(elem)=9, \old(guard_malloc_counter)=11, \old(guard_malloc_counter)=12, \old(head)=null, \old(head)=null, elem={0:0}, guard_malloc_counter={0:0}, head={16:13}] [L900] static struct list_head head; VAL [\old(elem)=14, \old(elem)=9, \old(guard_malloc_counter)=12, \old(guard_malloc_counter)=11, \old(head)=null, \old(head)=null, elem={0:0}, guard_malloc_counter={0:0}, head={3:0}] [L903] struct list_head *dev1, *dev2; VAL [\old(elem)=0, \old(elem)=0, \old(guard_malloc_counter)=0, \old(guard_malloc_counter)=0, elem={0:0}, guard_malloc_counter={0:0}, head={3:0}] [L904] CALL, EXPR my_malloc(sizeof(*dev1)) VAL [\old(elem)=0, \old(elem)=0, \old(guard_malloc_counter)=0, \old(guard_malloc_counter)=0, \old(size)=8, elem={0:0}, guard_malloc_counter={0:0}, head={3:0}] [L879] CALL, EXPR __getMemory(size) VAL [\old(elem)=0, \old(elem)=0, \old(guard_malloc_counter)=0, \old(guard_malloc_counter)=0, \old(size)=8, elem={0:0}, guard_malloc_counter={0:0}, head={3:0}] [L871] (size > 0) ? (0) : __blast_assert () VAL [\old(elem)=0, \old(elem)=0, \old(guard_malloc_counter)=0, \old(guard_malloc_counter)=0, \old(size)=8, elem={0:0}, guard_malloc_counter={0:0}, head={3:0}, size=8] [L872] guard_malloc_counter++ VAL [\old(elem)=0, \old(elem)=0, \old(guard_malloc_counter)=0, \old(guard_malloc_counter)=0, \old(size)=8, elem={0:0}, guard_malloc_counter={0:1}, head={3:0}, size=8] [L873] COND FALSE !(!__VERIFIER_nondet_int()) VAL [\old(elem)=0, \old(elem)=0, \old(guard_malloc_counter)=0, \old(guard_malloc_counter)=0, \old(size)=8, __VERIFIER_nondet_int()=1, elem={0:0}, guard_malloc_counter={0:1}, head={3:0}, size=8] [L875] return (void *) guard_malloc_counter; VAL [\old(elem)=0, \old(elem)=0, \old(guard_malloc_counter)=0, \old(guard_malloc_counter)=0, \old(size)=8, \result={0:1}, elem={0:0}, guard_malloc_counter={0:1}, head={3:0}, size=8] [L879] RET, EXPR __getMemory(size) VAL [\old(elem)=0, \old(elem)=0, \old(guard_malloc_counter)=0, \old(guard_malloc_counter)=0, \old(size)=8, __getMemory(size)={0:1}, elem={0:0}, guard_malloc_counter={0:1}, head={3:0}, size=8] [L879] return __getMemory(size); VAL [\old(elem)=0, \old(elem)=0, \old(guard_malloc_counter)=0, \old(guard_malloc_counter)=0, \old(size)=8, \result={0:1}, __getMemory(size)={0:1}, elem={0:0}, guard_malloc_counter={0:1}, head={3:0}, size=8] [L904] RET, EXPR my_malloc(sizeof(*dev1)) VAL [\old(elem)=0, \old(elem)=0, \old(guard_malloc_counter)=0, \old(guard_malloc_counter)=0, elem={0:0}, guard_malloc_counter={0:1}, head={3:0}, my_malloc(sizeof(*dev1))={0:1}] [L904] dev1 = my_malloc(sizeof(*dev1)) VAL [\old(elem)=0, \old(elem)=0, \old(guard_malloc_counter)=0, \old(guard_malloc_counter)=0, dev1={0:1}, elem={0:0}, guard_malloc_counter={0:1}, head={3:0}, my_malloc(sizeof(*dev1))={0:1}] [L905] CALL, EXPR my_malloc(sizeof(*dev2)) VAL [\old(elem)=0, \old(elem)=0, \old(guard_malloc_counter)=0, \old(guard_malloc_counter)=1, \old(size)=8, elem={0:0}, guard_malloc_counter={0:1}, head={3:0}] [L879] CALL, EXPR __getMemory(size) VAL [\old(elem)=0, \old(elem)=0, \old(guard_malloc_counter)=0, \old(guard_malloc_counter)=1, \old(size)=8, elem={0:0}, guard_malloc_counter={0:1}, head={3:0}] [L871] (size > 0) ? (0) : __blast_assert () VAL [\old(elem)=0, \old(elem)=0, \old(guard_malloc_counter)=0, \old(guard_malloc_counter)=1, \old(size)=8, elem={0:0}, guard_malloc_counter={0:1}, head={3:0}, size=8] [L872] guard_malloc_counter++ VAL [\old(elem)=0, \old(elem)=0, \old(guard_malloc_counter)=1, \old(guard_malloc_counter)=0, \old(size)=8, elem={0:0}, guard_malloc_counter={0:2}, head={3:0}, size=8] [L873] COND FALSE !(!__VERIFIER_nondet_int()) VAL [\old(elem)=0, \old(elem)=0, \old(guard_malloc_counter)=0, \old(guard_malloc_counter)=1, \old(size)=8, __VERIFIER_nondet_int()=1, elem={0:0}, guard_malloc_counter={0:2}, head={3:0}, size=8] [L875] return (void *) guard_malloc_counter; VAL [\old(elem)=0, \old(elem)=0, \old(guard_malloc_counter)=1, \old(guard_malloc_counter)=0, \old(size)=8, \result={0:2}, elem={0:0}, guard_malloc_counter={0:2}, head={3:0}, size=8] [L879] RET, EXPR __getMemory(size) VAL [\old(elem)=0, \old(elem)=0, \old(guard_malloc_counter)=1, \old(guard_malloc_counter)=0, \old(size)=8, __getMemory(size)={0:2}, elem={0:0}, guard_malloc_counter={0:2}, head={3:0}, size=8] [L879] return __getMemory(size); VAL [\old(elem)=0, \old(elem)=0, \old(guard_malloc_counter)=1, \old(guard_malloc_counter)=0, \old(size)=8, \result={0:2}, __getMemory(size)={0:2}, elem={0:0}, guard_malloc_counter={0:2}, head={3:0}, size=8] [L905] RET, EXPR my_malloc(sizeof(*dev2)) VAL [\old(elem)=0, \old(elem)=0, \old(guard_malloc_counter)=0, \old(guard_malloc_counter)=0, dev1={0:1}, elem={0:0}, guard_malloc_counter={0:2}, head={3:0}, my_malloc(sizeof(*dev2))={0:2}] [L905] dev2 = my_malloc(sizeof(*dev2)) VAL [\old(elem)=0, \old(elem)=0, \old(guard_malloc_counter)=0, \old(guard_malloc_counter)=0, dev1={0:1}, dev2={0:2}, elem={0:0}, guard_malloc_counter={0:2}, head={3:0}, my_malloc(sizeof(*dev2))={0:2}] [L906] COND TRUE dev1!=((void *)0) && dev2!=((void *)0) VAL [\old(elem)=0, \old(elem)=0, \old(guard_malloc_counter)=0, \old(guard_malloc_counter)=0, dev1={0:1}, dev2={0:2}, elem={0:0}, guard_malloc_counter={0:2}, head={3:0}] [L907] CALL list_add(dev2, &head) VAL [\old(elem)=0, \old(elem)=0, \old(guard_malloc_counter)=0, \old(guard_malloc_counter)=0, elem={0:0}, guard_malloc_counter={0:2}, head={3:0}, head={3:0}, new={0:2}] [L890] (new!=elem) ? (0) : __blast_assert () VAL [\old(elem)=0, \old(elem)=0, \old(guard_malloc_counter)=0, \old(guard_malloc_counter)=0, elem={0:0}, guard_malloc_counter={0:2}, head={3:0}, head={3:0}, head={3:0}, new={0:2}, new={0:2}] [L891] COND FALSE !(__VERIFIER_nondet_int()) VAL [\old(elem)=0, \old(elem)=0, \old(guard_malloc_counter)=0, \old(guard_malloc_counter)=0, __VERIFIER_nondet_int()=0, elem={0:0}, guard_malloc_counter={0:2}, head={3:0}, head={3:0}, head={3:0}, new={0:2}, new={0:2}] [L907] RET list_add(dev2, &head) VAL [\old(elem)=0, \old(elem)=0, \old(guard_malloc_counter)=0, \old(guard_malloc_counter)=0, dev1={0:1}, dev2={0:2}, elem={0:0}, guard_malloc_counter={0:2}, head={3:0}] [L908] CALL list_add(dev1, &head) VAL [\old(elem)=0, \old(elem)=0, \old(guard_malloc_counter)=0, \old(guard_malloc_counter)=0, elem={0:0}, guard_malloc_counter={0:2}, head={3:0}, head={3:0}, new={0:1}] [L890] (new!=elem) ? (0) : __blast_assert () VAL [\old(elem)=0, \old(elem)=0, \old(guard_malloc_counter)=0, \old(guard_malloc_counter)=0, elem={0:0}, guard_malloc_counter={0:2}, head={3:0}, head={3:0}, head={3:0}, new={0:1}, new={0:1}] [L891] COND TRUE __VERIFIER_nondet_int() VAL [\old(elem)=0, \old(elem)=0, \old(guard_malloc_counter)=0, \old(guard_malloc_counter)=0, __VERIFIER_nondet_int()=1, elem={0:0}, guard_malloc_counter={0:2}, head={3:0}, head={3:0}, head={3:0}, new={0:1}, new={0:1}] [L892] elem = new VAL [\old(elem)=0, \old(elem)=0, \old(guard_malloc_counter)=0, \old(guard_malloc_counter)=0, elem={0:1}, guard_malloc_counter={0:2}, head={3:0}, head={3:0}, head={3:0}, new={0:1}, new={0:1}] [L908] RET list_add(dev1, &head) VAL [\old(elem)=0, \old(elem)=0, \old(guard_malloc_counter)=0, \old(guard_malloc_counter)=0, dev1={0:1}, dev2={0:2}, elem={0:1}, guard_malloc_counter={0:2}, head={3:0}] [L909] CALL list_del(dev2) VAL [\old(elem)=1, \old(elem)=0, \old(guard_malloc_counter)=0, \old(guard_malloc_counter)=0, elem={0:1}, entry={0:2}, guard_malloc_counter={0:2}, head={3:0}] [L896] COND FALSE !(entry==elem) VAL [\old(elem)=1, \old(elem)=0, \old(guard_malloc_counter)=0, \old(guard_malloc_counter)=0, elem={0:1}, entry={0:2}, entry={0:2}, guard_malloc_counter={0:2}, head={3:0}] [L909] RET list_del(dev2) VAL [\old(elem)=0, \old(elem)=0, \old(guard_malloc_counter)=0, \old(guard_malloc_counter)=0, dev1={0:1}, dev2={0:2}, elem={0:1}, guard_malloc_counter={0:2}, head={3:0}] [L910] CALL list_add(dev2, &head) VAL [\old(elem)=0, \old(elem)=1, \old(guard_malloc_counter)=0, \old(guard_malloc_counter)=0, elem={0:1}, guard_malloc_counter={0:2}, head={3:0}, head={3:0}, new={0:2}] [L890] (new!=elem) ? (0) : __blast_assert () VAL [\old(elem)=1, \old(elem)=0, \old(guard_malloc_counter)=0, \old(guard_malloc_counter)=0, elem={0:1}, guard_malloc_counter={0:2}, head={3:0}, head={3:0}, head={3:0}, new={0:2}, new={0:2}] [L891] COND FALSE !(__VERIFIER_nondet_int()) VAL [\old(elem)=0, \old(elem)=1, \old(guard_malloc_counter)=0, \old(guard_malloc_counter)=0, __VERIFIER_nondet_int()=0, elem={0:1}, guard_malloc_counter={0:2}, head={3:0}, head={3:0}, head={3:0}, new={0:2}, new={0:2}] [L910] RET list_add(dev2, &head) VAL [\old(elem)=0, \old(elem)=0, \old(guard_malloc_counter)=0, \old(guard_malloc_counter)=0, dev1={0:1}, dev2={0:2}, elem={0:1}, guard_malloc_counter={0:2}, head={3:0}] [L913] CALL list_add(dev1, &head) VAL [\old(elem)=1, \old(elem)=0, \old(guard_malloc_counter)=0, \old(guard_malloc_counter)=0, elem={0:1}, guard_malloc_counter={0:2}, head={3:0}, head={3:0}, new={0:1}] [L890] (new!=elem) ? (0) : __blast_assert () VAL [\old(elem)=0, \old(elem)=1, \old(guard_malloc_counter)=0, \old(guard_malloc_counter)=0, elem={0:1}, guard_malloc_counter={0:2}, head={3:0}, head={3:0}, head={3:0}, new={0:1}, new={0:1}] [L890] CALL __blast_assert () VAL [\old(elem)=0, \old(elem)=1, \old(guard_malloc_counter)=0, \old(guard_malloc_counter)=0, elem={0:1}, guard_malloc_counter={0:2}, head={3:0}] [L6] __VERIFIER_error() VAL [\old(elem)=1, \old(elem)=0, \old(guard_malloc_counter)=0, \old(guard_malloc_counter)=0, elem={0:1}, guard_malloc_counter={0:2}, head={3:0}] - StatisticsResult: Ultimate Automizer benchmark data CFG has 8 procedures, 71 locations, 1 error locations. Started 1 CEGAR loops. VerificationResult: UNSAFE, OverallTime: 64.1s, OverallIterations: 12, TraceHistogramMax: 4, AutomataDifference: 48.6s, DeadEndRemovalTime: 0.0s, HoareAnnotationTime: 0.0s, InitialAbstractionConstructionTime: 0.0s, HoareTripleCheckerStatistics: 629 SDtfs, 1079 SDslu, 2227 SDs, 0 SdLazy, 7454 SolverSat, 595 SolverUnsat, 0 SolverUnknown, 0 SolverNotchecked, 15.2s Time, PredicateUnifierStatistics: 0 DeclaredPredicates, 454 GetRequests, 141 SyntacticMatches, 1 SemanticMatches, 312 ConstructedPredicates, 0 IntricatePredicates, 0 DeprecatedPredicates, 1428 ImplicationChecksByTransitivity, 9.1s Time, 0.0s BasicInterpolantAutomatonTime, BiggestAbstraction: size=112occurred in iteration=7, traceCheckStatistics: No data available, InterpolantConsolidationStatistics: No data available, PathInvariantsStatistics: No data available, 0/0 InterpolantCoveringCapability, TotalInterpolationStatistics: No data available, 0.0s DumpTime, AutomataMinimizationStatistics: 5.1s AutomataMinimizationTime, 11 MinimizatonAttempts, 72 StatesRemovedByMinimization, 10 NontrivialMinimizations, HoareAnnotationStatistics: No data available, RefinementEngineStatistics: TRACE_CHECK: 0.0s SsaConstructionTime, 0.2s SatisfiabilityAnalysisTime, 5.9s InterpolantComputationTime, 875 NumberOfCodeBlocks, 875 NumberOfCodeBlocksAsserted, 12 NumberOfCheckSat, 770 ConstructedInterpolants, 0 QuantifiedInterpolants, 225364 SizeOfPredicates, 0 NumberOfNonLiveVariables, 0 ConjunctsInSsa, 0 ConjunctsInUnsatCore, 11 InterpolantComputations, 2 PerfectInterpolantSequences, 170/259 InterpolantCoveringCapability, INVARIANT_SYNTHESIS: No data available, INTERPOLANT_CONSOLIDATION: No data available, ABSTRACT_INTERPRETATION: No data available, PDR: No data available, ACCELERATED_INTERPOLATION: No data available, SIFA: No data available, ReuseStatistics: No data available RESULT: Ultimate proved your program to be incorrect! Received shutdown request...