/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.i -------------------------------------------------------------------------------- This is Ultimate 0.1.25-267fbe0 [2020-07-18 05:12:13,305 INFO L177 SettingsManager]: Resetting all preferences to default values... [2020-07-18 05:12:13,307 INFO L181 SettingsManager]: Resetting UltimateCore preferences to default values [2020-07-18 05:12:13,327 INFO L184 SettingsManager]: Ultimate Commandline Interface provides no preferences, ignoring... [2020-07-18 05:12:13,327 INFO L181 SettingsManager]: Resetting Boogie Preprocessor preferences to default values [2020-07-18 05:12:13,330 INFO L181 SettingsManager]: Resetting Boogie Procedure Inliner preferences to default values [2020-07-18 05:12:13,331 INFO L181 SettingsManager]: Resetting Abstract Interpretation preferences to default values [2020-07-18 05:12:13,345 INFO L181 SettingsManager]: Resetting LassoRanker preferences to default values [2020-07-18 05:12:13,347 INFO L181 SettingsManager]: Resetting Reaching Definitions preferences to default values [2020-07-18 05:12:13,348 INFO L181 SettingsManager]: Resetting SyntaxChecker preferences to default values [2020-07-18 05:12:13,350 INFO L181 SettingsManager]: Resetting Sifa preferences to default values [2020-07-18 05:12:13,353 INFO L184 SettingsManager]: Büchi Program Product provides no preferences, ignoring... [2020-07-18 05:12:13,353 INFO L181 SettingsManager]: Resetting LTL2Aut preferences to default values [2020-07-18 05:12:13,356 INFO L181 SettingsManager]: Resetting PEA to Boogie preferences to default values [2020-07-18 05:12:13,359 INFO L181 SettingsManager]: Resetting BlockEncodingV2 preferences to default values [2020-07-18 05:12:13,360 INFO L181 SettingsManager]: Resetting ChcToBoogie preferences to default values [2020-07-18 05:12:13,363 INFO L181 SettingsManager]: Resetting AutomataScriptInterpreter preferences to default values [2020-07-18 05:12:13,364 INFO L181 SettingsManager]: Resetting BuchiAutomizer preferences to default values [2020-07-18 05:12:13,365 INFO L181 SettingsManager]: Resetting CACSL2BoogieTranslator preferences to default values [2020-07-18 05:12:13,372 INFO L181 SettingsManager]: Resetting CodeCheck preferences to default values [2020-07-18 05:12:13,376 INFO L181 SettingsManager]: Resetting InvariantSynthesis preferences to default values [2020-07-18 05:12:13,377 INFO L181 SettingsManager]: Resetting RCFGBuilder preferences to default values [2020-07-18 05:12:13,379 INFO L181 SettingsManager]: Resetting Referee preferences to default values [2020-07-18 05:12:13,380 INFO L181 SettingsManager]: Resetting TraceAbstraction preferences to default values [2020-07-18 05:12:13,383 INFO L184 SettingsManager]: TraceAbstractionConcurrent provides no preferences, ignoring... [2020-07-18 05:12:13,383 INFO L184 SettingsManager]: TraceAbstractionWithAFAs provides no preferences, ignoring... [2020-07-18 05:12:13,383 INFO L181 SettingsManager]: Resetting TreeAutomizer preferences to default values [2020-07-18 05:12:13,386 INFO L181 SettingsManager]: Resetting IcfgToChc preferences to default values [2020-07-18 05:12:13,386 INFO L181 SettingsManager]: Resetting IcfgTransformer preferences to default values [2020-07-18 05:12:13,388 INFO L184 SettingsManager]: ReqToTest provides no preferences, ignoring... [2020-07-18 05:12:13,388 INFO L181 SettingsManager]: Resetting Boogie Printer preferences to default values [2020-07-18 05:12:13,389 INFO L181 SettingsManager]: Resetting ChcSmtPrinter preferences to default values [2020-07-18 05:12:13,391 INFO L181 SettingsManager]: Resetting ReqPrinter preferences to default values [2020-07-18 05:12:13,392 INFO L181 SettingsManager]: Resetting Witness Printer preferences to default values [2020-07-18 05:12:13,394 INFO L184 SettingsManager]: Boogie PL CUP Parser provides no preferences, ignoring... [2020-07-18 05:12:13,394 INFO L181 SettingsManager]: Resetting CDTParser preferences to default values [2020-07-18 05:12:13,396 INFO L184 SettingsManager]: AutomataScriptParser provides no preferences, ignoring... [2020-07-18 05:12:13,397 INFO L184 SettingsManager]: ReqParser provides no preferences, ignoring... [2020-07-18 05:12:13,397 INFO L181 SettingsManager]: Resetting SmtParser preferences to default values [2020-07-18 05:12:13,398 INFO L181 SettingsManager]: Resetting Witness Parser preferences to default values [2020-07-18 05:12:13,399 INFO L188 SettingsManager]: Finished resetting all preferences to default values... [2020-07-18 05:12:13,400 INFO L101 SettingsManager]: Beginning loading settings from /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/../../../trunk/examples/settings/automizer/acceleratedInterpolation/acceleratedInterpolationFastUPR_32.epf [2020-07-18 05:12:13,415 INFO L113 SettingsManager]: Loading preferences was successful [2020-07-18 05:12:13,416 INFO L115 SettingsManager]: Preferences different from defaults after loading the file: [2020-07-18 05:12:13,417 INFO L136 SettingsManager]: Preferences of CACSL2BoogieTranslator differ from their defaults: [2020-07-18 05:12:13,417 INFO L138 SettingsManager]: * sizeof long=4 [2020-07-18 05:12:13,417 INFO L138 SettingsManager]: * Overapproximate operations on floating types=true [2020-07-18 05:12:13,418 INFO L138 SettingsManager]: * sizeof POINTER=4 [2020-07-18 05:12:13,418 INFO L138 SettingsManager]: * Check division by zero=IGNORE [2020-07-18 05:12:13,418 INFO L138 SettingsManager]: * Pointer to allocated memory at dereference=IGNORE [2020-07-18 05:12:13,418 INFO L138 SettingsManager]: * If two pointers are subtracted or compared they have the same base address=IGNORE [2020-07-18 05:12:13,418 INFO L138 SettingsManager]: * Check array bounds for arrays that are off heap=IGNORE [2020-07-18 05:12:13,418 INFO L138 SettingsManager]: * sizeof long double=12 [2020-07-18 05:12:13,419 INFO L138 SettingsManager]: * Check if freed pointer was valid=false [2020-07-18 05:12:13,419 INFO L138 SettingsManager]: * Use constant arrays=true [2020-07-18 05:12:13,419 INFO L138 SettingsManager]: * Pointer base address is valid at dereference=IGNORE [2020-07-18 05:12:13,419 INFO L136 SettingsManager]: Preferences of RCFGBuilder differ from their defaults: [2020-07-18 05:12:13,420 INFO L138 SettingsManager]: * Size of a code block=SingleStatement [2020-07-18 05:12:13,420 INFO L138 SettingsManager]: * To the following directory=./dump/ [2020-07-18 05:12:13,420 INFO L138 SettingsManager]: * SMT solver=External_DefaultMode [2020-07-18 05:12:13,420 INFO L138 SettingsManager]: * Command for external solver=z3 SMTLIB2_COMPLIANT=true -memory:2024 -smt2 -in -t:2000 [2020-07-18 05:12:13,420 INFO L136 SettingsManager]: Preferences of TraceAbstraction differ from their defaults: [2020-07-18 05:12:13,421 INFO L138 SettingsManager]: * Compute Interpolants along a Counterexample=AcceleratedInterpolation [2020-07-18 05:12:13,421 INFO L138 SettingsManager]: * Compute Hoare Annotation of negated interpolant automaton, abstraction and CFG=true [2020-07-18 05:12:13,421 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-18 05:12:13,694 INFO L81 nceAwareModelManager]: Repository-Root is: /tmp [2020-07-18 05:12:13,709 INFO L258 ainManager$Toolchain]: [Toolchain 1]: Applicable parser(s) successfully (re)initialized [2020-07-18 05:12:13,712 INFO L214 ainManager$Toolchain]: [Toolchain 1]: Toolchain selected. [2020-07-18 05:12:13,714 INFO L271 PluginConnector]: Initializing CDTParser... [2020-07-18 05:12:13,714 INFO L275 PluginConnector]: CDTParser initialized [2020-07-18 05:12:13,715 INFO L429 ainManager$Toolchain]: [Toolchain 1]: Parsing single file: /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/../../../trunk/examples/svcomp/ldv-regression/rule60_list2.i [2020-07-18 05:12:13,780 INFO L220 CDTParser]: Created temporary CDT project at /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/data/007b145a9/c372a4ffb9ec4007ba52df0f377644f0/FLAGd4e318dcb [2020-07-18 05:12:14,226 INFO L306 CDTParser]: Found 1 translation units. [2020-07-18 05:12:14,227 INFO L160 CDTParser]: Scanning /storage/repos/ultimate/trunk/examples/svcomp/ldv-regression/rule60_list2.i [2020-07-18 05:12:14,240 INFO L349 CDTParser]: About to delete temporary CDT project at /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/data/007b145a9/c372a4ffb9ec4007ba52df0f377644f0/FLAGd4e318dcb [2020-07-18 05:12:14,555 INFO L357 CDTParser]: Successfully deleted /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/data/007b145a9/c372a4ffb9ec4007ba52df0f377644f0 [2020-07-18 05:12:14,565 INFO L296 ainManager$Toolchain]: ####################### [Toolchain 1] ####################### [2020-07-18 05:12:14,567 INFO L131 ToolchainWalker]: Walking toolchain with 4 elements. [2020-07-18 05:12:14,568 INFO L113 PluginConnector]: ------------------------CACSL2BoogieTranslator---------------------------- [2020-07-18 05:12:14,568 INFO L271 PluginConnector]: Initializing CACSL2BoogieTranslator... [2020-07-18 05:12:14,572 INFO L275 PluginConnector]: CACSL2BoogieTranslator initialized [2020-07-18 05:12:14,573 INFO L185 PluginConnector]: Executing the observer ACSLObjectContainerObserver from plugin CACSL2BoogieTranslator for "CDTParser AST 18.07 05:12:14" (1/1) ... [2020-07-18 05:12:14,576 INFO L205 PluginConnector]: Invalid model from CACSL2BoogieTranslator for observer de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator.ACSLObjectContainerObserver@5a79ad92 and model type de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 18.07 05:12:14, skipping insertion in model container [2020-07-18 05:12:14,576 INFO L185 PluginConnector]: Executing the observer CACSL2BoogieTranslatorObserver from plugin CACSL2BoogieTranslator for "CDTParser AST 18.07 05:12:14" (1/1) ... [2020-07-18 05:12:14,585 INFO L145 MainTranslator]: Starting translation in SV-COMP mode [2020-07-18 05:12:14,643 INFO L178 MainTranslator]: Built tables and reachable declarations [2020-07-18 05:12:15,035 INFO L206 PostProcessor]: Analyzing one entry point: main [2020-07-18 05:12:15,043 INFO L203 MainTranslator]: Completed pre-run [2020-07-18 05:12:15,177 INFO L206 PostProcessor]: Analyzing one entry point: main [2020-07-18 05:12:15,250 INFO L208 MainTranslator]: Completed translation [2020-07-18 05:12:15,251 INFO L202 PluginConnector]: Adding new model de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 18.07 05:12:15 WrapperNode [2020-07-18 05:12:15,251 INFO L132 PluginConnector]: ------------------------ END CACSL2BoogieTranslator---------------------------- [2020-07-18 05:12:15,252 INFO L113 PluginConnector]: ------------------------Boogie Preprocessor---------------------------- [2020-07-18 05:12:15,252 INFO L271 PluginConnector]: Initializing Boogie Preprocessor... [2020-07-18 05:12:15,252 INFO L275 PluginConnector]: Boogie Preprocessor initialized [2020-07-18 05:12:15,266 INFO L185 PluginConnector]: Executing the observer EnsureBoogieModelObserver from plugin Boogie Preprocessor for "de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 18.07 05:12:15" (1/1) ... [2020-07-18 05:12:15,266 INFO L185 PluginConnector]: Executing the observer TypeChecker from plugin Boogie Preprocessor for "de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 18.07 05:12:15" (1/1) ... [2020-07-18 05:12:15,282 INFO L185 PluginConnector]: Executing the observer ConstExpander from plugin Boogie Preprocessor for "de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 18.07 05:12:15" (1/1) ... [2020-07-18 05:12:15,282 INFO L185 PluginConnector]: Executing the observer StructExpander from plugin Boogie Preprocessor for "de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 18.07 05:12:15" (1/1) ... [2020-07-18 05:12:15,303 INFO L185 PluginConnector]: Executing the observer UnstructureCode from plugin Boogie Preprocessor for "de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 18.07 05:12:15" (1/1) ... [2020-07-18 05:12:15,305 INFO L185 PluginConnector]: Executing the observer FunctionInliner from plugin Boogie Preprocessor for "de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 18.07 05:12:15" (1/1) ... [2020-07-18 05:12:15,309 INFO L185 PluginConnector]: Executing the observer BoogieSymbolTableConstructor from plugin Boogie Preprocessor for "de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 18.07 05:12:15" (1/1) ... [2020-07-18 05:12:15,316 INFO L132 PluginConnector]: ------------------------ END Boogie Preprocessor---------------------------- [2020-07-18 05:12:15,317 INFO L113 PluginConnector]: ------------------------RCFGBuilder---------------------------- [2020-07-18 05:12:15,317 INFO L271 PluginConnector]: Initializing RCFGBuilder... [2020-07-18 05:12:15,317 INFO L275 PluginConnector]: RCFGBuilder initialized [2020-07-18 05:12:15,318 INFO L185 PluginConnector]: Executing the observer RCFGBuilderObserver from plugin RCFGBuilder for "de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 18.07 05:12:15" (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-18 05:12:15,386 INFO L138 BoogieDeclarations]: Found implementation of procedure ULTIMATE.init [2020-07-18 05:12:15,387 INFO L138 BoogieDeclarations]: Found implementation of procedure ULTIMATE.start [2020-07-18 05:12:15,387 INFO L138 BoogieDeclarations]: Found implementation of procedure __blast_assert [2020-07-18 05:12:15,387 INFO L138 BoogieDeclarations]: Found implementation of procedure __getMemory [2020-07-18 05:12:15,387 INFO L138 BoogieDeclarations]: Found implementation of procedure my_malloc [2020-07-18 05:12:15,388 INFO L138 BoogieDeclarations]: Found implementation of procedure list_add [2020-07-18 05:12:15,388 INFO L138 BoogieDeclarations]: Found implementation of procedure list_del [2020-07-18 05:12:15,388 INFO L138 BoogieDeclarations]: Found implementation of procedure main [2020-07-18 05:12:15,388 INFO L130 BoogieDeclarations]: Found specification of procedure __VERIFIER_error [2020-07-18 05:12:15,388 INFO L130 BoogieDeclarations]: Found specification of procedure __blast_assert [2020-07-18 05:12:15,388 INFO L130 BoogieDeclarations]: Found specification of procedure __underflow [2020-07-18 05:12:15,389 INFO L130 BoogieDeclarations]: Found specification of procedure __uflow [2020-07-18 05:12:15,389 INFO L130 BoogieDeclarations]: Found specification of procedure __overflow [2020-07-18 05:12:15,389 INFO L130 BoogieDeclarations]: Found specification of procedure _IO_getc [2020-07-18 05:12:15,389 INFO L130 BoogieDeclarations]: Found specification of procedure _IO_putc [2020-07-18 05:12:15,389 INFO L130 BoogieDeclarations]: Found specification of procedure _IO_feof [2020-07-18 05:12:15,390 INFO L130 BoogieDeclarations]: Found specification of procedure _IO_ferror [2020-07-18 05:12:15,390 INFO L130 BoogieDeclarations]: Found specification of procedure _IO_peekc_locked [2020-07-18 05:12:15,390 INFO L130 BoogieDeclarations]: Found specification of procedure _IO_flockfile [2020-07-18 05:12:15,390 INFO L130 BoogieDeclarations]: Found specification of procedure _IO_funlockfile [2020-07-18 05:12:15,390 INFO L130 BoogieDeclarations]: Found specification of procedure _IO_ftrylockfile [2020-07-18 05:12:15,390 INFO L130 BoogieDeclarations]: Found specification of procedure _IO_vfscanf [2020-07-18 05:12:15,391 INFO L130 BoogieDeclarations]: Found specification of procedure _IO_vfprintf [2020-07-18 05:12:15,391 INFO L130 BoogieDeclarations]: Found specification of procedure _IO_padn [2020-07-18 05:12:15,391 INFO L130 BoogieDeclarations]: Found specification of procedure _IO_sgetn [2020-07-18 05:12:15,391 INFO L130 BoogieDeclarations]: Found specification of procedure _IO_seekoff [2020-07-18 05:12:15,391 INFO L130 BoogieDeclarations]: Found specification of procedure _IO_seekpos [2020-07-18 05:12:15,392 INFO L130 BoogieDeclarations]: Found specification of procedure _IO_free_backup_area [2020-07-18 05:12:15,392 INFO L130 BoogieDeclarations]: Found specification of procedure remove [2020-07-18 05:12:15,392 INFO L130 BoogieDeclarations]: Found specification of procedure rename [2020-07-18 05:12:15,392 INFO L130 BoogieDeclarations]: Found specification of procedure renameat [2020-07-18 05:12:15,392 INFO L130 BoogieDeclarations]: Found specification of procedure tmpfile [2020-07-18 05:12:15,392 INFO L130 BoogieDeclarations]: Found specification of procedure tmpnam [2020-07-18 05:12:15,393 INFO L130 BoogieDeclarations]: Found specification of procedure tmpnam_r [2020-07-18 05:12:15,393 INFO L130 BoogieDeclarations]: Found specification of procedure tempnam [2020-07-18 05:12:15,393 INFO L130 BoogieDeclarations]: Found specification of procedure fclose [2020-07-18 05:12:15,393 INFO L130 BoogieDeclarations]: Found specification of procedure fflush [2020-07-18 05:12:15,393 INFO L130 BoogieDeclarations]: Found specification of procedure fflush_unlocked [2020-07-18 05:12:15,393 INFO L130 BoogieDeclarations]: Found specification of procedure fopen [2020-07-18 05:12:15,394 INFO L130 BoogieDeclarations]: Found specification of procedure freopen [2020-07-18 05:12:15,394 INFO L130 BoogieDeclarations]: Found specification of procedure fdopen [2020-07-18 05:12:15,394 INFO L130 BoogieDeclarations]: Found specification of procedure fmemopen [2020-07-18 05:12:15,394 INFO L130 BoogieDeclarations]: Found specification of procedure open_memstream [2020-07-18 05:12:15,394 INFO L130 BoogieDeclarations]: Found specification of procedure setbuf [2020-07-18 05:12:15,394 INFO L130 BoogieDeclarations]: Found specification of procedure setvbuf [2020-07-18 05:12:15,395 INFO L130 BoogieDeclarations]: Found specification of procedure setbuffer [2020-07-18 05:12:15,395 INFO L130 BoogieDeclarations]: Found specification of procedure setlinebuf [2020-07-18 05:12:15,395 INFO L130 BoogieDeclarations]: Found specification of procedure fprintf [2020-07-18 05:12:15,395 INFO L130 BoogieDeclarations]: Found specification of procedure printf [2020-07-18 05:12:15,395 INFO L130 BoogieDeclarations]: Found specification of procedure sprintf [2020-07-18 05:12:15,395 INFO L130 BoogieDeclarations]: Found specification of procedure vfprintf [2020-07-18 05:12:15,396 INFO L130 BoogieDeclarations]: Found specification of procedure vprintf [2020-07-18 05:12:15,396 INFO L130 BoogieDeclarations]: Found specification of procedure vsprintf [2020-07-18 05:12:15,396 INFO L130 BoogieDeclarations]: Found specification of procedure snprintf [2020-07-18 05:12:15,396 INFO L130 BoogieDeclarations]: Found specification of procedure vsnprintf [2020-07-18 05:12:15,396 INFO L130 BoogieDeclarations]: Found specification of procedure vdprintf [2020-07-18 05:12:15,396 INFO L130 BoogieDeclarations]: Found specification of procedure dprintf [2020-07-18 05:12:15,397 INFO L130 BoogieDeclarations]: Found specification of procedure fscanf [2020-07-18 05:12:15,397 INFO L130 BoogieDeclarations]: Found specification of procedure scanf [2020-07-18 05:12:15,397 INFO L130 BoogieDeclarations]: Found specification of procedure sscanf [2020-07-18 05:12:15,397 INFO L130 BoogieDeclarations]: Found specification of procedure vfscanf [2020-07-18 05:12:15,397 INFO L130 BoogieDeclarations]: Found specification of procedure vscanf [2020-07-18 05:12:15,397 INFO L130 BoogieDeclarations]: Found specification of procedure vsscanf [2020-07-18 05:12:15,397 INFO L130 BoogieDeclarations]: Found specification of procedure fgetc [2020-07-18 05:12:15,398 INFO L130 BoogieDeclarations]: Found specification of procedure getc [2020-07-18 05:12:15,398 INFO L130 BoogieDeclarations]: Found specification of procedure getchar [2020-07-18 05:12:15,398 INFO L130 BoogieDeclarations]: Found specification of procedure getc_unlocked [2020-07-18 05:12:15,398 INFO L130 BoogieDeclarations]: Found specification of procedure getchar_unlocked [2020-07-18 05:12:15,398 INFO L130 BoogieDeclarations]: Found specification of procedure fgetc_unlocked [2020-07-18 05:12:15,398 INFO L130 BoogieDeclarations]: Found specification of procedure fputc [2020-07-18 05:12:15,399 INFO L130 BoogieDeclarations]: Found specification of procedure putc [2020-07-18 05:12:15,399 INFO L130 BoogieDeclarations]: Found specification of procedure putchar [2020-07-18 05:12:15,399 INFO L130 BoogieDeclarations]: Found specification of procedure fputc_unlocked [2020-07-18 05:12:15,399 INFO L130 BoogieDeclarations]: Found specification of procedure putc_unlocked [2020-07-18 05:12:15,399 INFO L130 BoogieDeclarations]: Found specification of procedure putchar_unlocked [2020-07-18 05:12:15,400 INFO L130 BoogieDeclarations]: Found specification of procedure getw [2020-07-18 05:12:15,400 INFO L130 BoogieDeclarations]: Found specification of procedure putw [2020-07-18 05:12:15,400 INFO L130 BoogieDeclarations]: Found specification of procedure fgets [2020-07-18 05:12:15,400 INFO L130 BoogieDeclarations]: Found specification of procedure gets [2020-07-18 05:12:15,400 INFO L130 BoogieDeclarations]: Found specification of procedure __getdelim [2020-07-18 05:12:15,400 INFO L130 BoogieDeclarations]: Found specification of procedure getdelim [2020-07-18 05:12:15,401 INFO L130 BoogieDeclarations]: Found specification of procedure getline [2020-07-18 05:12:15,401 INFO L130 BoogieDeclarations]: Found specification of procedure fputs [2020-07-18 05:12:15,401 INFO L130 BoogieDeclarations]: Found specification of procedure puts [2020-07-18 05:12:15,401 INFO L130 BoogieDeclarations]: Found specification of procedure ungetc [2020-07-18 05:12:15,401 INFO L130 BoogieDeclarations]: Found specification of procedure fread [2020-07-18 05:12:15,401 INFO L130 BoogieDeclarations]: Found specification of procedure fwrite [2020-07-18 05:12:15,401 INFO L130 BoogieDeclarations]: Found specification of procedure fread_unlocked [2020-07-18 05:12:15,402 INFO L130 BoogieDeclarations]: Found specification of procedure fwrite_unlocked [2020-07-18 05:12:15,402 INFO L130 BoogieDeclarations]: Found specification of procedure fseek [2020-07-18 05:12:15,402 INFO L130 BoogieDeclarations]: Found specification of procedure ftell [2020-07-18 05:12:15,402 INFO L130 BoogieDeclarations]: Found specification of procedure rewind [2020-07-18 05:12:15,402 INFO L130 BoogieDeclarations]: Found specification of procedure fseeko [2020-07-18 05:12:15,402 INFO L130 BoogieDeclarations]: Found specification of procedure ftello [2020-07-18 05:12:15,403 INFO L130 BoogieDeclarations]: Found specification of procedure fgetpos [2020-07-18 05:12:15,403 INFO L130 BoogieDeclarations]: Found specification of procedure fsetpos [2020-07-18 05:12:15,403 INFO L130 BoogieDeclarations]: Found specification of procedure clearerr [2020-07-18 05:12:15,403 INFO L130 BoogieDeclarations]: Found specification of procedure feof [2020-07-18 05:12:15,403 INFO L130 BoogieDeclarations]: Found specification of procedure ferror [2020-07-18 05:12:15,403 INFO L130 BoogieDeclarations]: Found specification of procedure clearerr_unlocked [2020-07-18 05:12:15,404 INFO L130 BoogieDeclarations]: Found specification of procedure feof_unlocked [2020-07-18 05:12:15,404 INFO L130 BoogieDeclarations]: Found specification of procedure ferror_unlocked [2020-07-18 05:12:15,404 INFO L130 BoogieDeclarations]: Found specification of procedure perror [2020-07-18 05:12:15,404 INFO L130 BoogieDeclarations]: Found specification of procedure fileno [2020-07-18 05:12:15,404 INFO L130 BoogieDeclarations]: Found specification of procedure fileno_unlocked [2020-07-18 05:12:15,404 INFO L130 BoogieDeclarations]: Found specification of procedure popen [2020-07-18 05:12:15,404 INFO L130 BoogieDeclarations]: Found specification of procedure pclose [2020-07-18 05:12:15,405 INFO L130 BoogieDeclarations]: Found specification of procedure ctermid [2020-07-18 05:12:15,405 INFO L130 BoogieDeclarations]: Found specification of procedure flockfile [2020-07-18 05:12:15,405 INFO L130 BoogieDeclarations]: Found specification of procedure ftrylockfile [2020-07-18 05:12:15,405 INFO L130 BoogieDeclarations]: Found specification of procedure funlockfile [2020-07-18 05:12:15,405 INFO L130 BoogieDeclarations]: Found specification of procedure malloc [2020-07-18 05:12:15,405 INFO L130 BoogieDeclarations]: Found specification of procedure calloc [2020-07-18 05:12:15,406 INFO L130 BoogieDeclarations]: Found specification of procedure realloc [2020-07-18 05:12:15,406 INFO L130 BoogieDeclarations]: Found specification of procedure free [2020-07-18 05:12:15,406 INFO L130 BoogieDeclarations]: Found specification of procedure cfree [2020-07-18 05:12:15,406 INFO L130 BoogieDeclarations]: Found specification of procedure memalign [2020-07-18 05:12:15,406 INFO L130 BoogieDeclarations]: Found specification of procedure valloc [2020-07-18 05:12:15,406 INFO L130 BoogieDeclarations]: Found specification of procedure pvalloc [2020-07-18 05:12:15,406 INFO L130 BoogieDeclarations]: Found specification of procedure __default_morecore [2020-07-18 05:12:15,407 INFO L130 BoogieDeclarations]: Found specification of procedure mallinfo [2020-07-18 05:12:15,407 INFO L130 BoogieDeclarations]: Found specification of procedure mallopt [2020-07-18 05:12:15,407 INFO L130 BoogieDeclarations]: Found specification of procedure malloc_trim [2020-07-18 05:12:15,407 INFO L130 BoogieDeclarations]: Found specification of procedure malloc_usable_size [2020-07-18 05:12:15,407 INFO L130 BoogieDeclarations]: Found specification of procedure malloc_stats [2020-07-18 05:12:15,407 INFO L130 BoogieDeclarations]: Found specification of procedure malloc_info [2020-07-18 05:12:15,408 INFO L130 BoogieDeclarations]: Found specification of procedure malloc_get_state [2020-07-18 05:12:15,408 INFO L130 BoogieDeclarations]: Found specification of procedure malloc_set_state [2020-07-18 05:12:15,408 INFO L130 BoogieDeclarations]: Found specification of procedure __malloc_check_init [2020-07-18 05:12:15,408 INFO L130 BoogieDeclarations]: Found specification of procedure __VERIFIER_nondet_int [2020-07-18 05:12:15,408 INFO L130 BoogieDeclarations]: Found specification of procedure __getMemory [2020-07-18 05:12:15,408 INFO L130 BoogieDeclarations]: Found specification of procedure my_malloc [2020-07-18 05:12:15,409 INFO L130 BoogieDeclarations]: Found specification of procedure list_add [2020-07-18 05:12:15,409 INFO L130 BoogieDeclarations]: Found specification of procedure list_del [2020-07-18 05:12:15,409 INFO L130 BoogieDeclarations]: Found specification of procedure main [2020-07-18 05:12:15,409 INFO L130 BoogieDeclarations]: Found specification of procedure ULTIMATE.init [2020-07-18 05:12:15,409 INFO L130 BoogieDeclarations]: Found specification of procedure #Ultimate.allocOnStack [2020-07-18 05:12:15,409 INFO L130 BoogieDeclarations]: Found specification of procedure write~init~$Pointer$ [2020-07-18 05:12:15,409 INFO L130 BoogieDeclarations]: Found specification of procedure ULTIMATE.start [2020-07-18 05:12:15,410 INFO L130 BoogieDeclarations]: Found specification of procedure write~$Pointer$ [2020-07-18 05:12:15,410 INFO L130 BoogieDeclarations]: Found specification of procedure read~$Pointer$ [2020-07-18 05:12:15,410 INFO L130 BoogieDeclarations]: Found specification of procedure ULTIMATE.dealloc [2020-07-18 05:12:16,241 INFO L290 CfgBuilder]: Using the 1 location(s) as analysis (start of procedure ULTIMATE.start) [2020-07-18 05:12:16,242 INFO L295 CfgBuilder]: Removed 0 assume(true) statements. [2020-07-18 05:12:16,246 INFO L202 PluginConnector]: Adding new model de.uni_freiburg.informatik.ultimate.plugins.generator.rcfgbuilder CFG 18.07 05:12:16 BoogieIcfgContainer [2020-07-18 05:12:16,246 INFO L132 PluginConnector]: ------------------------ END RCFGBuilder---------------------------- [2020-07-18 05:12:16,248 INFO L113 PluginConnector]: ------------------------TraceAbstraction---------------------------- [2020-07-18 05:12:16,248 INFO L271 PluginConnector]: Initializing TraceAbstraction... [2020-07-18 05:12:16,252 INFO L275 PluginConnector]: TraceAbstraction initialized [2020-07-18 05:12:16,252 INFO L185 PluginConnector]: Executing the observer TraceAbstractionObserver from plugin TraceAbstraction for "CDTParser AST 18.07 05:12:14" (1/3) ... [2020-07-18 05:12:16,253 INFO L205 PluginConnector]: Invalid model from TraceAbstraction for observer de.uni_freiburg.informatik.ultimate.plugins.generator.traceabstraction.TraceAbstractionObserver@6742ed1b and model type de.uni_freiburg.informatik.ultimate.plugins.generator.traceabstraction AST 18.07 05:12:16, skipping insertion in model container [2020-07-18 05:12:16,253 INFO L185 PluginConnector]: Executing the observer TraceAbstractionObserver from plugin TraceAbstraction for "de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 18.07 05:12:15" (2/3) ... [2020-07-18 05:12:16,254 INFO L205 PluginConnector]: Invalid model from TraceAbstraction for observer de.uni_freiburg.informatik.ultimate.plugins.generator.traceabstraction.TraceAbstractionObserver@6742ed1b and model type de.uni_freiburg.informatik.ultimate.plugins.generator.traceabstraction AST 18.07 05:12:16, skipping insertion in model container [2020-07-18 05:12:16,254 INFO L185 PluginConnector]: Executing the observer TraceAbstractionObserver from plugin TraceAbstraction for "de.uni_freiburg.informatik.ultimate.plugins.generator.rcfgbuilder CFG 18.07 05:12:16" (3/3) ... [2020-07-18 05:12:16,256 INFO L109 eAbstractionObserver]: Analyzing ICFG rule60_list2.i [2020-07-18 05:12:16,268 INFO L157 ceAbstractionStarter]: Automizer settings: Hoare:true NWA Interpolation:Craig_NestedInterpolation Determinization: PREDICATE_ABSTRACTION [2020-07-18 05:12:16,276 INFO L169 ceAbstractionStarter]: Appying trace abstraction to program that has 1 error locations. [2020-07-18 05:12:16,290 INFO L251 AbstractCegarLoop]: Starting to check reachability of 1 error locations. [2020-07-18 05:12:16,313 INFO L375 AbstractCegarLoop]: Interprodecural is true [2020-07-18 05:12:16,313 INFO L376 AbstractCegarLoop]: Hoare is true [2020-07-18 05:12:16,314 INFO L377 AbstractCegarLoop]: Compute interpolants for Craig_NestedInterpolation [2020-07-18 05:12:16,314 INFO L378 AbstractCegarLoop]: Backedges is STRAIGHT_LINE [2020-07-18 05:12:16,314 INFO L379 AbstractCegarLoop]: Determinization is PREDICATE_ABSTRACTION [2020-07-18 05:12:16,314 INFO L380 AbstractCegarLoop]: Difference is false [2020-07-18 05:12:16,315 INFO L381 AbstractCegarLoop]: Minimize is MINIMIZE_SEVPA [2020-07-18 05:12:16,315 INFO L385 AbstractCegarLoop]: ======== Iteration 0==of CEGAR loop == AllErrorsAtOnce======== [2020-07-18 05:12:16,330 INFO L276 IsEmpty]: Start isEmpty. Operand 70 states. [2020-07-18 05:12:16,341 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 22 [2020-07-18 05:12:16,342 INFO L414 BasicCegarLoop]: Found error trace [2020-07-18 05:12:16,343 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-18 05:12:16,343 INFO L427 AbstractCegarLoop]: === Iteration 1 === [__blast_assertErr0ASSERT_VIOLATIONERROR_FUNCTION]=== [2020-07-18 05:12:16,349 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2020-07-18 05:12:16,350 INFO L82 PathProgramCache]: Analyzing trace with hash 1653885127, now seen corresponding path program 1 times [2020-07-18 05:12:16,358 INFO L163 FreeRefinementEngine]: Executing refinement strategy FIXED_PREFERENCES [2020-07-18 05:12:16,359 INFO L354 FreeRefinementEngine]: Using trace check IpTcStrategyModulePreferences [1894663464] [2020-07-18 05:12:16,359 INFO L94 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2020-07-18 05:12:16,498 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2020-07-18 05:12:16,728 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2020-07-18 05:12:16,752 INFO L280 TraceCheckUtils]: 0: Hoare triple {89#(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; {73#true} is VALID [2020-07-18 05:12:16,752 INFO L280 TraceCheckUtils]: 1: Hoare triple {73#true} #valid := #valid[0 := 0]; {73#true} is VALID [2020-07-18 05:12:16,753 INFO L280 TraceCheckUtils]: 2: Hoare triple {73#true} assume 0 < #StackHeapBarrier; {73#true} is VALID [2020-07-18 05:12:16,753 INFO L280 TraceCheckUtils]: 3: Hoare triple {73#true} ~guard_malloc_counter~0.base, ~guard_malloc_counter~0.offset := 0, 0; {73#true} is VALID [2020-07-18 05:12:16,754 INFO L280 TraceCheckUtils]: 4: Hoare triple {73#true} ~elem~0.base, ~elem~0.offset := 0, 0; {73#true} is VALID [2020-07-18 05:12:16,754 INFO L280 TraceCheckUtils]: 5: Hoare triple {73#true} SUMMARY for call ~#head~0.base, ~#head~0.offset := #Ultimate.allocOnStack(8); srcloc: L900 {73#true} is VALID [2020-07-18 05:12:16,755 INFO L280 TraceCheckUtils]: 6: Hoare triple {73#true} SUMMARY for call write~init~$Pointer$(0, 0, ~#head~0.base, ~#head~0.offset, 4); srcloc: L900-1 {73#true} is VALID [2020-07-18 05:12:16,755 INFO L280 TraceCheckUtils]: 7: Hoare triple {73#true} SUMMARY for call write~init~$Pointer$(0, 0, ~#head~0.base, 4 + ~#head~0.offset, 4); srcloc: L900-2 {73#true} is VALID [2020-07-18 05:12:16,755 INFO L280 TraceCheckUtils]: 8: Hoare triple {73#true} assume true; {73#true} is VALID [2020-07-18 05:12:16,756 INFO L275 TraceCheckUtils]: 9: Hoare quadruple {73#true} {73#true} #109#return; {73#true} is VALID [2020-07-18 05:12:16,761 INFO L263 TraceCheckUtils]: 0: Hoare triple {73#true} call ULTIMATE.init(); {89#(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-18 05:12:16,761 INFO L280 TraceCheckUtils]: 1: Hoare triple {89#(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; {73#true} is VALID [2020-07-18 05:12:16,762 INFO L280 TraceCheckUtils]: 2: Hoare triple {73#true} #valid := #valid[0 := 0]; {73#true} is VALID [2020-07-18 05:12:16,762 INFO L280 TraceCheckUtils]: 3: Hoare triple {73#true} assume 0 < #StackHeapBarrier; {73#true} is VALID [2020-07-18 05:12:16,762 INFO L280 TraceCheckUtils]: 4: Hoare triple {73#true} ~guard_malloc_counter~0.base, ~guard_malloc_counter~0.offset := 0, 0; {73#true} is VALID [2020-07-18 05:12:16,763 INFO L280 TraceCheckUtils]: 5: Hoare triple {73#true} ~elem~0.base, ~elem~0.offset := 0, 0; {73#true} is VALID [2020-07-18 05:12:16,763 INFO L280 TraceCheckUtils]: 6: Hoare triple {73#true} SUMMARY for call ~#head~0.base, ~#head~0.offset := #Ultimate.allocOnStack(8); srcloc: L900 {73#true} is VALID [2020-07-18 05:12:16,763 INFO L280 TraceCheckUtils]: 7: Hoare triple {73#true} SUMMARY for call write~init~$Pointer$(0, 0, ~#head~0.base, ~#head~0.offset, 4); srcloc: L900-1 {73#true} is VALID [2020-07-18 05:12:16,764 INFO L280 TraceCheckUtils]: 8: Hoare triple {73#true} SUMMARY for call write~init~$Pointer$(0, 0, ~#head~0.base, 4 + ~#head~0.offset, 4); srcloc: L900-2 {73#true} is VALID [2020-07-18 05:12:16,764 INFO L280 TraceCheckUtils]: 9: Hoare triple {73#true} assume true; {73#true} is VALID [2020-07-18 05:12:16,764 INFO L275 TraceCheckUtils]: 10: Hoare quadruple {73#true} {73#true} #109#return; {73#true} is VALID [2020-07-18 05:12:16,765 INFO L263 TraceCheckUtils]: 11: Hoare triple {73#true} call #t~ret34 := main(); {73#true} is VALID [2020-07-18 05:12:16,765 INFO L280 TraceCheckUtils]: 12: Hoare triple {73#true} havoc ~dev1~0.base, ~dev1~0.offset; {73#true} is VALID [2020-07-18 05:12:16,765 INFO L280 TraceCheckUtils]: 13: Hoare triple {73#true} havoc ~dev2~0.base, ~dev2~0.offset; {73#true} is VALID [2020-07-18 05:12:16,767 INFO L263 TraceCheckUtils]: 14: Hoare triple {73#true} call #t~ret32.base, #t~ret32.offset := my_malloc(8); {85#(= 8 |my_malloc_#in~size|)} is VALID [2020-07-18 05:12:16,768 INFO L280 TraceCheckUtils]: 15: Hoare triple {85#(= 8 |my_malloc_#in~size|)} ~size := #in~size; {86#(= 8 my_malloc_~size)} is VALID [2020-07-18 05:12:16,769 INFO L263 TraceCheckUtils]: 16: Hoare triple {86#(= 8 my_malloc_~size)} call #t~ret30.base, #t~ret30.offset := __getMemory(~size); {87#(= 8 |__getMemory_#in~size|)} is VALID [2020-07-18 05:12:16,770 INFO L280 TraceCheckUtils]: 17: Hoare triple {87#(= 8 |__getMemory_#in~size|)} ~size := #in~size; {88#(= 8 __getMemory_~size)} is VALID [2020-07-18 05:12:16,771 INFO L280 TraceCheckUtils]: 18: Hoare triple {88#(= 8 __getMemory_~size)} assume !(~size > 0); {74#false} is VALID [2020-07-18 05:12:16,772 INFO L263 TraceCheckUtils]: 19: Hoare triple {74#false} call __blast_assert(); {74#false} is VALID [2020-07-18 05:12:16,772 INFO L280 TraceCheckUtils]: 20: Hoare triple {74#false} assume !false; {74#false} is VALID [2020-07-18 05:12:16,775 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-18 05:12:16,776 INFO L354 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModulePreferences [1894663464] [2020-07-18 05:12:16,778 INFO L220 FreeRefinementEngine]: Constructing automaton from 1 perfect and 0 imperfect interpolant sequences. [2020-07-18 05:12:16,778 INFO L233 FreeRefinementEngine]: Number of different interpolants: perfect sequences [7] imperfect sequences [] total 7 [2020-07-18 05:12:16,779 INFO L156 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [691352267] [2020-07-18 05:12:16,786 INFO L78 Accepts]: Start accepts. Automaton has 7 states. Word has length 21 [2020-07-18 05:12:16,789 INFO L84 Accepts]: Finished accepts. word is accepted. [2020-07-18 05:12:16,794 INFO L86 InductivityCheck]: Starting indutivity check of a Floyd-Hoare automaton with 7 states. [2020-07-18 05:12:16,835 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-18 05:12:16,835 INFO L459 AbstractCegarLoop]: Interpolant automaton has 7 states [2020-07-18 05:12:16,836 INFO L143 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy FIXED_PREFERENCES [2020-07-18 05:12:16,845 INFO L142 InterpolantAutomaton]: Constructing interpolant automaton starting with 7 interpolants. [2020-07-18 05:12:16,846 INFO L144 InterpolantAutomaton]: CoverageRelationStatistics Valid=11, Invalid=31, Unknown=0, NotChecked=0, Total=42 [2020-07-18 05:12:16,848 INFO L87 Difference]: Start difference. First operand 70 states. Second operand 7 states. [2020-07-18 05:12:18,538 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2020-07-18 05:12:18,539 INFO L93 Difference]: Finished difference Result 126 states and 151 transitions. [2020-07-18 05:12:18,539 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 9 states. [2020-07-18 05:12:18,539 INFO L78 Accepts]: Start accepts. Automaton has 7 states. Word has length 21 [2020-07-18 05:12:18,540 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2020-07-18 05:12:18,541 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 7 states. [2020-07-18 05:12:18,558 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 9 states to 9 states and 151 transitions. [2020-07-18 05:12:18,558 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 7 states. [2020-07-18 05:12:18,575 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 9 states to 9 states and 151 transitions. [2020-07-18 05:12:18,575 INFO L86 InductivityCheck]: Starting indutivity check of a Floyd-Hoare automaton with 9 states and 151 transitions. [2020-07-18 05:12:18,805 INFO L119 InductivityCheck]: Floyd-Hoare automaton has 151 edges. 151 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2020-07-18 05:12:18,823 INFO L225 Difference]: With dead ends: 126 [2020-07-18 05:12:18,823 INFO L226 Difference]: Without dead ends: 66 [2020-07-18 05:12:18,828 INFO L675 BasicCegarLoop]: 0 DeclaredPredicates, 14 GetRequests, 3 SyntacticMatches, 0 SemanticMatches, 11 ConstructedPredicates, 0 IntricatePredicates, 0 DeprecatedPredicates, 13 ImplicationChecksByTransitivity, 0.4s TimeCoverageRelationStatistics Valid=41, Invalid=115, Unknown=0, NotChecked=0, Total=156 [2020-07-18 05:12:18,850 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 66 states. [2020-07-18 05:12:19,034 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 66 to 62. [2020-07-18 05:12:19,034 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2020-07-18 05:12:19,035 INFO L82 GeneralOperation]: Start isEquivalent. First operand 66 states. Second operand 62 states. [2020-07-18 05:12:19,035 INFO L74 IsIncluded]: Start isIncluded. First operand 66 states. Second operand 62 states. [2020-07-18 05:12:19,036 INFO L87 Difference]: Start difference. First operand 66 states. Second operand 62 states. [2020-07-18 05:12:19,044 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2020-07-18 05:12:19,045 INFO L93 Difference]: Finished difference Result 66 states and 72 transitions. [2020-07-18 05:12:19,045 INFO L276 IsEmpty]: Start isEmpty. Operand 66 states and 72 transitions. [2020-07-18 05:12:19,046 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2020-07-18 05:12:19,047 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2020-07-18 05:12:19,047 INFO L74 IsIncluded]: Start isIncluded. First operand 62 states. Second operand 66 states. [2020-07-18 05:12:19,047 INFO L87 Difference]: Start difference. First operand 62 states. Second operand 66 states. [2020-07-18 05:12:19,054 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2020-07-18 05:12:19,054 INFO L93 Difference]: Finished difference Result 66 states and 72 transitions. [2020-07-18 05:12:19,054 INFO L276 IsEmpty]: Start isEmpty. Operand 66 states and 72 transitions. [2020-07-18 05:12:19,056 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2020-07-18 05:12:19,056 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2020-07-18 05:12:19,056 INFO L88 GeneralOperation]: Finished isEquivalent. [2020-07-18 05:12:19,056 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2020-07-18 05:12:19,057 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 62 states. [2020-07-18 05:12:19,061 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 62 states to 62 states and 67 transitions. [2020-07-18 05:12:19,063 INFO L78 Accepts]: Start accepts. Automaton has 62 states and 67 transitions. Word has length 21 [2020-07-18 05:12:19,063 INFO L84 Accepts]: Finished accepts. word is rejected. [2020-07-18 05:12:19,063 INFO L479 AbstractCegarLoop]: Abstraction has 62 states and 67 transitions. [2020-07-18 05:12:19,064 INFO L480 AbstractCegarLoop]: Interpolant automaton has 7 states. [2020-07-18 05:12:19,064 INFO L86 InductivityCheck]: Starting indutivity check of a Floyd-Hoare automaton with 62 states and 67 transitions. [2020-07-18 05:12:19,180 INFO L119 InductivityCheck]: Floyd-Hoare automaton has 67 edges. 67 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2020-07-18 05:12:19,180 INFO L276 IsEmpty]: Start isEmpty. Operand 62 states and 67 transitions. [2020-07-18 05:12:19,183 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 62 [2020-07-18 05:12:19,183 INFO L414 BasicCegarLoop]: Found error trace [2020-07-18 05:12:19,183 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-18 05:12:19,184 WARN L516 AbstractCegarLoop]: Destroyed unattended storables created during the last iteration: SelfDestructingSolverStorable0 [2020-07-18 05:12:19,184 INFO L427 AbstractCegarLoop]: === Iteration 2 === [__blast_assertErr0ASSERT_VIOLATIONERROR_FUNCTION]=== [2020-07-18 05:12:19,185 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2020-07-18 05:12:19,185 INFO L82 PathProgramCache]: Analyzing trace with hash -1154270079, now seen corresponding path program 1 times [2020-07-18 05:12:19,186 INFO L163 FreeRefinementEngine]: Executing refinement strategy FIXED_PREFERENCES [2020-07-18 05:12:19,186 INFO L354 FreeRefinementEngine]: Using trace check IpTcStrategyModulePreferences [1427181520] [2020-07-18 05:12:19,186 INFO L94 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2020-07-18 05:12:19,228 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2020-07-18 05:12:19,346 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2020-07-18 05:12:19,356 INFO L280 TraceCheckUtils]: 0: Hoare triple {660#(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; {612#true} is VALID [2020-07-18 05:12:19,357 INFO L280 TraceCheckUtils]: 1: Hoare triple {612#true} #valid := #valid[0 := 0]; {612#true} is VALID [2020-07-18 05:12:19,357 INFO L280 TraceCheckUtils]: 2: Hoare triple {612#true} assume 0 < #StackHeapBarrier; {612#true} is VALID [2020-07-18 05:12:19,357 INFO L280 TraceCheckUtils]: 3: Hoare triple {612#true} ~guard_malloc_counter~0.base, ~guard_malloc_counter~0.offset := 0, 0; {612#true} is VALID [2020-07-18 05:12:19,358 INFO L280 TraceCheckUtils]: 4: Hoare triple {612#true} ~elem~0.base, ~elem~0.offset := 0, 0; {612#true} is VALID [2020-07-18 05:12:19,358 INFO L280 TraceCheckUtils]: 5: Hoare triple {612#true} SUMMARY for call ~#head~0.base, ~#head~0.offset := #Ultimate.allocOnStack(8); srcloc: L900 {612#true} is VALID [2020-07-18 05:12:19,358 INFO L280 TraceCheckUtils]: 6: Hoare triple {612#true} SUMMARY for call write~init~$Pointer$(0, 0, ~#head~0.base, ~#head~0.offset, 4); srcloc: L900-1 {612#true} is VALID [2020-07-18 05:12:19,359 INFO L280 TraceCheckUtils]: 7: Hoare triple {612#true} SUMMARY for call write~init~$Pointer$(0, 0, ~#head~0.base, 4 + ~#head~0.offset, 4); srcloc: L900-2 {612#true} is VALID [2020-07-18 05:12:19,359 INFO L280 TraceCheckUtils]: 8: Hoare triple {612#true} assume true; {612#true} is VALID [2020-07-18 05:12:19,359 INFO L275 TraceCheckUtils]: 9: Hoare quadruple {612#true} {612#true} #109#return; {612#true} is VALID [2020-07-18 05:12:19,406 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2020-07-18 05:12:19,525 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2020-07-18 05:12:19,593 INFO L280 TraceCheckUtils]: 0: Hoare triple {661#(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; {612#true} is VALID [2020-07-18 05:12:19,593 INFO L280 TraceCheckUtils]: 1: Hoare triple {612#true} assume ~size > 0; {612#true} is VALID [2020-07-18 05:12:19,593 INFO L280 TraceCheckUtils]: 2: Hoare triple {612#true} #t~post28.base, #t~post28.offset := ~guard_malloc_counter~0.base, ~guard_malloc_counter~0.offset; {612#true} is VALID [2020-07-18 05:12:19,594 INFO L280 TraceCheckUtils]: 3: Hoare triple {612#true} ~guard_malloc_counter~0.base, ~guard_malloc_counter~0.offset := #t~post28.base, 1 + #t~post28.offset; {612#true} is VALID [2020-07-18 05:12:19,594 INFO L280 TraceCheckUtils]: 4: Hoare triple {612#true} havoc #t~post28.base, #t~post28.offset; {612#true} is VALID [2020-07-18 05:12:19,595 INFO L280 TraceCheckUtils]: 5: Hoare triple {612#true} assume -2147483648 <= #t~nondet29 && #t~nondet29 <= 2147483647; {612#true} is VALID [2020-07-18 05:12:19,595 INFO L280 TraceCheckUtils]: 6: Hoare triple {612#true} assume 0 == #t~nondet29; {612#true} is VALID [2020-07-18 05:12:19,595 INFO L280 TraceCheckUtils]: 7: Hoare triple {612#true} havoc #t~nondet29; {612#true} is VALID [2020-07-18 05:12:19,597 INFO L280 TraceCheckUtils]: 8: Hoare triple {612#true} #res.base, #res.offset := 0, 0; {675#(and (<= |__getMemory_#res.base| 0) (<= |__getMemory_#res.offset| 0) (<= 0 |__getMemory_#res.offset|) (<= 0 |__getMemory_#res.base|))} is VALID [2020-07-18 05:12:19,598 INFO L280 TraceCheckUtils]: 9: Hoare triple {675#(and (<= |__getMemory_#res.base| 0) (<= |__getMemory_#res.offset| 0) (<= 0 |__getMemory_#res.offset|) (<= 0 |__getMemory_#res.base|))} assume true; {675#(and (<= |__getMemory_#res.base| 0) (<= |__getMemory_#res.offset| 0) (<= 0 |__getMemory_#res.offset|) (<= 0 |__getMemory_#res.base|))} is VALID [2020-07-18 05:12:19,600 INFO L275 TraceCheckUtils]: 10: Hoare quadruple {675#(and (<= |__getMemory_#res.base| 0) (<= |__getMemory_#res.offset| 0) (<= 0 |__getMemory_#res.offset|) (<= 0 |__getMemory_#res.base|))} {612#true} #91#return; {673#(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-18 05:12:19,600 INFO L280 TraceCheckUtils]: 0: Hoare triple {661#(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; {612#true} is VALID [2020-07-18 05:12:19,601 INFO L263 TraceCheckUtils]: 1: Hoare triple {612#true} call #t~ret30.base, #t~ret30.offset := __getMemory(~size); {661#(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-18 05:12:19,601 INFO L280 TraceCheckUtils]: 2: Hoare triple {661#(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; {612#true} is VALID [2020-07-18 05:12:19,602 INFO L280 TraceCheckUtils]: 3: Hoare triple {612#true} assume ~size > 0; {612#true} is VALID [2020-07-18 05:12:19,602 INFO L280 TraceCheckUtils]: 4: Hoare triple {612#true} #t~post28.base, #t~post28.offset := ~guard_malloc_counter~0.base, ~guard_malloc_counter~0.offset; {612#true} is VALID [2020-07-18 05:12:19,602 INFO L280 TraceCheckUtils]: 5: Hoare triple {612#true} ~guard_malloc_counter~0.base, ~guard_malloc_counter~0.offset := #t~post28.base, 1 + #t~post28.offset; {612#true} is VALID [2020-07-18 05:12:19,603 INFO L280 TraceCheckUtils]: 6: Hoare triple {612#true} havoc #t~post28.base, #t~post28.offset; {612#true} is VALID [2020-07-18 05:12:19,603 INFO L280 TraceCheckUtils]: 7: Hoare triple {612#true} assume -2147483648 <= #t~nondet29 && #t~nondet29 <= 2147483647; {612#true} is VALID [2020-07-18 05:12:19,603 INFO L280 TraceCheckUtils]: 8: Hoare triple {612#true} assume 0 == #t~nondet29; {612#true} is VALID [2020-07-18 05:12:19,604 INFO L280 TraceCheckUtils]: 9: Hoare triple {612#true} havoc #t~nondet29; {612#true} is VALID [2020-07-18 05:12:19,604 INFO L280 TraceCheckUtils]: 10: Hoare triple {612#true} #res.base, #res.offset := 0, 0; {675#(and (<= |__getMemory_#res.base| 0) (<= |__getMemory_#res.offset| 0) (<= 0 |__getMemory_#res.offset|) (<= 0 |__getMemory_#res.base|))} is VALID [2020-07-18 05:12:19,605 INFO L280 TraceCheckUtils]: 11: Hoare triple {675#(and (<= |__getMemory_#res.base| 0) (<= |__getMemory_#res.offset| 0) (<= 0 |__getMemory_#res.offset|) (<= 0 |__getMemory_#res.base|))} assume true; {675#(and (<= |__getMemory_#res.base| 0) (<= |__getMemory_#res.offset| 0) (<= 0 |__getMemory_#res.offset|) (<= 0 |__getMemory_#res.base|))} is VALID [2020-07-18 05:12:19,607 INFO L275 TraceCheckUtils]: 12: Hoare quadruple {675#(and (<= |__getMemory_#res.base| 0) (<= |__getMemory_#res.offset| 0) (<= 0 |__getMemory_#res.offset|) (<= 0 |__getMemory_#res.base|))} {612#true} #91#return; {673#(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-18 05:12:19,608 INFO L280 TraceCheckUtils]: 13: Hoare triple {673#(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; {674#(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-18 05:12:19,608 INFO L280 TraceCheckUtils]: 14: Hoare triple {674#(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; {674#(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-18 05:12:19,609 INFO L280 TraceCheckUtils]: 15: Hoare triple {674#(and (<= |my_malloc_#res.base| 0) (<= |my_malloc_#res.offset| 0) (<= 0 |my_malloc_#res.base|) (<= 0 |my_malloc_#res.offset|))} assume true; {674#(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-18 05:12:19,611 INFO L275 TraceCheckUtils]: 16: Hoare quadruple {674#(and (<= |my_malloc_#res.base| 0) (<= |my_malloc_#res.offset| 0) (<= 0 |my_malloc_#res.base|) (<= 0 |my_malloc_#res.offset|))} {612#true} #93#return; {641#(and (= 0 |main_#t~ret32.base|) (= |main_#t~ret32.offset| 0))} is VALID [2020-07-18 05:12:19,618 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2020-07-18 05:12:19,631 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2020-07-18 05:12:19,637 INFO L280 TraceCheckUtils]: 0: Hoare triple {661#(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; {612#true} is VALID [2020-07-18 05:12:19,638 INFO L280 TraceCheckUtils]: 1: Hoare triple {612#true} assume ~size > 0; {612#true} is VALID [2020-07-18 05:12:19,638 INFO L280 TraceCheckUtils]: 2: Hoare triple {612#true} #t~post28.base, #t~post28.offset := ~guard_malloc_counter~0.base, ~guard_malloc_counter~0.offset; {612#true} is VALID [2020-07-18 05:12:19,638 INFO L280 TraceCheckUtils]: 3: Hoare triple {612#true} ~guard_malloc_counter~0.base, ~guard_malloc_counter~0.offset := #t~post28.base, 1 + #t~post28.offset; {612#true} is VALID [2020-07-18 05:12:19,639 INFO L280 TraceCheckUtils]: 4: Hoare triple {612#true} havoc #t~post28.base, #t~post28.offset; {612#true} is VALID [2020-07-18 05:12:19,639 INFO L280 TraceCheckUtils]: 5: Hoare triple {612#true} assume -2147483648 <= #t~nondet29 && #t~nondet29 <= 2147483647; {612#true} is VALID [2020-07-18 05:12:19,639 INFO L280 TraceCheckUtils]: 6: Hoare triple {612#true} assume 0 == #t~nondet29; {612#true} is VALID [2020-07-18 05:12:19,640 INFO L280 TraceCheckUtils]: 7: Hoare triple {612#true} havoc #t~nondet29; {612#true} is VALID [2020-07-18 05:12:19,640 INFO L280 TraceCheckUtils]: 8: Hoare triple {612#true} #res.base, #res.offset := 0, 0; {612#true} is VALID [2020-07-18 05:12:19,640 INFO L280 TraceCheckUtils]: 9: Hoare triple {612#true} assume true; {612#true} is VALID [2020-07-18 05:12:19,640 INFO L275 TraceCheckUtils]: 10: Hoare quadruple {612#true} {612#true} #91#return; {612#true} is VALID [2020-07-18 05:12:19,641 INFO L280 TraceCheckUtils]: 0: Hoare triple {661#(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; {612#true} is VALID [2020-07-18 05:12:19,642 INFO L263 TraceCheckUtils]: 1: Hoare triple {612#true} call #t~ret30.base, #t~ret30.offset := __getMemory(~size); {661#(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-18 05:12:19,642 INFO L280 TraceCheckUtils]: 2: Hoare triple {661#(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; {612#true} is VALID [2020-07-18 05:12:19,642 INFO L280 TraceCheckUtils]: 3: Hoare triple {612#true} assume ~size > 0; {612#true} is VALID [2020-07-18 05:12:19,643 INFO L280 TraceCheckUtils]: 4: Hoare triple {612#true} #t~post28.base, #t~post28.offset := ~guard_malloc_counter~0.base, ~guard_malloc_counter~0.offset; {612#true} is VALID [2020-07-18 05:12:19,643 INFO L280 TraceCheckUtils]: 5: Hoare triple {612#true} ~guard_malloc_counter~0.base, ~guard_malloc_counter~0.offset := #t~post28.base, 1 + #t~post28.offset; {612#true} is VALID [2020-07-18 05:12:19,643 INFO L280 TraceCheckUtils]: 6: Hoare triple {612#true} havoc #t~post28.base, #t~post28.offset; {612#true} is VALID [2020-07-18 05:12:19,643 INFO L280 TraceCheckUtils]: 7: Hoare triple {612#true} assume -2147483648 <= #t~nondet29 && #t~nondet29 <= 2147483647; {612#true} is VALID [2020-07-18 05:12:19,644 INFO L280 TraceCheckUtils]: 8: Hoare triple {612#true} assume 0 == #t~nondet29; {612#true} is VALID [2020-07-18 05:12:19,644 INFO L280 TraceCheckUtils]: 9: Hoare triple {612#true} havoc #t~nondet29; {612#true} is VALID [2020-07-18 05:12:19,644 INFO L280 TraceCheckUtils]: 10: Hoare triple {612#true} #res.base, #res.offset := 0, 0; {612#true} is VALID [2020-07-18 05:12:19,645 INFO L280 TraceCheckUtils]: 11: Hoare triple {612#true} assume true; {612#true} is VALID [2020-07-18 05:12:19,645 INFO L275 TraceCheckUtils]: 12: Hoare quadruple {612#true} {612#true} #91#return; {612#true} is VALID [2020-07-18 05:12:19,645 INFO L280 TraceCheckUtils]: 13: Hoare triple {612#true} #res.base, #res.offset := #t~ret30.base, #t~ret30.offset; {612#true} is VALID [2020-07-18 05:12:19,645 INFO L280 TraceCheckUtils]: 14: Hoare triple {612#true} havoc #t~ret30.base, #t~ret30.offset; {612#true} is VALID [2020-07-18 05:12:19,646 INFO L280 TraceCheckUtils]: 15: Hoare triple {612#true} assume true; {612#true} is VALID [2020-07-18 05:12:19,647 INFO L275 TraceCheckUtils]: 16: Hoare quadruple {612#true} {642#(and (= 0 main_~dev1~0.base) (= 0 main_~dev1~0.offset))} #95#return; {642#(and (= 0 main_~dev1~0.base) (= 0 main_~dev1~0.offset))} is VALID [2020-07-18 05:12:19,649 INFO L263 TraceCheckUtils]: 0: Hoare triple {612#true} call ULTIMATE.init(); {660#(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-18 05:12:19,649 INFO L280 TraceCheckUtils]: 1: Hoare triple {660#(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; {612#true} is VALID [2020-07-18 05:12:19,649 INFO L280 TraceCheckUtils]: 2: Hoare triple {612#true} #valid := #valid[0 := 0]; {612#true} is VALID [2020-07-18 05:12:19,649 INFO L280 TraceCheckUtils]: 3: Hoare triple {612#true} assume 0 < #StackHeapBarrier; {612#true} is VALID [2020-07-18 05:12:19,650 INFO L280 TraceCheckUtils]: 4: Hoare triple {612#true} ~guard_malloc_counter~0.base, ~guard_malloc_counter~0.offset := 0, 0; {612#true} is VALID [2020-07-18 05:12:19,650 INFO L280 TraceCheckUtils]: 5: Hoare triple {612#true} ~elem~0.base, ~elem~0.offset := 0, 0; {612#true} is VALID [2020-07-18 05:12:19,650 INFO L280 TraceCheckUtils]: 6: Hoare triple {612#true} SUMMARY for call ~#head~0.base, ~#head~0.offset := #Ultimate.allocOnStack(8); srcloc: L900 {612#true} is VALID [2020-07-18 05:12:19,651 INFO L280 TraceCheckUtils]: 7: Hoare triple {612#true} SUMMARY for call write~init~$Pointer$(0, 0, ~#head~0.base, ~#head~0.offset, 4); srcloc: L900-1 {612#true} is VALID [2020-07-18 05:12:19,651 INFO L280 TraceCheckUtils]: 8: Hoare triple {612#true} SUMMARY for call write~init~$Pointer$(0, 0, ~#head~0.base, 4 + ~#head~0.offset, 4); srcloc: L900-2 {612#true} is VALID [2020-07-18 05:12:19,651 INFO L280 TraceCheckUtils]: 9: Hoare triple {612#true} assume true; {612#true} is VALID [2020-07-18 05:12:19,651 INFO L275 TraceCheckUtils]: 10: Hoare quadruple {612#true} {612#true} #109#return; {612#true} is VALID [2020-07-18 05:12:19,652 INFO L263 TraceCheckUtils]: 11: Hoare triple {612#true} call #t~ret34 := main(); {612#true} is VALID [2020-07-18 05:12:19,652 INFO L280 TraceCheckUtils]: 12: Hoare triple {612#true} havoc ~dev1~0.base, ~dev1~0.offset; {612#true} is VALID [2020-07-18 05:12:19,652 INFO L280 TraceCheckUtils]: 13: Hoare triple {612#true} havoc ~dev2~0.base, ~dev2~0.offset; {612#true} is VALID [2020-07-18 05:12:19,653 INFO L263 TraceCheckUtils]: 14: Hoare triple {612#true} call #t~ret32.base, #t~ret32.offset := my_malloc(8); {661#(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-18 05:12:19,653 INFO L280 TraceCheckUtils]: 15: Hoare triple {661#(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; {612#true} is VALID [2020-07-18 05:12:19,654 INFO L263 TraceCheckUtils]: 16: Hoare triple {612#true} call #t~ret30.base, #t~ret30.offset := __getMemory(~size); {661#(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-18 05:12:19,655 INFO L280 TraceCheckUtils]: 17: Hoare triple {661#(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; {612#true} is VALID [2020-07-18 05:12:19,655 INFO L280 TraceCheckUtils]: 18: Hoare triple {612#true} assume ~size > 0; {612#true} is VALID [2020-07-18 05:12:19,655 INFO L280 TraceCheckUtils]: 19: Hoare triple {612#true} #t~post28.base, #t~post28.offset := ~guard_malloc_counter~0.base, ~guard_malloc_counter~0.offset; {612#true} is VALID [2020-07-18 05:12:19,655 INFO L280 TraceCheckUtils]: 20: Hoare triple {612#true} ~guard_malloc_counter~0.base, ~guard_malloc_counter~0.offset := #t~post28.base, 1 + #t~post28.offset; {612#true} is VALID [2020-07-18 05:12:19,656 INFO L280 TraceCheckUtils]: 21: Hoare triple {612#true} havoc #t~post28.base, #t~post28.offset; {612#true} is VALID [2020-07-18 05:12:19,656 INFO L280 TraceCheckUtils]: 22: Hoare triple {612#true} assume -2147483648 <= #t~nondet29 && #t~nondet29 <= 2147483647; {612#true} is VALID [2020-07-18 05:12:19,656 INFO L280 TraceCheckUtils]: 23: Hoare triple {612#true} assume 0 == #t~nondet29; {612#true} is VALID [2020-07-18 05:12:19,657 INFO L280 TraceCheckUtils]: 24: Hoare triple {612#true} havoc #t~nondet29; {612#true} is VALID [2020-07-18 05:12:19,658 INFO L280 TraceCheckUtils]: 25: Hoare triple {612#true} #res.base, #res.offset := 0, 0; {675#(and (<= |__getMemory_#res.base| 0) (<= |__getMemory_#res.offset| 0) (<= 0 |__getMemory_#res.offset|) (<= 0 |__getMemory_#res.base|))} is VALID [2020-07-18 05:12:19,658 INFO L280 TraceCheckUtils]: 26: Hoare triple {675#(and (<= |__getMemory_#res.base| 0) (<= |__getMemory_#res.offset| 0) (<= 0 |__getMemory_#res.offset|) (<= 0 |__getMemory_#res.base|))} assume true; {675#(and (<= |__getMemory_#res.base| 0) (<= |__getMemory_#res.offset| 0) (<= 0 |__getMemory_#res.offset|) (<= 0 |__getMemory_#res.base|))} is VALID [2020-07-18 05:12:19,660 INFO L275 TraceCheckUtils]: 27: Hoare quadruple {675#(and (<= |__getMemory_#res.base| 0) (<= |__getMemory_#res.offset| 0) (<= 0 |__getMemory_#res.offset|) (<= 0 |__getMemory_#res.base|))} {612#true} #91#return; {673#(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-18 05:12:19,661 INFO L280 TraceCheckUtils]: 28: Hoare triple {673#(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; {674#(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-18 05:12:19,661 INFO L280 TraceCheckUtils]: 29: Hoare triple {674#(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; {674#(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-18 05:12:19,662 INFO L280 TraceCheckUtils]: 30: Hoare triple {674#(and (<= |my_malloc_#res.base| 0) (<= |my_malloc_#res.offset| 0) (<= 0 |my_malloc_#res.base|) (<= 0 |my_malloc_#res.offset|))} assume true; {674#(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-18 05:12:19,664 INFO L275 TraceCheckUtils]: 31: Hoare quadruple {674#(and (<= |my_malloc_#res.base| 0) (<= |my_malloc_#res.offset| 0) (<= 0 |my_malloc_#res.base|) (<= 0 |my_malloc_#res.offset|))} {612#true} #93#return; {641#(and (= 0 |main_#t~ret32.base|) (= |main_#t~ret32.offset| 0))} is VALID [2020-07-18 05:12:19,665 INFO L280 TraceCheckUtils]: 32: Hoare triple {641#(and (= 0 |main_#t~ret32.base|) (= |main_#t~ret32.offset| 0))} ~dev1~0.base, ~dev1~0.offset := #t~ret32.base, #t~ret32.offset; {642#(and (= 0 main_~dev1~0.base) (= 0 main_~dev1~0.offset))} is VALID [2020-07-18 05:12:19,666 INFO L280 TraceCheckUtils]: 33: Hoare triple {642#(and (= 0 main_~dev1~0.base) (= 0 main_~dev1~0.offset))} havoc #t~ret32.base, #t~ret32.offset; {642#(and (= 0 main_~dev1~0.base) (= 0 main_~dev1~0.offset))} is VALID [2020-07-18 05:12:19,700 INFO L263 TraceCheckUtils]: 34: Hoare triple {642#(and (= 0 main_~dev1~0.base) (= 0 main_~dev1~0.offset))} call #t~ret33.base, #t~ret33.offset := my_malloc(8); {661#(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-18 05:12:19,700 INFO L280 TraceCheckUtils]: 35: Hoare triple {661#(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; {612#true} is VALID [2020-07-18 05:12:19,707 INFO L263 TraceCheckUtils]: 36: Hoare triple {612#true} call #t~ret30.base, #t~ret30.offset := __getMemory(~size); {661#(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-18 05:12:19,707 INFO L280 TraceCheckUtils]: 37: Hoare triple {661#(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; {612#true} is VALID [2020-07-18 05:12:19,707 INFO L280 TraceCheckUtils]: 38: Hoare triple {612#true} assume ~size > 0; {612#true} is VALID [2020-07-18 05:12:19,708 INFO L280 TraceCheckUtils]: 39: Hoare triple {612#true} #t~post28.base, #t~post28.offset := ~guard_malloc_counter~0.base, ~guard_malloc_counter~0.offset; {612#true} is VALID [2020-07-18 05:12:19,708 INFO L280 TraceCheckUtils]: 40: Hoare triple {612#true} ~guard_malloc_counter~0.base, ~guard_malloc_counter~0.offset := #t~post28.base, 1 + #t~post28.offset; {612#true} is VALID [2020-07-18 05:12:19,708 INFO L280 TraceCheckUtils]: 41: Hoare triple {612#true} havoc #t~post28.base, #t~post28.offset; {612#true} is VALID [2020-07-18 05:12:19,709 INFO L280 TraceCheckUtils]: 42: Hoare triple {612#true} assume -2147483648 <= #t~nondet29 && #t~nondet29 <= 2147483647; {612#true} is VALID [2020-07-18 05:12:19,709 INFO L280 TraceCheckUtils]: 43: Hoare triple {612#true} assume 0 == #t~nondet29; {612#true} is VALID [2020-07-18 05:12:19,709 INFO L280 TraceCheckUtils]: 44: Hoare triple {612#true} havoc #t~nondet29; {612#true} is VALID [2020-07-18 05:12:19,709 INFO L280 TraceCheckUtils]: 45: Hoare triple {612#true} #res.base, #res.offset := 0, 0; {612#true} is VALID [2020-07-18 05:12:19,710 INFO L280 TraceCheckUtils]: 46: Hoare triple {612#true} assume true; {612#true} is VALID [2020-07-18 05:12:19,710 INFO L275 TraceCheckUtils]: 47: Hoare quadruple {612#true} {612#true} #91#return; {612#true} is VALID [2020-07-18 05:12:19,710 INFO L280 TraceCheckUtils]: 48: Hoare triple {612#true} #res.base, #res.offset := #t~ret30.base, #t~ret30.offset; {612#true} is VALID [2020-07-18 05:12:19,710 INFO L280 TraceCheckUtils]: 49: Hoare triple {612#true} havoc #t~ret30.base, #t~ret30.offset; {612#true} is VALID [2020-07-18 05:12:19,711 INFO L280 TraceCheckUtils]: 50: Hoare triple {612#true} assume true; {612#true} is VALID [2020-07-18 05:12:19,722 INFO L275 TraceCheckUtils]: 51: Hoare quadruple {612#true} {642#(and (= 0 main_~dev1~0.base) (= 0 main_~dev1~0.offset))} #95#return; {642#(and (= 0 main_~dev1~0.base) (= 0 main_~dev1~0.offset))} is VALID [2020-07-18 05:12:19,727 INFO L280 TraceCheckUtils]: 52: Hoare triple {642#(and (= 0 main_~dev1~0.base) (= 0 main_~dev1~0.offset))} ~dev2~0.base, ~dev2~0.offset := #t~ret33.base, #t~ret33.offset; {642#(and (= 0 main_~dev1~0.base) (= 0 main_~dev1~0.offset))} is VALID [2020-07-18 05:12:19,728 INFO L280 TraceCheckUtils]: 53: Hoare triple {642#(and (= 0 main_~dev1~0.base) (= 0 main_~dev1~0.offset))} havoc #t~ret33.base, #t~ret33.offset; {642#(and (= 0 main_~dev1~0.base) (= 0 main_~dev1~0.offset))} is VALID [2020-07-18 05:12:19,729 INFO L280 TraceCheckUtils]: 54: Hoare triple {642#(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); {613#false} is VALID [2020-07-18 05:12:19,729 INFO L263 TraceCheckUtils]: 55: Hoare triple {613#false} call list_add(~dev2~0.base, ~dev2~0.offset, ~#head~0.base, ~#head~0.offset); {613#false} is VALID [2020-07-18 05:12:19,729 INFO L280 TraceCheckUtils]: 56: Hoare triple {613#false} ~new.base, ~new.offset := #in~new.base, #in~new.offset; {613#false} is VALID [2020-07-18 05:12:19,730 INFO L280 TraceCheckUtils]: 57: Hoare triple {613#false} ~head.base, ~head.offset := #in~head.base, #in~head.offset; {613#false} is VALID [2020-07-18 05:12:19,730 INFO L280 TraceCheckUtils]: 58: Hoare triple {613#false} assume !(~new.base != ~elem~0.base || ~new.offset != ~elem~0.offset); {613#false} is VALID [2020-07-18 05:12:19,730 INFO L263 TraceCheckUtils]: 59: Hoare triple {613#false} call __blast_assert(); {613#false} is VALID [2020-07-18 05:12:19,731 INFO L280 TraceCheckUtils]: 60: Hoare triple {613#false} assume !false; {613#false} is VALID [2020-07-18 05:12:19,742 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-18 05:12:19,742 INFO L354 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModulePreferences [1427181520] [2020-07-18 05:12:19,743 INFO L220 FreeRefinementEngine]: Constructing automaton from 0 perfect and 1 imperfect interpolant sequences. [2020-07-18 05:12:19,743 INFO L233 FreeRefinementEngine]: Number of different interpolants: perfect sequences [] imperfect sequences [9] total 9 [2020-07-18 05:12:19,743 INFO L156 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [599749083] [2020-07-18 05:12:19,748 INFO L78 Accepts]: Start accepts. Automaton has 9 states. Word has length 61 [2020-07-18 05:12:19,749 INFO L84 Accepts]: Finished accepts. word is accepted. [2020-07-18 05:12:19,749 INFO L86 InductivityCheck]: Starting indutivity check of a Floyd-Hoare automaton with 9 states. [2020-07-18 05:12:19,811 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-18 05:12:19,812 INFO L459 AbstractCegarLoop]: Interpolant automaton has 9 states [2020-07-18 05:12:19,812 INFO L143 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy FIXED_PREFERENCES [2020-07-18 05:12:19,812 INFO L142 InterpolantAutomaton]: Constructing interpolant automaton starting with 9 interpolants. [2020-07-18 05:12:19,813 INFO L144 InterpolantAutomaton]: CoverageRelationStatistics Valid=16, Invalid=56, Unknown=0, NotChecked=0, Total=72 [2020-07-18 05:12:19,813 INFO L87 Difference]: Start difference. First operand 62 states and 67 transitions. Second operand 9 states. [2020-07-18 05:12:20,993 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2020-07-18 05:12:20,994 INFO L93 Difference]: Finished difference Result 100 states and 112 transitions. [2020-07-18 05:12:20,994 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 11 states. [2020-07-18 05:12:20,994 INFO L78 Accepts]: Start accepts. Automaton has 9 states. Word has length 61 [2020-07-18 05:12:20,995 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2020-07-18 05:12:20,995 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 9 states. [2020-07-18 05:12:21,004 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 11 states to 11 states and 112 transitions. [2020-07-18 05:12:21,005 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 9 states. [2020-07-18 05:12:21,018 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 11 states to 11 states and 112 transitions. [2020-07-18 05:12:21,019 INFO L86 InductivityCheck]: Starting indutivity check of a Floyd-Hoare automaton with 11 states and 112 transitions. [2020-07-18 05:12:21,181 INFO L119 InductivityCheck]: Floyd-Hoare automaton has 112 edges. 112 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2020-07-18 05:12:21,185 INFO L225 Difference]: With dead ends: 100 [2020-07-18 05:12:21,186 INFO L226 Difference]: Without dead ends: 72 [2020-07-18 05:12:21,187 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-18 05:12:21,188 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 72 states. [2020-07-18 05:12:21,364 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 72 to 68. [2020-07-18 05:12:21,365 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2020-07-18 05:12:21,365 INFO L82 GeneralOperation]: Start isEquivalent. First operand 72 states. Second operand 68 states. [2020-07-18 05:12:21,365 INFO L74 IsIncluded]: Start isIncluded. First operand 72 states. Second operand 68 states. [2020-07-18 05:12:21,365 INFO L87 Difference]: Start difference. First operand 72 states. Second operand 68 states. [2020-07-18 05:12:21,370 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2020-07-18 05:12:21,370 INFO L93 Difference]: Finished difference Result 72 states and 78 transitions. [2020-07-18 05:12:21,371 INFO L276 IsEmpty]: Start isEmpty. Operand 72 states and 78 transitions. [2020-07-18 05:12:21,372 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2020-07-18 05:12:21,372 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2020-07-18 05:12:21,372 INFO L74 IsIncluded]: Start isIncluded. First operand 68 states. Second operand 72 states. [2020-07-18 05:12:21,372 INFO L87 Difference]: Start difference. First operand 68 states. Second operand 72 states. [2020-07-18 05:12:21,377 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2020-07-18 05:12:21,377 INFO L93 Difference]: Finished difference Result 72 states and 78 transitions. [2020-07-18 05:12:21,378 INFO L276 IsEmpty]: Start isEmpty. Operand 72 states and 78 transitions. [2020-07-18 05:12:21,379 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2020-07-18 05:12:21,379 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2020-07-18 05:12:21,379 INFO L88 GeneralOperation]: Finished isEquivalent. [2020-07-18 05:12:21,379 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2020-07-18 05:12:21,379 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 68 states. [2020-07-18 05:12:21,383 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 68 states to 68 states and 73 transitions. [2020-07-18 05:12:21,383 INFO L78 Accepts]: Start accepts. Automaton has 68 states and 73 transitions. Word has length 61 [2020-07-18 05:12:21,384 INFO L84 Accepts]: Finished accepts. word is rejected. [2020-07-18 05:12:21,384 INFO L479 AbstractCegarLoop]: Abstraction has 68 states and 73 transitions. [2020-07-18 05:12:21,384 INFO L480 AbstractCegarLoop]: Interpolant automaton has 9 states. [2020-07-18 05:12:21,384 INFO L86 InductivityCheck]: Starting indutivity check of a Floyd-Hoare automaton with 68 states and 73 transitions. [2020-07-18 05:12:21,512 INFO L119 InductivityCheck]: Floyd-Hoare automaton has 73 edges. 73 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2020-07-18 05:12:21,512 INFO L276 IsEmpty]: Start isEmpty. Operand 68 states and 73 transitions. [2020-07-18 05:12:21,517 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 62 [2020-07-18 05:12:21,518 INFO L414 BasicCegarLoop]: Found error trace [2020-07-18 05:12:21,518 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-18 05:12:21,518 WARN L516 AbstractCegarLoop]: Destroyed unattended storables created during the last iteration: SelfDestructingSolverStorable1 [2020-07-18 05:12:21,518 INFO L427 AbstractCegarLoop]: === Iteration 3 === [__blast_assertErr0ASSERT_VIOLATIONERROR_FUNCTION]=== [2020-07-18 05:12:21,519 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2020-07-18 05:12:21,519 INFO L82 PathProgramCache]: Analyzing trace with hash 1531514875, now seen corresponding path program 1 times [2020-07-18 05:12:21,519 INFO L163 FreeRefinementEngine]: Executing refinement strategy FIXED_PREFERENCES [2020-07-18 05:12:21,521 INFO L354 FreeRefinementEngine]: Using trace check IpTcStrategyModulePreferences [1791252696] [2020-07-18 05:12:21,521 INFO L94 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2020-07-18 05:12:21,573 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2020-07-18 05:12:21,771 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2020-07-18 05:12:21,801 INFO L280 TraceCheckUtils]: 0: Hoare triple {1225#(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; {1173#true} is VALID [2020-07-18 05:12:21,801 INFO L280 TraceCheckUtils]: 1: Hoare triple {1173#true} #valid := #valid[0 := 0]; {1173#true} is VALID [2020-07-18 05:12:21,801 INFO L280 TraceCheckUtils]: 2: Hoare triple {1173#true} assume 0 < #StackHeapBarrier; {1173#true} is VALID [2020-07-18 05:12:21,802 INFO L280 TraceCheckUtils]: 3: Hoare triple {1173#true} ~guard_malloc_counter~0.base, ~guard_malloc_counter~0.offset := 0, 0; {1226#(= 0 ~guard_malloc_counter~0.offset)} is VALID [2020-07-18 05:12:21,802 INFO L280 TraceCheckUtils]: 4: Hoare triple {1226#(= 0 ~guard_malloc_counter~0.offset)} ~elem~0.base, ~elem~0.offset := 0, 0; {1185#(and (= 0 ~elem~0.offset) (= 0 ~guard_malloc_counter~0.offset))} is VALID [2020-07-18 05:12:21,803 INFO L280 TraceCheckUtils]: 5: Hoare triple {1185#(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 {1185#(and (= 0 ~elem~0.offset) (= 0 ~guard_malloc_counter~0.offset))} is VALID [2020-07-18 05:12:21,804 INFO L280 TraceCheckUtils]: 6: Hoare triple {1185#(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 {1185#(and (= 0 ~elem~0.offset) (= 0 ~guard_malloc_counter~0.offset))} is VALID [2020-07-18 05:12:21,804 INFO L280 TraceCheckUtils]: 7: Hoare triple {1185#(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 {1185#(and (= 0 ~elem~0.offset) (= 0 ~guard_malloc_counter~0.offset))} is VALID [2020-07-18 05:12:21,805 INFO L280 TraceCheckUtils]: 8: Hoare triple {1185#(and (= 0 ~elem~0.offset) (= 0 ~guard_malloc_counter~0.offset))} assume true; {1185#(and (= 0 ~elem~0.offset) (= 0 ~guard_malloc_counter~0.offset))} is VALID [2020-07-18 05:12:21,806 INFO L275 TraceCheckUtils]: 9: Hoare quadruple {1185#(and (= 0 ~elem~0.offset) (= 0 ~guard_malloc_counter~0.offset))} {1173#true} #109#return; {1185#(and (= 0 ~elem~0.offset) (= 0 ~guard_malloc_counter~0.offset))} is VALID [2020-07-18 05:12:21,836 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2020-07-18 05:12:21,897 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2020-07-18 05:12:21,936 INFO L280 TraceCheckUtils]: 0: Hoare triple {1227#(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; {1228#(= ~guard_malloc_counter~0.offset |old(~guard_malloc_counter~0.offset)|)} is VALID [2020-07-18 05:12:21,937 INFO L280 TraceCheckUtils]: 1: Hoare triple {1228#(= ~guard_malloc_counter~0.offset |old(~guard_malloc_counter~0.offset)|)} assume ~size > 0; {1228#(= ~guard_malloc_counter~0.offset |old(~guard_malloc_counter~0.offset)|)} is VALID [2020-07-18 05:12:21,937 INFO L280 TraceCheckUtils]: 2: Hoare triple {1228#(= ~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; {1241#(= |old(~guard_malloc_counter~0.offset)| |__getMemory_#t~post28.offset|)} is VALID [2020-07-18 05:12:21,938 INFO L280 TraceCheckUtils]: 3: Hoare triple {1241#(= |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; {1240#(<= (+ |old(~guard_malloc_counter~0.offset)| 1) ~guard_malloc_counter~0.offset)} is VALID [2020-07-18 05:12:21,939 INFO L280 TraceCheckUtils]: 4: Hoare triple {1240#(<= (+ |old(~guard_malloc_counter~0.offset)| 1) ~guard_malloc_counter~0.offset)} havoc #t~post28.base, #t~post28.offset; {1240#(<= (+ |old(~guard_malloc_counter~0.offset)| 1) ~guard_malloc_counter~0.offset)} is VALID [2020-07-18 05:12:21,940 INFO L280 TraceCheckUtils]: 5: Hoare triple {1240#(<= (+ |old(~guard_malloc_counter~0.offset)| 1) ~guard_malloc_counter~0.offset)} assume -2147483648 <= #t~nondet29 && #t~nondet29 <= 2147483647; {1240#(<= (+ |old(~guard_malloc_counter~0.offset)| 1) ~guard_malloc_counter~0.offset)} is VALID [2020-07-18 05:12:21,940 INFO L280 TraceCheckUtils]: 6: Hoare triple {1240#(<= (+ |old(~guard_malloc_counter~0.offset)| 1) ~guard_malloc_counter~0.offset)} assume !(0 == #t~nondet29); {1240#(<= (+ |old(~guard_malloc_counter~0.offset)| 1) ~guard_malloc_counter~0.offset)} is VALID [2020-07-18 05:12:21,941 INFO L280 TraceCheckUtils]: 7: Hoare triple {1240#(<= (+ |old(~guard_malloc_counter~0.offset)| 1) ~guard_malloc_counter~0.offset)} havoc #t~nondet29; {1240#(<= (+ |old(~guard_malloc_counter~0.offset)| 1) ~guard_malloc_counter~0.offset)} is VALID [2020-07-18 05:12:21,942 INFO L280 TraceCheckUtils]: 8: Hoare triple {1240#(<= (+ |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; {1240#(<= (+ |old(~guard_malloc_counter~0.offset)| 1) ~guard_malloc_counter~0.offset)} is VALID [2020-07-18 05:12:21,942 INFO L280 TraceCheckUtils]: 9: Hoare triple {1240#(<= (+ |old(~guard_malloc_counter~0.offset)| 1) ~guard_malloc_counter~0.offset)} assume true; {1240#(<= (+ |old(~guard_malloc_counter~0.offset)| 1) ~guard_malloc_counter~0.offset)} is VALID [2020-07-18 05:12:21,944 INFO L275 TraceCheckUtils]: 10: Hoare quadruple {1240#(<= (+ |old(~guard_malloc_counter~0.offset)| 1) ~guard_malloc_counter~0.offset)} {1228#(= ~guard_malloc_counter~0.offset |old(~guard_malloc_counter~0.offset)|)} #91#return; {1240#(<= (+ |old(~guard_malloc_counter~0.offset)| 1) ~guard_malloc_counter~0.offset)} is VALID [2020-07-18 05:12:21,945 INFO L280 TraceCheckUtils]: 0: Hoare triple {1227#(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; {1228#(= ~guard_malloc_counter~0.offset |old(~guard_malloc_counter~0.offset)|)} is VALID [2020-07-18 05:12:21,945 INFO L263 TraceCheckUtils]: 1: Hoare triple {1228#(= ~guard_malloc_counter~0.offset |old(~guard_malloc_counter~0.offset)|)} call #t~ret30.base, #t~ret30.offset := __getMemory(~size); {1227#(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-18 05:12:21,946 INFO L280 TraceCheckUtils]: 2: Hoare triple {1227#(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; {1228#(= ~guard_malloc_counter~0.offset |old(~guard_malloc_counter~0.offset)|)} is VALID [2020-07-18 05:12:21,947 INFO L280 TraceCheckUtils]: 3: Hoare triple {1228#(= ~guard_malloc_counter~0.offset |old(~guard_malloc_counter~0.offset)|)} assume ~size > 0; {1228#(= ~guard_malloc_counter~0.offset |old(~guard_malloc_counter~0.offset)|)} is VALID [2020-07-18 05:12:21,947 INFO L280 TraceCheckUtils]: 4: Hoare triple {1228#(= ~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; {1241#(= |old(~guard_malloc_counter~0.offset)| |__getMemory_#t~post28.offset|)} is VALID [2020-07-18 05:12:21,948 INFO L280 TraceCheckUtils]: 5: Hoare triple {1241#(= |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; {1240#(<= (+ |old(~guard_malloc_counter~0.offset)| 1) ~guard_malloc_counter~0.offset)} is VALID [2020-07-18 05:12:21,949 INFO L280 TraceCheckUtils]: 6: Hoare triple {1240#(<= (+ |old(~guard_malloc_counter~0.offset)| 1) ~guard_malloc_counter~0.offset)} havoc #t~post28.base, #t~post28.offset; {1240#(<= (+ |old(~guard_malloc_counter~0.offset)| 1) ~guard_malloc_counter~0.offset)} is VALID [2020-07-18 05:12:21,949 INFO L280 TraceCheckUtils]: 7: Hoare triple {1240#(<= (+ |old(~guard_malloc_counter~0.offset)| 1) ~guard_malloc_counter~0.offset)} assume -2147483648 <= #t~nondet29 && #t~nondet29 <= 2147483647; {1240#(<= (+ |old(~guard_malloc_counter~0.offset)| 1) ~guard_malloc_counter~0.offset)} is VALID [2020-07-18 05:12:21,950 INFO L280 TraceCheckUtils]: 8: Hoare triple {1240#(<= (+ |old(~guard_malloc_counter~0.offset)| 1) ~guard_malloc_counter~0.offset)} assume !(0 == #t~nondet29); {1240#(<= (+ |old(~guard_malloc_counter~0.offset)| 1) ~guard_malloc_counter~0.offset)} is VALID [2020-07-18 05:12:21,950 INFO L280 TraceCheckUtils]: 9: Hoare triple {1240#(<= (+ |old(~guard_malloc_counter~0.offset)| 1) ~guard_malloc_counter~0.offset)} havoc #t~nondet29; {1240#(<= (+ |old(~guard_malloc_counter~0.offset)| 1) ~guard_malloc_counter~0.offset)} is VALID [2020-07-18 05:12:21,951 INFO L280 TraceCheckUtils]: 10: Hoare triple {1240#(<= (+ |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; {1240#(<= (+ |old(~guard_malloc_counter~0.offset)| 1) ~guard_malloc_counter~0.offset)} is VALID [2020-07-18 05:12:21,952 INFO L280 TraceCheckUtils]: 11: Hoare triple {1240#(<= (+ |old(~guard_malloc_counter~0.offset)| 1) ~guard_malloc_counter~0.offset)} assume true; {1240#(<= (+ |old(~guard_malloc_counter~0.offset)| 1) ~guard_malloc_counter~0.offset)} is VALID [2020-07-18 05:12:21,953 INFO L275 TraceCheckUtils]: 12: Hoare quadruple {1240#(<= (+ |old(~guard_malloc_counter~0.offset)| 1) ~guard_malloc_counter~0.offset)} {1228#(= ~guard_malloc_counter~0.offset |old(~guard_malloc_counter~0.offset)|)} #91#return; {1240#(<= (+ |old(~guard_malloc_counter~0.offset)| 1) ~guard_malloc_counter~0.offset)} is VALID [2020-07-18 05:12:21,954 INFO L280 TraceCheckUtils]: 13: Hoare triple {1240#(<= (+ |old(~guard_malloc_counter~0.offset)| 1) ~guard_malloc_counter~0.offset)} #res.base, #res.offset := #t~ret30.base, #t~ret30.offset; {1240#(<= (+ |old(~guard_malloc_counter~0.offset)| 1) ~guard_malloc_counter~0.offset)} is VALID [2020-07-18 05:12:21,954 INFO L280 TraceCheckUtils]: 14: Hoare triple {1240#(<= (+ |old(~guard_malloc_counter~0.offset)| 1) ~guard_malloc_counter~0.offset)} havoc #t~ret30.base, #t~ret30.offset; {1240#(<= (+ |old(~guard_malloc_counter~0.offset)| 1) ~guard_malloc_counter~0.offset)} is VALID [2020-07-18 05:12:21,955 INFO L280 TraceCheckUtils]: 15: Hoare triple {1240#(<= (+ |old(~guard_malloc_counter~0.offset)| 1) ~guard_malloc_counter~0.offset)} assume true; {1240#(<= (+ |old(~guard_malloc_counter~0.offset)| 1) ~guard_malloc_counter~0.offset)} is VALID [2020-07-18 05:12:21,956 INFO L275 TraceCheckUtils]: 16: Hoare quadruple {1240#(<= (+ |old(~guard_malloc_counter~0.offset)| 1) ~guard_malloc_counter~0.offset)} {1185#(and (= 0 ~elem~0.offset) (= 0 ~guard_malloc_counter~0.offset))} #93#return; {1203#(and (= 0 ~elem~0.offset) (<= 1 ~guard_malloc_counter~0.offset))} is VALID [2020-07-18 05:12:21,962 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2020-07-18 05:12:22,017 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2020-07-18 05:12:22,051 INFO L280 TraceCheckUtils]: 0: Hoare triple {1227#(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; {1228#(= ~guard_malloc_counter~0.offset |old(~guard_malloc_counter~0.offset)|)} is VALID [2020-07-18 05:12:22,052 INFO L280 TraceCheckUtils]: 1: Hoare triple {1228#(= ~guard_malloc_counter~0.offset |old(~guard_malloc_counter~0.offset)|)} assume ~size > 0; {1228#(= ~guard_malloc_counter~0.offset |old(~guard_malloc_counter~0.offset)|)} is VALID [2020-07-18 05:12:22,053 INFO L280 TraceCheckUtils]: 2: Hoare triple {1228#(= ~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; {1241#(= |old(~guard_malloc_counter~0.offset)| |__getMemory_#t~post28.offset|)} is VALID [2020-07-18 05:12:22,053 INFO L280 TraceCheckUtils]: 3: Hoare triple {1241#(= |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; {1240#(<= (+ |old(~guard_malloc_counter~0.offset)| 1) ~guard_malloc_counter~0.offset)} is VALID [2020-07-18 05:12:22,054 INFO L280 TraceCheckUtils]: 4: Hoare triple {1240#(<= (+ |old(~guard_malloc_counter~0.offset)| 1) ~guard_malloc_counter~0.offset)} havoc #t~post28.base, #t~post28.offset; {1240#(<= (+ |old(~guard_malloc_counter~0.offset)| 1) ~guard_malloc_counter~0.offset)} is VALID [2020-07-18 05:12:22,055 INFO L280 TraceCheckUtils]: 5: Hoare triple {1240#(<= (+ |old(~guard_malloc_counter~0.offset)| 1) ~guard_malloc_counter~0.offset)} assume -2147483648 <= #t~nondet29 && #t~nondet29 <= 2147483647; {1240#(<= (+ |old(~guard_malloc_counter~0.offset)| 1) ~guard_malloc_counter~0.offset)} is VALID [2020-07-18 05:12:22,056 INFO L280 TraceCheckUtils]: 6: Hoare triple {1240#(<= (+ |old(~guard_malloc_counter~0.offset)| 1) ~guard_malloc_counter~0.offset)} assume !(0 == #t~nondet29); {1240#(<= (+ |old(~guard_malloc_counter~0.offset)| 1) ~guard_malloc_counter~0.offset)} is VALID [2020-07-18 05:12:22,061 INFO L280 TraceCheckUtils]: 7: Hoare triple {1240#(<= (+ |old(~guard_malloc_counter~0.offset)| 1) ~guard_malloc_counter~0.offset)} havoc #t~nondet29; {1240#(<= (+ |old(~guard_malloc_counter~0.offset)| 1) ~guard_malloc_counter~0.offset)} is VALID [2020-07-18 05:12:22,061 INFO L280 TraceCheckUtils]: 8: Hoare triple {1240#(<= (+ |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; {1255#(<= (+ |old(~guard_malloc_counter~0.offset)| 1) |__getMemory_#res.offset|)} is VALID [2020-07-18 05:12:22,062 INFO L280 TraceCheckUtils]: 9: Hoare triple {1255#(<= (+ |old(~guard_malloc_counter~0.offset)| 1) |__getMemory_#res.offset|)} assume true; {1255#(<= (+ |old(~guard_malloc_counter~0.offset)| 1) |__getMemory_#res.offset|)} is VALID [2020-07-18 05:12:22,063 INFO L275 TraceCheckUtils]: 10: Hoare quadruple {1255#(<= (+ |old(~guard_malloc_counter~0.offset)| 1) |__getMemory_#res.offset|)} {1228#(= ~guard_malloc_counter~0.offset |old(~guard_malloc_counter~0.offset)|)} #91#return; {1253#(<= (+ |old(~guard_malloc_counter~0.offset)| 1) |my_malloc_#t~ret30.offset|)} is VALID [2020-07-18 05:12:22,064 INFO L280 TraceCheckUtils]: 0: Hoare triple {1227#(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; {1228#(= ~guard_malloc_counter~0.offset |old(~guard_malloc_counter~0.offset)|)} is VALID [2020-07-18 05:12:22,065 INFO L263 TraceCheckUtils]: 1: Hoare triple {1228#(= ~guard_malloc_counter~0.offset |old(~guard_malloc_counter~0.offset)|)} call #t~ret30.base, #t~ret30.offset := __getMemory(~size); {1227#(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-18 05:12:22,065 INFO L280 TraceCheckUtils]: 2: Hoare triple {1227#(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; {1228#(= ~guard_malloc_counter~0.offset |old(~guard_malloc_counter~0.offset)|)} is VALID [2020-07-18 05:12:22,066 INFO L280 TraceCheckUtils]: 3: Hoare triple {1228#(= ~guard_malloc_counter~0.offset |old(~guard_malloc_counter~0.offset)|)} assume ~size > 0; {1228#(= ~guard_malloc_counter~0.offset |old(~guard_malloc_counter~0.offset)|)} is VALID [2020-07-18 05:12:22,067 INFO L280 TraceCheckUtils]: 4: Hoare triple {1228#(= ~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; {1241#(= |old(~guard_malloc_counter~0.offset)| |__getMemory_#t~post28.offset|)} is VALID [2020-07-18 05:12:22,067 INFO L280 TraceCheckUtils]: 5: Hoare triple {1241#(= |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; {1240#(<= (+ |old(~guard_malloc_counter~0.offset)| 1) ~guard_malloc_counter~0.offset)} is VALID [2020-07-18 05:12:22,068 INFO L280 TraceCheckUtils]: 6: Hoare triple {1240#(<= (+ |old(~guard_malloc_counter~0.offset)| 1) ~guard_malloc_counter~0.offset)} havoc #t~post28.base, #t~post28.offset; {1240#(<= (+ |old(~guard_malloc_counter~0.offset)| 1) ~guard_malloc_counter~0.offset)} is VALID [2020-07-18 05:12:22,068 INFO L280 TraceCheckUtils]: 7: Hoare triple {1240#(<= (+ |old(~guard_malloc_counter~0.offset)| 1) ~guard_malloc_counter~0.offset)} assume -2147483648 <= #t~nondet29 && #t~nondet29 <= 2147483647; {1240#(<= (+ |old(~guard_malloc_counter~0.offset)| 1) ~guard_malloc_counter~0.offset)} is VALID [2020-07-18 05:12:22,069 INFO L280 TraceCheckUtils]: 8: Hoare triple {1240#(<= (+ |old(~guard_malloc_counter~0.offset)| 1) ~guard_malloc_counter~0.offset)} assume !(0 == #t~nondet29); {1240#(<= (+ |old(~guard_malloc_counter~0.offset)| 1) ~guard_malloc_counter~0.offset)} is VALID [2020-07-18 05:12:22,070 INFO L280 TraceCheckUtils]: 9: Hoare triple {1240#(<= (+ |old(~guard_malloc_counter~0.offset)| 1) ~guard_malloc_counter~0.offset)} havoc #t~nondet29; {1240#(<= (+ |old(~guard_malloc_counter~0.offset)| 1) ~guard_malloc_counter~0.offset)} is VALID [2020-07-18 05:12:22,070 INFO L280 TraceCheckUtils]: 10: Hoare triple {1240#(<= (+ |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; {1255#(<= (+ |old(~guard_malloc_counter~0.offset)| 1) |__getMemory_#res.offset|)} is VALID [2020-07-18 05:12:22,071 INFO L280 TraceCheckUtils]: 11: Hoare triple {1255#(<= (+ |old(~guard_malloc_counter~0.offset)| 1) |__getMemory_#res.offset|)} assume true; {1255#(<= (+ |old(~guard_malloc_counter~0.offset)| 1) |__getMemory_#res.offset|)} is VALID [2020-07-18 05:12:22,072 INFO L275 TraceCheckUtils]: 12: Hoare quadruple {1255#(<= (+ |old(~guard_malloc_counter~0.offset)| 1) |__getMemory_#res.offset|)} {1228#(= ~guard_malloc_counter~0.offset |old(~guard_malloc_counter~0.offset)|)} #91#return; {1253#(<= (+ |old(~guard_malloc_counter~0.offset)| 1) |my_malloc_#t~ret30.offset|)} is VALID [2020-07-18 05:12:22,073 INFO L280 TraceCheckUtils]: 13: Hoare triple {1253#(<= (+ |old(~guard_malloc_counter~0.offset)| 1) |my_malloc_#t~ret30.offset|)} #res.base, #res.offset := #t~ret30.base, #t~ret30.offset; {1254#(<= (+ |old(~guard_malloc_counter~0.offset)| 1) |my_malloc_#res.offset|)} is VALID [2020-07-18 05:12:22,073 INFO L280 TraceCheckUtils]: 14: Hoare triple {1254#(<= (+ |old(~guard_malloc_counter~0.offset)| 1) |my_malloc_#res.offset|)} havoc #t~ret30.base, #t~ret30.offset; {1254#(<= (+ |old(~guard_malloc_counter~0.offset)| 1) |my_malloc_#res.offset|)} is VALID [2020-07-18 05:12:22,081 INFO L280 TraceCheckUtils]: 15: Hoare triple {1254#(<= (+ |old(~guard_malloc_counter~0.offset)| 1) |my_malloc_#res.offset|)} assume true; {1254#(<= (+ |old(~guard_malloc_counter~0.offset)| 1) |my_malloc_#res.offset|)} is VALID [2020-07-18 05:12:22,082 INFO L275 TraceCheckUtils]: 16: Hoare quadruple {1254#(<= (+ |old(~guard_malloc_counter~0.offset)| 1) |my_malloc_#res.offset|)} {1203#(and (= 0 ~elem~0.offset) (<= 1 ~guard_malloc_counter~0.offset))} #95#return; {1221#(and (= 0 ~elem~0.offset) (<= 2 |main_#t~ret33.offset|))} is VALID [2020-07-18 05:12:22,084 INFO L263 TraceCheckUtils]: 0: Hoare triple {1173#true} call ULTIMATE.init(); {1225#(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-18 05:12:22,085 INFO L280 TraceCheckUtils]: 1: Hoare triple {1225#(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; {1173#true} is VALID [2020-07-18 05:12:22,085 INFO L280 TraceCheckUtils]: 2: Hoare triple {1173#true} #valid := #valid[0 := 0]; {1173#true} is VALID [2020-07-18 05:12:22,085 INFO L280 TraceCheckUtils]: 3: Hoare triple {1173#true} assume 0 < #StackHeapBarrier; {1173#true} is VALID [2020-07-18 05:12:22,086 INFO L280 TraceCheckUtils]: 4: Hoare triple {1173#true} ~guard_malloc_counter~0.base, ~guard_malloc_counter~0.offset := 0, 0; {1226#(= 0 ~guard_malloc_counter~0.offset)} is VALID [2020-07-18 05:12:22,087 INFO L280 TraceCheckUtils]: 5: Hoare triple {1226#(= 0 ~guard_malloc_counter~0.offset)} ~elem~0.base, ~elem~0.offset := 0, 0; {1185#(and (= 0 ~elem~0.offset) (= 0 ~guard_malloc_counter~0.offset))} is VALID [2020-07-18 05:12:22,087 INFO L280 TraceCheckUtils]: 6: Hoare triple {1185#(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 {1185#(and (= 0 ~elem~0.offset) (= 0 ~guard_malloc_counter~0.offset))} is VALID [2020-07-18 05:12:22,088 INFO L280 TraceCheckUtils]: 7: Hoare triple {1185#(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 {1185#(and (= 0 ~elem~0.offset) (= 0 ~guard_malloc_counter~0.offset))} is VALID [2020-07-18 05:12:22,089 INFO L280 TraceCheckUtils]: 8: Hoare triple {1185#(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 {1185#(and (= 0 ~elem~0.offset) (= 0 ~guard_malloc_counter~0.offset))} is VALID [2020-07-18 05:12:22,090 INFO L280 TraceCheckUtils]: 9: Hoare triple {1185#(and (= 0 ~elem~0.offset) (= 0 ~guard_malloc_counter~0.offset))} assume true; {1185#(and (= 0 ~elem~0.offset) (= 0 ~guard_malloc_counter~0.offset))} is VALID [2020-07-18 05:12:22,090 INFO L275 TraceCheckUtils]: 10: Hoare quadruple {1185#(and (= 0 ~elem~0.offset) (= 0 ~guard_malloc_counter~0.offset))} {1173#true} #109#return; {1185#(and (= 0 ~elem~0.offset) (= 0 ~guard_malloc_counter~0.offset))} is VALID [2020-07-18 05:12:22,091 INFO L263 TraceCheckUtils]: 11: Hoare triple {1185#(and (= 0 ~elem~0.offset) (= 0 ~guard_malloc_counter~0.offset))} call #t~ret34 := main(); {1185#(and (= 0 ~elem~0.offset) (= 0 ~guard_malloc_counter~0.offset))} is VALID [2020-07-18 05:12:22,092 INFO L280 TraceCheckUtils]: 12: Hoare triple {1185#(and (= 0 ~elem~0.offset) (= 0 ~guard_malloc_counter~0.offset))} havoc ~dev1~0.base, ~dev1~0.offset; {1185#(and (= 0 ~elem~0.offset) (= 0 ~guard_malloc_counter~0.offset))} is VALID [2020-07-18 05:12:22,093 INFO L280 TraceCheckUtils]: 13: Hoare triple {1185#(and (= 0 ~elem~0.offset) (= 0 ~guard_malloc_counter~0.offset))} havoc ~dev2~0.base, ~dev2~0.offset; {1185#(and (= 0 ~elem~0.offset) (= 0 ~guard_malloc_counter~0.offset))} is VALID [2020-07-18 05:12:22,093 INFO L263 TraceCheckUtils]: 14: Hoare triple {1185#(and (= 0 ~elem~0.offset) (= 0 ~guard_malloc_counter~0.offset))} call #t~ret32.base, #t~ret32.offset := my_malloc(8); {1227#(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-18 05:12:22,094 INFO L280 TraceCheckUtils]: 15: Hoare triple {1227#(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; {1228#(= ~guard_malloc_counter~0.offset |old(~guard_malloc_counter~0.offset)|)} is VALID [2020-07-18 05:12:22,095 INFO L263 TraceCheckUtils]: 16: Hoare triple {1228#(= ~guard_malloc_counter~0.offset |old(~guard_malloc_counter~0.offset)|)} call #t~ret30.base, #t~ret30.offset := __getMemory(~size); {1227#(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-18 05:12:22,096 INFO L280 TraceCheckUtils]: 17: Hoare triple {1227#(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; {1228#(= ~guard_malloc_counter~0.offset |old(~guard_malloc_counter~0.offset)|)} is VALID [2020-07-18 05:12:22,096 INFO L280 TraceCheckUtils]: 18: Hoare triple {1228#(= ~guard_malloc_counter~0.offset |old(~guard_malloc_counter~0.offset)|)} assume ~size > 0; {1228#(= ~guard_malloc_counter~0.offset |old(~guard_malloc_counter~0.offset)|)} is VALID [2020-07-18 05:12:22,097 INFO L280 TraceCheckUtils]: 19: Hoare triple {1228#(= ~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; {1241#(= |old(~guard_malloc_counter~0.offset)| |__getMemory_#t~post28.offset|)} is VALID [2020-07-18 05:12:22,098 INFO L280 TraceCheckUtils]: 20: Hoare triple {1241#(= |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; {1240#(<= (+ |old(~guard_malloc_counter~0.offset)| 1) ~guard_malloc_counter~0.offset)} is VALID [2020-07-18 05:12:22,098 INFO L280 TraceCheckUtils]: 21: Hoare triple {1240#(<= (+ |old(~guard_malloc_counter~0.offset)| 1) ~guard_malloc_counter~0.offset)} havoc #t~post28.base, #t~post28.offset; {1240#(<= (+ |old(~guard_malloc_counter~0.offset)| 1) ~guard_malloc_counter~0.offset)} is VALID [2020-07-18 05:12:22,099 INFO L280 TraceCheckUtils]: 22: Hoare triple {1240#(<= (+ |old(~guard_malloc_counter~0.offset)| 1) ~guard_malloc_counter~0.offset)} assume -2147483648 <= #t~nondet29 && #t~nondet29 <= 2147483647; {1240#(<= (+ |old(~guard_malloc_counter~0.offset)| 1) ~guard_malloc_counter~0.offset)} is VALID [2020-07-18 05:12:22,099 INFO L280 TraceCheckUtils]: 23: Hoare triple {1240#(<= (+ |old(~guard_malloc_counter~0.offset)| 1) ~guard_malloc_counter~0.offset)} assume !(0 == #t~nondet29); {1240#(<= (+ |old(~guard_malloc_counter~0.offset)| 1) ~guard_malloc_counter~0.offset)} is VALID [2020-07-18 05:12:22,100 INFO L280 TraceCheckUtils]: 24: Hoare triple {1240#(<= (+ |old(~guard_malloc_counter~0.offset)| 1) ~guard_malloc_counter~0.offset)} havoc #t~nondet29; {1240#(<= (+ |old(~guard_malloc_counter~0.offset)| 1) ~guard_malloc_counter~0.offset)} is VALID [2020-07-18 05:12:22,100 INFO L280 TraceCheckUtils]: 25: Hoare triple {1240#(<= (+ |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; {1240#(<= (+ |old(~guard_malloc_counter~0.offset)| 1) ~guard_malloc_counter~0.offset)} is VALID [2020-07-18 05:12:22,101 INFO L280 TraceCheckUtils]: 26: Hoare triple {1240#(<= (+ |old(~guard_malloc_counter~0.offset)| 1) ~guard_malloc_counter~0.offset)} assume true; {1240#(<= (+ |old(~guard_malloc_counter~0.offset)| 1) ~guard_malloc_counter~0.offset)} is VALID [2020-07-18 05:12:22,102 INFO L275 TraceCheckUtils]: 27: Hoare quadruple {1240#(<= (+ |old(~guard_malloc_counter~0.offset)| 1) ~guard_malloc_counter~0.offset)} {1228#(= ~guard_malloc_counter~0.offset |old(~guard_malloc_counter~0.offset)|)} #91#return; {1240#(<= (+ |old(~guard_malloc_counter~0.offset)| 1) ~guard_malloc_counter~0.offset)} is VALID [2020-07-18 05:12:22,103 INFO L280 TraceCheckUtils]: 28: Hoare triple {1240#(<= (+ |old(~guard_malloc_counter~0.offset)| 1) ~guard_malloc_counter~0.offset)} #res.base, #res.offset := #t~ret30.base, #t~ret30.offset; {1240#(<= (+ |old(~guard_malloc_counter~0.offset)| 1) ~guard_malloc_counter~0.offset)} is VALID [2020-07-18 05:12:22,103 INFO L280 TraceCheckUtils]: 29: Hoare triple {1240#(<= (+ |old(~guard_malloc_counter~0.offset)| 1) ~guard_malloc_counter~0.offset)} havoc #t~ret30.base, #t~ret30.offset; {1240#(<= (+ |old(~guard_malloc_counter~0.offset)| 1) ~guard_malloc_counter~0.offset)} is VALID [2020-07-18 05:12:22,104 INFO L280 TraceCheckUtils]: 30: Hoare triple {1240#(<= (+ |old(~guard_malloc_counter~0.offset)| 1) ~guard_malloc_counter~0.offset)} assume true; {1240#(<= (+ |old(~guard_malloc_counter~0.offset)| 1) ~guard_malloc_counter~0.offset)} is VALID [2020-07-18 05:12:22,106 INFO L275 TraceCheckUtils]: 31: Hoare quadruple {1240#(<= (+ |old(~guard_malloc_counter~0.offset)| 1) ~guard_malloc_counter~0.offset)} {1185#(and (= 0 ~elem~0.offset) (= 0 ~guard_malloc_counter~0.offset))} #93#return; {1203#(and (= 0 ~elem~0.offset) (<= 1 ~guard_malloc_counter~0.offset))} is VALID [2020-07-18 05:12:22,106 INFO L280 TraceCheckUtils]: 32: Hoare triple {1203#(and (= 0 ~elem~0.offset) (<= 1 ~guard_malloc_counter~0.offset))} ~dev1~0.base, ~dev1~0.offset := #t~ret32.base, #t~ret32.offset; {1203#(and (= 0 ~elem~0.offset) (<= 1 ~guard_malloc_counter~0.offset))} is VALID [2020-07-18 05:12:22,107 INFO L280 TraceCheckUtils]: 33: Hoare triple {1203#(and (= 0 ~elem~0.offset) (<= 1 ~guard_malloc_counter~0.offset))} havoc #t~ret32.base, #t~ret32.offset; {1203#(and (= 0 ~elem~0.offset) (<= 1 ~guard_malloc_counter~0.offset))} is VALID [2020-07-18 05:12:22,108 INFO L263 TraceCheckUtils]: 34: Hoare triple {1203#(and (= 0 ~elem~0.offset) (<= 1 ~guard_malloc_counter~0.offset))} call #t~ret33.base, #t~ret33.offset := my_malloc(8); {1227#(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-18 05:12:22,109 INFO L280 TraceCheckUtils]: 35: Hoare triple {1227#(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; {1228#(= ~guard_malloc_counter~0.offset |old(~guard_malloc_counter~0.offset)|)} is VALID [2020-07-18 05:12:22,110 INFO L263 TraceCheckUtils]: 36: Hoare triple {1228#(= ~guard_malloc_counter~0.offset |old(~guard_malloc_counter~0.offset)|)} call #t~ret30.base, #t~ret30.offset := __getMemory(~size); {1227#(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-18 05:12:22,110 INFO L280 TraceCheckUtils]: 37: Hoare triple {1227#(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; {1228#(= ~guard_malloc_counter~0.offset |old(~guard_malloc_counter~0.offset)|)} is VALID [2020-07-18 05:12:22,111 INFO L280 TraceCheckUtils]: 38: Hoare triple {1228#(= ~guard_malloc_counter~0.offset |old(~guard_malloc_counter~0.offset)|)} assume ~size > 0; {1228#(= ~guard_malloc_counter~0.offset |old(~guard_malloc_counter~0.offset)|)} is VALID [2020-07-18 05:12:22,112 INFO L280 TraceCheckUtils]: 39: Hoare triple {1228#(= ~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; {1241#(= |old(~guard_malloc_counter~0.offset)| |__getMemory_#t~post28.offset|)} is VALID [2020-07-18 05:12:22,112 INFO L280 TraceCheckUtils]: 40: Hoare triple {1241#(= |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; {1240#(<= (+ |old(~guard_malloc_counter~0.offset)| 1) ~guard_malloc_counter~0.offset)} is VALID [2020-07-18 05:12:22,113 INFO L280 TraceCheckUtils]: 41: Hoare triple {1240#(<= (+ |old(~guard_malloc_counter~0.offset)| 1) ~guard_malloc_counter~0.offset)} havoc #t~post28.base, #t~post28.offset; {1240#(<= (+ |old(~guard_malloc_counter~0.offset)| 1) ~guard_malloc_counter~0.offset)} is VALID [2020-07-18 05:12:22,113 INFO L280 TraceCheckUtils]: 42: Hoare triple {1240#(<= (+ |old(~guard_malloc_counter~0.offset)| 1) ~guard_malloc_counter~0.offset)} assume -2147483648 <= #t~nondet29 && #t~nondet29 <= 2147483647; {1240#(<= (+ |old(~guard_malloc_counter~0.offset)| 1) ~guard_malloc_counter~0.offset)} is VALID [2020-07-18 05:12:22,114 INFO L280 TraceCheckUtils]: 43: Hoare triple {1240#(<= (+ |old(~guard_malloc_counter~0.offset)| 1) ~guard_malloc_counter~0.offset)} assume !(0 == #t~nondet29); {1240#(<= (+ |old(~guard_malloc_counter~0.offset)| 1) ~guard_malloc_counter~0.offset)} is VALID [2020-07-18 05:12:22,115 INFO L280 TraceCheckUtils]: 44: Hoare triple {1240#(<= (+ |old(~guard_malloc_counter~0.offset)| 1) ~guard_malloc_counter~0.offset)} havoc #t~nondet29; {1240#(<= (+ |old(~guard_malloc_counter~0.offset)| 1) ~guard_malloc_counter~0.offset)} is VALID [2020-07-18 05:12:22,115 INFO L280 TraceCheckUtils]: 45: Hoare triple {1240#(<= (+ |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; {1255#(<= (+ |old(~guard_malloc_counter~0.offset)| 1) |__getMemory_#res.offset|)} is VALID [2020-07-18 05:12:22,116 INFO L280 TraceCheckUtils]: 46: Hoare triple {1255#(<= (+ |old(~guard_malloc_counter~0.offset)| 1) |__getMemory_#res.offset|)} assume true; {1255#(<= (+ |old(~guard_malloc_counter~0.offset)| 1) |__getMemory_#res.offset|)} is VALID [2020-07-18 05:12:22,117 INFO L275 TraceCheckUtils]: 47: Hoare quadruple {1255#(<= (+ |old(~guard_malloc_counter~0.offset)| 1) |__getMemory_#res.offset|)} {1228#(= ~guard_malloc_counter~0.offset |old(~guard_malloc_counter~0.offset)|)} #91#return; {1253#(<= (+ |old(~guard_malloc_counter~0.offset)| 1) |my_malloc_#t~ret30.offset|)} is VALID [2020-07-18 05:12:22,118 INFO L280 TraceCheckUtils]: 48: Hoare triple {1253#(<= (+ |old(~guard_malloc_counter~0.offset)| 1) |my_malloc_#t~ret30.offset|)} #res.base, #res.offset := #t~ret30.base, #t~ret30.offset; {1254#(<= (+ |old(~guard_malloc_counter~0.offset)| 1) |my_malloc_#res.offset|)} is VALID [2020-07-18 05:12:22,118 INFO L280 TraceCheckUtils]: 49: Hoare triple {1254#(<= (+ |old(~guard_malloc_counter~0.offset)| 1) |my_malloc_#res.offset|)} havoc #t~ret30.base, #t~ret30.offset; {1254#(<= (+ |old(~guard_malloc_counter~0.offset)| 1) |my_malloc_#res.offset|)} is VALID [2020-07-18 05:12:22,119 INFO L280 TraceCheckUtils]: 50: Hoare triple {1254#(<= (+ |old(~guard_malloc_counter~0.offset)| 1) |my_malloc_#res.offset|)} assume true; {1254#(<= (+ |old(~guard_malloc_counter~0.offset)| 1) |my_malloc_#res.offset|)} is VALID [2020-07-18 05:12:22,120 INFO L275 TraceCheckUtils]: 51: Hoare quadruple {1254#(<= (+ |old(~guard_malloc_counter~0.offset)| 1) |my_malloc_#res.offset|)} {1203#(and (= 0 ~elem~0.offset) (<= 1 ~guard_malloc_counter~0.offset))} #95#return; {1221#(and (= 0 ~elem~0.offset) (<= 2 |main_#t~ret33.offset|))} is VALID [2020-07-18 05:12:22,121 INFO L280 TraceCheckUtils]: 52: Hoare triple {1221#(and (= 0 ~elem~0.offset) (<= 2 |main_#t~ret33.offset|))} ~dev2~0.base, ~dev2~0.offset := #t~ret33.base, #t~ret33.offset; {1222#(and (= 0 ~elem~0.offset) (<= 2 main_~dev2~0.offset))} is VALID [2020-07-18 05:12:22,122 INFO L280 TraceCheckUtils]: 53: Hoare triple {1222#(and (= 0 ~elem~0.offset) (<= 2 main_~dev2~0.offset))} havoc #t~ret33.base, #t~ret33.offset; {1222#(and (= 0 ~elem~0.offset) (<= 2 main_~dev2~0.offset))} is VALID [2020-07-18 05:12:22,123 INFO L280 TraceCheckUtils]: 54: Hoare triple {1222#(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); {1222#(and (= 0 ~elem~0.offset) (<= 2 main_~dev2~0.offset))} is VALID [2020-07-18 05:12:22,124 INFO L263 TraceCheckUtils]: 55: Hoare triple {1222#(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); {1223#(and (= 0 ~elem~0.offset) (<= 2 |list_add_#in~new.offset|))} is VALID [2020-07-18 05:12:22,125 INFO L280 TraceCheckUtils]: 56: Hoare triple {1223#(and (= 0 ~elem~0.offset) (<= 2 |list_add_#in~new.offset|))} ~new.base, ~new.offset := #in~new.base, #in~new.offset; {1224#(and (= 0 ~elem~0.offset) (not (= 0 list_add_~new.offset)))} is VALID [2020-07-18 05:12:22,125 INFO L280 TraceCheckUtils]: 57: Hoare triple {1224#(and (= 0 ~elem~0.offset) (not (= 0 list_add_~new.offset)))} ~head.base, ~head.offset := #in~head.base, #in~head.offset; {1224#(and (= 0 ~elem~0.offset) (not (= 0 list_add_~new.offset)))} is VALID [2020-07-18 05:12:22,126 INFO L280 TraceCheckUtils]: 58: Hoare triple {1224#(and (= 0 ~elem~0.offset) (not (= 0 list_add_~new.offset)))} assume !(~new.base != ~elem~0.base || ~new.offset != ~elem~0.offset); {1174#false} is VALID [2020-07-18 05:12:22,126 INFO L263 TraceCheckUtils]: 59: Hoare triple {1174#false} call __blast_assert(); {1174#false} is VALID [2020-07-18 05:12:22,126 INFO L280 TraceCheckUtils]: 60: Hoare triple {1174#false} assume !false; {1174#false} is VALID [2020-07-18 05:12:22,134 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-18 05:12:22,134 INFO L354 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModulePreferences [1791252696] [2020-07-18 05:12:22,135 INFO L220 FreeRefinementEngine]: Constructing automaton from 0 perfect and 1 imperfect interpolant sequences. [2020-07-18 05:12:22,135 INFO L233 FreeRefinementEngine]: Number of different interpolants: perfect sequences [] imperfect sequences [17] total 17 [2020-07-18 05:12:22,135 INFO L156 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [1323550980] [2020-07-18 05:12:22,136 INFO L78 Accepts]: Start accepts. Automaton has 17 states. Word has length 61 [2020-07-18 05:12:22,136 INFO L84 Accepts]: Finished accepts. word is accepted. [2020-07-18 05:12:22,136 INFO L86 InductivityCheck]: Starting indutivity check of a Floyd-Hoare automaton with 17 states. [2020-07-18 05:12:22,196 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-18 05:12:22,197 INFO L459 AbstractCegarLoop]: Interpolant automaton has 17 states [2020-07-18 05:12:22,197 INFO L143 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy FIXED_PREFERENCES [2020-07-18 05:12:22,197 INFO L142 InterpolantAutomaton]: Constructing interpolant automaton starting with 17 interpolants. [2020-07-18 05:12:22,198 INFO L144 InterpolantAutomaton]: CoverageRelationStatistics Valid=35, Invalid=237, Unknown=0, NotChecked=0, Total=272 [2020-07-18 05:12:22,198 INFO L87 Difference]: Start difference. First operand 68 states and 73 transitions. Second operand 17 states. [2020-07-18 05:12:27,146 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2020-07-18 05:12:27,147 INFO L93 Difference]: Finished difference Result 121 states and 138 transitions. [2020-07-18 05:12:27,147 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 23 states. [2020-07-18 05:12:27,147 INFO L78 Accepts]: Start accepts. Automaton has 17 states. Word has length 61 [2020-07-18 05:12:27,150 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2020-07-18 05:12:27,150 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 17 states. [2020-07-18 05:12:27,164 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 23 states to 23 states and 138 transitions. [2020-07-18 05:12:27,164 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 17 states. [2020-07-18 05:12:27,173 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 23 states to 23 states and 138 transitions. [2020-07-18 05:12:27,173 INFO L86 InductivityCheck]: Starting indutivity check of a Floyd-Hoare automaton with 23 states and 138 transitions. [2020-07-18 05:12:27,407 INFO L119 InductivityCheck]: Floyd-Hoare automaton has 138 edges. 138 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2020-07-18 05:12:27,412 INFO L225 Difference]: With dead ends: 121 [2020-07-18 05:12:27,413 INFO L226 Difference]: Without dead ends: 116 [2020-07-18 05:12:27,414 INFO L675 BasicCegarLoop]: 0 DeclaredPredicates, 44 GetRequests, 13 SyntacticMatches, 0 SemanticMatches, 31 ConstructedPredicates, 0 IntricatePredicates, 0 DeprecatedPredicates, 126 ImplicationChecksByTransitivity, 0.7s TimeCoverageRelationStatistics Valid=150, Invalid=906, Unknown=0, NotChecked=0, Total=1056 [2020-07-18 05:12:27,415 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 116 states. [2020-07-18 05:12:27,806 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 116 to 101. [2020-07-18 05:12:27,807 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2020-07-18 05:12:27,807 INFO L82 GeneralOperation]: Start isEquivalent. First operand 116 states. Second operand 101 states. [2020-07-18 05:12:27,807 INFO L74 IsIncluded]: Start isIncluded. First operand 116 states. Second operand 101 states. [2020-07-18 05:12:27,807 INFO L87 Difference]: Start difference. First operand 116 states. Second operand 101 states. [2020-07-18 05:12:27,814 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2020-07-18 05:12:27,814 INFO L93 Difference]: Finished difference Result 116 states and 129 transitions. [2020-07-18 05:12:27,814 INFO L276 IsEmpty]: Start isEmpty. Operand 116 states and 129 transitions. [2020-07-18 05:12:27,816 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2020-07-18 05:12:27,816 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2020-07-18 05:12:27,816 INFO L74 IsIncluded]: Start isIncluded. First operand 101 states. Second operand 116 states. [2020-07-18 05:12:27,816 INFO L87 Difference]: Start difference. First operand 101 states. Second operand 116 states. [2020-07-18 05:12:27,823 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2020-07-18 05:12:27,823 INFO L93 Difference]: Finished difference Result 116 states and 129 transitions. [2020-07-18 05:12:27,823 INFO L276 IsEmpty]: Start isEmpty. Operand 116 states and 129 transitions. [2020-07-18 05:12:27,824 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2020-07-18 05:12:27,824 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2020-07-18 05:12:27,824 INFO L88 GeneralOperation]: Finished isEquivalent. [2020-07-18 05:12:27,825 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2020-07-18 05:12:27,825 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 101 states. [2020-07-18 05:12:27,830 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 101 states to 101 states and 115 transitions. [2020-07-18 05:12:27,830 INFO L78 Accepts]: Start accepts. Automaton has 101 states and 115 transitions. Word has length 61 [2020-07-18 05:12:27,830 INFO L84 Accepts]: Finished accepts. word is rejected. [2020-07-18 05:12:27,831 INFO L479 AbstractCegarLoop]: Abstraction has 101 states and 115 transitions. [2020-07-18 05:12:27,831 INFO L480 AbstractCegarLoop]: Interpolant automaton has 17 states. [2020-07-18 05:12:27,831 INFO L86 InductivityCheck]: Starting indutivity check of a Floyd-Hoare automaton with 101 states and 115 transitions. [2020-07-18 05:12:28,023 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-18 05:12:28,023 INFO L276 IsEmpty]: Start isEmpty. Operand 101 states and 115 transitions. [2020-07-18 05:12:28,026 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 62 [2020-07-18 05:12:28,026 INFO L414 BasicCegarLoop]: Found error trace [2020-07-18 05:12:28,026 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-18 05:12:28,027 WARN L516 AbstractCegarLoop]: Destroyed unattended storables created during the last iteration: SelfDestructingSolverStorable2 [2020-07-18 05:12:28,027 INFO L427 AbstractCegarLoop]: === Iteration 4 === [__blast_assertErr0ASSERT_VIOLATIONERROR_FUNCTION]=== [2020-07-18 05:12:28,027 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2020-07-18 05:12:28,027 INFO L82 PathProgramCache]: Analyzing trace with hash 1994405374, now seen corresponding path program 1 times [2020-07-18 05:12:28,027 INFO L163 FreeRefinementEngine]: Executing refinement strategy FIXED_PREFERENCES [2020-07-18 05:12:28,028 INFO L354 FreeRefinementEngine]: Using trace check IpTcStrategyModulePreferences [1205474987] [2020-07-18 05:12:28,028 INFO L94 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2020-07-18 05:12:28,044 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2020-07-18 05:12:28,142 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2020-07-18 05:12:28,153 INFO L280 TraceCheckUtils]: 0: Hoare triple {2014#(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; {1966#true} is VALID [2020-07-18 05:12:28,153 INFO L280 TraceCheckUtils]: 1: Hoare triple {1966#true} #valid := #valid[0 := 0]; {1966#true} is VALID [2020-07-18 05:12:28,153 INFO L280 TraceCheckUtils]: 2: Hoare triple {1966#true} assume 0 < #StackHeapBarrier; {1966#true} is VALID [2020-07-18 05:12:28,153 INFO L280 TraceCheckUtils]: 3: Hoare triple {1966#true} ~guard_malloc_counter~0.base, ~guard_malloc_counter~0.offset := 0, 0; {1966#true} is VALID [2020-07-18 05:12:28,154 INFO L280 TraceCheckUtils]: 4: Hoare triple {1966#true} ~elem~0.base, ~elem~0.offset := 0, 0; {1966#true} is VALID [2020-07-18 05:12:28,154 INFO L280 TraceCheckUtils]: 5: Hoare triple {1966#true} SUMMARY for call ~#head~0.base, ~#head~0.offset := #Ultimate.allocOnStack(8); srcloc: L900 {1966#true} is VALID [2020-07-18 05:12:28,154 INFO L280 TraceCheckUtils]: 6: Hoare triple {1966#true} SUMMARY for call write~init~$Pointer$(0, 0, ~#head~0.base, ~#head~0.offset, 4); srcloc: L900-1 {1966#true} is VALID [2020-07-18 05:12:28,155 INFO L280 TraceCheckUtils]: 7: Hoare triple {1966#true} SUMMARY for call write~init~$Pointer$(0, 0, ~#head~0.base, 4 + ~#head~0.offset, 4); srcloc: L900-2 {1966#true} is VALID [2020-07-18 05:12:28,155 INFO L280 TraceCheckUtils]: 8: Hoare triple {1966#true} assume true; {1966#true} is VALID [2020-07-18 05:12:28,156 INFO L275 TraceCheckUtils]: 9: Hoare quadruple {1966#true} {1966#true} #109#return; {1966#true} is VALID [2020-07-18 05:12:28,168 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2020-07-18 05:12:28,181 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2020-07-18 05:12:28,188 INFO L280 TraceCheckUtils]: 0: Hoare triple {2015#(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; {1966#true} is VALID [2020-07-18 05:12:28,188 INFO L280 TraceCheckUtils]: 1: Hoare triple {1966#true} assume ~size > 0; {1966#true} is VALID [2020-07-18 05:12:28,188 INFO L280 TraceCheckUtils]: 2: Hoare triple {1966#true} #t~post28.base, #t~post28.offset := ~guard_malloc_counter~0.base, ~guard_malloc_counter~0.offset; {1966#true} is VALID [2020-07-18 05:12:28,189 INFO L280 TraceCheckUtils]: 3: Hoare triple {1966#true} ~guard_malloc_counter~0.base, ~guard_malloc_counter~0.offset := #t~post28.base, 1 + #t~post28.offset; {1966#true} is VALID [2020-07-18 05:12:28,189 INFO L280 TraceCheckUtils]: 4: Hoare triple {1966#true} havoc #t~post28.base, #t~post28.offset; {1966#true} is VALID [2020-07-18 05:12:28,189 INFO L280 TraceCheckUtils]: 5: Hoare triple {1966#true} assume -2147483648 <= #t~nondet29 && #t~nondet29 <= 2147483647; {1966#true} is VALID [2020-07-18 05:12:28,189 INFO L280 TraceCheckUtils]: 6: Hoare triple {1966#true} assume !(0 == #t~nondet29); {1966#true} is VALID [2020-07-18 05:12:28,190 INFO L280 TraceCheckUtils]: 7: Hoare triple {1966#true} havoc #t~nondet29; {1966#true} is VALID [2020-07-18 05:12:28,190 INFO L280 TraceCheckUtils]: 8: Hoare triple {1966#true} #res.base, #res.offset := ~guard_malloc_counter~0.base, ~guard_malloc_counter~0.offset; {1966#true} is VALID [2020-07-18 05:12:28,190 INFO L280 TraceCheckUtils]: 9: Hoare triple {1966#true} assume true; {1966#true} is VALID [2020-07-18 05:12:28,191 INFO L275 TraceCheckUtils]: 10: Hoare quadruple {1966#true} {1966#true} #91#return; {1966#true} is VALID [2020-07-18 05:12:28,191 INFO L280 TraceCheckUtils]: 0: Hoare triple {2015#(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; {1966#true} is VALID [2020-07-18 05:12:28,193 INFO L263 TraceCheckUtils]: 1: Hoare triple {1966#true} call #t~ret30.base, #t~ret30.offset := __getMemory(~size); {2015#(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-18 05:12:28,194 INFO L280 TraceCheckUtils]: 2: Hoare triple {2015#(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; {1966#true} is VALID [2020-07-18 05:12:28,194 INFO L280 TraceCheckUtils]: 3: Hoare triple {1966#true} assume ~size > 0; {1966#true} is VALID [2020-07-18 05:12:28,194 INFO L280 TraceCheckUtils]: 4: Hoare triple {1966#true} #t~post28.base, #t~post28.offset := ~guard_malloc_counter~0.base, ~guard_malloc_counter~0.offset; {1966#true} is VALID [2020-07-18 05:12:28,194 INFO L280 TraceCheckUtils]: 5: Hoare triple {1966#true} ~guard_malloc_counter~0.base, ~guard_malloc_counter~0.offset := #t~post28.base, 1 + #t~post28.offset; {1966#true} is VALID [2020-07-18 05:12:28,195 INFO L280 TraceCheckUtils]: 6: Hoare triple {1966#true} havoc #t~post28.base, #t~post28.offset; {1966#true} is VALID [2020-07-18 05:12:28,195 INFO L280 TraceCheckUtils]: 7: Hoare triple {1966#true} assume -2147483648 <= #t~nondet29 && #t~nondet29 <= 2147483647; {1966#true} is VALID [2020-07-18 05:12:28,195 INFO L280 TraceCheckUtils]: 8: Hoare triple {1966#true} assume !(0 == #t~nondet29); {1966#true} is VALID [2020-07-18 05:12:28,195 INFO L280 TraceCheckUtils]: 9: Hoare triple {1966#true} havoc #t~nondet29; {1966#true} is VALID [2020-07-18 05:12:28,195 INFO L280 TraceCheckUtils]: 10: Hoare triple {1966#true} #res.base, #res.offset := ~guard_malloc_counter~0.base, ~guard_malloc_counter~0.offset; {1966#true} is VALID [2020-07-18 05:12:28,196 INFO L280 TraceCheckUtils]: 11: Hoare triple {1966#true} assume true; {1966#true} is VALID [2020-07-18 05:12:28,196 INFO L275 TraceCheckUtils]: 12: Hoare quadruple {1966#true} {1966#true} #91#return; {1966#true} is VALID [2020-07-18 05:12:28,196 INFO L280 TraceCheckUtils]: 13: Hoare triple {1966#true} #res.base, #res.offset := #t~ret30.base, #t~ret30.offset; {1966#true} is VALID [2020-07-18 05:12:28,196 INFO L280 TraceCheckUtils]: 14: Hoare triple {1966#true} havoc #t~ret30.base, #t~ret30.offset; {1966#true} is VALID [2020-07-18 05:12:28,196 INFO L280 TraceCheckUtils]: 15: Hoare triple {1966#true} assume true; {1966#true} is VALID [2020-07-18 05:12:28,197 INFO L275 TraceCheckUtils]: 16: Hoare quadruple {1966#true} {1966#true} #93#return; {1966#true} is VALID [2020-07-18 05:12:28,211 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2020-07-18 05:12:28,285 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2020-07-18 05:12:28,338 INFO L280 TraceCheckUtils]: 0: Hoare triple {2015#(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; {1966#true} is VALID [2020-07-18 05:12:28,338 INFO L280 TraceCheckUtils]: 1: Hoare triple {1966#true} assume ~size > 0; {1966#true} is VALID [2020-07-18 05:12:28,339 INFO L280 TraceCheckUtils]: 2: Hoare triple {1966#true} #t~post28.base, #t~post28.offset := ~guard_malloc_counter~0.base, ~guard_malloc_counter~0.offset; {1966#true} is VALID [2020-07-18 05:12:28,339 INFO L280 TraceCheckUtils]: 3: Hoare triple {1966#true} ~guard_malloc_counter~0.base, ~guard_malloc_counter~0.offset := #t~post28.base, 1 + #t~post28.offset; {1966#true} is VALID [2020-07-18 05:12:28,339 INFO L280 TraceCheckUtils]: 4: Hoare triple {1966#true} havoc #t~post28.base, #t~post28.offset; {1966#true} is VALID [2020-07-18 05:12:28,340 INFO L280 TraceCheckUtils]: 5: Hoare triple {1966#true} assume -2147483648 <= #t~nondet29 && #t~nondet29 <= 2147483647; {1966#true} is VALID [2020-07-18 05:12:28,340 INFO L280 TraceCheckUtils]: 6: Hoare triple {1966#true} assume 0 == #t~nondet29; {1966#true} is VALID [2020-07-18 05:12:28,340 INFO L280 TraceCheckUtils]: 7: Hoare triple {1966#true} havoc #t~nondet29; {1966#true} is VALID [2020-07-18 05:12:28,341 INFO L280 TraceCheckUtils]: 8: Hoare triple {1966#true} #res.base, #res.offset := 0, 0; {2040#(and (<= |__getMemory_#res.base| 0) (<= |__getMemory_#res.offset| 0) (<= 0 |__getMemory_#res.offset|) (<= 0 |__getMemory_#res.base|))} is VALID [2020-07-18 05:12:28,342 INFO L280 TraceCheckUtils]: 9: Hoare triple {2040#(and (<= |__getMemory_#res.base| 0) (<= |__getMemory_#res.offset| 0) (<= 0 |__getMemory_#res.offset|) (<= 0 |__getMemory_#res.base|))} assume true; {2040#(and (<= |__getMemory_#res.base| 0) (<= |__getMemory_#res.offset| 0) (<= 0 |__getMemory_#res.offset|) (<= 0 |__getMemory_#res.base|))} is VALID [2020-07-18 05:12:28,345 INFO L275 TraceCheckUtils]: 10: Hoare quadruple {2040#(and (<= |__getMemory_#res.base| 0) (<= |__getMemory_#res.offset| 0) (<= 0 |__getMemory_#res.offset|) (<= 0 |__getMemory_#res.base|))} {1966#true} #91#return; {2038#(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-18 05:12:28,345 INFO L280 TraceCheckUtils]: 0: Hoare triple {2015#(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; {1966#true} is VALID [2020-07-18 05:12:28,346 INFO L263 TraceCheckUtils]: 1: Hoare triple {1966#true} call #t~ret30.base, #t~ret30.offset := __getMemory(~size); {2015#(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-18 05:12:28,347 INFO L280 TraceCheckUtils]: 2: Hoare triple {2015#(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; {1966#true} is VALID [2020-07-18 05:12:28,347 INFO L280 TraceCheckUtils]: 3: Hoare triple {1966#true} assume ~size > 0; {1966#true} is VALID [2020-07-18 05:12:28,347 INFO L280 TraceCheckUtils]: 4: Hoare triple {1966#true} #t~post28.base, #t~post28.offset := ~guard_malloc_counter~0.base, ~guard_malloc_counter~0.offset; {1966#true} is VALID [2020-07-18 05:12:28,347 INFO L280 TraceCheckUtils]: 5: Hoare triple {1966#true} ~guard_malloc_counter~0.base, ~guard_malloc_counter~0.offset := #t~post28.base, 1 + #t~post28.offset; {1966#true} is VALID [2020-07-18 05:12:28,347 INFO L280 TraceCheckUtils]: 6: Hoare triple {1966#true} havoc #t~post28.base, #t~post28.offset; {1966#true} is VALID [2020-07-18 05:12:28,348 INFO L280 TraceCheckUtils]: 7: Hoare triple {1966#true} assume -2147483648 <= #t~nondet29 && #t~nondet29 <= 2147483647; {1966#true} is VALID [2020-07-18 05:12:28,348 INFO L280 TraceCheckUtils]: 8: Hoare triple {1966#true} assume 0 == #t~nondet29; {1966#true} is VALID [2020-07-18 05:12:28,351 INFO L280 TraceCheckUtils]: 9: Hoare triple {1966#true} havoc #t~nondet29; {1966#true} is VALID [2020-07-18 05:12:28,354 INFO L280 TraceCheckUtils]: 10: Hoare triple {1966#true} #res.base, #res.offset := 0, 0; {2040#(and (<= |__getMemory_#res.base| 0) (<= |__getMemory_#res.offset| 0) (<= 0 |__getMemory_#res.offset|) (<= 0 |__getMemory_#res.base|))} is VALID [2020-07-18 05:12:28,355 INFO L280 TraceCheckUtils]: 11: Hoare triple {2040#(and (<= |__getMemory_#res.base| 0) (<= |__getMemory_#res.offset| 0) (<= 0 |__getMemory_#res.offset|) (<= 0 |__getMemory_#res.base|))} assume true; {2040#(and (<= |__getMemory_#res.base| 0) (<= |__getMemory_#res.offset| 0) (<= 0 |__getMemory_#res.offset|) (<= 0 |__getMemory_#res.base|))} is VALID [2020-07-18 05:12:28,356 INFO L275 TraceCheckUtils]: 12: Hoare quadruple {2040#(and (<= |__getMemory_#res.base| 0) (<= |__getMemory_#res.offset| 0) (<= 0 |__getMemory_#res.offset|) (<= 0 |__getMemory_#res.base|))} {1966#true} #91#return; {2038#(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-18 05:12:28,357 INFO L280 TraceCheckUtils]: 13: Hoare triple {2038#(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; {2039#(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-18 05:12:28,358 INFO L280 TraceCheckUtils]: 14: Hoare triple {2039#(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; {2039#(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-18 05:12:28,359 INFO L280 TraceCheckUtils]: 15: Hoare triple {2039#(and (<= |my_malloc_#res.base| 0) (<= |my_malloc_#res.offset| 0) (<= 0 |my_malloc_#res.base|) (<= 0 |my_malloc_#res.offset|))} assume true; {2039#(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-18 05:12:28,360 INFO L275 TraceCheckUtils]: 16: Hoare quadruple {2039#(and (<= |my_malloc_#res.base| 0) (<= |my_malloc_#res.offset| 0) (<= 0 |my_malloc_#res.base|) (<= 0 |my_malloc_#res.offset|))} {1966#true} #95#return; {2012#(and (= 0 |main_#t~ret33.offset|) (= 0 |main_#t~ret33.base|))} is VALID [2020-07-18 05:12:28,364 INFO L263 TraceCheckUtils]: 0: Hoare triple {1966#true} call ULTIMATE.init(); {2014#(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-18 05:12:28,364 INFO L280 TraceCheckUtils]: 1: Hoare triple {2014#(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; {1966#true} is VALID [2020-07-18 05:12:28,364 INFO L280 TraceCheckUtils]: 2: Hoare triple {1966#true} #valid := #valid[0 := 0]; {1966#true} is VALID [2020-07-18 05:12:28,365 INFO L280 TraceCheckUtils]: 3: Hoare triple {1966#true} assume 0 < #StackHeapBarrier; {1966#true} is VALID [2020-07-18 05:12:28,365 INFO L280 TraceCheckUtils]: 4: Hoare triple {1966#true} ~guard_malloc_counter~0.base, ~guard_malloc_counter~0.offset := 0, 0; {1966#true} is VALID [2020-07-18 05:12:28,365 INFO L280 TraceCheckUtils]: 5: Hoare triple {1966#true} ~elem~0.base, ~elem~0.offset := 0, 0; {1966#true} is VALID [2020-07-18 05:12:28,366 INFO L280 TraceCheckUtils]: 6: Hoare triple {1966#true} SUMMARY for call ~#head~0.base, ~#head~0.offset := #Ultimate.allocOnStack(8); srcloc: L900 {1966#true} is VALID [2020-07-18 05:12:28,366 INFO L280 TraceCheckUtils]: 7: Hoare triple {1966#true} SUMMARY for call write~init~$Pointer$(0, 0, ~#head~0.base, ~#head~0.offset, 4); srcloc: L900-1 {1966#true} is VALID [2020-07-18 05:12:28,366 INFO L280 TraceCheckUtils]: 8: Hoare triple {1966#true} SUMMARY for call write~init~$Pointer$(0, 0, ~#head~0.base, 4 + ~#head~0.offset, 4); srcloc: L900-2 {1966#true} is VALID [2020-07-18 05:12:28,366 INFO L280 TraceCheckUtils]: 9: Hoare triple {1966#true} assume true; {1966#true} is VALID [2020-07-18 05:12:28,367 INFO L275 TraceCheckUtils]: 10: Hoare quadruple {1966#true} {1966#true} #109#return; {1966#true} is VALID [2020-07-18 05:12:28,367 INFO L263 TraceCheckUtils]: 11: Hoare triple {1966#true} call #t~ret34 := main(); {1966#true} is VALID [2020-07-18 05:12:28,367 INFO L280 TraceCheckUtils]: 12: Hoare triple {1966#true} havoc ~dev1~0.base, ~dev1~0.offset; {1966#true} is VALID [2020-07-18 05:12:28,368 INFO L280 TraceCheckUtils]: 13: Hoare triple {1966#true} havoc ~dev2~0.base, ~dev2~0.offset; {1966#true} is VALID [2020-07-18 05:12:28,371 INFO L263 TraceCheckUtils]: 14: Hoare triple {1966#true} call #t~ret32.base, #t~ret32.offset := my_malloc(8); {2015#(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-18 05:12:28,372 INFO L280 TraceCheckUtils]: 15: Hoare triple {2015#(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; {1966#true} is VALID [2020-07-18 05:12:28,373 INFO L263 TraceCheckUtils]: 16: Hoare triple {1966#true} call #t~ret30.base, #t~ret30.offset := __getMemory(~size); {2015#(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-18 05:12:28,373 INFO L280 TraceCheckUtils]: 17: Hoare triple {2015#(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; {1966#true} is VALID [2020-07-18 05:12:28,373 INFO L280 TraceCheckUtils]: 18: Hoare triple {1966#true} assume ~size > 0; {1966#true} is VALID [2020-07-18 05:12:28,374 INFO L280 TraceCheckUtils]: 19: Hoare triple {1966#true} #t~post28.base, #t~post28.offset := ~guard_malloc_counter~0.base, ~guard_malloc_counter~0.offset; {1966#true} is VALID [2020-07-18 05:12:28,374 INFO L280 TraceCheckUtils]: 20: Hoare triple {1966#true} ~guard_malloc_counter~0.base, ~guard_malloc_counter~0.offset := #t~post28.base, 1 + #t~post28.offset; {1966#true} is VALID [2020-07-18 05:12:28,374 INFO L280 TraceCheckUtils]: 21: Hoare triple {1966#true} havoc #t~post28.base, #t~post28.offset; {1966#true} is VALID [2020-07-18 05:12:28,374 INFO L280 TraceCheckUtils]: 22: Hoare triple {1966#true} assume -2147483648 <= #t~nondet29 && #t~nondet29 <= 2147483647; {1966#true} is VALID [2020-07-18 05:12:28,374 INFO L280 TraceCheckUtils]: 23: Hoare triple {1966#true} assume !(0 == #t~nondet29); {1966#true} is VALID [2020-07-18 05:12:28,375 INFO L280 TraceCheckUtils]: 24: Hoare triple {1966#true} havoc #t~nondet29; {1966#true} is VALID [2020-07-18 05:12:28,375 INFO L280 TraceCheckUtils]: 25: Hoare triple {1966#true} #res.base, #res.offset := ~guard_malloc_counter~0.base, ~guard_malloc_counter~0.offset; {1966#true} is VALID [2020-07-18 05:12:28,375 INFO L280 TraceCheckUtils]: 26: Hoare triple {1966#true} assume true; {1966#true} is VALID [2020-07-18 05:12:28,375 INFO L275 TraceCheckUtils]: 27: Hoare quadruple {1966#true} {1966#true} #91#return; {1966#true} is VALID [2020-07-18 05:12:28,375 INFO L280 TraceCheckUtils]: 28: Hoare triple {1966#true} #res.base, #res.offset := #t~ret30.base, #t~ret30.offset; {1966#true} is VALID [2020-07-18 05:12:28,376 INFO L280 TraceCheckUtils]: 29: Hoare triple {1966#true} havoc #t~ret30.base, #t~ret30.offset; {1966#true} is VALID [2020-07-18 05:12:28,376 INFO L280 TraceCheckUtils]: 30: Hoare triple {1966#true} assume true; {1966#true} is VALID [2020-07-18 05:12:28,376 INFO L275 TraceCheckUtils]: 31: Hoare quadruple {1966#true} {1966#true} #93#return; {1966#true} is VALID [2020-07-18 05:12:28,376 INFO L280 TraceCheckUtils]: 32: Hoare triple {1966#true} ~dev1~0.base, ~dev1~0.offset := #t~ret32.base, #t~ret32.offset; {1966#true} is VALID [2020-07-18 05:12:28,376 INFO L280 TraceCheckUtils]: 33: Hoare triple {1966#true} havoc #t~ret32.base, #t~ret32.offset; {1966#true} is VALID [2020-07-18 05:12:28,380 INFO L263 TraceCheckUtils]: 34: Hoare triple {1966#true} call #t~ret33.base, #t~ret33.offset := my_malloc(8); {2015#(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-18 05:12:28,381 INFO L280 TraceCheckUtils]: 35: Hoare triple {2015#(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; {1966#true} is VALID [2020-07-18 05:12:28,382 INFO L263 TraceCheckUtils]: 36: Hoare triple {1966#true} call #t~ret30.base, #t~ret30.offset := __getMemory(~size); {2015#(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-18 05:12:28,382 INFO L280 TraceCheckUtils]: 37: Hoare triple {2015#(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; {1966#true} is VALID [2020-07-18 05:12:28,382 INFO L280 TraceCheckUtils]: 38: Hoare triple {1966#true} assume ~size > 0; {1966#true} is VALID [2020-07-18 05:12:28,383 INFO L280 TraceCheckUtils]: 39: Hoare triple {1966#true} #t~post28.base, #t~post28.offset := ~guard_malloc_counter~0.base, ~guard_malloc_counter~0.offset; {1966#true} is VALID [2020-07-18 05:12:28,383 INFO L280 TraceCheckUtils]: 40: Hoare triple {1966#true} ~guard_malloc_counter~0.base, ~guard_malloc_counter~0.offset := #t~post28.base, 1 + #t~post28.offset; {1966#true} is VALID [2020-07-18 05:12:28,383 INFO L280 TraceCheckUtils]: 41: Hoare triple {1966#true} havoc #t~post28.base, #t~post28.offset; {1966#true} is VALID [2020-07-18 05:12:28,384 INFO L280 TraceCheckUtils]: 42: Hoare triple {1966#true} assume -2147483648 <= #t~nondet29 && #t~nondet29 <= 2147483647; {1966#true} is VALID [2020-07-18 05:12:28,385 INFO L280 TraceCheckUtils]: 43: Hoare triple {1966#true} assume 0 == #t~nondet29; {1966#true} is VALID [2020-07-18 05:12:28,386 INFO L280 TraceCheckUtils]: 44: Hoare triple {1966#true} havoc #t~nondet29; {1966#true} is VALID [2020-07-18 05:12:28,387 INFO L280 TraceCheckUtils]: 45: Hoare triple {1966#true} #res.base, #res.offset := 0, 0; {2040#(and (<= |__getMemory_#res.base| 0) (<= |__getMemory_#res.offset| 0) (<= 0 |__getMemory_#res.offset|) (<= 0 |__getMemory_#res.base|))} is VALID [2020-07-18 05:12:28,388 INFO L280 TraceCheckUtils]: 46: Hoare triple {2040#(and (<= |__getMemory_#res.base| 0) (<= |__getMemory_#res.offset| 0) (<= 0 |__getMemory_#res.offset|) (<= 0 |__getMemory_#res.base|))} assume true; {2040#(and (<= |__getMemory_#res.base| 0) (<= |__getMemory_#res.offset| 0) (<= 0 |__getMemory_#res.offset|) (<= 0 |__getMemory_#res.base|))} is VALID [2020-07-18 05:12:28,389 INFO L275 TraceCheckUtils]: 47: Hoare quadruple {2040#(and (<= |__getMemory_#res.base| 0) (<= |__getMemory_#res.offset| 0) (<= 0 |__getMemory_#res.offset|) (<= 0 |__getMemory_#res.base|))} {1966#true} #91#return; {2038#(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-18 05:12:28,390 INFO L280 TraceCheckUtils]: 48: Hoare triple {2038#(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; {2039#(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-18 05:12:28,391 INFO L280 TraceCheckUtils]: 49: Hoare triple {2039#(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; {2039#(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-18 05:12:28,392 INFO L280 TraceCheckUtils]: 50: Hoare triple {2039#(and (<= |my_malloc_#res.base| 0) (<= |my_malloc_#res.offset| 0) (<= 0 |my_malloc_#res.base|) (<= 0 |my_malloc_#res.offset|))} assume true; {2039#(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-18 05:12:28,394 INFO L275 TraceCheckUtils]: 51: Hoare quadruple {2039#(and (<= |my_malloc_#res.base| 0) (<= |my_malloc_#res.offset| 0) (<= 0 |my_malloc_#res.base|) (<= 0 |my_malloc_#res.offset|))} {1966#true} #95#return; {2012#(and (= 0 |main_#t~ret33.offset|) (= 0 |main_#t~ret33.base|))} is VALID [2020-07-18 05:12:28,395 INFO L280 TraceCheckUtils]: 52: Hoare triple {2012#(and (= 0 |main_#t~ret33.offset|) (= 0 |main_#t~ret33.base|))} ~dev2~0.base, ~dev2~0.offset := #t~ret33.base, #t~ret33.offset; {2013#(and (= 0 main_~dev2~0.offset) (= main_~dev2~0.base 0))} is VALID [2020-07-18 05:12:28,396 INFO L280 TraceCheckUtils]: 53: Hoare triple {2013#(and (= 0 main_~dev2~0.offset) (= main_~dev2~0.base 0))} havoc #t~ret33.base, #t~ret33.offset; {2013#(and (= 0 main_~dev2~0.offset) (= main_~dev2~0.base 0))} is VALID [2020-07-18 05:12:28,396 INFO L280 TraceCheckUtils]: 54: Hoare triple {2013#(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); {1967#false} is VALID [2020-07-18 05:12:28,397 INFO L263 TraceCheckUtils]: 55: Hoare triple {1967#false} call list_add(~dev2~0.base, ~dev2~0.offset, ~#head~0.base, ~#head~0.offset); {1967#false} is VALID [2020-07-18 05:12:28,397 INFO L280 TraceCheckUtils]: 56: Hoare triple {1967#false} ~new.base, ~new.offset := #in~new.base, #in~new.offset; {1967#false} is VALID [2020-07-18 05:12:28,397 INFO L280 TraceCheckUtils]: 57: Hoare triple {1967#false} ~head.base, ~head.offset := #in~head.base, #in~head.offset; {1967#false} is VALID [2020-07-18 05:12:28,398 INFO L280 TraceCheckUtils]: 58: Hoare triple {1967#false} assume !(~new.base != ~elem~0.base || ~new.offset != ~elem~0.offset); {1967#false} is VALID [2020-07-18 05:12:28,398 INFO L263 TraceCheckUtils]: 59: Hoare triple {1967#false} call __blast_assert(); {1967#false} is VALID [2020-07-18 05:12:28,398 INFO L280 TraceCheckUtils]: 60: Hoare triple {1967#false} assume !false; {1967#false} is VALID [2020-07-18 05:12:28,404 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-18 05:12:28,404 INFO L354 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModulePreferences [1205474987] [2020-07-18 05:12:28,405 INFO L220 FreeRefinementEngine]: Constructing automaton from 1 perfect and 0 imperfect interpolant sequences. [2020-07-18 05:12:28,405 INFO L233 FreeRefinementEngine]: Number of different interpolants: perfect sequences [9] imperfect sequences [] total 9 [2020-07-18 05:12:28,405 INFO L156 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [566855640] [2020-07-18 05:12:28,406 INFO L78 Accepts]: Start accepts. Automaton has 9 states. Word has length 61 [2020-07-18 05:12:28,406 INFO L84 Accepts]: Finished accepts. word is accepted. [2020-07-18 05:12:28,407 INFO L86 InductivityCheck]: Starting indutivity check of a Floyd-Hoare automaton with 9 states. [2020-07-18 05:12:28,468 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-18 05:12:28,468 INFO L459 AbstractCegarLoop]: Interpolant automaton has 9 states [2020-07-18 05:12:28,468 INFO L143 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy FIXED_PREFERENCES [2020-07-18 05:12:28,469 INFO L142 InterpolantAutomaton]: Constructing interpolant automaton starting with 9 interpolants. [2020-07-18 05:12:28,469 INFO L144 InterpolantAutomaton]: CoverageRelationStatistics Valid=16, Invalid=56, Unknown=0, NotChecked=0, Total=72 [2020-07-18 05:12:28,469 INFO L87 Difference]: Start difference. First operand 101 states and 115 transitions. Second operand 9 states. [2020-07-18 05:12:29,738 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2020-07-18 05:12:29,738 INFO L93 Difference]: Finished difference Result 134 states and 151 transitions. [2020-07-18 05:12:29,738 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 11 states. [2020-07-18 05:12:29,738 INFO L78 Accepts]: Start accepts. Automaton has 9 states. Word has length 61 [2020-07-18 05:12:29,739 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2020-07-18 05:12:29,739 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 9 states. [2020-07-18 05:12:29,742 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 11 states to 11 states and 106 transitions. [2020-07-18 05:12:29,742 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 9 states. [2020-07-18 05:12:29,745 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 11 states to 11 states and 106 transitions. [2020-07-18 05:12:29,745 INFO L86 InductivityCheck]: Starting indutivity check of a Floyd-Hoare automaton with 11 states and 106 transitions. [2020-07-18 05:12:29,872 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-18 05:12:29,876 INFO L225 Difference]: With dead ends: 134 [2020-07-18 05:12:29,876 INFO L226 Difference]: Without dead ends: 80 [2020-07-18 05:12:29,877 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-18 05:12:29,877 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 80 states. [2020-07-18 05:12:30,181 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 80 to 76. [2020-07-18 05:12:30,181 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2020-07-18 05:12:30,181 INFO L82 GeneralOperation]: Start isEquivalent. First operand 80 states. Second operand 76 states. [2020-07-18 05:12:30,181 INFO L74 IsIncluded]: Start isIncluded. First operand 80 states. Second operand 76 states. [2020-07-18 05:12:30,182 INFO L87 Difference]: Start difference. First operand 80 states. Second operand 76 states. [2020-07-18 05:12:30,189 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2020-07-18 05:12:30,190 INFO L93 Difference]: Finished difference Result 80 states and 88 transitions. [2020-07-18 05:12:30,190 INFO L276 IsEmpty]: Start isEmpty. Operand 80 states and 88 transitions. [2020-07-18 05:12:30,190 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2020-07-18 05:12:30,191 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2020-07-18 05:12:30,191 INFO L74 IsIncluded]: Start isIncluded. First operand 76 states. Second operand 80 states. [2020-07-18 05:12:30,191 INFO L87 Difference]: Start difference. First operand 76 states. Second operand 80 states. [2020-07-18 05:12:30,195 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2020-07-18 05:12:30,195 INFO L93 Difference]: Finished difference Result 80 states and 88 transitions. [2020-07-18 05:12:30,196 INFO L276 IsEmpty]: Start isEmpty. Operand 80 states and 88 transitions. [2020-07-18 05:12:30,196 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2020-07-18 05:12:30,196 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2020-07-18 05:12:30,196 INFO L88 GeneralOperation]: Finished isEquivalent. [2020-07-18 05:12:30,196 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2020-07-18 05:12:30,197 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 76 states. [2020-07-18 05:12:30,199 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 76 states to 76 states and 83 transitions. [2020-07-18 05:12:30,200 INFO L78 Accepts]: Start accepts. Automaton has 76 states and 83 transitions. Word has length 61 [2020-07-18 05:12:30,200 INFO L84 Accepts]: Finished accepts. word is rejected. [2020-07-18 05:12:30,200 INFO L479 AbstractCegarLoop]: Abstraction has 76 states and 83 transitions. [2020-07-18 05:12:30,200 INFO L480 AbstractCegarLoop]: Interpolant automaton has 9 states. [2020-07-18 05:12:30,200 INFO L86 InductivityCheck]: Starting indutivity check of a Floyd-Hoare automaton with 76 states and 83 transitions. [2020-07-18 05:12:30,341 INFO L119 InductivityCheck]: Floyd-Hoare automaton has 83 edges. 83 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2020-07-18 05:12:30,341 INFO L276 IsEmpty]: Start isEmpty. Operand 76 states and 83 transitions. [2020-07-18 05:12:30,342 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 71 [2020-07-18 05:12:30,342 INFO L414 BasicCegarLoop]: Found error trace [2020-07-18 05:12:30,343 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-18 05:12:30,343 WARN L516 AbstractCegarLoop]: Destroyed unattended storables created during the last iteration: SelfDestructingSolverStorable3 [2020-07-18 05:12:30,343 INFO L427 AbstractCegarLoop]: === Iteration 5 === [__blast_assertErr0ASSERT_VIOLATIONERROR_FUNCTION]=== [2020-07-18 05:12:30,343 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2020-07-18 05:12:30,343 INFO L82 PathProgramCache]: Analyzing trace with hash 2098824736, now seen corresponding path program 1 times [2020-07-18 05:12:30,344 INFO L163 FreeRefinementEngine]: Executing refinement strategy FIXED_PREFERENCES [2020-07-18 05:12:30,344 INFO L354 FreeRefinementEngine]: Using trace check IpTcStrategyModulePreferences [1551450452] [2020-07-18 05:12:30,344 INFO L94 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2020-07-18 05:12:30,361 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2020-07-18 05:12:30,539 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2020-07-18 05:12:30,560 INFO L280 TraceCheckUtils]: 0: Hoare triple {2686#(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; {2627#true} is VALID [2020-07-18 05:12:30,560 INFO L280 TraceCheckUtils]: 1: Hoare triple {2627#true} #valid := #valid[0 := 0]; {2627#true} is VALID [2020-07-18 05:12:30,560 INFO L280 TraceCheckUtils]: 2: Hoare triple {2627#true} assume 0 < #StackHeapBarrier; {2627#true} is VALID [2020-07-18 05:12:30,561 INFO L280 TraceCheckUtils]: 3: Hoare triple {2627#true} ~guard_malloc_counter~0.base, ~guard_malloc_counter~0.offset := 0, 0; {2687#(= 0 ~guard_malloc_counter~0.offset)} is VALID [2020-07-18 05:12:30,562 INFO L280 TraceCheckUtils]: 4: Hoare triple {2687#(= 0 ~guard_malloc_counter~0.offset)} ~elem~0.base, ~elem~0.offset := 0, 0; {2639#(and (= 0 ~elem~0.offset) (= 0 ~guard_malloc_counter~0.offset))} is VALID [2020-07-18 05:12:30,563 INFO L280 TraceCheckUtils]: 5: Hoare triple {2639#(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 {2639#(and (= 0 ~elem~0.offset) (= 0 ~guard_malloc_counter~0.offset))} is VALID [2020-07-18 05:12:30,563 INFO L280 TraceCheckUtils]: 6: Hoare triple {2639#(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 {2639#(and (= 0 ~elem~0.offset) (= 0 ~guard_malloc_counter~0.offset))} is VALID [2020-07-18 05:12:30,564 INFO L280 TraceCheckUtils]: 7: Hoare triple {2639#(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 {2639#(and (= 0 ~elem~0.offset) (= 0 ~guard_malloc_counter~0.offset))} is VALID [2020-07-18 05:12:30,565 INFO L280 TraceCheckUtils]: 8: Hoare triple {2639#(and (= 0 ~elem~0.offset) (= 0 ~guard_malloc_counter~0.offset))} assume true; {2639#(and (= 0 ~elem~0.offset) (= 0 ~guard_malloc_counter~0.offset))} is VALID [2020-07-18 05:12:30,565 INFO L275 TraceCheckUtils]: 9: Hoare quadruple {2639#(and (= 0 ~elem~0.offset) (= 0 ~guard_malloc_counter~0.offset))} {2627#true} #109#return; {2639#(and (= 0 ~elem~0.offset) (= 0 ~guard_malloc_counter~0.offset))} is VALID [2020-07-18 05:12:30,587 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2020-07-18 05:12:30,652 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2020-07-18 05:12:30,728 INFO L280 TraceCheckUtils]: 0: Hoare triple {2688#(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; {2689#(= ~guard_malloc_counter~0.offset |old(~guard_malloc_counter~0.offset)|)} is VALID [2020-07-18 05:12:30,729 INFO L280 TraceCheckUtils]: 1: Hoare triple {2689#(= ~guard_malloc_counter~0.offset |old(~guard_malloc_counter~0.offset)|)} assume ~size > 0; {2689#(= ~guard_malloc_counter~0.offset |old(~guard_malloc_counter~0.offset)|)} is VALID [2020-07-18 05:12:30,729 INFO L280 TraceCheckUtils]: 2: Hoare triple {2689#(= ~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; {2703#(= |old(~guard_malloc_counter~0.offset)| |__getMemory_#t~post28.offset|)} is VALID [2020-07-18 05:12:30,730 INFO L280 TraceCheckUtils]: 3: Hoare triple {2703#(= |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; {2704#(<= (+ |old(~guard_malloc_counter~0.offset)| 1) ~guard_malloc_counter~0.offset)} is VALID [2020-07-18 05:12:30,731 INFO L280 TraceCheckUtils]: 4: Hoare triple {2704#(<= (+ |old(~guard_malloc_counter~0.offset)| 1) ~guard_malloc_counter~0.offset)} havoc #t~post28.base, #t~post28.offset; {2704#(<= (+ |old(~guard_malloc_counter~0.offset)| 1) ~guard_malloc_counter~0.offset)} is VALID [2020-07-18 05:12:30,732 INFO L280 TraceCheckUtils]: 5: Hoare triple {2704#(<= (+ |old(~guard_malloc_counter~0.offset)| 1) ~guard_malloc_counter~0.offset)} assume -2147483648 <= #t~nondet29 && #t~nondet29 <= 2147483647; {2704#(<= (+ |old(~guard_malloc_counter~0.offset)| 1) ~guard_malloc_counter~0.offset)} is VALID [2020-07-18 05:12:30,732 INFO L280 TraceCheckUtils]: 6: Hoare triple {2704#(<= (+ |old(~guard_malloc_counter~0.offset)| 1) ~guard_malloc_counter~0.offset)} assume !(0 == #t~nondet29); {2704#(<= (+ |old(~guard_malloc_counter~0.offset)| 1) ~guard_malloc_counter~0.offset)} is VALID [2020-07-18 05:12:30,733 INFO L280 TraceCheckUtils]: 7: Hoare triple {2704#(<= (+ |old(~guard_malloc_counter~0.offset)| 1) ~guard_malloc_counter~0.offset)} havoc #t~nondet29; {2704#(<= (+ |old(~guard_malloc_counter~0.offset)| 1) ~guard_malloc_counter~0.offset)} is VALID [2020-07-18 05:12:30,734 INFO L280 TraceCheckUtils]: 8: Hoare triple {2704#(<= (+ |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; {2705#(<= (+ |old(~guard_malloc_counter~0.offset)| 1) |__getMemory_#res.offset|)} is VALID [2020-07-18 05:12:30,735 INFO L280 TraceCheckUtils]: 9: Hoare triple {2705#(<= (+ |old(~guard_malloc_counter~0.offset)| 1) |__getMemory_#res.offset|)} assume true; {2705#(<= (+ |old(~guard_malloc_counter~0.offset)| 1) |__getMemory_#res.offset|)} is VALID [2020-07-18 05:12:30,736 INFO L275 TraceCheckUtils]: 10: Hoare quadruple {2705#(<= (+ |old(~guard_malloc_counter~0.offset)| 1) |__getMemory_#res.offset|)} {2689#(= ~guard_malloc_counter~0.offset |old(~guard_malloc_counter~0.offset)|)} #91#return; {2701#(<= (+ |old(~guard_malloc_counter~0.offset)| 1) |my_malloc_#t~ret30.offset|)} is VALID [2020-07-18 05:12:30,737 INFO L280 TraceCheckUtils]: 0: Hoare triple {2688#(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; {2689#(= ~guard_malloc_counter~0.offset |old(~guard_malloc_counter~0.offset)|)} is VALID [2020-07-18 05:12:30,739 INFO L263 TraceCheckUtils]: 1: Hoare triple {2689#(= ~guard_malloc_counter~0.offset |old(~guard_malloc_counter~0.offset)|)} call #t~ret30.base, #t~ret30.offset := __getMemory(~size); {2688#(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-18 05:12:30,739 INFO L280 TraceCheckUtils]: 2: Hoare triple {2688#(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; {2689#(= ~guard_malloc_counter~0.offset |old(~guard_malloc_counter~0.offset)|)} is VALID [2020-07-18 05:12:30,740 INFO L280 TraceCheckUtils]: 3: Hoare triple {2689#(= ~guard_malloc_counter~0.offset |old(~guard_malloc_counter~0.offset)|)} assume ~size > 0; {2689#(= ~guard_malloc_counter~0.offset |old(~guard_malloc_counter~0.offset)|)} is VALID [2020-07-18 05:12:30,741 INFO L280 TraceCheckUtils]: 4: Hoare triple {2689#(= ~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; {2703#(= |old(~guard_malloc_counter~0.offset)| |__getMemory_#t~post28.offset|)} is VALID [2020-07-18 05:12:30,742 INFO L280 TraceCheckUtils]: 5: Hoare triple {2703#(= |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; {2704#(<= (+ |old(~guard_malloc_counter~0.offset)| 1) ~guard_malloc_counter~0.offset)} is VALID [2020-07-18 05:12:30,743 INFO L280 TraceCheckUtils]: 6: Hoare triple {2704#(<= (+ |old(~guard_malloc_counter~0.offset)| 1) ~guard_malloc_counter~0.offset)} havoc #t~post28.base, #t~post28.offset; {2704#(<= (+ |old(~guard_malloc_counter~0.offset)| 1) ~guard_malloc_counter~0.offset)} is VALID [2020-07-18 05:12:30,743 INFO L280 TraceCheckUtils]: 7: Hoare triple {2704#(<= (+ |old(~guard_malloc_counter~0.offset)| 1) ~guard_malloc_counter~0.offset)} assume -2147483648 <= #t~nondet29 && #t~nondet29 <= 2147483647; {2704#(<= (+ |old(~guard_malloc_counter~0.offset)| 1) ~guard_malloc_counter~0.offset)} is VALID [2020-07-18 05:12:30,744 INFO L280 TraceCheckUtils]: 8: Hoare triple {2704#(<= (+ |old(~guard_malloc_counter~0.offset)| 1) ~guard_malloc_counter~0.offset)} assume !(0 == #t~nondet29); {2704#(<= (+ |old(~guard_malloc_counter~0.offset)| 1) ~guard_malloc_counter~0.offset)} is VALID [2020-07-18 05:12:30,745 INFO L280 TraceCheckUtils]: 9: Hoare triple {2704#(<= (+ |old(~guard_malloc_counter~0.offset)| 1) ~guard_malloc_counter~0.offset)} havoc #t~nondet29; {2704#(<= (+ |old(~guard_malloc_counter~0.offset)| 1) ~guard_malloc_counter~0.offset)} is VALID [2020-07-18 05:12:30,746 INFO L280 TraceCheckUtils]: 10: Hoare triple {2704#(<= (+ |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; {2705#(<= (+ |old(~guard_malloc_counter~0.offset)| 1) |__getMemory_#res.offset|)} is VALID [2020-07-18 05:12:30,746 INFO L280 TraceCheckUtils]: 11: Hoare triple {2705#(<= (+ |old(~guard_malloc_counter~0.offset)| 1) |__getMemory_#res.offset|)} assume true; {2705#(<= (+ |old(~guard_malloc_counter~0.offset)| 1) |__getMemory_#res.offset|)} is VALID [2020-07-18 05:12:30,748 INFO L275 TraceCheckUtils]: 12: Hoare quadruple {2705#(<= (+ |old(~guard_malloc_counter~0.offset)| 1) |__getMemory_#res.offset|)} {2689#(= ~guard_malloc_counter~0.offset |old(~guard_malloc_counter~0.offset)|)} #91#return; {2701#(<= (+ |old(~guard_malloc_counter~0.offset)| 1) |my_malloc_#t~ret30.offset|)} is VALID [2020-07-18 05:12:30,749 INFO L280 TraceCheckUtils]: 13: Hoare triple {2701#(<= (+ |old(~guard_malloc_counter~0.offset)| 1) |my_malloc_#t~ret30.offset|)} #res.base, #res.offset := #t~ret30.base, #t~ret30.offset; {2702#(<= (+ |old(~guard_malloc_counter~0.offset)| 1) |my_malloc_#res.offset|)} is VALID [2020-07-18 05:12:30,749 INFO L280 TraceCheckUtils]: 14: Hoare triple {2702#(<= (+ |old(~guard_malloc_counter~0.offset)| 1) |my_malloc_#res.offset|)} havoc #t~ret30.base, #t~ret30.offset; {2702#(<= (+ |old(~guard_malloc_counter~0.offset)| 1) |my_malloc_#res.offset|)} is VALID [2020-07-18 05:12:30,750 INFO L280 TraceCheckUtils]: 15: Hoare triple {2702#(<= (+ |old(~guard_malloc_counter~0.offset)| 1) |my_malloc_#res.offset|)} assume true; {2702#(<= (+ |old(~guard_malloc_counter~0.offset)| 1) |my_malloc_#res.offset|)} is VALID [2020-07-18 05:12:30,752 INFO L275 TraceCheckUtils]: 16: Hoare quadruple {2702#(<= (+ |old(~guard_malloc_counter~0.offset)| 1) |my_malloc_#res.offset|)} {2639#(and (= 0 ~elem~0.offset) (= 0 ~guard_malloc_counter~0.offset))} #93#return; {2657#(and (= 0 ~elem~0.offset) (<= 1 |main_#t~ret32.offset|))} is VALID [2020-07-18 05:12:30,773 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2020-07-18 05:12:30,779 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2020-07-18 05:12:30,783 INFO L280 TraceCheckUtils]: 0: Hoare triple {2688#(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; {2627#true} is VALID [2020-07-18 05:12:30,783 INFO L280 TraceCheckUtils]: 1: Hoare triple {2627#true} assume ~size > 0; {2627#true} is VALID [2020-07-18 05:12:30,783 INFO L280 TraceCheckUtils]: 2: Hoare triple {2627#true} #t~post28.base, #t~post28.offset := ~guard_malloc_counter~0.base, ~guard_malloc_counter~0.offset; {2627#true} is VALID [2020-07-18 05:12:30,784 INFO L280 TraceCheckUtils]: 3: Hoare triple {2627#true} ~guard_malloc_counter~0.base, ~guard_malloc_counter~0.offset := #t~post28.base, 1 + #t~post28.offset; {2627#true} is VALID [2020-07-18 05:12:30,784 INFO L280 TraceCheckUtils]: 4: Hoare triple {2627#true} havoc #t~post28.base, #t~post28.offset; {2627#true} is VALID [2020-07-18 05:12:30,784 INFO L280 TraceCheckUtils]: 5: Hoare triple {2627#true} assume -2147483648 <= #t~nondet29 && #t~nondet29 <= 2147483647; {2627#true} is VALID [2020-07-18 05:12:30,784 INFO L280 TraceCheckUtils]: 6: Hoare triple {2627#true} assume !(0 == #t~nondet29); {2627#true} is VALID [2020-07-18 05:12:30,784 INFO L280 TraceCheckUtils]: 7: Hoare triple {2627#true} havoc #t~nondet29; {2627#true} is VALID [2020-07-18 05:12:30,785 INFO L280 TraceCheckUtils]: 8: Hoare triple {2627#true} #res.base, #res.offset := ~guard_malloc_counter~0.base, ~guard_malloc_counter~0.offset; {2627#true} is VALID [2020-07-18 05:12:30,785 INFO L280 TraceCheckUtils]: 9: Hoare triple {2627#true} assume true; {2627#true} is VALID [2020-07-18 05:12:30,785 INFO L275 TraceCheckUtils]: 10: Hoare quadruple {2627#true} {2627#true} #91#return; {2627#true} is VALID [2020-07-18 05:12:30,785 INFO L280 TraceCheckUtils]: 0: Hoare triple {2688#(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; {2627#true} is VALID [2020-07-18 05:12:30,786 INFO L263 TraceCheckUtils]: 1: Hoare triple {2627#true} call #t~ret30.base, #t~ret30.offset := __getMemory(~size); {2688#(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-18 05:12:30,787 INFO L280 TraceCheckUtils]: 2: Hoare triple {2688#(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; {2627#true} is VALID [2020-07-18 05:12:30,787 INFO L280 TraceCheckUtils]: 3: Hoare triple {2627#true} assume ~size > 0; {2627#true} is VALID [2020-07-18 05:12:30,787 INFO L280 TraceCheckUtils]: 4: Hoare triple {2627#true} #t~post28.base, #t~post28.offset := ~guard_malloc_counter~0.base, ~guard_malloc_counter~0.offset; {2627#true} is VALID [2020-07-18 05:12:30,787 INFO L280 TraceCheckUtils]: 5: Hoare triple {2627#true} ~guard_malloc_counter~0.base, ~guard_malloc_counter~0.offset := #t~post28.base, 1 + #t~post28.offset; {2627#true} is VALID [2020-07-18 05:12:30,787 INFO L280 TraceCheckUtils]: 6: Hoare triple {2627#true} havoc #t~post28.base, #t~post28.offset; {2627#true} is VALID [2020-07-18 05:12:30,788 INFO L280 TraceCheckUtils]: 7: Hoare triple {2627#true} assume -2147483648 <= #t~nondet29 && #t~nondet29 <= 2147483647; {2627#true} is VALID [2020-07-18 05:12:30,788 INFO L280 TraceCheckUtils]: 8: Hoare triple {2627#true} assume !(0 == #t~nondet29); {2627#true} is VALID [2020-07-18 05:12:30,788 INFO L280 TraceCheckUtils]: 9: Hoare triple {2627#true} havoc #t~nondet29; {2627#true} is VALID [2020-07-18 05:12:30,788 INFO L280 TraceCheckUtils]: 10: Hoare triple {2627#true} #res.base, #res.offset := ~guard_malloc_counter~0.base, ~guard_malloc_counter~0.offset; {2627#true} is VALID [2020-07-18 05:12:30,788 INFO L280 TraceCheckUtils]: 11: Hoare triple {2627#true} assume true; {2627#true} is VALID [2020-07-18 05:12:30,789 INFO L275 TraceCheckUtils]: 12: Hoare quadruple {2627#true} {2627#true} #91#return; {2627#true} is VALID [2020-07-18 05:12:30,789 INFO L280 TraceCheckUtils]: 13: Hoare triple {2627#true} #res.base, #res.offset := #t~ret30.base, #t~ret30.offset; {2627#true} is VALID [2020-07-18 05:12:30,789 INFO L280 TraceCheckUtils]: 14: Hoare triple {2627#true} havoc #t~ret30.base, #t~ret30.offset; {2627#true} is VALID [2020-07-18 05:12:30,789 INFO L280 TraceCheckUtils]: 15: Hoare triple {2627#true} assume true; {2627#true} is VALID [2020-07-18 05:12:30,790 INFO L275 TraceCheckUtils]: 16: Hoare quadruple {2627#true} {2658#(and (<= 1 main_~dev1~0.offset) (= 0 ~elem~0.offset))} #95#return; {2658#(and (<= 1 main_~dev1~0.offset) (= 0 ~elem~0.offset))} is VALID [2020-07-18 05:12:30,815 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2020-07-18 05:12:30,840 INFO L280 TraceCheckUtils]: 0: Hoare triple {2717#(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; {2718#(= |old(~elem~0.offset)| ~elem~0.offset)} is VALID [2020-07-18 05:12:30,840 INFO L280 TraceCheckUtils]: 1: Hoare triple {2718#(= |old(~elem~0.offset)| ~elem~0.offset)} ~head.base, ~head.offset := #in~head.base, #in~head.offset; {2718#(= |old(~elem~0.offset)| ~elem~0.offset)} is VALID [2020-07-18 05:12:30,841 INFO L280 TraceCheckUtils]: 2: Hoare triple {2718#(= |old(~elem~0.offset)| ~elem~0.offset)} assume ~new.base != ~elem~0.base || ~new.offset != ~elem~0.offset; {2718#(= |old(~elem~0.offset)| ~elem~0.offset)} is VALID [2020-07-18 05:12:30,841 INFO L280 TraceCheckUtils]: 3: Hoare triple {2718#(= |old(~elem~0.offset)| ~elem~0.offset)} assume -2147483648 <= #t~nondet31 && #t~nondet31 <= 2147483647; {2718#(= |old(~elem~0.offset)| ~elem~0.offset)} is VALID [2020-07-18 05:12:30,842 INFO L280 TraceCheckUtils]: 4: Hoare triple {2718#(= |old(~elem~0.offset)| ~elem~0.offset)} assume !(0 != #t~nondet31); {2718#(= |old(~elem~0.offset)| ~elem~0.offset)} is VALID [2020-07-18 05:12:30,842 INFO L280 TraceCheckUtils]: 5: Hoare triple {2718#(= |old(~elem~0.offset)| ~elem~0.offset)} havoc #t~nondet31; {2718#(= |old(~elem~0.offset)| ~elem~0.offset)} is VALID [2020-07-18 05:12:30,843 INFO L280 TraceCheckUtils]: 6: Hoare triple {2718#(= |old(~elem~0.offset)| ~elem~0.offset)} assume true; {2718#(= |old(~elem~0.offset)| ~elem~0.offset)} is VALID [2020-07-18 05:12:30,844 INFO L275 TraceCheckUtils]: 7: Hoare quadruple {2718#(= |old(~elem~0.offset)| ~elem~0.offset)} {2658#(and (<= 1 main_~dev1~0.offset) (= 0 ~elem~0.offset))} #97#return; {2658#(and (<= 1 main_~dev1~0.offset) (= 0 ~elem~0.offset))} is VALID [2020-07-18 05:12:30,846 INFO L263 TraceCheckUtils]: 0: Hoare triple {2627#true} call ULTIMATE.init(); {2686#(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-18 05:12:30,846 INFO L280 TraceCheckUtils]: 1: Hoare triple {2686#(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; {2627#true} is VALID [2020-07-18 05:12:30,846 INFO L280 TraceCheckUtils]: 2: Hoare triple {2627#true} #valid := #valid[0 := 0]; {2627#true} is VALID [2020-07-18 05:12:30,846 INFO L280 TraceCheckUtils]: 3: Hoare triple {2627#true} assume 0 < #StackHeapBarrier; {2627#true} is VALID [2020-07-18 05:12:30,847 INFO L280 TraceCheckUtils]: 4: Hoare triple {2627#true} ~guard_malloc_counter~0.base, ~guard_malloc_counter~0.offset := 0, 0; {2687#(= 0 ~guard_malloc_counter~0.offset)} is VALID [2020-07-18 05:12:30,848 INFO L280 TraceCheckUtils]: 5: Hoare triple {2687#(= 0 ~guard_malloc_counter~0.offset)} ~elem~0.base, ~elem~0.offset := 0, 0; {2639#(and (= 0 ~elem~0.offset) (= 0 ~guard_malloc_counter~0.offset))} is VALID [2020-07-18 05:12:30,848 INFO L280 TraceCheckUtils]: 6: Hoare triple {2639#(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 {2639#(and (= 0 ~elem~0.offset) (= 0 ~guard_malloc_counter~0.offset))} is VALID [2020-07-18 05:12:30,849 INFO L280 TraceCheckUtils]: 7: Hoare triple {2639#(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 {2639#(and (= 0 ~elem~0.offset) (= 0 ~guard_malloc_counter~0.offset))} is VALID [2020-07-18 05:12:30,850 INFO L280 TraceCheckUtils]: 8: Hoare triple {2639#(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 {2639#(and (= 0 ~elem~0.offset) (= 0 ~guard_malloc_counter~0.offset))} is VALID [2020-07-18 05:12:30,851 INFO L280 TraceCheckUtils]: 9: Hoare triple {2639#(and (= 0 ~elem~0.offset) (= 0 ~guard_malloc_counter~0.offset))} assume true; {2639#(and (= 0 ~elem~0.offset) (= 0 ~guard_malloc_counter~0.offset))} is VALID [2020-07-18 05:12:30,851 INFO L275 TraceCheckUtils]: 10: Hoare quadruple {2639#(and (= 0 ~elem~0.offset) (= 0 ~guard_malloc_counter~0.offset))} {2627#true} #109#return; {2639#(and (= 0 ~elem~0.offset) (= 0 ~guard_malloc_counter~0.offset))} is VALID [2020-07-18 05:12:30,852 INFO L263 TraceCheckUtils]: 11: Hoare triple {2639#(and (= 0 ~elem~0.offset) (= 0 ~guard_malloc_counter~0.offset))} call #t~ret34 := main(); {2639#(and (= 0 ~elem~0.offset) (= 0 ~guard_malloc_counter~0.offset))} is VALID [2020-07-18 05:12:30,853 INFO L280 TraceCheckUtils]: 12: Hoare triple {2639#(and (= 0 ~elem~0.offset) (= 0 ~guard_malloc_counter~0.offset))} havoc ~dev1~0.base, ~dev1~0.offset; {2639#(and (= 0 ~elem~0.offset) (= 0 ~guard_malloc_counter~0.offset))} is VALID [2020-07-18 05:12:30,853 INFO L280 TraceCheckUtils]: 13: Hoare triple {2639#(and (= 0 ~elem~0.offset) (= 0 ~guard_malloc_counter~0.offset))} havoc ~dev2~0.base, ~dev2~0.offset; {2639#(and (= 0 ~elem~0.offset) (= 0 ~guard_malloc_counter~0.offset))} is VALID [2020-07-18 05:12:30,854 INFO L263 TraceCheckUtils]: 14: Hoare triple {2639#(and (= 0 ~elem~0.offset) (= 0 ~guard_malloc_counter~0.offset))} call #t~ret32.base, #t~ret32.offset := my_malloc(8); {2688#(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-18 05:12:30,855 INFO L280 TraceCheckUtils]: 15: Hoare triple {2688#(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; {2689#(= ~guard_malloc_counter~0.offset |old(~guard_malloc_counter~0.offset)|)} is VALID [2020-07-18 05:12:30,856 INFO L263 TraceCheckUtils]: 16: Hoare triple {2689#(= ~guard_malloc_counter~0.offset |old(~guard_malloc_counter~0.offset)|)} call #t~ret30.base, #t~ret30.offset := __getMemory(~size); {2688#(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-18 05:12:30,856 INFO L280 TraceCheckUtils]: 17: Hoare triple {2688#(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; {2689#(= ~guard_malloc_counter~0.offset |old(~guard_malloc_counter~0.offset)|)} is VALID [2020-07-18 05:12:30,857 INFO L280 TraceCheckUtils]: 18: Hoare triple {2689#(= ~guard_malloc_counter~0.offset |old(~guard_malloc_counter~0.offset)|)} assume ~size > 0; {2689#(= ~guard_malloc_counter~0.offset |old(~guard_malloc_counter~0.offset)|)} is VALID [2020-07-18 05:12:30,857 INFO L280 TraceCheckUtils]: 19: Hoare triple {2689#(= ~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; {2703#(= |old(~guard_malloc_counter~0.offset)| |__getMemory_#t~post28.offset|)} is VALID [2020-07-18 05:12:30,858 INFO L280 TraceCheckUtils]: 20: Hoare triple {2703#(= |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; {2704#(<= (+ |old(~guard_malloc_counter~0.offset)| 1) ~guard_malloc_counter~0.offset)} is VALID [2020-07-18 05:12:30,859 INFO L280 TraceCheckUtils]: 21: Hoare triple {2704#(<= (+ |old(~guard_malloc_counter~0.offset)| 1) ~guard_malloc_counter~0.offset)} havoc #t~post28.base, #t~post28.offset; {2704#(<= (+ |old(~guard_malloc_counter~0.offset)| 1) ~guard_malloc_counter~0.offset)} is VALID [2020-07-18 05:12:30,859 INFO L280 TraceCheckUtils]: 22: Hoare triple {2704#(<= (+ |old(~guard_malloc_counter~0.offset)| 1) ~guard_malloc_counter~0.offset)} assume -2147483648 <= #t~nondet29 && #t~nondet29 <= 2147483647; {2704#(<= (+ |old(~guard_malloc_counter~0.offset)| 1) ~guard_malloc_counter~0.offset)} is VALID [2020-07-18 05:12:30,860 INFO L280 TraceCheckUtils]: 23: Hoare triple {2704#(<= (+ |old(~guard_malloc_counter~0.offset)| 1) ~guard_malloc_counter~0.offset)} assume !(0 == #t~nondet29); {2704#(<= (+ |old(~guard_malloc_counter~0.offset)| 1) ~guard_malloc_counter~0.offset)} is VALID [2020-07-18 05:12:30,860 INFO L280 TraceCheckUtils]: 24: Hoare triple {2704#(<= (+ |old(~guard_malloc_counter~0.offset)| 1) ~guard_malloc_counter~0.offset)} havoc #t~nondet29; {2704#(<= (+ |old(~guard_malloc_counter~0.offset)| 1) ~guard_malloc_counter~0.offset)} is VALID [2020-07-18 05:12:30,861 INFO L280 TraceCheckUtils]: 25: Hoare triple {2704#(<= (+ |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; {2705#(<= (+ |old(~guard_malloc_counter~0.offset)| 1) |__getMemory_#res.offset|)} is VALID [2020-07-18 05:12:30,862 INFO L280 TraceCheckUtils]: 26: Hoare triple {2705#(<= (+ |old(~guard_malloc_counter~0.offset)| 1) |__getMemory_#res.offset|)} assume true; {2705#(<= (+ |old(~guard_malloc_counter~0.offset)| 1) |__getMemory_#res.offset|)} is VALID [2020-07-18 05:12:30,863 INFO L275 TraceCheckUtils]: 27: Hoare quadruple {2705#(<= (+ |old(~guard_malloc_counter~0.offset)| 1) |__getMemory_#res.offset|)} {2689#(= ~guard_malloc_counter~0.offset |old(~guard_malloc_counter~0.offset)|)} #91#return; {2701#(<= (+ |old(~guard_malloc_counter~0.offset)| 1) |my_malloc_#t~ret30.offset|)} is VALID [2020-07-18 05:12:30,864 INFO L280 TraceCheckUtils]: 28: Hoare triple {2701#(<= (+ |old(~guard_malloc_counter~0.offset)| 1) |my_malloc_#t~ret30.offset|)} #res.base, #res.offset := #t~ret30.base, #t~ret30.offset; {2702#(<= (+ |old(~guard_malloc_counter~0.offset)| 1) |my_malloc_#res.offset|)} is VALID [2020-07-18 05:12:30,864 INFO L280 TraceCheckUtils]: 29: Hoare triple {2702#(<= (+ |old(~guard_malloc_counter~0.offset)| 1) |my_malloc_#res.offset|)} havoc #t~ret30.base, #t~ret30.offset; {2702#(<= (+ |old(~guard_malloc_counter~0.offset)| 1) |my_malloc_#res.offset|)} is VALID [2020-07-18 05:12:30,865 INFO L280 TraceCheckUtils]: 30: Hoare triple {2702#(<= (+ |old(~guard_malloc_counter~0.offset)| 1) |my_malloc_#res.offset|)} assume true; {2702#(<= (+ |old(~guard_malloc_counter~0.offset)| 1) |my_malloc_#res.offset|)} is VALID [2020-07-18 05:12:30,866 INFO L275 TraceCheckUtils]: 31: Hoare quadruple {2702#(<= (+ |old(~guard_malloc_counter~0.offset)| 1) |my_malloc_#res.offset|)} {2639#(and (= 0 ~elem~0.offset) (= 0 ~guard_malloc_counter~0.offset))} #93#return; {2657#(and (= 0 ~elem~0.offset) (<= 1 |main_#t~ret32.offset|))} is VALID [2020-07-18 05:12:30,867 INFO L280 TraceCheckUtils]: 32: Hoare triple {2657#(and (= 0 ~elem~0.offset) (<= 1 |main_#t~ret32.offset|))} ~dev1~0.base, ~dev1~0.offset := #t~ret32.base, #t~ret32.offset; {2658#(and (<= 1 main_~dev1~0.offset) (= 0 ~elem~0.offset))} is VALID [2020-07-18 05:12:30,867 INFO L280 TraceCheckUtils]: 33: Hoare triple {2658#(and (<= 1 main_~dev1~0.offset) (= 0 ~elem~0.offset))} havoc #t~ret32.base, #t~ret32.offset; {2658#(and (<= 1 main_~dev1~0.offset) (= 0 ~elem~0.offset))} is VALID [2020-07-18 05:12:30,868 INFO L263 TraceCheckUtils]: 34: Hoare triple {2658#(and (<= 1 main_~dev1~0.offset) (= 0 ~elem~0.offset))} call #t~ret33.base, #t~ret33.offset := my_malloc(8); {2688#(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-18 05:12:30,868 INFO L280 TraceCheckUtils]: 35: Hoare triple {2688#(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; {2627#true} is VALID [2020-07-18 05:12:30,869 INFO L263 TraceCheckUtils]: 36: Hoare triple {2627#true} call #t~ret30.base, #t~ret30.offset := __getMemory(~size); {2688#(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-18 05:12:30,869 INFO L280 TraceCheckUtils]: 37: Hoare triple {2688#(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; {2627#true} is VALID [2020-07-18 05:12:30,870 INFO L280 TraceCheckUtils]: 38: Hoare triple {2627#true} assume ~size > 0; {2627#true} is VALID [2020-07-18 05:12:30,870 INFO L280 TraceCheckUtils]: 39: Hoare triple {2627#true} #t~post28.base, #t~post28.offset := ~guard_malloc_counter~0.base, ~guard_malloc_counter~0.offset; {2627#true} is VALID [2020-07-18 05:12:30,870 INFO L280 TraceCheckUtils]: 40: Hoare triple {2627#true} ~guard_malloc_counter~0.base, ~guard_malloc_counter~0.offset := #t~post28.base, 1 + #t~post28.offset; {2627#true} is VALID [2020-07-18 05:12:30,870 INFO L280 TraceCheckUtils]: 41: Hoare triple {2627#true} havoc #t~post28.base, #t~post28.offset; {2627#true} is VALID [2020-07-18 05:12:30,870 INFO L280 TraceCheckUtils]: 42: Hoare triple {2627#true} assume -2147483648 <= #t~nondet29 && #t~nondet29 <= 2147483647; {2627#true} is VALID [2020-07-18 05:12:30,871 INFO L280 TraceCheckUtils]: 43: Hoare triple {2627#true} assume !(0 == #t~nondet29); {2627#true} is VALID [2020-07-18 05:12:30,871 INFO L280 TraceCheckUtils]: 44: Hoare triple {2627#true} havoc #t~nondet29; {2627#true} is VALID [2020-07-18 05:12:30,871 INFO L280 TraceCheckUtils]: 45: Hoare triple {2627#true} #res.base, #res.offset := ~guard_malloc_counter~0.base, ~guard_malloc_counter~0.offset; {2627#true} is VALID [2020-07-18 05:12:30,871 INFO L280 TraceCheckUtils]: 46: Hoare triple {2627#true} assume true; {2627#true} is VALID [2020-07-18 05:12:30,871 INFO L275 TraceCheckUtils]: 47: Hoare quadruple {2627#true} {2627#true} #91#return; {2627#true} is VALID [2020-07-18 05:12:30,872 INFO L280 TraceCheckUtils]: 48: Hoare triple {2627#true} #res.base, #res.offset := #t~ret30.base, #t~ret30.offset; {2627#true} is VALID [2020-07-18 05:12:30,872 INFO L280 TraceCheckUtils]: 49: Hoare triple {2627#true} havoc #t~ret30.base, #t~ret30.offset; {2627#true} is VALID [2020-07-18 05:12:30,872 INFO L280 TraceCheckUtils]: 50: Hoare triple {2627#true} assume true; {2627#true} is VALID [2020-07-18 05:12:30,873 INFO L275 TraceCheckUtils]: 51: Hoare quadruple {2627#true} {2658#(and (<= 1 main_~dev1~0.offset) (= 0 ~elem~0.offset))} #95#return; {2658#(and (<= 1 main_~dev1~0.offset) (= 0 ~elem~0.offset))} is VALID [2020-07-18 05:12:30,874 INFO L280 TraceCheckUtils]: 52: Hoare triple {2658#(and (<= 1 main_~dev1~0.offset) (= 0 ~elem~0.offset))} ~dev2~0.base, ~dev2~0.offset := #t~ret33.base, #t~ret33.offset; {2658#(and (<= 1 main_~dev1~0.offset) (= 0 ~elem~0.offset))} is VALID [2020-07-18 05:12:30,874 INFO L280 TraceCheckUtils]: 53: Hoare triple {2658#(and (<= 1 main_~dev1~0.offset) (= 0 ~elem~0.offset))} havoc #t~ret33.base, #t~ret33.offset; {2658#(and (<= 1 main_~dev1~0.offset) (= 0 ~elem~0.offset))} is VALID [2020-07-18 05:12:30,875 INFO L280 TraceCheckUtils]: 54: Hoare triple {2658#(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); {2658#(and (<= 1 main_~dev1~0.offset) (= 0 ~elem~0.offset))} is VALID [2020-07-18 05:12:30,876 INFO L263 TraceCheckUtils]: 55: Hoare triple {2658#(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); {2717#(and (= ~elem~0.base |old(~elem~0.base)|) (= ~elem~0.offset |old(~elem~0.offset)|))} is VALID [2020-07-18 05:12:30,877 INFO L280 TraceCheckUtils]: 56: Hoare triple {2717#(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; {2718#(= |old(~elem~0.offset)| ~elem~0.offset)} is VALID [2020-07-18 05:12:30,877 INFO L280 TraceCheckUtils]: 57: Hoare triple {2718#(= |old(~elem~0.offset)| ~elem~0.offset)} ~head.base, ~head.offset := #in~head.base, #in~head.offset; {2718#(= |old(~elem~0.offset)| ~elem~0.offset)} is VALID [2020-07-18 05:12:30,878 INFO L280 TraceCheckUtils]: 58: Hoare triple {2718#(= |old(~elem~0.offset)| ~elem~0.offset)} assume ~new.base != ~elem~0.base || ~new.offset != ~elem~0.offset; {2718#(= |old(~elem~0.offset)| ~elem~0.offset)} is VALID [2020-07-18 05:12:30,879 INFO L280 TraceCheckUtils]: 59: Hoare triple {2718#(= |old(~elem~0.offset)| ~elem~0.offset)} assume -2147483648 <= #t~nondet31 && #t~nondet31 <= 2147483647; {2718#(= |old(~elem~0.offset)| ~elem~0.offset)} is VALID [2020-07-18 05:12:30,879 INFO L280 TraceCheckUtils]: 60: Hoare triple {2718#(= |old(~elem~0.offset)| ~elem~0.offset)} assume !(0 != #t~nondet31); {2718#(= |old(~elem~0.offset)| ~elem~0.offset)} is VALID [2020-07-18 05:12:30,880 INFO L280 TraceCheckUtils]: 61: Hoare triple {2718#(= |old(~elem~0.offset)| ~elem~0.offset)} havoc #t~nondet31; {2718#(= |old(~elem~0.offset)| ~elem~0.offset)} is VALID [2020-07-18 05:12:30,880 INFO L280 TraceCheckUtils]: 62: Hoare triple {2718#(= |old(~elem~0.offset)| ~elem~0.offset)} assume true; {2718#(= |old(~elem~0.offset)| ~elem~0.offset)} is VALID [2020-07-18 05:12:30,882 INFO L275 TraceCheckUtils]: 63: Hoare quadruple {2718#(= |old(~elem~0.offset)| ~elem~0.offset)} {2658#(and (<= 1 main_~dev1~0.offset) (= 0 ~elem~0.offset))} #97#return; {2658#(and (<= 1 main_~dev1~0.offset) (= 0 ~elem~0.offset))} is VALID [2020-07-18 05:12:30,883 INFO L263 TraceCheckUtils]: 64: Hoare triple {2658#(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); {2684#(and (= 0 ~elem~0.offset) (<= 1 |list_add_#in~new.offset|))} is VALID [2020-07-18 05:12:30,883 INFO L280 TraceCheckUtils]: 65: Hoare triple {2684#(and (= 0 ~elem~0.offset) (<= 1 |list_add_#in~new.offset|))} ~new.base, ~new.offset := #in~new.base, #in~new.offset; {2685#(and (= 0 ~elem~0.offset) (not (= 0 list_add_~new.offset)))} is VALID [2020-07-18 05:12:30,884 INFO L280 TraceCheckUtils]: 66: Hoare triple {2685#(and (= 0 ~elem~0.offset) (not (= 0 list_add_~new.offset)))} ~head.base, ~head.offset := #in~head.base, #in~head.offset; {2685#(and (= 0 ~elem~0.offset) (not (= 0 list_add_~new.offset)))} is VALID [2020-07-18 05:12:30,885 INFO L280 TraceCheckUtils]: 67: Hoare triple {2685#(and (= 0 ~elem~0.offset) (not (= 0 list_add_~new.offset)))} assume !(~new.base != ~elem~0.base || ~new.offset != ~elem~0.offset); {2628#false} is VALID [2020-07-18 05:12:30,885 INFO L263 TraceCheckUtils]: 68: Hoare triple {2628#false} call __blast_assert(); {2628#false} is VALID [2020-07-18 05:12:30,885 INFO L280 TraceCheckUtils]: 69: Hoare triple {2628#false} assume !false; {2628#false} is VALID [2020-07-18 05:12:30,892 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-18 05:12:30,892 INFO L354 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModulePreferences [1551450452] [2020-07-18 05:12:30,893 INFO L220 FreeRefinementEngine]: Constructing automaton from 0 perfect and 1 imperfect interpolant sequences. [2020-07-18 05:12:30,893 INFO L233 FreeRefinementEngine]: Number of different interpolants: perfect sequences [] imperfect sequences [18] total 18 [2020-07-18 05:12:30,893 INFO L156 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [2027496900] [2020-07-18 05:12:30,894 INFO L78 Accepts]: Start accepts. Automaton has 18 states. Word has length 70 [2020-07-18 05:12:30,894 INFO L84 Accepts]: Finished accepts. word is accepted. [2020-07-18 05:12:30,894 INFO L86 InductivityCheck]: Starting indutivity check of a Floyd-Hoare automaton with 18 states. [2020-07-18 05:12:30,967 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-18 05:12:30,967 INFO L459 AbstractCegarLoop]: Interpolant automaton has 18 states [2020-07-18 05:12:30,968 INFO L143 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy FIXED_PREFERENCES [2020-07-18 05:12:30,968 INFO L142 InterpolantAutomaton]: Constructing interpolant automaton starting with 18 interpolants. [2020-07-18 05:12:30,968 INFO L144 InterpolantAutomaton]: CoverageRelationStatistics Valid=40, Invalid=266, Unknown=0, NotChecked=0, Total=306 [2020-07-18 05:12:30,969 INFO L87 Difference]: Start difference. First operand 76 states and 83 transitions. Second operand 18 states. [2020-07-18 05:12:34,263 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2020-07-18 05:12:34,264 INFO L93 Difference]: Finished difference Result 89 states and 96 transitions. [2020-07-18 05:12:34,264 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 22 states. [2020-07-18 05:12:34,264 INFO L78 Accepts]: Start accepts. Automaton has 18 states. Word has length 70 [2020-07-18 05:12:34,264 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2020-07-18 05:12:34,265 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 18 states. [2020-07-18 05:12:34,268 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 22 states to 22 states and 88 transitions. [2020-07-18 05:12:34,268 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 18 states. [2020-07-18 05:12:34,271 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 22 states to 22 states and 88 transitions. [2020-07-18 05:12:34,272 INFO L86 InductivityCheck]: Starting indutivity check of a Floyd-Hoare automaton with 22 states and 88 transitions. [2020-07-18 05:12:34,419 INFO L119 InductivityCheck]: Floyd-Hoare automaton has 88 edges. 88 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2020-07-18 05:12:34,422 INFO L225 Difference]: With dead ends: 89 [2020-07-18 05:12:34,422 INFO L226 Difference]: Without dead ends: 86 [2020-07-18 05:12:34,424 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-18 05:12:34,424 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 86 states. [2020-07-18 05:12:34,722 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 86 to 76. [2020-07-18 05:12:34,722 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2020-07-18 05:12:34,723 INFO L82 GeneralOperation]: Start isEquivalent. First operand 86 states. Second operand 76 states. [2020-07-18 05:12:34,723 INFO L74 IsIncluded]: Start isIncluded. First operand 86 states. Second operand 76 states. [2020-07-18 05:12:34,723 INFO L87 Difference]: Start difference. First operand 86 states. Second operand 76 states. [2020-07-18 05:12:34,728 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2020-07-18 05:12:34,728 INFO L93 Difference]: Finished difference Result 86 states and 93 transitions. [2020-07-18 05:12:34,728 INFO L276 IsEmpty]: Start isEmpty. Operand 86 states and 93 transitions. [2020-07-18 05:12:34,728 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2020-07-18 05:12:34,729 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2020-07-18 05:12:34,729 INFO L74 IsIncluded]: Start isIncluded. First operand 76 states. Second operand 86 states. [2020-07-18 05:12:34,729 INFO L87 Difference]: Start difference. First operand 76 states. Second operand 86 states. [2020-07-18 05:12:34,733 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2020-07-18 05:12:34,733 INFO L93 Difference]: Finished difference Result 86 states and 93 transitions. [2020-07-18 05:12:34,733 INFO L276 IsEmpty]: Start isEmpty. Operand 86 states and 93 transitions. [2020-07-18 05:12:34,734 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2020-07-18 05:12:34,734 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2020-07-18 05:12:34,734 INFO L88 GeneralOperation]: Finished isEquivalent. [2020-07-18 05:12:34,734 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2020-07-18 05:12:34,734 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 76 states. [2020-07-18 05:12:34,737 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 76 states to 76 states and 82 transitions. [2020-07-18 05:12:34,738 INFO L78 Accepts]: Start accepts. Automaton has 76 states and 82 transitions. Word has length 70 [2020-07-18 05:12:34,738 INFO L84 Accepts]: Finished accepts. word is rejected. [2020-07-18 05:12:34,738 INFO L479 AbstractCegarLoop]: Abstraction has 76 states and 82 transitions. [2020-07-18 05:12:34,738 INFO L480 AbstractCegarLoop]: Interpolant automaton has 18 states. [2020-07-18 05:12:34,738 INFO L86 InductivityCheck]: Starting indutivity check of a Floyd-Hoare automaton with 76 states and 82 transitions. [2020-07-18 05:12:34,897 INFO L119 InductivityCheck]: Floyd-Hoare automaton has 82 edges. 82 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2020-07-18 05:12:34,898 INFO L276 IsEmpty]: Start isEmpty. Operand 76 states and 82 transitions. [2020-07-18 05:12:34,899 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 72 [2020-07-18 05:12:34,899 INFO L414 BasicCegarLoop]: Found error trace [2020-07-18 05:12:34,899 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-18 05:12:34,900 WARN L516 AbstractCegarLoop]: Destroyed unattended storables created during the last iteration: SelfDestructingSolverStorable4 [2020-07-18 05:12:34,900 INFO L427 AbstractCegarLoop]: === Iteration 6 === [__blast_assertErr0ASSERT_VIOLATIONERROR_FUNCTION]=== [2020-07-18 05:12:34,900 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2020-07-18 05:12:34,901 INFO L82 PathProgramCache]: Analyzing trace with hash 2039706158, now seen corresponding path program 1 times [2020-07-18 05:12:34,902 INFO L163 FreeRefinementEngine]: Executing refinement strategy FIXED_PREFERENCES [2020-07-18 05:12:34,902 INFO L354 FreeRefinementEngine]: Using trace check IpTcStrategyModulePreferences [2030877653] [2020-07-18 05:12:34,902 INFO L94 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2020-07-18 05:12:34,919 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2020-07-18 05:12:35,071 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2020-07-18 05:12:35,077 INFO L280 TraceCheckUtils]: 0: Hoare triple {3318#(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; {3256#true} is VALID [2020-07-18 05:12:35,078 INFO L280 TraceCheckUtils]: 1: Hoare triple {3256#true} #valid := #valid[0 := 0]; {3256#true} is VALID [2020-07-18 05:12:35,078 INFO L280 TraceCheckUtils]: 2: Hoare triple {3256#true} assume 0 < #StackHeapBarrier; {3256#true} is VALID [2020-07-18 05:12:35,078 INFO L280 TraceCheckUtils]: 3: Hoare triple {3256#true} ~guard_malloc_counter~0.base, ~guard_malloc_counter~0.offset := 0, 0; {3256#true} is VALID [2020-07-18 05:12:35,078 INFO L280 TraceCheckUtils]: 4: Hoare triple {3256#true} ~elem~0.base, ~elem~0.offset := 0, 0; {3256#true} is VALID [2020-07-18 05:12:35,078 INFO L280 TraceCheckUtils]: 5: Hoare triple {3256#true} SUMMARY for call ~#head~0.base, ~#head~0.offset := #Ultimate.allocOnStack(8); srcloc: L900 {3256#true} is VALID [2020-07-18 05:12:35,078 INFO L280 TraceCheckUtils]: 6: Hoare triple {3256#true} SUMMARY for call write~init~$Pointer$(0, 0, ~#head~0.base, ~#head~0.offset, 4); srcloc: L900-1 {3256#true} is VALID [2020-07-18 05:12:35,079 INFO L280 TraceCheckUtils]: 7: Hoare triple {3256#true} SUMMARY for call write~init~$Pointer$(0, 0, ~#head~0.base, 4 + ~#head~0.offset, 4); srcloc: L900-2 {3256#true} is VALID [2020-07-18 05:12:35,079 INFO L280 TraceCheckUtils]: 8: Hoare triple {3256#true} assume true; {3256#true} is VALID [2020-07-18 05:12:35,079 INFO L275 TraceCheckUtils]: 9: Hoare quadruple {3256#true} {3256#true} #109#return; {3256#true} is VALID [2020-07-18 05:12:35,099 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2020-07-18 05:12:35,143 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2020-07-18 05:12:35,169 INFO L280 TraceCheckUtils]: 0: Hoare triple {3319#(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; {3256#true} is VALID [2020-07-18 05:12:35,169 INFO L280 TraceCheckUtils]: 1: Hoare triple {3256#true} assume ~size > 0; {3256#true} is VALID [2020-07-18 05:12:35,169 INFO L280 TraceCheckUtils]: 2: Hoare triple {3256#true} #t~post28.base, #t~post28.offset := ~guard_malloc_counter~0.base, ~guard_malloc_counter~0.offset; {3256#true} is VALID [2020-07-18 05:12:35,169 INFO L280 TraceCheckUtils]: 3: Hoare triple {3256#true} ~guard_malloc_counter~0.base, ~guard_malloc_counter~0.offset := #t~post28.base, 1 + #t~post28.offset; {3256#true} is VALID [2020-07-18 05:12:35,169 INFO L280 TraceCheckUtils]: 4: Hoare triple {3256#true} havoc #t~post28.base, #t~post28.offset; {3256#true} is VALID [2020-07-18 05:12:35,170 INFO L280 TraceCheckUtils]: 5: Hoare triple {3256#true} assume -2147483648 <= #t~nondet29 && #t~nondet29 <= 2147483647; {3256#true} is VALID [2020-07-18 05:12:35,170 INFO L280 TraceCheckUtils]: 6: Hoare triple {3256#true} assume !(0 == #t~nondet29); {3256#true} is VALID [2020-07-18 05:12:35,170 INFO L280 TraceCheckUtils]: 7: Hoare triple {3256#true} havoc #t~nondet29; {3256#true} is VALID [2020-07-18 05:12:35,171 INFO L280 TraceCheckUtils]: 8: Hoare triple {3256#true} #res.base, #res.offset := ~guard_malloc_counter~0.base, ~guard_malloc_counter~0.offset; {3333#(<= |__getMemory_#res.offset| ~guard_malloc_counter~0.offset)} is VALID [2020-07-18 05:12:35,171 INFO L280 TraceCheckUtils]: 9: Hoare triple {3333#(<= |__getMemory_#res.offset| ~guard_malloc_counter~0.offset)} assume true; {3333#(<= |__getMemory_#res.offset| ~guard_malloc_counter~0.offset)} is VALID [2020-07-18 05:12:35,172 INFO L275 TraceCheckUtils]: 10: Hoare quadruple {3333#(<= |__getMemory_#res.offset| ~guard_malloc_counter~0.offset)} {3256#true} #91#return; {3331#(<= |my_malloc_#t~ret30.offset| ~guard_malloc_counter~0.offset)} is VALID [2020-07-18 05:12:35,173 INFO L280 TraceCheckUtils]: 0: Hoare triple {3319#(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; {3256#true} is VALID [2020-07-18 05:12:35,173 INFO L263 TraceCheckUtils]: 1: Hoare triple {3256#true} call #t~ret30.base, #t~ret30.offset := __getMemory(~size); {3319#(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-18 05:12:35,173 INFO L280 TraceCheckUtils]: 2: Hoare triple {3319#(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; {3256#true} is VALID [2020-07-18 05:12:35,174 INFO L280 TraceCheckUtils]: 3: Hoare triple {3256#true} assume ~size > 0; {3256#true} is VALID [2020-07-18 05:12:35,174 INFO L280 TraceCheckUtils]: 4: Hoare triple {3256#true} #t~post28.base, #t~post28.offset := ~guard_malloc_counter~0.base, ~guard_malloc_counter~0.offset; {3256#true} is VALID [2020-07-18 05:12:35,174 INFO L280 TraceCheckUtils]: 5: Hoare triple {3256#true} ~guard_malloc_counter~0.base, ~guard_malloc_counter~0.offset := #t~post28.base, 1 + #t~post28.offset; {3256#true} is VALID [2020-07-18 05:12:35,174 INFO L280 TraceCheckUtils]: 6: Hoare triple {3256#true} havoc #t~post28.base, #t~post28.offset; {3256#true} is VALID [2020-07-18 05:12:35,174 INFO L280 TraceCheckUtils]: 7: Hoare triple {3256#true} assume -2147483648 <= #t~nondet29 && #t~nondet29 <= 2147483647; {3256#true} is VALID [2020-07-18 05:12:35,175 INFO L280 TraceCheckUtils]: 8: Hoare triple {3256#true} assume !(0 == #t~nondet29); {3256#true} is VALID [2020-07-18 05:12:35,175 INFO L280 TraceCheckUtils]: 9: Hoare triple {3256#true} havoc #t~nondet29; {3256#true} is VALID [2020-07-18 05:12:35,175 INFO L280 TraceCheckUtils]: 10: Hoare triple {3256#true} #res.base, #res.offset := ~guard_malloc_counter~0.base, ~guard_malloc_counter~0.offset; {3333#(<= |__getMemory_#res.offset| ~guard_malloc_counter~0.offset)} is VALID [2020-07-18 05:12:35,176 INFO L280 TraceCheckUtils]: 11: Hoare triple {3333#(<= |__getMemory_#res.offset| ~guard_malloc_counter~0.offset)} assume true; {3333#(<= |__getMemory_#res.offset| ~guard_malloc_counter~0.offset)} is VALID [2020-07-18 05:12:35,177 INFO L275 TraceCheckUtils]: 12: Hoare quadruple {3333#(<= |__getMemory_#res.offset| ~guard_malloc_counter~0.offset)} {3256#true} #91#return; {3331#(<= |my_malloc_#t~ret30.offset| ~guard_malloc_counter~0.offset)} is VALID [2020-07-18 05:12:35,178 INFO L280 TraceCheckUtils]: 13: Hoare triple {3331#(<= |my_malloc_#t~ret30.offset| ~guard_malloc_counter~0.offset)} #res.base, #res.offset := #t~ret30.base, #t~ret30.offset; {3332#(<= |my_malloc_#res.offset| ~guard_malloc_counter~0.offset)} is VALID [2020-07-18 05:12:35,178 INFO L280 TraceCheckUtils]: 14: Hoare triple {3332#(<= |my_malloc_#res.offset| ~guard_malloc_counter~0.offset)} havoc #t~ret30.base, #t~ret30.offset; {3332#(<= |my_malloc_#res.offset| ~guard_malloc_counter~0.offset)} is VALID [2020-07-18 05:12:35,178 INFO L280 TraceCheckUtils]: 15: Hoare triple {3332#(<= |my_malloc_#res.offset| ~guard_malloc_counter~0.offset)} assume true; {3332#(<= |my_malloc_#res.offset| ~guard_malloc_counter~0.offset)} is VALID [2020-07-18 05:12:35,179 INFO L275 TraceCheckUtils]: 16: Hoare quadruple {3332#(<= |my_malloc_#res.offset| ~guard_malloc_counter~0.offset)} {3256#true} #93#return; {3285#(<= |main_#t~ret32.offset| ~guard_malloc_counter~0.offset)} is VALID [2020-07-18 05:12:35,183 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2020-07-18 05:12:35,262 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2020-07-18 05:12:35,352 INFO L280 TraceCheckUtils]: 0: Hoare triple {3319#(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; {3334#(= ~guard_malloc_counter~0.offset |old(~guard_malloc_counter~0.offset)|)} is VALID [2020-07-18 05:12:35,353 INFO L280 TraceCheckUtils]: 1: Hoare triple {3334#(= ~guard_malloc_counter~0.offset |old(~guard_malloc_counter~0.offset)|)} assume ~size > 0; {3334#(= ~guard_malloc_counter~0.offset |old(~guard_malloc_counter~0.offset)|)} is VALID [2020-07-18 05:12:35,354 INFO L280 TraceCheckUtils]: 2: Hoare triple {3334#(= ~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; {3348#(= |old(~guard_malloc_counter~0.offset)| |__getMemory_#t~post28.offset|)} is VALID [2020-07-18 05:12:35,355 INFO L280 TraceCheckUtils]: 3: Hoare triple {3348#(= |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; {3349#(<= (+ |old(~guard_malloc_counter~0.offset)| 1) ~guard_malloc_counter~0.offset)} is VALID [2020-07-18 05:12:35,355 INFO L280 TraceCheckUtils]: 4: Hoare triple {3349#(<= (+ |old(~guard_malloc_counter~0.offset)| 1) ~guard_malloc_counter~0.offset)} havoc #t~post28.base, #t~post28.offset; {3349#(<= (+ |old(~guard_malloc_counter~0.offset)| 1) ~guard_malloc_counter~0.offset)} is VALID [2020-07-18 05:12:35,356 INFO L280 TraceCheckUtils]: 5: Hoare triple {3349#(<= (+ |old(~guard_malloc_counter~0.offset)| 1) ~guard_malloc_counter~0.offset)} assume -2147483648 <= #t~nondet29 && #t~nondet29 <= 2147483647; {3349#(<= (+ |old(~guard_malloc_counter~0.offset)| 1) ~guard_malloc_counter~0.offset)} is VALID [2020-07-18 05:12:35,356 INFO L280 TraceCheckUtils]: 6: Hoare triple {3349#(<= (+ |old(~guard_malloc_counter~0.offset)| 1) ~guard_malloc_counter~0.offset)} assume !(0 == #t~nondet29); {3349#(<= (+ |old(~guard_malloc_counter~0.offset)| 1) ~guard_malloc_counter~0.offset)} is VALID [2020-07-18 05:12:35,357 INFO L280 TraceCheckUtils]: 7: Hoare triple {3349#(<= (+ |old(~guard_malloc_counter~0.offset)| 1) ~guard_malloc_counter~0.offset)} havoc #t~nondet29; {3349#(<= (+ |old(~guard_malloc_counter~0.offset)| 1) ~guard_malloc_counter~0.offset)} is VALID [2020-07-18 05:12:35,357 INFO L280 TraceCheckUtils]: 8: Hoare triple {3349#(<= (+ |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; {3350#(<= (+ |old(~guard_malloc_counter~0.offset)| 1) |__getMemory_#res.offset|)} is VALID [2020-07-18 05:12:35,358 INFO L280 TraceCheckUtils]: 9: Hoare triple {3350#(<= (+ |old(~guard_malloc_counter~0.offset)| 1) |__getMemory_#res.offset|)} assume true; {3350#(<= (+ |old(~guard_malloc_counter~0.offset)| 1) |__getMemory_#res.offset|)} is VALID [2020-07-18 05:12:35,359 INFO L275 TraceCheckUtils]: 10: Hoare quadruple {3350#(<= (+ |old(~guard_malloc_counter~0.offset)| 1) |__getMemory_#res.offset|)} {3334#(= ~guard_malloc_counter~0.offset |old(~guard_malloc_counter~0.offset)|)} #91#return; {3346#(<= (+ |old(~guard_malloc_counter~0.offset)| 1) |my_malloc_#t~ret30.offset|)} is VALID [2020-07-18 05:12:35,360 INFO L280 TraceCheckUtils]: 0: Hoare triple {3319#(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; {3334#(= ~guard_malloc_counter~0.offset |old(~guard_malloc_counter~0.offset)|)} is VALID [2020-07-18 05:12:35,361 INFO L263 TraceCheckUtils]: 1: Hoare triple {3334#(= ~guard_malloc_counter~0.offset |old(~guard_malloc_counter~0.offset)|)} call #t~ret30.base, #t~ret30.offset := __getMemory(~size); {3319#(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-18 05:12:35,362 INFO L280 TraceCheckUtils]: 2: Hoare triple {3319#(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; {3334#(= ~guard_malloc_counter~0.offset |old(~guard_malloc_counter~0.offset)|)} is VALID [2020-07-18 05:12:35,363 INFO L280 TraceCheckUtils]: 3: Hoare triple {3334#(= ~guard_malloc_counter~0.offset |old(~guard_malloc_counter~0.offset)|)} assume ~size > 0; {3334#(= ~guard_malloc_counter~0.offset |old(~guard_malloc_counter~0.offset)|)} is VALID [2020-07-18 05:12:35,363 INFO L280 TraceCheckUtils]: 4: Hoare triple {3334#(= ~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; {3348#(= |old(~guard_malloc_counter~0.offset)| |__getMemory_#t~post28.offset|)} is VALID [2020-07-18 05:12:35,365 INFO L280 TraceCheckUtils]: 5: Hoare triple {3348#(= |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; {3349#(<= (+ |old(~guard_malloc_counter~0.offset)| 1) ~guard_malloc_counter~0.offset)} is VALID [2020-07-18 05:12:35,365 INFO L280 TraceCheckUtils]: 6: Hoare triple {3349#(<= (+ |old(~guard_malloc_counter~0.offset)| 1) ~guard_malloc_counter~0.offset)} havoc #t~post28.base, #t~post28.offset; {3349#(<= (+ |old(~guard_malloc_counter~0.offset)| 1) ~guard_malloc_counter~0.offset)} is VALID [2020-07-18 05:12:35,366 INFO L280 TraceCheckUtils]: 7: Hoare triple {3349#(<= (+ |old(~guard_malloc_counter~0.offset)| 1) ~guard_malloc_counter~0.offset)} assume -2147483648 <= #t~nondet29 && #t~nondet29 <= 2147483647; {3349#(<= (+ |old(~guard_malloc_counter~0.offset)| 1) ~guard_malloc_counter~0.offset)} is VALID [2020-07-18 05:12:35,367 INFO L280 TraceCheckUtils]: 8: Hoare triple {3349#(<= (+ |old(~guard_malloc_counter~0.offset)| 1) ~guard_malloc_counter~0.offset)} assume !(0 == #t~nondet29); {3349#(<= (+ |old(~guard_malloc_counter~0.offset)| 1) ~guard_malloc_counter~0.offset)} is VALID [2020-07-18 05:12:35,368 INFO L280 TraceCheckUtils]: 9: Hoare triple {3349#(<= (+ |old(~guard_malloc_counter~0.offset)| 1) ~guard_malloc_counter~0.offset)} havoc #t~nondet29; {3349#(<= (+ |old(~guard_malloc_counter~0.offset)| 1) ~guard_malloc_counter~0.offset)} is VALID [2020-07-18 05:12:35,369 INFO L280 TraceCheckUtils]: 10: Hoare triple {3349#(<= (+ |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; {3350#(<= (+ |old(~guard_malloc_counter~0.offset)| 1) |__getMemory_#res.offset|)} is VALID [2020-07-18 05:12:35,369 INFO L280 TraceCheckUtils]: 11: Hoare triple {3350#(<= (+ |old(~guard_malloc_counter~0.offset)| 1) |__getMemory_#res.offset|)} assume true; {3350#(<= (+ |old(~guard_malloc_counter~0.offset)| 1) |__getMemory_#res.offset|)} is VALID [2020-07-18 05:12:35,371 INFO L275 TraceCheckUtils]: 12: Hoare quadruple {3350#(<= (+ |old(~guard_malloc_counter~0.offset)| 1) |__getMemory_#res.offset|)} {3334#(= ~guard_malloc_counter~0.offset |old(~guard_malloc_counter~0.offset)|)} #91#return; {3346#(<= (+ |old(~guard_malloc_counter~0.offset)| 1) |my_malloc_#t~ret30.offset|)} is VALID [2020-07-18 05:12:35,372 INFO L280 TraceCheckUtils]: 13: Hoare triple {3346#(<= (+ |old(~guard_malloc_counter~0.offset)| 1) |my_malloc_#t~ret30.offset|)} #res.base, #res.offset := #t~ret30.base, #t~ret30.offset; {3347#(<= (+ |old(~guard_malloc_counter~0.offset)| 1) |my_malloc_#res.offset|)} is VALID [2020-07-18 05:12:35,373 INFO L280 TraceCheckUtils]: 14: Hoare triple {3347#(<= (+ |old(~guard_malloc_counter~0.offset)| 1) |my_malloc_#res.offset|)} havoc #t~ret30.base, #t~ret30.offset; {3347#(<= (+ |old(~guard_malloc_counter~0.offset)| 1) |my_malloc_#res.offset|)} is VALID [2020-07-18 05:12:35,373 INFO L280 TraceCheckUtils]: 15: Hoare triple {3347#(<= (+ |old(~guard_malloc_counter~0.offset)| 1) |my_malloc_#res.offset|)} assume true; {3347#(<= (+ |old(~guard_malloc_counter~0.offset)| 1) |my_malloc_#res.offset|)} is VALID [2020-07-18 05:12:35,374 INFO L275 TraceCheckUtils]: 16: Hoare quadruple {3347#(<= (+ |old(~guard_malloc_counter~0.offset)| 1) |my_malloc_#res.offset|)} {3286#(<= main_~dev1~0.offset ~guard_malloc_counter~0.offset)} #95#return; {3304#(<= (+ main_~dev1~0.offset 1) |main_#t~ret33.offset|)} is VALID [2020-07-18 05:12:35,406 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2020-07-18 05:12:35,466 INFO L280 TraceCheckUtils]: 0: Hoare triple {3351#(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; {3352#(= |list_add_#in~new.offset| list_add_~new.offset)} is VALID [2020-07-18 05:12:35,467 INFO L280 TraceCheckUtils]: 1: Hoare triple {3352#(= |list_add_#in~new.offset| list_add_~new.offset)} ~head.base, ~head.offset := #in~head.base, #in~head.offset; {3352#(= |list_add_#in~new.offset| list_add_~new.offset)} is VALID [2020-07-18 05:12:35,467 INFO L280 TraceCheckUtils]: 2: Hoare triple {3352#(= |list_add_#in~new.offset| list_add_~new.offset)} assume ~new.base != ~elem~0.base || ~new.offset != ~elem~0.offset; {3352#(= |list_add_#in~new.offset| list_add_~new.offset)} is VALID [2020-07-18 05:12:35,468 INFO L280 TraceCheckUtils]: 3: Hoare triple {3352#(= |list_add_#in~new.offset| list_add_~new.offset)} assume -2147483648 <= #t~nondet31 && #t~nondet31 <= 2147483647; {3352#(= |list_add_#in~new.offset| list_add_~new.offset)} is VALID [2020-07-18 05:12:35,468 INFO L280 TraceCheckUtils]: 4: Hoare triple {3352#(= |list_add_#in~new.offset| list_add_~new.offset)} assume 0 != #t~nondet31; {3352#(= |list_add_#in~new.offset| list_add_~new.offset)} is VALID [2020-07-18 05:12:35,469 INFO L280 TraceCheckUtils]: 5: Hoare triple {3352#(= |list_add_#in~new.offset| list_add_~new.offset)} havoc #t~nondet31; {3352#(= |list_add_#in~new.offset| list_add_~new.offset)} is VALID [2020-07-18 05:12:35,470 INFO L280 TraceCheckUtils]: 6: Hoare triple {3352#(= |list_add_#in~new.offset| list_add_~new.offset)} ~elem~0.base, ~elem~0.offset := ~new.base, ~new.offset; {3353#(= ~elem~0.offset |list_add_#in~new.offset|)} is VALID [2020-07-18 05:12:35,470 INFO L280 TraceCheckUtils]: 7: Hoare triple {3353#(= ~elem~0.offset |list_add_#in~new.offset|)} assume true; {3353#(= ~elem~0.offset |list_add_#in~new.offset|)} is VALID [2020-07-18 05:12:35,472 INFO L275 TraceCheckUtils]: 8: Hoare quadruple {3353#(= ~elem~0.offset |list_add_#in~new.offset|)} {3305#(<= (+ main_~dev1~0.offset 1) main_~dev2~0.offset)} #97#return; {3315#(<= (+ main_~dev1~0.offset 1) ~elem~0.offset)} is VALID [2020-07-18 05:12:35,473 INFO L263 TraceCheckUtils]: 0: Hoare triple {3256#true} call ULTIMATE.init(); {3318#(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-18 05:12:35,473 INFO L280 TraceCheckUtils]: 1: Hoare triple {3318#(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; {3256#true} is VALID [2020-07-18 05:12:35,473 INFO L280 TraceCheckUtils]: 2: Hoare triple {3256#true} #valid := #valid[0 := 0]; {3256#true} is VALID [2020-07-18 05:12:35,474 INFO L280 TraceCheckUtils]: 3: Hoare triple {3256#true} assume 0 < #StackHeapBarrier; {3256#true} is VALID [2020-07-18 05:12:35,474 INFO L280 TraceCheckUtils]: 4: Hoare triple {3256#true} ~guard_malloc_counter~0.base, ~guard_malloc_counter~0.offset := 0, 0; {3256#true} is VALID [2020-07-18 05:12:35,474 INFO L280 TraceCheckUtils]: 5: Hoare triple {3256#true} ~elem~0.base, ~elem~0.offset := 0, 0; {3256#true} is VALID [2020-07-18 05:12:35,474 INFO L280 TraceCheckUtils]: 6: Hoare triple {3256#true} SUMMARY for call ~#head~0.base, ~#head~0.offset := #Ultimate.allocOnStack(8); srcloc: L900 {3256#true} is VALID [2020-07-18 05:12:35,475 INFO L280 TraceCheckUtils]: 7: Hoare triple {3256#true} SUMMARY for call write~init~$Pointer$(0, 0, ~#head~0.base, ~#head~0.offset, 4); srcloc: L900-1 {3256#true} is VALID [2020-07-18 05:12:35,475 INFO L280 TraceCheckUtils]: 8: Hoare triple {3256#true} SUMMARY for call write~init~$Pointer$(0, 0, ~#head~0.base, 4 + ~#head~0.offset, 4); srcloc: L900-2 {3256#true} is VALID [2020-07-18 05:12:35,475 INFO L280 TraceCheckUtils]: 9: Hoare triple {3256#true} assume true; {3256#true} is VALID [2020-07-18 05:12:35,476 INFO L275 TraceCheckUtils]: 10: Hoare quadruple {3256#true} {3256#true} #109#return; {3256#true} is VALID [2020-07-18 05:12:35,476 INFO L263 TraceCheckUtils]: 11: Hoare triple {3256#true} call #t~ret34 := main(); {3256#true} is VALID [2020-07-18 05:12:35,476 INFO L280 TraceCheckUtils]: 12: Hoare triple {3256#true} havoc ~dev1~0.base, ~dev1~0.offset; {3256#true} is VALID [2020-07-18 05:12:35,476 INFO L280 TraceCheckUtils]: 13: Hoare triple {3256#true} havoc ~dev2~0.base, ~dev2~0.offset; {3256#true} is VALID [2020-07-18 05:12:35,479 INFO L263 TraceCheckUtils]: 14: Hoare triple {3256#true} call #t~ret32.base, #t~ret32.offset := my_malloc(8); {3319#(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-18 05:12:35,479 INFO L280 TraceCheckUtils]: 15: Hoare triple {3319#(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; {3256#true} is VALID [2020-07-18 05:12:35,480 INFO L263 TraceCheckUtils]: 16: Hoare triple {3256#true} call #t~ret30.base, #t~ret30.offset := __getMemory(~size); {3319#(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-18 05:12:35,480 INFO L280 TraceCheckUtils]: 17: Hoare triple {3319#(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; {3256#true} is VALID [2020-07-18 05:12:35,481 INFO L280 TraceCheckUtils]: 18: Hoare triple {3256#true} assume ~size > 0; {3256#true} is VALID [2020-07-18 05:12:35,481 INFO L280 TraceCheckUtils]: 19: Hoare triple {3256#true} #t~post28.base, #t~post28.offset := ~guard_malloc_counter~0.base, ~guard_malloc_counter~0.offset; {3256#true} is VALID [2020-07-18 05:12:35,481 INFO L280 TraceCheckUtils]: 20: Hoare triple {3256#true} ~guard_malloc_counter~0.base, ~guard_malloc_counter~0.offset := #t~post28.base, 1 + #t~post28.offset; {3256#true} is VALID [2020-07-18 05:12:35,481 INFO L280 TraceCheckUtils]: 21: Hoare triple {3256#true} havoc #t~post28.base, #t~post28.offset; {3256#true} is VALID [2020-07-18 05:12:35,482 INFO L280 TraceCheckUtils]: 22: Hoare triple {3256#true} assume -2147483648 <= #t~nondet29 && #t~nondet29 <= 2147483647; {3256#true} is VALID [2020-07-18 05:12:35,482 INFO L280 TraceCheckUtils]: 23: Hoare triple {3256#true} assume !(0 == #t~nondet29); {3256#true} is VALID [2020-07-18 05:12:35,482 INFO L280 TraceCheckUtils]: 24: Hoare triple {3256#true} havoc #t~nondet29; {3256#true} is VALID [2020-07-18 05:12:35,483 INFO L280 TraceCheckUtils]: 25: Hoare triple {3256#true} #res.base, #res.offset := ~guard_malloc_counter~0.base, ~guard_malloc_counter~0.offset; {3333#(<= |__getMemory_#res.offset| ~guard_malloc_counter~0.offset)} is VALID [2020-07-18 05:12:35,484 INFO L280 TraceCheckUtils]: 26: Hoare triple {3333#(<= |__getMemory_#res.offset| ~guard_malloc_counter~0.offset)} assume true; {3333#(<= |__getMemory_#res.offset| ~guard_malloc_counter~0.offset)} is VALID [2020-07-18 05:12:35,485 INFO L275 TraceCheckUtils]: 27: Hoare quadruple {3333#(<= |__getMemory_#res.offset| ~guard_malloc_counter~0.offset)} {3256#true} #91#return; {3331#(<= |my_malloc_#t~ret30.offset| ~guard_malloc_counter~0.offset)} is VALID [2020-07-18 05:12:35,486 INFO L280 TraceCheckUtils]: 28: Hoare triple {3331#(<= |my_malloc_#t~ret30.offset| ~guard_malloc_counter~0.offset)} #res.base, #res.offset := #t~ret30.base, #t~ret30.offset; {3332#(<= |my_malloc_#res.offset| ~guard_malloc_counter~0.offset)} is VALID [2020-07-18 05:12:35,486 INFO L280 TraceCheckUtils]: 29: Hoare triple {3332#(<= |my_malloc_#res.offset| ~guard_malloc_counter~0.offset)} havoc #t~ret30.base, #t~ret30.offset; {3332#(<= |my_malloc_#res.offset| ~guard_malloc_counter~0.offset)} is VALID [2020-07-18 05:12:35,487 INFO L280 TraceCheckUtils]: 30: Hoare triple {3332#(<= |my_malloc_#res.offset| ~guard_malloc_counter~0.offset)} assume true; {3332#(<= |my_malloc_#res.offset| ~guard_malloc_counter~0.offset)} is VALID [2020-07-18 05:12:35,488 INFO L275 TraceCheckUtils]: 31: Hoare quadruple {3332#(<= |my_malloc_#res.offset| ~guard_malloc_counter~0.offset)} {3256#true} #93#return; {3285#(<= |main_#t~ret32.offset| ~guard_malloc_counter~0.offset)} is VALID [2020-07-18 05:12:35,489 INFO L280 TraceCheckUtils]: 32: Hoare triple {3285#(<= |main_#t~ret32.offset| ~guard_malloc_counter~0.offset)} ~dev1~0.base, ~dev1~0.offset := #t~ret32.base, #t~ret32.offset; {3286#(<= main_~dev1~0.offset ~guard_malloc_counter~0.offset)} is VALID [2020-07-18 05:12:35,490 INFO L280 TraceCheckUtils]: 33: Hoare triple {3286#(<= main_~dev1~0.offset ~guard_malloc_counter~0.offset)} havoc #t~ret32.base, #t~ret32.offset; {3286#(<= main_~dev1~0.offset ~guard_malloc_counter~0.offset)} is VALID [2020-07-18 05:12:35,491 INFO L263 TraceCheckUtils]: 34: Hoare triple {3286#(<= main_~dev1~0.offset ~guard_malloc_counter~0.offset)} call #t~ret33.base, #t~ret33.offset := my_malloc(8); {3319#(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-18 05:12:35,492 INFO L280 TraceCheckUtils]: 35: Hoare triple {3319#(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; {3334#(= ~guard_malloc_counter~0.offset |old(~guard_malloc_counter~0.offset)|)} is VALID [2020-07-18 05:12:35,494 INFO L263 TraceCheckUtils]: 36: Hoare triple {3334#(= ~guard_malloc_counter~0.offset |old(~guard_malloc_counter~0.offset)|)} call #t~ret30.base, #t~ret30.offset := __getMemory(~size); {3319#(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-18 05:12:35,495 INFO L280 TraceCheckUtils]: 37: Hoare triple {3319#(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; {3334#(= ~guard_malloc_counter~0.offset |old(~guard_malloc_counter~0.offset)|)} is VALID [2020-07-18 05:12:35,496 INFO L280 TraceCheckUtils]: 38: Hoare triple {3334#(= ~guard_malloc_counter~0.offset |old(~guard_malloc_counter~0.offset)|)} assume ~size > 0; {3334#(= ~guard_malloc_counter~0.offset |old(~guard_malloc_counter~0.offset)|)} is VALID [2020-07-18 05:12:35,496 INFO L280 TraceCheckUtils]: 39: Hoare triple {3334#(= ~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; {3348#(= |old(~guard_malloc_counter~0.offset)| |__getMemory_#t~post28.offset|)} is VALID [2020-07-18 05:12:35,498 INFO L280 TraceCheckUtils]: 40: Hoare triple {3348#(= |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; {3349#(<= (+ |old(~guard_malloc_counter~0.offset)| 1) ~guard_malloc_counter~0.offset)} is VALID [2020-07-18 05:12:35,498 INFO L280 TraceCheckUtils]: 41: Hoare triple {3349#(<= (+ |old(~guard_malloc_counter~0.offset)| 1) ~guard_malloc_counter~0.offset)} havoc #t~post28.base, #t~post28.offset; {3349#(<= (+ |old(~guard_malloc_counter~0.offset)| 1) ~guard_malloc_counter~0.offset)} is VALID [2020-07-18 05:12:35,499 INFO L280 TraceCheckUtils]: 42: Hoare triple {3349#(<= (+ |old(~guard_malloc_counter~0.offset)| 1) ~guard_malloc_counter~0.offset)} assume -2147483648 <= #t~nondet29 && #t~nondet29 <= 2147483647; {3349#(<= (+ |old(~guard_malloc_counter~0.offset)| 1) ~guard_malloc_counter~0.offset)} is VALID [2020-07-18 05:12:35,500 INFO L280 TraceCheckUtils]: 43: Hoare triple {3349#(<= (+ |old(~guard_malloc_counter~0.offset)| 1) ~guard_malloc_counter~0.offset)} assume !(0 == #t~nondet29); {3349#(<= (+ |old(~guard_malloc_counter~0.offset)| 1) ~guard_malloc_counter~0.offset)} is VALID [2020-07-18 05:12:35,500 INFO L280 TraceCheckUtils]: 44: Hoare triple {3349#(<= (+ |old(~guard_malloc_counter~0.offset)| 1) ~guard_malloc_counter~0.offset)} havoc #t~nondet29; {3349#(<= (+ |old(~guard_malloc_counter~0.offset)| 1) ~guard_malloc_counter~0.offset)} is VALID [2020-07-18 05:12:35,501 INFO L280 TraceCheckUtils]: 45: Hoare triple {3349#(<= (+ |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; {3350#(<= (+ |old(~guard_malloc_counter~0.offset)| 1) |__getMemory_#res.offset|)} is VALID [2020-07-18 05:12:35,502 INFO L280 TraceCheckUtils]: 46: Hoare triple {3350#(<= (+ |old(~guard_malloc_counter~0.offset)| 1) |__getMemory_#res.offset|)} assume true; {3350#(<= (+ |old(~guard_malloc_counter~0.offset)| 1) |__getMemory_#res.offset|)} is VALID [2020-07-18 05:12:35,503 INFO L275 TraceCheckUtils]: 47: Hoare quadruple {3350#(<= (+ |old(~guard_malloc_counter~0.offset)| 1) |__getMemory_#res.offset|)} {3334#(= ~guard_malloc_counter~0.offset |old(~guard_malloc_counter~0.offset)|)} #91#return; {3346#(<= (+ |old(~guard_malloc_counter~0.offset)| 1) |my_malloc_#t~ret30.offset|)} is VALID [2020-07-18 05:12:35,504 INFO L280 TraceCheckUtils]: 48: Hoare triple {3346#(<= (+ |old(~guard_malloc_counter~0.offset)| 1) |my_malloc_#t~ret30.offset|)} #res.base, #res.offset := #t~ret30.base, #t~ret30.offset; {3347#(<= (+ |old(~guard_malloc_counter~0.offset)| 1) |my_malloc_#res.offset|)} is VALID [2020-07-18 05:12:35,505 INFO L280 TraceCheckUtils]: 49: Hoare triple {3347#(<= (+ |old(~guard_malloc_counter~0.offset)| 1) |my_malloc_#res.offset|)} havoc #t~ret30.base, #t~ret30.offset; {3347#(<= (+ |old(~guard_malloc_counter~0.offset)| 1) |my_malloc_#res.offset|)} is VALID [2020-07-18 05:12:35,506 INFO L280 TraceCheckUtils]: 50: Hoare triple {3347#(<= (+ |old(~guard_malloc_counter~0.offset)| 1) |my_malloc_#res.offset|)} assume true; {3347#(<= (+ |old(~guard_malloc_counter~0.offset)| 1) |my_malloc_#res.offset|)} is VALID [2020-07-18 05:12:35,507 INFO L275 TraceCheckUtils]: 51: Hoare quadruple {3347#(<= (+ |old(~guard_malloc_counter~0.offset)| 1) |my_malloc_#res.offset|)} {3286#(<= main_~dev1~0.offset ~guard_malloc_counter~0.offset)} #95#return; {3304#(<= (+ main_~dev1~0.offset 1) |main_#t~ret33.offset|)} is VALID [2020-07-18 05:12:35,508 INFO L280 TraceCheckUtils]: 52: Hoare triple {3304#(<= (+ main_~dev1~0.offset 1) |main_#t~ret33.offset|)} ~dev2~0.base, ~dev2~0.offset := #t~ret33.base, #t~ret33.offset; {3305#(<= (+ main_~dev1~0.offset 1) main_~dev2~0.offset)} is VALID [2020-07-18 05:12:35,508 INFO L280 TraceCheckUtils]: 53: Hoare triple {3305#(<= (+ main_~dev1~0.offset 1) main_~dev2~0.offset)} havoc #t~ret33.base, #t~ret33.offset; {3305#(<= (+ main_~dev1~0.offset 1) main_~dev2~0.offset)} is VALID [2020-07-18 05:12:35,509 INFO L280 TraceCheckUtils]: 54: Hoare triple {3305#(<= (+ 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); {3305#(<= (+ main_~dev1~0.offset 1) main_~dev2~0.offset)} is VALID [2020-07-18 05:12:35,510 INFO L263 TraceCheckUtils]: 55: Hoare triple {3305#(<= (+ main_~dev1~0.offset 1) main_~dev2~0.offset)} call list_add(~dev2~0.base, ~dev2~0.offset, ~#head~0.base, ~#head~0.offset); {3351#(and (= ~elem~0.base |old(~elem~0.base)|) (= ~elem~0.offset |old(~elem~0.offset)|))} is VALID [2020-07-18 05:12:35,511 INFO L280 TraceCheckUtils]: 56: Hoare triple {3351#(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; {3352#(= |list_add_#in~new.offset| list_add_~new.offset)} is VALID [2020-07-18 05:12:35,511 INFO L280 TraceCheckUtils]: 57: Hoare triple {3352#(= |list_add_#in~new.offset| list_add_~new.offset)} ~head.base, ~head.offset := #in~head.base, #in~head.offset; {3352#(= |list_add_#in~new.offset| list_add_~new.offset)} is VALID [2020-07-18 05:12:35,512 INFO L280 TraceCheckUtils]: 58: Hoare triple {3352#(= |list_add_#in~new.offset| list_add_~new.offset)} assume ~new.base != ~elem~0.base || ~new.offset != ~elem~0.offset; {3352#(= |list_add_#in~new.offset| list_add_~new.offset)} is VALID [2020-07-18 05:12:35,512 INFO L280 TraceCheckUtils]: 59: Hoare triple {3352#(= |list_add_#in~new.offset| list_add_~new.offset)} assume -2147483648 <= #t~nondet31 && #t~nondet31 <= 2147483647; {3352#(= |list_add_#in~new.offset| list_add_~new.offset)} is VALID [2020-07-18 05:12:35,513 INFO L280 TraceCheckUtils]: 60: Hoare triple {3352#(= |list_add_#in~new.offset| list_add_~new.offset)} assume 0 != #t~nondet31; {3352#(= |list_add_#in~new.offset| list_add_~new.offset)} is VALID [2020-07-18 05:12:35,513 INFO L280 TraceCheckUtils]: 61: Hoare triple {3352#(= |list_add_#in~new.offset| list_add_~new.offset)} havoc #t~nondet31; {3352#(= |list_add_#in~new.offset| list_add_~new.offset)} is VALID [2020-07-18 05:12:35,514 INFO L280 TraceCheckUtils]: 62: Hoare triple {3352#(= |list_add_#in~new.offset| list_add_~new.offset)} ~elem~0.base, ~elem~0.offset := ~new.base, ~new.offset; {3353#(= ~elem~0.offset |list_add_#in~new.offset|)} is VALID [2020-07-18 05:12:35,515 INFO L280 TraceCheckUtils]: 63: Hoare triple {3353#(= ~elem~0.offset |list_add_#in~new.offset|)} assume true; {3353#(= ~elem~0.offset |list_add_#in~new.offset|)} is VALID [2020-07-18 05:12:35,516 INFO L275 TraceCheckUtils]: 64: Hoare quadruple {3353#(= ~elem~0.offset |list_add_#in~new.offset|)} {3305#(<= (+ main_~dev1~0.offset 1) main_~dev2~0.offset)} #97#return; {3315#(<= (+ main_~dev1~0.offset 1) ~elem~0.offset)} is VALID [2020-07-18 05:12:35,517 INFO L263 TraceCheckUtils]: 65: Hoare triple {3315#(<= (+ main_~dev1~0.offset 1) ~elem~0.offset)} call list_add(~dev1~0.base, ~dev1~0.offset, ~#head~0.base, ~#head~0.offset); {3316#(<= (+ |list_add_#in~new.offset| 1) ~elem~0.offset)} is VALID [2020-07-18 05:12:35,518 INFO L280 TraceCheckUtils]: 66: Hoare triple {3316#(<= (+ |list_add_#in~new.offset| 1) ~elem~0.offset)} ~new.base, ~new.offset := #in~new.base, #in~new.offset; {3317#(not (= ~elem~0.offset list_add_~new.offset))} is VALID [2020-07-18 05:12:35,519 INFO L280 TraceCheckUtils]: 67: Hoare triple {3317#(not (= ~elem~0.offset list_add_~new.offset))} ~head.base, ~head.offset := #in~head.base, #in~head.offset; {3317#(not (= ~elem~0.offset list_add_~new.offset))} is VALID [2020-07-18 05:12:35,519 INFO L280 TraceCheckUtils]: 68: Hoare triple {3317#(not (= ~elem~0.offset list_add_~new.offset))} assume !(~new.base != ~elem~0.base || ~new.offset != ~elem~0.offset); {3257#false} is VALID [2020-07-18 05:12:35,519 INFO L263 TraceCheckUtils]: 69: Hoare triple {3257#false} call __blast_assert(); {3257#false} is VALID [2020-07-18 05:12:35,520 INFO L280 TraceCheckUtils]: 70: Hoare triple {3257#false} assume !false; {3257#false} is VALID [2020-07-18 05:12:35,526 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-18 05:12:35,527 INFO L354 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModulePreferences [2030877653] [2020-07-18 05:12:35,528 INFO L220 FreeRefinementEngine]: Constructing automaton from 0 perfect and 1 imperfect interpolant sequences. [2020-07-18 05:12:35,528 INFO L233 FreeRefinementEngine]: Number of different interpolants: perfect sequences [] imperfect sequences [23] total 23 [2020-07-18 05:12:35,529 INFO L156 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [1050631457] [2020-07-18 05:12:35,529 INFO L78 Accepts]: Start accepts. Automaton has 23 states. Word has length 71 [2020-07-18 05:12:35,530 INFO L84 Accepts]: Finished accepts. word is accepted. [2020-07-18 05:12:35,530 INFO L86 InductivityCheck]: Starting indutivity check of a Floyd-Hoare automaton with 23 states. [2020-07-18 05:12:35,606 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-18 05:12:35,606 INFO L459 AbstractCegarLoop]: Interpolant automaton has 23 states [2020-07-18 05:12:35,606 INFO L143 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy FIXED_PREFERENCES [2020-07-18 05:12:35,607 INFO L142 InterpolantAutomaton]: Constructing interpolant automaton starting with 23 interpolants. [2020-07-18 05:12:35,607 INFO L144 InterpolantAutomaton]: CoverageRelationStatistics Valid=47, Invalid=459, Unknown=0, NotChecked=0, Total=506 [2020-07-18 05:12:35,607 INFO L87 Difference]: Start difference. First operand 76 states and 82 transitions. Second operand 23 states. [2020-07-18 05:12:40,469 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2020-07-18 05:12:40,469 INFO L93 Difference]: Finished difference Result 93 states and 101 transitions. [2020-07-18 05:12:40,469 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 26 states. [2020-07-18 05:12:40,469 INFO L78 Accepts]: Start accepts. Automaton has 23 states. Word has length 71 [2020-07-18 05:12:40,470 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2020-07-18 05:12:40,470 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 23 states. [2020-07-18 05:12:40,473 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 26 states to 26 states and 88 transitions. [2020-07-18 05:12:40,473 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 23 states. [2020-07-18 05:12:40,476 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 26 states to 26 states and 88 transitions. [2020-07-18 05:12:40,476 INFO L86 InductivityCheck]: Starting indutivity check of a Floyd-Hoare automaton with 26 states and 88 transitions. [2020-07-18 05:12:40,631 INFO L119 InductivityCheck]: Floyd-Hoare automaton has 88 edges. 88 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2020-07-18 05:12:40,633 INFO L225 Difference]: With dead ends: 93 [2020-07-18 05:12:40,633 INFO L226 Difference]: Without dead ends: 85 [2020-07-18 05:12:40,635 INFO L675 BasicCegarLoop]: 0 DeclaredPredicates, 51 GetRequests, 9 SyntacticMatches, 0 SemanticMatches, 42 ConstructedPredicates, 0 IntricatePredicates, 0 DeprecatedPredicates, 205 ImplicationChecksByTransitivity, 1.1s TimeCoverageRelationStatistics Valid=210, Invalid=1682, Unknown=0, NotChecked=0, Total=1892 [2020-07-18 05:12:40,635 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 85 states. [2020-07-18 05:12:40,975 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 85 to 79. [2020-07-18 05:12:40,975 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2020-07-18 05:12:40,975 INFO L82 GeneralOperation]: Start isEquivalent. First operand 85 states. Second operand 79 states. [2020-07-18 05:12:40,976 INFO L74 IsIncluded]: Start isIncluded. First operand 85 states. Second operand 79 states. [2020-07-18 05:12:40,976 INFO L87 Difference]: Start difference. First operand 85 states. Second operand 79 states. [2020-07-18 05:12:40,980 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2020-07-18 05:12:40,980 INFO L93 Difference]: Finished difference Result 85 states and 92 transitions. [2020-07-18 05:12:40,981 INFO L276 IsEmpty]: Start isEmpty. Operand 85 states and 92 transitions. [2020-07-18 05:12:40,981 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2020-07-18 05:12:40,981 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2020-07-18 05:12:40,981 INFO L74 IsIncluded]: Start isIncluded. First operand 79 states. Second operand 85 states. [2020-07-18 05:12:40,981 INFO L87 Difference]: Start difference. First operand 79 states. Second operand 85 states. [2020-07-18 05:12:40,985 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2020-07-18 05:12:40,985 INFO L93 Difference]: Finished difference Result 85 states and 92 transitions. [2020-07-18 05:12:40,985 INFO L276 IsEmpty]: Start isEmpty. Operand 85 states and 92 transitions. [2020-07-18 05:12:40,986 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2020-07-18 05:12:40,986 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2020-07-18 05:12:40,986 INFO L88 GeneralOperation]: Finished isEquivalent. [2020-07-18 05:12:40,986 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2020-07-18 05:12:40,986 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 79 states. [2020-07-18 05:12:40,989 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 79 states to 79 states and 84 transitions. [2020-07-18 05:12:40,989 INFO L78 Accepts]: Start accepts. Automaton has 79 states and 84 transitions. Word has length 71 [2020-07-18 05:12:40,990 INFO L84 Accepts]: Finished accepts. word is rejected. [2020-07-18 05:12:40,990 INFO L479 AbstractCegarLoop]: Abstraction has 79 states and 84 transitions. [2020-07-18 05:12:40,990 INFO L480 AbstractCegarLoop]: Interpolant automaton has 23 states. [2020-07-18 05:12:40,990 INFO L86 InductivityCheck]: Starting indutivity check of a Floyd-Hoare automaton with 79 states and 84 transitions. [2020-07-18 05:12:41,168 INFO L119 InductivityCheck]: Floyd-Hoare automaton has 84 edges. 84 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2020-07-18 05:12:41,168 INFO L276 IsEmpty]: Start isEmpty. Operand 79 states and 84 transitions. [2020-07-18 05:12:41,170 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 86 [2020-07-18 05:12:41,170 INFO L414 BasicCegarLoop]: Found error trace [2020-07-18 05:12:41,170 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-18 05:12:41,171 WARN L516 AbstractCegarLoop]: Destroyed unattended storables created during the last iteration: SelfDestructingSolverStorable5 [2020-07-18 05:12:41,171 INFO L427 AbstractCegarLoop]: === Iteration 7 === [__blast_assertErr0ASSERT_VIOLATIONERROR_FUNCTION]=== [2020-07-18 05:12:41,171 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2020-07-18 05:12:41,172 INFO L82 PathProgramCache]: Analyzing trace with hash 2033290459, now seen corresponding path program 1 times [2020-07-18 05:12:41,172 INFO L163 FreeRefinementEngine]: Executing refinement strategy FIXED_PREFERENCES [2020-07-18 05:12:41,172 INFO L354 FreeRefinementEngine]: Using trace check IpTcStrategyModulePreferences [213319863] [2020-07-18 05:12:41,173 INFO L94 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2020-07-18 05:12:41,190 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2020-07-18 05:12:41,324 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2020-07-18 05:12:41,334 INFO L280 TraceCheckUtils]: 0: Hoare triple {3986#(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; {3912#true} is VALID [2020-07-18 05:12:41,334 INFO L280 TraceCheckUtils]: 1: Hoare triple {3912#true} #valid := #valid[0 := 0]; {3912#true} is VALID [2020-07-18 05:12:41,335 INFO L280 TraceCheckUtils]: 2: Hoare triple {3912#true} assume 0 < #StackHeapBarrier; {3912#true} is VALID [2020-07-18 05:12:41,335 INFO L280 TraceCheckUtils]: 3: Hoare triple {3912#true} ~guard_malloc_counter~0.base, ~guard_malloc_counter~0.offset := 0, 0; {3912#true} is VALID [2020-07-18 05:12:41,335 INFO L280 TraceCheckUtils]: 4: Hoare triple {3912#true} ~elem~0.base, ~elem~0.offset := 0, 0; {3912#true} is VALID [2020-07-18 05:12:41,335 INFO L280 TraceCheckUtils]: 5: Hoare triple {3912#true} SUMMARY for call ~#head~0.base, ~#head~0.offset := #Ultimate.allocOnStack(8); srcloc: L900 {3912#true} is VALID [2020-07-18 05:12:41,335 INFO L280 TraceCheckUtils]: 6: Hoare triple {3912#true} SUMMARY for call write~init~$Pointer$(0, 0, ~#head~0.base, ~#head~0.offset, 4); srcloc: L900-1 {3912#true} is VALID [2020-07-18 05:12:41,336 INFO L280 TraceCheckUtils]: 7: Hoare triple {3912#true} SUMMARY for call write~init~$Pointer$(0, 0, ~#head~0.base, 4 + ~#head~0.offset, 4); srcloc: L900-2 {3912#true} is VALID [2020-07-18 05:12:41,336 INFO L280 TraceCheckUtils]: 8: Hoare triple {3912#true} assume true; {3912#true} is VALID [2020-07-18 05:12:41,336 INFO L275 TraceCheckUtils]: 9: Hoare quadruple {3912#true} {3912#true} #109#return; {3912#true} is VALID [2020-07-18 05:12:41,359 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2020-07-18 05:12:41,403 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2020-07-18 05:12:41,431 INFO L280 TraceCheckUtils]: 0: Hoare triple {3987#(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; {3912#true} is VALID [2020-07-18 05:12:41,431 INFO L280 TraceCheckUtils]: 1: Hoare triple {3912#true} assume ~size > 0; {3912#true} is VALID [2020-07-18 05:12:41,431 INFO L280 TraceCheckUtils]: 2: Hoare triple {3912#true} #t~post28.base, #t~post28.offset := ~guard_malloc_counter~0.base, ~guard_malloc_counter~0.offset; {3912#true} is VALID [2020-07-18 05:12:41,432 INFO L280 TraceCheckUtils]: 3: Hoare triple {3912#true} ~guard_malloc_counter~0.base, ~guard_malloc_counter~0.offset := #t~post28.base, 1 + #t~post28.offset; {3912#true} is VALID [2020-07-18 05:12:41,432 INFO L280 TraceCheckUtils]: 4: Hoare triple {3912#true} havoc #t~post28.base, #t~post28.offset; {3912#true} is VALID [2020-07-18 05:12:41,432 INFO L280 TraceCheckUtils]: 5: Hoare triple {3912#true} assume -2147483648 <= #t~nondet29 && #t~nondet29 <= 2147483647; {3912#true} is VALID [2020-07-18 05:12:41,432 INFO L280 TraceCheckUtils]: 6: Hoare triple {3912#true} assume !(0 == #t~nondet29); {3912#true} is VALID [2020-07-18 05:12:41,433 INFO L280 TraceCheckUtils]: 7: Hoare triple {3912#true} havoc #t~nondet29; {3912#true} is VALID [2020-07-18 05:12:41,433 INFO L280 TraceCheckUtils]: 8: Hoare triple {3912#true} #res.base, #res.offset := ~guard_malloc_counter~0.base, ~guard_malloc_counter~0.offset; {4001#(<= |__getMemory_#res.offset| ~guard_malloc_counter~0.offset)} is VALID [2020-07-18 05:12:41,434 INFO L280 TraceCheckUtils]: 9: Hoare triple {4001#(<= |__getMemory_#res.offset| ~guard_malloc_counter~0.offset)} assume true; {4001#(<= |__getMemory_#res.offset| ~guard_malloc_counter~0.offset)} is VALID [2020-07-18 05:12:41,435 INFO L275 TraceCheckUtils]: 10: Hoare quadruple {4001#(<= |__getMemory_#res.offset| ~guard_malloc_counter~0.offset)} {3912#true} #91#return; {3999#(<= |my_malloc_#t~ret30.offset| ~guard_malloc_counter~0.offset)} is VALID [2020-07-18 05:12:41,435 INFO L280 TraceCheckUtils]: 0: Hoare triple {3987#(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; {3912#true} is VALID [2020-07-18 05:12:41,439 INFO L263 TraceCheckUtils]: 1: Hoare triple {3912#true} call #t~ret30.base, #t~ret30.offset := __getMemory(~size); {3987#(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-18 05:12:41,440 INFO L280 TraceCheckUtils]: 2: Hoare triple {3987#(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; {3912#true} is VALID [2020-07-18 05:12:41,440 INFO L280 TraceCheckUtils]: 3: Hoare triple {3912#true} assume ~size > 0; {3912#true} is VALID [2020-07-18 05:12:41,440 INFO L280 TraceCheckUtils]: 4: Hoare triple {3912#true} #t~post28.base, #t~post28.offset := ~guard_malloc_counter~0.base, ~guard_malloc_counter~0.offset; {3912#true} is VALID [2020-07-18 05:12:41,440 INFO L280 TraceCheckUtils]: 5: Hoare triple {3912#true} ~guard_malloc_counter~0.base, ~guard_malloc_counter~0.offset := #t~post28.base, 1 + #t~post28.offset; {3912#true} is VALID [2020-07-18 05:12:41,440 INFO L280 TraceCheckUtils]: 6: Hoare triple {3912#true} havoc #t~post28.base, #t~post28.offset; {3912#true} is VALID [2020-07-18 05:12:41,441 INFO L280 TraceCheckUtils]: 7: Hoare triple {3912#true} assume -2147483648 <= #t~nondet29 && #t~nondet29 <= 2147483647; {3912#true} is VALID [2020-07-18 05:12:41,441 INFO L280 TraceCheckUtils]: 8: Hoare triple {3912#true} assume !(0 == #t~nondet29); {3912#true} is VALID [2020-07-18 05:12:41,441 INFO L280 TraceCheckUtils]: 9: Hoare triple {3912#true} havoc #t~nondet29; {3912#true} is VALID [2020-07-18 05:12:41,441 INFO L280 TraceCheckUtils]: 10: Hoare triple {3912#true} #res.base, #res.offset := ~guard_malloc_counter~0.base, ~guard_malloc_counter~0.offset; {4001#(<= |__getMemory_#res.offset| ~guard_malloc_counter~0.offset)} is VALID [2020-07-18 05:12:41,442 INFO L280 TraceCheckUtils]: 11: Hoare triple {4001#(<= |__getMemory_#res.offset| ~guard_malloc_counter~0.offset)} assume true; {4001#(<= |__getMemory_#res.offset| ~guard_malloc_counter~0.offset)} is VALID [2020-07-18 05:12:41,443 INFO L275 TraceCheckUtils]: 12: Hoare quadruple {4001#(<= |__getMemory_#res.offset| ~guard_malloc_counter~0.offset)} {3912#true} #91#return; {3999#(<= |my_malloc_#t~ret30.offset| ~guard_malloc_counter~0.offset)} is VALID [2020-07-18 05:12:41,443 INFO L280 TraceCheckUtils]: 13: Hoare triple {3999#(<= |my_malloc_#t~ret30.offset| ~guard_malloc_counter~0.offset)} #res.base, #res.offset := #t~ret30.base, #t~ret30.offset; {4000#(<= |my_malloc_#res.offset| ~guard_malloc_counter~0.offset)} is VALID [2020-07-18 05:12:41,444 INFO L280 TraceCheckUtils]: 14: Hoare triple {4000#(<= |my_malloc_#res.offset| ~guard_malloc_counter~0.offset)} havoc #t~ret30.base, #t~ret30.offset; {4000#(<= |my_malloc_#res.offset| ~guard_malloc_counter~0.offset)} is VALID [2020-07-18 05:12:41,444 INFO L280 TraceCheckUtils]: 15: Hoare triple {4000#(<= |my_malloc_#res.offset| ~guard_malloc_counter~0.offset)} assume true; {4000#(<= |my_malloc_#res.offset| ~guard_malloc_counter~0.offset)} is VALID [2020-07-18 05:12:41,445 INFO L275 TraceCheckUtils]: 16: Hoare quadruple {4000#(<= |my_malloc_#res.offset| ~guard_malloc_counter~0.offset)} {3912#true} #93#return; {3941#(<= |main_#t~ret32.offset| ~guard_malloc_counter~0.offset)} is VALID [2020-07-18 05:12:41,449 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2020-07-18 05:12:41,532 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2020-07-18 05:12:41,608 INFO L280 TraceCheckUtils]: 0: Hoare triple {3987#(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; {4002#(= ~guard_malloc_counter~0.offset |old(~guard_malloc_counter~0.offset)|)} is VALID [2020-07-18 05:12:41,609 INFO L280 TraceCheckUtils]: 1: Hoare triple {4002#(= ~guard_malloc_counter~0.offset |old(~guard_malloc_counter~0.offset)|)} assume ~size > 0; {4002#(= ~guard_malloc_counter~0.offset |old(~guard_malloc_counter~0.offset)|)} is VALID [2020-07-18 05:12:41,609 INFO L280 TraceCheckUtils]: 2: Hoare triple {4002#(= ~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; {4016#(= |old(~guard_malloc_counter~0.offset)| |__getMemory_#t~post28.offset|)} is VALID [2020-07-18 05:12:41,610 INFO L280 TraceCheckUtils]: 3: Hoare triple {4016#(= |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; {4017#(<= (+ |old(~guard_malloc_counter~0.offset)| 1) ~guard_malloc_counter~0.offset)} is VALID [2020-07-18 05:12:41,610 INFO L280 TraceCheckUtils]: 4: Hoare triple {4017#(<= (+ |old(~guard_malloc_counter~0.offset)| 1) ~guard_malloc_counter~0.offset)} havoc #t~post28.base, #t~post28.offset; {4017#(<= (+ |old(~guard_malloc_counter~0.offset)| 1) ~guard_malloc_counter~0.offset)} is VALID [2020-07-18 05:12:41,611 INFO L280 TraceCheckUtils]: 5: Hoare triple {4017#(<= (+ |old(~guard_malloc_counter~0.offset)| 1) ~guard_malloc_counter~0.offset)} assume -2147483648 <= #t~nondet29 && #t~nondet29 <= 2147483647; {4017#(<= (+ |old(~guard_malloc_counter~0.offset)| 1) ~guard_malloc_counter~0.offset)} is VALID [2020-07-18 05:12:41,611 INFO L280 TraceCheckUtils]: 6: Hoare triple {4017#(<= (+ |old(~guard_malloc_counter~0.offset)| 1) ~guard_malloc_counter~0.offset)} assume !(0 == #t~nondet29); {4017#(<= (+ |old(~guard_malloc_counter~0.offset)| 1) ~guard_malloc_counter~0.offset)} is VALID [2020-07-18 05:12:41,612 INFO L280 TraceCheckUtils]: 7: Hoare triple {4017#(<= (+ |old(~guard_malloc_counter~0.offset)| 1) ~guard_malloc_counter~0.offset)} havoc #t~nondet29; {4017#(<= (+ |old(~guard_malloc_counter~0.offset)| 1) ~guard_malloc_counter~0.offset)} is VALID [2020-07-18 05:12:41,612 INFO L280 TraceCheckUtils]: 8: Hoare triple {4017#(<= (+ |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; {4018#(<= (+ |old(~guard_malloc_counter~0.offset)| 1) |__getMemory_#res.offset|)} is VALID [2020-07-18 05:12:41,613 INFO L280 TraceCheckUtils]: 9: Hoare triple {4018#(<= (+ |old(~guard_malloc_counter~0.offset)| 1) |__getMemory_#res.offset|)} assume true; {4018#(<= (+ |old(~guard_malloc_counter~0.offset)| 1) |__getMemory_#res.offset|)} is VALID [2020-07-18 05:12:41,613 INFO L275 TraceCheckUtils]: 10: Hoare quadruple {4018#(<= (+ |old(~guard_malloc_counter~0.offset)| 1) |__getMemory_#res.offset|)} {4002#(= ~guard_malloc_counter~0.offset |old(~guard_malloc_counter~0.offset)|)} #91#return; {4014#(<= (+ |old(~guard_malloc_counter~0.offset)| 1) |my_malloc_#t~ret30.offset|)} is VALID [2020-07-18 05:12:41,614 INFO L280 TraceCheckUtils]: 0: Hoare triple {3987#(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; {4002#(= ~guard_malloc_counter~0.offset |old(~guard_malloc_counter~0.offset)|)} is VALID [2020-07-18 05:12:41,615 INFO L263 TraceCheckUtils]: 1: Hoare triple {4002#(= ~guard_malloc_counter~0.offset |old(~guard_malloc_counter~0.offset)|)} call #t~ret30.base, #t~ret30.offset := __getMemory(~size); {3987#(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-18 05:12:41,615 INFO L280 TraceCheckUtils]: 2: Hoare triple {3987#(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; {4002#(= ~guard_malloc_counter~0.offset |old(~guard_malloc_counter~0.offset)|)} is VALID [2020-07-18 05:12:41,615 INFO L280 TraceCheckUtils]: 3: Hoare triple {4002#(= ~guard_malloc_counter~0.offset |old(~guard_malloc_counter~0.offset)|)} assume ~size > 0; {4002#(= ~guard_malloc_counter~0.offset |old(~guard_malloc_counter~0.offset)|)} is VALID [2020-07-18 05:12:41,616 INFO L280 TraceCheckUtils]: 4: Hoare triple {4002#(= ~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; {4016#(= |old(~guard_malloc_counter~0.offset)| |__getMemory_#t~post28.offset|)} is VALID [2020-07-18 05:12:41,616 INFO L280 TraceCheckUtils]: 5: Hoare triple {4016#(= |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; {4017#(<= (+ |old(~guard_malloc_counter~0.offset)| 1) ~guard_malloc_counter~0.offset)} is VALID [2020-07-18 05:12:41,617 INFO L280 TraceCheckUtils]: 6: Hoare triple {4017#(<= (+ |old(~guard_malloc_counter~0.offset)| 1) ~guard_malloc_counter~0.offset)} havoc #t~post28.base, #t~post28.offset; {4017#(<= (+ |old(~guard_malloc_counter~0.offset)| 1) ~guard_malloc_counter~0.offset)} is VALID [2020-07-18 05:12:41,617 INFO L280 TraceCheckUtils]: 7: Hoare triple {4017#(<= (+ |old(~guard_malloc_counter~0.offset)| 1) ~guard_malloc_counter~0.offset)} assume -2147483648 <= #t~nondet29 && #t~nondet29 <= 2147483647; {4017#(<= (+ |old(~guard_malloc_counter~0.offset)| 1) ~guard_malloc_counter~0.offset)} is VALID [2020-07-18 05:12:41,618 INFO L280 TraceCheckUtils]: 8: Hoare triple {4017#(<= (+ |old(~guard_malloc_counter~0.offset)| 1) ~guard_malloc_counter~0.offset)} assume !(0 == #t~nondet29); {4017#(<= (+ |old(~guard_malloc_counter~0.offset)| 1) ~guard_malloc_counter~0.offset)} is VALID [2020-07-18 05:12:41,623 INFO L280 TraceCheckUtils]: 9: Hoare triple {4017#(<= (+ |old(~guard_malloc_counter~0.offset)| 1) ~guard_malloc_counter~0.offset)} havoc #t~nondet29; {4017#(<= (+ |old(~guard_malloc_counter~0.offset)| 1) ~guard_malloc_counter~0.offset)} is VALID [2020-07-18 05:12:41,624 INFO L280 TraceCheckUtils]: 10: Hoare triple {4017#(<= (+ |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; {4018#(<= (+ |old(~guard_malloc_counter~0.offset)| 1) |__getMemory_#res.offset|)} is VALID [2020-07-18 05:12:41,625 INFO L280 TraceCheckUtils]: 11: Hoare triple {4018#(<= (+ |old(~guard_malloc_counter~0.offset)| 1) |__getMemory_#res.offset|)} assume true; {4018#(<= (+ |old(~guard_malloc_counter~0.offset)| 1) |__getMemory_#res.offset|)} is VALID [2020-07-18 05:12:41,626 INFO L275 TraceCheckUtils]: 12: Hoare quadruple {4018#(<= (+ |old(~guard_malloc_counter~0.offset)| 1) |__getMemory_#res.offset|)} {4002#(= ~guard_malloc_counter~0.offset |old(~guard_malloc_counter~0.offset)|)} #91#return; {4014#(<= (+ |old(~guard_malloc_counter~0.offset)| 1) |my_malloc_#t~ret30.offset|)} is VALID [2020-07-18 05:12:41,626 INFO L280 TraceCheckUtils]: 13: Hoare triple {4014#(<= (+ |old(~guard_malloc_counter~0.offset)| 1) |my_malloc_#t~ret30.offset|)} #res.base, #res.offset := #t~ret30.base, #t~ret30.offset; {4015#(<= (+ |old(~guard_malloc_counter~0.offset)| 1) |my_malloc_#res.offset|)} is VALID [2020-07-18 05:12:41,627 INFO L280 TraceCheckUtils]: 14: Hoare triple {4015#(<= (+ |old(~guard_malloc_counter~0.offset)| 1) |my_malloc_#res.offset|)} havoc #t~ret30.base, #t~ret30.offset; {4015#(<= (+ |old(~guard_malloc_counter~0.offset)| 1) |my_malloc_#res.offset|)} is VALID [2020-07-18 05:12:41,627 INFO L280 TraceCheckUtils]: 15: Hoare triple {4015#(<= (+ |old(~guard_malloc_counter~0.offset)| 1) |my_malloc_#res.offset|)} assume true; {4015#(<= (+ |old(~guard_malloc_counter~0.offset)| 1) |my_malloc_#res.offset|)} is VALID [2020-07-18 05:12:41,629 INFO L275 TraceCheckUtils]: 16: Hoare quadruple {4015#(<= (+ |old(~guard_malloc_counter~0.offset)| 1) |my_malloc_#res.offset|)} {3942#(<= main_~dev1~0.offset ~guard_malloc_counter~0.offset)} #95#return; {3960#(<= (+ main_~dev1~0.offset 1) |main_#t~ret33.offset|)} is VALID [2020-07-18 05:12:41,654 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2020-07-18 05:12:41,658 INFO L280 TraceCheckUtils]: 0: Hoare triple {4019#(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; {3912#true} is VALID [2020-07-18 05:12:41,658 INFO L280 TraceCheckUtils]: 1: Hoare triple {3912#true} ~head.base, ~head.offset := #in~head.base, #in~head.offset; {3912#true} is VALID [2020-07-18 05:12:41,658 INFO L280 TraceCheckUtils]: 2: Hoare triple {3912#true} assume ~new.base != ~elem~0.base || ~new.offset != ~elem~0.offset; {3912#true} is VALID [2020-07-18 05:12:41,658 INFO L280 TraceCheckUtils]: 3: Hoare triple {3912#true} assume -2147483648 <= #t~nondet31 && #t~nondet31 <= 2147483647; {3912#true} is VALID [2020-07-18 05:12:41,659 INFO L280 TraceCheckUtils]: 4: Hoare triple {3912#true} assume !(0 != #t~nondet31); {3912#true} is VALID [2020-07-18 05:12:41,659 INFO L280 TraceCheckUtils]: 5: Hoare triple {3912#true} havoc #t~nondet31; {3912#true} is VALID [2020-07-18 05:12:41,659 INFO L280 TraceCheckUtils]: 6: Hoare triple {3912#true} assume true; {3912#true} is VALID [2020-07-18 05:12:41,660 INFO L275 TraceCheckUtils]: 7: Hoare quadruple {3912#true} {3961#(<= (+ main_~dev1~0.offset 1) main_~dev2~0.offset)} #97#return; {3961#(<= (+ main_~dev1~0.offset 1) main_~dev2~0.offset)} is VALID [2020-07-18 05:12:41,663 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2020-07-18 05:12:41,712 INFO L280 TraceCheckUtils]: 0: Hoare triple {4019#(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; {4020#(= |list_add_#in~new.offset| list_add_~new.offset)} is VALID [2020-07-18 05:12:41,713 INFO L280 TraceCheckUtils]: 1: Hoare triple {4020#(= |list_add_#in~new.offset| list_add_~new.offset)} ~head.base, ~head.offset := #in~head.base, #in~head.offset; {4020#(= |list_add_#in~new.offset| list_add_~new.offset)} is VALID [2020-07-18 05:12:41,713 INFO L280 TraceCheckUtils]: 2: Hoare triple {4020#(= |list_add_#in~new.offset| list_add_~new.offset)} assume ~new.base != ~elem~0.base || ~new.offset != ~elem~0.offset; {4020#(= |list_add_#in~new.offset| list_add_~new.offset)} is VALID [2020-07-18 05:12:41,713 INFO L280 TraceCheckUtils]: 3: Hoare triple {4020#(= |list_add_#in~new.offset| list_add_~new.offset)} assume -2147483648 <= #t~nondet31 && #t~nondet31 <= 2147483647; {4020#(= |list_add_#in~new.offset| list_add_~new.offset)} is VALID [2020-07-18 05:12:41,719 INFO L280 TraceCheckUtils]: 4: Hoare triple {4020#(= |list_add_#in~new.offset| list_add_~new.offset)} assume 0 != #t~nondet31; {4020#(= |list_add_#in~new.offset| list_add_~new.offset)} is VALID [2020-07-18 05:12:41,720 INFO L280 TraceCheckUtils]: 5: Hoare triple {4020#(= |list_add_#in~new.offset| list_add_~new.offset)} havoc #t~nondet31; {4020#(= |list_add_#in~new.offset| list_add_~new.offset)} is VALID [2020-07-18 05:12:41,721 INFO L280 TraceCheckUtils]: 6: Hoare triple {4020#(= |list_add_#in~new.offset| list_add_~new.offset)} ~elem~0.base, ~elem~0.offset := ~new.base, ~new.offset; {4021#(= ~elem~0.offset |list_add_#in~new.offset|)} is VALID [2020-07-18 05:12:41,721 INFO L280 TraceCheckUtils]: 7: Hoare triple {4021#(= ~elem~0.offset |list_add_#in~new.offset|)} assume true; {4021#(= ~elem~0.offset |list_add_#in~new.offset|)} is VALID [2020-07-18 05:12:41,722 INFO L275 TraceCheckUtils]: 8: Hoare quadruple {4021#(= ~elem~0.offset |list_add_#in~new.offset|)} {3961#(<= (+ main_~dev1~0.offset 1) main_~dev2~0.offset)} #99#return; {3979#(<= (+ ~elem~0.offset 1) main_~dev2~0.offset)} is VALID [2020-07-18 05:12:41,724 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2020-07-18 05:12:41,757 INFO L280 TraceCheckUtils]: 0: Hoare triple {4019#(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; {4022#(= |old(~elem~0.offset)| ~elem~0.offset)} is VALID [2020-07-18 05:12:41,758 INFO L280 TraceCheckUtils]: 1: Hoare triple {4022#(= |old(~elem~0.offset)| ~elem~0.offset)} assume !(~entry.base == ~elem~0.base && ~entry.offset == ~elem~0.offset); {4022#(= |old(~elem~0.offset)| ~elem~0.offset)} is VALID [2020-07-18 05:12:41,758 INFO L280 TraceCheckUtils]: 2: Hoare triple {4022#(= |old(~elem~0.offset)| ~elem~0.offset)} assume true; {4022#(= |old(~elem~0.offset)| ~elem~0.offset)} is VALID [2020-07-18 05:12:41,759 INFO L275 TraceCheckUtils]: 3: Hoare quadruple {4022#(= |old(~elem~0.offset)| ~elem~0.offset)} {3979#(<= (+ ~elem~0.offset 1) main_~dev2~0.offset)} #101#return; {3979#(<= (+ ~elem~0.offset 1) main_~dev2~0.offset)} is VALID [2020-07-18 05:12:41,760 INFO L263 TraceCheckUtils]: 0: Hoare triple {3912#true} call ULTIMATE.init(); {3986#(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-18 05:12:41,760 INFO L280 TraceCheckUtils]: 1: Hoare triple {3986#(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; {3912#true} is VALID [2020-07-18 05:12:41,761 INFO L280 TraceCheckUtils]: 2: Hoare triple {3912#true} #valid := #valid[0 := 0]; {3912#true} is VALID [2020-07-18 05:12:41,761 INFO L280 TraceCheckUtils]: 3: Hoare triple {3912#true} assume 0 < #StackHeapBarrier; {3912#true} is VALID [2020-07-18 05:12:41,761 INFO L280 TraceCheckUtils]: 4: Hoare triple {3912#true} ~guard_malloc_counter~0.base, ~guard_malloc_counter~0.offset := 0, 0; {3912#true} is VALID [2020-07-18 05:12:41,761 INFO L280 TraceCheckUtils]: 5: Hoare triple {3912#true} ~elem~0.base, ~elem~0.offset := 0, 0; {3912#true} is VALID [2020-07-18 05:12:41,761 INFO L280 TraceCheckUtils]: 6: Hoare triple {3912#true} SUMMARY for call ~#head~0.base, ~#head~0.offset := #Ultimate.allocOnStack(8); srcloc: L900 {3912#true} is VALID [2020-07-18 05:12:41,762 INFO L280 TraceCheckUtils]: 7: Hoare triple {3912#true} SUMMARY for call write~init~$Pointer$(0, 0, ~#head~0.base, ~#head~0.offset, 4); srcloc: L900-1 {3912#true} is VALID [2020-07-18 05:12:41,762 INFO L280 TraceCheckUtils]: 8: Hoare triple {3912#true} SUMMARY for call write~init~$Pointer$(0, 0, ~#head~0.base, 4 + ~#head~0.offset, 4); srcloc: L900-2 {3912#true} is VALID [2020-07-18 05:12:41,762 INFO L280 TraceCheckUtils]: 9: Hoare triple {3912#true} assume true; {3912#true} is VALID [2020-07-18 05:12:41,762 INFO L275 TraceCheckUtils]: 10: Hoare quadruple {3912#true} {3912#true} #109#return; {3912#true} is VALID [2020-07-18 05:12:41,762 INFO L263 TraceCheckUtils]: 11: Hoare triple {3912#true} call #t~ret34 := main(); {3912#true} is VALID [2020-07-18 05:12:41,762 INFO L280 TraceCheckUtils]: 12: Hoare triple {3912#true} havoc ~dev1~0.base, ~dev1~0.offset; {3912#true} is VALID [2020-07-18 05:12:41,763 INFO L280 TraceCheckUtils]: 13: Hoare triple {3912#true} havoc ~dev2~0.base, ~dev2~0.offset; {3912#true} is VALID [2020-07-18 05:12:41,763 INFO L263 TraceCheckUtils]: 14: Hoare triple {3912#true} call #t~ret32.base, #t~ret32.offset := my_malloc(8); {3987#(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-18 05:12:41,764 INFO L280 TraceCheckUtils]: 15: Hoare triple {3987#(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; {3912#true} is VALID [2020-07-18 05:12:41,764 INFO L263 TraceCheckUtils]: 16: Hoare triple {3912#true} call #t~ret30.base, #t~ret30.offset := __getMemory(~size); {3987#(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-18 05:12:41,764 INFO L280 TraceCheckUtils]: 17: Hoare triple {3987#(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; {3912#true} is VALID [2020-07-18 05:12:41,765 INFO L280 TraceCheckUtils]: 18: Hoare triple {3912#true} assume ~size > 0; {3912#true} is VALID [2020-07-18 05:12:41,765 INFO L280 TraceCheckUtils]: 19: Hoare triple {3912#true} #t~post28.base, #t~post28.offset := ~guard_malloc_counter~0.base, ~guard_malloc_counter~0.offset; {3912#true} is VALID [2020-07-18 05:12:41,765 INFO L280 TraceCheckUtils]: 20: Hoare triple {3912#true} ~guard_malloc_counter~0.base, ~guard_malloc_counter~0.offset := #t~post28.base, 1 + #t~post28.offset; {3912#true} is VALID [2020-07-18 05:12:41,765 INFO L280 TraceCheckUtils]: 21: Hoare triple {3912#true} havoc #t~post28.base, #t~post28.offset; {3912#true} is VALID [2020-07-18 05:12:41,765 INFO L280 TraceCheckUtils]: 22: Hoare triple {3912#true} assume -2147483648 <= #t~nondet29 && #t~nondet29 <= 2147483647; {3912#true} is VALID [2020-07-18 05:12:41,765 INFO L280 TraceCheckUtils]: 23: Hoare triple {3912#true} assume !(0 == #t~nondet29); {3912#true} is VALID [2020-07-18 05:12:41,766 INFO L280 TraceCheckUtils]: 24: Hoare triple {3912#true} havoc #t~nondet29; {3912#true} is VALID [2020-07-18 05:12:41,766 INFO L280 TraceCheckUtils]: 25: Hoare triple {3912#true} #res.base, #res.offset := ~guard_malloc_counter~0.base, ~guard_malloc_counter~0.offset; {4001#(<= |__getMemory_#res.offset| ~guard_malloc_counter~0.offset)} is VALID [2020-07-18 05:12:41,767 INFO L280 TraceCheckUtils]: 26: Hoare triple {4001#(<= |__getMemory_#res.offset| ~guard_malloc_counter~0.offset)} assume true; {4001#(<= |__getMemory_#res.offset| ~guard_malloc_counter~0.offset)} is VALID [2020-07-18 05:12:41,768 INFO L275 TraceCheckUtils]: 27: Hoare quadruple {4001#(<= |__getMemory_#res.offset| ~guard_malloc_counter~0.offset)} {3912#true} #91#return; {3999#(<= |my_malloc_#t~ret30.offset| ~guard_malloc_counter~0.offset)} is VALID [2020-07-18 05:12:41,769 INFO L280 TraceCheckUtils]: 28: Hoare triple {3999#(<= |my_malloc_#t~ret30.offset| ~guard_malloc_counter~0.offset)} #res.base, #res.offset := #t~ret30.base, #t~ret30.offset; {4000#(<= |my_malloc_#res.offset| ~guard_malloc_counter~0.offset)} is VALID [2020-07-18 05:12:41,769 INFO L280 TraceCheckUtils]: 29: Hoare triple {4000#(<= |my_malloc_#res.offset| ~guard_malloc_counter~0.offset)} havoc #t~ret30.base, #t~ret30.offset; {4000#(<= |my_malloc_#res.offset| ~guard_malloc_counter~0.offset)} is VALID [2020-07-18 05:12:41,770 INFO L280 TraceCheckUtils]: 30: Hoare triple {4000#(<= |my_malloc_#res.offset| ~guard_malloc_counter~0.offset)} assume true; {4000#(<= |my_malloc_#res.offset| ~guard_malloc_counter~0.offset)} is VALID [2020-07-18 05:12:41,770 INFO L275 TraceCheckUtils]: 31: Hoare quadruple {4000#(<= |my_malloc_#res.offset| ~guard_malloc_counter~0.offset)} {3912#true} #93#return; {3941#(<= |main_#t~ret32.offset| ~guard_malloc_counter~0.offset)} is VALID [2020-07-18 05:12:41,771 INFO L280 TraceCheckUtils]: 32: Hoare triple {3941#(<= |main_#t~ret32.offset| ~guard_malloc_counter~0.offset)} ~dev1~0.base, ~dev1~0.offset := #t~ret32.base, #t~ret32.offset; {3942#(<= main_~dev1~0.offset ~guard_malloc_counter~0.offset)} is VALID [2020-07-18 05:12:41,772 INFO L280 TraceCheckUtils]: 33: Hoare triple {3942#(<= main_~dev1~0.offset ~guard_malloc_counter~0.offset)} havoc #t~ret32.base, #t~ret32.offset; {3942#(<= main_~dev1~0.offset ~guard_malloc_counter~0.offset)} is VALID [2020-07-18 05:12:41,772 INFO L263 TraceCheckUtils]: 34: Hoare triple {3942#(<= main_~dev1~0.offset ~guard_malloc_counter~0.offset)} call #t~ret33.base, #t~ret33.offset := my_malloc(8); {3987#(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-18 05:12:41,773 INFO L280 TraceCheckUtils]: 35: Hoare triple {3987#(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; {4002#(= ~guard_malloc_counter~0.offset |old(~guard_malloc_counter~0.offset)|)} is VALID [2020-07-18 05:12:41,774 INFO L263 TraceCheckUtils]: 36: Hoare triple {4002#(= ~guard_malloc_counter~0.offset |old(~guard_malloc_counter~0.offset)|)} call #t~ret30.base, #t~ret30.offset := __getMemory(~size); {3987#(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-18 05:12:41,774 INFO L280 TraceCheckUtils]: 37: Hoare triple {3987#(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; {4002#(= ~guard_malloc_counter~0.offset |old(~guard_malloc_counter~0.offset)|)} is VALID [2020-07-18 05:12:41,775 INFO L280 TraceCheckUtils]: 38: Hoare triple {4002#(= ~guard_malloc_counter~0.offset |old(~guard_malloc_counter~0.offset)|)} assume ~size > 0; {4002#(= ~guard_malloc_counter~0.offset |old(~guard_malloc_counter~0.offset)|)} is VALID [2020-07-18 05:12:41,775 INFO L280 TraceCheckUtils]: 39: Hoare triple {4002#(= ~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; {4016#(= |old(~guard_malloc_counter~0.offset)| |__getMemory_#t~post28.offset|)} is VALID [2020-07-18 05:12:41,776 INFO L280 TraceCheckUtils]: 40: Hoare triple {4016#(= |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; {4017#(<= (+ |old(~guard_malloc_counter~0.offset)| 1) ~guard_malloc_counter~0.offset)} is VALID [2020-07-18 05:12:41,776 INFO L280 TraceCheckUtils]: 41: Hoare triple {4017#(<= (+ |old(~guard_malloc_counter~0.offset)| 1) ~guard_malloc_counter~0.offset)} havoc #t~post28.base, #t~post28.offset; {4017#(<= (+ |old(~guard_malloc_counter~0.offset)| 1) ~guard_malloc_counter~0.offset)} is VALID [2020-07-18 05:12:41,777 INFO L280 TraceCheckUtils]: 42: Hoare triple {4017#(<= (+ |old(~guard_malloc_counter~0.offset)| 1) ~guard_malloc_counter~0.offset)} assume -2147483648 <= #t~nondet29 && #t~nondet29 <= 2147483647; {4017#(<= (+ |old(~guard_malloc_counter~0.offset)| 1) ~guard_malloc_counter~0.offset)} is VALID [2020-07-18 05:12:41,777 INFO L280 TraceCheckUtils]: 43: Hoare triple {4017#(<= (+ |old(~guard_malloc_counter~0.offset)| 1) ~guard_malloc_counter~0.offset)} assume !(0 == #t~nondet29); {4017#(<= (+ |old(~guard_malloc_counter~0.offset)| 1) ~guard_malloc_counter~0.offset)} is VALID [2020-07-18 05:12:41,778 INFO L280 TraceCheckUtils]: 44: Hoare triple {4017#(<= (+ |old(~guard_malloc_counter~0.offset)| 1) ~guard_malloc_counter~0.offset)} havoc #t~nondet29; {4017#(<= (+ |old(~guard_malloc_counter~0.offset)| 1) ~guard_malloc_counter~0.offset)} is VALID [2020-07-18 05:12:41,778 INFO L280 TraceCheckUtils]: 45: Hoare triple {4017#(<= (+ |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; {4018#(<= (+ |old(~guard_malloc_counter~0.offset)| 1) |__getMemory_#res.offset|)} is VALID [2020-07-18 05:12:41,779 INFO L280 TraceCheckUtils]: 46: Hoare triple {4018#(<= (+ |old(~guard_malloc_counter~0.offset)| 1) |__getMemory_#res.offset|)} assume true; {4018#(<= (+ |old(~guard_malloc_counter~0.offset)| 1) |__getMemory_#res.offset|)} is VALID [2020-07-18 05:12:41,780 INFO L275 TraceCheckUtils]: 47: Hoare quadruple {4018#(<= (+ |old(~guard_malloc_counter~0.offset)| 1) |__getMemory_#res.offset|)} {4002#(= ~guard_malloc_counter~0.offset |old(~guard_malloc_counter~0.offset)|)} #91#return; {4014#(<= (+ |old(~guard_malloc_counter~0.offset)| 1) |my_malloc_#t~ret30.offset|)} is VALID [2020-07-18 05:12:41,781 INFO L280 TraceCheckUtils]: 48: Hoare triple {4014#(<= (+ |old(~guard_malloc_counter~0.offset)| 1) |my_malloc_#t~ret30.offset|)} #res.base, #res.offset := #t~ret30.base, #t~ret30.offset; {4015#(<= (+ |old(~guard_malloc_counter~0.offset)| 1) |my_malloc_#res.offset|)} is VALID [2020-07-18 05:12:41,781 INFO L280 TraceCheckUtils]: 49: Hoare triple {4015#(<= (+ |old(~guard_malloc_counter~0.offset)| 1) |my_malloc_#res.offset|)} havoc #t~ret30.base, #t~ret30.offset; {4015#(<= (+ |old(~guard_malloc_counter~0.offset)| 1) |my_malloc_#res.offset|)} is VALID [2020-07-18 05:12:41,782 INFO L280 TraceCheckUtils]: 50: Hoare triple {4015#(<= (+ |old(~guard_malloc_counter~0.offset)| 1) |my_malloc_#res.offset|)} assume true; {4015#(<= (+ |old(~guard_malloc_counter~0.offset)| 1) |my_malloc_#res.offset|)} is VALID [2020-07-18 05:12:41,783 INFO L275 TraceCheckUtils]: 51: Hoare quadruple {4015#(<= (+ |old(~guard_malloc_counter~0.offset)| 1) |my_malloc_#res.offset|)} {3942#(<= main_~dev1~0.offset ~guard_malloc_counter~0.offset)} #95#return; {3960#(<= (+ main_~dev1~0.offset 1) |main_#t~ret33.offset|)} is VALID [2020-07-18 05:12:41,783 INFO L280 TraceCheckUtils]: 52: Hoare triple {3960#(<= (+ main_~dev1~0.offset 1) |main_#t~ret33.offset|)} ~dev2~0.base, ~dev2~0.offset := #t~ret33.base, #t~ret33.offset; {3961#(<= (+ main_~dev1~0.offset 1) main_~dev2~0.offset)} is VALID [2020-07-18 05:12:41,784 INFO L280 TraceCheckUtils]: 53: Hoare triple {3961#(<= (+ main_~dev1~0.offset 1) main_~dev2~0.offset)} havoc #t~ret33.base, #t~ret33.offset; {3961#(<= (+ main_~dev1~0.offset 1) main_~dev2~0.offset)} is VALID [2020-07-18 05:12:41,784 INFO L280 TraceCheckUtils]: 54: Hoare triple {3961#(<= (+ 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); {3961#(<= (+ main_~dev1~0.offset 1) main_~dev2~0.offset)} is VALID [2020-07-18 05:12:41,785 INFO L263 TraceCheckUtils]: 55: Hoare triple {3961#(<= (+ main_~dev1~0.offset 1) main_~dev2~0.offset)} call list_add(~dev2~0.base, ~dev2~0.offset, ~#head~0.base, ~#head~0.offset); {4019#(and (= ~elem~0.base |old(~elem~0.base)|) (= ~elem~0.offset |old(~elem~0.offset)|))} is VALID [2020-07-18 05:12:41,786 INFO L280 TraceCheckUtils]: 56: Hoare triple {4019#(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; {3912#true} is VALID [2020-07-18 05:12:41,786 INFO L280 TraceCheckUtils]: 57: Hoare triple {3912#true} ~head.base, ~head.offset := #in~head.base, #in~head.offset; {3912#true} is VALID [2020-07-18 05:12:41,786 INFO L280 TraceCheckUtils]: 58: Hoare triple {3912#true} assume ~new.base != ~elem~0.base || ~new.offset != ~elem~0.offset; {3912#true} is VALID [2020-07-18 05:12:41,786 INFO L280 TraceCheckUtils]: 59: Hoare triple {3912#true} assume -2147483648 <= #t~nondet31 && #t~nondet31 <= 2147483647; {3912#true} is VALID [2020-07-18 05:12:41,786 INFO L280 TraceCheckUtils]: 60: Hoare triple {3912#true} assume !(0 != #t~nondet31); {3912#true} is VALID [2020-07-18 05:12:41,787 INFO L280 TraceCheckUtils]: 61: Hoare triple {3912#true} havoc #t~nondet31; {3912#true} is VALID [2020-07-18 05:12:41,787 INFO L280 TraceCheckUtils]: 62: Hoare triple {3912#true} assume true; {3912#true} is VALID [2020-07-18 05:12:41,788 INFO L275 TraceCheckUtils]: 63: Hoare quadruple {3912#true} {3961#(<= (+ main_~dev1~0.offset 1) main_~dev2~0.offset)} #97#return; {3961#(<= (+ main_~dev1~0.offset 1) main_~dev2~0.offset)} is VALID [2020-07-18 05:12:41,789 INFO L263 TraceCheckUtils]: 64: Hoare triple {3961#(<= (+ main_~dev1~0.offset 1) main_~dev2~0.offset)} call list_add(~dev1~0.base, ~dev1~0.offset, ~#head~0.base, ~#head~0.offset); {4019#(and (= ~elem~0.base |old(~elem~0.base)|) (= ~elem~0.offset |old(~elem~0.offset)|))} is VALID [2020-07-18 05:12:41,789 INFO L280 TraceCheckUtils]: 65: Hoare triple {4019#(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; {4020#(= |list_add_#in~new.offset| list_add_~new.offset)} is VALID [2020-07-18 05:12:41,790 INFO L280 TraceCheckUtils]: 66: Hoare triple {4020#(= |list_add_#in~new.offset| list_add_~new.offset)} ~head.base, ~head.offset := #in~head.base, #in~head.offset; {4020#(= |list_add_#in~new.offset| list_add_~new.offset)} is VALID [2020-07-18 05:12:41,790 INFO L280 TraceCheckUtils]: 67: Hoare triple {4020#(= |list_add_#in~new.offset| list_add_~new.offset)} assume ~new.base != ~elem~0.base || ~new.offset != ~elem~0.offset; {4020#(= |list_add_#in~new.offset| list_add_~new.offset)} is VALID [2020-07-18 05:12:41,791 INFO L280 TraceCheckUtils]: 68: Hoare triple {4020#(= |list_add_#in~new.offset| list_add_~new.offset)} assume -2147483648 <= #t~nondet31 && #t~nondet31 <= 2147483647; {4020#(= |list_add_#in~new.offset| list_add_~new.offset)} is VALID [2020-07-18 05:12:41,791 INFO L280 TraceCheckUtils]: 69: Hoare triple {4020#(= |list_add_#in~new.offset| list_add_~new.offset)} assume 0 != #t~nondet31; {4020#(= |list_add_#in~new.offset| list_add_~new.offset)} is VALID [2020-07-18 05:12:41,792 INFO L280 TraceCheckUtils]: 70: Hoare triple {4020#(= |list_add_#in~new.offset| list_add_~new.offset)} havoc #t~nondet31; {4020#(= |list_add_#in~new.offset| list_add_~new.offset)} is VALID [2020-07-18 05:12:41,792 INFO L280 TraceCheckUtils]: 71: Hoare triple {4020#(= |list_add_#in~new.offset| list_add_~new.offset)} ~elem~0.base, ~elem~0.offset := ~new.base, ~new.offset; {4021#(= ~elem~0.offset |list_add_#in~new.offset|)} is VALID [2020-07-18 05:12:41,793 INFO L280 TraceCheckUtils]: 72: Hoare triple {4021#(= ~elem~0.offset |list_add_#in~new.offset|)} assume true; {4021#(= ~elem~0.offset |list_add_#in~new.offset|)} is VALID [2020-07-18 05:12:41,794 INFO L275 TraceCheckUtils]: 73: Hoare quadruple {4021#(= ~elem~0.offset |list_add_#in~new.offset|)} {3961#(<= (+ main_~dev1~0.offset 1) main_~dev2~0.offset)} #99#return; {3979#(<= (+ ~elem~0.offset 1) main_~dev2~0.offset)} is VALID [2020-07-18 05:12:41,795 INFO L263 TraceCheckUtils]: 74: Hoare triple {3979#(<= (+ ~elem~0.offset 1) main_~dev2~0.offset)} call list_del(~dev2~0.base, ~dev2~0.offset); {4019#(and (= ~elem~0.base |old(~elem~0.base)|) (= ~elem~0.offset |old(~elem~0.offset)|))} is VALID [2020-07-18 05:12:41,796 INFO L280 TraceCheckUtils]: 75: Hoare triple {4019#(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; {4022#(= |old(~elem~0.offset)| ~elem~0.offset)} is VALID [2020-07-18 05:12:41,796 INFO L280 TraceCheckUtils]: 76: Hoare triple {4022#(= |old(~elem~0.offset)| ~elem~0.offset)} assume !(~entry.base == ~elem~0.base && ~entry.offset == ~elem~0.offset); {4022#(= |old(~elem~0.offset)| ~elem~0.offset)} is VALID [2020-07-18 05:12:41,797 INFO L280 TraceCheckUtils]: 77: Hoare triple {4022#(= |old(~elem~0.offset)| ~elem~0.offset)} assume true; {4022#(= |old(~elem~0.offset)| ~elem~0.offset)} is VALID [2020-07-18 05:12:41,798 INFO L275 TraceCheckUtils]: 78: Hoare quadruple {4022#(= |old(~elem~0.offset)| ~elem~0.offset)} {3979#(<= (+ ~elem~0.offset 1) main_~dev2~0.offset)} #101#return; {3979#(<= (+ ~elem~0.offset 1) main_~dev2~0.offset)} is VALID [2020-07-18 05:12:41,799 INFO L263 TraceCheckUtils]: 79: Hoare triple {3979#(<= (+ ~elem~0.offset 1) main_~dev2~0.offset)} call list_add(~dev2~0.base, ~dev2~0.offset, ~#head~0.base, ~#head~0.offset); {3984#(<= (+ ~elem~0.offset 1) |list_add_#in~new.offset|)} is VALID [2020-07-18 05:12:41,799 INFO L280 TraceCheckUtils]: 80: Hoare triple {3984#(<= (+ ~elem~0.offset 1) |list_add_#in~new.offset|)} ~new.base, ~new.offset := #in~new.base, #in~new.offset; {3985#(not (= ~elem~0.offset list_add_~new.offset))} is VALID [2020-07-18 05:12:41,800 INFO L280 TraceCheckUtils]: 81: Hoare triple {3985#(not (= ~elem~0.offset list_add_~new.offset))} ~head.base, ~head.offset := #in~head.base, #in~head.offset; {3985#(not (= ~elem~0.offset list_add_~new.offset))} is VALID [2020-07-18 05:12:41,800 INFO L280 TraceCheckUtils]: 82: Hoare triple {3985#(not (= ~elem~0.offset list_add_~new.offset))} assume !(~new.base != ~elem~0.base || ~new.offset != ~elem~0.offset); {3913#false} is VALID [2020-07-18 05:12:41,801 INFO L263 TraceCheckUtils]: 83: Hoare triple {3913#false} call __blast_assert(); {3913#false} is VALID [2020-07-18 05:12:41,801 INFO L280 TraceCheckUtils]: 84: Hoare triple {3913#false} assume !false; {3913#false} is VALID [2020-07-18 05:12:41,808 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-18 05:12:41,809 INFO L354 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModulePreferences [213319863] [2020-07-18 05:12:41,809 INFO L220 FreeRefinementEngine]: Constructing automaton from 0 perfect and 1 imperfect interpolant sequences. [2020-07-18 05:12:41,809 INFO L233 FreeRefinementEngine]: Number of different interpolants: perfect sequences [] imperfect sequences [24] total 24 [2020-07-18 05:12:41,809 INFO L156 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [869847274] [2020-07-18 05:12:41,810 INFO L78 Accepts]: Start accepts. Automaton has 24 states. Word has length 85 [2020-07-18 05:12:41,810 INFO L84 Accepts]: Finished accepts. word is accepted. [2020-07-18 05:12:41,810 INFO L86 InductivityCheck]: Starting indutivity check of a Floyd-Hoare automaton with 24 states. [2020-07-18 05:12:41,905 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-18 05:12:41,905 INFO L459 AbstractCegarLoop]: Interpolant automaton has 24 states [2020-07-18 05:12:41,905 INFO L143 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy FIXED_PREFERENCES [2020-07-18 05:12:41,905 INFO L142 InterpolantAutomaton]: Constructing interpolant automaton starting with 24 interpolants. [2020-07-18 05:12:41,906 INFO L144 InterpolantAutomaton]: CoverageRelationStatistics Valid=51, Invalid=501, Unknown=0, NotChecked=0, Total=552 [2020-07-18 05:12:41,906 INFO L87 Difference]: Start difference. First operand 79 states and 84 transitions. Second operand 24 states. [2020-07-18 05:12:46,511 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2020-07-18 05:12:46,511 INFO L93 Difference]: Finished difference Result 89 states and 95 transitions. [2020-07-18 05:12:46,511 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 26 states. [2020-07-18 05:12:46,511 INFO L78 Accepts]: Start accepts. Automaton has 24 states. Word has length 85 [2020-07-18 05:12:46,512 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2020-07-18 05:12:46,512 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 24 states. [2020-07-18 05:12:46,515 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 26 states to 26 states and 80 transitions. [2020-07-18 05:12:46,515 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 24 states. [2020-07-18 05:12:46,519 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 26 states to 26 states and 80 transitions. [2020-07-18 05:12:46,519 INFO L86 InductivityCheck]: Starting indutivity check of a Floyd-Hoare automaton with 26 states and 80 transitions. [2020-07-18 05:12:46,650 INFO L119 InductivityCheck]: Floyd-Hoare automaton has 80 edges. 80 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2020-07-18 05:12:46,653 INFO L225 Difference]: With dead ends: 89 [2020-07-18 05:12:46,653 INFO L226 Difference]: Without dead ends: 82 [2020-07-18 05:12:46,656 INFO L675 BasicCegarLoop]: 0 DeclaredPredicates, 58 GetRequests, 15 SyntacticMatches, 0 SemanticMatches, 43 ConstructedPredicates, 0 IntricatePredicates, 0 DeprecatedPredicates, 205 ImplicationChecksByTransitivity, 1.1s TimeCoverageRelationStatistics Valid=232, Invalid=1748, Unknown=0, NotChecked=0, Total=1980 [2020-07-18 05:12:46,657 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 82 states. [2020-07-18 05:12:47,033 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 82 to 82. [2020-07-18 05:12:47,033 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2020-07-18 05:12:47,033 INFO L82 GeneralOperation]: Start isEquivalent. First operand 82 states. Second operand 82 states. [2020-07-18 05:12:47,034 INFO L74 IsIncluded]: Start isIncluded. First operand 82 states. Second operand 82 states. [2020-07-18 05:12:47,034 INFO L87 Difference]: Start difference. First operand 82 states. Second operand 82 states. [2020-07-18 05:12:47,038 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2020-07-18 05:12:47,038 INFO L93 Difference]: Finished difference Result 82 states and 88 transitions. [2020-07-18 05:12:47,038 INFO L276 IsEmpty]: Start isEmpty. Operand 82 states and 88 transitions. [2020-07-18 05:12:47,039 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2020-07-18 05:12:47,039 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2020-07-18 05:12:47,039 INFO L74 IsIncluded]: Start isIncluded. First operand 82 states. Second operand 82 states. [2020-07-18 05:12:47,039 INFO L87 Difference]: Start difference. First operand 82 states. Second operand 82 states. [2020-07-18 05:12:47,042 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2020-07-18 05:12:47,043 INFO L93 Difference]: Finished difference Result 82 states and 88 transitions. [2020-07-18 05:12:47,043 INFO L276 IsEmpty]: Start isEmpty. Operand 82 states and 88 transitions. [2020-07-18 05:12:47,043 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2020-07-18 05:12:47,044 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2020-07-18 05:12:47,044 INFO L88 GeneralOperation]: Finished isEquivalent. [2020-07-18 05:12:47,044 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2020-07-18 05:12:47,044 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 82 states. [2020-07-18 05:12:47,047 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 82 states to 82 states and 88 transitions. [2020-07-18 05:12:47,047 INFO L78 Accepts]: Start accepts. Automaton has 82 states and 88 transitions. Word has length 85 [2020-07-18 05:12:47,047 INFO L84 Accepts]: Finished accepts. word is rejected. [2020-07-18 05:12:47,047 INFO L479 AbstractCegarLoop]: Abstraction has 82 states and 88 transitions. [2020-07-18 05:12:47,048 INFO L480 AbstractCegarLoop]: Interpolant automaton has 24 states. [2020-07-18 05:12:47,048 INFO L86 InductivityCheck]: Starting indutivity check of a Floyd-Hoare automaton with 82 states and 88 transitions. [2020-07-18 05:12:47,228 INFO L119 InductivityCheck]: Floyd-Hoare automaton has 88 edges. 88 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2020-07-18 05:12:47,228 INFO L276 IsEmpty]: Start isEmpty. Operand 82 states and 88 transitions. [2020-07-18 05:12:47,229 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 86 [2020-07-18 05:12:47,229 INFO L414 BasicCegarLoop]: Found error trace [2020-07-18 05:12:47,230 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-18 05:12:47,230 WARN L516 AbstractCegarLoop]: Destroyed unattended storables created during the last iteration: SelfDestructingSolverStorable6 [2020-07-18 05:12:47,230 INFO L427 AbstractCegarLoop]: === Iteration 8 === [__blast_assertErr0ASSERT_VIOLATIONERROR_FUNCTION]=== [2020-07-18 05:12:47,230 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2020-07-18 05:12:47,230 INFO L82 PathProgramCache]: Analyzing trace with hash 571953633, now seen corresponding path program 2 times [2020-07-18 05:12:47,231 INFO L163 FreeRefinementEngine]: Executing refinement strategy FIXED_PREFERENCES [2020-07-18 05:12:47,231 INFO L354 FreeRefinementEngine]: Using trace check IpTcStrategyModulePreferences [1996417311] [2020-07-18 05:12:47,231 INFO L94 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2020-07-18 05:12:47,256 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2020-07-18 05:12:47,340 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2020-07-18 05:12:47,349 INFO L280 TraceCheckUtils]: 0: Hoare triple {4643#(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; {4575#true} is VALID [2020-07-18 05:12:47,349 INFO L280 TraceCheckUtils]: 1: Hoare triple {4575#true} #valid := #valid[0 := 0]; {4575#true} is VALID [2020-07-18 05:12:47,349 INFO L280 TraceCheckUtils]: 2: Hoare triple {4575#true} assume 0 < #StackHeapBarrier; {4575#true} is VALID [2020-07-18 05:12:47,349 INFO L280 TraceCheckUtils]: 3: Hoare triple {4575#true} ~guard_malloc_counter~0.base, ~guard_malloc_counter~0.offset := 0, 0; {4575#true} is VALID [2020-07-18 05:12:47,350 INFO L280 TraceCheckUtils]: 4: Hoare triple {4575#true} ~elem~0.base, ~elem~0.offset := 0, 0; {4575#true} is VALID [2020-07-18 05:12:47,350 INFO L280 TraceCheckUtils]: 5: Hoare triple {4575#true} SUMMARY for call ~#head~0.base, ~#head~0.offset := #Ultimate.allocOnStack(8); srcloc: L900 {4575#true} is VALID [2020-07-18 05:12:47,350 INFO L280 TraceCheckUtils]: 6: Hoare triple {4575#true} SUMMARY for call write~init~$Pointer$(0, 0, ~#head~0.base, ~#head~0.offset, 4); srcloc: L900-1 {4575#true} is VALID [2020-07-18 05:12:47,350 INFO L280 TraceCheckUtils]: 7: Hoare triple {4575#true} SUMMARY for call write~init~$Pointer$(0, 0, ~#head~0.base, 4 + ~#head~0.offset, 4); srcloc: L900-2 {4575#true} is VALID [2020-07-18 05:12:47,350 INFO L280 TraceCheckUtils]: 8: Hoare triple {4575#true} assume true; {4575#true} is VALID [2020-07-18 05:12:47,350 INFO L275 TraceCheckUtils]: 9: Hoare quadruple {4575#true} {4575#true} #109#return; {4575#true} is VALID [2020-07-18 05:12:47,365 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2020-07-18 05:12:47,375 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2020-07-18 05:12:47,378 INFO L280 TraceCheckUtils]: 0: Hoare triple {4644#(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; {4575#true} is VALID [2020-07-18 05:12:47,379 INFO L280 TraceCheckUtils]: 1: Hoare triple {4575#true} assume ~size > 0; {4575#true} is VALID [2020-07-18 05:12:47,379 INFO L280 TraceCheckUtils]: 2: Hoare triple {4575#true} #t~post28.base, #t~post28.offset := ~guard_malloc_counter~0.base, ~guard_malloc_counter~0.offset; {4575#true} is VALID [2020-07-18 05:12:47,379 INFO L280 TraceCheckUtils]: 3: Hoare triple {4575#true} ~guard_malloc_counter~0.base, ~guard_malloc_counter~0.offset := #t~post28.base, 1 + #t~post28.offset; {4575#true} is VALID [2020-07-18 05:12:47,379 INFO L280 TraceCheckUtils]: 4: Hoare triple {4575#true} havoc #t~post28.base, #t~post28.offset; {4575#true} is VALID [2020-07-18 05:12:47,380 INFO L280 TraceCheckUtils]: 5: Hoare triple {4575#true} assume -2147483648 <= #t~nondet29 && #t~nondet29 <= 2147483647; {4575#true} is VALID [2020-07-18 05:12:47,380 INFO L280 TraceCheckUtils]: 6: Hoare triple {4575#true} assume !(0 == #t~nondet29); {4575#true} is VALID [2020-07-18 05:12:47,380 INFO L280 TraceCheckUtils]: 7: Hoare triple {4575#true} havoc #t~nondet29; {4575#true} is VALID [2020-07-18 05:12:47,380 INFO L280 TraceCheckUtils]: 8: Hoare triple {4575#true} #res.base, #res.offset := ~guard_malloc_counter~0.base, ~guard_malloc_counter~0.offset; {4575#true} is VALID [2020-07-18 05:12:47,380 INFO L280 TraceCheckUtils]: 9: Hoare triple {4575#true} assume true; {4575#true} is VALID [2020-07-18 05:12:47,381 INFO L275 TraceCheckUtils]: 10: Hoare quadruple {4575#true} {4575#true} #91#return; {4575#true} is VALID [2020-07-18 05:12:47,381 INFO L280 TraceCheckUtils]: 0: Hoare triple {4644#(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; {4575#true} is VALID [2020-07-18 05:12:47,382 INFO L263 TraceCheckUtils]: 1: Hoare triple {4575#true} call #t~ret30.base, #t~ret30.offset := __getMemory(~size); {4644#(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-18 05:12:47,382 INFO L280 TraceCheckUtils]: 2: Hoare triple {4644#(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; {4575#true} is VALID [2020-07-18 05:12:47,382 INFO L280 TraceCheckUtils]: 3: Hoare triple {4575#true} assume ~size > 0; {4575#true} is VALID [2020-07-18 05:12:47,382 INFO L280 TraceCheckUtils]: 4: Hoare triple {4575#true} #t~post28.base, #t~post28.offset := ~guard_malloc_counter~0.base, ~guard_malloc_counter~0.offset; {4575#true} is VALID [2020-07-18 05:12:47,383 INFO L280 TraceCheckUtils]: 5: Hoare triple {4575#true} ~guard_malloc_counter~0.base, ~guard_malloc_counter~0.offset := #t~post28.base, 1 + #t~post28.offset; {4575#true} is VALID [2020-07-18 05:12:47,383 INFO L280 TraceCheckUtils]: 6: Hoare triple {4575#true} havoc #t~post28.base, #t~post28.offset; {4575#true} is VALID [2020-07-18 05:12:47,383 INFO L280 TraceCheckUtils]: 7: Hoare triple {4575#true} assume -2147483648 <= #t~nondet29 && #t~nondet29 <= 2147483647; {4575#true} is VALID [2020-07-18 05:12:47,383 INFO L280 TraceCheckUtils]: 8: Hoare triple {4575#true} assume !(0 == #t~nondet29); {4575#true} is VALID [2020-07-18 05:12:47,383 INFO L280 TraceCheckUtils]: 9: Hoare triple {4575#true} havoc #t~nondet29; {4575#true} is VALID [2020-07-18 05:12:47,384 INFO L280 TraceCheckUtils]: 10: Hoare triple {4575#true} #res.base, #res.offset := ~guard_malloc_counter~0.base, ~guard_malloc_counter~0.offset; {4575#true} is VALID [2020-07-18 05:12:47,384 INFO L280 TraceCheckUtils]: 11: Hoare triple {4575#true} assume true; {4575#true} is VALID [2020-07-18 05:12:47,384 INFO L275 TraceCheckUtils]: 12: Hoare quadruple {4575#true} {4575#true} #91#return; {4575#true} is VALID [2020-07-18 05:12:47,384 INFO L280 TraceCheckUtils]: 13: Hoare triple {4575#true} #res.base, #res.offset := #t~ret30.base, #t~ret30.offset; {4575#true} is VALID [2020-07-18 05:12:47,384 INFO L280 TraceCheckUtils]: 14: Hoare triple {4575#true} havoc #t~ret30.base, #t~ret30.offset; {4575#true} is VALID [2020-07-18 05:12:47,385 INFO L280 TraceCheckUtils]: 15: Hoare triple {4575#true} assume true; {4575#true} is VALID [2020-07-18 05:12:47,385 INFO L275 TraceCheckUtils]: 16: Hoare quadruple {4575#true} {4575#true} #93#return; {4575#true} is VALID [2020-07-18 05:12:47,386 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2020-07-18 05:12:47,390 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2020-07-18 05:12:47,394 INFO L280 TraceCheckUtils]: 0: Hoare triple {4644#(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; {4575#true} is VALID [2020-07-18 05:12:47,394 INFO L280 TraceCheckUtils]: 1: Hoare triple {4575#true} assume ~size > 0; {4575#true} is VALID [2020-07-18 05:12:47,394 INFO L280 TraceCheckUtils]: 2: Hoare triple {4575#true} #t~post28.base, #t~post28.offset := ~guard_malloc_counter~0.base, ~guard_malloc_counter~0.offset; {4575#true} is VALID [2020-07-18 05:12:47,394 INFO L280 TraceCheckUtils]: 3: Hoare triple {4575#true} ~guard_malloc_counter~0.base, ~guard_malloc_counter~0.offset := #t~post28.base, 1 + #t~post28.offset; {4575#true} is VALID [2020-07-18 05:12:47,395 INFO L280 TraceCheckUtils]: 4: Hoare triple {4575#true} havoc #t~post28.base, #t~post28.offset; {4575#true} is VALID [2020-07-18 05:12:47,395 INFO L280 TraceCheckUtils]: 5: Hoare triple {4575#true} assume -2147483648 <= #t~nondet29 && #t~nondet29 <= 2147483647; {4575#true} is VALID [2020-07-18 05:12:47,395 INFO L280 TraceCheckUtils]: 6: Hoare triple {4575#true} assume !(0 == #t~nondet29); {4575#true} is VALID [2020-07-18 05:12:47,395 INFO L280 TraceCheckUtils]: 7: Hoare triple {4575#true} havoc #t~nondet29; {4575#true} is VALID [2020-07-18 05:12:47,395 INFO L280 TraceCheckUtils]: 8: Hoare triple {4575#true} #res.base, #res.offset := ~guard_malloc_counter~0.base, ~guard_malloc_counter~0.offset; {4575#true} is VALID [2020-07-18 05:12:47,396 INFO L280 TraceCheckUtils]: 9: Hoare triple {4575#true} assume true; {4575#true} is VALID [2020-07-18 05:12:47,396 INFO L275 TraceCheckUtils]: 10: Hoare quadruple {4575#true} {4575#true} #91#return; {4575#true} is VALID [2020-07-18 05:12:47,396 INFO L280 TraceCheckUtils]: 0: Hoare triple {4644#(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; {4575#true} is VALID [2020-07-18 05:12:47,397 INFO L263 TraceCheckUtils]: 1: Hoare triple {4575#true} call #t~ret30.base, #t~ret30.offset := __getMemory(~size); {4644#(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-18 05:12:47,397 INFO L280 TraceCheckUtils]: 2: Hoare triple {4644#(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; {4575#true} is VALID [2020-07-18 05:12:47,398 INFO L280 TraceCheckUtils]: 3: Hoare triple {4575#true} assume ~size > 0; {4575#true} is VALID [2020-07-18 05:12:47,398 INFO L280 TraceCheckUtils]: 4: Hoare triple {4575#true} #t~post28.base, #t~post28.offset := ~guard_malloc_counter~0.base, ~guard_malloc_counter~0.offset; {4575#true} is VALID [2020-07-18 05:12:47,398 INFO L280 TraceCheckUtils]: 5: Hoare triple {4575#true} ~guard_malloc_counter~0.base, ~guard_malloc_counter~0.offset := #t~post28.base, 1 + #t~post28.offset; {4575#true} is VALID [2020-07-18 05:12:47,398 INFO L280 TraceCheckUtils]: 6: Hoare triple {4575#true} havoc #t~post28.base, #t~post28.offset; {4575#true} is VALID [2020-07-18 05:12:47,398 INFO L280 TraceCheckUtils]: 7: Hoare triple {4575#true} assume -2147483648 <= #t~nondet29 && #t~nondet29 <= 2147483647; {4575#true} is VALID [2020-07-18 05:12:47,398 INFO L280 TraceCheckUtils]: 8: Hoare triple {4575#true} assume !(0 == #t~nondet29); {4575#true} is VALID [2020-07-18 05:12:47,399 INFO L280 TraceCheckUtils]: 9: Hoare triple {4575#true} havoc #t~nondet29; {4575#true} is VALID [2020-07-18 05:12:47,399 INFO L280 TraceCheckUtils]: 10: Hoare triple {4575#true} #res.base, #res.offset := ~guard_malloc_counter~0.base, ~guard_malloc_counter~0.offset; {4575#true} is VALID [2020-07-18 05:12:47,399 INFO L280 TraceCheckUtils]: 11: Hoare triple {4575#true} assume true; {4575#true} is VALID [2020-07-18 05:12:47,399 INFO L275 TraceCheckUtils]: 12: Hoare quadruple {4575#true} {4575#true} #91#return; {4575#true} is VALID [2020-07-18 05:12:47,399 INFO L280 TraceCheckUtils]: 13: Hoare triple {4575#true} #res.base, #res.offset := #t~ret30.base, #t~ret30.offset; {4575#true} is VALID [2020-07-18 05:12:47,400 INFO L280 TraceCheckUtils]: 14: Hoare triple {4575#true} havoc #t~ret30.base, #t~ret30.offset; {4575#true} is VALID [2020-07-18 05:12:47,400 INFO L280 TraceCheckUtils]: 15: Hoare triple {4575#true} assume true; {4575#true} is VALID [2020-07-18 05:12:47,400 INFO L275 TraceCheckUtils]: 16: Hoare quadruple {4575#true} {4575#true} #95#return; {4575#true} is VALID [2020-07-18 05:12:47,413 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2020-07-18 05:12:47,444 INFO L280 TraceCheckUtils]: 0: Hoare triple {4667#(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; {4668#(and (= list_add_~new.base |list_add_#in~new.base|) (= |list_add_#in~new.offset| list_add_~new.offset))} is VALID [2020-07-18 05:12:47,445 INFO L280 TraceCheckUtils]: 1: Hoare triple {4668#(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; {4668#(and (= list_add_~new.base |list_add_#in~new.base|) (= |list_add_#in~new.offset| list_add_~new.offset))} is VALID [2020-07-18 05:12:47,446 INFO L280 TraceCheckUtils]: 2: Hoare triple {4668#(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; {4668#(and (= list_add_~new.base |list_add_#in~new.base|) (= |list_add_#in~new.offset| list_add_~new.offset))} is VALID [2020-07-18 05:12:47,446 INFO L280 TraceCheckUtils]: 3: Hoare triple {4668#(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; {4668#(and (= list_add_~new.base |list_add_#in~new.base|) (= |list_add_#in~new.offset| list_add_~new.offset))} is VALID [2020-07-18 05:12:47,447 INFO L280 TraceCheckUtils]: 4: Hoare triple {4668#(and (= list_add_~new.base |list_add_#in~new.base|) (= |list_add_#in~new.offset| list_add_~new.offset))} assume 0 != #t~nondet31; {4668#(and (= list_add_~new.base |list_add_#in~new.base|) (= |list_add_#in~new.offset| list_add_~new.offset))} is VALID [2020-07-18 05:12:47,448 INFO L280 TraceCheckUtils]: 5: Hoare triple {4668#(and (= list_add_~new.base |list_add_#in~new.base|) (= |list_add_#in~new.offset| list_add_~new.offset))} havoc #t~nondet31; {4668#(and (= list_add_~new.base |list_add_#in~new.base|) (= |list_add_#in~new.offset| list_add_~new.offset))} is VALID [2020-07-18 05:12:47,448 INFO L280 TraceCheckUtils]: 6: Hoare triple {4668#(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; {4669#(and (= ~elem~0.base |list_add_#in~new.base|) (= ~elem~0.offset |list_add_#in~new.offset|))} is VALID [2020-07-18 05:12:47,449 INFO L280 TraceCheckUtils]: 7: Hoare triple {4669#(and (= ~elem~0.base |list_add_#in~new.base|) (= ~elem~0.offset |list_add_#in~new.offset|))} assume true; {4669#(and (= ~elem~0.base |list_add_#in~new.base|) (= ~elem~0.offset |list_add_#in~new.offset|))} is VALID [2020-07-18 05:12:47,450 INFO L275 TraceCheckUtils]: 8: Hoare quadruple {4669#(and (= ~elem~0.base |list_add_#in~new.base|) (= ~elem~0.offset |list_add_#in~new.offset|))} {4575#true} #97#return; {4630#(and (= main_~dev2~0.base ~elem~0.base) (= main_~dev2~0.offset ~elem~0.offset))} is VALID [2020-07-18 05:12:47,452 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2020-07-18 05:12:47,466 INFO L280 TraceCheckUtils]: 0: Hoare triple {4667#(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; {4667#(and (= ~elem~0.base |old(~elem~0.base)|) (= ~elem~0.offset |old(~elem~0.offset)|))} is VALID [2020-07-18 05:12:47,467 INFO L280 TraceCheckUtils]: 1: Hoare triple {4667#(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; {4667#(and (= ~elem~0.base |old(~elem~0.base)|) (= ~elem~0.offset |old(~elem~0.offset)|))} is VALID [2020-07-18 05:12:47,468 INFO L280 TraceCheckUtils]: 2: Hoare triple {4667#(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; {4667#(and (= ~elem~0.base |old(~elem~0.base)|) (= ~elem~0.offset |old(~elem~0.offset)|))} is VALID [2020-07-18 05:12:47,468 INFO L280 TraceCheckUtils]: 3: Hoare triple {4667#(and (= ~elem~0.base |old(~elem~0.base)|) (= ~elem~0.offset |old(~elem~0.offset)|))} assume -2147483648 <= #t~nondet31 && #t~nondet31 <= 2147483647; {4667#(and (= ~elem~0.base |old(~elem~0.base)|) (= ~elem~0.offset |old(~elem~0.offset)|))} is VALID [2020-07-18 05:12:47,469 INFO L280 TraceCheckUtils]: 4: Hoare triple {4667#(and (= ~elem~0.base |old(~elem~0.base)|) (= ~elem~0.offset |old(~elem~0.offset)|))} assume !(0 != #t~nondet31); {4667#(and (= ~elem~0.base |old(~elem~0.base)|) (= ~elem~0.offset |old(~elem~0.offset)|))} is VALID [2020-07-18 05:12:47,470 INFO L280 TraceCheckUtils]: 5: Hoare triple {4667#(and (= ~elem~0.base |old(~elem~0.base)|) (= ~elem~0.offset |old(~elem~0.offset)|))} havoc #t~nondet31; {4667#(and (= ~elem~0.base |old(~elem~0.base)|) (= ~elem~0.offset |old(~elem~0.offset)|))} is VALID [2020-07-18 05:12:47,470 INFO L280 TraceCheckUtils]: 6: Hoare triple {4667#(and (= ~elem~0.base |old(~elem~0.base)|) (= ~elem~0.offset |old(~elem~0.offset)|))} assume true; {4667#(and (= ~elem~0.base |old(~elem~0.base)|) (= ~elem~0.offset |old(~elem~0.offset)|))} is VALID [2020-07-18 05:12:47,472 INFO L275 TraceCheckUtils]: 7: Hoare quadruple {4667#(and (= ~elem~0.base |old(~elem~0.base)|) (= ~elem~0.offset |old(~elem~0.offset)|))} {4630#(and (= main_~dev2~0.base ~elem~0.base) (= main_~dev2~0.offset ~elem~0.offset))} #99#return; {4630#(and (= main_~dev2~0.base ~elem~0.base) (= main_~dev2~0.offset ~elem~0.offset))} is VALID [2020-07-18 05:12:47,473 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2020-07-18 05:12:47,534 INFO L280 TraceCheckUtils]: 0: Hoare triple {4667#(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; {4670#(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-18 05:12:47,535 INFO L280 TraceCheckUtils]: 1: Hoare triple {4670#(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); {4671#(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-18 05:12:47,536 INFO L280 TraceCheckUtils]: 2: Hoare triple {4671#(or (not (= |old(~elem~0.base)| |list_del_#in~entry.base|)) (not (= |old(~elem~0.offset)| |list_del_#in~entry.offset|)))} assume true; {4671#(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-18 05:12:47,538 INFO L275 TraceCheckUtils]: 3: Hoare quadruple {4671#(or (not (= |old(~elem~0.base)| |list_del_#in~entry.base|)) (not (= |old(~elem~0.offset)| |list_del_#in~entry.offset|)))} {4630#(and (= main_~dev2~0.base ~elem~0.base) (= main_~dev2~0.offset ~elem~0.offset))} #101#return; {4576#false} is VALID [2020-07-18 05:12:47,540 INFO L263 TraceCheckUtils]: 0: Hoare triple {4575#true} call ULTIMATE.init(); {4643#(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-18 05:12:47,540 INFO L280 TraceCheckUtils]: 1: Hoare triple {4643#(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; {4575#true} is VALID [2020-07-18 05:12:47,540 INFO L280 TraceCheckUtils]: 2: Hoare triple {4575#true} #valid := #valid[0 := 0]; {4575#true} is VALID [2020-07-18 05:12:47,541 INFO L280 TraceCheckUtils]: 3: Hoare triple {4575#true} assume 0 < #StackHeapBarrier; {4575#true} is VALID [2020-07-18 05:12:47,541 INFO L280 TraceCheckUtils]: 4: Hoare triple {4575#true} ~guard_malloc_counter~0.base, ~guard_malloc_counter~0.offset := 0, 0; {4575#true} is VALID [2020-07-18 05:12:47,541 INFO L280 TraceCheckUtils]: 5: Hoare triple {4575#true} ~elem~0.base, ~elem~0.offset := 0, 0; {4575#true} is VALID [2020-07-18 05:12:47,542 INFO L280 TraceCheckUtils]: 6: Hoare triple {4575#true} SUMMARY for call ~#head~0.base, ~#head~0.offset := #Ultimate.allocOnStack(8); srcloc: L900 {4575#true} is VALID [2020-07-18 05:12:47,542 INFO L280 TraceCheckUtils]: 7: Hoare triple {4575#true} SUMMARY for call write~init~$Pointer$(0, 0, ~#head~0.base, ~#head~0.offset, 4); srcloc: L900-1 {4575#true} is VALID [2020-07-18 05:12:47,542 INFO L280 TraceCheckUtils]: 8: Hoare triple {4575#true} SUMMARY for call write~init~$Pointer$(0, 0, ~#head~0.base, 4 + ~#head~0.offset, 4); srcloc: L900-2 {4575#true} is VALID [2020-07-18 05:12:47,543 INFO L280 TraceCheckUtils]: 9: Hoare triple {4575#true} assume true; {4575#true} is VALID [2020-07-18 05:12:47,543 INFO L275 TraceCheckUtils]: 10: Hoare quadruple {4575#true} {4575#true} #109#return; {4575#true} is VALID [2020-07-18 05:12:47,543 INFO L263 TraceCheckUtils]: 11: Hoare triple {4575#true} call #t~ret34 := main(); {4575#true} is VALID [2020-07-18 05:12:47,543 INFO L280 TraceCheckUtils]: 12: Hoare triple {4575#true} havoc ~dev1~0.base, ~dev1~0.offset; {4575#true} is VALID [2020-07-18 05:12:47,544 INFO L280 TraceCheckUtils]: 13: Hoare triple {4575#true} havoc ~dev2~0.base, ~dev2~0.offset; {4575#true} is VALID [2020-07-18 05:12:47,545 INFO L263 TraceCheckUtils]: 14: Hoare triple {4575#true} call #t~ret32.base, #t~ret32.offset := my_malloc(8); {4644#(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-18 05:12:47,545 INFO L280 TraceCheckUtils]: 15: Hoare triple {4644#(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; {4575#true} is VALID [2020-07-18 05:12:47,546 INFO L263 TraceCheckUtils]: 16: Hoare triple {4575#true} call #t~ret30.base, #t~ret30.offset := __getMemory(~size); {4644#(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-18 05:12:47,547 INFO L280 TraceCheckUtils]: 17: Hoare triple {4644#(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; {4575#true} is VALID [2020-07-18 05:12:47,547 INFO L280 TraceCheckUtils]: 18: Hoare triple {4575#true} assume ~size > 0; {4575#true} is VALID [2020-07-18 05:12:47,547 INFO L280 TraceCheckUtils]: 19: Hoare triple {4575#true} #t~post28.base, #t~post28.offset := ~guard_malloc_counter~0.base, ~guard_malloc_counter~0.offset; {4575#true} is VALID [2020-07-18 05:12:47,548 INFO L280 TraceCheckUtils]: 20: Hoare triple {4575#true} ~guard_malloc_counter~0.base, ~guard_malloc_counter~0.offset := #t~post28.base, 1 + #t~post28.offset; {4575#true} is VALID [2020-07-18 05:12:47,548 INFO L280 TraceCheckUtils]: 21: Hoare triple {4575#true} havoc #t~post28.base, #t~post28.offset; {4575#true} is VALID [2020-07-18 05:12:47,548 INFO L280 TraceCheckUtils]: 22: Hoare triple {4575#true} assume -2147483648 <= #t~nondet29 && #t~nondet29 <= 2147483647; {4575#true} is VALID [2020-07-18 05:12:47,548 INFO L280 TraceCheckUtils]: 23: Hoare triple {4575#true} assume !(0 == #t~nondet29); {4575#true} is VALID [2020-07-18 05:12:47,549 INFO L280 TraceCheckUtils]: 24: Hoare triple {4575#true} havoc #t~nondet29; {4575#true} is VALID [2020-07-18 05:12:47,549 INFO L280 TraceCheckUtils]: 25: Hoare triple {4575#true} #res.base, #res.offset := ~guard_malloc_counter~0.base, ~guard_malloc_counter~0.offset; {4575#true} is VALID [2020-07-18 05:12:47,549 INFO L280 TraceCheckUtils]: 26: Hoare triple {4575#true} assume true; {4575#true} is VALID [2020-07-18 05:12:47,550 INFO L275 TraceCheckUtils]: 27: Hoare quadruple {4575#true} {4575#true} #91#return; {4575#true} is VALID [2020-07-18 05:12:47,550 INFO L280 TraceCheckUtils]: 28: Hoare triple {4575#true} #res.base, #res.offset := #t~ret30.base, #t~ret30.offset; {4575#true} is VALID [2020-07-18 05:12:47,550 INFO L280 TraceCheckUtils]: 29: Hoare triple {4575#true} havoc #t~ret30.base, #t~ret30.offset; {4575#true} is VALID [2020-07-18 05:12:47,550 INFO L280 TraceCheckUtils]: 30: Hoare triple {4575#true} assume true; {4575#true} is VALID [2020-07-18 05:12:47,551 INFO L275 TraceCheckUtils]: 31: Hoare quadruple {4575#true} {4575#true} #93#return; {4575#true} is VALID [2020-07-18 05:12:47,551 INFO L280 TraceCheckUtils]: 32: Hoare triple {4575#true} ~dev1~0.base, ~dev1~0.offset := #t~ret32.base, #t~ret32.offset; {4575#true} is VALID [2020-07-18 05:12:47,551 INFO L280 TraceCheckUtils]: 33: Hoare triple {4575#true} havoc #t~ret32.base, #t~ret32.offset; {4575#true} is VALID [2020-07-18 05:12:47,553 INFO L263 TraceCheckUtils]: 34: Hoare triple {4575#true} call #t~ret33.base, #t~ret33.offset := my_malloc(8); {4644#(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-18 05:12:47,553 INFO L280 TraceCheckUtils]: 35: Hoare triple {4644#(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; {4575#true} is VALID [2020-07-18 05:12:47,554 INFO L263 TraceCheckUtils]: 36: Hoare triple {4575#true} call #t~ret30.base, #t~ret30.offset := __getMemory(~size); {4644#(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-18 05:12:47,554 INFO L280 TraceCheckUtils]: 37: Hoare triple {4644#(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; {4575#true} is VALID [2020-07-18 05:12:47,555 INFO L280 TraceCheckUtils]: 38: Hoare triple {4575#true} assume ~size > 0; {4575#true} is VALID [2020-07-18 05:12:47,555 INFO L280 TraceCheckUtils]: 39: Hoare triple {4575#true} #t~post28.base, #t~post28.offset := ~guard_malloc_counter~0.base, ~guard_malloc_counter~0.offset; {4575#true} is VALID [2020-07-18 05:12:47,555 INFO L280 TraceCheckUtils]: 40: Hoare triple {4575#true} ~guard_malloc_counter~0.base, ~guard_malloc_counter~0.offset := #t~post28.base, 1 + #t~post28.offset; {4575#true} is VALID [2020-07-18 05:12:47,556 INFO L280 TraceCheckUtils]: 41: Hoare triple {4575#true} havoc #t~post28.base, #t~post28.offset; {4575#true} is VALID [2020-07-18 05:12:47,556 INFO L280 TraceCheckUtils]: 42: Hoare triple {4575#true} assume -2147483648 <= #t~nondet29 && #t~nondet29 <= 2147483647; {4575#true} is VALID [2020-07-18 05:12:47,556 INFO L280 TraceCheckUtils]: 43: Hoare triple {4575#true} assume !(0 == #t~nondet29); {4575#true} is VALID [2020-07-18 05:12:47,557 INFO L280 TraceCheckUtils]: 44: Hoare triple {4575#true} havoc #t~nondet29; {4575#true} is VALID [2020-07-18 05:12:47,557 INFO L280 TraceCheckUtils]: 45: Hoare triple {4575#true} #res.base, #res.offset := ~guard_malloc_counter~0.base, ~guard_malloc_counter~0.offset; {4575#true} is VALID [2020-07-18 05:12:47,557 INFO L280 TraceCheckUtils]: 46: Hoare triple {4575#true} assume true; {4575#true} is VALID [2020-07-18 05:12:47,557 INFO L275 TraceCheckUtils]: 47: Hoare quadruple {4575#true} {4575#true} #91#return; {4575#true} is VALID [2020-07-18 05:12:47,558 INFO L280 TraceCheckUtils]: 48: Hoare triple {4575#true} #res.base, #res.offset := #t~ret30.base, #t~ret30.offset; {4575#true} is VALID [2020-07-18 05:12:47,558 INFO L280 TraceCheckUtils]: 49: Hoare triple {4575#true} havoc #t~ret30.base, #t~ret30.offset; {4575#true} is VALID [2020-07-18 05:12:47,558 INFO L280 TraceCheckUtils]: 50: Hoare triple {4575#true} assume true; {4575#true} is VALID [2020-07-18 05:12:47,558 INFO L275 TraceCheckUtils]: 51: Hoare quadruple {4575#true} {4575#true} #95#return; {4575#true} is VALID [2020-07-18 05:12:47,559 INFO L280 TraceCheckUtils]: 52: Hoare triple {4575#true} ~dev2~0.base, ~dev2~0.offset := #t~ret33.base, #t~ret33.offset; {4575#true} is VALID [2020-07-18 05:12:47,559 INFO L280 TraceCheckUtils]: 53: Hoare triple {4575#true} havoc #t~ret33.base, #t~ret33.offset; {4575#true} is VALID [2020-07-18 05:12:47,559 INFO L280 TraceCheckUtils]: 54: Hoare triple {4575#true} assume (~dev1~0.base != 0 || ~dev1~0.offset != 0) && (~dev2~0.base != 0 || ~dev2~0.offset != 0); {4575#true} is VALID [2020-07-18 05:12:47,561 INFO L263 TraceCheckUtils]: 55: Hoare triple {4575#true} call list_add(~dev2~0.base, ~dev2~0.offset, ~#head~0.base, ~#head~0.offset); {4667#(and (= ~elem~0.base |old(~elem~0.base)|) (= ~elem~0.offset |old(~elem~0.offset)|))} is VALID [2020-07-18 05:12:47,562 INFO L280 TraceCheckUtils]: 56: Hoare triple {4667#(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; {4668#(and (= list_add_~new.base |list_add_#in~new.base|) (= |list_add_#in~new.offset| list_add_~new.offset))} is VALID [2020-07-18 05:12:47,563 INFO L280 TraceCheckUtils]: 57: Hoare triple {4668#(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; {4668#(and (= list_add_~new.base |list_add_#in~new.base|) (= |list_add_#in~new.offset| list_add_~new.offset))} is VALID [2020-07-18 05:12:47,564 INFO L280 TraceCheckUtils]: 58: Hoare triple {4668#(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; {4668#(and (= list_add_~new.base |list_add_#in~new.base|) (= |list_add_#in~new.offset| list_add_~new.offset))} is VALID [2020-07-18 05:12:47,565 INFO L280 TraceCheckUtils]: 59: Hoare triple {4668#(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; {4668#(and (= list_add_~new.base |list_add_#in~new.base|) (= |list_add_#in~new.offset| list_add_~new.offset))} is VALID [2020-07-18 05:12:47,566 INFO L280 TraceCheckUtils]: 60: Hoare triple {4668#(and (= list_add_~new.base |list_add_#in~new.base|) (= |list_add_#in~new.offset| list_add_~new.offset))} assume 0 != #t~nondet31; {4668#(and (= list_add_~new.base |list_add_#in~new.base|) (= |list_add_#in~new.offset| list_add_~new.offset))} is VALID [2020-07-18 05:12:47,567 INFO L280 TraceCheckUtils]: 61: Hoare triple {4668#(and (= list_add_~new.base |list_add_#in~new.base|) (= |list_add_#in~new.offset| list_add_~new.offset))} havoc #t~nondet31; {4668#(and (= list_add_~new.base |list_add_#in~new.base|) (= |list_add_#in~new.offset| list_add_~new.offset))} is VALID [2020-07-18 05:12:47,568 INFO L280 TraceCheckUtils]: 62: Hoare triple {4668#(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; {4669#(and (= ~elem~0.base |list_add_#in~new.base|) (= ~elem~0.offset |list_add_#in~new.offset|))} is VALID [2020-07-18 05:12:47,569 INFO L280 TraceCheckUtils]: 63: Hoare triple {4669#(and (= ~elem~0.base |list_add_#in~new.base|) (= ~elem~0.offset |list_add_#in~new.offset|))} assume true; {4669#(and (= ~elem~0.base |list_add_#in~new.base|) (= ~elem~0.offset |list_add_#in~new.offset|))} is VALID [2020-07-18 05:12:47,571 INFO L275 TraceCheckUtils]: 64: Hoare quadruple {4669#(and (= ~elem~0.base |list_add_#in~new.base|) (= ~elem~0.offset |list_add_#in~new.offset|))} {4575#true} #97#return; {4630#(and (= main_~dev2~0.base ~elem~0.base) (= main_~dev2~0.offset ~elem~0.offset))} is VALID [2020-07-18 05:12:47,573 INFO L263 TraceCheckUtils]: 65: Hoare triple {4630#(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); {4667#(and (= ~elem~0.base |old(~elem~0.base)|) (= ~elem~0.offset |old(~elem~0.offset)|))} is VALID [2020-07-18 05:12:47,574 INFO L280 TraceCheckUtils]: 66: Hoare triple {4667#(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; {4667#(and (= ~elem~0.base |old(~elem~0.base)|) (= ~elem~0.offset |old(~elem~0.offset)|))} is VALID [2020-07-18 05:12:47,575 INFO L280 TraceCheckUtils]: 67: Hoare triple {4667#(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; {4667#(and (= ~elem~0.base |old(~elem~0.base)|) (= ~elem~0.offset |old(~elem~0.offset)|))} is VALID [2020-07-18 05:12:47,576 INFO L280 TraceCheckUtils]: 68: Hoare triple {4667#(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; {4667#(and (= ~elem~0.base |old(~elem~0.base)|) (= ~elem~0.offset |old(~elem~0.offset)|))} is VALID [2020-07-18 05:12:47,577 INFO L280 TraceCheckUtils]: 69: Hoare triple {4667#(and (= ~elem~0.base |old(~elem~0.base)|) (= ~elem~0.offset |old(~elem~0.offset)|))} assume -2147483648 <= #t~nondet31 && #t~nondet31 <= 2147483647; {4667#(and (= ~elem~0.base |old(~elem~0.base)|) (= ~elem~0.offset |old(~elem~0.offset)|))} is VALID [2020-07-18 05:12:47,578 INFO L280 TraceCheckUtils]: 70: Hoare triple {4667#(and (= ~elem~0.base |old(~elem~0.base)|) (= ~elem~0.offset |old(~elem~0.offset)|))} assume !(0 != #t~nondet31); {4667#(and (= ~elem~0.base |old(~elem~0.base)|) (= ~elem~0.offset |old(~elem~0.offset)|))} is VALID [2020-07-18 05:12:47,579 INFO L280 TraceCheckUtils]: 71: Hoare triple {4667#(and (= ~elem~0.base |old(~elem~0.base)|) (= ~elem~0.offset |old(~elem~0.offset)|))} havoc #t~nondet31; {4667#(and (= ~elem~0.base |old(~elem~0.base)|) (= ~elem~0.offset |old(~elem~0.offset)|))} is VALID [2020-07-18 05:12:47,580 INFO L280 TraceCheckUtils]: 72: Hoare triple {4667#(and (= ~elem~0.base |old(~elem~0.base)|) (= ~elem~0.offset |old(~elem~0.offset)|))} assume true; {4667#(and (= ~elem~0.base |old(~elem~0.base)|) (= ~elem~0.offset |old(~elem~0.offset)|))} is VALID [2020-07-18 05:12:47,583 INFO L275 TraceCheckUtils]: 73: Hoare quadruple {4667#(and (= ~elem~0.base |old(~elem~0.base)|) (= ~elem~0.offset |old(~elem~0.offset)|))} {4630#(and (= main_~dev2~0.base ~elem~0.base) (= main_~dev2~0.offset ~elem~0.offset))} #99#return; {4630#(and (= main_~dev2~0.base ~elem~0.base) (= main_~dev2~0.offset ~elem~0.offset))} is VALID [2020-07-18 05:12:47,584 INFO L263 TraceCheckUtils]: 74: Hoare triple {4630#(and (= main_~dev2~0.base ~elem~0.base) (= main_~dev2~0.offset ~elem~0.offset))} call list_del(~dev2~0.base, ~dev2~0.offset); {4667#(and (= ~elem~0.base |old(~elem~0.base)|) (= ~elem~0.offset |old(~elem~0.offset)|))} is VALID [2020-07-18 05:12:47,585 INFO L280 TraceCheckUtils]: 75: Hoare triple {4667#(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; {4670#(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-18 05:12:47,586 INFO L280 TraceCheckUtils]: 76: Hoare triple {4670#(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); {4671#(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-18 05:12:47,587 INFO L280 TraceCheckUtils]: 77: Hoare triple {4671#(or (not (= |old(~elem~0.base)| |list_del_#in~entry.base|)) (not (= |old(~elem~0.offset)| |list_del_#in~entry.offset|)))} assume true; {4671#(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-18 05:12:47,589 INFO L275 TraceCheckUtils]: 78: Hoare quadruple {4671#(or (not (= |old(~elem~0.base)| |list_del_#in~entry.base|)) (not (= |old(~elem~0.offset)| |list_del_#in~entry.offset|)))} {4630#(and (= main_~dev2~0.base ~elem~0.base) (= main_~dev2~0.offset ~elem~0.offset))} #101#return; {4576#false} is VALID [2020-07-18 05:12:47,589 INFO L263 TraceCheckUtils]: 79: Hoare triple {4576#false} call list_add(~dev2~0.base, ~dev2~0.offset, ~#head~0.base, ~#head~0.offset); {4576#false} is VALID [2020-07-18 05:12:47,589 INFO L280 TraceCheckUtils]: 80: Hoare triple {4576#false} ~new.base, ~new.offset := #in~new.base, #in~new.offset; {4576#false} is VALID [2020-07-18 05:12:47,590 INFO L280 TraceCheckUtils]: 81: Hoare triple {4576#false} ~head.base, ~head.offset := #in~head.base, #in~head.offset; {4576#false} is VALID [2020-07-18 05:12:47,590 INFO L280 TraceCheckUtils]: 82: Hoare triple {4576#false} assume !(~new.base != ~elem~0.base || ~new.offset != ~elem~0.offset); {4576#false} is VALID [2020-07-18 05:12:47,590 INFO L263 TraceCheckUtils]: 83: Hoare triple {4576#false} call __blast_assert(); {4576#false} is VALID [2020-07-18 05:12:47,590 INFO L280 TraceCheckUtils]: 84: Hoare triple {4576#false} assume !false; {4576#false} is VALID [2020-07-18 05:12:47,605 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-18 05:12:47,606 INFO L354 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModulePreferences [1996417311] [2020-07-18 05:12:47,606 INFO L220 FreeRefinementEngine]: Constructing automaton from 0 perfect and 1 imperfect interpolant sequences. [2020-07-18 05:12:47,606 INFO L233 FreeRefinementEngine]: Number of different interpolants: perfect sequences [] imperfect sequences [10] total 10 [2020-07-18 05:12:47,607 INFO L156 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [2095404851] [2020-07-18 05:12:47,607 INFO L78 Accepts]: Start accepts. Automaton has 10 states. Word has length 85 [2020-07-18 05:12:47,608 INFO L84 Accepts]: Finished accepts. word is accepted. [2020-07-18 05:12:47,608 INFO L86 InductivityCheck]: Starting indutivity check of a Floyd-Hoare automaton with 10 states. [2020-07-18 05:12:47,734 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-18 05:12:47,734 INFO L459 AbstractCegarLoop]: Interpolant automaton has 10 states [2020-07-18 05:12:47,734 INFO L143 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy FIXED_PREFERENCES [2020-07-18 05:12:47,735 INFO L142 InterpolantAutomaton]: Constructing interpolant automaton starting with 10 interpolants. [2020-07-18 05:12:47,735 INFO L144 InterpolantAutomaton]: CoverageRelationStatistics Valid=20, Invalid=70, Unknown=0, NotChecked=0, Total=90 [2020-07-18 05:12:47,735 INFO L87 Difference]: Start difference. First operand 82 states and 88 transitions. Second operand 10 states. [2020-07-18 05:12:49,681 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2020-07-18 05:12:49,681 INFO L93 Difference]: Finished difference Result 89 states and 94 transitions. [2020-07-18 05:12:49,681 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 12 states. [2020-07-18 05:12:49,681 INFO L78 Accepts]: Start accepts. Automaton has 10 states. Word has length 85 [2020-07-18 05:12:49,682 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2020-07-18 05:12:49,682 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 10 states. [2020-07-18 05:12:49,684 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 12 states to 12 states and 79 transitions. [2020-07-18 05:12:49,684 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 10 states. [2020-07-18 05:12:49,686 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 12 states to 12 states and 79 transitions. [2020-07-18 05:12:49,686 INFO L86 InductivityCheck]: Starting indutivity check of a Floyd-Hoare automaton with 12 states and 79 transitions. [2020-07-18 05:12:49,822 INFO L119 InductivityCheck]: Floyd-Hoare automaton has 79 edges. 79 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2020-07-18 05:12:49,824 INFO L225 Difference]: With dead ends: 89 [2020-07-18 05:12:49,824 INFO L226 Difference]: Without dead ends: 80 [2020-07-18 05:12:49,825 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-18 05:12:49,825 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 80 states. [2020-07-18 05:12:50,205 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 80 to 79. [2020-07-18 05:12:50,205 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2020-07-18 05:12:50,206 INFO L82 GeneralOperation]: Start isEquivalent. First operand 80 states. Second operand 79 states. [2020-07-18 05:12:50,206 INFO L74 IsIncluded]: Start isIncluded. First operand 80 states. Second operand 79 states. [2020-07-18 05:12:50,206 INFO L87 Difference]: Start difference. First operand 80 states. Second operand 79 states. [2020-07-18 05:12:50,210 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2020-07-18 05:12:50,210 INFO L93 Difference]: Finished difference Result 80 states and 85 transitions. [2020-07-18 05:12:50,210 INFO L276 IsEmpty]: Start isEmpty. Operand 80 states and 85 transitions. [2020-07-18 05:12:50,211 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2020-07-18 05:12:50,211 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2020-07-18 05:12:50,211 INFO L74 IsIncluded]: Start isIncluded. First operand 79 states. Second operand 80 states. [2020-07-18 05:12:50,211 INFO L87 Difference]: Start difference. First operand 79 states. Second operand 80 states. [2020-07-18 05:12:50,214 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2020-07-18 05:12:50,215 INFO L93 Difference]: Finished difference Result 80 states and 85 transitions. [2020-07-18 05:12:50,215 INFO L276 IsEmpty]: Start isEmpty. Operand 80 states and 85 transitions. [2020-07-18 05:12:50,215 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2020-07-18 05:12:50,215 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2020-07-18 05:12:50,215 INFO L88 GeneralOperation]: Finished isEquivalent. [2020-07-18 05:12:50,216 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2020-07-18 05:12:50,216 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 79 states. [2020-07-18 05:12:50,218 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 79 states to 79 states and 83 transitions. [2020-07-18 05:12:50,219 INFO L78 Accepts]: Start accepts. Automaton has 79 states and 83 transitions. Word has length 85 [2020-07-18 05:12:50,219 INFO L84 Accepts]: Finished accepts. word is rejected. [2020-07-18 05:12:50,219 INFO L479 AbstractCegarLoop]: Abstraction has 79 states and 83 transitions. [2020-07-18 05:12:50,219 INFO L480 AbstractCegarLoop]: Interpolant automaton has 10 states. [2020-07-18 05:12:50,219 INFO L86 InductivityCheck]: Starting indutivity check of a Floyd-Hoare automaton with 79 states and 83 transitions. [2020-07-18 05:12:50,417 INFO L119 InductivityCheck]: Floyd-Hoare automaton has 83 edges. 83 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2020-07-18 05:12:50,418 INFO L276 IsEmpty]: Start isEmpty. Operand 79 states and 83 transitions. [2020-07-18 05:12:50,419 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 87 [2020-07-18 05:12:50,419 INFO L414 BasicCegarLoop]: Found error trace [2020-07-18 05:12:50,420 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-18 05:12:50,420 WARN L516 AbstractCegarLoop]: Destroyed unattended storables created during the last iteration: SelfDestructingSolverStorable7 [2020-07-18 05:12:50,420 INFO L427 AbstractCegarLoop]: === Iteration 9 === [__blast_assertErr0ASSERT_VIOLATIONERROR_FUNCTION]=== [2020-07-18 05:12:50,420 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2020-07-18 05:12:50,421 INFO L82 PathProgramCache]: Analyzing trace with hash 578402155, now seen corresponding path program 1 times [2020-07-18 05:12:50,421 INFO L163 FreeRefinementEngine]: Executing refinement strategy FIXED_PREFERENCES [2020-07-18 05:12:50,421 INFO L354 FreeRefinementEngine]: Using trace check IpTcStrategyModulePreferences [1843045462] [2020-07-18 05:12:50,422 INFO L94 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2020-07-18 05:12:50,448 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2020-07-18 05:12:50,603 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2020-07-18 05:12:50,609 INFO L280 TraceCheckUtils]: 0: Hoare triple {5255#(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; {5182#true} is VALID [2020-07-18 05:12:50,610 INFO L280 TraceCheckUtils]: 1: Hoare triple {5182#true} #valid := #valid[0 := 0]; {5182#true} is VALID [2020-07-18 05:12:50,610 INFO L280 TraceCheckUtils]: 2: Hoare triple {5182#true} assume 0 < #StackHeapBarrier; {5182#true} is VALID [2020-07-18 05:12:50,610 INFO L280 TraceCheckUtils]: 3: Hoare triple {5182#true} ~guard_malloc_counter~0.base, ~guard_malloc_counter~0.offset := 0, 0; {5182#true} is VALID [2020-07-18 05:12:50,611 INFO L280 TraceCheckUtils]: 4: Hoare triple {5182#true} ~elem~0.base, ~elem~0.offset := 0, 0; {5182#true} is VALID [2020-07-18 05:12:50,611 INFO L280 TraceCheckUtils]: 5: Hoare triple {5182#true} SUMMARY for call ~#head~0.base, ~#head~0.offset := #Ultimate.allocOnStack(8); srcloc: L900 {5182#true} is VALID [2020-07-18 05:12:50,611 INFO L280 TraceCheckUtils]: 6: Hoare triple {5182#true} SUMMARY for call write~init~$Pointer$(0, 0, ~#head~0.base, ~#head~0.offset, 4); srcloc: L900-1 {5182#true} is VALID [2020-07-18 05:12:50,611 INFO L280 TraceCheckUtils]: 7: Hoare triple {5182#true} SUMMARY for call write~init~$Pointer$(0, 0, ~#head~0.base, 4 + ~#head~0.offset, 4); srcloc: L900-2 {5182#true} is VALID [2020-07-18 05:12:50,611 INFO L280 TraceCheckUtils]: 8: Hoare triple {5182#true} assume true; {5182#true} is VALID [2020-07-18 05:12:50,612 INFO L275 TraceCheckUtils]: 9: Hoare quadruple {5182#true} {5182#true} #109#return; {5182#true} is VALID [2020-07-18 05:12:50,634 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2020-07-18 05:12:50,678 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2020-07-18 05:12:50,707 INFO L280 TraceCheckUtils]: 0: Hoare triple {5256#(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; {5182#true} is VALID [2020-07-18 05:12:50,707 INFO L280 TraceCheckUtils]: 1: Hoare triple {5182#true} assume ~size > 0; {5182#true} is VALID [2020-07-18 05:12:50,708 INFO L280 TraceCheckUtils]: 2: Hoare triple {5182#true} #t~post28.base, #t~post28.offset := ~guard_malloc_counter~0.base, ~guard_malloc_counter~0.offset; {5182#true} is VALID [2020-07-18 05:12:50,708 INFO L280 TraceCheckUtils]: 3: Hoare triple {5182#true} ~guard_malloc_counter~0.base, ~guard_malloc_counter~0.offset := #t~post28.base, 1 + #t~post28.offset; {5182#true} is VALID [2020-07-18 05:12:50,708 INFO L280 TraceCheckUtils]: 4: Hoare triple {5182#true} havoc #t~post28.base, #t~post28.offset; {5182#true} is VALID [2020-07-18 05:12:50,708 INFO L280 TraceCheckUtils]: 5: Hoare triple {5182#true} assume -2147483648 <= #t~nondet29 && #t~nondet29 <= 2147483647; {5182#true} is VALID [2020-07-18 05:12:50,709 INFO L280 TraceCheckUtils]: 6: Hoare triple {5182#true} assume !(0 == #t~nondet29); {5182#true} is VALID [2020-07-18 05:12:50,709 INFO L280 TraceCheckUtils]: 7: Hoare triple {5182#true} havoc #t~nondet29; {5182#true} is VALID [2020-07-18 05:12:50,710 INFO L280 TraceCheckUtils]: 8: Hoare triple {5182#true} #res.base, #res.offset := ~guard_malloc_counter~0.base, ~guard_malloc_counter~0.offset; {5270#(<= |__getMemory_#res.offset| ~guard_malloc_counter~0.offset)} is VALID [2020-07-18 05:12:50,710 INFO L280 TraceCheckUtils]: 9: Hoare triple {5270#(<= |__getMemory_#res.offset| ~guard_malloc_counter~0.offset)} assume true; {5270#(<= |__getMemory_#res.offset| ~guard_malloc_counter~0.offset)} is VALID [2020-07-18 05:12:50,712 INFO L275 TraceCheckUtils]: 10: Hoare quadruple {5270#(<= |__getMemory_#res.offset| ~guard_malloc_counter~0.offset)} {5182#true} #91#return; {5268#(<= |my_malloc_#t~ret30.offset| ~guard_malloc_counter~0.offset)} is VALID [2020-07-18 05:12:50,712 INFO L280 TraceCheckUtils]: 0: Hoare triple {5256#(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; {5182#true} is VALID [2020-07-18 05:12:50,713 INFO L263 TraceCheckUtils]: 1: Hoare triple {5182#true} call #t~ret30.base, #t~ret30.offset := __getMemory(~size); {5256#(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-18 05:12:50,714 INFO L280 TraceCheckUtils]: 2: Hoare triple {5256#(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; {5182#true} is VALID [2020-07-18 05:12:50,714 INFO L280 TraceCheckUtils]: 3: Hoare triple {5182#true} assume ~size > 0; {5182#true} is VALID [2020-07-18 05:12:50,714 INFO L280 TraceCheckUtils]: 4: Hoare triple {5182#true} #t~post28.base, #t~post28.offset := ~guard_malloc_counter~0.base, ~guard_malloc_counter~0.offset; {5182#true} is VALID [2020-07-18 05:12:50,714 INFO L280 TraceCheckUtils]: 5: Hoare triple {5182#true} ~guard_malloc_counter~0.base, ~guard_malloc_counter~0.offset := #t~post28.base, 1 + #t~post28.offset; {5182#true} is VALID [2020-07-18 05:12:50,715 INFO L280 TraceCheckUtils]: 6: Hoare triple {5182#true} havoc #t~post28.base, #t~post28.offset; {5182#true} is VALID [2020-07-18 05:12:50,715 INFO L280 TraceCheckUtils]: 7: Hoare triple {5182#true} assume -2147483648 <= #t~nondet29 && #t~nondet29 <= 2147483647; {5182#true} is VALID [2020-07-18 05:12:50,715 INFO L280 TraceCheckUtils]: 8: Hoare triple {5182#true} assume !(0 == #t~nondet29); {5182#true} is VALID [2020-07-18 05:12:50,716 INFO L280 TraceCheckUtils]: 9: Hoare triple {5182#true} havoc #t~nondet29; {5182#true} is VALID [2020-07-18 05:12:50,717 INFO L280 TraceCheckUtils]: 10: Hoare triple {5182#true} #res.base, #res.offset := ~guard_malloc_counter~0.base, ~guard_malloc_counter~0.offset; {5270#(<= |__getMemory_#res.offset| ~guard_malloc_counter~0.offset)} is VALID [2020-07-18 05:12:50,718 INFO L280 TraceCheckUtils]: 11: Hoare triple {5270#(<= |__getMemory_#res.offset| ~guard_malloc_counter~0.offset)} assume true; {5270#(<= |__getMemory_#res.offset| ~guard_malloc_counter~0.offset)} is VALID [2020-07-18 05:12:50,720 INFO L275 TraceCheckUtils]: 12: Hoare quadruple {5270#(<= |__getMemory_#res.offset| ~guard_malloc_counter~0.offset)} {5182#true} #91#return; {5268#(<= |my_malloc_#t~ret30.offset| ~guard_malloc_counter~0.offset)} is VALID [2020-07-18 05:12:50,720 INFO L280 TraceCheckUtils]: 13: Hoare triple {5268#(<= |my_malloc_#t~ret30.offset| ~guard_malloc_counter~0.offset)} #res.base, #res.offset := #t~ret30.base, #t~ret30.offset; {5269#(<= |my_malloc_#res.offset| ~guard_malloc_counter~0.offset)} is VALID [2020-07-18 05:12:50,721 INFO L280 TraceCheckUtils]: 14: Hoare triple {5269#(<= |my_malloc_#res.offset| ~guard_malloc_counter~0.offset)} havoc #t~ret30.base, #t~ret30.offset; {5269#(<= |my_malloc_#res.offset| ~guard_malloc_counter~0.offset)} is VALID [2020-07-18 05:12:50,722 INFO L280 TraceCheckUtils]: 15: Hoare triple {5269#(<= |my_malloc_#res.offset| ~guard_malloc_counter~0.offset)} assume true; {5269#(<= |my_malloc_#res.offset| ~guard_malloc_counter~0.offset)} is VALID [2020-07-18 05:12:50,723 INFO L275 TraceCheckUtils]: 16: Hoare quadruple {5269#(<= |my_malloc_#res.offset| ~guard_malloc_counter~0.offset)} {5182#true} #93#return; {5211#(<= |main_#t~ret32.offset| ~guard_malloc_counter~0.offset)} is VALID [2020-07-18 05:12:50,727 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2020-07-18 05:12:50,789 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2020-07-18 05:12:50,862 INFO L280 TraceCheckUtils]: 0: Hoare triple {5256#(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; {5271#(= ~guard_malloc_counter~0.offset |old(~guard_malloc_counter~0.offset)|)} is VALID [2020-07-18 05:12:50,863 INFO L280 TraceCheckUtils]: 1: Hoare triple {5271#(= ~guard_malloc_counter~0.offset |old(~guard_malloc_counter~0.offset)|)} assume ~size > 0; {5271#(= ~guard_malloc_counter~0.offset |old(~guard_malloc_counter~0.offset)|)} is VALID [2020-07-18 05:12:50,864 INFO L280 TraceCheckUtils]: 2: Hoare triple {5271#(= ~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; {5285#(= |old(~guard_malloc_counter~0.offset)| |__getMemory_#t~post28.offset|)} is VALID [2020-07-18 05:12:50,864 INFO L280 TraceCheckUtils]: 3: Hoare triple {5285#(= |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; {5286#(<= (+ |old(~guard_malloc_counter~0.offset)| 1) ~guard_malloc_counter~0.offset)} is VALID [2020-07-18 05:12:50,865 INFO L280 TraceCheckUtils]: 4: Hoare triple {5286#(<= (+ |old(~guard_malloc_counter~0.offset)| 1) ~guard_malloc_counter~0.offset)} havoc #t~post28.base, #t~post28.offset; {5286#(<= (+ |old(~guard_malloc_counter~0.offset)| 1) ~guard_malloc_counter~0.offset)} is VALID [2020-07-18 05:12:50,865 INFO L280 TraceCheckUtils]: 5: Hoare triple {5286#(<= (+ |old(~guard_malloc_counter~0.offset)| 1) ~guard_malloc_counter~0.offset)} assume -2147483648 <= #t~nondet29 && #t~nondet29 <= 2147483647; {5286#(<= (+ |old(~guard_malloc_counter~0.offset)| 1) ~guard_malloc_counter~0.offset)} is VALID [2020-07-18 05:12:50,866 INFO L280 TraceCheckUtils]: 6: Hoare triple {5286#(<= (+ |old(~guard_malloc_counter~0.offset)| 1) ~guard_malloc_counter~0.offset)} assume !(0 == #t~nondet29); {5286#(<= (+ |old(~guard_malloc_counter~0.offset)| 1) ~guard_malloc_counter~0.offset)} is VALID [2020-07-18 05:12:50,867 INFO L280 TraceCheckUtils]: 7: Hoare triple {5286#(<= (+ |old(~guard_malloc_counter~0.offset)| 1) ~guard_malloc_counter~0.offset)} havoc #t~nondet29; {5286#(<= (+ |old(~guard_malloc_counter~0.offset)| 1) ~guard_malloc_counter~0.offset)} is VALID [2020-07-18 05:12:50,867 INFO L280 TraceCheckUtils]: 8: Hoare triple {5286#(<= (+ |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; {5287#(<= (+ |old(~guard_malloc_counter~0.offset)| 1) |__getMemory_#res.offset|)} is VALID [2020-07-18 05:12:50,868 INFO L280 TraceCheckUtils]: 9: Hoare triple {5287#(<= (+ |old(~guard_malloc_counter~0.offset)| 1) |__getMemory_#res.offset|)} assume true; {5287#(<= (+ |old(~guard_malloc_counter~0.offset)| 1) |__getMemory_#res.offset|)} is VALID [2020-07-18 05:12:50,869 INFO L275 TraceCheckUtils]: 10: Hoare quadruple {5287#(<= (+ |old(~guard_malloc_counter~0.offset)| 1) |__getMemory_#res.offset|)} {5271#(= ~guard_malloc_counter~0.offset |old(~guard_malloc_counter~0.offset)|)} #91#return; {5283#(<= (+ |old(~guard_malloc_counter~0.offset)| 1) |my_malloc_#t~ret30.offset|)} is VALID [2020-07-18 05:12:50,870 INFO L280 TraceCheckUtils]: 0: Hoare triple {5256#(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; {5271#(= ~guard_malloc_counter~0.offset |old(~guard_malloc_counter~0.offset)|)} is VALID [2020-07-18 05:12:50,871 INFO L263 TraceCheckUtils]: 1: Hoare triple {5271#(= ~guard_malloc_counter~0.offset |old(~guard_malloc_counter~0.offset)|)} call #t~ret30.base, #t~ret30.offset := __getMemory(~size); {5256#(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-18 05:12:50,871 INFO L280 TraceCheckUtils]: 2: Hoare triple {5256#(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; {5271#(= ~guard_malloc_counter~0.offset |old(~guard_malloc_counter~0.offset)|)} is VALID [2020-07-18 05:12:50,872 INFO L280 TraceCheckUtils]: 3: Hoare triple {5271#(= ~guard_malloc_counter~0.offset |old(~guard_malloc_counter~0.offset)|)} assume ~size > 0; {5271#(= ~guard_malloc_counter~0.offset |old(~guard_malloc_counter~0.offset)|)} is VALID [2020-07-18 05:12:50,872 INFO L280 TraceCheckUtils]: 4: Hoare triple {5271#(= ~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; {5285#(= |old(~guard_malloc_counter~0.offset)| |__getMemory_#t~post28.offset|)} is VALID [2020-07-18 05:12:50,873 INFO L280 TraceCheckUtils]: 5: Hoare triple {5285#(= |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; {5286#(<= (+ |old(~guard_malloc_counter~0.offset)| 1) ~guard_malloc_counter~0.offset)} is VALID [2020-07-18 05:12:50,873 INFO L280 TraceCheckUtils]: 6: Hoare triple {5286#(<= (+ |old(~guard_malloc_counter~0.offset)| 1) ~guard_malloc_counter~0.offset)} havoc #t~post28.base, #t~post28.offset; {5286#(<= (+ |old(~guard_malloc_counter~0.offset)| 1) ~guard_malloc_counter~0.offset)} is VALID [2020-07-18 05:12:50,874 INFO L280 TraceCheckUtils]: 7: Hoare triple {5286#(<= (+ |old(~guard_malloc_counter~0.offset)| 1) ~guard_malloc_counter~0.offset)} assume -2147483648 <= #t~nondet29 && #t~nondet29 <= 2147483647; {5286#(<= (+ |old(~guard_malloc_counter~0.offset)| 1) ~guard_malloc_counter~0.offset)} is VALID [2020-07-18 05:12:50,875 INFO L280 TraceCheckUtils]: 8: Hoare triple {5286#(<= (+ |old(~guard_malloc_counter~0.offset)| 1) ~guard_malloc_counter~0.offset)} assume !(0 == #t~nondet29); {5286#(<= (+ |old(~guard_malloc_counter~0.offset)| 1) ~guard_malloc_counter~0.offset)} is VALID [2020-07-18 05:12:50,875 INFO L280 TraceCheckUtils]: 9: Hoare triple {5286#(<= (+ |old(~guard_malloc_counter~0.offset)| 1) ~guard_malloc_counter~0.offset)} havoc #t~nondet29; {5286#(<= (+ |old(~guard_malloc_counter~0.offset)| 1) ~guard_malloc_counter~0.offset)} is VALID [2020-07-18 05:12:50,876 INFO L280 TraceCheckUtils]: 10: Hoare triple {5286#(<= (+ |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; {5287#(<= (+ |old(~guard_malloc_counter~0.offset)| 1) |__getMemory_#res.offset|)} is VALID [2020-07-18 05:12:50,877 INFO L280 TraceCheckUtils]: 11: Hoare triple {5287#(<= (+ |old(~guard_malloc_counter~0.offset)| 1) |__getMemory_#res.offset|)} assume true; {5287#(<= (+ |old(~guard_malloc_counter~0.offset)| 1) |__getMemory_#res.offset|)} is VALID [2020-07-18 05:12:50,878 INFO L275 TraceCheckUtils]: 12: Hoare quadruple {5287#(<= (+ |old(~guard_malloc_counter~0.offset)| 1) |__getMemory_#res.offset|)} {5271#(= ~guard_malloc_counter~0.offset |old(~guard_malloc_counter~0.offset)|)} #91#return; {5283#(<= (+ |old(~guard_malloc_counter~0.offset)| 1) |my_malloc_#t~ret30.offset|)} is VALID [2020-07-18 05:12:50,879 INFO L280 TraceCheckUtils]: 13: Hoare triple {5283#(<= (+ |old(~guard_malloc_counter~0.offset)| 1) |my_malloc_#t~ret30.offset|)} #res.base, #res.offset := #t~ret30.base, #t~ret30.offset; {5284#(<= (+ |old(~guard_malloc_counter~0.offset)| 1) |my_malloc_#res.offset|)} is VALID [2020-07-18 05:12:50,880 INFO L280 TraceCheckUtils]: 14: Hoare triple {5284#(<= (+ |old(~guard_malloc_counter~0.offset)| 1) |my_malloc_#res.offset|)} havoc #t~ret30.base, #t~ret30.offset; {5284#(<= (+ |old(~guard_malloc_counter~0.offset)| 1) |my_malloc_#res.offset|)} is VALID [2020-07-18 05:12:50,881 INFO L280 TraceCheckUtils]: 15: Hoare triple {5284#(<= (+ |old(~guard_malloc_counter~0.offset)| 1) |my_malloc_#res.offset|)} assume true; {5284#(<= (+ |old(~guard_malloc_counter~0.offset)| 1) |my_malloc_#res.offset|)} is VALID [2020-07-18 05:12:50,882 INFO L275 TraceCheckUtils]: 16: Hoare quadruple {5284#(<= (+ |old(~guard_malloc_counter~0.offset)| 1) |my_malloc_#res.offset|)} {5212#(<= main_~dev1~0.offset ~guard_malloc_counter~0.offset)} #95#return; {5230#(<= (+ main_~dev1~0.offset 1) |main_#t~ret33.offset|)} is VALID [2020-07-18 05:12:50,914 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2020-07-18 05:12:50,918 INFO L280 TraceCheckUtils]: 0: Hoare triple {5288#(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; {5182#true} is VALID [2020-07-18 05:12:50,918 INFO L280 TraceCheckUtils]: 1: Hoare triple {5182#true} ~head.base, ~head.offset := #in~head.base, #in~head.offset; {5182#true} is VALID [2020-07-18 05:12:50,918 INFO L280 TraceCheckUtils]: 2: Hoare triple {5182#true} assume ~new.base != ~elem~0.base || ~new.offset != ~elem~0.offset; {5182#true} is VALID [2020-07-18 05:12:50,918 INFO L280 TraceCheckUtils]: 3: Hoare triple {5182#true} assume -2147483648 <= #t~nondet31 && #t~nondet31 <= 2147483647; {5182#true} is VALID [2020-07-18 05:12:50,919 INFO L280 TraceCheckUtils]: 4: Hoare triple {5182#true} assume !(0 != #t~nondet31); {5182#true} is VALID [2020-07-18 05:12:50,919 INFO L280 TraceCheckUtils]: 5: Hoare triple {5182#true} havoc #t~nondet31; {5182#true} is VALID [2020-07-18 05:12:50,919 INFO L280 TraceCheckUtils]: 6: Hoare triple {5182#true} assume true; {5182#true} is VALID [2020-07-18 05:12:50,920 INFO L275 TraceCheckUtils]: 7: Hoare quadruple {5182#true} {5231#(<= (+ main_~dev1~0.offset 1) main_~dev2~0.offset)} #97#return; {5231#(<= (+ main_~dev1~0.offset 1) main_~dev2~0.offset)} is VALID [2020-07-18 05:12:50,922 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2020-07-18 05:12:50,975 INFO L280 TraceCheckUtils]: 0: Hoare triple {5288#(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; {5289#(= |list_add_#in~new.offset| list_add_~new.offset)} is VALID [2020-07-18 05:12:50,975 INFO L280 TraceCheckUtils]: 1: Hoare triple {5289#(= |list_add_#in~new.offset| list_add_~new.offset)} ~head.base, ~head.offset := #in~head.base, #in~head.offset; {5289#(= |list_add_#in~new.offset| list_add_~new.offset)} is VALID [2020-07-18 05:12:50,976 INFO L280 TraceCheckUtils]: 2: Hoare triple {5289#(= |list_add_#in~new.offset| list_add_~new.offset)} assume ~new.base != ~elem~0.base || ~new.offset != ~elem~0.offset; {5289#(= |list_add_#in~new.offset| list_add_~new.offset)} is VALID [2020-07-18 05:12:50,977 INFO L280 TraceCheckUtils]: 3: Hoare triple {5289#(= |list_add_#in~new.offset| list_add_~new.offset)} assume -2147483648 <= #t~nondet31 && #t~nondet31 <= 2147483647; {5289#(= |list_add_#in~new.offset| list_add_~new.offset)} is VALID [2020-07-18 05:12:50,977 INFO L280 TraceCheckUtils]: 4: Hoare triple {5289#(= |list_add_#in~new.offset| list_add_~new.offset)} assume 0 != #t~nondet31; {5289#(= |list_add_#in~new.offset| list_add_~new.offset)} is VALID [2020-07-18 05:12:50,978 INFO L280 TraceCheckUtils]: 5: Hoare triple {5289#(= |list_add_#in~new.offset| list_add_~new.offset)} havoc #t~nondet31; {5289#(= |list_add_#in~new.offset| list_add_~new.offset)} is VALID [2020-07-18 05:12:50,978 INFO L280 TraceCheckUtils]: 6: Hoare triple {5289#(= |list_add_#in~new.offset| list_add_~new.offset)} ~elem~0.base, ~elem~0.offset := ~new.base, ~new.offset; {5290#(= ~elem~0.offset |list_add_#in~new.offset|)} is VALID [2020-07-18 05:12:50,979 INFO L280 TraceCheckUtils]: 7: Hoare triple {5290#(= ~elem~0.offset |list_add_#in~new.offset|)} assume true; {5290#(= ~elem~0.offset |list_add_#in~new.offset|)} is VALID [2020-07-18 05:12:50,980 INFO L275 TraceCheckUtils]: 8: Hoare quadruple {5290#(= ~elem~0.offset |list_add_#in~new.offset|)} {5231#(<= (+ main_~dev1~0.offset 1) main_~dev2~0.offset)} #99#return; {5249#(<= (+ ~elem~0.offset 1) main_~dev2~0.offset)} is VALID [2020-07-18 05:12:50,982 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2020-07-18 05:12:51,047 INFO L280 TraceCheckUtils]: 0: Hoare triple {5288#(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; {5291#(and (= |old(~elem~0.offset)| ~elem~0.offset) (= |list_del_#in~entry.offset| list_del_~entry.offset))} is VALID [2020-07-18 05:12:51,047 INFO L280 TraceCheckUtils]: 1: Hoare triple {5291#(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; {5292#(= |old(~elem~0.offset)| |list_del_#in~entry.offset|)} is VALID [2020-07-18 05:12:51,048 INFO L280 TraceCheckUtils]: 2: Hoare triple {5292#(= |old(~elem~0.offset)| |list_del_#in~entry.offset|)} ~elem~0.base, ~elem~0.offset := 0, 0; {5292#(= |old(~elem~0.offset)| |list_del_#in~entry.offset|)} is VALID [2020-07-18 05:12:51,048 INFO L280 TraceCheckUtils]: 3: Hoare triple {5292#(= |old(~elem~0.offset)| |list_del_#in~entry.offset|)} assume true; {5292#(= |old(~elem~0.offset)| |list_del_#in~entry.offset|)} is VALID [2020-07-18 05:12:51,049 INFO L275 TraceCheckUtils]: 4: Hoare quadruple {5292#(= |old(~elem~0.offset)| |list_del_#in~entry.offset|)} {5249#(<= (+ ~elem~0.offset 1) main_~dev2~0.offset)} #101#return; {5183#false} is VALID [2020-07-18 05:12:51,051 INFO L263 TraceCheckUtils]: 0: Hoare triple {5182#true} call ULTIMATE.init(); {5255#(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-18 05:12:51,051 INFO L280 TraceCheckUtils]: 1: Hoare triple {5255#(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; {5182#true} is VALID [2020-07-18 05:12:51,051 INFO L280 TraceCheckUtils]: 2: Hoare triple {5182#true} #valid := #valid[0 := 0]; {5182#true} is VALID [2020-07-18 05:12:51,051 INFO L280 TraceCheckUtils]: 3: Hoare triple {5182#true} assume 0 < #StackHeapBarrier; {5182#true} is VALID [2020-07-18 05:12:51,052 INFO L280 TraceCheckUtils]: 4: Hoare triple {5182#true} ~guard_malloc_counter~0.base, ~guard_malloc_counter~0.offset := 0, 0; {5182#true} is VALID [2020-07-18 05:12:51,052 INFO L280 TraceCheckUtils]: 5: Hoare triple {5182#true} ~elem~0.base, ~elem~0.offset := 0, 0; {5182#true} is VALID [2020-07-18 05:12:51,052 INFO L280 TraceCheckUtils]: 6: Hoare triple {5182#true} SUMMARY for call ~#head~0.base, ~#head~0.offset := #Ultimate.allocOnStack(8); srcloc: L900 {5182#true} is VALID [2020-07-18 05:12:51,052 INFO L280 TraceCheckUtils]: 7: Hoare triple {5182#true} SUMMARY for call write~init~$Pointer$(0, 0, ~#head~0.base, ~#head~0.offset, 4); srcloc: L900-1 {5182#true} is VALID [2020-07-18 05:12:51,052 INFO L280 TraceCheckUtils]: 8: Hoare triple {5182#true} SUMMARY for call write~init~$Pointer$(0, 0, ~#head~0.base, 4 + ~#head~0.offset, 4); srcloc: L900-2 {5182#true} is VALID [2020-07-18 05:12:51,053 INFO L280 TraceCheckUtils]: 9: Hoare triple {5182#true} assume true; {5182#true} is VALID [2020-07-18 05:12:51,053 INFO L275 TraceCheckUtils]: 10: Hoare quadruple {5182#true} {5182#true} #109#return; {5182#true} is VALID [2020-07-18 05:12:51,053 INFO L263 TraceCheckUtils]: 11: Hoare triple {5182#true} call #t~ret34 := main(); {5182#true} is VALID [2020-07-18 05:12:51,053 INFO L280 TraceCheckUtils]: 12: Hoare triple {5182#true} havoc ~dev1~0.base, ~dev1~0.offset; {5182#true} is VALID [2020-07-18 05:12:51,053 INFO L280 TraceCheckUtils]: 13: Hoare triple {5182#true} havoc ~dev2~0.base, ~dev2~0.offset; {5182#true} is VALID [2020-07-18 05:12:51,054 INFO L263 TraceCheckUtils]: 14: Hoare triple {5182#true} call #t~ret32.base, #t~ret32.offset := my_malloc(8); {5256#(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-18 05:12:51,054 INFO L280 TraceCheckUtils]: 15: Hoare triple {5256#(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; {5182#true} is VALID [2020-07-18 05:12:51,055 INFO L263 TraceCheckUtils]: 16: Hoare triple {5182#true} call #t~ret30.base, #t~ret30.offset := __getMemory(~size); {5256#(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-18 05:12:51,056 INFO L280 TraceCheckUtils]: 17: Hoare triple {5256#(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; {5182#true} is VALID [2020-07-18 05:12:51,056 INFO L280 TraceCheckUtils]: 18: Hoare triple {5182#true} assume ~size > 0; {5182#true} is VALID [2020-07-18 05:12:51,056 INFO L280 TraceCheckUtils]: 19: Hoare triple {5182#true} #t~post28.base, #t~post28.offset := ~guard_malloc_counter~0.base, ~guard_malloc_counter~0.offset; {5182#true} is VALID [2020-07-18 05:12:51,056 INFO L280 TraceCheckUtils]: 20: Hoare triple {5182#true} ~guard_malloc_counter~0.base, ~guard_malloc_counter~0.offset := #t~post28.base, 1 + #t~post28.offset; {5182#true} is VALID [2020-07-18 05:12:51,056 INFO L280 TraceCheckUtils]: 21: Hoare triple {5182#true} havoc #t~post28.base, #t~post28.offset; {5182#true} is VALID [2020-07-18 05:12:51,056 INFO L280 TraceCheckUtils]: 22: Hoare triple {5182#true} assume -2147483648 <= #t~nondet29 && #t~nondet29 <= 2147483647; {5182#true} is VALID [2020-07-18 05:12:51,057 INFO L280 TraceCheckUtils]: 23: Hoare triple {5182#true} assume !(0 == #t~nondet29); {5182#true} is VALID [2020-07-18 05:12:51,057 INFO L280 TraceCheckUtils]: 24: Hoare triple {5182#true} havoc #t~nondet29; {5182#true} is VALID [2020-07-18 05:12:51,058 INFO L280 TraceCheckUtils]: 25: Hoare triple {5182#true} #res.base, #res.offset := ~guard_malloc_counter~0.base, ~guard_malloc_counter~0.offset; {5270#(<= |__getMemory_#res.offset| ~guard_malloc_counter~0.offset)} is VALID [2020-07-18 05:12:51,058 INFO L280 TraceCheckUtils]: 26: Hoare triple {5270#(<= |__getMemory_#res.offset| ~guard_malloc_counter~0.offset)} assume true; {5270#(<= |__getMemory_#res.offset| ~guard_malloc_counter~0.offset)} is VALID [2020-07-18 05:12:51,059 INFO L275 TraceCheckUtils]: 27: Hoare quadruple {5270#(<= |__getMemory_#res.offset| ~guard_malloc_counter~0.offset)} {5182#true} #91#return; {5268#(<= |my_malloc_#t~ret30.offset| ~guard_malloc_counter~0.offset)} is VALID [2020-07-18 05:12:51,060 INFO L280 TraceCheckUtils]: 28: Hoare triple {5268#(<= |my_malloc_#t~ret30.offset| ~guard_malloc_counter~0.offset)} #res.base, #res.offset := #t~ret30.base, #t~ret30.offset; {5269#(<= |my_malloc_#res.offset| ~guard_malloc_counter~0.offset)} is VALID [2020-07-18 05:12:51,061 INFO L280 TraceCheckUtils]: 29: Hoare triple {5269#(<= |my_malloc_#res.offset| ~guard_malloc_counter~0.offset)} havoc #t~ret30.base, #t~ret30.offset; {5269#(<= |my_malloc_#res.offset| ~guard_malloc_counter~0.offset)} is VALID [2020-07-18 05:12:51,061 INFO L280 TraceCheckUtils]: 30: Hoare triple {5269#(<= |my_malloc_#res.offset| ~guard_malloc_counter~0.offset)} assume true; {5269#(<= |my_malloc_#res.offset| ~guard_malloc_counter~0.offset)} is VALID [2020-07-18 05:12:51,062 INFO L275 TraceCheckUtils]: 31: Hoare quadruple {5269#(<= |my_malloc_#res.offset| ~guard_malloc_counter~0.offset)} {5182#true} #93#return; {5211#(<= |main_#t~ret32.offset| ~guard_malloc_counter~0.offset)} is VALID [2020-07-18 05:12:51,063 INFO L280 TraceCheckUtils]: 32: Hoare triple {5211#(<= |main_#t~ret32.offset| ~guard_malloc_counter~0.offset)} ~dev1~0.base, ~dev1~0.offset := #t~ret32.base, #t~ret32.offset; {5212#(<= main_~dev1~0.offset ~guard_malloc_counter~0.offset)} is VALID [2020-07-18 05:12:51,064 INFO L280 TraceCheckUtils]: 33: Hoare triple {5212#(<= main_~dev1~0.offset ~guard_malloc_counter~0.offset)} havoc #t~ret32.base, #t~ret32.offset; {5212#(<= main_~dev1~0.offset ~guard_malloc_counter~0.offset)} is VALID [2020-07-18 05:12:51,065 INFO L263 TraceCheckUtils]: 34: Hoare triple {5212#(<= main_~dev1~0.offset ~guard_malloc_counter~0.offset)} call #t~ret33.base, #t~ret33.offset := my_malloc(8); {5256#(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-18 05:12:51,065 INFO L280 TraceCheckUtils]: 35: Hoare triple {5256#(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; {5271#(= ~guard_malloc_counter~0.offset |old(~guard_malloc_counter~0.offset)|)} is VALID [2020-07-18 05:12:51,066 INFO L263 TraceCheckUtils]: 36: Hoare triple {5271#(= ~guard_malloc_counter~0.offset |old(~guard_malloc_counter~0.offset)|)} call #t~ret30.base, #t~ret30.offset := __getMemory(~size); {5256#(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-18 05:12:51,067 INFO L280 TraceCheckUtils]: 37: Hoare triple {5256#(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; {5271#(= ~guard_malloc_counter~0.offset |old(~guard_malloc_counter~0.offset)|)} is VALID [2020-07-18 05:12:51,067 INFO L280 TraceCheckUtils]: 38: Hoare triple {5271#(= ~guard_malloc_counter~0.offset |old(~guard_malloc_counter~0.offset)|)} assume ~size > 0; {5271#(= ~guard_malloc_counter~0.offset |old(~guard_malloc_counter~0.offset)|)} is VALID [2020-07-18 05:12:51,068 INFO L280 TraceCheckUtils]: 39: Hoare triple {5271#(= ~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; {5285#(= |old(~guard_malloc_counter~0.offset)| |__getMemory_#t~post28.offset|)} is VALID [2020-07-18 05:12:51,069 INFO L280 TraceCheckUtils]: 40: Hoare triple {5285#(= |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; {5286#(<= (+ |old(~guard_malloc_counter~0.offset)| 1) ~guard_malloc_counter~0.offset)} is VALID [2020-07-18 05:12:51,069 INFO L280 TraceCheckUtils]: 41: Hoare triple {5286#(<= (+ |old(~guard_malloc_counter~0.offset)| 1) ~guard_malloc_counter~0.offset)} havoc #t~post28.base, #t~post28.offset; {5286#(<= (+ |old(~guard_malloc_counter~0.offset)| 1) ~guard_malloc_counter~0.offset)} is VALID [2020-07-18 05:12:51,070 INFO L280 TraceCheckUtils]: 42: Hoare triple {5286#(<= (+ |old(~guard_malloc_counter~0.offset)| 1) ~guard_malloc_counter~0.offset)} assume -2147483648 <= #t~nondet29 && #t~nondet29 <= 2147483647; {5286#(<= (+ |old(~guard_malloc_counter~0.offset)| 1) ~guard_malloc_counter~0.offset)} is VALID [2020-07-18 05:12:51,070 INFO L280 TraceCheckUtils]: 43: Hoare triple {5286#(<= (+ |old(~guard_malloc_counter~0.offset)| 1) ~guard_malloc_counter~0.offset)} assume !(0 == #t~nondet29); {5286#(<= (+ |old(~guard_malloc_counter~0.offset)| 1) ~guard_malloc_counter~0.offset)} is VALID [2020-07-18 05:12:51,071 INFO L280 TraceCheckUtils]: 44: Hoare triple {5286#(<= (+ |old(~guard_malloc_counter~0.offset)| 1) ~guard_malloc_counter~0.offset)} havoc #t~nondet29; {5286#(<= (+ |old(~guard_malloc_counter~0.offset)| 1) ~guard_malloc_counter~0.offset)} is VALID [2020-07-18 05:12:51,071 INFO L280 TraceCheckUtils]: 45: Hoare triple {5286#(<= (+ |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; {5287#(<= (+ |old(~guard_malloc_counter~0.offset)| 1) |__getMemory_#res.offset|)} is VALID [2020-07-18 05:12:51,072 INFO L280 TraceCheckUtils]: 46: Hoare triple {5287#(<= (+ |old(~guard_malloc_counter~0.offset)| 1) |__getMemory_#res.offset|)} assume true; {5287#(<= (+ |old(~guard_malloc_counter~0.offset)| 1) |__getMemory_#res.offset|)} is VALID [2020-07-18 05:12:51,073 INFO L275 TraceCheckUtils]: 47: Hoare quadruple {5287#(<= (+ |old(~guard_malloc_counter~0.offset)| 1) |__getMemory_#res.offset|)} {5271#(= ~guard_malloc_counter~0.offset |old(~guard_malloc_counter~0.offset)|)} #91#return; {5283#(<= (+ |old(~guard_malloc_counter~0.offset)| 1) |my_malloc_#t~ret30.offset|)} is VALID [2020-07-18 05:12:51,074 INFO L280 TraceCheckUtils]: 48: Hoare triple {5283#(<= (+ |old(~guard_malloc_counter~0.offset)| 1) |my_malloc_#t~ret30.offset|)} #res.base, #res.offset := #t~ret30.base, #t~ret30.offset; {5284#(<= (+ |old(~guard_malloc_counter~0.offset)| 1) |my_malloc_#res.offset|)} is VALID [2020-07-18 05:12:51,075 INFO L280 TraceCheckUtils]: 49: Hoare triple {5284#(<= (+ |old(~guard_malloc_counter~0.offset)| 1) |my_malloc_#res.offset|)} havoc #t~ret30.base, #t~ret30.offset; {5284#(<= (+ |old(~guard_malloc_counter~0.offset)| 1) |my_malloc_#res.offset|)} is VALID [2020-07-18 05:12:51,076 INFO L280 TraceCheckUtils]: 50: Hoare triple {5284#(<= (+ |old(~guard_malloc_counter~0.offset)| 1) |my_malloc_#res.offset|)} assume true; {5284#(<= (+ |old(~guard_malloc_counter~0.offset)| 1) |my_malloc_#res.offset|)} is VALID [2020-07-18 05:12:51,077 INFO L275 TraceCheckUtils]: 51: Hoare quadruple {5284#(<= (+ |old(~guard_malloc_counter~0.offset)| 1) |my_malloc_#res.offset|)} {5212#(<= main_~dev1~0.offset ~guard_malloc_counter~0.offset)} #95#return; {5230#(<= (+ main_~dev1~0.offset 1) |main_#t~ret33.offset|)} is VALID [2020-07-18 05:12:51,078 INFO L280 TraceCheckUtils]: 52: Hoare triple {5230#(<= (+ main_~dev1~0.offset 1) |main_#t~ret33.offset|)} ~dev2~0.base, ~dev2~0.offset := #t~ret33.base, #t~ret33.offset; {5231#(<= (+ main_~dev1~0.offset 1) main_~dev2~0.offset)} is VALID [2020-07-18 05:12:51,079 INFO L280 TraceCheckUtils]: 53: Hoare triple {5231#(<= (+ main_~dev1~0.offset 1) main_~dev2~0.offset)} havoc #t~ret33.base, #t~ret33.offset; {5231#(<= (+ main_~dev1~0.offset 1) main_~dev2~0.offset)} is VALID [2020-07-18 05:12:51,080 INFO L280 TraceCheckUtils]: 54: Hoare triple {5231#(<= (+ 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); {5231#(<= (+ main_~dev1~0.offset 1) main_~dev2~0.offset)} is VALID [2020-07-18 05:12:51,082 INFO L263 TraceCheckUtils]: 55: Hoare triple {5231#(<= (+ main_~dev1~0.offset 1) main_~dev2~0.offset)} call list_add(~dev2~0.base, ~dev2~0.offset, ~#head~0.base, ~#head~0.offset); {5288#(and (= ~elem~0.base |old(~elem~0.base)|) (= ~elem~0.offset |old(~elem~0.offset)|))} is VALID [2020-07-18 05:12:51,082 INFO L280 TraceCheckUtils]: 56: Hoare triple {5288#(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; {5182#true} is VALID [2020-07-18 05:12:51,082 INFO L280 TraceCheckUtils]: 57: Hoare triple {5182#true} ~head.base, ~head.offset := #in~head.base, #in~head.offset; {5182#true} is VALID [2020-07-18 05:12:51,083 INFO L280 TraceCheckUtils]: 58: Hoare triple {5182#true} assume ~new.base != ~elem~0.base || ~new.offset != ~elem~0.offset; {5182#true} is VALID [2020-07-18 05:12:51,083 INFO L280 TraceCheckUtils]: 59: Hoare triple {5182#true} assume -2147483648 <= #t~nondet31 && #t~nondet31 <= 2147483647; {5182#true} is VALID [2020-07-18 05:12:51,083 INFO L280 TraceCheckUtils]: 60: Hoare triple {5182#true} assume !(0 != #t~nondet31); {5182#true} is VALID [2020-07-18 05:12:51,083 INFO L280 TraceCheckUtils]: 61: Hoare triple {5182#true} havoc #t~nondet31; {5182#true} is VALID [2020-07-18 05:12:51,084 INFO L280 TraceCheckUtils]: 62: Hoare triple {5182#true} assume true; {5182#true} is VALID [2020-07-18 05:12:51,085 INFO L275 TraceCheckUtils]: 63: Hoare quadruple {5182#true} {5231#(<= (+ main_~dev1~0.offset 1) main_~dev2~0.offset)} #97#return; {5231#(<= (+ main_~dev1~0.offset 1) main_~dev2~0.offset)} is VALID [2020-07-18 05:12:51,087 INFO L263 TraceCheckUtils]: 64: Hoare triple {5231#(<= (+ main_~dev1~0.offset 1) main_~dev2~0.offset)} call list_add(~dev1~0.base, ~dev1~0.offset, ~#head~0.base, ~#head~0.offset); {5288#(and (= ~elem~0.base |old(~elem~0.base)|) (= ~elem~0.offset |old(~elem~0.offset)|))} is VALID [2020-07-18 05:12:51,088 INFO L280 TraceCheckUtils]: 65: Hoare triple {5288#(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; {5289#(= |list_add_#in~new.offset| list_add_~new.offset)} is VALID [2020-07-18 05:12:51,088 INFO L280 TraceCheckUtils]: 66: Hoare triple {5289#(= |list_add_#in~new.offset| list_add_~new.offset)} ~head.base, ~head.offset := #in~head.base, #in~head.offset; {5289#(= |list_add_#in~new.offset| list_add_~new.offset)} is VALID [2020-07-18 05:12:51,089 INFO L280 TraceCheckUtils]: 67: Hoare triple {5289#(= |list_add_#in~new.offset| list_add_~new.offset)} assume ~new.base != ~elem~0.base || ~new.offset != ~elem~0.offset; {5289#(= |list_add_#in~new.offset| list_add_~new.offset)} is VALID [2020-07-18 05:12:51,089 INFO L280 TraceCheckUtils]: 68: Hoare triple {5289#(= |list_add_#in~new.offset| list_add_~new.offset)} assume -2147483648 <= #t~nondet31 && #t~nondet31 <= 2147483647; {5289#(= |list_add_#in~new.offset| list_add_~new.offset)} is VALID [2020-07-18 05:12:51,090 INFO L280 TraceCheckUtils]: 69: Hoare triple {5289#(= |list_add_#in~new.offset| list_add_~new.offset)} assume 0 != #t~nondet31; {5289#(= |list_add_#in~new.offset| list_add_~new.offset)} is VALID [2020-07-18 05:12:51,090 INFO L280 TraceCheckUtils]: 70: Hoare triple {5289#(= |list_add_#in~new.offset| list_add_~new.offset)} havoc #t~nondet31; {5289#(= |list_add_#in~new.offset| list_add_~new.offset)} is VALID [2020-07-18 05:12:51,091 INFO L280 TraceCheckUtils]: 71: Hoare triple {5289#(= |list_add_#in~new.offset| list_add_~new.offset)} ~elem~0.base, ~elem~0.offset := ~new.base, ~new.offset; {5290#(= ~elem~0.offset |list_add_#in~new.offset|)} is VALID [2020-07-18 05:12:51,092 INFO L280 TraceCheckUtils]: 72: Hoare triple {5290#(= ~elem~0.offset |list_add_#in~new.offset|)} assume true; {5290#(= ~elem~0.offset |list_add_#in~new.offset|)} is VALID [2020-07-18 05:12:51,093 INFO L275 TraceCheckUtils]: 73: Hoare quadruple {5290#(= ~elem~0.offset |list_add_#in~new.offset|)} {5231#(<= (+ main_~dev1~0.offset 1) main_~dev2~0.offset)} #99#return; {5249#(<= (+ ~elem~0.offset 1) main_~dev2~0.offset)} is VALID [2020-07-18 05:12:51,094 INFO L263 TraceCheckUtils]: 74: Hoare triple {5249#(<= (+ ~elem~0.offset 1) main_~dev2~0.offset)} call list_del(~dev2~0.base, ~dev2~0.offset); {5288#(and (= ~elem~0.base |old(~elem~0.base)|) (= ~elem~0.offset |old(~elem~0.offset)|))} is VALID [2020-07-18 05:12:51,095 INFO L280 TraceCheckUtils]: 75: Hoare triple {5288#(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; {5291#(and (= |old(~elem~0.offset)| ~elem~0.offset) (= |list_del_#in~entry.offset| list_del_~entry.offset))} is VALID [2020-07-18 05:12:51,095 INFO L280 TraceCheckUtils]: 76: Hoare triple {5291#(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; {5292#(= |old(~elem~0.offset)| |list_del_#in~entry.offset|)} is VALID [2020-07-18 05:12:51,096 INFO L280 TraceCheckUtils]: 77: Hoare triple {5292#(= |old(~elem~0.offset)| |list_del_#in~entry.offset|)} ~elem~0.base, ~elem~0.offset := 0, 0; {5292#(= |old(~elem~0.offset)| |list_del_#in~entry.offset|)} is VALID [2020-07-18 05:12:51,097 INFO L280 TraceCheckUtils]: 78: Hoare triple {5292#(= |old(~elem~0.offset)| |list_del_#in~entry.offset|)} assume true; {5292#(= |old(~elem~0.offset)| |list_del_#in~entry.offset|)} is VALID [2020-07-18 05:12:51,098 INFO L275 TraceCheckUtils]: 79: Hoare quadruple {5292#(= |old(~elem~0.offset)| |list_del_#in~entry.offset|)} {5249#(<= (+ ~elem~0.offset 1) main_~dev2~0.offset)} #101#return; {5183#false} is VALID [2020-07-18 05:12:51,098 INFO L263 TraceCheckUtils]: 80: Hoare triple {5183#false} call list_add(~dev2~0.base, ~dev2~0.offset, ~#head~0.base, ~#head~0.offset); {5183#false} is VALID [2020-07-18 05:12:51,098 INFO L280 TraceCheckUtils]: 81: Hoare triple {5183#false} ~new.base, ~new.offset := #in~new.base, #in~new.offset; {5183#false} is VALID [2020-07-18 05:12:51,098 INFO L280 TraceCheckUtils]: 82: Hoare triple {5183#false} ~head.base, ~head.offset := #in~head.base, #in~head.offset; {5183#false} is VALID [2020-07-18 05:12:51,098 INFO L280 TraceCheckUtils]: 83: Hoare triple {5183#false} assume !(~new.base != ~elem~0.base || ~new.offset != ~elem~0.offset); {5183#false} is VALID [2020-07-18 05:12:51,099 INFO L263 TraceCheckUtils]: 84: Hoare triple {5183#false} call __blast_assert(); {5183#false} is VALID [2020-07-18 05:12:51,099 INFO L280 TraceCheckUtils]: 85: Hoare triple {5183#false} assume !false; {5183#false} is VALID [2020-07-18 05:12:51,111 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-18 05:12:51,111 INFO L354 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModulePreferences [1843045462] [2020-07-18 05:12:51,111 INFO L220 FreeRefinementEngine]: Constructing automaton from 0 perfect and 1 imperfect interpolant sequences. [2020-07-18 05:12:51,111 INFO L233 FreeRefinementEngine]: Number of different interpolants: perfect sequences [] imperfect sequences [23] total 23 [2020-07-18 05:12:51,118 INFO L156 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [864004575] [2020-07-18 05:12:51,119 INFO L78 Accepts]: Start accepts. Automaton has 23 states. Word has length 86 [2020-07-18 05:12:51,120 INFO L84 Accepts]: Finished accepts. word is accepted. [2020-07-18 05:12:51,120 INFO L86 InductivityCheck]: Starting indutivity check of a Floyd-Hoare automaton with 23 states. [2020-07-18 05:12:51,227 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-18 05:12:51,228 INFO L459 AbstractCegarLoop]: Interpolant automaton has 23 states [2020-07-18 05:12:51,228 INFO L143 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy FIXED_PREFERENCES [2020-07-18 05:12:51,228 INFO L142 InterpolantAutomaton]: Constructing interpolant automaton starting with 23 interpolants. [2020-07-18 05:12:51,228 INFO L144 InterpolantAutomaton]: CoverageRelationStatistics Valid=47, Invalid=459, Unknown=0, NotChecked=0, Total=506 [2020-07-18 05:12:51,229 INFO L87 Difference]: Start difference. First operand 79 states and 83 transitions. Second operand 23 states. [2020-07-18 05:12:56,836 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2020-07-18 05:12:56,841 INFO L93 Difference]: Finished difference Result 87 states and 91 transitions. [2020-07-18 05:12:56,841 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 26 states. [2020-07-18 05:12:56,841 INFO L78 Accepts]: Start accepts. Automaton has 23 states. Word has length 86 [2020-07-18 05:12:56,842 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2020-07-18 05:12:56,842 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 23 states. [2020-07-18 05:12:56,846 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 26 states to 26 states and 76 transitions. [2020-07-18 05:12:56,846 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 23 states. [2020-07-18 05:12:56,861 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 26 states to 26 states and 76 transitions. [2020-07-18 05:12:56,861 INFO L86 InductivityCheck]: Starting indutivity check of a Floyd-Hoare automaton with 26 states and 76 transitions. [2020-07-18 05:12:57,059 INFO L119 InductivityCheck]: Floyd-Hoare automaton has 76 edges. 76 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2020-07-18 05:12:57,062 INFO L225 Difference]: With dead ends: 87 [2020-07-18 05:12:57,063 INFO L226 Difference]: Without dead ends: 70 [2020-07-18 05:12:57,064 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-18 05:12:57,066 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 70 states. [2020-07-18 05:12:57,623 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 70 to 70. [2020-07-18 05:12:57,623 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2020-07-18 05:12:57,624 INFO L82 GeneralOperation]: Start isEquivalent. First operand 70 states. Second operand 70 states. [2020-07-18 05:12:57,624 INFO L74 IsIncluded]: Start isIncluded. First operand 70 states. Second operand 70 states. [2020-07-18 05:12:57,624 INFO L87 Difference]: Start difference. First operand 70 states. Second operand 70 states. [2020-07-18 05:12:57,629 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2020-07-18 05:12:57,629 INFO L93 Difference]: Finished difference Result 70 states and 71 transitions. [2020-07-18 05:12:57,629 INFO L276 IsEmpty]: Start isEmpty. Operand 70 states and 71 transitions. [2020-07-18 05:12:57,629 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2020-07-18 05:12:57,630 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2020-07-18 05:12:57,630 INFO L74 IsIncluded]: Start isIncluded. First operand 70 states. Second operand 70 states. [2020-07-18 05:12:57,630 INFO L87 Difference]: Start difference. First operand 70 states. Second operand 70 states. [2020-07-18 05:12:57,632 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2020-07-18 05:12:57,632 INFO L93 Difference]: Finished difference Result 70 states and 71 transitions. [2020-07-18 05:12:57,633 INFO L276 IsEmpty]: Start isEmpty. Operand 70 states and 71 transitions. [2020-07-18 05:12:57,633 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2020-07-18 05:12:57,633 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2020-07-18 05:12:57,633 INFO L88 GeneralOperation]: Finished isEquivalent. [2020-07-18 05:12:57,633 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2020-07-18 05:12:57,634 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 70 states. [2020-07-18 05:12:57,635 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 70 states to 70 states and 71 transitions. [2020-07-18 05:12:57,635 INFO L78 Accepts]: Start accepts. Automaton has 70 states and 71 transitions. Word has length 86 [2020-07-18 05:12:57,635 INFO L84 Accepts]: Finished accepts. word is rejected. [2020-07-18 05:12:57,636 INFO L479 AbstractCegarLoop]: Abstraction has 70 states and 71 transitions. [2020-07-18 05:12:57,636 INFO L480 AbstractCegarLoop]: Interpolant automaton has 23 states. [2020-07-18 05:12:57,636 INFO L86 InductivityCheck]: Starting indutivity check of a Floyd-Hoare automaton with 70 states and 71 transitions. [2020-07-18 05:12:57,868 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-18 05:12:57,868 INFO L276 IsEmpty]: Start isEmpty. Operand 70 states and 71 transitions. [2020-07-18 05:12:57,870 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 87 [2020-07-18 05:12:57,870 INFO L414 BasicCegarLoop]: Found error trace [2020-07-18 05:12:57,870 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-18 05:12:57,871 WARN L516 AbstractCegarLoop]: Destroyed unattended storables created during the last iteration: SelfDestructingSolverStorable8 [2020-07-18 05:12:57,871 INFO L427 AbstractCegarLoop]: === Iteration 10 === [__blast_assertErr0ASSERT_VIOLATIONERROR_FUNCTION]=== [2020-07-18 05:12:57,871 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2020-07-18 05:12:57,872 INFO L82 PathProgramCache]: Analyzing trace with hash -1773366491, now seen corresponding path program 2 times [2020-07-18 05:12:57,872 INFO L163 FreeRefinementEngine]: Executing refinement strategy FIXED_PREFERENCES [2020-07-18 05:12:57,872 INFO L354 FreeRefinementEngine]: Using trace check IpTcStrategyModulePreferences [2125735049] [2020-07-18 05:12:57,872 INFO L94 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2020-07-18 05:12:57,901 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2020-07-18 05:12:58,158 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2020-07-18 05:12:58,167 INFO L280 TraceCheckUtils]: 0: Hoare triple {5870#(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; {5795#true} is VALID [2020-07-18 05:12:58,167 INFO L280 TraceCheckUtils]: 1: Hoare triple {5795#true} #valid := #valid[0 := 0]; {5795#true} is VALID [2020-07-18 05:12:58,168 INFO L280 TraceCheckUtils]: 2: Hoare triple {5795#true} assume 0 < #StackHeapBarrier; {5795#true} is VALID [2020-07-18 05:12:58,169 INFO L280 TraceCheckUtils]: 3: Hoare triple {5795#true} ~guard_malloc_counter~0.base, ~guard_malloc_counter~0.offset := 0, 0; {5807#(= 0 ~guard_malloc_counter~0.offset)} is VALID [2020-07-18 05:12:58,170 INFO L280 TraceCheckUtils]: 4: Hoare triple {5807#(= 0 ~guard_malloc_counter~0.offset)} ~elem~0.base, ~elem~0.offset := 0, 0; {5807#(= 0 ~guard_malloc_counter~0.offset)} is VALID [2020-07-18 05:12:58,171 INFO L280 TraceCheckUtils]: 5: Hoare triple {5807#(= 0 ~guard_malloc_counter~0.offset)} SUMMARY for call ~#head~0.base, ~#head~0.offset := #Ultimate.allocOnStack(8); srcloc: L900 {5807#(= 0 ~guard_malloc_counter~0.offset)} is VALID [2020-07-18 05:12:58,172 INFO L280 TraceCheckUtils]: 6: Hoare triple {5807#(= 0 ~guard_malloc_counter~0.offset)} SUMMARY for call write~init~$Pointer$(0, 0, ~#head~0.base, ~#head~0.offset, 4); srcloc: L900-1 {5807#(= 0 ~guard_malloc_counter~0.offset)} is VALID [2020-07-18 05:12:58,173 INFO L280 TraceCheckUtils]: 7: Hoare triple {5807#(= 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 {5807#(= 0 ~guard_malloc_counter~0.offset)} is VALID [2020-07-18 05:12:58,174 INFO L280 TraceCheckUtils]: 8: Hoare triple {5807#(= 0 ~guard_malloc_counter~0.offset)} assume true; {5807#(= 0 ~guard_malloc_counter~0.offset)} is VALID [2020-07-18 05:12:58,175 INFO L275 TraceCheckUtils]: 9: Hoare quadruple {5807#(= 0 ~guard_malloc_counter~0.offset)} {5795#true} #109#return; {5807#(= 0 ~guard_malloc_counter~0.offset)} is VALID [2020-07-18 05:12:58,207 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2020-07-18 05:12:58,270 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2020-07-18 05:12:58,323 INFO L280 TraceCheckUtils]: 0: Hoare triple {5871#(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; {5872#(= ~guard_malloc_counter~0.offset |old(~guard_malloc_counter~0.offset)|)} is VALID [2020-07-18 05:12:58,325 INFO L280 TraceCheckUtils]: 1: Hoare triple {5872#(= ~guard_malloc_counter~0.offset |old(~guard_malloc_counter~0.offset)|)} assume ~size > 0; {5872#(= ~guard_malloc_counter~0.offset |old(~guard_malloc_counter~0.offset)|)} is VALID [2020-07-18 05:12:58,326 INFO L280 TraceCheckUtils]: 2: Hoare triple {5872#(= ~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; {5885#(= |old(~guard_malloc_counter~0.offset)| |__getMemory_#t~post28.offset|)} is VALID [2020-07-18 05:12:58,327 INFO L280 TraceCheckUtils]: 3: Hoare triple {5885#(= |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; {5884#(<= (+ |old(~guard_malloc_counter~0.offset)| 1) ~guard_malloc_counter~0.offset)} is VALID [2020-07-18 05:12:58,328 INFO L280 TraceCheckUtils]: 4: Hoare triple {5884#(<= (+ |old(~guard_malloc_counter~0.offset)| 1) ~guard_malloc_counter~0.offset)} havoc #t~post28.base, #t~post28.offset; {5884#(<= (+ |old(~guard_malloc_counter~0.offset)| 1) ~guard_malloc_counter~0.offset)} is VALID [2020-07-18 05:12:58,329 INFO L280 TraceCheckUtils]: 5: Hoare triple {5884#(<= (+ |old(~guard_malloc_counter~0.offset)| 1) ~guard_malloc_counter~0.offset)} assume -2147483648 <= #t~nondet29 && #t~nondet29 <= 2147483647; {5884#(<= (+ |old(~guard_malloc_counter~0.offset)| 1) ~guard_malloc_counter~0.offset)} is VALID [2020-07-18 05:12:58,330 INFO L280 TraceCheckUtils]: 6: Hoare triple {5884#(<= (+ |old(~guard_malloc_counter~0.offset)| 1) ~guard_malloc_counter~0.offset)} assume !(0 == #t~nondet29); {5884#(<= (+ |old(~guard_malloc_counter~0.offset)| 1) ~guard_malloc_counter~0.offset)} is VALID [2020-07-18 05:12:58,331 INFO L280 TraceCheckUtils]: 7: Hoare triple {5884#(<= (+ |old(~guard_malloc_counter~0.offset)| 1) ~guard_malloc_counter~0.offset)} havoc #t~nondet29; {5884#(<= (+ |old(~guard_malloc_counter~0.offset)| 1) ~guard_malloc_counter~0.offset)} is VALID [2020-07-18 05:12:58,332 INFO L280 TraceCheckUtils]: 8: Hoare triple {5884#(<= (+ |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; {5884#(<= (+ |old(~guard_malloc_counter~0.offset)| 1) ~guard_malloc_counter~0.offset)} is VALID [2020-07-18 05:12:58,333 INFO L280 TraceCheckUtils]: 9: Hoare triple {5884#(<= (+ |old(~guard_malloc_counter~0.offset)| 1) ~guard_malloc_counter~0.offset)} assume true; {5884#(<= (+ |old(~guard_malloc_counter~0.offset)| 1) ~guard_malloc_counter~0.offset)} is VALID [2020-07-18 05:12:58,336 INFO L275 TraceCheckUtils]: 10: Hoare quadruple {5884#(<= (+ |old(~guard_malloc_counter~0.offset)| 1) ~guard_malloc_counter~0.offset)} {5872#(= ~guard_malloc_counter~0.offset |old(~guard_malloc_counter~0.offset)|)} #91#return; {5884#(<= (+ |old(~guard_malloc_counter~0.offset)| 1) ~guard_malloc_counter~0.offset)} is VALID [2020-07-18 05:12:58,366 INFO L280 TraceCheckUtils]: 0: Hoare triple {5871#(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; {5872#(= ~guard_malloc_counter~0.offset |old(~guard_malloc_counter~0.offset)|)} is VALID [2020-07-18 05:12:58,368 INFO L263 TraceCheckUtils]: 1: Hoare triple {5872#(= ~guard_malloc_counter~0.offset |old(~guard_malloc_counter~0.offset)|)} call #t~ret30.base, #t~ret30.offset := __getMemory(~size); {5871#(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-18 05:12:58,369 INFO L280 TraceCheckUtils]: 2: Hoare triple {5871#(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; {5872#(= ~guard_malloc_counter~0.offset |old(~guard_malloc_counter~0.offset)|)} is VALID [2020-07-18 05:12:58,370 INFO L280 TraceCheckUtils]: 3: Hoare triple {5872#(= ~guard_malloc_counter~0.offset |old(~guard_malloc_counter~0.offset)|)} assume ~size > 0; {5872#(= ~guard_malloc_counter~0.offset |old(~guard_malloc_counter~0.offset)|)} is VALID [2020-07-18 05:12:58,371 INFO L280 TraceCheckUtils]: 4: Hoare triple {5872#(= ~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; {5885#(= |old(~guard_malloc_counter~0.offset)| |__getMemory_#t~post28.offset|)} is VALID [2020-07-18 05:12:58,372 INFO L280 TraceCheckUtils]: 5: Hoare triple {5885#(= |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; {5884#(<= (+ |old(~guard_malloc_counter~0.offset)| 1) ~guard_malloc_counter~0.offset)} is VALID [2020-07-18 05:12:58,373 INFO L280 TraceCheckUtils]: 6: Hoare triple {5884#(<= (+ |old(~guard_malloc_counter~0.offset)| 1) ~guard_malloc_counter~0.offset)} havoc #t~post28.base, #t~post28.offset; {5884#(<= (+ |old(~guard_malloc_counter~0.offset)| 1) ~guard_malloc_counter~0.offset)} is VALID [2020-07-18 05:12:58,374 INFO L280 TraceCheckUtils]: 7: Hoare triple {5884#(<= (+ |old(~guard_malloc_counter~0.offset)| 1) ~guard_malloc_counter~0.offset)} assume -2147483648 <= #t~nondet29 && #t~nondet29 <= 2147483647; {5884#(<= (+ |old(~guard_malloc_counter~0.offset)| 1) ~guard_malloc_counter~0.offset)} is VALID [2020-07-18 05:12:58,375 INFO L280 TraceCheckUtils]: 8: Hoare triple {5884#(<= (+ |old(~guard_malloc_counter~0.offset)| 1) ~guard_malloc_counter~0.offset)} assume !(0 == #t~nondet29); {5884#(<= (+ |old(~guard_malloc_counter~0.offset)| 1) ~guard_malloc_counter~0.offset)} is VALID [2020-07-18 05:12:58,376 INFO L280 TraceCheckUtils]: 9: Hoare triple {5884#(<= (+ |old(~guard_malloc_counter~0.offset)| 1) ~guard_malloc_counter~0.offset)} havoc #t~nondet29; {5884#(<= (+ |old(~guard_malloc_counter~0.offset)| 1) ~guard_malloc_counter~0.offset)} is VALID [2020-07-18 05:12:58,377 INFO L280 TraceCheckUtils]: 10: Hoare triple {5884#(<= (+ |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; {5884#(<= (+ |old(~guard_malloc_counter~0.offset)| 1) ~guard_malloc_counter~0.offset)} is VALID [2020-07-18 05:12:58,377 INFO L280 TraceCheckUtils]: 11: Hoare triple {5884#(<= (+ |old(~guard_malloc_counter~0.offset)| 1) ~guard_malloc_counter~0.offset)} assume true; {5884#(<= (+ |old(~guard_malloc_counter~0.offset)| 1) ~guard_malloc_counter~0.offset)} is VALID [2020-07-18 05:12:58,380 INFO L275 TraceCheckUtils]: 12: Hoare quadruple {5884#(<= (+ |old(~guard_malloc_counter~0.offset)| 1) ~guard_malloc_counter~0.offset)} {5872#(= ~guard_malloc_counter~0.offset |old(~guard_malloc_counter~0.offset)|)} #91#return; {5884#(<= (+ |old(~guard_malloc_counter~0.offset)| 1) ~guard_malloc_counter~0.offset)} is VALID [2020-07-18 05:12:58,380 INFO L280 TraceCheckUtils]: 13: Hoare triple {5884#(<= (+ |old(~guard_malloc_counter~0.offset)| 1) ~guard_malloc_counter~0.offset)} #res.base, #res.offset := #t~ret30.base, #t~ret30.offset; {5884#(<= (+ |old(~guard_malloc_counter~0.offset)| 1) ~guard_malloc_counter~0.offset)} is VALID [2020-07-18 05:12:58,381 INFO L280 TraceCheckUtils]: 14: Hoare triple {5884#(<= (+ |old(~guard_malloc_counter~0.offset)| 1) ~guard_malloc_counter~0.offset)} havoc #t~ret30.base, #t~ret30.offset; {5884#(<= (+ |old(~guard_malloc_counter~0.offset)| 1) ~guard_malloc_counter~0.offset)} is VALID [2020-07-18 05:12:58,382 INFO L280 TraceCheckUtils]: 15: Hoare triple {5884#(<= (+ |old(~guard_malloc_counter~0.offset)| 1) ~guard_malloc_counter~0.offset)} assume true; {5884#(<= (+ |old(~guard_malloc_counter~0.offset)| 1) ~guard_malloc_counter~0.offset)} is VALID [2020-07-18 05:12:58,384 INFO L275 TraceCheckUtils]: 16: Hoare quadruple {5884#(<= (+ |old(~guard_malloc_counter~0.offset)| 1) ~guard_malloc_counter~0.offset)} {5807#(= 0 ~guard_malloc_counter~0.offset)} #93#return; {5825#(<= 1 ~guard_malloc_counter~0.offset)} is VALID [2020-07-18 05:12:58,389 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2020-07-18 05:12:58,466 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2020-07-18 05:12:58,517 INFO L280 TraceCheckUtils]: 0: Hoare triple {5871#(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; {5872#(= ~guard_malloc_counter~0.offset |old(~guard_malloc_counter~0.offset)|)} is VALID [2020-07-18 05:12:58,518 INFO L280 TraceCheckUtils]: 1: Hoare triple {5872#(= ~guard_malloc_counter~0.offset |old(~guard_malloc_counter~0.offset)|)} assume ~size > 0; {5872#(= ~guard_malloc_counter~0.offset |old(~guard_malloc_counter~0.offset)|)} is VALID [2020-07-18 05:12:58,519 INFO L280 TraceCheckUtils]: 2: Hoare triple {5872#(= ~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; {5885#(= |old(~guard_malloc_counter~0.offset)| |__getMemory_#t~post28.offset|)} is VALID [2020-07-18 05:12:58,521 INFO L280 TraceCheckUtils]: 3: Hoare triple {5885#(= |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; {5884#(<= (+ |old(~guard_malloc_counter~0.offset)| 1) ~guard_malloc_counter~0.offset)} is VALID [2020-07-18 05:12:58,521 INFO L280 TraceCheckUtils]: 4: Hoare triple {5884#(<= (+ |old(~guard_malloc_counter~0.offset)| 1) ~guard_malloc_counter~0.offset)} havoc #t~post28.base, #t~post28.offset; {5884#(<= (+ |old(~guard_malloc_counter~0.offset)| 1) ~guard_malloc_counter~0.offset)} is VALID [2020-07-18 05:12:58,522 INFO L280 TraceCheckUtils]: 5: Hoare triple {5884#(<= (+ |old(~guard_malloc_counter~0.offset)| 1) ~guard_malloc_counter~0.offset)} assume -2147483648 <= #t~nondet29 && #t~nondet29 <= 2147483647; {5884#(<= (+ |old(~guard_malloc_counter~0.offset)| 1) ~guard_malloc_counter~0.offset)} is VALID [2020-07-18 05:12:58,523 INFO L280 TraceCheckUtils]: 6: Hoare triple {5884#(<= (+ |old(~guard_malloc_counter~0.offset)| 1) ~guard_malloc_counter~0.offset)} assume !(0 == #t~nondet29); {5884#(<= (+ |old(~guard_malloc_counter~0.offset)| 1) ~guard_malloc_counter~0.offset)} is VALID [2020-07-18 05:12:58,524 INFO L280 TraceCheckUtils]: 7: Hoare triple {5884#(<= (+ |old(~guard_malloc_counter~0.offset)| 1) ~guard_malloc_counter~0.offset)} havoc #t~nondet29; {5884#(<= (+ |old(~guard_malloc_counter~0.offset)| 1) ~guard_malloc_counter~0.offset)} is VALID [2020-07-18 05:12:58,526 INFO L280 TraceCheckUtils]: 8: Hoare triple {5884#(<= (+ |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; {5899#(<= (+ |old(~guard_malloc_counter~0.offset)| 1) |__getMemory_#res.offset|)} is VALID [2020-07-18 05:12:58,527 INFO L280 TraceCheckUtils]: 9: Hoare triple {5899#(<= (+ |old(~guard_malloc_counter~0.offset)| 1) |__getMemory_#res.offset|)} assume true; {5899#(<= (+ |old(~guard_malloc_counter~0.offset)| 1) |__getMemory_#res.offset|)} is VALID [2020-07-18 05:12:58,528 INFO L275 TraceCheckUtils]: 10: Hoare quadruple {5899#(<= (+ |old(~guard_malloc_counter~0.offset)| 1) |__getMemory_#res.offset|)} {5872#(= ~guard_malloc_counter~0.offset |old(~guard_malloc_counter~0.offset)|)} #91#return; {5897#(<= (+ |old(~guard_malloc_counter~0.offset)| 1) |my_malloc_#t~ret30.offset|)} is VALID [2020-07-18 05:12:58,530 INFO L280 TraceCheckUtils]: 0: Hoare triple {5871#(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; {5872#(= ~guard_malloc_counter~0.offset |old(~guard_malloc_counter~0.offset)|)} is VALID [2020-07-18 05:12:58,531 INFO L263 TraceCheckUtils]: 1: Hoare triple {5872#(= ~guard_malloc_counter~0.offset |old(~guard_malloc_counter~0.offset)|)} call #t~ret30.base, #t~ret30.offset := __getMemory(~size); {5871#(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-18 05:12:58,532 INFO L280 TraceCheckUtils]: 2: Hoare triple {5871#(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; {5872#(= ~guard_malloc_counter~0.offset |old(~guard_malloc_counter~0.offset)|)} is VALID [2020-07-18 05:12:58,533 INFO L280 TraceCheckUtils]: 3: Hoare triple {5872#(= ~guard_malloc_counter~0.offset |old(~guard_malloc_counter~0.offset)|)} assume ~size > 0; {5872#(= ~guard_malloc_counter~0.offset |old(~guard_malloc_counter~0.offset)|)} is VALID [2020-07-18 05:12:58,534 INFO L280 TraceCheckUtils]: 4: Hoare triple {5872#(= ~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; {5885#(= |old(~guard_malloc_counter~0.offset)| |__getMemory_#t~post28.offset|)} is VALID [2020-07-18 05:12:58,535 INFO L280 TraceCheckUtils]: 5: Hoare triple {5885#(= |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; {5884#(<= (+ |old(~guard_malloc_counter~0.offset)| 1) ~guard_malloc_counter~0.offset)} is VALID [2020-07-18 05:12:58,536 INFO L280 TraceCheckUtils]: 6: Hoare triple {5884#(<= (+ |old(~guard_malloc_counter~0.offset)| 1) ~guard_malloc_counter~0.offset)} havoc #t~post28.base, #t~post28.offset; {5884#(<= (+ |old(~guard_malloc_counter~0.offset)| 1) ~guard_malloc_counter~0.offset)} is VALID [2020-07-18 05:12:58,537 INFO L280 TraceCheckUtils]: 7: Hoare triple {5884#(<= (+ |old(~guard_malloc_counter~0.offset)| 1) ~guard_malloc_counter~0.offset)} assume -2147483648 <= #t~nondet29 && #t~nondet29 <= 2147483647; {5884#(<= (+ |old(~guard_malloc_counter~0.offset)| 1) ~guard_malloc_counter~0.offset)} is VALID [2020-07-18 05:12:58,538 INFO L280 TraceCheckUtils]: 8: Hoare triple {5884#(<= (+ |old(~guard_malloc_counter~0.offset)| 1) ~guard_malloc_counter~0.offset)} assume !(0 == #t~nondet29); {5884#(<= (+ |old(~guard_malloc_counter~0.offset)| 1) ~guard_malloc_counter~0.offset)} is VALID [2020-07-18 05:12:58,539 INFO L280 TraceCheckUtils]: 9: Hoare triple {5884#(<= (+ |old(~guard_malloc_counter~0.offset)| 1) ~guard_malloc_counter~0.offset)} havoc #t~nondet29; {5884#(<= (+ |old(~guard_malloc_counter~0.offset)| 1) ~guard_malloc_counter~0.offset)} is VALID [2020-07-18 05:12:58,540 INFO L280 TraceCheckUtils]: 10: Hoare triple {5884#(<= (+ |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; {5899#(<= (+ |old(~guard_malloc_counter~0.offset)| 1) |__getMemory_#res.offset|)} is VALID [2020-07-18 05:12:58,541 INFO L280 TraceCheckUtils]: 11: Hoare triple {5899#(<= (+ |old(~guard_malloc_counter~0.offset)| 1) |__getMemory_#res.offset|)} assume true; {5899#(<= (+ |old(~guard_malloc_counter~0.offset)| 1) |__getMemory_#res.offset|)} is VALID [2020-07-18 05:12:58,543 INFO L275 TraceCheckUtils]: 12: Hoare quadruple {5899#(<= (+ |old(~guard_malloc_counter~0.offset)| 1) |__getMemory_#res.offset|)} {5872#(= ~guard_malloc_counter~0.offset |old(~guard_malloc_counter~0.offset)|)} #91#return; {5897#(<= (+ |old(~guard_malloc_counter~0.offset)| 1) |my_malloc_#t~ret30.offset|)} is VALID [2020-07-18 05:12:58,544 INFO L280 TraceCheckUtils]: 13: Hoare triple {5897#(<= (+ |old(~guard_malloc_counter~0.offset)| 1) |my_malloc_#t~ret30.offset|)} #res.base, #res.offset := #t~ret30.base, #t~ret30.offset; {5898#(<= (+ |old(~guard_malloc_counter~0.offset)| 1) |my_malloc_#res.offset|)} is VALID [2020-07-18 05:12:58,545 INFO L280 TraceCheckUtils]: 14: Hoare triple {5898#(<= (+ |old(~guard_malloc_counter~0.offset)| 1) |my_malloc_#res.offset|)} havoc #t~ret30.base, #t~ret30.offset; {5898#(<= (+ |old(~guard_malloc_counter~0.offset)| 1) |my_malloc_#res.offset|)} is VALID [2020-07-18 05:12:58,546 INFO L280 TraceCheckUtils]: 15: Hoare triple {5898#(<= (+ |old(~guard_malloc_counter~0.offset)| 1) |my_malloc_#res.offset|)} assume true; {5898#(<= (+ |old(~guard_malloc_counter~0.offset)| 1) |my_malloc_#res.offset|)} is VALID [2020-07-18 05:12:58,548 INFO L275 TraceCheckUtils]: 16: Hoare quadruple {5898#(<= (+ |old(~guard_malloc_counter~0.offset)| 1) |my_malloc_#res.offset|)} {5825#(<= 1 ~guard_malloc_counter~0.offset)} #95#return; {5843#(<= 2 |main_#t~ret33.offset|)} is VALID [2020-07-18 05:12:58,587 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2020-07-18 05:12:58,592 INFO L280 TraceCheckUtils]: 0: Hoare triple {5900#(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; {5795#true} is VALID [2020-07-18 05:12:58,592 INFO L280 TraceCheckUtils]: 1: Hoare triple {5795#true} ~head.base, ~head.offset := #in~head.base, #in~head.offset; {5795#true} is VALID [2020-07-18 05:12:58,593 INFO L280 TraceCheckUtils]: 2: Hoare triple {5795#true} assume ~new.base != ~elem~0.base || ~new.offset != ~elem~0.offset; {5795#true} is VALID [2020-07-18 05:12:58,593 INFO L280 TraceCheckUtils]: 3: Hoare triple {5795#true} assume -2147483648 <= #t~nondet31 && #t~nondet31 <= 2147483647; {5795#true} is VALID [2020-07-18 05:12:58,593 INFO L280 TraceCheckUtils]: 4: Hoare triple {5795#true} assume 0 != #t~nondet31; {5795#true} is VALID [2020-07-18 05:12:58,593 INFO L280 TraceCheckUtils]: 5: Hoare triple {5795#true} havoc #t~nondet31; {5795#true} is VALID [2020-07-18 05:12:58,594 INFO L280 TraceCheckUtils]: 6: Hoare triple {5795#true} ~elem~0.base, ~elem~0.offset := ~new.base, ~new.offset; {5795#true} is VALID [2020-07-18 05:12:58,594 INFO L280 TraceCheckUtils]: 7: Hoare triple {5795#true} assume true; {5795#true} is VALID [2020-07-18 05:12:58,596 INFO L275 TraceCheckUtils]: 8: Hoare quadruple {5795#true} {5844#(<= 2 main_~dev2~0.offset)} #97#return; {5844#(<= 2 main_~dev2~0.offset)} is VALID [2020-07-18 05:12:58,598 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2020-07-18 05:12:58,602 INFO L280 TraceCheckUtils]: 0: Hoare triple {5900#(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; {5795#true} is VALID [2020-07-18 05:12:58,602 INFO L280 TraceCheckUtils]: 1: Hoare triple {5795#true} ~head.base, ~head.offset := #in~head.base, #in~head.offset; {5795#true} is VALID [2020-07-18 05:12:58,603 INFO L280 TraceCheckUtils]: 2: Hoare triple {5795#true} assume ~new.base != ~elem~0.base || ~new.offset != ~elem~0.offset; {5795#true} is VALID [2020-07-18 05:12:58,603 INFO L280 TraceCheckUtils]: 3: Hoare triple {5795#true} assume -2147483648 <= #t~nondet31 && #t~nondet31 <= 2147483647; {5795#true} is VALID [2020-07-18 05:12:58,603 INFO L280 TraceCheckUtils]: 4: Hoare triple {5795#true} assume !(0 != #t~nondet31); {5795#true} is VALID [2020-07-18 05:12:58,604 INFO L280 TraceCheckUtils]: 5: Hoare triple {5795#true} havoc #t~nondet31; {5795#true} is VALID [2020-07-18 05:12:58,604 INFO L280 TraceCheckUtils]: 6: Hoare triple {5795#true} assume true; {5795#true} is VALID [2020-07-18 05:12:58,606 INFO L275 TraceCheckUtils]: 7: Hoare quadruple {5795#true} {5844#(<= 2 main_~dev2~0.offset)} #99#return; {5844#(<= 2 main_~dev2~0.offset)} is VALID [2020-07-18 05:12:58,607 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2020-07-18 05:12:58,647 INFO L280 TraceCheckUtils]: 0: Hoare triple {5900#(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; {5795#true} is VALID [2020-07-18 05:12:58,647 INFO L280 TraceCheckUtils]: 1: Hoare triple {5795#true} assume ~entry.base == ~elem~0.base && ~entry.offset == ~elem~0.offset; {5795#true} is VALID [2020-07-18 05:12:58,648 INFO L280 TraceCheckUtils]: 2: Hoare triple {5795#true} ~elem~0.base, ~elem~0.offset := 0, 0; {5901#(= 0 ~elem~0.offset)} is VALID [2020-07-18 05:12:58,649 INFO L280 TraceCheckUtils]: 3: Hoare triple {5901#(= 0 ~elem~0.offset)} assume true; {5901#(= 0 ~elem~0.offset)} is VALID [2020-07-18 05:12:58,651 INFO L275 TraceCheckUtils]: 4: Hoare quadruple {5901#(= 0 ~elem~0.offset)} {5844#(<= 2 main_~dev2~0.offset)} #101#return; {5867#(and (= 0 ~elem~0.offset) (<= 2 main_~dev2~0.offset))} is VALID [2020-07-18 05:12:58,653 INFO L263 TraceCheckUtils]: 0: Hoare triple {5795#true} call ULTIMATE.init(); {5870#(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-18 05:12:58,653 INFO L280 TraceCheckUtils]: 1: Hoare triple {5870#(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; {5795#true} is VALID [2020-07-18 05:12:58,653 INFO L280 TraceCheckUtils]: 2: Hoare triple {5795#true} #valid := #valid[0 := 0]; {5795#true} is VALID [2020-07-18 05:12:58,653 INFO L280 TraceCheckUtils]: 3: Hoare triple {5795#true} assume 0 < #StackHeapBarrier; {5795#true} is VALID [2020-07-18 05:12:58,654 INFO L280 TraceCheckUtils]: 4: Hoare triple {5795#true} ~guard_malloc_counter~0.base, ~guard_malloc_counter~0.offset := 0, 0; {5807#(= 0 ~guard_malloc_counter~0.offset)} is VALID [2020-07-18 05:12:58,655 INFO L280 TraceCheckUtils]: 5: Hoare triple {5807#(= 0 ~guard_malloc_counter~0.offset)} ~elem~0.base, ~elem~0.offset := 0, 0; {5807#(= 0 ~guard_malloc_counter~0.offset)} is VALID [2020-07-18 05:12:58,656 INFO L280 TraceCheckUtils]: 6: Hoare triple {5807#(= 0 ~guard_malloc_counter~0.offset)} SUMMARY for call ~#head~0.base, ~#head~0.offset := #Ultimate.allocOnStack(8); srcloc: L900 {5807#(= 0 ~guard_malloc_counter~0.offset)} is VALID [2020-07-18 05:12:58,657 INFO L280 TraceCheckUtils]: 7: Hoare triple {5807#(= 0 ~guard_malloc_counter~0.offset)} SUMMARY for call write~init~$Pointer$(0, 0, ~#head~0.base, ~#head~0.offset, 4); srcloc: L900-1 {5807#(= 0 ~guard_malloc_counter~0.offset)} is VALID [2020-07-18 05:12:58,658 INFO L280 TraceCheckUtils]: 8: Hoare triple {5807#(= 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 {5807#(= 0 ~guard_malloc_counter~0.offset)} is VALID [2020-07-18 05:12:58,659 INFO L280 TraceCheckUtils]: 9: Hoare triple {5807#(= 0 ~guard_malloc_counter~0.offset)} assume true; {5807#(= 0 ~guard_malloc_counter~0.offset)} is VALID [2020-07-18 05:12:58,660 INFO L275 TraceCheckUtils]: 10: Hoare quadruple {5807#(= 0 ~guard_malloc_counter~0.offset)} {5795#true} #109#return; {5807#(= 0 ~guard_malloc_counter~0.offset)} is VALID [2020-07-18 05:12:58,661 INFO L263 TraceCheckUtils]: 11: Hoare triple {5807#(= 0 ~guard_malloc_counter~0.offset)} call #t~ret34 := main(); {5807#(= 0 ~guard_malloc_counter~0.offset)} is VALID [2020-07-18 05:12:58,661 INFO L280 TraceCheckUtils]: 12: Hoare triple {5807#(= 0 ~guard_malloc_counter~0.offset)} havoc ~dev1~0.base, ~dev1~0.offset; {5807#(= 0 ~guard_malloc_counter~0.offset)} is VALID [2020-07-18 05:12:58,662 INFO L280 TraceCheckUtils]: 13: Hoare triple {5807#(= 0 ~guard_malloc_counter~0.offset)} havoc ~dev2~0.base, ~dev2~0.offset; {5807#(= 0 ~guard_malloc_counter~0.offset)} is VALID [2020-07-18 05:12:58,663 INFO L263 TraceCheckUtils]: 14: Hoare triple {5807#(= 0 ~guard_malloc_counter~0.offset)} call #t~ret32.base, #t~ret32.offset := my_malloc(8); {5871#(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-18 05:12:58,664 INFO L280 TraceCheckUtils]: 15: Hoare triple {5871#(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; {5872#(= ~guard_malloc_counter~0.offset |old(~guard_malloc_counter~0.offset)|)} is VALID [2020-07-18 05:12:58,666 INFO L263 TraceCheckUtils]: 16: Hoare triple {5872#(= ~guard_malloc_counter~0.offset |old(~guard_malloc_counter~0.offset)|)} call #t~ret30.base, #t~ret30.offset := __getMemory(~size); {5871#(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-18 05:12:58,667 INFO L280 TraceCheckUtils]: 17: Hoare triple {5871#(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; {5872#(= ~guard_malloc_counter~0.offset |old(~guard_malloc_counter~0.offset)|)} is VALID [2020-07-18 05:12:58,668 INFO L280 TraceCheckUtils]: 18: Hoare triple {5872#(= ~guard_malloc_counter~0.offset |old(~guard_malloc_counter~0.offset)|)} assume ~size > 0; {5872#(= ~guard_malloc_counter~0.offset |old(~guard_malloc_counter~0.offset)|)} is VALID [2020-07-18 05:12:58,669 INFO L280 TraceCheckUtils]: 19: Hoare triple {5872#(= ~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; {5885#(= |old(~guard_malloc_counter~0.offset)| |__getMemory_#t~post28.offset|)} is VALID [2020-07-18 05:12:58,670 INFO L280 TraceCheckUtils]: 20: Hoare triple {5885#(= |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; {5884#(<= (+ |old(~guard_malloc_counter~0.offset)| 1) ~guard_malloc_counter~0.offset)} is VALID [2020-07-18 05:12:58,671 INFO L280 TraceCheckUtils]: 21: Hoare triple {5884#(<= (+ |old(~guard_malloc_counter~0.offset)| 1) ~guard_malloc_counter~0.offset)} havoc #t~post28.base, #t~post28.offset; {5884#(<= (+ |old(~guard_malloc_counter~0.offset)| 1) ~guard_malloc_counter~0.offset)} is VALID [2020-07-18 05:12:58,672 INFO L280 TraceCheckUtils]: 22: Hoare triple {5884#(<= (+ |old(~guard_malloc_counter~0.offset)| 1) ~guard_malloc_counter~0.offset)} assume -2147483648 <= #t~nondet29 && #t~nondet29 <= 2147483647; {5884#(<= (+ |old(~guard_malloc_counter~0.offset)| 1) ~guard_malloc_counter~0.offset)} is VALID [2020-07-18 05:12:58,673 INFO L280 TraceCheckUtils]: 23: Hoare triple {5884#(<= (+ |old(~guard_malloc_counter~0.offset)| 1) ~guard_malloc_counter~0.offset)} assume !(0 == #t~nondet29); {5884#(<= (+ |old(~guard_malloc_counter~0.offset)| 1) ~guard_malloc_counter~0.offset)} is VALID [2020-07-18 05:12:58,674 INFO L280 TraceCheckUtils]: 24: Hoare triple {5884#(<= (+ |old(~guard_malloc_counter~0.offset)| 1) ~guard_malloc_counter~0.offset)} havoc #t~nondet29; {5884#(<= (+ |old(~guard_malloc_counter~0.offset)| 1) ~guard_malloc_counter~0.offset)} is VALID [2020-07-18 05:12:58,675 INFO L280 TraceCheckUtils]: 25: Hoare triple {5884#(<= (+ |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; {5884#(<= (+ |old(~guard_malloc_counter~0.offset)| 1) ~guard_malloc_counter~0.offset)} is VALID [2020-07-18 05:12:58,676 INFO L280 TraceCheckUtils]: 26: Hoare triple {5884#(<= (+ |old(~guard_malloc_counter~0.offset)| 1) ~guard_malloc_counter~0.offset)} assume true; {5884#(<= (+ |old(~guard_malloc_counter~0.offset)| 1) ~guard_malloc_counter~0.offset)} is VALID [2020-07-18 05:12:58,678 INFO L275 TraceCheckUtils]: 27: Hoare quadruple {5884#(<= (+ |old(~guard_malloc_counter~0.offset)| 1) ~guard_malloc_counter~0.offset)} {5872#(= ~guard_malloc_counter~0.offset |old(~guard_malloc_counter~0.offset)|)} #91#return; {5884#(<= (+ |old(~guard_malloc_counter~0.offset)| 1) ~guard_malloc_counter~0.offset)} is VALID [2020-07-18 05:12:58,678 INFO L280 TraceCheckUtils]: 28: Hoare triple {5884#(<= (+ |old(~guard_malloc_counter~0.offset)| 1) ~guard_malloc_counter~0.offset)} #res.base, #res.offset := #t~ret30.base, #t~ret30.offset; {5884#(<= (+ |old(~guard_malloc_counter~0.offset)| 1) ~guard_malloc_counter~0.offset)} is VALID [2020-07-18 05:12:58,679 INFO L280 TraceCheckUtils]: 29: Hoare triple {5884#(<= (+ |old(~guard_malloc_counter~0.offset)| 1) ~guard_malloc_counter~0.offset)} havoc #t~ret30.base, #t~ret30.offset; {5884#(<= (+ |old(~guard_malloc_counter~0.offset)| 1) ~guard_malloc_counter~0.offset)} is VALID [2020-07-18 05:12:58,680 INFO L280 TraceCheckUtils]: 30: Hoare triple {5884#(<= (+ |old(~guard_malloc_counter~0.offset)| 1) ~guard_malloc_counter~0.offset)} assume true; {5884#(<= (+ |old(~guard_malloc_counter~0.offset)| 1) ~guard_malloc_counter~0.offset)} is VALID [2020-07-18 05:12:58,682 INFO L275 TraceCheckUtils]: 31: Hoare quadruple {5884#(<= (+ |old(~guard_malloc_counter~0.offset)| 1) ~guard_malloc_counter~0.offset)} {5807#(= 0 ~guard_malloc_counter~0.offset)} #93#return; {5825#(<= 1 ~guard_malloc_counter~0.offset)} is VALID [2020-07-18 05:12:58,683 INFO L280 TraceCheckUtils]: 32: Hoare triple {5825#(<= 1 ~guard_malloc_counter~0.offset)} ~dev1~0.base, ~dev1~0.offset := #t~ret32.base, #t~ret32.offset; {5825#(<= 1 ~guard_malloc_counter~0.offset)} is VALID [2020-07-18 05:12:58,684 INFO L280 TraceCheckUtils]: 33: Hoare triple {5825#(<= 1 ~guard_malloc_counter~0.offset)} havoc #t~ret32.base, #t~ret32.offset; {5825#(<= 1 ~guard_malloc_counter~0.offset)} is VALID [2020-07-18 05:12:58,685 INFO L263 TraceCheckUtils]: 34: Hoare triple {5825#(<= 1 ~guard_malloc_counter~0.offset)} call #t~ret33.base, #t~ret33.offset := my_malloc(8); {5871#(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-18 05:12:58,686 INFO L280 TraceCheckUtils]: 35: Hoare triple {5871#(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; {5872#(= ~guard_malloc_counter~0.offset |old(~guard_malloc_counter~0.offset)|)} is VALID [2020-07-18 05:12:58,687 INFO L263 TraceCheckUtils]: 36: Hoare triple {5872#(= ~guard_malloc_counter~0.offset |old(~guard_malloc_counter~0.offset)|)} call #t~ret30.base, #t~ret30.offset := __getMemory(~size); {5871#(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-18 05:12:58,688 INFO L280 TraceCheckUtils]: 37: Hoare triple {5871#(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; {5872#(= ~guard_malloc_counter~0.offset |old(~guard_malloc_counter~0.offset)|)} is VALID [2020-07-18 05:12:58,689 INFO L280 TraceCheckUtils]: 38: Hoare triple {5872#(= ~guard_malloc_counter~0.offset |old(~guard_malloc_counter~0.offset)|)} assume ~size > 0; {5872#(= ~guard_malloc_counter~0.offset |old(~guard_malloc_counter~0.offset)|)} is VALID [2020-07-18 05:12:58,690 INFO L280 TraceCheckUtils]: 39: Hoare triple {5872#(= ~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; {5885#(= |old(~guard_malloc_counter~0.offset)| |__getMemory_#t~post28.offset|)} is VALID [2020-07-18 05:12:58,691 INFO L280 TraceCheckUtils]: 40: Hoare triple {5885#(= |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; {5884#(<= (+ |old(~guard_malloc_counter~0.offset)| 1) ~guard_malloc_counter~0.offset)} is VALID [2020-07-18 05:12:58,692 INFO L280 TraceCheckUtils]: 41: Hoare triple {5884#(<= (+ |old(~guard_malloc_counter~0.offset)| 1) ~guard_malloc_counter~0.offset)} havoc #t~post28.base, #t~post28.offset; {5884#(<= (+ |old(~guard_malloc_counter~0.offset)| 1) ~guard_malloc_counter~0.offset)} is VALID [2020-07-18 05:12:58,692 INFO L280 TraceCheckUtils]: 42: Hoare triple {5884#(<= (+ |old(~guard_malloc_counter~0.offset)| 1) ~guard_malloc_counter~0.offset)} assume -2147483648 <= #t~nondet29 && #t~nondet29 <= 2147483647; {5884#(<= (+ |old(~guard_malloc_counter~0.offset)| 1) ~guard_malloc_counter~0.offset)} is VALID [2020-07-18 05:12:58,693 INFO L280 TraceCheckUtils]: 43: Hoare triple {5884#(<= (+ |old(~guard_malloc_counter~0.offset)| 1) ~guard_malloc_counter~0.offset)} assume !(0 == #t~nondet29); {5884#(<= (+ |old(~guard_malloc_counter~0.offset)| 1) ~guard_malloc_counter~0.offset)} is VALID [2020-07-18 05:12:58,694 INFO L280 TraceCheckUtils]: 44: Hoare triple {5884#(<= (+ |old(~guard_malloc_counter~0.offset)| 1) ~guard_malloc_counter~0.offset)} havoc #t~nondet29; {5884#(<= (+ |old(~guard_malloc_counter~0.offset)| 1) ~guard_malloc_counter~0.offset)} is VALID [2020-07-18 05:12:58,695 INFO L280 TraceCheckUtils]: 45: Hoare triple {5884#(<= (+ |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; {5899#(<= (+ |old(~guard_malloc_counter~0.offset)| 1) |__getMemory_#res.offset|)} is VALID [2020-07-18 05:12:58,696 INFO L280 TraceCheckUtils]: 46: Hoare triple {5899#(<= (+ |old(~guard_malloc_counter~0.offset)| 1) |__getMemory_#res.offset|)} assume true; {5899#(<= (+ |old(~guard_malloc_counter~0.offset)| 1) |__getMemory_#res.offset|)} is VALID [2020-07-18 05:12:58,697 INFO L275 TraceCheckUtils]: 47: Hoare quadruple {5899#(<= (+ |old(~guard_malloc_counter~0.offset)| 1) |__getMemory_#res.offset|)} {5872#(= ~guard_malloc_counter~0.offset |old(~guard_malloc_counter~0.offset)|)} #91#return; {5897#(<= (+ |old(~guard_malloc_counter~0.offset)| 1) |my_malloc_#t~ret30.offset|)} is VALID [2020-07-18 05:12:58,699 INFO L280 TraceCheckUtils]: 48: Hoare triple {5897#(<= (+ |old(~guard_malloc_counter~0.offset)| 1) |my_malloc_#t~ret30.offset|)} #res.base, #res.offset := #t~ret30.base, #t~ret30.offset; {5898#(<= (+ |old(~guard_malloc_counter~0.offset)| 1) |my_malloc_#res.offset|)} is VALID [2020-07-18 05:12:58,699 INFO L280 TraceCheckUtils]: 49: Hoare triple {5898#(<= (+ |old(~guard_malloc_counter~0.offset)| 1) |my_malloc_#res.offset|)} havoc #t~ret30.base, #t~ret30.offset; {5898#(<= (+ |old(~guard_malloc_counter~0.offset)| 1) |my_malloc_#res.offset|)} is VALID [2020-07-18 05:12:58,700 INFO L280 TraceCheckUtils]: 50: Hoare triple {5898#(<= (+ |old(~guard_malloc_counter~0.offset)| 1) |my_malloc_#res.offset|)} assume true; {5898#(<= (+ |old(~guard_malloc_counter~0.offset)| 1) |my_malloc_#res.offset|)} is VALID [2020-07-18 05:12:58,702 INFO L275 TraceCheckUtils]: 51: Hoare quadruple {5898#(<= (+ |old(~guard_malloc_counter~0.offset)| 1) |my_malloc_#res.offset|)} {5825#(<= 1 ~guard_malloc_counter~0.offset)} #95#return; {5843#(<= 2 |main_#t~ret33.offset|)} is VALID [2020-07-18 05:12:58,703 INFO L280 TraceCheckUtils]: 52: Hoare triple {5843#(<= 2 |main_#t~ret33.offset|)} ~dev2~0.base, ~dev2~0.offset := #t~ret33.base, #t~ret33.offset; {5844#(<= 2 main_~dev2~0.offset)} is VALID [2020-07-18 05:12:58,704 INFO L280 TraceCheckUtils]: 53: Hoare triple {5844#(<= 2 main_~dev2~0.offset)} havoc #t~ret33.base, #t~ret33.offset; {5844#(<= 2 main_~dev2~0.offset)} is VALID [2020-07-18 05:12:58,705 INFO L280 TraceCheckUtils]: 54: Hoare triple {5844#(<= 2 main_~dev2~0.offset)} assume (~dev1~0.base != 0 || ~dev1~0.offset != 0) && (~dev2~0.base != 0 || ~dev2~0.offset != 0); {5844#(<= 2 main_~dev2~0.offset)} is VALID [2020-07-18 05:12:58,707 INFO L263 TraceCheckUtils]: 55: Hoare triple {5844#(<= 2 main_~dev2~0.offset)} call list_add(~dev2~0.base, ~dev2~0.offset, ~#head~0.base, ~#head~0.offset); {5900#(and (= ~elem~0.base |old(~elem~0.base)|) (= ~elem~0.offset |old(~elem~0.offset)|))} is VALID [2020-07-18 05:12:58,707 INFO L280 TraceCheckUtils]: 56: Hoare triple {5900#(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; {5795#true} is VALID [2020-07-18 05:12:58,707 INFO L280 TraceCheckUtils]: 57: Hoare triple {5795#true} ~head.base, ~head.offset := #in~head.base, #in~head.offset; {5795#true} is VALID [2020-07-18 05:12:58,707 INFO L280 TraceCheckUtils]: 58: Hoare triple {5795#true} assume ~new.base != ~elem~0.base || ~new.offset != ~elem~0.offset; {5795#true} is VALID [2020-07-18 05:12:58,708 INFO L280 TraceCheckUtils]: 59: Hoare triple {5795#true} assume -2147483648 <= #t~nondet31 && #t~nondet31 <= 2147483647; {5795#true} is VALID [2020-07-18 05:12:58,708 INFO L280 TraceCheckUtils]: 60: Hoare triple {5795#true} assume 0 != #t~nondet31; {5795#true} is VALID [2020-07-18 05:12:58,708 INFO L280 TraceCheckUtils]: 61: Hoare triple {5795#true} havoc #t~nondet31; {5795#true} is VALID [2020-07-18 05:12:58,709 INFO L280 TraceCheckUtils]: 62: Hoare triple {5795#true} ~elem~0.base, ~elem~0.offset := ~new.base, ~new.offset; {5795#true} is VALID [2020-07-18 05:12:58,709 INFO L280 TraceCheckUtils]: 63: Hoare triple {5795#true} assume true; {5795#true} is VALID [2020-07-18 05:12:58,710 INFO L275 TraceCheckUtils]: 64: Hoare quadruple {5795#true} {5844#(<= 2 main_~dev2~0.offset)} #97#return; {5844#(<= 2 main_~dev2~0.offset)} is VALID [2020-07-18 05:12:58,712 INFO L263 TraceCheckUtils]: 65: Hoare triple {5844#(<= 2 main_~dev2~0.offset)} call list_add(~dev1~0.base, ~dev1~0.offset, ~#head~0.base, ~#head~0.offset); {5900#(and (= ~elem~0.base |old(~elem~0.base)|) (= ~elem~0.offset |old(~elem~0.offset)|))} is VALID [2020-07-18 05:12:58,713 INFO L280 TraceCheckUtils]: 66: Hoare triple {5900#(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; {5795#true} is VALID [2020-07-18 05:12:58,713 INFO L280 TraceCheckUtils]: 67: Hoare triple {5795#true} ~head.base, ~head.offset := #in~head.base, #in~head.offset; {5795#true} is VALID [2020-07-18 05:12:58,713 INFO L280 TraceCheckUtils]: 68: Hoare triple {5795#true} assume ~new.base != ~elem~0.base || ~new.offset != ~elem~0.offset; {5795#true} is VALID [2020-07-18 05:12:58,714 INFO L280 TraceCheckUtils]: 69: Hoare triple {5795#true} assume -2147483648 <= #t~nondet31 && #t~nondet31 <= 2147483647; {5795#true} is VALID [2020-07-18 05:12:58,714 INFO L280 TraceCheckUtils]: 70: Hoare triple {5795#true} assume !(0 != #t~nondet31); {5795#true} is VALID [2020-07-18 05:12:58,714 INFO L280 TraceCheckUtils]: 71: Hoare triple {5795#true} havoc #t~nondet31; {5795#true} is VALID [2020-07-18 05:12:58,714 INFO L280 TraceCheckUtils]: 72: Hoare triple {5795#true} assume true; {5795#true} is VALID [2020-07-18 05:12:58,716 INFO L275 TraceCheckUtils]: 73: Hoare quadruple {5795#true} {5844#(<= 2 main_~dev2~0.offset)} #99#return; {5844#(<= 2 main_~dev2~0.offset)} is VALID [2020-07-18 05:12:58,717 INFO L263 TraceCheckUtils]: 74: Hoare triple {5844#(<= 2 main_~dev2~0.offset)} call list_del(~dev2~0.base, ~dev2~0.offset); {5900#(and (= ~elem~0.base |old(~elem~0.base)|) (= ~elem~0.offset |old(~elem~0.offset)|))} is VALID [2020-07-18 05:12:58,718 INFO L280 TraceCheckUtils]: 75: Hoare triple {5900#(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; {5795#true} is VALID [2020-07-18 05:12:58,718 INFO L280 TraceCheckUtils]: 76: Hoare triple {5795#true} assume ~entry.base == ~elem~0.base && ~entry.offset == ~elem~0.offset; {5795#true} is VALID [2020-07-18 05:12:58,719 INFO L280 TraceCheckUtils]: 77: Hoare triple {5795#true} ~elem~0.base, ~elem~0.offset := 0, 0; {5901#(= 0 ~elem~0.offset)} is VALID [2020-07-18 05:12:58,720 INFO L280 TraceCheckUtils]: 78: Hoare triple {5901#(= 0 ~elem~0.offset)} assume true; {5901#(= 0 ~elem~0.offset)} is VALID [2020-07-18 05:12:58,721 INFO L275 TraceCheckUtils]: 79: Hoare quadruple {5901#(= 0 ~elem~0.offset)} {5844#(<= 2 main_~dev2~0.offset)} #101#return; {5867#(and (= 0 ~elem~0.offset) (<= 2 main_~dev2~0.offset))} is VALID [2020-07-18 05:12:58,723 INFO L263 TraceCheckUtils]: 80: Hoare triple {5867#(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); {5868#(and (= 0 ~elem~0.offset) (<= 2 |list_add_#in~new.offset|))} is VALID [2020-07-18 05:12:58,724 INFO L280 TraceCheckUtils]: 81: Hoare triple {5868#(and (= 0 ~elem~0.offset) (<= 2 |list_add_#in~new.offset|))} ~new.base, ~new.offset := #in~new.base, #in~new.offset; {5869#(and (= 0 ~elem~0.offset) (not (= 0 list_add_~new.offset)))} is VALID [2020-07-18 05:12:58,725 INFO L280 TraceCheckUtils]: 82: Hoare triple {5869#(and (= 0 ~elem~0.offset) (not (= 0 list_add_~new.offset)))} ~head.base, ~head.offset := #in~head.base, #in~head.offset; {5869#(and (= 0 ~elem~0.offset) (not (= 0 list_add_~new.offset)))} is VALID [2020-07-18 05:12:58,726 INFO L280 TraceCheckUtils]: 83: Hoare triple {5869#(and (= 0 ~elem~0.offset) (not (= 0 list_add_~new.offset)))} assume !(~new.base != ~elem~0.base || ~new.offset != ~elem~0.offset); {5796#false} is VALID [2020-07-18 05:12:58,726 INFO L263 TraceCheckUtils]: 84: Hoare triple {5796#false} call __blast_assert(); {5796#false} is VALID [2020-07-18 05:12:58,726 INFO L280 TraceCheckUtils]: 85: Hoare triple {5796#false} assume !false; {5796#false} is VALID [2020-07-18 05:12:58,744 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-18 05:12:58,744 INFO L354 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModulePreferences [2125735049] [2020-07-18 05:12:58,745 INFO L220 FreeRefinementEngine]: Constructing automaton from 0 perfect and 1 imperfect interpolant sequences. [2020-07-18 05:12:58,745 INFO L233 FreeRefinementEngine]: Number of different interpolants: perfect sequences [] imperfect sequences [19] total 19 [2020-07-18 05:12:58,745 INFO L156 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [104211253] [2020-07-18 05:12:58,746 INFO L78 Accepts]: Start accepts. Automaton has 19 states. Word has length 86 [2020-07-18 05:12:58,747 INFO L84 Accepts]: Finished accepts. word is accepted. [2020-07-18 05:12:58,747 INFO L86 InductivityCheck]: Starting indutivity check of a Floyd-Hoare automaton with 19 states. [2020-07-18 05:12:58,867 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-18 05:12:58,868 INFO L459 AbstractCegarLoop]: Interpolant automaton has 19 states [2020-07-18 05:12:58,868 INFO L143 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy FIXED_PREFERENCES [2020-07-18 05:12:58,868 INFO L142 InterpolantAutomaton]: Constructing interpolant automaton starting with 19 interpolants. [2020-07-18 05:12:58,869 INFO L144 InterpolantAutomaton]: CoverageRelationStatistics Valid=43, Invalid=299, Unknown=0, NotChecked=0, Total=342 [2020-07-18 05:12:58,869 INFO L87 Difference]: Start difference. First operand 70 states and 71 transitions. Second operand 19 states. [2020-07-18 05:13:02,742 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2020-07-18 05:13:02,743 INFO L93 Difference]: Finished difference Result 78 states and 80 transitions. [2020-07-18 05:13:02,743 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 26 states. [2020-07-18 05:13:02,743 INFO L78 Accepts]: Start accepts. Automaton has 19 states. Word has length 86 [2020-07-18 05:13:02,743 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2020-07-18 05:13:02,743 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 19 states. [2020-07-18 05:13:02,745 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 26 states to 26 states and 78 transitions. [2020-07-18 05:13:02,745 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 19 states. [2020-07-18 05:13:02,746 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 26 states to 26 states and 78 transitions. [2020-07-18 05:13:02,747 INFO L86 InductivityCheck]: Starting indutivity check of a Floyd-Hoare automaton with 26 states and 78 transitions. [2020-07-18 05:13:02,890 INFO L119 InductivityCheck]: Floyd-Hoare automaton has 78 edges. 78 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2020-07-18 05:13:02,891 INFO L225 Difference]: With dead ends: 78 [2020-07-18 05:13:02,891 INFO L226 Difference]: Without dead ends: 0 [2020-07-18 05:13:02,893 INFO L675 BasicCegarLoop]: 0 DeclaredPredicates, 59 GetRequests, 19 SyntacticMatches, 0 SemanticMatches, 40 ConstructedPredicates, 0 IntricatePredicates, 0 DeprecatedPredicates, 279 ImplicationChecksByTransitivity, 1.2s TimeCoverageRelationStatistics Valid=253, Invalid=1469, Unknown=0, NotChecked=0, Total=1722 [2020-07-18 05:13:02,893 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 0 states. [2020-07-18 05:13:02,893 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 0 to 0. [2020-07-18 05:13:02,894 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2020-07-18 05:13:02,894 INFO L82 GeneralOperation]: Start isEquivalent. First operand 0 states. Second operand 0 states. [2020-07-18 05:13:02,894 INFO L74 IsIncluded]: Start isIncluded. First operand 0 states. Second operand 0 states. [2020-07-18 05:13:02,894 INFO L87 Difference]: Start difference. First operand 0 states. Second operand 0 states. [2020-07-18 05:13:02,894 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2020-07-18 05:13:02,894 INFO L93 Difference]: Finished difference Result 0 states and 0 transitions. [2020-07-18 05:13:02,894 INFO L276 IsEmpty]: Start isEmpty. Operand 0 states and 0 transitions. [2020-07-18 05:13:02,894 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2020-07-18 05:13:02,894 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2020-07-18 05:13:02,895 INFO L74 IsIncluded]: Start isIncluded. First operand 0 states. Second operand 0 states. [2020-07-18 05:13:02,895 INFO L87 Difference]: Start difference. First operand 0 states. Second operand 0 states. [2020-07-18 05:13:02,895 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2020-07-18 05:13:02,895 INFO L93 Difference]: Finished difference Result 0 states and 0 transitions. [2020-07-18 05:13:02,895 INFO L276 IsEmpty]: Start isEmpty. Operand 0 states and 0 transitions. [2020-07-18 05:13:02,895 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2020-07-18 05:13:02,895 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2020-07-18 05:13:02,895 INFO L88 GeneralOperation]: Finished isEquivalent. [2020-07-18 05:13:02,895 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2020-07-18 05:13:02,895 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 0 states. [2020-07-18 05:13:02,896 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 0 states to 0 states and 0 transitions. [2020-07-18 05:13:02,896 INFO L78 Accepts]: Start accepts. Automaton has 0 states and 0 transitions. Word has length 86 [2020-07-18 05:13:02,896 INFO L84 Accepts]: Finished accepts. word is rejected. [2020-07-18 05:13:02,896 INFO L479 AbstractCegarLoop]: Abstraction has 0 states and 0 transitions. [2020-07-18 05:13:02,896 INFO L480 AbstractCegarLoop]: Interpolant automaton has 19 states. [2020-07-18 05:13:02,896 INFO L86 InductivityCheck]: Starting indutivity check of a Floyd-Hoare automaton with 0 states and 0 transitions. [2020-07-18 05:13:02,896 INFO L119 InductivityCheck]: Floyd-Hoare automaton has 0 edges. 0 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2020-07-18 05:13:02,896 INFO L276 IsEmpty]: Start isEmpty. Operand 0 states and 0 transitions. [2020-07-18 05:13:02,896 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2020-07-18 05:13:02,896 WARN L516 AbstractCegarLoop]: Destroyed unattended storables created during the last iteration: SelfDestructingSolverStorable9 [2020-07-18 05:13:02,898 INFO L343 DoubleDeckerVisitor]: Before removal of dead ends 0 states and 0 transitions. [2020-07-18 05:13:04,193 WARN L193 SmtUtils]: Spent 102.00 ms on a formula simplification. DAG size of input: 33 DAG size of output: 24 [2020-07-18 05:13:04,384 WARN L193 SmtUtils]: Spent 102.00 ms on a formula simplification. DAG size of input: 33 DAG size of output: 24 [2020-07-18 05:13:04,807 WARN L193 SmtUtils]: Spent 232.00 ms on a formula simplification. DAG size of input: 57 DAG size of output: 37 [2020-07-18 05:13:04,998 WARN L193 SmtUtils]: Spent 162.00 ms on a formula simplification. DAG size of input: 64 DAG size of output: 33 [2020-07-18 05:13:05,112 WARN L193 SmtUtils]: Spent 100.00 ms on a formula simplification. DAG size of input: 51 DAG size of output: 28 [2020-07-18 05:13:05,675 WARN L193 SmtUtils]: Spent 185.00 ms on a formula simplification. DAG size of input: 42 DAG size of output: 33 [2020-07-18 05:13:05,822 WARN L193 SmtUtils]: Spent 136.00 ms on a formula simplification. DAG size of input: 47 DAG size of output: 24 [2020-07-18 05:13:06,066 WARN L193 SmtUtils]: Spent 163.00 ms on a formula simplification. DAG size of input: 64 DAG size of output: 33 [2020-07-18 05:13:06,303 WARN L193 SmtUtils]: Spent 100.00 ms on a formula simplification. DAG size of input: 33 DAG size of output: 24 [2020-07-18 05:13:06,494 WARN L193 SmtUtils]: Spent 154.00 ms on a formula simplification. DAG size of input: 61 DAG size of output: 36 [2020-07-18 05:13:06,621 WARN L193 SmtUtils]: Spent 119.00 ms on a formula simplification. DAG size of input: 34 DAG size of output: 34 [2020-07-18 05:13:07,092 WARN L193 SmtUtils]: Spent 187.00 ms on a formula simplification. DAG size of input: 42 DAG size of output: 33 [2020-07-18 05:13:07,208 WARN L193 SmtUtils]: Spent 108.00 ms on a formula simplification. DAG size of input: 33 DAG size of output: 24 [2020-07-18 05:13:07,454 WARN L193 SmtUtils]: Spent 236.00 ms on a formula simplification. DAG size of input: 46 DAG size of output: 36 [2020-07-18 05:13:07,751 WARN L193 SmtUtils]: Spent 158.00 ms on a formula simplification. DAG size of input: 61 DAG size of output: 36 [2020-07-18 05:13:07,929 WARN L193 SmtUtils]: Spent 113.00 ms on a formula simplification. DAG size of input: 57 DAG size of output: 33 [2020-07-18 05:13:08,175 WARN L193 SmtUtils]: Spent 236.00 ms on a formula simplification. DAG size of input: 46 DAG size of output: 36 [2020-07-18 05:13:08,367 WARN L193 SmtUtils]: Spent 154.00 ms on a formula simplification. DAG size of input: 61 DAG size of output: 37 [2020-07-18 05:13:08,638 WARN L193 SmtUtils]: Spent 252.00 ms on a formula simplification. DAG size of input: 46 DAG size of output: 36 [2020-07-18 05:13:08,864 WARN L193 SmtUtils]: Spent 215.00 ms on a formula simplification. DAG size of input: 54 DAG size of output: 44 [2020-07-18 05:13:09,141 WARN L193 SmtUtils]: Spent 241.00 ms on a formula simplification. DAG size of input: 57 DAG size of output: 37 [2020-07-18 05:13:09,259 WARN L193 SmtUtils]: Spent 108.00 ms on a formula simplification. DAG size of input: 35 DAG size of output: 26 [2020-07-18 05:13:09,500 WARN L193 SmtUtils]: Spent 101.00 ms on a formula simplification. DAG size of input: 54 DAG size of output: 14 [2020-07-18 05:13:09,786 WARN L193 SmtUtils]: Spent 115.00 ms on a formula simplification. DAG size of input: 57 DAG size of output: 33 [2020-07-18 05:13:09,969 WARN L193 SmtUtils]: Spent 170.00 ms on a formula simplification. DAG size of input: 52 DAG size of output: 26 [2020-07-18 05:13:10,328 WARN L193 SmtUtils]: Spent 160.00 ms on a formula simplification. DAG size of input: 52 DAG size of output: 26 [2020-07-18 05:13:10,334 INFO L264 CegarLoopResult]: At program point my_mallocFINAL(lines 878 880) the Hoare annotation is: (let ((.cse0 (not (= 8 |my_malloc_#in~size|))) (.cse4 (not (<= 1 |old(~guard_malloc_counter~0.offset)|)))) (let ((.cse1 (+ |old(~guard_malloc_counter~0.offset)| 1)) (.cse2 (and (or (not (= 0 |old(~guard_malloc_counter~0.offset)|)) .cse0) (or .cse0 .cse4))) (.cse3 (not (= 0 ~elem~0.offset)))) (and (or .cse0 (= 8 my_malloc_~size)) (or (and (<= |my_malloc_#res.offset| ~guard_malloc_counter~0.offset) (<= .cse1 |my_malloc_#res.offset|)) .cse2 .cse3 (and (<= |my_malloc_#res.base| 0) (<= |my_malloc_#res.offset| 0) (<= 0 |my_malloc_#res.base|) (<= 0 |my_malloc_#res.offset|))) (or (<= .cse1 ~guard_malloc_counter~0.offset) .cse2 .cse4 .cse3)))) [2020-07-18 05:13:10,335 INFO L264 CegarLoopResult]: At program point L879(line 879) the Hoare annotation is: (or (not (= 8 |my_malloc_#in~size|)) (and (= 8 my_malloc_~size) (= ~guard_malloc_counter~0.offset |old(~guard_malloc_counter~0.offset)|) (= ~guard_malloc_counter~0.base |old(~guard_malloc_counter~0.base)|))) [2020-07-18 05:13:10,335 INFO L264 CegarLoopResult]: At program point L879-1(line 879) the Hoare annotation is: (let ((.cse0 (not (= 8 |my_malloc_#in~size|))) (.cse4 (not (<= 1 |old(~guard_malloc_counter~0.offset)|)))) (let ((.cse2 (+ |old(~guard_malloc_counter~0.offset)| 1)) (.cse1 (and (or (not (= 0 |old(~guard_malloc_counter~0.offset)|)) .cse0) (or .cse0 .cse4))) (.cse3 (not (= 0 ~elem~0.offset)))) (and (or .cse0 (= 8 my_malloc_~size)) (or (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)) .cse1 (and (<= .cse2 |my_malloc_#t~ret30.offset|) (<= |my_malloc_#t~ret30.offset| ~guard_malloc_counter~0.offset)) .cse3) (or (<= .cse2 ~guard_malloc_counter~0.offset) .cse1 .cse4 .cse3)))) [2020-07-18 05:13:10,336 INFO L264 CegarLoopResult]: At program point L879-2(line 879) the Hoare annotation is: (let ((.cse3 (not (= 8 |my_malloc_#in~size|))) (.cse4 (not (<= 1 |old(~guard_malloc_counter~0.offset)|)))) (let ((.cse2 (+ |old(~guard_malloc_counter~0.offset)| 1)) (.cse0 (and (or (not (= 0 |old(~guard_malloc_counter~0.offset)|)) .cse3) (or .cse3 .cse4))) (.cse1 (not (= 0 ~elem~0.offset)))) (and (or (and (<= |my_malloc_#res.base| 0) (<= |my_malloc_#res.offset| 0) (<= 0 |my_malloc_#res.base|) (<= |my_malloc_#t~ret30.offset| 0) (<= 0 |my_malloc_#res.offset|) (<= 0 |my_malloc_#t~ret30.offset|) (<= 0 |my_malloc_#t~ret30.base|) (<= |my_malloc_#t~ret30.base| 0)) .cse0 .cse1 (and (<= .cse2 |my_malloc_#t~ret30.offset|) (<= |my_malloc_#t~ret30.offset| ~guard_malloc_counter~0.offset) (<= |my_malloc_#res.offset| ~guard_malloc_counter~0.offset) (<= .cse2 |my_malloc_#res.offset|))) (or .cse3 (= 8 my_malloc_~size)) (or (<= .cse2 ~guard_malloc_counter~0.offset) .cse0 .cse4 .cse1)))) [2020-07-18 05:13:10,336 INFO L264 CegarLoopResult]: At program point my_mallocENTRY(lines 878 880) the Hoare annotation is: (or (not (= 8 |my_malloc_#in~size|)) (and (= ~guard_malloc_counter~0.offset |old(~guard_malloc_counter~0.offset)|) (= ~guard_malloc_counter~0.base |old(~guard_malloc_counter~0.base)|))) [2020-07-18 05:13:10,336 INFO L264 CegarLoopResult]: At program point my_mallocEXIT(lines 878 880) the Hoare annotation is: (let ((.cse0 (not (= 8 |my_malloc_#in~size|))) (.cse4 (not (<= 1 |old(~guard_malloc_counter~0.offset)|)))) (let ((.cse1 (+ |old(~guard_malloc_counter~0.offset)| 1)) (.cse2 (and (or (not (= 0 |old(~guard_malloc_counter~0.offset)|)) .cse0) (or .cse0 .cse4))) (.cse3 (not (= 0 ~elem~0.offset)))) (and (or .cse0 (= 8 my_malloc_~size)) (or (and (<= |my_malloc_#res.offset| ~guard_malloc_counter~0.offset) (<= .cse1 |my_malloc_#res.offset|)) .cse2 .cse3 (and (<= |my_malloc_#res.base| 0) (<= |my_malloc_#res.offset| 0) (<= 0 |my_malloc_#res.base|) (<= 0 |my_malloc_#res.offset|))) (or (<= .cse1 ~guard_malloc_counter~0.offset) .cse2 .cse4 .cse3)))) [2020-07-18 05:13:10,336 INFO L264 CegarLoopResult]: At program point L-1(line -1) the Hoare annotation is: (and (= ~elem~0.base |old(~elem~0.base)|) (= ~guard_malloc_counter~0.offset |old(~guard_malloc_counter~0.offset)|) (= ~elem~0.offset |old(~elem~0.offset)|) (= ~guard_malloc_counter~0.base |old(~guard_malloc_counter~0.base)|)) [2020-07-18 05:13:10,337 INFO L264 CegarLoopResult]: At program point L-1-1(line -1) the Hoare annotation is: (and (= ~elem~0.base |old(~elem~0.base)|) (= ~guard_malloc_counter~0.offset |old(~guard_malloc_counter~0.offset)|) (= ~elem~0.offset |old(~elem~0.offset)|) (= ~guard_malloc_counter~0.base |old(~guard_malloc_counter~0.base)|)) [2020-07-18 05:13:10,337 INFO L264 CegarLoopResult]: At program point ULTIMATE.initFINAL(line 900) the Hoare annotation is: (and (= 0 ~elem~0.offset) (= 0 ~guard_malloc_counter~0.offset)) [2020-07-18 05:13:10,337 INFO L264 CegarLoopResult]: At program point ULTIMATE.initENTRY(line -1) the Hoare annotation is: (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)|)) [2020-07-18 05:13:10,337 INFO L264 CegarLoopResult]: At program point L887(line 887) the Hoare annotation is: (and (= ~elem~0.base |old(~elem~0.base)|) (= ~elem~0.offset |old(~elem~0.offset)|) (= 0 ~guard_malloc_counter~0.offset)) [2020-07-18 05:13:10,337 INFO L264 CegarLoopResult]: At program point L900(line 900) the Hoare annotation is: (and (= 0 ~elem~0.offset) (= 0 ~guard_malloc_counter~0.offset)) [2020-07-18 05:13:10,337 INFO L264 CegarLoopResult]: At program point L867(line 867) the Hoare annotation is: (and (= ~elem~0.base |old(~elem~0.base)|) (= ~guard_malloc_counter~0.offset |old(~guard_malloc_counter~0.offset)|) (= ~elem~0.offset |old(~elem~0.offset)|) (= ~guard_malloc_counter~0.base |old(~guard_malloc_counter~0.base)|)) [2020-07-18 05:13:10,337 INFO L264 CegarLoopResult]: At program point L900-1(line 900) the Hoare annotation is: (and (= 0 ~elem~0.offset) (= 0 ~guard_malloc_counter~0.offset)) [2020-07-18 05:13:10,337 INFO L264 CegarLoopResult]: At program point L900-2(line 900) the Hoare annotation is: (and (= 0 ~elem~0.offset) (= 0 ~guard_malloc_counter~0.offset)) [2020-07-18 05:13:10,337 INFO L264 CegarLoopResult]: At program point ULTIMATE.initEXIT(line -1) the Hoare annotation is: (and (= 0 ~elem~0.offset) (= 0 ~guard_malloc_counter~0.offset)) [2020-07-18 05:13:10,337 INFO L264 CegarLoopResult]: At program point L897(line 897) the Hoare annotation is: (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) (= |old(~elem~0.offset)| |list_del_#in~entry.offset|)) [2020-07-18 05:13:10,338 INFO L264 CegarLoopResult]: At program point L896(lines 896 897) the Hoare annotation is: (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)) [2020-07-18 05:13:10,338 INFO L264 CegarLoopResult]: At program point L896-2(lines 895 898) the Hoare annotation is: (let ((.cse0 (and (= |old(~elem~0.offset)| ~elem~0.offset) (= |old(~elem~0.base)| ~elem~0.base)))) (and (or .cse0 (= |old(~elem~0.offset)| |list_del_#in~entry.offset|)) (or .cse0 (= 0 ~elem~0.offset) (not (<= 1 ~guard_malloc_counter~0.offset))))) [2020-07-18 05:13:10,338 INFO L264 CegarLoopResult]: At program point list_delEXIT(lines 895 898) the Hoare annotation is: (let ((.cse0 (and (= |old(~elem~0.offset)| ~elem~0.offset) (= |old(~elem~0.base)| ~elem~0.base)))) (and (or .cse0 (= |old(~elem~0.offset)| |list_del_#in~entry.offset|)) (or .cse0 (= 0 ~elem~0.offset) (not (<= 1 ~guard_malloc_counter~0.offset))))) [2020-07-18 05:13:10,338 INFO L264 CegarLoopResult]: At program point list_delENTRY(lines 895 898) the Hoare annotation is: (and (= |old(~elem~0.offset)| ~elem~0.offset) (= |old(~elem~0.base)| ~elem~0.base)) [2020-07-18 05:13:10,338 INFO L264 CegarLoopResult]: At program point list_addENTRY(lines 889 893) the Hoare annotation is: (let ((.cse0 (and (= |old(~elem~0.offset)| ~elem~0.offset) (= |old(~elem~0.base)| ~elem~0.base)))) (and (or .cse0 (not (<= (+ |list_add_#in~new.offset| 1) |old(~elem~0.offset)|)) (not (<= 1 ~guard_malloc_counter~0.offset))) (or .cse0 (not (<= (+ |old(~elem~0.offset)| 1) |list_add_#in~new.offset|))))) [2020-07-18 05:13:10,338 INFO L264 CegarLoopResult]: At program point L892(line 892) the Hoare annotation is: (let ((.cse0 (= |old(~elem~0.offset)| ~elem~0.offset)) (.cse1 (= |old(~elem~0.base)| ~elem~0.base))) (let ((.cse2 (and (= list_add_~new.base |list_add_#in~new.base|) (= |list_add_#in~new.offset| list_add_~new.offset) .cse0 .cse1)) (.cse3 (not (<= 1 ~guard_malloc_counter~0.offset)))) (and (or (and .cse0 .cse1) (not (<= (+ |old(~elem~0.offset)| 1) |list_add_#in~new.offset|))) (or (not (<= (+ |list_add_#in~new.offset| 1) |old(~elem~0.offset)|)) .cse2 .cse3) (or (not (= |old(~elem~0.offset)| 0)) (not (<= 1 |list_add_#in~new.offset|)) .cse2 .cse3)))) [2020-07-18 05:13:10,338 INFO L264 CegarLoopResult]: At program point L891(lines 891 892) the Hoare annotation is: (let ((.cse0 (= list_add_~new.base |list_add_#in~new.base|)) (.cse1 (= |list_add_#in~new.offset| list_add_~new.offset)) (.cse3 (= |old(~elem~0.offset)| ~elem~0.offset)) (.cse4 (= |old(~elem~0.base)| ~elem~0.base)) (.cse2 (not (<= 1 ~guard_malloc_counter~0.offset)))) (and (or (not (= |old(~elem~0.offset)| 0)) (and .cse0 .cse1) (not (<= 1 |list_add_#in~new.offset|)) .cse2) (or (and .cse3 .cse4) (not (<= (+ |old(~elem~0.offset)| 1) |list_add_#in~new.offset|))) (or (not (<= (+ |list_add_#in~new.offset| 1) |old(~elem~0.offset)|)) (and .cse0 .cse1 .cse3 .cse4) .cse2))) [2020-07-18 05:13:10,339 INFO L264 CegarLoopResult]: At program point L890(line 890) the Hoare annotation is: (let ((.cse0 (= |list_add_#in~new.offset| list_add_~new.offset)) (.cse1 (= |old(~elem~0.offset)| ~elem~0.offset)) (.cse2 (= |old(~elem~0.base)| ~elem~0.base)) (.cse3 (= list_add_~new.base |list_add_#in~new.base|)) (.cse4 (not (<= 1 ~guard_malloc_counter~0.offset)))) (and (or (and .cse0 .cse1 .cse2) (not (<= (+ |old(~elem~0.offset)| 1) |list_add_#in~new.offset|))) (or (not (<= (+ |list_add_#in~new.offset| 1) |old(~elem~0.offset)|)) (and .cse3 .cse0 .cse1 .cse2) .cse4) (or .cse3 (not (= |old(~elem~0.offset)| 0)) (not (<= 1 |list_add_#in~new.offset|)) .cse4))) [2020-07-18 05:13:10,339 INFO L264 CegarLoopResult]: At program point L891-1(line 891) the Hoare annotation is: (let ((.cse0 (= |old(~elem~0.offset)| ~elem~0.offset)) (.cse1 (= |old(~elem~0.base)| ~elem~0.base))) (let ((.cse2 (and (= list_add_~new.base |list_add_#in~new.base|) (= |list_add_#in~new.offset| list_add_~new.offset) .cse0 .cse1)) (.cse3 (not (<= 1 ~guard_malloc_counter~0.offset)))) (and (or (and .cse0 .cse1) (not (<= (+ |old(~elem~0.offset)| 1) |list_add_#in~new.offset|))) (or (not (<= (+ |list_add_#in~new.offset| 1) |old(~elem~0.offset)|)) .cse2 .cse3) (or (not (= |old(~elem~0.offset)| 0)) (not (<= 1 |list_add_#in~new.offset|)) .cse2 .cse3)))) [2020-07-18 05:13:10,339 INFO L264 CegarLoopResult]: At program point L889(lines 889 893) the Hoare annotation is: (let ((.cse0 (= |list_add_#in~new.offset| list_add_~new.offset)) (.cse1 (= |old(~elem~0.offset)| ~elem~0.offset)) (.cse2 (= |old(~elem~0.base)| ~elem~0.base)) (.cse3 (= list_add_~new.base |list_add_#in~new.base|)) (.cse4 (not (<= 1 ~guard_malloc_counter~0.offset)))) (and (or (and .cse0 .cse1 .cse2) (not (<= (+ |old(~elem~0.offset)| 1) |list_add_#in~new.offset|))) (or (not (<= (+ |list_add_#in~new.offset| 1) |old(~elem~0.offset)|)) (and .cse3 .cse0 .cse1 .cse2) .cse4) (or .cse3 (not (= |old(~elem~0.offset)| 0)) (not (<= 1 |list_add_#in~new.offset|)) .cse4))) [2020-07-18 05:13:10,339 INFO L264 CegarLoopResult]: At program point L890-2(line 890) the Hoare annotation is: (and (not (<= (+ |old(~elem~0.offset)| 1) |list_add_#in~new.offset|)) (or (not (<= (+ |list_add_#in~new.offset| 1) |old(~elem~0.offset)|)) (not (<= 1 ~guard_malloc_counter~0.offset)))) [2020-07-18 05:13:10,339 INFO L264 CegarLoopResult]: At program point L891-3(line 891) the Hoare annotation is: (let ((.cse2 (= list_add_~new.base |list_add_#in~new.base|)) (.cse3 (= |list_add_#in~new.offset| list_add_~new.offset)) (.cse0 (= |old(~elem~0.offset)| ~elem~0.offset)) (.cse1 (= |old(~elem~0.base)| ~elem~0.base)) (.cse4 (not (<= 1 ~guard_malloc_counter~0.offset)))) (and (or (and .cse0 .cse1) (not (<= (+ |old(~elem~0.offset)| 1) |list_add_#in~new.offset|))) (or (not (= |old(~elem~0.offset)| 0)) (and .cse2 .cse3) (not (<= 2 |list_add_#in~new.offset|)) .cse4) (or (not (<= (+ |list_add_#in~new.offset| 1) |old(~elem~0.offset)|)) (and .cse2 .cse3 .cse0 .cse1) .cse4))) [2020-07-18 05:13:10,339 INFO L264 CegarLoopResult]: At program point L890-3(line 890) the Hoare annotation is: (let ((.cse0 (= list_add_~new.base |list_add_#in~new.base|)) (.cse1 (= |list_add_#in~new.offset| list_add_~new.offset)) (.cse3 (= |old(~elem~0.offset)| ~elem~0.offset)) (.cse4 (= |old(~elem~0.base)| ~elem~0.base)) (.cse2 (not (<= 1 ~guard_malloc_counter~0.offset)))) (and (or (not (= |old(~elem~0.offset)| 0)) (and .cse0 .cse1) (not (<= 1 |list_add_#in~new.offset|)) .cse2) (or (and .cse3 .cse4) (not (<= (+ |old(~elem~0.offset)| 1) |list_add_#in~new.offset|))) (or (not (<= (+ |list_add_#in~new.offset| 1) |old(~elem~0.offset)|)) (and .cse0 .cse1 .cse3 .cse4) .cse2))) [2020-07-18 05:13:10,339 INFO L264 CegarLoopResult]: At program point L891-4(lines 889 893) the Hoare annotation is: (let ((.cse5 (= list_add_~new.base |list_add_#in~new.base|)) (.cse6 (= |list_add_#in~new.offset| list_add_~new.offset))) (let ((.cse3 (and .cse5 .cse6 (= ~elem~0.base |list_add_#in~new.base|) (= ~elem~0.offset |list_add_#in~new.offset|))) (.cse0 (= |old(~elem~0.offset)| ~elem~0.offset)) (.cse1 (= |old(~elem~0.base)| ~elem~0.base)) (.cse2 (not (= |old(~elem~0.offset)| 0))) (.cse4 (not (<= 1 ~guard_malloc_counter~0.offset)))) (and (or (and .cse0 .cse1) .cse2 .cse3 (not (<= 1 |list_add_#in~new.offset|)) .cse4) (or (not (<= (+ |list_add_#in~new.offset| 1) |old(~elem~0.offset)|)) .cse3 (and .cse5 .cse6 .cse0 .cse1) .cse4) (or .cse2 (and .cse5 .cse6) (not (<= 2 |list_add_#in~new.offset|)) .cse4)))) [2020-07-18 05:13:10,340 INFO L264 CegarLoopResult]: At program point list_addEXIT(lines 889 893) the Hoare annotation is: (let ((.cse5 (= list_add_~new.base |list_add_#in~new.base|)) (.cse6 (= |list_add_#in~new.offset| list_add_~new.offset))) (let ((.cse3 (and .cse5 .cse6 (= ~elem~0.base |list_add_#in~new.base|) (= ~elem~0.offset |list_add_#in~new.offset|))) (.cse0 (= |old(~elem~0.offset)| ~elem~0.offset)) (.cse1 (= |old(~elem~0.base)| ~elem~0.base)) (.cse2 (not (= |old(~elem~0.offset)| 0))) (.cse4 (not (<= 1 ~guard_malloc_counter~0.offset)))) (and (or (and .cse0 .cse1) .cse2 .cse3 (not (<= 1 |list_add_#in~new.offset|)) .cse4) (or (not (<= (+ |list_add_#in~new.offset| 1) |old(~elem~0.offset)|)) .cse3 (and .cse5 .cse6 .cse0 .cse1) .cse4) (or .cse2 (and .cse5 .cse6) (not (<= 2 |list_add_#in~new.offset|)) .cse4)))) [2020-07-18 05:13:10,340 INFO L271 CegarLoopResult]: At program point __blast_assertErr0ASSERT_VIOLATIONERROR_FUNCTION(line 6) the Hoare annotation is: true [2020-07-18 05:13:10,340 INFO L271 CegarLoopResult]: At program point __blast_assertEXIT(lines 4 7) the Hoare annotation is: true [2020-07-18 05:13:10,340 INFO L271 CegarLoopResult]: At program point __blast_assertFINAL(lines 4 7) the Hoare annotation is: true [2020-07-18 05:13:10,340 INFO L271 CegarLoopResult]: At program point __blast_assertENTRY(lines 4 7) the Hoare annotation is: true [2020-07-18 05:13:10,340 INFO L271 CegarLoopResult]: At program point ULTIMATE.startEXIT(line -1) the Hoare annotation is: true [2020-07-18 05:13:10,340 INFO L264 CegarLoopResult]: At program point L-1(line -1) the Hoare annotation is: (and (= 0 ~elem~0.offset) (= 0 ~guard_malloc_counter~0.offset)) [2020-07-18 05:13:10,340 INFO L271 CegarLoopResult]: At program point ULTIMATE.startENTRY(line -1) the Hoare annotation is: true [2020-07-18 05:13:10,340 INFO L271 CegarLoopResult]: At program point ULTIMATE.startFINAL(line -1) the Hoare annotation is: true [2020-07-18 05:13:10,341 INFO L264 CegarLoopResult]: At program point mainENTRY(lines 902 917) the Hoare annotation is: (or (not (= 0 |old(~guard_malloc_counter~0.offset)|)) (and (= |old(~elem~0.offset)| ~elem~0.offset) (= 0 ~guard_malloc_counter~0.offset) (= |old(~elem~0.base)| ~elem~0.base) (= ~guard_malloc_counter~0.base |old(~guard_malloc_counter~0.base)|)) (not (= |old(~elem~0.offset)| 0))) [2020-07-18 05:13:10,341 INFO L271 CegarLoopResult]: At program point mainEXIT(lines 902 917) the Hoare annotation is: true [2020-07-18 05:13:10,341 INFO L264 CegarLoopResult]: At program point L909(line 909) the Hoare annotation is: (or (not (= 0 |old(~guard_malloc_counter~0.offset)|)) (not (= |old(~elem~0.offset)| 0)) (and (<= (+ |old(~guard_malloc_counter~0.offset)| 1) ~guard_malloc_counter~0.offset) (<= main_~dev1~0.offset ~guard_malloc_counter~0.offset) (<= (+ main_~dev1~0.offset 1) main_~dev2~0.offset) (<= (+ ~elem~0.offset 1) main_~dev2~0.offset)) (and (= 0 ~elem~0.offset) (<= 2 main_~dev2~0.offset) (<= 1 ~guard_malloc_counter~0.offset))) [2020-07-18 05:13:10,341 INFO L271 CegarLoopResult]: At program point mainFINAL(lines 902 917) the Hoare annotation is: true [2020-07-18 05:13:10,341 INFO L264 CegarLoopResult]: At program point L908(line 908) the Hoare annotation is: (let ((.cse1 (<= (+ ~elem~0.offset 1) main_~dev2~0.offset))) (let ((.cse0 (<= (+ main_~dev1~0.offset 1) main_~dev2~0.offset)) (.cse3 (<= 2 main_~dev2~0.offset)) (.cse2 (let ((.cse4 (<= (+ |old(~guard_malloc_counter~0.offset)| 1) ~guard_malloc_counter~0.offset)) (.cse5 (<= main_~dev1~0.offset ~guard_malloc_counter~0.offset))) (or (and .cse4 .cse5 .cse1) (and .cse4 (= main_~dev2~0.base ~elem~0.base) .cse5 (= main_~dev2~0.offset ~elem~0.offset)))))) (or (not (= 0 |old(~guard_malloc_counter~0.offset)|)) (and .cse0 .cse1 .cse2) (not (= |old(~elem~0.offset)| 0)) (and (= 0 ~elem~0.offset) .cse3 (<= 1 ~guard_malloc_counter~0.offset)) (and .cse0 .cse3 .cse2)))) [2020-07-18 05:13:10,341 INFO L264 CegarLoopResult]: At program point L907(line 907) the Hoare annotation is: (or (not (= 0 |old(~guard_malloc_counter~0.offset)|)) (not (= |old(~elem~0.offset)| 0)) (and (<= 1 main_~dev1~0.offset) (<= main_~dev1~0.offset ~guard_malloc_counter~0.offset) (<= (+ main_~dev1~0.offset 1) main_~dev2~0.offset) (= |old(~elem~0.offset)| ~elem~0.offset) (= |old(~elem~0.base)| ~elem~0.base))) [2020-07-18 05:13:10,342 INFO L264 CegarLoopResult]: At program point L906(lines 906 915) the Hoare annotation is: (or (not (= 0 |old(~guard_malloc_counter~0.offset)|)) (and (= 0 main_~dev1~0.base) (= 0 main_~dev1~0.offset)) (and (= 0 main_~dev2~0.offset) (= 0 ~elem~0.offset) (= main_~dev2~0.base 0) (<= 1 ~guard_malloc_counter~0.offset)) (not (= |old(~elem~0.offset)| 0)) (and (<= 1 main_~dev1~0.offset) (<= main_~dev1~0.offset ~guard_malloc_counter~0.offset) (<= (+ main_~dev1~0.offset 1) main_~dev2~0.offset) (= |old(~elem~0.offset)| ~elem~0.offset) (= |old(~elem~0.base)| ~elem~0.base))) [2020-07-18 05:13:10,342 INFO L264 CegarLoopResult]: At program point L907-1(line 907) the Hoare annotation is: (let ((.cse0 (<= main_~dev1~0.offset ~guard_malloc_counter~0.offset)) (.cse1 (<= (+ main_~dev1~0.offset 1) main_~dev2~0.offset))) (or (not (= 0 |old(~guard_malloc_counter~0.offset)|)) (not (= |old(~elem~0.offset)| 0)) (and (= main_~dev2~0.base ~elem~0.base) .cse0 .cse1 (<= 2 main_~dev2~0.offset) (= main_~dev2~0.offset ~elem~0.offset) (<= 1 ~guard_malloc_counter~0.offset)) (and (<= 1 main_~dev1~0.offset) .cse0 .cse1 (= |old(~elem~0.offset)| ~elem~0.offset) (= |old(~elem~0.base)| ~elem~0.base)))) [2020-07-18 05:13:10,342 INFO L264 CegarLoopResult]: At program point L905(line 905) the Hoare annotation is: (or (not (= 0 |old(~guard_malloc_counter~0.offset)|)) (and (= 0 main_~dev1~0.base) (= 0 main_~dev1~0.offset)) (and (<= 1 main_~dev1~0.offset) (<= main_~dev1~0.offset ~guard_malloc_counter~0.offset) (= |old(~elem~0.offset)| ~elem~0.offset) (= |old(~elem~0.base)| ~elem~0.base)) (not (= |old(~elem~0.offset)| 0))) [2020-07-18 05:13:10,342 INFO L271 CegarLoopResult]: At program point L906-1(lines 906 915) the Hoare annotation is: true [2020-07-18 05:13:10,342 INFO L264 CegarLoopResult]: At program point L904(line 904) the Hoare annotation is: (or (not (= 0 |old(~guard_malloc_counter~0.offset)|)) (and (= |old(~elem~0.offset)| ~elem~0.offset) (= 0 ~guard_malloc_counter~0.offset) (= |old(~elem~0.base)| ~elem~0.base) (= ~guard_malloc_counter~0.base |old(~guard_malloc_counter~0.base)|)) (not (= |old(~elem~0.offset)| 0))) [2020-07-18 05:13:10,342 INFO L264 CegarLoopResult]: At program point L905-1(line 905) the Hoare annotation is: (or (not (= 0 |old(~guard_malloc_counter~0.offset)|)) (and (= 0 main_~dev1~0.base) (= 0 main_~dev1~0.offset)) (not (= |old(~elem~0.offset)| 0)) (and (= 0 ~elem~0.offset) (= 0 |main_#t~ret33.offset|) (= 0 |main_#t~ret33.base|) (<= 1 ~guard_malloc_counter~0.offset)) (and (<= 1 main_~dev1~0.offset) (<= main_~dev1~0.offset ~guard_malloc_counter~0.offset) (= |old(~elem~0.offset)| ~elem~0.offset) (<= (+ main_~dev1~0.offset 1) |main_#t~ret33.offset|) (= |old(~elem~0.base)| ~elem~0.base))) [2020-07-18 05:13:10,342 INFO L264 CegarLoopResult]: At program point L903(line 903) the Hoare annotation is: (or (not (= 0 |old(~guard_malloc_counter~0.offset)|)) (and (= |old(~elem~0.offset)| ~elem~0.offset) (= 0 ~guard_malloc_counter~0.offset) (= |old(~elem~0.base)| ~elem~0.base) (= ~guard_malloc_counter~0.base |old(~guard_malloc_counter~0.base)|)) (not (= |old(~elem~0.offset)| 0))) [2020-07-18 05:13:10,343 INFO L264 CegarLoopResult]: At program point L904-1(line 904) the Hoare annotation is: (or (not (= 0 |old(~guard_malloc_counter~0.offset)|)) (and (= |old(~elem~0.offset)| ~elem~0.offset) (<= |main_#t~ret32.offset| ~guard_malloc_counter~0.offset) (<= 1 |main_#t~ret32.offset|) (= |old(~elem~0.base)| ~elem~0.base)) (not (= |old(~elem~0.offset)| 0)) (and (= 0 |main_#t~ret32.base|) (= |main_#t~ret32.offset| 0))) [2020-07-18 05:13:10,343 INFO L264 CegarLoopResult]: At program point L905-2(line 905) the Hoare annotation is: (or (not (= 0 |old(~guard_malloc_counter~0.offset)|)) (let ((.cse0 (+ main_~dev1~0.offset 1))) (and (<= 1 main_~dev1~0.offset) (<= main_~dev1~0.offset ~guard_malloc_counter~0.offset) (<= .cse0 main_~dev2~0.offset) (= |old(~elem~0.offset)| ~elem~0.offset) (<= .cse0 |main_#t~ret33.offset|) (= |old(~elem~0.base)| ~elem~0.base))) (and (= 0 main_~dev1~0.base) (= 0 main_~dev1~0.offset)) (not (= |old(~elem~0.offset)| 0)) (and (= 0 main_~dev2~0.offset) (= 0 ~elem~0.offset) (= 0 |main_#t~ret33.offset|) (= 0 |main_#t~ret33.base|) (= main_~dev2~0.base 0) (<= 1 ~guard_malloc_counter~0.offset))) [2020-07-18 05:13:10,343 INFO L264 CegarLoopResult]: At program point L904-2(line 904) the Hoare annotation is: (or (not (= 0 |old(~guard_malloc_counter~0.offset)|)) (and (<= 1 main_~dev1~0.offset) (<= main_~dev1~0.offset ~guard_malloc_counter~0.offset) (= |old(~elem~0.offset)| ~elem~0.offset) (<= |main_#t~ret32.offset| ~guard_malloc_counter~0.offset) (<= 1 |main_#t~ret32.offset|) (= |old(~elem~0.base)| ~elem~0.base)) (not (= |old(~elem~0.offset)| 0)) (and (= 0 main_~dev1~0.base) (= 0 |main_#t~ret32.base|) (= 0 main_~dev1~0.offset) (= |main_#t~ret32.offset| 0))) [2020-07-18 05:13:10,343 INFO L264 CegarLoopResult]: At program point __getMemoryENTRY(lines 869 876) the Hoare annotation is: (or (and (= ~guard_malloc_counter~0.offset |old(~guard_malloc_counter~0.offset)|) (= ~guard_malloc_counter~0.base |old(~guard_malloc_counter~0.base)|)) (let ((.cse0 (not (= 8 |__getMemory_#in~size|))) (.cse1 (not (= 0 ~elem~0.offset)))) (and (or (not (= 0 |old(~guard_malloc_counter~0.offset)|)) .cse0 .cse1) (or .cse0 (not (<= 1 |old(~guard_malloc_counter~0.offset)|)) .cse1)))) [2020-07-18 05:13:10,343 INFO L264 CegarLoopResult]: At program point __getMemoryEXIT(lines 869 876) the Hoare annotation is: (let ((.cse1 (+ |old(~guard_malloc_counter~0.offset)| 1)) (.cse0 (= 8 __getMemory_~size))) (or (and (<= |__getMemory_#res.offset| ~guard_malloc_counter~0.offset) .cse0 (<= .cse1 |__getMemory_#res.offset|)) (let ((.cse2 (not (= 8 |__getMemory_#in~size|))) (.cse3 (not (= 0 ~elem~0.offset)))) (and (or (not (= 0 |old(~guard_malloc_counter~0.offset)|)) .cse2 .cse3) (or .cse2 (not (<= 1 |old(~guard_malloc_counter~0.offset)|)) .cse3))) (and (<= |__getMemory_#res.base| 0) (<= .cse1 ~guard_malloc_counter~0.offset) (<= |__getMemory_#res.offset| 0) .cse0 (<= 0 |__getMemory_#res.offset|) (<= 0 |__getMemory_#res.base|)))) [2020-07-18 05:13:10,343 INFO L264 CegarLoopResult]: At program point __getMemoryFINAL(lines 869 876) the Hoare annotation is: (let ((.cse1 (+ |old(~guard_malloc_counter~0.offset)| 1)) (.cse0 (= 8 __getMemory_~size))) (or (and (<= |__getMemory_#res.offset| ~guard_malloc_counter~0.offset) .cse0 (<= .cse1 |__getMemory_#res.offset|)) (let ((.cse2 (not (= 8 |__getMemory_#in~size|))) (.cse3 (not (= 0 ~elem~0.offset)))) (and (or (not (= 0 |old(~guard_malloc_counter~0.offset)|)) .cse2 .cse3) (or .cse2 (not (<= 1 |old(~guard_malloc_counter~0.offset)|)) .cse3))) (and (<= |__getMemory_#res.base| 0) (<= .cse1 ~guard_malloc_counter~0.offset) (<= |__getMemory_#res.offset| 0) .cse0 (<= 0 |__getMemory_#res.offset|) (<= 0 |__getMemory_#res.base|)))) [2020-07-18 05:13:10,344 INFO L264 CegarLoopResult]: At program point L875(line 875) the Hoare annotation is: (or (let ((.cse0 (not (= 8 |__getMemory_#in~size|))) (.cse1 (not (= 0 ~elem~0.offset)))) (and (or (not (= 0 |old(~guard_malloc_counter~0.offset)|)) .cse0 .cse1) (or .cse0 (not (<= 1 |old(~guard_malloc_counter~0.offset)|)) .cse1))) (and (<= (+ |old(~guard_malloc_counter~0.offset)| 1) ~guard_malloc_counter~0.offset) (= 8 __getMemory_~size))) [2020-07-18 05:13:10,344 INFO L264 CegarLoopResult]: At program point L874(line 874) the Hoare annotation is: (or (let ((.cse0 (not (= 8 |__getMemory_#in~size|))) (.cse1 (not (= 0 ~elem~0.offset)))) (and (or (not (= 0 |old(~guard_malloc_counter~0.offset)|)) .cse0 .cse1) (or .cse0 (not (<= 1 |old(~guard_malloc_counter~0.offset)|)) .cse1))) (and (<= (+ |old(~guard_malloc_counter~0.offset)| 1) ~guard_malloc_counter~0.offset) (= 8 __getMemory_~size))) [2020-07-18 05:13:10,344 INFO L264 CegarLoopResult]: At program point L873(line 873) the Hoare annotation is: (or (let ((.cse0 (not (= 8 |__getMemory_#in~size|))) (.cse1 (not (= 0 ~elem~0.offset)))) (and (or (not (= 0 |old(~guard_malloc_counter~0.offset)|)) .cse0 .cse1) (or .cse0 (not (<= 1 |old(~guard_malloc_counter~0.offset)|)) .cse1))) (and (<= (+ |old(~guard_malloc_counter~0.offset)| 1) ~guard_malloc_counter~0.offset) (= 8 __getMemory_~size))) [2020-07-18 05:13:10,344 INFO L264 CegarLoopResult]: At program point L872(line 872) the Hoare annotation is: (or (and (= |old(~guard_malloc_counter~0.offset)| |__getMemory_#t~post28.offset|) (= 8 __getMemory_~size) (= ~guard_malloc_counter~0.offset |old(~guard_malloc_counter~0.offset)|) (= ~guard_malloc_counter~0.base |old(~guard_malloc_counter~0.base)|)) (let ((.cse0 (not (= 8 |__getMemory_#in~size|))) (.cse1 (not (= 0 ~elem~0.offset)))) (and (or (not (= 0 |old(~guard_malloc_counter~0.offset)|)) .cse0 .cse1) (or .cse0 (not (<= 1 |old(~guard_malloc_counter~0.offset)|)) .cse1)))) [2020-07-18 05:13:10,344 INFO L264 CegarLoopResult]: At program point L873-1(lines 873 874) the Hoare annotation is: (or (let ((.cse0 (not (= 8 |__getMemory_#in~size|))) (.cse1 (not (= 0 ~elem~0.offset)))) (and (or (not (= 0 |old(~guard_malloc_counter~0.offset)|)) .cse0 .cse1) (or .cse0 (not (<= 1 |old(~guard_malloc_counter~0.offset)|)) .cse1))) (and (<= (+ |old(~guard_malloc_counter~0.offset)| 1) ~guard_malloc_counter~0.offset) (= 8 __getMemory_~size))) [2020-07-18 05:13:10,344 INFO L264 CegarLoopResult]: At program point L871(line 871) the Hoare annotation is: (or (and (= 8 __getMemory_~size) (= ~guard_malloc_counter~0.offset |old(~guard_malloc_counter~0.offset)|) (= ~guard_malloc_counter~0.base |old(~guard_malloc_counter~0.base)|)) (let ((.cse0 (not (= 8 |__getMemory_#in~size|))) (.cse1 (not (= 0 ~elem~0.offset)))) (and (or (not (= 0 |old(~guard_malloc_counter~0.offset)|)) .cse0 .cse1) (or .cse0 (not (<= 1 |old(~guard_malloc_counter~0.offset)|)) .cse1)))) [2020-07-18 05:13:10,344 INFO L264 CegarLoopResult]: At program point L872-1(line 872) the Hoare annotation is: (or (and (<= (+ |old(~guard_malloc_counter~0.offset)| 1) ~guard_malloc_counter~0.offset) (= |old(~guard_malloc_counter~0.offset)| |__getMemory_#t~post28.offset|) (= 8 __getMemory_~size)) (let ((.cse0 (not (= 8 |__getMemory_#in~size|))) (.cse1 (not (= 0 ~elem~0.offset)))) (and (or (not (= 0 |old(~guard_malloc_counter~0.offset)|)) .cse0 .cse1) (or .cse0 (not (<= 1 |old(~guard_malloc_counter~0.offset)|)) .cse1)))) [2020-07-18 05:13:10,344 INFO L264 CegarLoopResult]: At program point L873-2(line 873) the Hoare annotation is: (or (let ((.cse0 (not (= 8 |__getMemory_#in~size|))) (.cse1 (not (= 0 ~elem~0.offset)))) (and (or (not (= 0 |old(~guard_malloc_counter~0.offset)|)) .cse0 .cse1) (or .cse0 (not (<= 1 |old(~guard_malloc_counter~0.offset)|)) .cse1))) (and (<= (+ |old(~guard_malloc_counter~0.offset)| 1) ~guard_malloc_counter~0.offset) (= 8 __getMemory_~size))) [2020-07-18 05:13:10,345 INFO L264 CegarLoopResult]: At program point L873-3(line 873) the Hoare annotation is: (or (let ((.cse0 (not (= 8 |__getMemory_#in~size|))) (.cse1 (not (= 0 ~elem~0.offset)))) (and (or (not (= 0 |old(~guard_malloc_counter~0.offset)|)) .cse0 .cse1) (or .cse0 (not (<= 1 |old(~guard_malloc_counter~0.offset)|)) .cse1))) (and (<= (+ |old(~guard_malloc_counter~0.offset)| 1) ~guard_malloc_counter~0.offset) (= 8 __getMemory_~size))) [2020-07-18 05:13:10,345 INFO L264 CegarLoopResult]: At program point L871-2(line 871) the Hoare annotation is: (let ((.cse0 (not (= 8 |__getMemory_#in~size|))) (.cse1 (not (= 0 ~elem~0.offset)))) (and (or (not (= 0 |old(~guard_malloc_counter~0.offset)|)) .cse0 .cse1) (or .cse0 (not (<= 1 |old(~guard_malloc_counter~0.offset)|)) .cse1))) [2020-07-18 05:13:10,345 INFO L264 CegarLoopResult]: At program point L871-3(line 871) the Hoare annotation is: (or (and (= 8 __getMemory_~size) (= ~guard_malloc_counter~0.offset |old(~guard_malloc_counter~0.offset)|) (= ~guard_malloc_counter~0.base |old(~guard_malloc_counter~0.base)|)) (let ((.cse0 (not (= 8 |__getMemory_#in~size|))) (.cse1 (not (= 0 ~elem~0.offset)))) (and (or (not (= 0 |old(~guard_malloc_counter~0.offset)|)) .cse0 .cse1) (or .cse0 (not (<= 1 |old(~guard_malloc_counter~0.offset)|)) .cse1)))) [2020-07-18 05:13:10,383 WARN L151 areAnnotationChecker]: Transition #101#return; from 6211#list_delEXITtrue to 6193#L909true not inductive [2020-07-18 05:13:10,443 INFO L163 areAnnotationChecker]: CFG has 79 edges. 78 inductive. 1 not inductive. 0 times theorem prover too weak to decide inductivity. 0 times interpolants missing. [2020-07-18 05:13:10,444 FATAL L? ?]: The Plugin de.uni_freiburg.informatik.ultimate.plugins.generator.traceabstraction has thrown an exception: java.lang.AssertionError: incorrect Hoare annotation at de.uni_freiburg.informatik.ultimate.plugins.generator.traceabstraction.TraceAbstractionStarter.createInvariantResults(TraceAbstractionStarter.java:242) at de.uni_freiburg.informatik.ultimate.plugins.generator.traceabstraction.TraceAbstractionStarter.runCegarLoops(TraceAbstractionStarter.java:217) at de.uni_freiburg.informatik.ultimate.plugins.generator.traceabstraction.TraceAbstractionStarter.(TraceAbstractionStarter.java:127) at de.uni_freiburg.informatik.ultimate.plugins.generator.traceabstraction.TraceAbstractionObserver.finish(TraceAbstractionObserver.java:120) at de.uni_freiburg.informatik.ultimate.core.coreplugin.PluginConnector.runObserver(PluginConnector.java:168) at de.uni_freiburg.informatik.ultimate.core.coreplugin.PluginConnector.runTool(PluginConnector.java:151) at de.uni_freiburg.informatik.ultimate.core.coreplugin.PluginConnector.run(PluginConnector.java:128) at de.uni_freiburg.informatik.ultimate.core.coreplugin.ToolchainWalker.executePluginConnector(ToolchainWalker.java:232) at de.uni_freiburg.informatik.ultimate.core.coreplugin.ToolchainWalker.processPlugin(ToolchainWalker.java:226) at de.uni_freiburg.informatik.ultimate.core.coreplugin.ToolchainWalker.walkUnprotected(ToolchainWalker.java:142) at de.uni_freiburg.informatik.ultimate.core.coreplugin.ToolchainWalker.walk(ToolchainWalker.java:104) at de.uni_freiburg.informatik.ultimate.core.coreplugin.ToolchainManager$Toolchain.processToolchain(ToolchainManager.java:317) at de.uni_freiburg.informatik.ultimate.core.coreplugin.toolchain.DefaultToolchainJob.run(DefaultToolchainJob.java:145) at org.eclipse.core.internal.jobs.Worker.run(Worker.java:55) [2020-07-18 05:13:10,448 INFO L168 Benchmark]: Toolchain (without parser) took 55882.22 ms. Allocated memory was 138.4 MB in the beginning and 578.3 MB in the end (delta: 439.9 MB). Free memory was 101.1 MB in the beginning and 362.2 MB in the end (delta: -261.0 MB). Peak memory consumption was 178.8 MB. Max. memory is 7.1 GB. [2020-07-18 05:13:10,449 INFO L168 Benchmark]: CDTParser took 0.22 ms. Allocated memory is still 138.4 MB. Free memory was 120.6 MB in the beginning and 120.3 MB in the end (delta: 210.1 kB). Peak memory consumption was 210.1 kB. Max. memory is 7.1 GB. [2020-07-18 05:13:10,449 INFO L168 Benchmark]: CACSL2BoogieTranslator took 683.41 ms. Allocated memory was 138.4 MB in the beginning and 202.9 MB in the end (delta: 64.5 MB). Free memory was 100.7 MB in the beginning and 167.4 MB in the end (delta: -66.7 MB). Peak memory consumption was 27.4 MB. Max. memory is 7.1 GB. [2020-07-18 05:13:10,450 INFO L168 Benchmark]: Boogie Preprocessor took 64.82 ms. Allocated memory is still 202.9 MB. Free memory was 167.4 MB in the beginning and 164.1 MB in the end (delta: 3.3 MB). Peak memory consumption was 3.3 MB. Max. memory is 7.1 GB. [2020-07-18 05:13:10,450 INFO L168 Benchmark]: RCFGBuilder took 929.84 ms. Allocated memory is still 202.9 MB. Free memory was 164.1 MB in the beginning and 106.2 MB in the end (delta: 57.8 MB). Peak memory consumption was 57.8 MB. Max. memory is 7.1 GB. [2020-07-18 05:13:10,451 INFO L168 Benchmark]: TraceAbstraction took 54198.08 ms. Allocated memory was 202.9 MB in the beginning and 578.3 MB in the end (delta: 375.4 MB). Free memory was 105.5 MB in the beginning and 362.2 MB in the end (delta: -256.6 MB). Peak memory consumption was 118.8 MB. Max. memory is 7.1 GB. [2020-07-18 05:13:10,454 INFO L336 ainManager$Toolchain]: ####################### End [Toolchain 1] ####################### --- Results --- * Results from de.uni_freiburg.informatik.ultimate.core: - AssertionsEnabledResult: Assertions are enabled Assertions are enabled - StatisticsResult: Toolchain Benchmarks Benchmark results are: * CDTParser took 0.22 ms. Allocated memory is still 138.4 MB. Free memory was 120.6 MB in the beginning and 120.3 MB in the end (delta: 210.1 kB). Peak memory consumption was 210.1 kB. Max. memory is 7.1 GB. * CACSL2BoogieTranslator took 683.41 ms. Allocated memory was 138.4 MB in the beginning and 202.9 MB in the end (delta: 64.5 MB). Free memory was 100.7 MB in the beginning and 167.4 MB in the end (delta: -66.7 MB). Peak memory consumption was 27.4 MB. Max. memory is 7.1 GB. * Boogie Preprocessor took 64.82 ms. Allocated memory is still 202.9 MB. Free memory was 167.4 MB in the beginning and 164.1 MB in the end (delta: 3.3 MB). Peak memory consumption was 3.3 MB. Max. memory is 7.1 GB. * RCFGBuilder took 929.84 ms. Allocated memory is still 202.9 MB. Free memory was 164.1 MB in the beginning and 106.2 MB in the end (delta: 57.8 MB). Peak memory consumption was 57.8 MB. Max. memory is 7.1 GB. * TraceAbstraction took 54198.08 ms. Allocated memory was 202.9 MB in the beginning and 578.3 MB in the end (delta: 375.4 MB). Free memory was 105.5 MB in the beginning and 362.2 MB in the end (delta: -256.6 MB). Peak memory consumption was 118.8 MB. Max. memory is 7.1 GB. * Results from de.uni_freiburg.informatik.ultimate.plugins.generator.traceabstraction: - PositiveResult [Line: 6]: call of __VERIFIER_error() unreachable For all program executions holds that call of __VERIFIER_error() unreachable at this location - AllSpecificationsHoldResult: All specifications hold 1 specifications checked. All of them hold - ExceptionOrErrorResult: AssertionError: incorrect Hoare annotation de.uni_freiburg.informatik.ultimate.plugins.generator.traceabstraction: AssertionError: incorrect Hoare annotation: de.uni_freiburg.informatik.ultimate.plugins.generator.traceabstraction.TraceAbstractionStarter.createInvariantResults(TraceAbstractionStarter.java:242) RESULT: Ultimate could not prove your program: Toolchain returned no result. Received shutdown request...