/usr/bin/java -ea -Xmx8000000000 -Xss4m -jar ./plugins/org.eclipse.equinox.launcher_1.3.100.v20150511-1540.jar -data @noDefault -ultimatedata ./data -tc ../../../trunk/examples/toolchains/AutomizerC.xml -s ../../../trunk/examples/settings/automizer/acceleratedInterpolation/acceleratedInterpolationFastUPR_32.epf -i ../../../trunk/examples/svcomp/ldv-regression/rule60_list2.c_1.i -------------------------------------------------------------------------------- This is Ultimate 0.1.25-267fbe0 [2020-07-18 00:21:06,563 INFO L177 SettingsManager]: Resetting all preferences to default values... [2020-07-18 00:21:06,565 INFO L181 SettingsManager]: Resetting UltimateCore preferences to default values [2020-07-18 00:21:06,578 INFO L184 SettingsManager]: Ultimate Commandline Interface provides no preferences, ignoring... [2020-07-18 00:21:06,579 INFO L181 SettingsManager]: Resetting Boogie Preprocessor preferences to default values [2020-07-18 00:21:06,580 INFO L181 SettingsManager]: Resetting Boogie Procedure Inliner preferences to default values [2020-07-18 00:21:06,581 INFO L181 SettingsManager]: Resetting Abstract Interpretation preferences to default values [2020-07-18 00:21:06,583 INFO L181 SettingsManager]: Resetting LassoRanker preferences to default values [2020-07-18 00:21:06,585 INFO L181 SettingsManager]: Resetting Reaching Definitions preferences to default values [2020-07-18 00:21:06,586 INFO L181 SettingsManager]: Resetting SyntaxChecker preferences to default values [2020-07-18 00:21:06,587 INFO L181 SettingsManager]: Resetting Sifa preferences to default values [2020-07-18 00:21:06,588 INFO L184 SettingsManager]: Büchi Program Product provides no preferences, ignoring... [2020-07-18 00:21:06,588 INFO L181 SettingsManager]: Resetting LTL2Aut preferences to default values [2020-07-18 00:21:06,589 INFO L181 SettingsManager]: Resetting PEA to Boogie preferences to default values [2020-07-18 00:21:06,590 INFO L181 SettingsManager]: Resetting BlockEncodingV2 preferences to default values [2020-07-18 00:21:06,592 INFO L181 SettingsManager]: Resetting ChcToBoogie preferences to default values [2020-07-18 00:21:06,592 INFO L181 SettingsManager]: Resetting AutomataScriptInterpreter preferences to default values [2020-07-18 00:21:06,593 INFO L181 SettingsManager]: Resetting BuchiAutomizer preferences to default values [2020-07-18 00:21:06,595 INFO L181 SettingsManager]: Resetting CACSL2BoogieTranslator preferences to default values [2020-07-18 00:21:06,597 INFO L181 SettingsManager]: Resetting CodeCheck preferences to default values [2020-07-18 00:21:06,598 INFO L181 SettingsManager]: Resetting InvariantSynthesis preferences to default values [2020-07-18 00:21:06,599 INFO L181 SettingsManager]: Resetting RCFGBuilder preferences to default values [2020-07-18 00:21:06,601 INFO L181 SettingsManager]: Resetting Referee preferences to default values [2020-07-18 00:21:06,602 INFO L181 SettingsManager]: Resetting TraceAbstraction preferences to default values [2020-07-18 00:21:06,604 INFO L184 SettingsManager]: TraceAbstractionConcurrent provides no preferences, ignoring... [2020-07-18 00:21:06,604 INFO L184 SettingsManager]: TraceAbstractionWithAFAs provides no preferences, ignoring... [2020-07-18 00:21:06,604 INFO L181 SettingsManager]: Resetting TreeAutomizer preferences to default values [2020-07-18 00:21:06,605 INFO L181 SettingsManager]: Resetting IcfgToChc preferences to default values [2020-07-18 00:21:06,606 INFO L181 SettingsManager]: Resetting IcfgTransformer preferences to default values [2020-07-18 00:21:06,607 INFO L184 SettingsManager]: ReqToTest provides no preferences, ignoring... [2020-07-18 00:21:06,607 INFO L181 SettingsManager]: Resetting Boogie Printer preferences to default values [2020-07-18 00:21:06,608 INFO L181 SettingsManager]: Resetting ChcSmtPrinter preferences to default values [2020-07-18 00:21:06,609 INFO L181 SettingsManager]: Resetting ReqPrinter preferences to default values [2020-07-18 00:21:06,609 INFO L181 SettingsManager]: Resetting Witness Printer preferences to default values [2020-07-18 00:21:06,610 INFO L184 SettingsManager]: Boogie PL CUP Parser provides no preferences, ignoring... [2020-07-18 00:21:06,611 INFO L181 SettingsManager]: Resetting CDTParser preferences to default values [2020-07-18 00:21:06,611 INFO L184 SettingsManager]: AutomataScriptParser provides no preferences, ignoring... [2020-07-18 00:21:06,612 INFO L184 SettingsManager]: ReqParser provides no preferences, ignoring... [2020-07-18 00:21:06,612 INFO L181 SettingsManager]: Resetting SmtParser preferences to default values [2020-07-18 00:21:06,613 INFO L181 SettingsManager]: Resetting Witness Parser preferences to default values [2020-07-18 00:21:06,613 INFO L188 SettingsManager]: Finished resetting all preferences to default values... [2020-07-18 00:21:06,614 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 00:21:06,632 INFO L113 SettingsManager]: Loading preferences was successful [2020-07-18 00:21:06,632 INFO L115 SettingsManager]: Preferences different from defaults after loading the file: [2020-07-18 00:21:06,634 INFO L136 SettingsManager]: Preferences of CACSL2BoogieTranslator differ from their defaults: [2020-07-18 00:21:06,634 INFO L138 SettingsManager]: * sizeof long=4 [2020-07-18 00:21:06,634 INFO L138 SettingsManager]: * Overapproximate operations on floating types=true [2020-07-18 00:21:06,634 INFO L138 SettingsManager]: * sizeof POINTER=4 [2020-07-18 00:21:06,634 INFO L138 SettingsManager]: * Check division by zero=IGNORE [2020-07-18 00:21:06,635 INFO L138 SettingsManager]: * Pointer to allocated memory at dereference=IGNORE [2020-07-18 00:21:06,635 INFO L138 SettingsManager]: * If two pointers are subtracted or compared they have the same base address=IGNORE [2020-07-18 00:21:06,635 INFO L138 SettingsManager]: * Check array bounds for arrays that are off heap=IGNORE [2020-07-18 00:21:06,636 INFO L138 SettingsManager]: * sizeof long double=12 [2020-07-18 00:21:06,636 INFO L138 SettingsManager]: * Check if freed pointer was valid=false [2020-07-18 00:21:06,636 INFO L138 SettingsManager]: * Use constant arrays=true [2020-07-18 00:21:06,636 INFO L138 SettingsManager]: * Pointer base address is valid at dereference=IGNORE [2020-07-18 00:21:06,637 INFO L136 SettingsManager]: Preferences of RCFGBuilder differ from their defaults: [2020-07-18 00:21:06,637 INFO L138 SettingsManager]: * Size of a code block=SingleStatement [2020-07-18 00:21:06,637 INFO L138 SettingsManager]: * To the following directory=./dump/ [2020-07-18 00:21:06,638 INFO L138 SettingsManager]: * SMT solver=External_DefaultMode [2020-07-18 00:21:06,638 INFO L138 SettingsManager]: * Command for external solver=z3 SMTLIB2_COMPLIANT=true -memory:2024 -smt2 -in -t:2000 [2020-07-18 00:21:06,639 INFO L136 SettingsManager]: Preferences of TraceAbstraction differ from their defaults: [2020-07-18 00:21:06,639 INFO L138 SettingsManager]: * Compute Interpolants along a Counterexample=AcceleratedInterpolation [2020-07-18 00:21:06,639 INFO L138 SettingsManager]: * Compute Hoare Annotation of negated interpolant automaton, abstraction and CFG=true [2020-07-18 00:21:06,639 INFO L138 SettingsManager]: * Use separate solver for trace checks=false [2020-07-18 00:21:06,949 INFO L81 nceAwareModelManager]: Repository-Root is: /tmp [2020-07-18 00:21:06,963 INFO L258 ainManager$Toolchain]: [Toolchain 1]: Applicable parser(s) successfully (re)initialized [2020-07-18 00:21:06,967 INFO L214 ainManager$Toolchain]: [Toolchain 1]: Toolchain selected. [2020-07-18 00:21:06,968 INFO L271 PluginConnector]: Initializing CDTParser... [2020-07-18 00:21:06,969 INFO L275 PluginConnector]: CDTParser initialized [2020-07-18 00:21:06,970 INFO L429 ainManager$Toolchain]: [Toolchain 1]: Parsing single file: /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/../../../trunk/examples/svcomp/ldv-regression/rule60_list2.c_1.i [2020-07-18 00:21:07,035 INFO L220 CDTParser]: Created temporary CDT project at /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/data/5215901b4/659c629ac8a448a9a2043aa87c1af2d3/FLAGe6d7bb19b [2020-07-18 00:21:07,497 INFO L306 CDTParser]: Found 1 translation units. [2020-07-18 00:21:07,497 INFO L160 CDTParser]: Scanning /storage/repos/ultimate/trunk/examples/svcomp/ldv-regression/rule60_list2.c_1.i [2020-07-18 00:21:07,508 INFO L349 CDTParser]: About to delete temporary CDT project at /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/data/5215901b4/659c629ac8a448a9a2043aa87c1af2d3/FLAGe6d7bb19b [2020-07-18 00:21:07,819 INFO L357 CDTParser]: Successfully deleted /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/data/5215901b4/659c629ac8a448a9a2043aa87c1af2d3 [2020-07-18 00:21:07,827 INFO L296 ainManager$Toolchain]: ####################### [Toolchain 1] ####################### [2020-07-18 00:21:07,831 INFO L131 ToolchainWalker]: Walking toolchain with 4 elements. [2020-07-18 00:21:07,832 INFO L113 PluginConnector]: ------------------------CACSL2BoogieTranslator---------------------------- [2020-07-18 00:21:07,832 INFO L271 PluginConnector]: Initializing CACSL2BoogieTranslator... [2020-07-18 00:21:07,836 INFO L275 PluginConnector]: CACSL2BoogieTranslator initialized [2020-07-18 00:21:07,838 INFO L185 PluginConnector]: Executing the observer ACSLObjectContainerObserver from plugin CACSL2BoogieTranslator for "CDTParser AST 18.07 12:21:07" (1/1) ... [2020-07-18 00:21:07,843 INFO L205 PluginConnector]: Invalid model from CACSL2BoogieTranslator for observer de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator.ACSLObjectContainerObserver@880f6aa and model type de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 18.07 12:21:07, skipping insertion in model container [2020-07-18 00:21:07,843 INFO L185 PluginConnector]: Executing the observer CACSL2BoogieTranslatorObserver from plugin CACSL2BoogieTranslator for "CDTParser AST 18.07 12:21:07" (1/1) ... [2020-07-18 00:21:07,853 INFO L145 MainTranslator]: Starting translation in SV-COMP mode [2020-07-18 00:21:07,891 INFO L178 MainTranslator]: Built tables and reachable declarations [2020-07-18 00:21:08,294 INFO L206 PostProcessor]: Analyzing one entry point: main [2020-07-18 00:21:08,305 INFO L203 MainTranslator]: Completed pre-run [2020-07-18 00:21:08,487 INFO L206 PostProcessor]: Analyzing one entry point: main [2020-07-18 00:21:08,554 INFO L208 MainTranslator]: Completed translation [2020-07-18 00:21:08,555 INFO L202 PluginConnector]: Adding new model de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 18.07 12:21:08 WrapperNode [2020-07-18 00:21:08,555 INFO L132 PluginConnector]: ------------------------ END CACSL2BoogieTranslator---------------------------- [2020-07-18 00:21:08,556 INFO L113 PluginConnector]: ------------------------Boogie Preprocessor---------------------------- [2020-07-18 00:21:08,556 INFO L271 PluginConnector]: Initializing Boogie Preprocessor... [2020-07-18 00:21:08,556 INFO L275 PluginConnector]: Boogie Preprocessor initialized [2020-07-18 00:21:08,571 INFO L185 PluginConnector]: Executing the observer EnsureBoogieModelObserver from plugin Boogie Preprocessor for "de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 18.07 12:21:08" (1/1) ... [2020-07-18 00:21:08,572 INFO L185 PluginConnector]: Executing the observer TypeChecker from plugin Boogie Preprocessor for "de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 18.07 12:21:08" (1/1) ... [2020-07-18 00:21:08,587 INFO L185 PluginConnector]: Executing the observer ConstExpander from plugin Boogie Preprocessor for "de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 18.07 12:21:08" (1/1) ... [2020-07-18 00:21:08,588 INFO L185 PluginConnector]: Executing the observer StructExpander from plugin Boogie Preprocessor for "de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 18.07 12:21:08" (1/1) ... [2020-07-18 00:21:08,609 INFO L185 PluginConnector]: Executing the observer UnstructureCode from plugin Boogie Preprocessor for "de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 18.07 12:21:08" (1/1) ... [2020-07-18 00:21:08,611 INFO L185 PluginConnector]: Executing the observer FunctionInliner from plugin Boogie Preprocessor for "de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 18.07 12:21:08" (1/1) ... [2020-07-18 00:21:08,615 INFO L185 PluginConnector]: Executing the observer BoogieSymbolTableConstructor from plugin Boogie Preprocessor for "de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 18.07 12:21:08" (1/1) ... [2020-07-18 00:21:08,622 INFO L132 PluginConnector]: ------------------------ END Boogie Preprocessor---------------------------- [2020-07-18 00:21:08,623 INFO L113 PluginConnector]: ------------------------RCFGBuilder---------------------------- [2020-07-18 00:21:08,623 INFO L271 PluginConnector]: Initializing RCFGBuilder... [2020-07-18 00:21:08,623 INFO L275 PluginConnector]: RCFGBuilder initialized [2020-07-18 00:21:08,624 INFO L185 PluginConnector]: Executing the observer RCFGBuilderObserver from plugin RCFGBuilder for "de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 18.07 12:21:08" (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 00:21:08,704 INFO L138 BoogieDeclarations]: Found implementation of procedure ULTIMATE.init [2020-07-18 00:21:08,704 INFO L138 BoogieDeclarations]: Found implementation of procedure ULTIMATE.start [2020-07-18 00:21:08,705 INFO L138 BoogieDeclarations]: Found implementation of procedure __blast_assert [2020-07-18 00:21:08,705 INFO L138 BoogieDeclarations]: Found implementation of procedure __getMemory [2020-07-18 00:21:08,705 INFO L138 BoogieDeclarations]: Found implementation of procedure my_malloc [2020-07-18 00:21:08,705 INFO L138 BoogieDeclarations]: Found implementation of procedure list_add [2020-07-18 00:21:08,705 INFO L138 BoogieDeclarations]: Found implementation of procedure list_del [2020-07-18 00:21:08,705 INFO L138 BoogieDeclarations]: Found implementation of procedure main [2020-07-18 00:21:08,705 INFO L130 BoogieDeclarations]: Found specification of procedure __VERIFIER_error [2020-07-18 00:21:08,705 INFO L130 BoogieDeclarations]: Found specification of procedure __blast_assert [2020-07-18 00:21:08,706 INFO L130 BoogieDeclarations]: Found specification of procedure __underflow [2020-07-18 00:21:08,706 INFO L130 BoogieDeclarations]: Found specification of procedure __uflow [2020-07-18 00:21:08,706 INFO L130 BoogieDeclarations]: Found specification of procedure __overflow [2020-07-18 00:21:08,706 INFO L130 BoogieDeclarations]: Found specification of procedure _IO_getc [2020-07-18 00:21:08,706 INFO L130 BoogieDeclarations]: Found specification of procedure _IO_putc [2020-07-18 00:21:08,706 INFO L130 BoogieDeclarations]: Found specification of procedure _IO_feof [2020-07-18 00:21:08,707 INFO L130 BoogieDeclarations]: Found specification of procedure _IO_ferror [2020-07-18 00:21:08,707 INFO L130 BoogieDeclarations]: Found specification of procedure _IO_peekc_locked [2020-07-18 00:21:08,707 INFO L130 BoogieDeclarations]: Found specification of procedure _IO_flockfile [2020-07-18 00:21:08,707 INFO L130 BoogieDeclarations]: Found specification of procedure _IO_funlockfile [2020-07-18 00:21:08,708 INFO L130 BoogieDeclarations]: Found specification of procedure _IO_ftrylockfile [2020-07-18 00:21:08,708 INFO L130 BoogieDeclarations]: Found specification of procedure _IO_vfscanf [2020-07-18 00:21:08,710 INFO L130 BoogieDeclarations]: Found specification of procedure _IO_vfprintf [2020-07-18 00:21:08,710 INFO L130 BoogieDeclarations]: Found specification of procedure _IO_padn [2020-07-18 00:21:08,710 INFO L130 BoogieDeclarations]: Found specification of procedure _IO_sgetn [2020-07-18 00:21:08,711 INFO L130 BoogieDeclarations]: Found specification of procedure _IO_seekoff [2020-07-18 00:21:08,711 INFO L130 BoogieDeclarations]: Found specification of procedure _IO_seekpos [2020-07-18 00:21:08,712 INFO L130 BoogieDeclarations]: Found specification of procedure _IO_free_backup_area [2020-07-18 00:21:08,712 INFO L130 BoogieDeclarations]: Found specification of procedure remove [2020-07-18 00:21:08,712 INFO L130 BoogieDeclarations]: Found specification of procedure rename [2020-07-18 00:21:08,712 INFO L130 BoogieDeclarations]: Found specification of procedure renameat [2020-07-18 00:21:08,712 INFO L130 BoogieDeclarations]: Found specification of procedure tmpfile [2020-07-18 00:21:08,712 INFO L130 BoogieDeclarations]: Found specification of procedure tmpnam [2020-07-18 00:21:08,713 INFO L130 BoogieDeclarations]: Found specification of procedure tmpnam_r [2020-07-18 00:21:08,714 INFO L130 BoogieDeclarations]: Found specification of procedure tempnam [2020-07-18 00:21:08,714 INFO L130 BoogieDeclarations]: Found specification of procedure fclose [2020-07-18 00:21:08,714 INFO L130 BoogieDeclarations]: Found specification of procedure fflush [2020-07-18 00:21:08,715 INFO L130 BoogieDeclarations]: Found specification of procedure fflush_unlocked [2020-07-18 00:21:08,715 INFO L130 BoogieDeclarations]: Found specification of procedure fopen [2020-07-18 00:21:08,715 INFO L130 BoogieDeclarations]: Found specification of procedure freopen [2020-07-18 00:21:08,715 INFO L130 BoogieDeclarations]: Found specification of procedure fdopen [2020-07-18 00:21:08,715 INFO L130 BoogieDeclarations]: Found specification of procedure fmemopen [2020-07-18 00:21:08,715 INFO L130 BoogieDeclarations]: Found specification of procedure open_memstream [2020-07-18 00:21:08,715 INFO L130 BoogieDeclarations]: Found specification of procedure setbuf [2020-07-18 00:21:08,716 INFO L130 BoogieDeclarations]: Found specification of procedure setvbuf [2020-07-18 00:21:08,716 INFO L130 BoogieDeclarations]: Found specification of procedure setbuffer [2020-07-18 00:21:08,716 INFO L130 BoogieDeclarations]: Found specification of procedure setlinebuf [2020-07-18 00:21:08,716 INFO L130 BoogieDeclarations]: Found specification of procedure fprintf [2020-07-18 00:21:08,716 INFO L130 BoogieDeclarations]: Found specification of procedure printf [2020-07-18 00:21:08,717 INFO L130 BoogieDeclarations]: Found specification of procedure sprintf [2020-07-18 00:21:08,717 INFO L130 BoogieDeclarations]: Found specification of procedure vfprintf [2020-07-18 00:21:08,718 INFO L130 BoogieDeclarations]: Found specification of procedure vprintf [2020-07-18 00:21:08,718 INFO L130 BoogieDeclarations]: Found specification of procedure vsprintf [2020-07-18 00:21:08,718 INFO L130 BoogieDeclarations]: Found specification of procedure snprintf [2020-07-18 00:21:08,718 INFO L130 BoogieDeclarations]: Found specification of procedure vsnprintf [2020-07-18 00:21:08,718 INFO L130 BoogieDeclarations]: Found specification of procedure vdprintf [2020-07-18 00:21:08,719 INFO L130 BoogieDeclarations]: Found specification of procedure dprintf [2020-07-18 00:21:08,719 INFO L130 BoogieDeclarations]: Found specification of procedure fscanf [2020-07-18 00:21:08,719 INFO L130 BoogieDeclarations]: Found specification of procedure scanf [2020-07-18 00:21:08,719 INFO L130 BoogieDeclarations]: Found specification of procedure sscanf [2020-07-18 00:21:08,719 INFO L130 BoogieDeclarations]: Found specification of procedure vfscanf [2020-07-18 00:21:08,719 INFO L130 BoogieDeclarations]: Found specification of procedure vscanf [2020-07-18 00:21:08,719 INFO L130 BoogieDeclarations]: Found specification of procedure vsscanf [2020-07-18 00:21:08,720 INFO L130 BoogieDeclarations]: Found specification of procedure fgetc [2020-07-18 00:21:08,720 INFO L130 BoogieDeclarations]: Found specification of procedure getc [2020-07-18 00:21:08,720 INFO L130 BoogieDeclarations]: Found specification of procedure getchar [2020-07-18 00:21:08,720 INFO L130 BoogieDeclarations]: Found specification of procedure getc_unlocked [2020-07-18 00:21:08,720 INFO L130 BoogieDeclarations]: Found specification of procedure getchar_unlocked [2020-07-18 00:21:08,720 INFO L130 BoogieDeclarations]: Found specification of procedure fgetc_unlocked [2020-07-18 00:21:08,720 INFO L130 BoogieDeclarations]: Found specification of procedure fputc [2020-07-18 00:21:08,720 INFO L130 BoogieDeclarations]: Found specification of procedure putc [2020-07-18 00:21:08,721 INFO L130 BoogieDeclarations]: Found specification of procedure putchar [2020-07-18 00:21:08,721 INFO L130 BoogieDeclarations]: Found specification of procedure fputc_unlocked [2020-07-18 00:21:08,721 INFO L130 BoogieDeclarations]: Found specification of procedure putc_unlocked [2020-07-18 00:21:08,721 INFO L130 BoogieDeclarations]: Found specification of procedure putchar_unlocked [2020-07-18 00:21:08,721 INFO L130 BoogieDeclarations]: Found specification of procedure getw [2020-07-18 00:21:08,721 INFO L130 BoogieDeclarations]: Found specification of procedure putw [2020-07-18 00:21:08,721 INFO L130 BoogieDeclarations]: Found specification of procedure fgets [2020-07-18 00:21:08,722 INFO L130 BoogieDeclarations]: Found specification of procedure gets [2020-07-18 00:21:08,722 INFO L130 BoogieDeclarations]: Found specification of procedure __getdelim [2020-07-18 00:21:08,722 INFO L130 BoogieDeclarations]: Found specification of procedure getdelim [2020-07-18 00:21:08,722 INFO L130 BoogieDeclarations]: Found specification of procedure getline [2020-07-18 00:21:08,722 INFO L130 BoogieDeclarations]: Found specification of procedure fputs [2020-07-18 00:21:08,722 INFO L130 BoogieDeclarations]: Found specification of procedure puts [2020-07-18 00:21:08,722 INFO L130 BoogieDeclarations]: Found specification of procedure ungetc [2020-07-18 00:21:08,723 INFO L130 BoogieDeclarations]: Found specification of procedure fread [2020-07-18 00:21:08,723 INFO L130 BoogieDeclarations]: Found specification of procedure fwrite [2020-07-18 00:21:08,723 INFO L130 BoogieDeclarations]: Found specification of procedure fread_unlocked [2020-07-18 00:21:08,723 INFO L130 BoogieDeclarations]: Found specification of procedure fwrite_unlocked [2020-07-18 00:21:08,723 INFO L130 BoogieDeclarations]: Found specification of procedure fseek [2020-07-18 00:21:08,723 INFO L130 BoogieDeclarations]: Found specification of procedure ftell [2020-07-18 00:21:08,723 INFO L130 BoogieDeclarations]: Found specification of procedure rewind [2020-07-18 00:21:08,723 INFO L130 BoogieDeclarations]: Found specification of procedure fseeko [2020-07-18 00:21:08,724 INFO L130 BoogieDeclarations]: Found specification of procedure ftello [2020-07-18 00:21:08,724 INFO L130 BoogieDeclarations]: Found specification of procedure fgetpos [2020-07-18 00:21:08,724 INFO L130 BoogieDeclarations]: Found specification of procedure fsetpos [2020-07-18 00:21:08,724 INFO L130 BoogieDeclarations]: Found specification of procedure clearerr [2020-07-18 00:21:08,724 INFO L130 BoogieDeclarations]: Found specification of procedure feof [2020-07-18 00:21:08,724 INFO L130 BoogieDeclarations]: Found specification of procedure ferror [2020-07-18 00:21:08,724 INFO L130 BoogieDeclarations]: Found specification of procedure clearerr_unlocked [2020-07-18 00:21:08,725 INFO L130 BoogieDeclarations]: Found specification of procedure feof_unlocked [2020-07-18 00:21:08,725 INFO L130 BoogieDeclarations]: Found specification of procedure ferror_unlocked [2020-07-18 00:21:08,725 INFO L130 BoogieDeclarations]: Found specification of procedure perror [2020-07-18 00:21:08,725 INFO L130 BoogieDeclarations]: Found specification of procedure fileno [2020-07-18 00:21:08,725 INFO L130 BoogieDeclarations]: Found specification of procedure fileno_unlocked [2020-07-18 00:21:08,725 INFO L130 BoogieDeclarations]: Found specification of procedure popen [2020-07-18 00:21:08,725 INFO L130 BoogieDeclarations]: Found specification of procedure pclose [2020-07-18 00:21:08,726 INFO L130 BoogieDeclarations]: Found specification of procedure ctermid [2020-07-18 00:21:08,726 INFO L130 BoogieDeclarations]: Found specification of procedure flockfile [2020-07-18 00:21:08,726 INFO L130 BoogieDeclarations]: Found specification of procedure ftrylockfile [2020-07-18 00:21:08,726 INFO L130 BoogieDeclarations]: Found specification of procedure funlockfile [2020-07-18 00:21:08,726 INFO L130 BoogieDeclarations]: Found specification of procedure malloc [2020-07-18 00:21:08,726 INFO L130 BoogieDeclarations]: Found specification of procedure calloc [2020-07-18 00:21:08,726 INFO L130 BoogieDeclarations]: Found specification of procedure realloc [2020-07-18 00:21:08,726 INFO L130 BoogieDeclarations]: Found specification of procedure free [2020-07-18 00:21:08,726 INFO L130 BoogieDeclarations]: Found specification of procedure cfree [2020-07-18 00:21:08,727 INFO L130 BoogieDeclarations]: Found specification of procedure memalign [2020-07-18 00:21:08,727 INFO L130 BoogieDeclarations]: Found specification of procedure valloc [2020-07-18 00:21:08,727 INFO L130 BoogieDeclarations]: Found specification of procedure pvalloc [2020-07-18 00:21:08,727 INFO L130 BoogieDeclarations]: Found specification of procedure __default_morecore [2020-07-18 00:21:08,727 INFO L130 BoogieDeclarations]: Found specification of procedure mallinfo [2020-07-18 00:21:08,727 INFO L130 BoogieDeclarations]: Found specification of procedure mallopt [2020-07-18 00:21:08,727 INFO L130 BoogieDeclarations]: Found specification of procedure malloc_trim [2020-07-18 00:21:08,728 INFO L130 BoogieDeclarations]: Found specification of procedure malloc_usable_size [2020-07-18 00:21:08,728 INFO L130 BoogieDeclarations]: Found specification of procedure malloc_stats [2020-07-18 00:21:08,728 INFO L130 BoogieDeclarations]: Found specification of procedure malloc_info [2020-07-18 00:21:08,729 INFO L130 BoogieDeclarations]: Found specification of procedure malloc_get_state [2020-07-18 00:21:08,729 INFO L130 BoogieDeclarations]: Found specification of procedure malloc_set_state [2020-07-18 00:21:08,729 INFO L130 BoogieDeclarations]: Found specification of procedure __malloc_check_init [2020-07-18 00:21:08,729 INFO L130 BoogieDeclarations]: Found specification of procedure __VERIFIER_nondet_int [2020-07-18 00:21:08,730 INFO L130 BoogieDeclarations]: Found specification of procedure __getMemory [2020-07-18 00:21:08,730 INFO L130 BoogieDeclarations]: Found specification of procedure my_malloc [2020-07-18 00:21:08,731 INFO L130 BoogieDeclarations]: Found specification of procedure list_add [2020-07-18 00:21:08,731 INFO L130 BoogieDeclarations]: Found specification of procedure list_del [2020-07-18 00:21:08,731 INFO L130 BoogieDeclarations]: Found specification of procedure main [2020-07-18 00:21:08,732 INFO L130 BoogieDeclarations]: Found specification of procedure ULTIMATE.init [2020-07-18 00:21:08,732 INFO L130 BoogieDeclarations]: Found specification of procedure #Ultimate.allocOnStack [2020-07-18 00:21:08,733 INFO L130 BoogieDeclarations]: Found specification of procedure write~init~$Pointer$ [2020-07-18 00:21:08,733 INFO L130 BoogieDeclarations]: Found specification of procedure ULTIMATE.start [2020-07-18 00:21:08,733 INFO L130 BoogieDeclarations]: Found specification of procedure write~$Pointer$ [2020-07-18 00:21:08,734 INFO L130 BoogieDeclarations]: Found specification of procedure read~$Pointer$ [2020-07-18 00:21:08,734 INFO L130 BoogieDeclarations]: Found specification of procedure ULTIMATE.dealloc [2020-07-18 00:21:09,404 INFO L290 CfgBuilder]: Using the 1 location(s) as analysis (start of procedure ULTIMATE.start) [2020-07-18 00:21:09,404 INFO L295 CfgBuilder]: Removed 0 assume(true) statements. [2020-07-18 00:21:09,408 INFO L202 PluginConnector]: Adding new model de.uni_freiburg.informatik.ultimate.plugins.generator.rcfgbuilder CFG 18.07 12:21:09 BoogieIcfgContainer [2020-07-18 00:21:09,409 INFO L132 PluginConnector]: ------------------------ END RCFGBuilder---------------------------- [2020-07-18 00:21:09,410 INFO L113 PluginConnector]: ------------------------TraceAbstraction---------------------------- [2020-07-18 00:21:09,410 INFO L271 PluginConnector]: Initializing TraceAbstraction... [2020-07-18 00:21:09,414 INFO L275 PluginConnector]: TraceAbstraction initialized [2020-07-18 00:21:09,414 INFO L185 PluginConnector]: Executing the observer TraceAbstractionObserver from plugin TraceAbstraction for "CDTParser AST 18.07 12:21:07" (1/3) ... [2020-07-18 00:21:09,415 INFO L205 PluginConnector]: Invalid model from TraceAbstraction for observer de.uni_freiburg.informatik.ultimate.plugins.generator.traceabstraction.TraceAbstractionObserver@3cbfb4b3 and model type de.uni_freiburg.informatik.ultimate.plugins.generator.traceabstraction AST 18.07 12:21:09, skipping insertion in model container [2020-07-18 00:21:09,416 INFO L185 PluginConnector]: Executing the observer TraceAbstractionObserver from plugin TraceAbstraction for "de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 18.07 12:21:08" (2/3) ... [2020-07-18 00:21:09,416 INFO L205 PluginConnector]: Invalid model from TraceAbstraction for observer de.uni_freiburg.informatik.ultimate.plugins.generator.traceabstraction.TraceAbstractionObserver@3cbfb4b3 and model type de.uni_freiburg.informatik.ultimate.plugins.generator.traceabstraction AST 18.07 12:21:09, skipping insertion in model container [2020-07-18 00:21:09,416 INFO L185 PluginConnector]: Executing the observer TraceAbstractionObserver from plugin TraceAbstraction for "de.uni_freiburg.informatik.ultimate.plugins.generator.rcfgbuilder CFG 18.07 12:21:09" (3/3) ... [2020-07-18 00:21:09,418 INFO L109 eAbstractionObserver]: Analyzing ICFG rule60_list2.c_1.i [2020-07-18 00:21:09,429 INFO L157 ceAbstractionStarter]: Automizer settings: Hoare:true NWA Interpolation:AcceleratedInterpolation Determinization: PREDICATE_ABSTRACTION [2020-07-18 00:21:09,438 INFO L169 ceAbstractionStarter]: Appying trace abstraction to program that has 1 error locations. [2020-07-18 00:21:09,453 INFO L251 AbstractCegarLoop]: Starting to check reachability of 1 error locations. [2020-07-18 00:21:09,477 INFO L375 AbstractCegarLoop]: Interprodecural is true [2020-07-18 00:21:09,478 INFO L376 AbstractCegarLoop]: Hoare is true [2020-07-18 00:21:09,478 INFO L377 AbstractCegarLoop]: Compute interpolants for AcceleratedInterpolation [2020-07-18 00:21:09,478 INFO L378 AbstractCegarLoop]: Backedges is STRAIGHT_LINE [2020-07-18 00:21:09,478 INFO L379 AbstractCegarLoop]: Determinization is PREDICATE_ABSTRACTION [2020-07-18 00:21:09,479 INFO L380 AbstractCegarLoop]: Difference is false [2020-07-18 00:21:09,479 INFO L381 AbstractCegarLoop]: Minimize is MINIMIZE_SEVPA [2020-07-18 00:21:09,479 INFO L385 AbstractCegarLoop]: ======== Iteration 0==of CEGAR loop == AllErrorsAtOnce======== [2020-07-18 00:21:09,496 INFO L276 IsEmpty]: Start isEmpty. Operand 71 states. [2020-07-18 00:21:09,507 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 22 [2020-07-18 00:21:09,508 INFO L414 BasicCegarLoop]: Found error trace [2020-07-18 00:21:09,509 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 00:21:09,509 INFO L427 AbstractCegarLoop]: === Iteration 1 === [__blast_assertErr0ASSERT_VIOLATIONERROR_FUNCTION]=== [2020-07-18 00:21:09,516 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2020-07-18 00:21:09,516 INFO L82 PathProgramCache]: Analyzing trace with hash 1490968618, now seen corresponding path program 1 times [2020-07-18 00:21:09,526 INFO L163 FreeRefinementEngine]: Executing refinement strategy FIXED_PREFERENCES [2020-07-18 00:21:09,527 INFO L354 FreeRefinementEngine]: Using trace check IpTcStrategyModulePreferences [159872638] [2020-07-18 00:21:09,527 INFO L94 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2020-07-18 00:21:09,685 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2020-07-18 00:21:09,897 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2020-07-18 00:21:09,922 INFO L280 TraceCheckUtils]: 0: Hoare triple {90#(and (= |#valid| |old(#valid)|) (= ~elem~0.base |old(~elem~0.base)|) (= |#NULL.base| |old(#NULL.base)|) (= |~#head~0.base| |old(~#head~0.base)|) (= ~guard_malloc_counter~0.offset |old(~guard_malloc_counter~0.offset)|) (= |#NULL.offset| |old(#NULL.offset)|) (= ~elem~0.offset |old(~elem~0.offset)|) (= |old(#length)| |#length|) (= |~#head~0.offset| |old(~#head~0.offset)|) (= ~guard_malloc_counter~0.base |old(~guard_malloc_counter~0.base)|))} #NULL.base, #NULL.offset := 0, 0; {74#true} is VALID [2020-07-18 00:21:09,922 INFO L280 TraceCheckUtils]: 1: Hoare triple {74#true} #valid := #valid[0 := 0]; {74#true} is VALID [2020-07-18 00:21:09,923 INFO L280 TraceCheckUtils]: 2: Hoare triple {74#true} assume 0 < #StackHeapBarrier; {74#true} is VALID [2020-07-18 00:21:09,923 INFO L280 TraceCheckUtils]: 3: Hoare triple {74#true} ~guard_malloc_counter~0.base, ~guard_malloc_counter~0.offset := 0, 0; {74#true} is VALID [2020-07-18 00:21:09,924 INFO L280 TraceCheckUtils]: 4: Hoare triple {74#true} ~elem~0.base, ~elem~0.offset := 0, 0; {74#true} is VALID [2020-07-18 00:21:09,924 INFO L280 TraceCheckUtils]: 5: Hoare triple {74#true} SUMMARY for call ~#head~0.base, ~#head~0.offset := #Ultimate.allocOnStack(8); srcloc: L900 {74#true} is VALID [2020-07-18 00:21:09,925 INFO L280 TraceCheckUtils]: 6: Hoare triple {74#true} SUMMARY for call write~init~$Pointer$(0, 0, ~#head~0.base, ~#head~0.offset, 4); srcloc: L900-1 {74#true} is VALID [2020-07-18 00:21:09,925 INFO L280 TraceCheckUtils]: 7: Hoare triple {74#true} SUMMARY for call write~init~$Pointer$(0, 0, ~#head~0.base, 4 + ~#head~0.offset, 4); srcloc: L900-2 {74#true} is VALID [2020-07-18 00:21:09,925 INFO L280 TraceCheckUtils]: 8: Hoare triple {74#true} assume true; {74#true} is VALID [2020-07-18 00:21:09,926 INFO L275 TraceCheckUtils]: 9: Hoare quadruple {74#true} {74#true} #112#return; {74#true} is VALID [2020-07-18 00:21:09,932 INFO L263 TraceCheckUtils]: 0: Hoare triple {74#true} call ULTIMATE.init(); {90#(and (= |#valid| |old(#valid)|) (= ~elem~0.base |old(~elem~0.base)|) (= |#NULL.base| |old(#NULL.base)|) (= |~#head~0.base| |old(~#head~0.base)|) (= ~guard_malloc_counter~0.offset |old(~guard_malloc_counter~0.offset)|) (= |#NULL.offset| |old(#NULL.offset)|) (= ~elem~0.offset |old(~elem~0.offset)|) (= |old(#length)| |#length|) (= |~#head~0.offset| |old(~#head~0.offset)|) (= ~guard_malloc_counter~0.base |old(~guard_malloc_counter~0.base)|))} is VALID [2020-07-18 00:21:09,932 INFO L280 TraceCheckUtils]: 1: Hoare triple {90#(and (= |#valid| |old(#valid)|) (= ~elem~0.base |old(~elem~0.base)|) (= |#NULL.base| |old(#NULL.base)|) (= |~#head~0.base| |old(~#head~0.base)|) (= ~guard_malloc_counter~0.offset |old(~guard_malloc_counter~0.offset)|) (= |#NULL.offset| |old(#NULL.offset)|) (= ~elem~0.offset |old(~elem~0.offset)|) (= |old(#length)| |#length|) (= |~#head~0.offset| |old(~#head~0.offset)|) (= ~guard_malloc_counter~0.base |old(~guard_malloc_counter~0.base)|))} #NULL.base, #NULL.offset := 0, 0; {74#true} is VALID [2020-07-18 00:21:09,932 INFO L280 TraceCheckUtils]: 2: Hoare triple {74#true} #valid := #valid[0 := 0]; {74#true} is VALID [2020-07-18 00:21:09,933 INFO L280 TraceCheckUtils]: 3: Hoare triple {74#true} assume 0 < #StackHeapBarrier; {74#true} is VALID [2020-07-18 00:21:09,933 INFO L280 TraceCheckUtils]: 4: Hoare triple {74#true} ~guard_malloc_counter~0.base, ~guard_malloc_counter~0.offset := 0, 0; {74#true} is VALID [2020-07-18 00:21:09,933 INFO L280 TraceCheckUtils]: 5: Hoare triple {74#true} ~elem~0.base, ~elem~0.offset := 0, 0; {74#true} is VALID [2020-07-18 00:21:09,934 INFO L280 TraceCheckUtils]: 6: Hoare triple {74#true} SUMMARY for call ~#head~0.base, ~#head~0.offset := #Ultimate.allocOnStack(8); srcloc: L900 {74#true} is VALID [2020-07-18 00:21:09,934 INFO L280 TraceCheckUtils]: 7: Hoare triple {74#true} SUMMARY for call write~init~$Pointer$(0, 0, ~#head~0.base, ~#head~0.offset, 4); srcloc: L900-1 {74#true} is VALID [2020-07-18 00:21:09,934 INFO L280 TraceCheckUtils]: 8: Hoare triple {74#true} SUMMARY for call write~init~$Pointer$(0, 0, ~#head~0.base, 4 + ~#head~0.offset, 4); srcloc: L900-2 {74#true} is VALID [2020-07-18 00:21:09,935 INFO L280 TraceCheckUtils]: 9: Hoare triple {74#true} assume true; {74#true} is VALID [2020-07-18 00:21:09,935 INFO L275 TraceCheckUtils]: 10: Hoare quadruple {74#true} {74#true} #112#return; {74#true} is VALID [2020-07-18 00:21:09,936 INFO L263 TraceCheckUtils]: 11: Hoare triple {74#true} call #t~ret34 := main(); {74#true} is VALID [2020-07-18 00:21:09,936 INFO L280 TraceCheckUtils]: 12: Hoare triple {74#true} havoc ~dev1~0.base, ~dev1~0.offset; {74#true} is VALID [2020-07-18 00:21:09,936 INFO L280 TraceCheckUtils]: 13: Hoare triple {74#true} havoc ~dev2~0.base, ~dev2~0.offset; {74#true} is VALID [2020-07-18 00:21:09,941 INFO L263 TraceCheckUtils]: 14: Hoare triple {74#true} call #t~ret32.base, #t~ret32.offset := my_malloc(8); {86#(= 8 |my_malloc_#in~size|)} is VALID [2020-07-18 00:21:09,942 INFO L280 TraceCheckUtils]: 15: Hoare triple {86#(= 8 |my_malloc_#in~size|)} ~size := #in~size; {87#(= 8 my_malloc_~size)} is VALID [2020-07-18 00:21:09,943 INFO L263 TraceCheckUtils]: 16: Hoare triple {87#(= 8 my_malloc_~size)} call #t~ret30.base, #t~ret30.offset := __getMemory(~size); {88#(= 8 |__getMemory_#in~size|)} is VALID [2020-07-18 00:21:09,945 INFO L280 TraceCheckUtils]: 17: Hoare triple {88#(= 8 |__getMemory_#in~size|)} ~size := #in~size; {89#(= 8 __getMemory_~size)} is VALID [2020-07-18 00:21:09,946 INFO L280 TraceCheckUtils]: 18: Hoare triple {89#(= 8 __getMemory_~size)} assume !(~size > 0); {75#false} is VALID [2020-07-18 00:21:09,946 INFO L263 TraceCheckUtils]: 19: Hoare triple {75#false} call __blast_assert(); {75#false} is VALID [2020-07-18 00:21:09,947 INFO L280 TraceCheckUtils]: 20: Hoare triple {75#false} assume !false; {75#false} is VALID [2020-07-18 00:21:09,950 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 00:21:09,956 INFO L192 leratedInterpolation]: Finished Analysing Program using PRECISE loop Acceleration [2020-07-18 00:21:09,959 INFO L354 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModulePreferences [159872638] [2020-07-18 00:21:09,961 INFO L220 FreeRefinementEngine]: Constructing automaton from 1 perfect and 0 imperfect interpolant sequences. [2020-07-18 00:21:09,961 INFO L233 FreeRefinementEngine]: Number of different interpolants: perfect sequences [7] imperfect sequences [] total 7 [2020-07-18 00:21:09,962 INFO L156 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [944980864] [2020-07-18 00:21:09,968 INFO L78 Accepts]: Start accepts. Automaton has 7 states. Word has length 21 [2020-07-18 00:21:09,971 INFO L84 Accepts]: Finished accepts. word is accepted. [2020-07-18 00:21:09,976 INFO L86 InductivityCheck]: Starting indutivity check of a Floyd-Hoare automaton with 7 states. [2020-07-18 00:21:10,014 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 00:21:10,014 INFO L459 AbstractCegarLoop]: Interpolant automaton has 7 states [2020-07-18 00:21:10,015 INFO L143 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy FIXED_PREFERENCES [2020-07-18 00:21:10,024 INFO L142 InterpolantAutomaton]: Constructing interpolant automaton starting with 7 interpolants. [2020-07-18 00:21:10,025 INFO L144 InterpolantAutomaton]: CoverageRelationStatistics Valid=11, Invalid=31, Unknown=0, NotChecked=0, Total=42 [2020-07-18 00:21:10,027 INFO L87 Difference]: Start difference. First operand 71 states. Second operand 7 states. [2020-07-18 00:21:11,345 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2020-07-18 00:21:11,346 INFO L93 Difference]: Finished difference Result 128 states and 157 transitions. [2020-07-18 00:21:11,346 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 9 states. [2020-07-18 00:21:11,346 INFO L78 Accepts]: Start accepts. Automaton has 7 states. Word has length 21 [2020-07-18 00:21:11,346 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2020-07-18 00:21:11,348 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 7 states. [2020-07-18 00:21:11,365 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 9 states to 9 states and 157 transitions. [2020-07-18 00:21:11,366 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 7 states. [2020-07-18 00:21:11,387 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 9 states to 9 states and 157 transitions. [2020-07-18 00:21:11,387 INFO L86 InductivityCheck]: Starting indutivity check of a Floyd-Hoare automaton with 9 states and 157 transitions. [2020-07-18 00:21:11,650 INFO L119 InductivityCheck]: Floyd-Hoare automaton has 157 edges. 157 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2020-07-18 00:21:11,678 INFO L225 Difference]: With dead ends: 128 [2020-07-18 00:21:11,678 INFO L226 Difference]: Without dead ends: 67 [2020-07-18 00:21:11,683 INFO L675 BasicCegarLoop]: 0 DeclaredPredicates, 16 GetRequests, 4 SyntacticMatches, 1 SemanticMatches, 11 ConstructedPredicates, 0 IntricatePredicates, 0 DeprecatedPredicates, 13 ImplicationChecksByTransitivity, 0.2s TimeCoverageRelationStatistics Valid=41, Invalid=115, Unknown=0, NotChecked=0, Total=156 [2020-07-18 00:21:11,702 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 67 states. [2020-07-18 00:21:11,884 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 67 to 63. [2020-07-18 00:21:11,885 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2020-07-18 00:21:11,885 INFO L82 GeneralOperation]: Start isEquivalent. First operand 67 states. Second operand 63 states. [2020-07-18 00:21:11,886 INFO L74 IsIncluded]: Start isIncluded. First operand 67 states. Second operand 63 states. [2020-07-18 00:21:11,886 INFO L87 Difference]: Start difference. First operand 67 states. Second operand 63 states. [2020-07-18 00:21:11,896 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2020-07-18 00:21:11,896 INFO L93 Difference]: Finished difference Result 67 states and 75 transitions. [2020-07-18 00:21:11,897 INFO L276 IsEmpty]: Start isEmpty. Operand 67 states and 75 transitions. [2020-07-18 00:21:11,898 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2020-07-18 00:21:11,898 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2020-07-18 00:21:11,899 INFO L74 IsIncluded]: Start isIncluded. First operand 63 states. Second operand 67 states. [2020-07-18 00:21:11,899 INFO L87 Difference]: Start difference. First operand 63 states. Second operand 67 states. [2020-07-18 00:21:11,906 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2020-07-18 00:21:11,906 INFO L93 Difference]: Finished difference Result 67 states and 75 transitions. [2020-07-18 00:21:11,907 INFO L276 IsEmpty]: Start isEmpty. Operand 67 states and 75 transitions. [2020-07-18 00:21:11,908 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2020-07-18 00:21:11,908 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2020-07-18 00:21:11,909 INFO L88 GeneralOperation]: Finished isEquivalent. [2020-07-18 00:21:11,909 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2020-07-18 00:21:11,909 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 63 states. [2020-07-18 00:21:11,914 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 63 states to 63 states and 69 transitions. [2020-07-18 00:21:11,916 INFO L78 Accepts]: Start accepts. Automaton has 63 states and 69 transitions. Word has length 21 [2020-07-18 00:21:11,916 INFO L84 Accepts]: Finished accepts. word is rejected. [2020-07-18 00:21:11,917 INFO L479 AbstractCegarLoop]: Abstraction has 63 states and 69 transitions. [2020-07-18 00:21:11,917 INFO L480 AbstractCegarLoop]: Interpolant automaton has 7 states. [2020-07-18 00:21:11,917 INFO L86 InductivityCheck]: Starting indutivity check of a Floyd-Hoare automaton with 63 states and 69 transitions. [2020-07-18 00:21:12,027 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 00:21:12,027 INFO L276 IsEmpty]: Start isEmpty. Operand 63 states and 69 transitions. [2020-07-18 00:21:12,030 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 62 [2020-07-18 00:21:12,030 INFO L414 BasicCegarLoop]: Found error trace [2020-07-18 00:21:12,031 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 00:21:12,031 WARN L516 AbstractCegarLoop]: Destroyed unattended storables created during the last iteration: SelfDestructingSolverStorable0 [2020-07-18 00:21:12,031 INFO L427 AbstractCegarLoop]: === Iteration 2 === [__blast_assertErr0ASSERT_VIOLATIONERROR_FUNCTION]=== [2020-07-18 00:21:12,032 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2020-07-18 00:21:12,032 INFO L82 PathProgramCache]: Analyzing trace with hash -114203518, now seen corresponding path program 1 times [2020-07-18 00:21:12,032 INFO L163 FreeRefinementEngine]: Executing refinement strategy FIXED_PREFERENCES [2020-07-18 00:21:12,032 INFO L354 FreeRefinementEngine]: Using trace check IpTcStrategyModulePreferences [2026433151] [2020-07-18 00:21:12,033 INFO L94 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2020-07-18 00:21:12,097 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2020-07-18 00:21:12,224 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2020-07-18 00:21:12,254 INFO L280 TraceCheckUtils]: 0: Hoare triple {669#(and (= |#valid| |old(#valid)|) (= ~elem~0.base |old(~elem~0.base)|) (= |#NULL.base| |old(#NULL.base)|) (= |~#head~0.base| |old(~#head~0.base)|) (= ~guard_malloc_counter~0.offset |old(~guard_malloc_counter~0.offset)|) (= |#NULL.offset| |old(#NULL.offset)|) (= ~elem~0.offset |old(~elem~0.offset)|) (= |old(#length)| |#length|) (= |~#head~0.offset| |old(~#head~0.offset)|) (= ~guard_malloc_counter~0.base |old(~guard_malloc_counter~0.base)|))} #NULL.base, #NULL.offset := 0, 0; {621#true} is VALID [2020-07-18 00:21:12,254 INFO L280 TraceCheckUtils]: 1: Hoare triple {621#true} #valid := #valid[0 := 0]; {621#true} is VALID [2020-07-18 00:21:12,254 INFO L280 TraceCheckUtils]: 2: Hoare triple {621#true} assume 0 < #StackHeapBarrier; {621#true} is VALID [2020-07-18 00:21:12,255 INFO L280 TraceCheckUtils]: 3: Hoare triple {621#true} ~guard_malloc_counter~0.base, ~guard_malloc_counter~0.offset := 0, 0; {621#true} is VALID [2020-07-18 00:21:12,255 INFO L280 TraceCheckUtils]: 4: Hoare triple {621#true} ~elem~0.base, ~elem~0.offset := 0, 0; {621#true} is VALID [2020-07-18 00:21:12,256 INFO L280 TraceCheckUtils]: 5: Hoare triple {621#true} SUMMARY for call ~#head~0.base, ~#head~0.offset := #Ultimate.allocOnStack(8); srcloc: L900 {621#true} is VALID [2020-07-18 00:21:12,256 INFO L280 TraceCheckUtils]: 6: Hoare triple {621#true} SUMMARY for call write~init~$Pointer$(0, 0, ~#head~0.base, ~#head~0.offset, 4); srcloc: L900-1 {621#true} is VALID [2020-07-18 00:21:12,256 INFO L280 TraceCheckUtils]: 7: Hoare triple {621#true} SUMMARY for call write~init~$Pointer$(0, 0, ~#head~0.base, 4 + ~#head~0.offset, 4); srcloc: L900-2 {621#true} is VALID [2020-07-18 00:21:12,257 INFO L280 TraceCheckUtils]: 8: Hoare triple {621#true} assume true; {621#true} is VALID [2020-07-18 00:21:12,257 INFO L275 TraceCheckUtils]: 9: Hoare quadruple {621#true} {621#true} #112#return; {621#true} is VALID [2020-07-18 00:21:12,298 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2020-07-18 00:21:12,401 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2020-07-18 00:21:12,456 INFO L280 TraceCheckUtils]: 0: Hoare triple {670#(and (= ~guard_malloc_counter~0.offset |old(~guard_malloc_counter~0.offset)|) (= ~guard_malloc_counter~0.base |old(~guard_malloc_counter~0.base)|))} ~size := #in~size; {621#true} is VALID [2020-07-18 00:21:12,456 INFO L280 TraceCheckUtils]: 1: Hoare triple {621#true} assume ~size > 0; {621#true} is VALID [2020-07-18 00:21:12,457 INFO L280 TraceCheckUtils]: 2: Hoare triple {621#true} #t~post28.base, #t~post28.offset := ~guard_malloc_counter~0.base, ~guard_malloc_counter~0.offset; {621#true} is VALID [2020-07-18 00:21:12,457 INFO L280 TraceCheckUtils]: 3: Hoare triple {621#true} ~guard_malloc_counter~0.base, ~guard_malloc_counter~0.offset := #t~post28.base, 1 + #t~post28.offset; {621#true} is VALID [2020-07-18 00:21:12,457 INFO L280 TraceCheckUtils]: 4: Hoare triple {621#true} havoc #t~post28.base, #t~post28.offset; {621#true} is VALID [2020-07-18 00:21:12,458 INFO L280 TraceCheckUtils]: 5: Hoare triple {621#true} assume -2147483648 <= #t~nondet29 && #t~nondet29 <= 2147483647; {621#true} is VALID [2020-07-18 00:21:12,458 INFO L280 TraceCheckUtils]: 6: Hoare triple {621#true} assume 0 == #t~nondet29; {621#true} is VALID [2020-07-18 00:21:12,458 INFO L280 TraceCheckUtils]: 7: Hoare triple {621#true} havoc #t~nondet29; {621#true} is VALID [2020-07-18 00:21:12,459 INFO L280 TraceCheckUtils]: 8: Hoare triple {621#true} #res.base, #res.offset := 0, 0; {684#(and (<= |__getMemory_#res.base| 0) (<= |__getMemory_#res.offset| 0) (<= 0 |__getMemory_#res.offset|) (<= 0 |__getMemory_#res.base|))} is VALID [2020-07-18 00:21:12,460 INFO L280 TraceCheckUtils]: 9: Hoare triple {684#(and (<= |__getMemory_#res.base| 0) (<= |__getMemory_#res.offset| 0) (<= 0 |__getMemory_#res.offset|) (<= 0 |__getMemory_#res.base|))} assume true; {684#(and (<= |__getMemory_#res.base| 0) (<= |__getMemory_#res.offset| 0) (<= 0 |__getMemory_#res.offset|) (<= 0 |__getMemory_#res.base|))} is VALID [2020-07-18 00:21:12,464 INFO L275 TraceCheckUtils]: 10: Hoare quadruple {684#(and (<= |__getMemory_#res.base| 0) (<= |__getMemory_#res.offset| 0) (<= 0 |__getMemory_#res.offset|) (<= 0 |__getMemory_#res.base|))} {621#true} #92#return; {682#(and (<= |my_malloc_#t~ret30.offset| 0) (<= 0 |my_malloc_#t~ret30.offset|) (<= 0 |my_malloc_#t~ret30.base|) (<= |my_malloc_#t~ret30.base| 0))} is VALID [2020-07-18 00:21:12,465 INFO L280 TraceCheckUtils]: 0: Hoare triple {670#(and (= ~guard_malloc_counter~0.offset |old(~guard_malloc_counter~0.offset)|) (= ~guard_malloc_counter~0.base |old(~guard_malloc_counter~0.base)|))} ~size := #in~size; {621#true} is VALID [2020-07-18 00:21:12,472 INFO L263 TraceCheckUtils]: 1: Hoare triple {621#true} call #t~ret30.base, #t~ret30.offset := __getMemory(~size); {670#(and (= ~guard_malloc_counter~0.offset |old(~guard_malloc_counter~0.offset)|) (= ~guard_malloc_counter~0.base |old(~guard_malloc_counter~0.base)|))} is VALID [2020-07-18 00:21:12,472 INFO L280 TraceCheckUtils]: 2: Hoare triple {670#(and (= ~guard_malloc_counter~0.offset |old(~guard_malloc_counter~0.offset)|) (= ~guard_malloc_counter~0.base |old(~guard_malloc_counter~0.base)|))} ~size := #in~size; {621#true} is VALID [2020-07-18 00:21:12,473 INFO L280 TraceCheckUtils]: 3: Hoare triple {621#true} assume ~size > 0; {621#true} is VALID [2020-07-18 00:21:12,473 INFO L280 TraceCheckUtils]: 4: Hoare triple {621#true} #t~post28.base, #t~post28.offset := ~guard_malloc_counter~0.base, ~guard_malloc_counter~0.offset; {621#true} is VALID [2020-07-18 00:21:12,473 INFO L280 TraceCheckUtils]: 5: Hoare triple {621#true} ~guard_malloc_counter~0.base, ~guard_malloc_counter~0.offset := #t~post28.base, 1 + #t~post28.offset; {621#true} is VALID [2020-07-18 00:21:12,474 INFO L280 TraceCheckUtils]: 6: Hoare triple {621#true} havoc #t~post28.base, #t~post28.offset; {621#true} is VALID [2020-07-18 00:21:12,474 INFO L280 TraceCheckUtils]: 7: Hoare triple {621#true} assume -2147483648 <= #t~nondet29 && #t~nondet29 <= 2147483647; {621#true} is VALID [2020-07-18 00:21:12,474 INFO L280 TraceCheckUtils]: 8: Hoare triple {621#true} assume 0 == #t~nondet29; {621#true} is VALID [2020-07-18 00:21:12,475 INFO L280 TraceCheckUtils]: 9: Hoare triple {621#true} havoc #t~nondet29; {621#true} is VALID [2020-07-18 00:21:12,476 INFO L280 TraceCheckUtils]: 10: Hoare triple {621#true} #res.base, #res.offset := 0, 0; {684#(and (<= |__getMemory_#res.base| 0) (<= |__getMemory_#res.offset| 0) (<= 0 |__getMemory_#res.offset|) (<= 0 |__getMemory_#res.base|))} is VALID [2020-07-18 00:21:12,477 INFO L280 TraceCheckUtils]: 11: Hoare triple {684#(and (<= |__getMemory_#res.base| 0) (<= |__getMemory_#res.offset| 0) (<= 0 |__getMemory_#res.offset|) (<= 0 |__getMemory_#res.base|))} assume true; {684#(and (<= |__getMemory_#res.base| 0) (<= |__getMemory_#res.offset| 0) (<= 0 |__getMemory_#res.offset|) (<= 0 |__getMemory_#res.base|))} is VALID [2020-07-18 00:21:12,478 INFO L275 TraceCheckUtils]: 12: Hoare quadruple {684#(and (<= |__getMemory_#res.base| 0) (<= |__getMemory_#res.offset| 0) (<= 0 |__getMemory_#res.offset|) (<= 0 |__getMemory_#res.base|))} {621#true} #92#return; {682#(and (<= |my_malloc_#t~ret30.offset| 0) (<= 0 |my_malloc_#t~ret30.offset|) (<= 0 |my_malloc_#t~ret30.base|) (<= |my_malloc_#t~ret30.base| 0))} is VALID [2020-07-18 00:21:12,479 INFO L280 TraceCheckUtils]: 13: Hoare triple {682#(and (<= |my_malloc_#t~ret30.offset| 0) (<= 0 |my_malloc_#t~ret30.offset|) (<= 0 |my_malloc_#t~ret30.base|) (<= |my_malloc_#t~ret30.base| 0))} #res.base, #res.offset := #t~ret30.base, #t~ret30.offset; {683#(and (<= |my_malloc_#res.base| 0) (<= |my_malloc_#res.offset| 0) (<= 0 |my_malloc_#res.base|) (<= 0 |my_malloc_#res.offset|))} is VALID [2020-07-18 00:21:12,480 INFO L280 TraceCheckUtils]: 14: Hoare triple {683#(and (<= |my_malloc_#res.base| 0) (<= |my_malloc_#res.offset| 0) (<= 0 |my_malloc_#res.base|) (<= 0 |my_malloc_#res.offset|))} havoc #t~ret30.base, #t~ret30.offset; {683#(and (<= |my_malloc_#res.base| 0) (<= |my_malloc_#res.offset| 0) (<= 0 |my_malloc_#res.base|) (<= 0 |my_malloc_#res.offset|))} is VALID [2020-07-18 00:21:12,481 INFO L280 TraceCheckUtils]: 15: Hoare triple {683#(and (<= |my_malloc_#res.base| 0) (<= |my_malloc_#res.offset| 0) (<= 0 |my_malloc_#res.base|) (<= 0 |my_malloc_#res.offset|))} assume true; {683#(and (<= |my_malloc_#res.base| 0) (<= |my_malloc_#res.offset| 0) (<= 0 |my_malloc_#res.base|) (<= 0 |my_malloc_#res.offset|))} is VALID [2020-07-18 00:21:12,482 INFO L275 TraceCheckUtils]: 16: Hoare quadruple {683#(and (<= |my_malloc_#res.base| 0) (<= |my_malloc_#res.offset| 0) (<= 0 |my_malloc_#res.base|) (<= 0 |my_malloc_#res.offset|))} {621#true} #94#return; {650#(and (= 0 |main_#t~ret32.base|) (= |main_#t~ret32.offset| 0))} is VALID [2020-07-18 00:21:12,490 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2020-07-18 00:21:12,500 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2020-07-18 00:21:12,509 INFO L280 TraceCheckUtils]: 0: Hoare triple {670#(and (= ~guard_malloc_counter~0.offset |old(~guard_malloc_counter~0.offset)|) (= ~guard_malloc_counter~0.base |old(~guard_malloc_counter~0.base)|))} ~size := #in~size; {621#true} is VALID [2020-07-18 00:21:12,509 INFO L280 TraceCheckUtils]: 1: Hoare triple {621#true} assume ~size > 0; {621#true} is VALID [2020-07-18 00:21:12,509 INFO L280 TraceCheckUtils]: 2: Hoare triple {621#true} #t~post28.base, #t~post28.offset := ~guard_malloc_counter~0.base, ~guard_malloc_counter~0.offset; {621#true} is VALID [2020-07-18 00:21:12,510 INFO L280 TraceCheckUtils]: 3: Hoare triple {621#true} ~guard_malloc_counter~0.base, ~guard_malloc_counter~0.offset := #t~post28.base, 1 + #t~post28.offset; {621#true} is VALID [2020-07-18 00:21:12,510 INFO L280 TraceCheckUtils]: 4: Hoare triple {621#true} havoc #t~post28.base, #t~post28.offset; {621#true} is VALID [2020-07-18 00:21:12,510 INFO L280 TraceCheckUtils]: 5: Hoare triple {621#true} assume -2147483648 <= #t~nondet29 && #t~nondet29 <= 2147483647; {621#true} is VALID [2020-07-18 00:21:12,511 INFO L280 TraceCheckUtils]: 6: Hoare triple {621#true} assume 0 == #t~nondet29; {621#true} is VALID [2020-07-18 00:21:12,511 INFO L280 TraceCheckUtils]: 7: Hoare triple {621#true} havoc #t~nondet29; {621#true} is VALID [2020-07-18 00:21:12,511 INFO L280 TraceCheckUtils]: 8: Hoare triple {621#true} #res.base, #res.offset := 0, 0; {621#true} is VALID [2020-07-18 00:21:12,511 INFO L280 TraceCheckUtils]: 9: Hoare triple {621#true} assume true; {621#true} is VALID [2020-07-18 00:21:12,512 INFO L275 TraceCheckUtils]: 10: Hoare quadruple {621#true} {621#true} #92#return; {621#true} is VALID [2020-07-18 00:21:12,512 INFO L280 TraceCheckUtils]: 0: Hoare triple {670#(and (= ~guard_malloc_counter~0.offset |old(~guard_malloc_counter~0.offset)|) (= ~guard_malloc_counter~0.base |old(~guard_malloc_counter~0.base)|))} ~size := #in~size; {621#true} is VALID [2020-07-18 00:21:12,513 INFO L263 TraceCheckUtils]: 1: Hoare triple {621#true} call #t~ret30.base, #t~ret30.offset := __getMemory(~size); {670#(and (= ~guard_malloc_counter~0.offset |old(~guard_malloc_counter~0.offset)|) (= ~guard_malloc_counter~0.base |old(~guard_malloc_counter~0.base)|))} is VALID [2020-07-18 00:21:12,514 INFO L280 TraceCheckUtils]: 2: Hoare triple {670#(and (= ~guard_malloc_counter~0.offset |old(~guard_malloc_counter~0.offset)|) (= ~guard_malloc_counter~0.base |old(~guard_malloc_counter~0.base)|))} ~size := #in~size; {621#true} is VALID [2020-07-18 00:21:12,514 INFO L280 TraceCheckUtils]: 3: Hoare triple {621#true} assume ~size > 0; {621#true} is VALID [2020-07-18 00:21:12,514 INFO L280 TraceCheckUtils]: 4: Hoare triple {621#true} #t~post28.base, #t~post28.offset := ~guard_malloc_counter~0.base, ~guard_malloc_counter~0.offset; {621#true} is VALID [2020-07-18 00:21:12,515 INFO L280 TraceCheckUtils]: 5: Hoare triple {621#true} ~guard_malloc_counter~0.base, ~guard_malloc_counter~0.offset := #t~post28.base, 1 + #t~post28.offset; {621#true} is VALID [2020-07-18 00:21:12,515 INFO L280 TraceCheckUtils]: 6: Hoare triple {621#true} havoc #t~post28.base, #t~post28.offset; {621#true} is VALID [2020-07-18 00:21:12,515 INFO L280 TraceCheckUtils]: 7: Hoare triple {621#true} assume -2147483648 <= #t~nondet29 && #t~nondet29 <= 2147483647; {621#true} is VALID [2020-07-18 00:21:12,516 INFO L280 TraceCheckUtils]: 8: Hoare triple {621#true} assume 0 == #t~nondet29; {621#true} is VALID [2020-07-18 00:21:12,516 INFO L280 TraceCheckUtils]: 9: Hoare triple {621#true} havoc #t~nondet29; {621#true} is VALID [2020-07-18 00:21:12,516 INFO L280 TraceCheckUtils]: 10: Hoare triple {621#true} #res.base, #res.offset := 0, 0; {621#true} is VALID [2020-07-18 00:21:12,516 INFO L280 TraceCheckUtils]: 11: Hoare triple {621#true} assume true; {621#true} is VALID [2020-07-18 00:21:12,517 INFO L275 TraceCheckUtils]: 12: Hoare quadruple {621#true} {621#true} #92#return; {621#true} is VALID [2020-07-18 00:21:12,517 INFO L280 TraceCheckUtils]: 13: Hoare triple {621#true} #res.base, #res.offset := #t~ret30.base, #t~ret30.offset; {621#true} is VALID [2020-07-18 00:21:12,517 INFO L280 TraceCheckUtils]: 14: Hoare triple {621#true} havoc #t~ret30.base, #t~ret30.offset; {621#true} is VALID [2020-07-18 00:21:12,518 INFO L280 TraceCheckUtils]: 15: Hoare triple {621#true} assume true; {621#true} is VALID [2020-07-18 00:21:12,519 INFO L275 TraceCheckUtils]: 16: Hoare quadruple {621#true} {651#(and (= 0 main_~dev1~0.base) (= 0 main_~dev1~0.offset))} #96#return; {651#(and (= 0 main_~dev1~0.base) (= 0 main_~dev1~0.offset))} is VALID [2020-07-18 00:21:12,521 INFO L263 TraceCheckUtils]: 0: Hoare triple {621#true} call ULTIMATE.init(); {669#(and (= |#valid| |old(#valid)|) (= ~elem~0.base |old(~elem~0.base)|) (= |#NULL.base| |old(#NULL.base)|) (= |~#head~0.base| |old(~#head~0.base)|) (= ~guard_malloc_counter~0.offset |old(~guard_malloc_counter~0.offset)|) (= |#NULL.offset| |old(#NULL.offset)|) (= ~elem~0.offset |old(~elem~0.offset)|) (= |old(#length)| |#length|) (= |~#head~0.offset| |old(~#head~0.offset)|) (= ~guard_malloc_counter~0.base |old(~guard_malloc_counter~0.base)|))} is VALID [2020-07-18 00:21:12,522 INFO L280 TraceCheckUtils]: 1: Hoare triple {669#(and (= |#valid| |old(#valid)|) (= ~elem~0.base |old(~elem~0.base)|) (= |#NULL.base| |old(#NULL.base)|) (= |~#head~0.base| |old(~#head~0.base)|) (= ~guard_malloc_counter~0.offset |old(~guard_malloc_counter~0.offset)|) (= |#NULL.offset| |old(#NULL.offset)|) (= ~elem~0.offset |old(~elem~0.offset)|) (= |old(#length)| |#length|) (= |~#head~0.offset| |old(~#head~0.offset)|) (= ~guard_malloc_counter~0.base |old(~guard_malloc_counter~0.base)|))} #NULL.base, #NULL.offset := 0, 0; {621#true} is VALID [2020-07-18 00:21:12,522 INFO L280 TraceCheckUtils]: 2: Hoare triple {621#true} #valid := #valid[0 := 0]; {621#true} is VALID [2020-07-18 00:21:12,522 INFO L280 TraceCheckUtils]: 3: Hoare triple {621#true} assume 0 < #StackHeapBarrier; {621#true} is VALID [2020-07-18 00:21:12,523 INFO L280 TraceCheckUtils]: 4: Hoare triple {621#true} ~guard_malloc_counter~0.base, ~guard_malloc_counter~0.offset := 0, 0; {621#true} is VALID [2020-07-18 00:21:12,523 INFO L280 TraceCheckUtils]: 5: Hoare triple {621#true} ~elem~0.base, ~elem~0.offset := 0, 0; {621#true} is VALID [2020-07-18 00:21:12,523 INFO L280 TraceCheckUtils]: 6: Hoare triple {621#true} SUMMARY for call ~#head~0.base, ~#head~0.offset := #Ultimate.allocOnStack(8); srcloc: L900 {621#true} is VALID [2020-07-18 00:21:12,524 INFO L280 TraceCheckUtils]: 7: Hoare triple {621#true} SUMMARY for call write~init~$Pointer$(0, 0, ~#head~0.base, ~#head~0.offset, 4); srcloc: L900-1 {621#true} is VALID [2020-07-18 00:21:12,524 INFO L280 TraceCheckUtils]: 8: Hoare triple {621#true} SUMMARY for call write~init~$Pointer$(0, 0, ~#head~0.base, 4 + ~#head~0.offset, 4); srcloc: L900-2 {621#true} is VALID [2020-07-18 00:21:12,524 INFO L280 TraceCheckUtils]: 9: Hoare triple {621#true} assume true; {621#true} is VALID [2020-07-18 00:21:12,525 INFO L275 TraceCheckUtils]: 10: Hoare quadruple {621#true} {621#true} #112#return; {621#true} is VALID [2020-07-18 00:21:12,525 INFO L263 TraceCheckUtils]: 11: Hoare triple {621#true} call #t~ret34 := main(); {621#true} is VALID [2020-07-18 00:21:12,525 INFO L280 TraceCheckUtils]: 12: Hoare triple {621#true} havoc ~dev1~0.base, ~dev1~0.offset; {621#true} is VALID [2020-07-18 00:21:12,525 INFO L280 TraceCheckUtils]: 13: Hoare triple {621#true} havoc ~dev2~0.base, ~dev2~0.offset; {621#true} is VALID [2020-07-18 00:21:12,527 INFO L263 TraceCheckUtils]: 14: Hoare triple {621#true} call #t~ret32.base, #t~ret32.offset := my_malloc(8); {670#(and (= ~guard_malloc_counter~0.offset |old(~guard_malloc_counter~0.offset)|) (= ~guard_malloc_counter~0.base |old(~guard_malloc_counter~0.base)|))} is VALID [2020-07-18 00:21:12,527 INFO L280 TraceCheckUtils]: 15: Hoare triple {670#(and (= ~guard_malloc_counter~0.offset |old(~guard_malloc_counter~0.offset)|) (= ~guard_malloc_counter~0.base |old(~guard_malloc_counter~0.base)|))} ~size := #in~size; {621#true} is VALID [2020-07-18 00:21:12,529 INFO L263 TraceCheckUtils]: 16: Hoare triple {621#true} call #t~ret30.base, #t~ret30.offset := __getMemory(~size); {670#(and (= ~guard_malloc_counter~0.offset |old(~guard_malloc_counter~0.offset)|) (= ~guard_malloc_counter~0.base |old(~guard_malloc_counter~0.base)|))} is VALID [2020-07-18 00:21:12,529 INFO L280 TraceCheckUtils]: 17: Hoare triple {670#(and (= ~guard_malloc_counter~0.offset |old(~guard_malloc_counter~0.offset)|) (= ~guard_malloc_counter~0.base |old(~guard_malloc_counter~0.base)|))} ~size := #in~size; {621#true} is VALID [2020-07-18 00:21:12,529 INFO L280 TraceCheckUtils]: 18: Hoare triple {621#true} assume ~size > 0; {621#true} is VALID [2020-07-18 00:21:12,530 INFO L280 TraceCheckUtils]: 19: Hoare triple {621#true} #t~post28.base, #t~post28.offset := ~guard_malloc_counter~0.base, ~guard_malloc_counter~0.offset; {621#true} is VALID [2020-07-18 00:21:12,530 INFO L280 TraceCheckUtils]: 20: Hoare triple {621#true} ~guard_malloc_counter~0.base, ~guard_malloc_counter~0.offset := #t~post28.base, 1 + #t~post28.offset; {621#true} is VALID [2020-07-18 00:21:12,530 INFO L280 TraceCheckUtils]: 21: Hoare triple {621#true} havoc #t~post28.base, #t~post28.offset; {621#true} is VALID [2020-07-18 00:21:12,531 INFO L280 TraceCheckUtils]: 22: Hoare triple {621#true} assume -2147483648 <= #t~nondet29 && #t~nondet29 <= 2147483647; {621#true} is VALID [2020-07-18 00:21:12,531 INFO L280 TraceCheckUtils]: 23: Hoare triple {621#true} assume 0 == #t~nondet29; {621#true} is VALID [2020-07-18 00:21:12,531 INFO L280 TraceCheckUtils]: 24: Hoare triple {621#true} havoc #t~nondet29; {621#true} is VALID [2020-07-18 00:21:12,532 INFO L280 TraceCheckUtils]: 25: Hoare triple {621#true} #res.base, #res.offset := 0, 0; {684#(and (<= |__getMemory_#res.base| 0) (<= |__getMemory_#res.offset| 0) (<= 0 |__getMemory_#res.offset|) (<= 0 |__getMemory_#res.base|))} is VALID [2020-07-18 00:21:12,535 INFO L280 TraceCheckUtils]: 26: Hoare triple {684#(and (<= |__getMemory_#res.base| 0) (<= |__getMemory_#res.offset| 0) (<= 0 |__getMemory_#res.offset|) (<= 0 |__getMemory_#res.base|))} assume true; {684#(and (<= |__getMemory_#res.base| 0) (<= |__getMemory_#res.offset| 0) (<= 0 |__getMemory_#res.offset|) (<= 0 |__getMemory_#res.base|))} is VALID [2020-07-18 00:21:12,537 INFO L275 TraceCheckUtils]: 27: Hoare quadruple {684#(and (<= |__getMemory_#res.base| 0) (<= |__getMemory_#res.offset| 0) (<= 0 |__getMemory_#res.offset|) (<= 0 |__getMemory_#res.base|))} {621#true} #92#return; {682#(and (<= |my_malloc_#t~ret30.offset| 0) (<= 0 |my_malloc_#t~ret30.offset|) (<= 0 |my_malloc_#t~ret30.base|) (<= |my_malloc_#t~ret30.base| 0))} is VALID [2020-07-18 00:21:12,538 INFO L280 TraceCheckUtils]: 28: Hoare triple {682#(and (<= |my_malloc_#t~ret30.offset| 0) (<= 0 |my_malloc_#t~ret30.offset|) (<= 0 |my_malloc_#t~ret30.base|) (<= |my_malloc_#t~ret30.base| 0))} #res.base, #res.offset := #t~ret30.base, #t~ret30.offset; {683#(and (<= |my_malloc_#res.base| 0) (<= |my_malloc_#res.offset| 0) (<= 0 |my_malloc_#res.base|) (<= 0 |my_malloc_#res.offset|))} is VALID [2020-07-18 00:21:12,539 INFO L280 TraceCheckUtils]: 29: Hoare triple {683#(and (<= |my_malloc_#res.base| 0) (<= |my_malloc_#res.offset| 0) (<= 0 |my_malloc_#res.base|) (<= 0 |my_malloc_#res.offset|))} havoc #t~ret30.base, #t~ret30.offset; {683#(and (<= |my_malloc_#res.base| 0) (<= |my_malloc_#res.offset| 0) (<= 0 |my_malloc_#res.base|) (<= 0 |my_malloc_#res.offset|))} is VALID [2020-07-18 00:21:12,540 INFO L280 TraceCheckUtils]: 30: Hoare triple {683#(and (<= |my_malloc_#res.base| 0) (<= |my_malloc_#res.offset| 0) (<= 0 |my_malloc_#res.base|) (<= 0 |my_malloc_#res.offset|))} assume true; {683#(and (<= |my_malloc_#res.base| 0) (<= |my_malloc_#res.offset| 0) (<= 0 |my_malloc_#res.base|) (<= 0 |my_malloc_#res.offset|))} is VALID [2020-07-18 00:21:12,541 INFO L275 TraceCheckUtils]: 31: Hoare quadruple {683#(and (<= |my_malloc_#res.base| 0) (<= |my_malloc_#res.offset| 0) (<= 0 |my_malloc_#res.base|) (<= 0 |my_malloc_#res.offset|))} {621#true} #94#return; {650#(and (= 0 |main_#t~ret32.base|) (= |main_#t~ret32.offset| 0))} is VALID [2020-07-18 00:21:12,542 INFO L280 TraceCheckUtils]: 32: Hoare triple {650#(and (= 0 |main_#t~ret32.base|) (= |main_#t~ret32.offset| 0))} ~dev1~0.base, ~dev1~0.offset := #t~ret32.base, #t~ret32.offset; {651#(and (= 0 main_~dev1~0.base) (= 0 main_~dev1~0.offset))} is VALID [2020-07-18 00:21:12,543 INFO L280 TraceCheckUtils]: 33: Hoare triple {651#(and (= 0 main_~dev1~0.base) (= 0 main_~dev1~0.offset))} havoc #t~ret32.base, #t~ret32.offset; {651#(and (= 0 main_~dev1~0.base) (= 0 main_~dev1~0.offset))} is VALID [2020-07-18 00:21:12,544 INFO L263 TraceCheckUtils]: 34: Hoare triple {651#(and (= 0 main_~dev1~0.base) (= 0 main_~dev1~0.offset))} call #t~ret33.base, #t~ret33.offset := my_malloc(8); {670#(and (= ~guard_malloc_counter~0.offset |old(~guard_malloc_counter~0.offset)|) (= ~guard_malloc_counter~0.base |old(~guard_malloc_counter~0.base)|))} is VALID [2020-07-18 00:21:12,545 INFO L280 TraceCheckUtils]: 35: Hoare triple {670#(and (= ~guard_malloc_counter~0.offset |old(~guard_malloc_counter~0.offset)|) (= ~guard_malloc_counter~0.base |old(~guard_malloc_counter~0.base)|))} ~size := #in~size; {621#true} is VALID [2020-07-18 00:21:12,546 INFO L263 TraceCheckUtils]: 36: Hoare triple {621#true} call #t~ret30.base, #t~ret30.offset := __getMemory(~size); {670#(and (= ~guard_malloc_counter~0.offset |old(~guard_malloc_counter~0.offset)|) (= ~guard_malloc_counter~0.base |old(~guard_malloc_counter~0.base)|))} is VALID [2020-07-18 00:21:12,546 INFO L280 TraceCheckUtils]: 37: Hoare triple {670#(and (= ~guard_malloc_counter~0.offset |old(~guard_malloc_counter~0.offset)|) (= ~guard_malloc_counter~0.base |old(~guard_malloc_counter~0.base)|))} ~size := #in~size; {621#true} is VALID [2020-07-18 00:21:12,547 INFO L280 TraceCheckUtils]: 38: Hoare triple {621#true} assume ~size > 0; {621#true} is VALID [2020-07-18 00:21:12,547 INFO L280 TraceCheckUtils]: 39: Hoare triple {621#true} #t~post28.base, #t~post28.offset := ~guard_malloc_counter~0.base, ~guard_malloc_counter~0.offset; {621#true} is VALID [2020-07-18 00:21:12,547 INFO L280 TraceCheckUtils]: 40: Hoare triple {621#true} ~guard_malloc_counter~0.base, ~guard_malloc_counter~0.offset := #t~post28.base, 1 + #t~post28.offset; {621#true} is VALID [2020-07-18 00:21:12,547 INFO L280 TraceCheckUtils]: 41: Hoare triple {621#true} havoc #t~post28.base, #t~post28.offset; {621#true} is VALID [2020-07-18 00:21:12,548 INFO L280 TraceCheckUtils]: 42: Hoare triple {621#true} assume -2147483648 <= #t~nondet29 && #t~nondet29 <= 2147483647; {621#true} is VALID [2020-07-18 00:21:12,548 INFO L280 TraceCheckUtils]: 43: Hoare triple {621#true} assume 0 == #t~nondet29; {621#true} is VALID [2020-07-18 00:21:12,548 INFO L280 TraceCheckUtils]: 44: Hoare triple {621#true} havoc #t~nondet29; {621#true} is VALID [2020-07-18 00:21:12,549 INFO L280 TraceCheckUtils]: 45: Hoare triple {621#true} #res.base, #res.offset := 0, 0; {621#true} is VALID [2020-07-18 00:21:12,549 INFO L280 TraceCheckUtils]: 46: Hoare triple {621#true} assume true; {621#true} is VALID [2020-07-18 00:21:12,549 INFO L275 TraceCheckUtils]: 47: Hoare quadruple {621#true} {621#true} #92#return; {621#true} is VALID [2020-07-18 00:21:12,549 INFO L280 TraceCheckUtils]: 48: Hoare triple {621#true} #res.base, #res.offset := #t~ret30.base, #t~ret30.offset; {621#true} is VALID [2020-07-18 00:21:12,550 INFO L280 TraceCheckUtils]: 49: Hoare triple {621#true} havoc #t~ret30.base, #t~ret30.offset; {621#true} is VALID [2020-07-18 00:21:12,550 INFO L280 TraceCheckUtils]: 50: Hoare triple {621#true} assume true; {621#true} is VALID [2020-07-18 00:21:12,551 INFO L275 TraceCheckUtils]: 51: Hoare quadruple {621#true} {651#(and (= 0 main_~dev1~0.base) (= 0 main_~dev1~0.offset))} #96#return; {651#(and (= 0 main_~dev1~0.base) (= 0 main_~dev1~0.offset))} is VALID [2020-07-18 00:21:12,552 INFO L280 TraceCheckUtils]: 52: Hoare triple {651#(and (= 0 main_~dev1~0.base) (= 0 main_~dev1~0.offset))} ~dev2~0.base, ~dev2~0.offset := #t~ret33.base, #t~ret33.offset; {651#(and (= 0 main_~dev1~0.base) (= 0 main_~dev1~0.offset))} is VALID [2020-07-18 00:21:12,553 INFO L280 TraceCheckUtils]: 53: Hoare triple {651#(and (= 0 main_~dev1~0.base) (= 0 main_~dev1~0.offset))} havoc #t~ret33.base, #t~ret33.offset; {651#(and (= 0 main_~dev1~0.base) (= 0 main_~dev1~0.offset))} is VALID [2020-07-18 00:21:12,554 INFO L280 TraceCheckUtils]: 54: Hoare triple {651#(and (= 0 main_~dev1~0.base) (= 0 main_~dev1~0.offset))} assume (~dev1~0.base != 0 || ~dev1~0.offset != 0) && (~dev2~0.base != 0 || ~dev2~0.offset != 0); {622#false} is VALID [2020-07-18 00:21:12,555 INFO L263 TraceCheckUtils]: 55: Hoare triple {622#false} call list_add(~dev2~0.base, ~dev2~0.offset, ~#head~0.base, ~#head~0.offset); {622#false} is VALID [2020-07-18 00:21:12,555 INFO L280 TraceCheckUtils]: 56: Hoare triple {622#false} ~new.base, ~new.offset := #in~new.base, #in~new.offset; {622#false} is VALID [2020-07-18 00:21:12,555 INFO L280 TraceCheckUtils]: 57: Hoare triple {622#false} ~head.base, ~head.offset := #in~head.base, #in~head.offset; {622#false} is VALID [2020-07-18 00:21:12,556 INFO L280 TraceCheckUtils]: 58: Hoare triple {622#false} assume !(~new.base != ~elem~0.base || ~new.offset != ~elem~0.offset); {622#false} is VALID [2020-07-18 00:21:12,556 INFO L263 TraceCheckUtils]: 59: Hoare triple {622#false} call __blast_assert(); {622#false} is VALID [2020-07-18 00:21:12,556 INFO L280 TraceCheckUtils]: 60: Hoare triple {622#false} assume !false; {622#false} is VALID [2020-07-18 00:21:12,564 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 00:21:12,568 INFO L192 leratedInterpolation]: Finished Analysing Program using PRECISE loop Acceleration [2020-07-18 00:21:12,569 INFO L354 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModulePreferences [2026433151] [2020-07-18 00:21:12,569 INFO L220 FreeRefinementEngine]: Constructing automaton from 1 perfect and 0 imperfect interpolant sequences. [2020-07-18 00:21:12,569 INFO L233 FreeRefinementEngine]: Number of different interpolants: perfect sequences [9] imperfect sequences [] total 9 [2020-07-18 00:21:12,569 INFO L156 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [1575430952] [2020-07-18 00:21:12,571 INFO L78 Accepts]: Start accepts. Automaton has 9 states. Word has length 61 [2020-07-18 00:21:12,571 INFO L84 Accepts]: Finished accepts. word is accepted. [2020-07-18 00:21:12,572 INFO L86 InductivityCheck]: Starting indutivity check of a Floyd-Hoare automaton with 9 states. [2020-07-18 00:21:12,626 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 00:21:12,626 INFO L459 AbstractCegarLoop]: Interpolant automaton has 9 states [2020-07-18 00:21:12,627 INFO L143 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy FIXED_PREFERENCES [2020-07-18 00:21:12,627 INFO L142 InterpolantAutomaton]: Constructing interpolant automaton starting with 9 interpolants. [2020-07-18 00:21:12,627 INFO L144 InterpolantAutomaton]: CoverageRelationStatistics Valid=16, Invalid=56, Unknown=0, NotChecked=0, Total=72 [2020-07-18 00:21:12,627 INFO L87 Difference]: Start difference. First operand 63 states and 69 transitions. Second operand 9 states. [2020-07-18 00:21:13,834 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2020-07-18 00:21:13,836 INFO L93 Difference]: Finished difference Result 102 states and 117 transitions. [2020-07-18 00:21:13,837 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 11 states. [2020-07-18 00:21:13,837 INFO L78 Accepts]: Start accepts. Automaton has 9 states. Word has length 61 [2020-07-18 00:21:13,837 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2020-07-18 00:21:13,837 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 9 states. [2020-07-18 00:21:13,846 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 11 states to 11 states and 117 transitions. [2020-07-18 00:21:13,846 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 9 states. [2020-07-18 00:21:13,850 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 11 states to 11 states and 117 transitions. [2020-07-18 00:21:13,851 INFO L86 InductivityCheck]: Starting indutivity check of a Floyd-Hoare automaton with 11 states and 117 transitions. [2020-07-18 00:21:14,019 INFO L119 InductivityCheck]: Floyd-Hoare automaton has 117 edges. 117 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2020-07-18 00:21:14,023 INFO L225 Difference]: With dead ends: 102 [2020-07-18 00:21:14,024 INFO L226 Difference]: Without dead ends: 73 [2020-07-18 00:21:14,025 INFO L675 BasicCegarLoop]: 0 DeclaredPredicates, 25 GetRequests, 15 SyntacticMatches, 1 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 00:21:14,026 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 73 states. [2020-07-18 00:21:14,245 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 73 to 69. [2020-07-18 00:21:14,245 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2020-07-18 00:21:14,246 INFO L82 GeneralOperation]: Start isEquivalent. First operand 73 states. Second operand 69 states. [2020-07-18 00:21:14,246 INFO L74 IsIncluded]: Start isIncluded. First operand 73 states. Second operand 69 states. [2020-07-18 00:21:14,246 INFO L87 Difference]: Start difference. First operand 73 states. Second operand 69 states. [2020-07-18 00:21:14,258 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2020-07-18 00:21:14,258 INFO L93 Difference]: Finished difference Result 73 states and 81 transitions. [2020-07-18 00:21:14,258 INFO L276 IsEmpty]: Start isEmpty. Operand 73 states and 81 transitions. [2020-07-18 00:21:14,260 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2020-07-18 00:21:14,260 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2020-07-18 00:21:14,260 INFO L74 IsIncluded]: Start isIncluded. First operand 69 states. Second operand 73 states. [2020-07-18 00:21:14,260 INFO L87 Difference]: Start difference. First operand 69 states. Second operand 73 states. [2020-07-18 00:21:14,267 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2020-07-18 00:21:14,267 INFO L93 Difference]: Finished difference Result 73 states and 81 transitions. [2020-07-18 00:21:14,267 INFO L276 IsEmpty]: Start isEmpty. Operand 73 states and 81 transitions. [2020-07-18 00:21:14,269 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2020-07-18 00:21:14,269 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2020-07-18 00:21:14,269 INFO L88 GeneralOperation]: Finished isEquivalent. [2020-07-18 00:21:14,274 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2020-07-18 00:21:14,275 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 69 states. [2020-07-18 00:21:14,280 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 69 states to 69 states and 75 transitions. [2020-07-18 00:21:14,281 INFO L78 Accepts]: Start accepts. Automaton has 69 states and 75 transitions. Word has length 61 [2020-07-18 00:21:14,281 INFO L84 Accepts]: Finished accepts. word is rejected. [2020-07-18 00:21:14,281 INFO L479 AbstractCegarLoop]: Abstraction has 69 states and 75 transitions. [2020-07-18 00:21:14,282 INFO L480 AbstractCegarLoop]: Interpolant automaton has 9 states. [2020-07-18 00:21:14,282 INFO L86 InductivityCheck]: Starting indutivity check of a Floyd-Hoare automaton with 69 states and 75 transitions. [2020-07-18 00:21:14,391 INFO L119 InductivityCheck]: Floyd-Hoare automaton has 75 edges. 75 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2020-07-18 00:21:14,391 INFO L276 IsEmpty]: Start isEmpty. Operand 69 states and 75 transitions. [2020-07-18 00:21:14,394 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 62 [2020-07-18 00:21:14,394 INFO L414 BasicCegarLoop]: Found error trace [2020-07-18 00:21:14,394 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 00:21:14,395 WARN L516 AbstractCegarLoop]: Destroyed unattended storables created during the last iteration: SelfDestructingSolverStorable1 [2020-07-18 00:21:14,395 INFO L427 AbstractCegarLoop]: === Iteration 3 === [__blast_assertErr0ASSERT_VIOLATIONERROR_FUNCTION]=== [2020-07-18 00:21:14,395 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2020-07-18 00:21:14,395 INFO L82 PathProgramCache]: Analyzing trace with hash -1260495361, now seen corresponding path program 1 times [2020-07-18 00:21:14,395 INFO L163 FreeRefinementEngine]: Executing refinement strategy FIXED_PREFERENCES [2020-07-18 00:21:14,396 INFO L354 FreeRefinementEngine]: Using trace check IpTcStrategyModulePreferences [864106579] [2020-07-18 00:21:14,396 INFO L94 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2020-07-18 00:21:14,421 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2020-07-18 00:21:14,522 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2020-07-18 00:21:14,529 INFO L280 TraceCheckUtils]: 0: Hoare triple {1238#(and (= |#valid| |old(#valid)|) (= ~elem~0.base |old(~elem~0.base)|) (= |#NULL.base| |old(#NULL.base)|) (= |~#head~0.base| |old(~#head~0.base)|) (= ~guard_malloc_counter~0.offset |old(~guard_malloc_counter~0.offset)|) (= |#NULL.offset| |old(#NULL.offset)|) (= ~elem~0.offset |old(~elem~0.offset)|) (= |old(#length)| |#length|) (= |~#head~0.offset| |old(~#head~0.offset)|) (= ~guard_malloc_counter~0.base |old(~guard_malloc_counter~0.base)|))} #NULL.base, #NULL.offset := 0, 0; {1190#true} is VALID [2020-07-18 00:21:14,530 INFO L280 TraceCheckUtils]: 1: Hoare triple {1190#true} #valid := #valid[0 := 0]; {1190#true} is VALID [2020-07-18 00:21:14,530 INFO L280 TraceCheckUtils]: 2: Hoare triple {1190#true} assume 0 < #StackHeapBarrier; {1190#true} is VALID [2020-07-18 00:21:14,530 INFO L280 TraceCheckUtils]: 3: Hoare triple {1190#true} ~guard_malloc_counter~0.base, ~guard_malloc_counter~0.offset := 0, 0; {1190#true} is VALID [2020-07-18 00:21:14,530 INFO L280 TraceCheckUtils]: 4: Hoare triple {1190#true} ~elem~0.base, ~elem~0.offset := 0, 0; {1190#true} is VALID [2020-07-18 00:21:14,530 INFO L280 TraceCheckUtils]: 5: Hoare triple {1190#true} SUMMARY for call ~#head~0.base, ~#head~0.offset := #Ultimate.allocOnStack(8); srcloc: L900 {1190#true} is VALID [2020-07-18 00:21:14,531 INFO L280 TraceCheckUtils]: 6: Hoare triple {1190#true} SUMMARY for call write~init~$Pointer$(0, 0, ~#head~0.base, ~#head~0.offset, 4); srcloc: L900-1 {1190#true} is VALID [2020-07-18 00:21:14,531 INFO L280 TraceCheckUtils]: 7: Hoare triple {1190#true} SUMMARY for call write~init~$Pointer$(0, 0, ~#head~0.base, 4 + ~#head~0.offset, 4); srcloc: L900-2 {1190#true} is VALID [2020-07-18 00:21:14,531 INFO L280 TraceCheckUtils]: 8: Hoare triple {1190#true} assume true; {1190#true} is VALID [2020-07-18 00:21:14,531 INFO L275 TraceCheckUtils]: 9: Hoare quadruple {1190#true} {1190#true} #112#return; {1190#true} is VALID [2020-07-18 00:21:14,550 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2020-07-18 00:21:14,567 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2020-07-18 00:21:14,576 INFO L280 TraceCheckUtils]: 0: Hoare triple {1239#(and (= ~guard_malloc_counter~0.offset |old(~guard_malloc_counter~0.offset)|) (= ~guard_malloc_counter~0.base |old(~guard_malloc_counter~0.base)|))} ~size := #in~size; {1190#true} is VALID [2020-07-18 00:21:14,577 INFO L280 TraceCheckUtils]: 1: Hoare triple {1190#true} assume ~size > 0; {1190#true} is VALID [2020-07-18 00:21:14,577 INFO L280 TraceCheckUtils]: 2: Hoare triple {1190#true} #t~post28.base, #t~post28.offset := ~guard_malloc_counter~0.base, ~guard_malloc_counter~0.offset; {1190#true} is VALID [2020-07-18 00:21:14,577 INFO L280 TraceCheckUtils]: 3: Hoare triple {1190#true} ~guard_malloc_counter~0.base, ~guard_malloc_counter~0.offset := #t~post28.base, 1 + #t~post28.offset; {1190#true} is VALID [2020-07-18 00:21:14,578 INFO L280 TraceCheckUtils]: 4: Hoare triple {1190#true} havoc #t~post28.base, #t~post28.offset; {1190#true} is VALID [2020-07-18 00:21:14,578 INFO L280 TraceCheckUtils]: 5: Hoare triple {1190#true} assume -2147483648 <= #t~nondet29 && #t~nondet29 <= 2147483647; {1190#true} is VALID [2020-07-18 00:21:14,578 INFO L280 TraceCheckUtils]: 6: Hoare triple {1190#true} assume !(0 == #t~nondet29); {1190#true} is VALID [2020-07-18 00:21:14,578 INFO L280 TraceCheckUtils]: 7: Hoare triple {1190#true} havoc #t~nondet29; {1190#true} is VALID [2020-07-18 00:21:14,579 INFO L280 TraceCheckUtils]: 8: Hoare triple {1190#true} #res.base, #res.offset := ~guard_malloc_counter~0.base, ~guard_malloc_counter~0.offset; {1190#true} is VALID [2020-07-18 00:21:14,579 INFO L280 TraceCheckUtils]: 9: Hoare triple {1190#true} assume true; {1190#true} is VALID [2020-07-18 00:21:14,579 INFO L275 TraceCheckUtils]: 10: Hoare quadruple {1190#true} {1190#true} #92#return; {1190#true} is VALID [2020-07-18 00:21:14,579 INFO L280 TraceCheckUtils]: 0: Hoare triple {1239#(and (= ~guard_malloc_counter~0.offset |old(~guard_malloc_counter~0.offset)|) (= ~guard_malloc_counter~0.base |old(~guard_malloc_counter~0.base)|))} ~size := #in~size; {1190#true} is VALID [2020-07-18 00:21:14,580 INFO L263 TraceCheckUtils]: 1: Hoare triple {1190#true} call #t~ret30.base, #t~ret30.offset := __getMemory(~size); {1239#(and (= ~guard_malloc_counter~0.offset |old(~guard_malloc_counter~0.offset)|) (= ~guard_malloc_counter~0.base |old(~guard_malloc_counter~0.base)|))} is VALID [2020-07-18 00:21:14,580 INFO L280 TraceCheckUtils]: 2: Hoare triple {1239#(and (= ~guard_malloc_counter~0.offset |old(~guard_malloc_counter~0.offset)|) (= ~guard_malloc_counter~0.base |old(~guard_malloc_counter~0.base)|))} ~size := #in~size; {1190#true} is VALID [2020-07-18 00:21:14,581 INFO L280 TraceCheckUtils]: 3: Hoare triple {1190#true} assume ~size > 0; {1190#true} is VALID [2020-07-18 00:21:14,581 INFO L280 TraceCheckUtils]: 4: Hoare triple {1190#true} #t~post28.base, #t~post28.offset := ~guard_malloc_counter~0.base, ~guard_malloc_counter~0.offset; {1190#true} is VALID [2020-07-18 00:21:14,581 INFO L280 TraceCheckUtils]: 5: Hoare triple {1190#true} ~guard_malloc_counter~0.base, ~guard_malloc_counter~0.offset := #t~post28.base, 1 + #t~post28.offset; {1190#true} is VALID [2020-07-18 00:21:14,581 INFO L280 TraceCheckUtils]: 6: Hoare triple {1190#true} havoc #t~post28.base, #t~post28.offset; {1190#true} is VALID [2020-07-18 00:21:14,581 INFO L280 TraceCheckUtils]: 7: Hoare triple {1190#true} assume -2147483648 <= #t~nondet29 && #t~nondet29 <= 2147483647; {1190#true} is VALID [2020-07-18 00:21:14,582 INFO L280 TraceCheckUtils]: 8: Hoare triple {1190#true} assume !(0 == #t~nondet29); {1190#true} is VALID [2020-07-18 00:21:14,582 INFO L280 TraceCheckUtils]: 9: Hoare triple {1190#true} havoc #t~nondet29; {1190#true} is VALID [2020-07-18 00:21:14,582 INFO L280 TraceCheckUtils]: 10: Hoare triple {1190#true} #res.base, #res.offset := ~guard_malloc_counter~0.base, ~guard_malloc_counter~0.offset; {1190#true} is VALID [2020-07-18 00:21:14,582 INFO L280 TraceCheckUtils]: 11: Hoare triple {1190#true} assume true; {1190#true} is VALID [2020-07-18 00:21:14,583 INFO L275 TraceCheckUtils]: 12: Hoare quadruple {1190#true} {1190#true} #92#return; {1190#true} is VALID [2020-07-18 00:21:14,583 INFO L280 TraceCheckUtils]: 13: Hoare triple {1190#true} #res.base, #res.offset := #t~ret30.base, #t~ret30.offset; {1190#true} is VALID [2020-07-18 00:21:14,583 INFO L280 TraceCheckUtils]: 14: Hoare triple {1190#true} havoc #t~ret30.base, #t~ret30.offset; {1190#true} is VALID [2020-07-18 00:21:14,584 INFO L280 TraceCheckUtils]: 15: Hoare triple {1190#true} assume true; {1190#true} is VALID [2020-07-18 00:21:14,584 INFO L275 TraceCheckUtils]: 16: Hoare quadruple {1190#true} {1190#true} #94#return; {1190#true} is VALID [2020-07-18 00:21:14,592 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2020-07-18 00:21:14,650 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2020-07-18 00:21:14,683 INFO L280 TraceCheckUtils]: 0: Hoare triple {1239#(and (= ~guard_malloc_counter~0.offset |old(~guard_malloc_counter~0.offset)|) (= ~guard_malloc_counter~0.base |old(~guard_malloc_counter~0.base)|))} ~size := #in~size; {1190#true} is VALID [2020-07-18 00:21:14,683 INFO L280 TraceCheckUtils]: 1: Hoare triple {1190#true} assume ~size > 0; {1190#true} is VALID [2020-07-18 00:21:14,684 INFO L280 TraceCheckUtils]: 2: Hoare triple {1190#true} #t~post28.base, #t~post28.offset := ~guard_malloc_counter~0.base, ~guard_malloc_counter~0.offset; {1190#true} is VALID [2020-07-18 00:21:14,684 INFO L280 TraceCheckUtils]: 3: Hoare triple {1190#true} ~guard_malloc_counter~0.base, ~guard_malloc_counter~0.offset := #t~post28.base, 1 + #t~post28.offset; {1190#true} is VALID [2020-07-18 00:21:14,684 INFO L280 TraceCheckUtils]: 4: Hoare triple {1190#true} havoc #t~post28.base, #t~post28.offset; {1190#true} is VALID [2020-07-18 00:21:14,684 INFO L280 TraceCheckUtils]: 5: Hoare triple {1190#true} assume -2147483648 <= #t~nondet29 && #t~nondet29 <= 2147483647; {1190#true} is VALID [2020-07-18 00:21:14,685 INFO L280 TraceCheckUtils]: 6: Hoare triple {1190#true} assume 0 == #t~nondet29; {1190#true} is VALID [2020-07-18 00:21:14,685 INFO L280 TraceCheckUtils]: 7: Hoare triple {1190#true} havoc #t~nondet29; {1190#true} is VALID [2020-07-18 00:21:14,686 INFO L280 TraceCheckUtils]: 8: Hoare triple {1190#true} #res.base, #res.offset := 0, 0; {1264#(and (<= |__getMemory_#res.base| 0) (<= |__getMemory_#res.offset| 0) (<= 0 |__getMemory_#res.offset|) (<= 0 |__getMemory_#res.base|))} is VALID [2020-07-18 00:21:14,687 INFO L280 TraceCheckUtils]: 9: Hoare triple {1264#(and (<= |__getMemory_#res.base| 0) (<= |__getMemory_#res.offset| 0) (<= 0 |__getMemory_#res.offset|) (<= 0 |__getMemory_#res.base|))} assume true; {1264#(and (<= |__getMemory_#res.base| 0) (<= |__getMemory_#res.offset| 0) (<= 0 |__getMemory_#res.offset|) (<= 0 |__getMemory_#res.base|))} is VALID [2020-07-18 00:21:14,688 INFO L275 TraceCheckUtils]: 10: Hoare quadruple {1264#(and (<= |__getMemory_#res.base| 0) (<= |__getMemory_#res.offset| 0) (<= 0 |__getMemory_#res.offset|) (<= 0 |__getMemory_#res.base|))} {1190#true} #92#return; {1262#(and (<= |my_malloc_#t~ret30.offset| 0) (<= 0 |my_malloc_#t~ret30.offset|) (<= 0 |my_malloc_#t~ret30.base|) (<= |my_malloc_#t~ret30.base| 0))} is VALID [2020-07-18 00:21:14,689 INFO L280 TraceCheckUtils]: 0: Hoare triple {1239#(and (= ~guard_malloc_counter~0.offset |old(~guard_malloc_counter~0.offset)|) (= ~guard_malloc_counter~0.base |old(~guard_malloc_counter~0.base)|))} ~size := #in~size; {1190#true} is VALID [2020-07-18 00:21:14,689 INFO L263 TraceCheckUtils]: 1: Hoare triple {1190#true} call #t~ret30.base, #t~ret30.offset := __getMemory(~size); {1239#(and (= ~guard_malloc_counter~0.offset |old(~guard_malloc_counter~0.offset)|) (= ~guard_malloc_counter~0.base |old(~guard_malloc_counter~0.base)|))} is VALID [2020-07-18 00:21:14,690 INFO L280 TraceCheckUtils]: 2: Hoare triple {1239#(and (= ~guard_malloc_counter~0.offset |old(~guard_malloc_counter~0.offset)|) (= ~guard_malloc_counter~0.base |old(~guard_malloc_counter~0.base)|))} ~size := #in~size; {1190#true} is VALID [2020-07-18 00:21:14,690 INFO L280 TraceCheckUtils]: 3: Hoare triple {1190#true} assume ~size > 0; {1190#true} is VALID [2020-07-18 00:21:14,690 INFO L280 TraceCheckUtils]: 4: Hoare triple {1190#true} #t~post28.base, #t~post28.offset := ~guard_malloc_counter~0.base, ~guard_malloc_counter~0.offset; {1190#true} is VALID [2020-07-18 00:21:14,691 INFO L280 TraceCheckUtils]: 5: Hoare triple {1190#true} ~guard_malloc_counter~0.base, ~guard_malloc_counter~0.offset := #t~post28.base, 1 + #t~post28.offset; {1190#true} is VALID [2020-07-18 00:21:14,691 INFO L280 TraceCheckUtils]: 6: Hoare triple {1190#true} havoc #t~post28.base, #t~post28.offset; {1190#true} is VALID [2020-07-18 00:21:14,691 INFO L280 TraceCheckUtils]: 7: Hoare triple {1190#true} assume -2147483648 <= #t~nondet29 && #t~nondet29 <= 2147483647; {1190#true} is VALID [2020-07-18 00:21:14,691 INFO L280 TraceCheckUtils]: 8: Hoare triple {1190#true} assume 0 == #t~nondet29; {1190#true} is VALID [2020-07-18 00:21:14,692 INFO L280 TraceCheckUtils]: 9: Hoare triple {1190#true} havoc #t~nondet29; {1190#true} is VALID [2020-07-18 00:21:14,692 INFO L280 TraceCheckUtils]: 10: Hoare triple {1190#true} #res.base, #res.offset := 0, 0; {1264#(and (<= |__getMemory_#res.base| 0) (<= |__getMemory_#res.offset| 0) (<= 0 |__getMemory_#res.offset|) (<= 0 |__getMemory_#res.base|))} is VALID [2020-07-18 00:21:14,693 INFO L280 TraceCheckUtils]: 11: Hoare triple {1264#(and (<= |__getMemory_#res.base| 0) (<= |__getMemory_#res.offset| 0) (<= 0 |__getMemory_#res.offset|) (<= 0 |__getMemory_#res.base|))} assume true; {1264#(and (<= |__getMemory_#res.base| 0) (<= |__getMemory_#res.offset| 0) (<= 0 |__getMemory_#res.offset|) (<= 0 |__getMemory_#res.base|))} is VALID [2020-07-18 00:21:14,694 INFO L275 TraceCheckUtils]: 12: Hoare quadruple {1264#(and (<= |__getMemory_#res.base| 0) (<= |__getMemory_#res.offset| 0) (<= 0 |__getMemory_#res.offset|) (<= 0 |__getMemory_#res.base|))} {1190#true} #92#return; {1262#(and (<= |my_malloc_#t~ret30.offset| 0) (<= 0 |my_malloc_#t~ret30.offset|) (<= 0 |my_malloc_#t~ret30.base|) (<= |my_malloc_#t~ret30.base| 0))} is VALID [2020-07-18 00:21:14,695 INFO L280 TraceCheckUtils]: 13: Hoare triple {1262#(and (<= |my_malloc_#t~ret30.offset| 0) (<= 0 |my_malloc_#t~ret30.offset|) (<= 0 |my_malloc_#t~ret30.base|) (<= |my_malloc_#t~ret30.base| 0))} #res.base, #res.offset := #t~ret30.base, #t~ret30.offset; {1263#(and (<= |my_malloc_#res.base| 0) (<= |my_malloc_#res.offset| 0) (<= 0 |my_malloc_#res.base|) (<= 0 |my_malloc_#res.offset|))} is VALID [2020-07-18 00:21:14,696 INFO L280 TraceCheckUtils]: 14: Hoare triple {1263#(and (<= |my_malloc_#res.base| 0) (<= |my_malloc_#res.offset| 0) (<= 0 |my_malloc_#res.base|) (<= 0 |my_malloc_#res.offset|))} havoc #t~ret30.base, #t~ret30.offset; {1263#(and (<= |my_malloc_#res.base| 0) (<= |my_malloc_#res.offset| 0) (<= 0 |my_malloc_#res.base|) (<= 0 |my_malloc_#res.offset|))} is VALID [2020-07-18 00:21:14,697 INFO L280 TraceCheckUtils]: 15: Hoare triple {1263#(and (<= |my_malloc_#res.base| 0) (<= |my_malloc_#res.offset| 0) (<= 0 |my_malloc_#res.base|) (<= 0 |my_malloc_#res.offset|))} assume true; {1263#(and (<= |my_malloc_#res.base| 0) (<= |my_malloc_#res.offset| 0) (<= 0 |my_malloc_#res.base|) (<= 0 |my_malloc_#res.offset|))} is VALID [2020-07-18 00:21:14,698 INFO L275 TraceCheckUtils]: 16: Hoare quadruple {1263#(and (<= |my_malloc_#res.base| 0) (<= |my_malloc_#res.offset| 0) (<= 0 |my_malloc_#res.base|) (<= 0 |my_malloc_#res.offset|))} {1190#true} #96#return; {1236#(and (= 0 |main_#t~ret33.offset|) (= 0 |main_#t~ret33.base|))} is VALID [2020-07-18 00:21:14,700 INFO L263 TraceCheckUtils]: 0: Hoare triple {1190#true} call ULTIMATE.init(); {1238#(and (= |#valid| |old(#valid)|) (= ~elem~0.base |old(~elem~0.base)|) (= |#NULL.base| |old(#NULL.base)|) (= |~#head~0.base| |old(~#head~0.base)|) (= ~guard_malloc_counter~0.offset |old(~guard_malloc_counter~0.offset)|) (= |#NULL.offset| |old(#NULL.offset)|) (= ~elem~0.offset |old(~elem~0.offset)|) (= |old(#length)| |#length|) (= |~#head~0.offset| |old(~#head~0.offset)|) (= ~guard_malloc_counter~0.base |old(~guard_malloc_counter~0.base)|))} is VALID [2020-07-18 00:21:14,701 INFO L280 TraceCheckUtils]: 1: Hoare triple {1238#(and (= |#valid| |old(#valid)|) (= ~elem~0.base |old(~elem~0.base)|) (= |#NULL.base| |old(#NULL.base)|) (= |~#head~0.base| |old(~#head~0.base)|) (= ~guard_malloc_counter~0.offset |old(~guard_malloc_counter~0.offset)|) (= |#NULL.offset| |old(#NULL.offset)|) (= ~elem~0.offset |old(~elem~0.offset)|) (= |old(#length)| |#length|) (= |~#head~0.offset| |old(~#head~0.offset)|) (= ~guard_malloc_counter~0.base |old(~guard_malloc_counter~0.base)|))} #NULL.base, #NULL.offset := 0, 0; {1190#true} is VALID [2020-07-18 00:21:14,701 INFO L280 TraceCheckUtils]: 2: Hoare triple {1190#true} #valid := #valid[0 := 0]; {1190#true} is VALID [2020-07-18 00:21:14,702 INFO L280 TraceCheckUtils]: 3: Hoare triple {1190#true} assume 0 < #StackHeapBarrier; {1190#true} is VALID [2020-07-18 00:21:14,702 INFO L280 TraceCheckUtils]: 4: Hoare triple {1190#true} ~guard_malloc_counter~0.base, ~guard_malloc_counter~0.offset := 0, 0; {1190#true} is VALID [2020-07-18 00:21:14,702 INFO L280 TraceCheckUtils]: 5: Hoare triple {1190#true} ~elem~0.base, ~elem~0.offset := 0, 0; {1190#true} is VALID [2020-07-18 00:21:14,702 INFO L280 TraceCheckUtils]: 6: Hoare triple {1190#true} SUMMARY for call ~#head~0.base, ~#head~0.offset := #Ultimate.allocOnStack(8); srcloc: L900 {1190#true} is VALID [2020-07-18 00:21:14,702 INFO L280 TraceCheckUtils]: 7: Hoare triple {1190#true} SUMMARY for call write~init~$Pointer$(0, 0, ~#head~0.base, ~#head~0.offset, 4); srcloc: L900-1 {1190#true} is VALID [2020-07-18 00:21:14,703 INFO L280 TraceCheckUtils]: 8: Hoare triple {1190#true} SUMMARY for call write~init~$Pointer$(0, 0, ~#head~0.base, 4 + ~#head~0.offset, 4); srcloc: L900-2 {1190#true} is VALID [2020-07-18 00:21:14,703 INFO L280 TraceCheckUtils]: 9: Hoare triple {1190#true} assume true; {1190#true} is VALID [2020-07-18 00:21:14,703 INFO L275 TraceCheckUtils]: 10: Hoare quadruple {1190#true} {1190#true} #112#return; {1190#true} is VALID [2020-07-18 00:21:14,703 INFO L263 TraceCheckUtils]: 11: Hoare triple {1190#true} call #t~ret34 := main(); {1190#true} is VALID [2020-07-18 00:21:14,704 INFO L280 TraceCheckUtils]: 12: Hoare triple {1190#true} havoc ~dev1~0.base, ~dev1~0.offset; {1190#true} is VALID [2020-07-18 00:21:14,704 INFO L280 TraceCheckUtils]: 13: Hoare triple {1190#true} havoc ~dev2~0.base, ~dev2~0.offset; {1190#true} is VALID [2020-07-18 00:21:14,705 INFO L263 TraceCheckUtils]: 14: Hoare triple {1190#true} call #t~ret32.base, #t~ret32.offset := my_malloc(8); {1239#(and (= ~guard_malloc_counter~0.offset |old(~guard_malloc_counter~0.offset)|) (= ~guard_malloc_counter~0.base |old(~guard_malloc_counter~0.base)|))} is VALID [2020-07-18 00:21:14,705 INFO L280 TraceCheckUtils]: 15: Hoare triple {1239#(and (= ~guard_malloc_counter~0.offset |old(~guard_malloc_counter~0.offset)|) (= ~guard_malloc_counter~0.base |old(~guard_malloc_counter~0.base)|))} ~size := #in~size; {1190#true} is VALID [2020-07-18 00:21:14,706 INFO L263 TraceCheckUtils]: 16: Hoare triple {1190#true} call #t~ret30.base, #t~ret30.offset := __getMemory(~size); {1239#(and (= ~guard_malloc_counter~0.offset |old(~guard_malloc_counter~0.offset)|) (= ~guard_malloc_counter~0.base |old(~guard_malloc_counter~0.base)|))} is VALID [2020-07-18 00:21:14,707 INFO L280 TraceCheckUtils]: 17: Hoare triple {1239#(and (= ~guard_malloc_counter~0.offset |old(~guard_malloc_counter~0.offset)|) (= ~guard_malloc_counter~0.base |old(~guard_malloc_counter~0.base)|))} ~size := #in~size; {1190#true} is VALID [2020-07-18 00:21:14,707 INFO L280 TraceCheckUtils]: 18: Hoare triple {1190#true} assume ~size > 0; {1190#true} is VALID [2020-07-18 00:21:14,707 INFO L280 TraceCheckUtils]: 19: Hoare triple {1190#true} #t~post28.base, #t~post28.offset := ~guard_malloc_counter~0.base, ~guard_malloc_counter~0.offset; {1190#true} is VALID [2020-07-18 00:21:14,707 INFO L280 TraceCheckUtils]: 20: Hoare triple {1190#true} ~guard_malloc_counter~0.base, ~guard_malloc_counter~0.offset := #t~post28.base, 1 + #t~post28.offset; {1190#true} is VALID [2020-07-18 00:21:14,708 INFO L280 TraceCheckUtils]: 21: Hoare triple {1190#true} havoc #t~post28.base, #t~post28.offset; {1190#true} is VALID [2020-07-18 00:21:14,708 INFO L280 TraceCheckUtils]: 22: Hoare triple {1190#true} assume -2147483648 <= #t~nondet29 && #t~nondet29 <= 2147483647; {1190#true} is VALID [2020-07-18 00:21:14,708 INFO L280 TraceCheckUtils]: 23: Hoare triple {1190#true} assume !(0 == #t~nondet29); {1190#true} is VALID [2020-07-18 00:21:14,708 INFO L280 TraceCheckUtils]: 24: Hoare triple {1190#true} havoc #t~nondet29; {1190#true} is VALID [2020-07-18 00:21:14,709 INFO L280 TraceCheckUtils]: 25: Hoare triple {1190#true} #res.base, #res.offset := ~guard_malloc_counter~0.base, ~guard_malloc_counter~0.offset; {1190#true} is VALID [2020-07-18 00:21:14,709 INFO L280 TraceCheckUtils]: 26: Hoare triple {1190#true} assume true; {1190#true} is VALID [2020-07-18 00:21:14,709 INFO L275 TraceCheckUtils]: 27: Hoare quadruple {1190#true} {1190#true} #92#return; {1190#true} is VALID [2020-07-18 00:21:14,709 INFO L280 TraceCheckUtils]: 28: Hoare triple {1190#true} #res.base, #res.offset := #t~ret30.base, #t~ret30.offset; {1190#true} is VALID [2020-07-18 00:21:14,710 INFO L280 TraceCheckUtils]: 29: Hoare triple {1190#true} havoc #t~ret30.base, #t~ret30.offset; {1190#true} is VALID [2020-07-18 00:21:14,710 INFO L280 TraceCheckUtils]: 30: Hoare triple {1190#true} assume true; {1190#true} is VALID [2020-07-18 00:21:14,710 INFO L275 TraceCheckUtils]: 31: Hoare quadruple {1190#true} {1190#true} #94#return; {1190#true} is VALID [2020-07-18 00:21:14,710 INFO L280 TraceCheckUtils]: 32: Hoare triple {1190#true} ~dev1~0.base, ~dev1~0.offset := #t~ret32.base, #t~ret32.offset; {1190#true} is VALID [2020-07-18 00:21:14,711 INFO L280 TraceCheckUtils]: 33: Hoare triple {1190#true} havoc #t~ret32.base, #t~ret32.offset; {1190#true} is VALID [2020-07-18 00:21:14,712 INFO L263 TraceCheckUtils]: 34: Hoare triple {1190#true} call #t~ret33.base, #t~ret33.offset := my_malloc(8); {1239#(and (= ~guard_malloc_counter~0.offset |old(~guard_malloc_counter~0.offset)|) (= ~guard_malloc_counter~0.base |old(~guard_malloc_counter~0.base)|))} is VALID [2020-07-18 00:21:14,712 INFO L280 TraceCheckUtils]: 35: Hoare triple {1239#(and (= ~guard_malloc_counter~0.offset |old(~guard_malloc_counter~0.offset)|) (= ~guard_malloc_counter~0.base |old(~guard_malloc_counter~0.base)|))} ~size := #in~size; {1190#true} is VALID [2020-07-18 00:21:14,713 INFO L263 TraceCheckUtils]: 36: Hoare triple {1190#true} call #t~ret30.base, #t~ret30.offset := __getMemory(~size); {1239#(and (= ~guard_malloc_counter~0.offset |old(~guard_malloc_counter~0.offset)|) (= ~guard_malloc_counter~0.base |old(~guard_malloc_counter~0.base)|))} is VALID [2020-07-18 00:21:14,713 INFO L280 TraceCheckUtils]: 37: Hoare triple {1239#(and (= ~guard_malloc_counter~0.offset |old(~guard_malloc_counter~0.offset)|) (= ~guard_malloc_counter~0.base |old(~guard_malloc_counter~0.base)|))} ~size := #in~size; {1190#true} is VALID [2020-07-18 00:21:14,713 INFO L280 TraceCheckUtils]: 38: Hoare triple {1190#true} assume ~size > 0; {1190#true} is VALID [2020-07-18 00:21:14,713 INFO L280 TraceCheckUtils]: 39: Hoare triple {1190#true} #t~post28.base, #t~post28.offset := ~guard_malloc_counter~0.base, ~guard_malloc_counter~0.offset; {1190#true} is VALID [2020-07-18 00:21:14,714 INFO L280 TraceCheckUtils]: 40: Hoare triple {1190#true} ~guard_malloc_counter~0.base, ~guard_malloc_counter~0.offset := #t~post28.base, 1 + #t~post28.offset; {1190#true} is VALID [2020-07-18 00:21:14,714 INFO L280 TraceCheckUtils]: 41: Hoare triple {1190#true} havoc #t~post28.base, #t~post28.offset; {1190#true} is VALID [2020-07-18 00:21:14,714 INFO L280 TraceCheckUtils]: 42: Hoare triple {1190#true} assume -2147483648 <= #t~nondet29 && #t~nondet29 <= 2147483647; {1190#true} is VALID [2020-07-18 00:21:14,715 INFO L280 TraceCheckUtils]: 43: Hoare triple {1190#true} assume 0 == #t~nondet29; {1190#true} is VALID [2020-07-18 00:21:14,715 INFO L280 TraceCheckUtils]: 44: Hoare triple {1190#true} havoc #t~nondet29; {1190#true} is VALID [2020-07-18 00:21:14,716 INFO L280 TraceCheckUtils]: 45: Hoare triple {1190#true} #res.base, #res.offset := 0, 0; {1264#(and (<= |__getMemory_#res.base| 0) (<= |__getMemory_#res.offset| 0) (<= 0 |__getMemory_#res.offset|) (<= 0 |__getMemory_#res.base|))} is VALID [2020-07-18 00:21:14,716 INFO L280 TraceCheckUtils]: 46: Hoare triple {1264#(and (<= |__getMemory_#res.base| 0) (<= |__getMemory_#res.offset| 0) (<= 0 |__getMemory_#res.offset|) (<= 0 |__getMemory_#res.base|))} assume true; {1264#(and (<= |__getMemory_#res.base| 0) (<= |__getMemory_#res.offset| 0) (<= 0 |__getMemory_#res.offset|) (<= 0 |__getMemory_#res.base|))} is VALID [2020-07-18 00:21:14,718 INFO L275 TraceCheckUtils]: 47: Hoare quadruple {1264#(and (<= |__getMemory_#res.base| 0) (<= |__getMemory_#res.offset| 0) (<= 0 |__getMemory_#res.offset|) (<= 0 |__getMemory_#res.base|))} {1190#true} #92#return; {1262#(and (<= |my_malloc_#t~ret30.offset| 0) (<= 0 |my_malloc_#t~ret30.offset|) (<= 0 |my_malloc_#t~ret30.base|) (<= |my_malloc_#t~ret30.base| 0))} is VALID [2020-07-18 00:21:14,719 INFO L280 TraceCheckUtils]: 48: Hoare triple {1262#(and (<= |my_malloc_#t~ret30.offset| 0) (<= 0 |my_malloc_#t~ret30.offset|) (<= 0 |my_malloc_#t~ret30.base|) (<= |my_malloc_#t~ret30.base| 0))} #res.base, #res.offset := #t~ret30.base, #t~ret30.offset; {1263#(and (<= |my_malloc_#res.base| 0) (<= |my_malloc_#res.offset| 0) (<= 0 |my_malloc_#res.base|) (<= 0 |my_malloc_#res.offset|))} is VALID [2020-07-18 00:21:14,720 INFO L280 TraceCheckUtils]: 49: Hoare triple {1263#(and (<= |my_malloc_#res.base| 0) (<= |my_malloc_#res.offset| 0) (<= 0 |my_malloc_#res.base|) (<= 0 |my_malloc_#res.offset|))} havoc #t~ret30.base, #t~ret30.offset; {1263#(and (<= |my_malloc_#res.base| 0) (<= |my_malloc_#res.offset| 0) (<= 0 |my_malloc_#res.base|) (<= 0 |my_malloc_#res.offset|))} is VALID [2020-07-18 00:21:14,720 INFO L280 TraceCheckUtils]: 50: Hoare triple {1263#(and (<= |my_malloc_#res.base| 0) (<= |my_malloc_#res.offset| 0) (<= 0 |my_malloc_#res.base|) (<= 0 |my_malloc_#res.offset|))} assume true; {1263#(and (<= |my_malloc_#res.base| 0) (<= |my_malloc_#res.offset| 0) (<= 0 |my_malloc_#res.base|) (<= 0 |my_malloc_#res.offset|))} is VALID [2020-07-18 00:21:14,722 INFO L275 TraceCheckUtils]: 51: Hoare quadruple {1263#(and (<= |my_malloc_#res.base| 0) (<= |my_malloc_#res.offset| 0) (<= 0 |my_malloc_#res.base|) (<= 0 |my_malloc_#res.offset|))} {1190#true} #96#return; {1236#(and (= 0 |main_#t~ret33.offset|) (= 0 |main_#t~ret33.base|))} is VALID [2020-07-18 00:21:14,723 INFO L280 TraceCheckUtils]: 52: Hoare triple {1236#(and (= 0 |main_#t~ret33.offset|) (= 0 |main_#t~ret33.base|))} ~dev2~0.base, ~dev2~0.offset := #t~ret33.base, #t~ret33.offset; {1237#(and (= 0 main_~dev2~0.offset) (= main_~dev2~0.base 0))} is VALID [2020-07-18 00:21:14,723 INFO L280 TraceCheckUtils]: 53: Hoare triple {1237#(and (= 0 main_~dev2~0.offset) (= main_~dev2~0.base 0))} havoc #t~ret33.base, #t~ret33.offset; {1237#(and (= 0 main_~dev2~0.offset) (= main_~dev2~0.base 0))} is VALID [2020-07-18 00:21:14,725 INFO L280 TraceCheckUtils]: 54: Hoare triple {1237#(and (= 0 main_~dev2~0.offset) (= main_~dev2~0.base 0))} assume (~dev1~0.base != 0 || ~dev1~0.offset != 0) && (~dev2~0.base != 0 || ~dev2~0.offset != 0); {1191#false} is VALID [2020-07-18 00:21:14,725 INFO L263 TraceCheckUtils]: 55: Hoare triple {1191#false} call list_add(~dev2~0.base, ~dev2~0.offset, ~#head~0.base, ~#head~0.offset); {1191#false} is VALID [2020-07-18 00:21:14,725 INFO L280 TraceCheckUtils]: 56: Hoare triple {1191#false} ~new.base, ~new.offset := #in~new.base, #in~new.offset; {1191#false} is VALID [2020-07-18 00:21:14,726 INFO L280 TraceCheckUtils]: 57: Hoare triple {1191#false} ~head.base, ~head.offset := #in~head.base, #in~head.offset; {1191#false} is VALID [2020-07-18 00:21:14,726 INFO L280 TraceCheckUtils]: 58: Hoare triple {1191#false} assume !(~new.base != ~elem~0.base || ~new.offset != ~elem~0.offset); {1191#false} is VALID [2020-07-18 00:21:14,726 INFO L263 TraceCheckUtils]: 59: Hoare triple {1191#false} call __blast_assert(); {1191#false} is VALID [2020-07-18 00:21:14,726 INFO L280 TraceCheckUtils]: 60: Hoare triple {1191#false} assume !false; {1191#false} is VALID [2020-07-18 00:21:14,731 INFO L134 CoverageAnalysis]: Checked inductivity of 9 backedges. 0 proven. 0 refuted. 0 times theorem prover too weak. 9 trivial. 0 not checked. [2020-07-18 00:21:14,742 INFO L192 leratedInterpolation]: Finished Analysing Program using PRECISE loop Acceleration [2020-07-18 00:21:14,742 INFO L354 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModulePreferences [864106579] [2020-07-18 00:21:14,742 INFO L220 FreeRefinementEngine]: Constructing automaton from 1 perfect and 0 imperfect interpolant sequences. [2020-07-18 00:21:14,742 INFO L233 FreeRefinementEngine]: Number of different interpolants: perfect sequences [9] imperfect sequences [] total 9 [2020-07-18 00:21:14,743 INFO L156 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [695823466] [2020-07-18 00:21:14,743 INFO L78 Accepts]: Start accepts. Automaton has 9 states. Word has length 61 [2020-07-18 00:21:14,744 INFO L84 Accepts]: Finished accepts. word is accepted. [2020-07-18 00:21:14,744 INFO L86 InductivityCheck]: Starting indutivity check of a Floyd-Hoare automaton with 9 states. [2020-07-18 00:21:14,805 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 00:21:14,805 INFO L459 AbstractCegarLoop]: Interpolant automaton has 9 states [2020-07-18 00:21:14,805 INFO L143 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy FIXED_PREFERENCES [2020-07-18 00:21:14,806 INFO L142 InterpolantAutomaton]: Constructing interpolant automaton starting with 9 interpolants. [2020-07-18 00:21:14,806 INFO L144 InterpolantAutomaton]: CoverageRelationStatistics Valid=16, Invalid=56, Unknown=0, NotChecked=0, Total=72 [2020-07-18 00:21:14,806 INFO L87 Difference]: Start difference. First operand 69 states and 75 transitions. Second operand 9 states. [2020-07-18 00:21:15,962 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2020-07-18 00:21:15,963 INFO L93 Difference]: Finished difference Result 99 states and 111 transitions. [2020-07-18 00:21:15,963 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 11 states. [2020-07-18 00:21:15,963 INFO L78 Accepts]: Start accepts. Automaton has 9 states. Word has length 61 [2020-07-18 00:21:15,963 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2020-07-18 00:21:15,964 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 9 states. [2020-07-18 00:21:15,970 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 11 states to 11 states and 111 transitions. [2020-07-18 00:21:15,971 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 9 states. [2020-07-18 00:21:15,975 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 11 states to 11 states and 111 transitions. [2020-07-18 00:21:15,975 INFO L86 InductivityCheck]: Starting indutivity check of a Floyd-Hoare automaton with 11 states and 111 transitions. [2020-07-18 00:21:16,126 INFO L119 InductivityCheck]: Floyd-Hoare automaton has 111 edges. 111 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2020-07-18 00:21:16,129 INFO L225 Difference]: With dead ends: 99 [2020-07-18 00:21:16,129 INFO L226 Difference]: Without dead ends: 65 [2020-07-18 00:21:16,130 INFO L675 BasicCegarLoop]: 0 DeclaredPredicates, 25 GetRequests, 15 SyntacticMatches, 1 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 00:21:16,131 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 65 states. [2020-07-18 00:21:16,298 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 65 to 61. [2020-07-18 00:21:16,299 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2020-07-18 00:21:16,299 INFO L82 GeneralOperation]: Start isEquivalent. First operand 65 states. Second operand 61 states. [2020-07-18 00:21:16,299 INFO L74 IsIncluded]: Start isIncluded. First operand 65 states. Second operand 61 states. [2020-07-18 00:21:16,299 INFO L87 Difference]: Start difference. First operand 65 states. Second operand 61 states. [2020-07-18 00:21:16,303 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2020-07-18 00:21:16,304 INFO L93 Difference]: Finished difference Result 65 states and 72 transitions. [2020-07-18 00:21:16,304 INFO L276 IsEmpty]: Start isEmpty. Operand 65 states and 72 transitions. [2020-07-18 00:21:16,304 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2020-07-18 00:21:16,305 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2020-07-18 00:21:16,305 INFO L74 IsIncluded]: Start isIncluded. First operand 61 states. Second operand 65 states. [2020-07-18 00:21:16,305 INFO L87 Difference]: Start difference. First operand 61 states. Second operand 65 states. [2020-07-18 00:21:16,309 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2020-07-18 00:21:16,309 INFO L93 Difference]: Finished difference Result 65 states and 72 transitions. [2020-07-18 00:21:16,309 INFO L276 IsEmpty]: Start isEmpty. Operand 65 states and 72 transitions. [2020-07-18 00:21:16,310 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2020-07-18 00:21:16,310 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2020-07-18 00:21:16,310 INFO L88 GeneralOperation]: Finished isEquivalent. [2020-07-18 00:21:16,311 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2020-07-18 00:21:16,311 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 61 states. [2020-07-18 00:21:16,313 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 61 states to 61 states and 66 transitions. [2020-07-18 00:21:16,314 INFO L78 Accepts]: Start accepts. Automaton has 61 states and 66 transitions. Word has length 61 [2020-07-18 00:21:16,314 INFO L84 Accepts]: Finished accepts. word is rejected. [2020-07-18 00:21:16,314 INFO L479 AbstractCegarLoop]: Abstraction has 61 states and 66 transitions. [2020-07-18 00:21:16,315 INFO L480 AbstractCegarLoop]: Interpolant automaton has 9 states. [2020-07-18 00:21:16,315 INFO L86 InductivityCheck]: Starting indutivity check of a Floyd-Hoare automaton with 61 states and 66 transitions. [2020-07-18 00:21:16,419 INFO L119 InductivityCheck]: Floyd-Hoare automaton has 66 edges. 66 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2020-07-18 00:21:16,419 INFO L276 IsEmpty]: Start isEmpty. Operand 61 states and 66 transitions. [2020-07-18 00:21:16,420 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 62 [2020-07-18 00:21:16,420 INFO L414 BasicCegarLoop]: Found error trace [2020-07-18 00:21:16,420 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 00:21:16,420 WARN L516 AbstractCegarLoop]: Destroyed unattended storables created during the last iteration: SelfDestructingSolverStorable2 [2020-07-18 00:21:16,421 INFO L427 AbstractCegarLoop]: === Iteration 4 === [__blast_assertErr0ASSERT_VIOLATIONERROR_FUNCTION]=== [2020-07-18 00:21:16,421 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2020-07-18 00:21:16,421 INFO L82 PathProgramCache]: Analyzing trace with hash -1723385860, now seen corresponding path program 1 times [2020-07-18 00:21:16,421 INFO L163 FreeRefinementEngine]: Executing refinement strategy FIXED_PREFERENCES [2020-07-18 00:21:16,421 INFO L354 FreeRefinementEngine]: Using trace check IpTcStrategyModulePreferences [1433046324] [2020-07-18 00:21:16,422 INFO L94 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2020-07-18 00:21:16,444 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2020-07-18 00:21:16,643 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2020-07-18 00:21:16,674 INFO L280 TraceCheckUtils]: 0: Hoare triple {1773#(and (= |#valid| |old(#valid)|) (= ~elem~0.base |old(~elem~0.base)|) (= |#NULL.base| |old(#NULL.base)|) (= |~#head~0.base| |old(~#head~0.base)|) (= ~guard_malloc_counter~0.offset |old(~guard_malloc_counter~0.offset)|) (= |#NULL.offset| |old(#NULL.offset)|) (= ~elem~0.offset |old(~elem~0.offset)|) (= |old(#length)| |#length|) (= |~#head~0.offset| |old(~#head~0.offset)|) (= ~guard_malloc_counter~0.base |old(~guard_malloc_counter~0.base)|))} #NULL.base, #NULL.offset := 0, 0; {1721#true} is VALID [2020-07-18 00:21:16,675 INFO L280 TraceCheckUtils]: 1: Hoare triple {1721#true} #valid := #valid[0 := 0]; {1721#true} is VALID [2020-07-18 00:21:16,675 INFO L280 TraceCheckUtils]: 2: Hoare triple {1721#true} assume 0 < #StackHeapBarrier; {1721#true} is VALID [2020-07-18 00:21:16,676 INFO L280 TraceCheckUtils]: 3: Hoare triple {1721#true} ~guard_malloc_counter~0.base, ~guard_malloc_counter~0.offset := 0, 0; {1774#(= 0 ~guard_malloc_counter~0.offset)} is VALID [2020-07-18 00:21:16,677 INFO L280 TraceCheckUtils]: 4: Hoare triple {1774#(= 0 ~guard_malloc_counter~0.offset)} ~elem~0.base, ~elem~0.offset := 0, 0; {1733#(and (= 0 ~elem~0.offset) (= 0 ~guard_malloc_counter~0.offset))} is VALID [2020-07-18 00:21:16,678 INFO L280 TraceCheckUtils]: 5: Hoare triple {1733#(and (= 0 ~elem~0.offset) (= 0 ~guard_malloc_counter~0.offset))} SUMMARY for call ~#head~0.base, ~#head~0.offset := #Ultimate.allocOnStack(8); srcloc: L900 {1733#(and (= 0 ~elem~0.offset) (= 0 ~guard_malloc_counter~0.offset))} is VALID [2020-07-18 00:21:16,679 INFO L280 TraceCheckUtils]: 6: Hoare triple {1733#(and (= 0 ~elem~0.offset) (= 0 ~guard_malloc_counter~0.offset))} SUMMARY for call write~init~$Pointer$(0, 0, ~#head~0.base, ~#head~0.offset, 4); srcloc: L900-1 {1733#(and (= 0 ~elem~0.offset) (= 0 ~guard_malloc_counter~0.offset))} is VALID [2020-07-18 00:21:16,679 INFO L280 TraceCheckUtils]: 7: Hoare triple {1733#(and (= 0 ~elem~0.offset) (= 0 ~guard_malloc_counter~0.offset))} SUMMARY for call write~init~$Pointer$(0, 0, ~#head~0.base, 4 + ~#head~0.offset, 4); srcloc: L900-2 {1733#(and (= 0 ~elem~0.offset) (= 0 ~guard_malloc_counter~0.offset))} is VALID [2020-07-18 00:21:16,680 INFO L280 TraceCheckUtils]: 8: Hoare triple {1733#(and (= 0 ~elem~0.offset) (= 0 ~guard_malloc_counter~0.offset))} assume true; {1733#(and (= 0 ~elem~0.offset) (= 0 ~guard_malloc_counter~0.offset))} is VALID [2020-07-18 00:21:16,681 INFO L275 TraceCheckUtils]: 9: Hoare quadruple {1733#(and (= 0 ~elem~0.offset) (= 0 ~guard_malloc_counter~0.offset))} {1721#true} #112#return; {1733#(and (= 0 ~elem~0.offset) (= 0 ~guard_malloc_counter~0.offset))} is VALID [2020-07-18 00:21:16,703 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2020-07-18 00:21:16,764 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2020-07-18 00:21:16,800 INFO L280 TraceCheckUtils]: 0: Hoare triple {1775#(and (= ~guard_malloc_counter~0.offset |old(~guard_malloc_counter~0.offset)|) (= ~guard_malloc_counter~0.base |old(~guard_malloc_counter~0.base)|))} ~size := #in~size; {1776#(= ~guard_malloc_counter~0.offset |old(~guard_malloc_counter~0.offset)|)} is VALID [2020-07-18 00:21:16,801 INFO L280 TraceCheckUtils]: 1: Hoare triple {1776#(= ~guard_malloc_counter~0.offset |old(~guard_malloc_counter~0.offset)|)} assume ~size > 0; {1776#(= ~guard_malloc_counter~0.offset |old(~guard_malloc_counter~0.offset)|)} is VALID [2020-07-18 00:21:16,802 INFO L280 TraceCheckUtils]: 2: Hoare triple {1776#(= ~guard_malloc_counter~0.offset |old(~guard_malloc_counter~0.offset)|)} #t~post28.base, #t~post28.offset := ~guard_malloc_counter~0.base, ~guard_malloc_counter~0.offset; {1789#(= |old(~guard_malloc_counter~0.offset)| |__getMemory_#t~post28.offset|)} is VALID [2020-07-18 00:21:16,803 INFO L280 TraceCheckUtils]: 3: Hoare triple {1789#(= |old(~guard_malloc_counter~0.offset)| |__getMemory_#t~post28.offset|)} ~guard_malloc_counter~0.base, ~guard_malloc_counter~0.offset := #t~post28.base, 1 + #t~post28.offset; {1788#(<= (+ |old(~guard_malloc_counter~0.offset)| 1) ~guard_malloc_counter~0.offset)} is VALID [2020-07-18 00:21:16,804 INFO L280 TraceCheckUtils]: 4: Hoare triple {1788#(<= (+ |old(~guard_malloc_counter~0.offset)| 1) ~guard_malloc_counter~0.offset)} havoc #t~post28.base, #t~post28.offset; {1788#(<= (+ |old(~guard_malloc_counter~0.offset)| 1) ~guard_malloc_counter~0.offset)} is VALID [2020-07-18 00:21:16,805 INFO L280 TraceCheckUtils]: 5: Hoare triple {1788#(<= (+ |old(~guard_malloc_counter~0.offset)| 1) ~guard_malloc_counter~0.offset)} assume -2147483648 <= #t~nondet29 && #t~nondet29 <= 2147483647; {1788#(<= (+ |old(~guard_malloc_counter~0.offset)| 1) ~guard_malloc_counter~0.offset)} is VALID [2020-07-18 00:21:16,806 INFO L280 TraceCheckUtils]: 6: Hoare triple {1788#(<= (+ |old(~guard_malloc_counter~0.offset)| 1) ~guard_malloc_counter~0.offset)} assume !(0 == #t~nondet29); {1788#(<= (+ |old(~guard_malloc_counter~0.offset)| 1) ~guard_malloc_counter~0.offset)} is VALID [2020-07-18 00:21:16,806 INFO L280 TraceCheckUtils]: 7: Hoare triple {1788#(<= (+ |old(~guard_malloc_counter~0.offset)| 1) ~guard_malloc_counter~0.offset)} havoc #t~nondet29; {1788#(<= (+ |old(~guard_malloc_counter~0.offset)| 1) ~guard_malloc_counter~0.offset)} is VALID [2020-07-18 00:21:16,807 INFO L280 TraceCheckUtils]: 8: Hoare triple {1788#(<= (+ |old(~guard_malloc_counter~0.offset)| 1) ~guard_malloc_counter~0.offset)} #res.base, #res.offset := ~guard_malloc_counter~0.base, ~guard_malloc_counter~0.offset; {1788#(<= (+ |old(~guard_malloc_counter~0.offset)| 1) ~guard_malloc_counter~0.offset)} is VALID [2020-07-18 00:21:16,808 INFO L280 TraceCheckUtils]: 9: Hoare triple {1788#(<= (+ |old(~guard_malloc_counter~0.offset)| 1) ~guard_malloc_counter~0.offset)} assume true; {1788#(<= (+ |old(~guard_malloc_counter~0.offset)| 1) ~guard_malloc_counter~0.offset)} is VALID [2020-07-18 00:21:16,809 INFO L275 TraceCheckUtils]: 10: Hoare quadruple {1788#(<= (+ |old(~guard_malloc_counter~0.offset)| 1) ~guard_malloc_counter~0.offset)} {1776#(= ~guard_malloc_counter~0.offset |old(~guard_malloc_counter~0.offset)|)} #92#return; {1788#(<= (+ |old(~guard_malloc_counter~0.offset)| 1) ~guard_malloc_counter~0.offset)} is VALID [2020-07-18 00:21:16,811 INFO L280 TraceCheckUtils]: 0: Hoare triple {1775#(and (= ~guard_malloc_counter~0.offset |old(~guard_malloc_counter~0.offset)|) (= ~guard_malloc_counter~0.base |old(~guard_malloc_counter~0.base)|))} ~size := #in~size; {1776#(= ~guard_malloc_counter~0.offset |old(~guard_malloc_counter~0.offset)|)} is VALID [2020-07-18 00:21:16,812 INFO L263 TraceCheckUtils]: 1: Hoare triple {1776#(= ~guard_malloc_counter~0.offset |old(~guard_malloc_counter~0.offset)|)} call #t~ret30.base, #t~ret30.offset := __getMemory(~size); {1775#(and (= ~guard_malloc_counter~0.offset |old(~guard_malloc_counter~0.offset)|) (= ~guard_malloc_counter~0.base |old(~guard_malloc_counter~0.base)|))} is VALID [2020-07-18 00:21:16,813 INFO L280 TraceCheckUtils]: 2: Hoare triple {1775#(and (= ~guard_malloc_counter~0.offset |old(~guard_malloc_counter~0.offset)|) (= ~guard_malloc_counter~0.base |old(~guard_malloc_counter~0.base)|))} ~size := #in~size; {1776#(= ~guard_malloc_counter~0.offset |old(~guard_malloc_counter~0.offset)|)} is VALID [2020-07-18 00:21:16,814 INFO L280 TraceCheckUtils]: 3: Hoare triple {1776#(= ~guard_malloc_counter~0.offset |old(~guard_malloc_counter~0.offset)|)} assume ~size > 0; {1776#(= ~guard_malloc_counter~0.offset |old(~guard_malloc_counter~0.offset)|)} is VALID [2020-07-18 00:21:16,815 INFO L280 TraceCheckUtils]: 4: Hoare triple {1776#(= ~guard_malloc_counter~0.offset |old(~guard_malloc_counter~0.offset)|)} #t~post28.base, #t~post28.offset := ~guard_malloc_counter~0.base, ~guard_malloc_counter~0.offset; {1789#(= |old(~guard_malloc_counter~0.offset)| |__getMemory_#t~post28.offset|)} is VALID [2020-07-18 00:21:16,816 INFO L280 TraceCheckUtils]: 5: Hoare triple {1789#(= |old(~guard_malloc_counter~0.offset)| |__getMemory_#t~post28.offset|)} ~guard_malloc_counter~0.base, ~guard_malloc_counter~0.offset := #t~post28.base, 1 + #t~post28.offset; {1788#(<= (+ |old(~guard_malloc_counter~0.offset)| 1) ~guard_malloc_counter~0.offset)} is VALID [2020-07-18 00:21:16,817 INFO L280 TraceCheckUtils]: 6: Hoare triple {1788#(<= (+ |old(~guard_malloc_counter~0.offset)| 1) ~guard_malloc_counter~0.offset)} havoc #t~post28.base, #t~post28.offset; {1788#(<= (+ |old(~guard_malloc_counter~0.offset)| 1) ~guard_malloc_counter~0.offset)} is VALID [2020-07-18 00:21:16,818 INFO L280 TraceCheckUtils]: 7: Hoare triple {1788#(<= (+ |old(~guard_malloc_counter~0.offset)| 1) ~guard_malloc_counter~0.offset)} assume -2147483648 <= #t~nondet29 && #t~nondet29 <= 2147483647; {1788#(<= (+ |old(~guard_malloc_counter~0.offset)| 1) ~guard_malloc_counter~0.offset)} is VALID [2020-07-18 00:21:16,818 INFO L280 TraceCheckUtils]: 8: Hoare triple {1788#(<= (+ |old(~guard_malloc_counter~0.offset)| 1) ~guard_malloc_counter~0.offset)} assume !(0 == #t~nondet29); {1788#(<= (+ |old(~guard_malloc_counter~0.offset)| 1) ~guard_malloc_counter~0.offset)} is VALID [2020-07-18 00:21:16,819 INFO L280 TraceCheckUtils]: 9: Hoare triple {1788#(<= (+ |old(~guard_malloc_counter~0.offset)| 1) ~guard_malloc_counter~0.offset)} havoc #t~nondet29; {1788#(<= (+ |old(~guard_malloc_counter~0.offset)| 1) ~guard_malloc_counter~0.offset)} is VALID [2020-07-18 00:21:16,820 INFO L280 TraceCheckUtils]: 10: Hoare triple {1788#(<= (+ |old(~guard_malloc_counter~0.offset)| 1) ~guard_malloc_counter~0.offset)} #res.base, #res.offset := ~guard_malloc_counter~0.base, ~guard_malloc_counter~0.offset; {1788#(<= (+ |old(~guard_malloc_counter~0.offset)| 1) ~guard_malloc_counter~0.offset)} is VALID [2020-07-18 00:21:16,821 INFO L280 TraceCheckUtils]: 11: Hoare triple {1788#(<= (+ |old(~guard_malloc_counter~0.offset)| 1) ~guard_malloc_counter~0.offset)} assume true; {1788#(<= (+ |old(~guard_malloc_counter~0.offset)| 1) ~guard_malloc_counter~0.offset)} is VALID [2020-07-18 00:21:16,823 INFO L275 TraceCheckUtils]: 12: Hoare quadruple {1788#(<= (+ |old(~guard_malloc_counter~0.offset)| 1) ~guard_malloc_counter~0.offset)} {1776#(= ~guard_malloc_counter~0.offset |old(~guard_malloc_counter~0.offset)|)} #92#return; {1788#(<= (+ |old(~guard_malloc_counter~0.offset)| 1) ~guard_malloc_counter~0.offset)} is VALID [2020-07-18 00:21:16,823 INFO L280 TraceCheckUtils]: 13: Hoare triple {1788#(<= (+ |old(~guard_malloc_counter~0.offset)| 1) ~guard_malloc_counter~0.offset)} #res.base, #res.offset := #t~ret30.base, #t~ret30.offset; {1788#(<= (+ |old(~guard_malloc_counter~0.offset)| 1) ~guard_malloc_counter~0.offset)} is VALID [2020-07-18 00:21:16,824 INFO L280 TraceCheckUtils]: 14: Hoare triple {1788#(<= (+ |old(~guard_malloc_counter~0.offset)| 1) ~guard_malloc_counter~0.offset)} havoc #t~ret30.base, #t~ret30.offset; {1788#(<= (+ |old(~guard_malloc_counter~0.offset)| 1) ~guard_malloc_counter~0.offset)} is VALID [2020-07-18 00:21:16,825 INFO L280 TraceCheckUtils]: 15: Hoare triple {1788#(<= (+ |old(~guard_malloc_counter~0.offset)| 1) ~guard_malloc_counter~0.offset)} assume true; {1788#(<= (+ |old(~guard_malloc_counter~0.offset)| 1) ~guard_malloc_counter~0.offset)} is VALID [2020-07-18 00:21:16,826 INFO L275 TraceCheckUtils]: 16: Hoare quadruple {1788#(<= (+ |old(~guard_malloc_counter~0.offset)| 1) ~guard_malloc_counter~0.offset)} {1733#(and (= 0 ~elem~0.offset) (= 0 ~guard_malloc_counter~0.offset))} #94#return; {1751#(and (= 0 ~elem~0.offset) (<= 1 ~guard_malloc_counter~0.offset))} is VALID [2020-07-18 00:21:16,832 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2020-07-18 00:21:16,895 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2020-07-18 00:21:16,933 INFO L280 TraceCheckUtils]: 0: Hoare triple {1775#(and (= ~guard_malloc_counter~0.offset |old(~guard_malloc_counter~0.offset)|) (= ~guard_malloc_counter~0.base |old(~guard_malloc_counter~0.base)|))} ~size := #in~size; {1776#(= ~guard_malloc_counter~0.offset |old(~guard_malloc_counter~0.offset)|)} is VALID [2020-07-18 00:21:16,934 INFO L280 TraceCheckUtils]: 1: Hoare triple {1776#(= ~guard_malloc_counter~0.offset |old(~guard_malloc_counter~0.offset)|)} assume ~size > 0; {1776#(= ~guard_malloc_counter~0.offset |old(~guard_malloc_counter~0.offset)|)} is VALID [2020-07-18 00:21:16,935 INFO L280 TraceCheckUtils]: 2: Hoare triple {1776#(= ~guard_malloc_counter~0.offset |old(~guard_malloc_counter~0.offset)|)} #t~post28.base, #t~post28.offset := ~guard_malloc_counter~0.base, ~guard_malloc_counter~0.offset; {1789#(= |old(~guard_malloc_counter~0.offset)| |__getMemory_#t~post28.offset|)} is VALID [2020-07-18 00:21:16,936 INFO L280 TraceCheckUtils]: 3: Hoare triple {1789#(= |old(~guard_malloc_counter~0.offset)| |__getMemory_#t~post28.offset|)} ~guard_malloc_counter~0.base, ~guard_malloc_counter~0.offset := #t~post28.base, 1 + #t~post28.offset; {1788#(<= (+ |old(~guard_malloc_counter~0.offset)| 1) ~guard_malloc_counter~0.offset)} is VALID [2020-07-18 00:21:16,937 INFO L280 TraceCheckUtils]: 4: Hoare triple {1788#(<= (+ |old(~guard_malloc_counter~0.offset)| 1) ~guard_malloc_counter~0.offset)} havoc #t~post28.base, #t~post28.offset; {1788#(<= (+ |old(~guard_malloc_counter~0.offset)| 1) ~guard_malloc_counter~0.offset)} is VALID [2020-07-18 00:21:16,937 INFO L280 TraceCheckUtils]: 5: Hoare triple {1788#(<= (+ |old(~guard_malloc_counter~0.offset)| 1) ~guard_malloc_counter~0.offset)} assume -2147483648 <= #t~nondet29 && #t~nondet29 <= 2147483647; {1788#(<= (+ |old(~guard_malloc_counter~0.offset)| 1) ~guard_malloc_counter~0.offset)} is VALID [2020-07-18 00:21:16,938 INFO L280 TraceCheckUtils]: 6: Hoare triple {1788#(<= (+ |old(~guard_malloc_counter~0.offset)| 1) ~guard_malloc_counter~0.offset)} assume !(0 == #t~nondet29); {1788#(<= (+ |old(~guard_malloc_counter~0.offset)| 1) ~guard_malloc_counter~0.offset)} is VALID [2020-07-18 00:21:16,939 INFO L280 TraceCheckUtils]: 7: Hoare triple {1788#(<= (+ |old(~guard_malloc_counter~0.offset)| 1) ~guard_malloc_counter~0.offset)} havoc #t~nondet29; {1788#(<= (+ |old(~guard_malloc_counter~0.offset)| 1) ~guard_malloc_counter~0.offset)} is VALID [2020-07-18 00:21:16,939 INFO L280 TraceCheckUtils]: 8: Hoare triple {1788#(<= (+ |old(~guard_malloc_counter~0.offset)| 1) ~guard_malloc_counter~0.offset)} #res.base, #res.offset := ~guard_malloc_counter~0.base, ~guard_malloc_counter~0.offset; {1803#(<= (+ |old(~guard_malloc_counter~0.offset)| 1) |__getMemory_#res.offset|)} is VALID [2020-07-18 00:21:16,940 INFO L280 TraceCheckUtils]: 9: Hoare triple {1803#(<= (+ |old(~guard_malloc_counter~0.offset)| 1) |__getMemory_#res.offset|)} assume true; {1803#(<= (+ |old(~guard_malloc_counter~0.offset)| 1) |__getMemory_#res.offset|)} is VALID [2020-07-18 00:21:16,941 INFO L275 TraceCheckUtils]: 10: Hoare quadruple {1803#(<= (+ |old(~guard_malloc_counter~0.offset)| 1) |__getMemory_#res.offset|)} {1776#(= ~guard_malloc_counter~0.offset |old(~guard_malloc_counter~0.offset)|)} #92#return; {1801#(<= (+ |old(~guard_malloc_counter~0.offset)| 1) |my_malloc_#t~ret30.offset|)} is VALID [2020-07-18 00:21:16,942 INFO L280 TraceCheckUtils]: 0: Hoare triple {1775#(and (= ~guard_malloc_counter~0.offset |old(~guard_malloc_counter~0.offset)|) (= ~guard_malloc_counter~0.base |old(~guard_malloc_counter~0.base)|))} ~size := #in~size; {1776#(= ~guard_malloc_counter~0.offset |old(~guard_malloc_counter~0.offset)|)} is VALID [2020-07-18 00:21:16,943 INFO L263 TraceCheckUtils]: 1: Hoare triple {1776#(= ~guard_malloc_counter~0.offset |old(~guard_malloc_counter~0.offset)|)} call #t~ret30.base, #t~ret30.offset := __getMemory(~size); {1775#(and (= ~guard_malloc_counter~0.offset |old(~guard_malloc_counter~0.offset)|) (= ~guard_malloc_counter~0.base |old(~guard_malloc_counter~0.base)|))} is VALID [2020-07-18 00:21:16,944 INFO L280 TraceCheckUtils]: 2: Hoare triple {1775#(and (= ~guard_malloc_counter~0.offset |old(~guard_malloc_counter~0.offset)|) (= ~guard_malloc_counter~0.base |old(~guard_malloc_counter~0.base)|))} ~size := #in~size; {1776#(= ~guard_malloc_counter~0.offset |old(~guard_malloc_counter~0.offset)|)} is VALID [2020-07-18 00:21:16,945 INFO L280 TraceCheckUtils]: 3: Hoare triple {1776#(= ~guard_malloc_counter~0.offset |old(~guard_malloc_counter~0.offset)|)} assume ~size > 0; {1776#(= ~guard_malloc_counter~0.offset |old(~guard_malloc_counter~0.offset)|)} is VALID [2020-07-18 00:21:16,946 INFO L280 TraceCheckUtils]: 4: Hoare triple {1776#(= ~guard_malloc_counter~0.offset |old(~guard_malloc_counter~0.offset)|)} #t~post28.base, #t~post28.offset := ~guard_malloc_counter~0.base, ~guard_malloc_counter~0.offset; {1789#(= |old(~guard_malloc_counter~0.offset)| |__getMemory_#t~post28.offset|)} is VALID [2020-07-18 00:21:16,946 INFO L280 TraceCheckUtils]: 5: Hoare triple {1789#(= |old(~guard_malloc_counter~0.offset)| |__getMemory_#t~post28.offset|)} ~guard_malloc_counter~0.base, ~guard_malloc_counter~0.offset := #t~post28.base, 1 + #t~post28.offset; {1788#(<= (+ |old(~guard_malloc_counter~0.offset)| 1) ~guard_malloc_counter~0.offset)} is VALID [2020-07-18 00:21:16,947 INFO L280 TraceCheckUtils]: 6: Hoare triple {1788#(<= (+ |old(~guard_malloc_counter~0.offset)| 1) ~guard_malloc_counter~0.offset)} havoc #t~post28.base, #t~post28.offset; {1788#(<= (+ |old(~guard_malloc_counter~0.offset)| 1) ~guard_malloc_counter~0.offset)} is VALID [2020-07-18 00:21:16,948 INFO L280 TraceCheckUtils]: 7: Hoare triple {1788#(<= (+ |old(~guard_malloc_counter~0.offset)| 1) ~guard_malloc_counter~0.offset)} assume -2147483648 <= #t~nondet29 && #t~nondet29 <= 2147483647; {1788#(<= (+ |old(~guard_malloc_counter~0.offset)| 1) ~guard_malloc_counter~0.offset)} is VALID [2020-07-18 00:21:16,948 INFO L280 TraceCheckUtils]: 8: Hoare triple {1788#(<= (+ |old(~guard_malloc_counter~0.offset)| 1) ~guard_malloc_counter~0.offset)} assume !(0 == #t~nondet29); {1788#(<= (+ |old(~guard_malloc_counter~0.offset)| 1) ~guard_malloc_counter~0.offset)} is VALID [2020-07-18 00:21:16,949 INFO L280 TraceCheckUtils]: 9: Hoare triple {1788#(<= (+ |old(~guard_malloc_counter~0.offset)| 1) ~guard_malloc_counter~0.offset)} havoc #t~nondet29; {1788#(<= (+ |old(~guard_malloc_counter~0.offset)| 1) ~guard_malloc_counter~0.offset)} is VALID [2020-07-18 00:21:16,950 INFO L280 TraceCheckUtils]: 10: Hoare triple {1788#(<= (+ |old(~guard_malloc_counter~0.offset)| 1) ~guard_malloc_counter~0.offset)} #res.base, #res.offset := ~guard_malloc_counter~0.base, ~guard_malloc_counter~0.offset; {1803#(<= (+ |old(~guard_malloc_counter~0.offset)| 1) |__getMemory_#res.offset|)} is VALID [2020-07-18 00:21:16,950 INFO L280 TraceCheckUtils]: 11: Hoare triple {1803#(<= (+ |old(~guard_malloc_counter~0.offset)| 1) |__getMemory_#res.offset|)} assume true; {1803#(<= (+ |old(~guard_malloc_counter~0.offset)| 1) |__getMemory_#res.offset|)} is VALID [2020-07-18 00:21:16,952 INFO L275 TraceCheckUtils]: 12: Hoare quadruple {1803#(<= (+ |old(~guard_malloc_counter~0.offset)| 1) |__getMemory_#res.offset|)} {1776#(= ~guard_malloc_counter~0.offset |old(~guard_malloc_counter~0.offset)|)} #92#return; {1801#(<= (+ |old(~guard_malloc_counter~0.offset)| 1) |my_malloc_#t~ret30.offset|)} is VALID [2020-07-18 00:21:16,953 INFO L280 TraceCheckUtils]: 13: Hoare triple {1801#(<= (+ |old(~guard_malloc_counter~0.offset)| 1) |my_malloc_#t~ret30.offset|)} #res.base, #res.offset := #t~ret30.base, #t~ret30.offset; {1802#(<= (+ |old(~guard_malloc_counter~0.offset)| 1) |my_malloc_#res.offset|)} is VALID [2020-07-18 00:21:16,953 INFO L280 TraceCheckUtils]: 14: Hoare triple {1802#(<= (+ |old(~guard_malloc_counter~0.offset)| 1) |my_malloc_#res.offset|)} havoc #t~ret30.base, #t~ret30.offset; {1802#(<= (+ |old(~guard_malloc_counter~0.offset)| 1) |my_malloc_#res.offset|)} is VALID [2020-07-18 00:21:16,954 INFO L280 TraceCheckUtils]: 15: Hoare triple {1802#(<= (+ |old(~guard_malloc_counter~0.offset)| 1) |my_malloc_#res.offset|)} assume true; {1802#(<= (+ |old(~guard_malloc_counter~0.offset)| 1) |my_malloc_#res.offset|)} is VALID [2020-07-18 00:21:16,956 INFO L275 TraceCheckUtils]: 16: Hoare quadruple {1802#(<= (+ |old(~guard_malloc_counter~0.offset)| 1) |my_malloc_#res.offset|)} {1751#(and (= 0 ~elem~0.offset) (<= 1 ~guard_malloc_counter~0.offset))} #96#return; {1769#(and (= 0 ~elem~0.offset) (<= 2 |main_#t~ret33.offset|))} is VALID [2020-07-18 00:21:16,958 INFO L263 TraceCheckUtils]: 0: Hoare triple {1721#true} call ULTIMATE.init(); {1773#(and (= |#valid| |old(#valid)|) (= ~elem~0.base |old(~elem~0.base)|) (= |#NULL.base| |old(#NULL.base)|) (= |~#head~0.base| |old(~#head~0.base)|) (= ~guard_malloc_counter~0.offset |old(~guard_malloc_counter~0.offset)|) (= |#NULL.offset| |old(#NULL.offset)|) (= ~elem~0.offset |old(~elem~0.offset)|) (= |old(#length)| |#length|) (= |~#head~0.offset| |old(~#head~0.offset)|) (= ~guard_malloc_counter~0.base |old(~guard_malloc_counter~0.base)|))} is VALID [2020-07-18 00:21:16,958 INFO L280 TraceCheckUtils]: 1: Hoare triple {1773#(and (= |#valid| |old(#valid)|) (= ~elem~0.base |old(~elem~0.base)|) (= |#NULL.base| |old(#NULL.base)|) (= |~#head~0.base| |old(~#head~0.base)|) (= ~guard_malloc_counter~0.offset |old(~guard_malloc_counter~0.offset)|) (= |#NULL.offset| |old(#NULL.offset)|) (= ~elem~0.offset |old(~elem~0.offset)|) (= |old(#length)| |#length|) (= |~#head~0.offset| |old(~#head~0.offset)|) (= ~guard_malloc_counter~0.base |old(~guard_malloc_counter~0.base)|))} #NULL.base, #NULL.offset := 0, 0; {1721#true} is VALID [2020-07-18 00:21:16,958 INFO L280 TraceCheckUtils]: 2: Hoare triple {1721#true} #valid := #valid[0 := 0]; {1721#true} is VALID [2020-07-18 00:21:16,959 INFO L280 TraceCheckUtils]: 3: Hoare triple {1721#true} assume 0 < #StackHeapBarrier; {1721#true} is VALID [2020-07-18 00:21:16,959 INFO L280 TraceCheckUtils]: 4: Hoare triple {1721#true} ~guard_malloc_counter~0.base, ~guard_malloc_counter~0.offset := 0, 0; {1774#(= 0 ~guard_malloc_counter~0.offset)} is VALID [2020-07-18 00:21:16,960 INFO L280 TraceCheckUtils]: 5: Hoare triple {1774#(= 0 ~guard_malloc_counter~0.offset)} ~elem~0.base, ~elem~0.offset := 0, 0; {1733#(and (= 0 ~elem~0.offset) (= 0 ~guard_malloc_counter~0.offset))} is VALID [2020-07-18 00:21:16,961 INFO L280 TraceCheckUtils]: 6: Hoare triple {1733#(and (= 0 ~elem~0.offset) (= 0 ~guard_malloc_counter~0.offset))} SUMMARY for call ~#head~0.base, ~#head~0.offset := #Ultimate.allocOnStack(8); srcloc: L900 {1733#(and (= 0 ~elem~0.offset) (= 0 ~guard_malloc_counter~0.offset))} is VALID [2020-07-18 00:21:16,962 INFO L280 TraceCheckUtils]: 7: Hoare triple {1733#(and (= 0 ~elem~0.offset) (= 0 ~guard_malloc_counter~0.offset))} SUMMARY for call write~init~$Pointer$(0, 0, ~#head~0.base, ~#head~0.offset, 4); srcloc: L900-1 {1733#(and (= 0 ~elem~0.offset) (= 0 ~guard_malloc_counter~0.offset))} is VALID [2020-07-18 00:21:16,963 INFO L280 TraceCheckUtils]: 8: Hoare triple {1733#(and (= 0 ~elem~0.offset) (= 0 ~guard_malloc_counter~0.offset))} SUMMARY for call write~init~$Pointer$(0, 0, ~#head~0.base, 4 + ~#head~0.offset, 4); srcloc: L900-2 {1733#(and (= 0 ~elem~0.offset) (= 0 ~guard_malloc_counter~0.offset))} is VALID [2020-07-18 00:21:16,963 INFO L280 TraceCheckUtils]: 9: Hoare triple {1733#(and (= 0 ~elem~0.offset) (= 0 ~guard_malloc_counter~0.offset))} assume true; {1733#(and (= 0 ~elem~0.offset) (= 0 ~guard_malloc_counter~0.offset))} is VALID [2020-07-18 00:21:16,964 INFO L275 TraceCheckUtils]: 10: Hoare quadruple {1733#(and (= 0 ~elem~0.offset) (= 0 ~guard_malloc_counter~0.offset))} {1721#true} #112#return; {1733#(and (= 0 ~elem~0.offset) (= 0 ~guard_malloc_counter~0.offset))} is VALID [2020-07-18 00:21:16,965 INFO L263 TraceCheckUtils]: 11: Hoare triple {1733#(and (= 0 ~elem~0.offset) (= 0 ~guard_malloc_counter~0.offset))} call #t~ret34 := main(); {1733#(and (= 0 ~elem~0.offset) (= 0 ~guard_malloc_counter~0.offset))} is VALID [2020-07-18 00:21:16,966 INFO L280 TraceCheckUtils]: 12: Hoare triple {1733#(and (= 0 ~elem~0.offset) (= 0 ~guard_malloc_counter~0.offset))} havoc ~dev1~0.base, ~dev1~0.offset; {1733#(and (= 0 ~elem~0.offset) (= 0 ~guard_malloc_counter~0.offset))} is VALID [2020-07-18 00:21:16,966 INFO L280 TraceCheckUtils]: 13: Hoare triple {1733#(and (= 0 ~elem~0.offset) (= 0 ~guard_malloc_counter~0.offset))} havoc ~dev2~0.base, ~dev2~0.offset; {1733#(and (= 0 ~elem~0.offset) (= 0 ~guard_malloc_counter~0.offset))} is VALID [2020-07-18 00:21:16,968 INFO L263 TraceCheckUtils]: 14: Hoare triple {1733#(and (= 0 ~elem~0.offset) (= 0 ~guard_malloc_counter~0.offset))} call #t~ret32.base, #t~ret32.offset := my_malloc(8); {1775#(and (= ~guard_malloc_counter~0.offset |old(~guard_malloc_counter~0.offset)|) (= ~guard_malloc_counter~0.base |old(~guard_malloc_counter~0.base)|))} is VALID [2020-07-18 00:21:16,968 INFO L280 TraceCheckUtils]: 15: Hoare triple {1775#(and (= ~guard_malloc_counter~0.offset |old(~guard_malloc_counter~0.offset)|) (= ~guard_malloc_counter~0.base |old(~guard_malloc_counter~0.base)|))} ~size := #in~size; {1776#(= ~guard_malloc_counter~0.offset |old(~guard_malloc_counter~0.offset)|)} is VALID [2020-07-18 00:21:16,969 INFO L263 TraceCheckUtils]: 16: Hoare triple {1776#(= ~guard_malloc_counter~0.offset |old(~guard_malloc_counter~0.offset)|)} call #t~ret30.base, #t~ret30.offset := __getMemory(~size); {1775#(and (= ~guard_malloc_counter~0.offset |old(~guard_malloc_counter~0.offset)|) (= ~guard_malloc_counter~0.base |old(~guard_malloc_counter~0.base)|))} is VALID [2020-07-18 00:21:16,970 INFO L280 TraceCheckUtils]: 17: Hoare triple {1775#(and (= ~guard_malloc_counter~0.offset |old(~guard_malloc_counter~0.offset)|) (= ~guard_malloc_counter~0.base |old(~guard_malloc_counter~0.base)|))} ~size := #in~size; {1776#(= ~guard_malloc_counter~0.offset |old(~guard_malloc_counter~0.offset)|)} is VALID [2020-07-18 00:21:16,970 INFO L280 TraceCheckUtils]: 18: Hoare triple {1776#(= ~guard_malloc_counter~0.offset |old(~guard_malloc_counter~0.offset)|)} assume ~size > 0; {1776#(= ~guard_malloc_counter~0.offset |old(~guard_malloc_counter~0.offset)|)} is VALID [2020-07-18 00:21:16,971 INFO L280 TraceCheckUtils]: 19: Hoare triple {1776#(= ~guard_malloc_counter~0.offset |old(~guard_malloc_counter~0.offset)|)} #t~post28.base, #t~post28.offset := ~guard_malloc_counter~0.base, ~guard_malloc_counter~0.offset; {1789#(= |old(~guard_malloc_counter~0.offset)| |__getMemory_#t~post28.offset|)} is VALID [2020-07-18 00:21:16,972 INFO L280 TraceCheckUtils]: 20: Hoare triple {1789#(= |old(~guard_malloc_counter~0.offset)| |__getMemory_#t~post28.offset|)} ~guard_malloc_counter~0.base, ~guard_malloc_counter~0.offset := #t~post28.base, 1 + #t~post28.offset; {1788#(<= (+ |old(~guard_malloc_counter~0.offset)| 1) ~guard_malloc_counter~0.offset)} is VALID [2020-07-18 00:21:16,973 INFO L280 TraceCheckUtils]: 21: Hoare triple {1788#(<= (+ |old(~guard_malloc_counter~0.offset)| 1) ~guard_malloc_counter~0.offset)} havoc #t~post28.base, #t~post28.offset; {1788#(<= (+ |old(~guard_malloc_counter~0.offset)| 1) ~guard_malloc_counter~0.offset)} is VALID [2020-07-18 00:21:16,973 INFO L280 TraceCheckUtils]: 22: Hoare triple {1788#(<= (+ |old(~guard_malloc_counter~0.offset)| 1) ~guard_malloc_counter~0.offset)} assume -2147483648 <= #t~nondet29 && #t~nondet29 <= 2147483647; {1788#(<= (+ |old(~guard_malloc_counter~0.offset)| 1) ~guard_malloc_counter~0.offset)} is VALID [2020-07-18 00:21:16,974 INFO L280 TraceCheckUtils]: 23: Hoare triple {1788#(<= (+ |old(~guard_malloc_counter~0.offset)| 1) ~guard_malloc_counter~0.offset)} assume !(0 == #t~nondet29); {1788#(<= (+ |old(~guard_malloc_counter~0.offset)| 1) ~guard_malloc_counter~0.offset)} is VALID [2020-07-18 00:21:16,974 INFO L280 TraceCheckUtils]: 24: Hoare triple {1788#(<= (+ |old(~guard_malloc_counter~0.offset)| 1) ~guard_malloc_counter~0.offset)} havoc #t~nondet29; {1788#(<= (+ |old(~guard_malloc_counter~0.offset)| 1) ~guard_malloc_counter~0.offset)} is VALID [2020-07-18 00:21:16,975 INFO L280 TraceCheckUtils]: 25: Hoare triple {1788#(<= (+ |old(~guard_malloc_counter~0.offset)| 1) ~guard_malloc_counter~0.offset)} #res.base, #res.offset := ~guard_malloc_counter~0.base, ~guard_malloc_counter~0.offset; {1788#(<= (+ |old(~guard_malloc_counter~0.offset)| 1) ~guard_malloc_counter~0.offset)} is VALID [2020-07-18 00:21:16,975 INFO L280 TraceCheckUtils]: 26: Hoare triple {1788#(<= (+ |old(~guard_malloc_counter~0.offset)| 1) ~guard_malloc_counter~0.offset)} assume true; {1788#(<= (+ |old(~guard_malloc_counter~0.offset)| 1) ~guard_malloc_counter~0.offset)} is VALID [2020-07-18 00:21:16,977 INFO L275 TraceCheckUtils]: 27: Hoare quadruple {1788#(<= (+ |old(~guard_malloc_counter~0.offset)| 1) ~guard_malloc_counter~0.offset)} {1776#(= ~guard_malloc_counter~0.offset |old(~guard_malloc_counter~0.offset)|)} #92#return; {1788#(<= (+ |old(~guard_malloc_counter~0.offset)| 1) ~guard_malloc_counter~0.offset)} is VALID [2020-07-18 00:21:16,978 INFO L280 TraceCheckUtils]: 28: Hoare triple {1788#(<= (+ |old(~guard_malloc_counter~0.offset)| 1) ~guard_malloc_counter~0.offset)} #res.base, #res.offset := #t~ret30.base, #t~ret30.offset; {1788#(<= (+ |old(~guard_malloc_counter~0.offset)| 1) ~guard_malloc_counter~0.offset)} is VALID [2020-07-18 00:21:16,978 INFO L280 TraceCheckUtils]: 29: Hoare triple {1788#(<= (+ |old(~guard_malloc_counter~0.offset)| 1) ~guard_malloc_counter~0.offset)} havoc #t~ret30.base, #t~ret30.offset; {1788#(<= (+ |old(~guard_malloc_counter~0.offset)| 1) ~guard_malloc_counter~0.offset)} is VALID [2020-07-18 00:21:16,979 INFO L280 TraceCheckUtils]: 30: Hoare triple {1788#(<= (+ |old(~guard_malloc_counter~0.offset)| 1) ~guard_malloc_counter~0.offset)} assume true; {1788#(<= (+ |old(~guard_malloc_counter~0.offset)| 1) ~guard_malloc_counter~0.offset)} is VALID [2020-07-18 00:21:16,980 INFO L275 TraceCheckUtils]: 31: Hoare quadruple {1788#(<= (+ |old(~guard_malloc_counter~0.offset)| 1) ~guard_malloc_counter~0.offset)} {1733#(and (= 0 ~elem~0.offset) (= 0 ~guard_malloc_counter~0.offset))} #94#return; {1751#(and (= 0 ~elem~0.offset) (<= 1 ~guard_malloc_counter~0.offset))} is VALID [2020-07-18 00:21:16,981 INFO L280 TraceCheckUtils]: 32: Hoare triple {1751#(and (= 0 ~elem~0.offset) (<= 1 ~guard_malloc_counter~0.offset))} ~dev1~0.base, ~dev1~0.offset := #t~ret32.base, #t~ret32.offset; {1751#(and (= 0 ~elem~0.offset) (<= 1 ~guard_malloc_counter~0.offset))} is VALID [2020-07-18 00:21:16,982 INFO L280 TraceCheckUtils]: 33: Hoare triple {1751#(and (= 0 ~elem~0.offset) (<= 1 ~guard_malloc_counter~0.offset))} havoc #t~ret32.base, #t~ret32.offset; {1751#(and (= 0 ~elem~0.offset) (<= 1 ~guard_malloc_counter~0.offset))} is VALID [2020-07-18 00:21:16,983 INFO L263 TraceCheckUtils]: 34: Hoare triple {1751#(and (= 0 ~elem~0.offset) (<= 1 ~guard_malloc_counter~0.offset))} call #t~ret33.base, #t~ret33.offset := my_malloc(8); {1775#(and (= ~guard_malloc_counter~0.offset |old(~guard_malloc_counter~0.offset)|) (= ~guard_malloc_counter~0.base |old(~guard_malloc_counter~0.base)|))} is VALID [2020-07-18 00:21:16,984 INFO L280 TraceCheckUtils]: 35: Hoare triple {1775#(and (= ~guard_malloc_counter~0.offset |old(~guard_malloc_counter~0.offset)|) (= ~guard_malloc_counter~0.base |old(~guard_malloc_counter~0.base)|))} ~size := #in~size; {1776#(= ~guard_malloc_counter~0.offset |old(~guard_malloc_counter~0.offset)|)} is VALID [2020-07-18 00:21:16,985 INFO L263 TraceCheckUtils]: 36: Hoare triple {1776#(= ~guard_malloc_counter~0.offset |old(~guard_malloc_counter~0.offset)|)} call #t~ret30.base, #t~ret30.offset := __getMemory(~size); {1775#(and (= ~guard_malloc_counter~0.offset |old(~guard_malloc_counter~0.offset)|) (= ~guard_malloc_counter~0.base |old(~guard_malloc_counter~0.base)|))} is VALID [2020-07-18 00:21:16,985 INFO L280 TraceCheckUtils]: 37: Hoare triple {1775#(and (= ~guard_malloc_counter~0.offset |old(~guard_malloc_counter~0.offset)|) (= ~guard_malloc_counter~0.base |old(~guard_malloc_counter~0.base)|))} ~size := #in~size; {1776#(= ~guard_malloc_counter~0.offset |old(~guard_malloc_counter~0.offset)|)} is VALID [2020-07-18 00:21:16,986 INFO L280 TraceCheckUtils]: 38: Hoare triple {1776#(= ~guard_malloc_counter~0.offset |old(~guard_malloc_counter~0.offset)|)} assume ~size > 0; {1776#(= ~guard_malloc_counter~0.offset |old(~guard_malloc_counter~0.offset)|)} is VALID [2020-07-18 00:21:16,987 INFO L280 TraceCheckUtils]: 39: Hoare triple {1776#(= ~guard_malloc_counter~0.offset |old(~guard_malloc_counter~0.offset)|)} #t~post28.base, #t~post28.offset := ~guard_malloc_counter~0.base, ~guard_malloc_counter~0.offset; {1789#(= |old(~guard_malloc_counter~0.offset)| |__getMemory_#t~post28.offset|)} is VALID [2020-07-18 00:21:16,987 INFO L280 TraceCheckUtils]: 40: Hoare triple {1789#(= |old(~guard_malloc_counter~0.offset)| |__getMemory_#t~post28.offset|)} ~guard_malloc_counter~0.base, ~guard_malloc_counter~0.offset := #t~post28.base, 1 + #t~post28.offset; {1788#(<= (+ |old(~guard_malloc_counter~0.offset)| 1) ~guard_malloc_counter~0.offset)} is VALID [2020-07-18 00:21:16,988 INFO L280 TraceCheckUtils]: 41: Hoare triple {1788#(<= (+ |old(~guard_malloc_counter~0.offset)| 1) ~guard_malloc_counter~0.offset)} havoc #t~post28.base, #t~post28.offset; {1788#(<= (+ |old(~guard_malloc_counter~0.offset)| 1) ~guard_malloc_counter~0.offset)} is VALID [2020-07-18 00:21:16,989 INFO L280 TraceCheckUtils]: 42: Hoare triple {1788#(<= (+ |old(~guard_malloc_counter~0.offset)| 1) ~guard_malloc_counter~0.offset)} assume -2147483648 <= #t~nondet29 && #t~nondet29 <= 2147483647; {1788#(<= (+ |old(~guard_malloc_counter~0.offset)| 1) ~guard_malloc_counter~0.offset)} is VALID [2020-07-18 00:21:16,989 INFO L280 TraceCheckUtils]: 43: Hoare triple {1788#(<= (+ |old(~guard_malloc_counter~0.offset)| 1) ~guard_malloc_counter~0.offset)} assume !(0 == #t~nondet29); {1788#(<= (+ |old(~guard_malloc_counter~0.offset)| 1) ~guard_malloc_counter~0.offset)} is VALID [2020-07-18 00:21:16,990 INFO L280 TraceCheckUtils]: 44: Hoare triple {1788#(<= (+ |old(~guard_malloc_counter~0.offset)| 1) ~guard_malloc_counter~0.offset)} havoc #t~nondet29; {1788#(<= (+ |old(~guard_malloc_counter~0.offset)| 1) ~guard_malloc_counter~0.offset)} is VALID [2020-07-18 00:21:16,991 INFO L280 TraceCheckUtils]: 45: Hoare triple {1788#(<= (+ |old(~guard_malloc_counter~0.offset)| 1) ~guard_malloc_counter~0.offset)} #res.base, #res.offset := ~guard_malloc_counter~0.base, ~guard_malloc_counter~0.offset; {1803#(<= (+ |old(~guard_malloc_counter~0.offset)| 1) |__getMemory_#res.offset|)} is VALID [2020-07-18 00:21:16,992 INFO L280 TraceCheckUtils]: 46: Hoare triple {1803#(<= (+ |old(~guard_malloc_counter~0.offset)| 1) |__getMemory_#res.offset|)} assume true; {1803#(<= (+ |old(~guard_malloc_counter~0.offset)| 1) |__getMemory_#res.offset|)} is VALID [2020-07-18 00:21:16,993 INFO L275 TraceCheckUtils]: 47: Hoare quadruple {1803#(<= (+ |old(~guard_malloc_counter~0.offset)| 1) |__getMemory_#res.offset|)} {1776#(= ~guard_malloc_counter~0.offset |old(~guard_malloc_counter~0.offset)|)} #92#return; {1801#(<= (+ |old(~guard_malloc_counter~0.offset)| 1) |my_malloc_#t~ret30.offset|)} is VALID [2020-07-18 00:21:16,994 INFO L280 TraceCheckUtils]: 48: Hoare triple {1801#(<= (+ |old(~guard_malloc_counter~0.offset)| 1) |my_malloc_#t~ret30.offset|)} #res.base, #res.offset := #t~ret30.base, #t~ret30.offset; {1802#(<= (+ |old(~guard_malloc_counter~0.offset)| 1) |my_malloc_#res.offset|)} is VALID [2020-07-18 00:21:16,995 INFO L280 TraceCheckUtils]: 49: Hoare triple {1802#(<= (+ |old(~guard_malloc_counter~0.offset)| 1) |my_malloc_#res.offset|)} havoc #t~ret30.base, #t~ret30.offset; {1802#(<= (+ |old(~guard_malloc_counter~0.offset)| 1) |my_malloc_#res.offset|)} is VALID [2020-07-18 00:21:16,995 INFO L280 TraceCheckUtils]: 50: Hoare triple {1802#(<= (+ |old(~guard_malloc_counter~0.offset)| 1) |my_malloc_#res.offset|)} assume true; {1802#(<= (+ |old(~guard_malloc_counter~0.offset)| 1) |my_malloc_#res.offset|)} is VALID [2020-07-18 00:21:16,997 INFO L275 TraceCheckUtils]: 51: Hoare quadruple {1802#(<= (+ |old(~guard_malloc_counter~0.offset)| 1) |my_malloc_#res.offset|)} {1751#(and (= 0 ~elem~0.offset) (<= 1 ~guard_malloc_counter~0.offset))} #96#return; {1769#(and (= 0 ~elem~0.offset) (<= 2 |main_#t~ret33.offset|))} is VALID [2020-07-18 00:21:16,998 INFO L280 TraceCheckUtils]: 52: Hoare triple {1769#(and (= 0 ~elem~0.offset) (<= 2 |main_#t~ret33.offset|))} ~dev2~0.base, ~dev2~0.offset := #t~ret33.base, #t~ret33.offset; {1770#(and (= 0 ~elem~0.offset) (<= 2 main_~dev2~0.offset))} is VALID [2020-07-18 00:21:16,999 INFO L280 TraceCheckUtils]: 53: Hoare triple {1770#(and (= 0 ~elem~0.offset) (<= 2 main_~dev2~0.offset))} havoc #t~ret33.base, #t~ret33.offset; {1770#(and (= 0 ~elem~0.offset) (<= 2 main_~dev2~0.offset))} is VALID [2020-07-18 00:21:16,999 INFO L280 TraceCheckUtils]: 54: Hoare triple {1770#(and (= 0 ~elem~0.offset) (<= 2 main_~dev2~0.offset))} assume (~dev1~0.base != 0 || ~dev1~0.offset != 0) && (~dev2~0.base != 0 || ~dev2~0.offset != 0); {1770#(and (= 0 ~elem~0.offset) (<= 2 main_~dev2~0.offset))} is VALID [2020-07-18 00:21:17,001 INFO L263 TraceCheckUtils]: 55: Hoare triple {1770#(and (= 0 ~elem~0.offset) (<= 2 main_~dev2~0.offset))} call list_add(~dev2~0.base, ~dev2~0.offset, ~#head~0.base, ~#head~0.offset); {1771#(and (= 0 ~elem~0.offset) (<= 2 |list_add_#in~new.offset|))} is VALID [2020-07-18 00:21:17,002 INFO L280 TraceCheckUtils]: 56: Hoare triple {1771#(and (= 0 ~elem~0.offset) (<= 2 |list_add_#in~new.offset|))} ~new.base, ~new.offset := #in~new.base, #in~new.offset; {1772#(and (= 0 ~elem~0.offset) (not (= 0 list_add_~new.offset)))} is VALID [2020-07-18 00:21:17,002 INFO L280 TraceCheckUtils]: 57: Hoare triple {1772#(and (= 0 ~elem~0.offset) (not (= 0 list_add_~new.offset)))} ~head.base, ~head.offset := #in~head.base, #in~head.offset; {1772#(and (= 0 ~elem~0.offset) (not (= 0 list_add_~new.offset)))} is VALID [2020-07-18 00:21:17,003 INFO L280 TraceCheckUtils]: 58: Hoare triple {1772#(and (= 0 ~elem~0.offset) (not (= 0 list_add_~new.offset)))} assume !(~new.base != ~elem~0.base || ~new.offset != ~elem~0.offset); {1722#false} is VALID [2020-07-18 00:21:17,003 INFO L263 TraceCheckUtils]: 59: Hoare triple {1722#false} call __blast_assert(); {1722#false} is VALID [2020-07-18 00:21:17,004 INFO L280 TraceCheckUtils]: 60: Hoare triple {1722#false} assume !false; {1722#false} is VALID [2020-07-18 00:21:17,010 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 00:21:17,013 INFO L192 leratedInterpolation]: Finished Analysing Program using PRECISE loop Acceleration [2020-07-18 00:21:17,014 INFO L354 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModulePreferences [1433046324] [2020-07-18 00:21:17,014 INFO L220 FreeRefinementEngine]: Constructing automaton from 1 perfect and 0 imperfect interpolant sequences. [2020-07-18 00:21:17,014 INFO L233 FreeRefinementEngine]: Number of different interpolants: perfect sequences [17] imperfect sequences [] total 17 [2020-07-18 00:21:17,014 INFO L156 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [465775170] [2020-07-18 00:21:17,015 INFO L78 Accepts]: Start accepts. Automaton has 17 states. Word has length 61 [2020-07-18 00:21:17,015 INFO L84 Accepts]: Finished accepts. word is accepted. [2020-07-18 00:21:17,015 INFO L86 InductivityCheck]: Starting indutivity check of a Floyd-Hoare automaton with 17 states. [2020-07-18 00:21:17,081 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 00:21:17,082 INFO L459 AbstractCegarLoop]: Interpolant automaton has 17 states [2020-07-18 00:21:17,082 INFO L143 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy FIXED_PREFERENCES [2020-07-18 00:21:17,082 INFO L142 InterpolantAutomaton]: Constructing interpolant automaton starting with 17 interpolants. [2020-07-18 00:21:17,083 INFO L144 InterpolantAutomaton]: CoverageRelationStatistics Valid=35, Invalid=237, Unknown=0, NotChecked=0, Total=272 [2020-07-18 00:21:17,083 INFO L87 Difference]: Start difference. First operand 61 states and 66 transitions. Second operand 17 states. [2020-07-18 00:21:21,171 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2020-07-18 00:21:21,171 INFO L93 Difference]: Finished difference Result 108 states and 121 transitions. [2020-07-18 00:21:21,171 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 23 states. [2020-07-18 00:21:21,172 INFO L78 Accepts]: Start accepts. Automaton has 17 states. Word has length 61 [2020-07-18 00:21:21,172 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2020-07-18 00:21:21,172 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 17 states. [2020-07-18 00:21:21,176 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 23 states to 23 states and 121 transitions. [2020-07-18 00:21:21,177 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 17 states. [2020-07-18 00:21:21,180 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 23 states to 23 states and 121 transitions. [2020-07-18 00:21:21,181 INFO L86 InductivityCheck]: Starting indutivity check of a Floyd-Hoare automaton with 23 states and 121 transitions. [2020-07-18 00:21:21,426 INFO L119 InductivityCheck]: Floyd-Hoare automaton has 121 edges. 121 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2020-07-18 00:21:21,431 INFO L225 Difference]: With dead ends: 108 [2020-07-18 00:21:21,431 INFO L226 Difference]: Without dead ends: 105 [2020-07-18 00:21:21,432 INFO L675 BasicCegarLoop]: 0 DeclaredPredicates, 46 GetRequests, 14 SyntacticMatches, 1 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 00:21:21,433 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 105 states. [2020-07-18 00:21:21,794 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 105 to 88. [2020-07-18 00:21:21,795 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2020-07-18 00:21:21,795 INFO L82 GeneralOperation]: Start isEquivalent. First operand 105 states. Second operand 88 states. [2020-07-18 00:21:21,795 INFO L74 IsIncluded]: Start isIncluded. First operand 105 states. Second operand 88 states. [2020-07-18 00:21:21,795 INFO L87 Difference]: Start difference. First operand 105 states. Second operand 88 states. [2020-07-18 00:21:21,803 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2020-07-18 00:21:21,804 INFO L93 Difference]: Finished difference Result 105 states and 118 transitions. [2020-07-18 00:21:21,804 INFO L276 IsEmpty]: Start isEmpty. Operand 105 states and 118 transitions. [2020-07-18 00:21:21,805 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2020-07-18 00:21:21,805 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2020-07-18 00:21:21,805 INFO L74 IsIncluded]: Start isIncluded. First operand 88 states. Second operand 105 states. [2020-07-18 00:21:21,805 INFO L87 Difference]: Start difference. First operand 88 states. Second operand 105 states. [2020-07-18 00:21:21,812 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2020-07-18 00:21:21,813 INFO L93 Difference]: Finished difference Result 105 states and 118 transitions. [2020-07-18 00:21:21,813 INFO L276 IsEmpty]: Start isEmpty. Operand 105 states and 118 transitions. [2020-07-18 00:21:21,814 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2020-07-18 00:21:21,814 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2020-07-18 00:21:21,814 INFO L88 GeneralOperation]: Finished isEquivalent. [2020-07-18 00:21:21,814 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2020-07-18 00:21:21,814 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 88 states. [2020-07-18 00:21:21,819 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 88 states to 88 states and 101 transitions. [2020-07-18 00:21:21,820 INFO L78 Accepts]: Start accepts. Automaton has 88 states and 101 transitions. Word has length 61 [2020-07-18 00:21:21,820 INFO L84 Accepts]: Finished accepts. word is rejected. [2020-07-18 00:21:21,820 INFO L479 AbstractCegarLoop]: Abstraction has 88 states and 101 transitions. [2020-07-18 00:21:21,820 INFO L480 AbstractCegarLoop]: Interpolant automaton has 17 states. [2020-07-18 00:21:21,821 INFO L86 InductivityCheck]: Starting indutivity check of a Floyd-Hoare automaton with 88 states and 101 transitions. [2020-07-18 00:21:22,022 INFO L119 InductivityCheck]: Floyd-Hoare automaton has 101 edges. 101 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2020-07-18 00:21:22,023 INFO L276 IsEmpty]: Start isEmpty. Operand 88 states and 101 transitions. [2020-07-18 00:21:22,024 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 71 [2020-07-18 00:21:22,024 INFO L414 BasicCegarLoop]: Found error trace [2020-07-18 00:21:22,024 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 00:21:22,025 WARN L516 AbstractCegarLoop]: Destroyed unattended storables created during the last iteration: SelfDestructingSolverStorable3 [2020-07-18 00:21:22,025 INFO L427 AbstractCegarLoop]: === Iteration 5 === [__blast_assertErr0ASSERT_VIOLATIONERROR_FUNCTION]=== [2020-07-18 00:21:22,025 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2020-07-18 00:21:22,025 INFO L82 PathProgramCache]: Analyzing trace with hash -1814582916, now seen corresponding path program 1 times [2020-07-18 00:21:22,025 INFO L163 FreeRefinementEngine]: Executing refinement strategy FIXED_PREFERENCES [2020-07-18 00:21:22,026 INFO L354 FreeRefinementEngine]: Using trace check IpTcStrategyModulePreferences [1859681810] [2020-07-18 00:21:22,026 INFO L94 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2020-07-18 00:21:22,046 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2020-07-18 00:21:22,212 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2020-07-18 00:21:22,233 INFO L280 TraceCheckUtils]: 0: Hoare triple {2499#(and (= |#valid| |old(#valid)|) (= ~elem~0.base |old(~elem~0.base)|) (= |#NULL.base| |old(#NULL.base)|) (= |~#head~0.base| |old(~#head~0.base)|) (= ~guard_malloc_counter~0.offset |old(~guard_malloc_counter~0.offset)|) (= |#NULL.offset| |old(#NULL.offset)|) (= ~elem~0.offset |old(~elem~0.offset)|) (= |old(#length)| |#length|) (= |~#head~0.offset| |old(~#head~0.offset)|) (= ~guard_malloc_counter~0.base |old(~guard_malloc_counter~0.base)|))} #NULL.base, #NULL.offset := 0, 0; {2440#true} is VALID [2020-07-18 00:21:22,234 INFO L280 TraceCheckUtils]: 1: Hoare triple {2440#true} #valid := #valid[0 := 0]; {2440#true} is VALID [2020-07-18 00:21:22,234 INFO L280 TraceCheckUtils]: 2: Hoare triple {2440#true} assume 0 < #StackHeapBarrier; {2440#true} is VALID [2020-07-18 00:21:22,235 INFO L280 TraceCheckUtils]: 3: Hoare triple {2440#true} ~guard_malloc_counter~0.base, ~guard_malloc_counter~0.offset := 0, 0; {2500#(= 0 ~guard_malloc_counter~0.offset)} is VALID [2020-07-18 00:21:22,235 INFO L280 TraceCheckUtils]: 4: Hoare triple {2500#(= 0 ~guard_malloc_counter~0.offset)} ~elem~0.base, ~elem~0.offset := 0, 0; {2452#(and (= 0 ~elem~0.offset) (= 0 ~guard_malloc_counter~0.offset))} is VALID [2020-07-18 00:21:22,236 INFO L280 TraceCheckUtils]: 5: Hoare triple {2452#(and (= 0 ~elem~0.offset) (= 0 ~guard_malloc_counter~0.offset))} SUMMARY for call ~#head~0.base, ~#head~0.offset := #Ultimate.allocOnStack(8); srcloc: L900 {2452#(and (= 0 ~elem~0.offset) (= 0 ~guard_malloc_counter~0.offset))} is VALID [2020-07-18 00:21:22,237 INFO L280 TraceCheckUtils]: 6: Hoare triple {2452#(and (= 0 ~elem~0.offset) (= 0 ~guard_malloc_counter~0.offset))} SUMMARY for call write~init~$Pointer$(0, 0, ~#head~0.base, ~#head~0.offset, 4); srcloc: L900-1 {2452#(and (= 0 ~elem~0.offset) (= 0 ~guard_malloc_counter~0.offset))} is VALID [2020-07-18 00:21:22,238 INFO L280 TraceCheckUtils]: 7: Hoare triple {2452#(and (= 0 ~elem~0.offset) (= 0 ~guard_malloc_counter~0.offset))} SUMMARY for call write~init~$Pointer$(0, 0, ~#head~0.base, 4 + ~#head~0.offset, 4); srcloc: L900-2 {2452#(and (= 0 ~elem~0.offset) (= 0 ~guard_malloc_counter~0.offset))} is VALID [2020-07-18 00:21:22,239 INFO L280 TraceCheckUtils]: 8: Hoare triple {2452#(and (= 0 ~elem~0.offset) (= 0 ~guard_malloc_counter~0.offset))} assume true; {2452#(and (= 0 ~elem~0.offset) (= 0 ~guard_malloc_counter~0.offset))} is VALID [2020-07-18 00:21:22,239 INFO L275 TraceCheckUtils]: 9: Hoare quadruple {2452#(and (= 0 ~elem~0.offset) (= 0 ~guard_malloc_counter~0.offset))} {2440#true} #112#return; {2452#(and (= 0 ~elem~0.offset) (= 0 ~guard_malloc_counter~0.offset))} is VALID [2020-07-18 00:21:22,257 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2020-07-18 00:21:22,317 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2020-07-18 00:21:22,385 INFO L280 TraceCheckUtils]: 0: Hoare triple {2501#(and (= ~guard_malloc_counter~0.offset |old(~guard_malloc_counter~0.offset)|) (= ~guard_malloc_counter~0.base |old(~guard_malloc_counter~0.base)|))} ~size := #in~size; {2502#(= ~guard_malloc_counter~0.offset |old(~guard_malloc_counter~0.offset)|)} is VALID [2020-07-18 00:21:22,386 INFO L280 TraceCheckUtils]: 1: Hoare triple {2502#(= ~guard_malloc_counter~0.offset |old(~guard_malloc_counter~0.offset)|)} assume ~size > 0; {2502#(= ~guard_malloc_counter~0.offset |old(~guard_malloc_counter~0.offset)|)} is VALID [2020-07-18 00:21:22,387 INFO L280 TraceCheckUtils]: 2: Hoare triple {2502#(= ~guard_malloc_counter~0.offset |old(~guard_malloc_counter~0.offset)|)} #t~post28.base, #t~post28.offset := ~guard_malloc_counter~0.base, ~guard_malloc_counter~0.offset; {2516#(= |old(~guard_malloc_counter~0.offset)| |__getMemory_#t~post28.offset|)} is VALID [2020-07-18 00:21:22,388 INFO L280 TraceCheckUtils]: 3: Hoare triple {2516#(= |old(~guard_malloc_counter~0.offset)| |__getMemory_#t~post28.offset|)} ~guard_malloc_counter~0.base, ~guard_malloc_counter~0.offset := #t~post28.base, 1 + #t~post28.offset; {2517#(<= (+ |old(~guard_malloc_counter~0.offset)| 1) ~guard_malloc_counter~0.offset)} is VALID [2020-07-18 00:21:22,388 INFO L280 TraceCheckUtils]: 4: Hoare triple {2517#(<= (+ |old(~guard_malloc_counter~0.offset)| 1) ~guard_malloc_counter~0.offset)} havoc #t~post28.base, #t~post28.offset; {2517#(<= (+ |old(~guard_malloc_counter~0.offset)| 1) ~guard_malloc_counter~0.offset)} is VALID [2020-07-18 00:21:22,389 INFO L280 TraceCheckUtils]: 5: Hoare triple {2517#(<= (+ |old(~guard_malloc_counter~0.offset)| 1) ~guard_malloc_counter~0.offset)} assume -2147483648 <= #t~nondet29 && #t~nondet29 <= 2147483647; {2517#(<= (+ |old(~guard_malloc_counter~0.offset)| 1) ~guard_malloc_counter~0.offset)} is VALID [2020-07-18 00:21:22,390 INFO L280 TraceCheckUtils]: 6: Hoare triple {2517#(<= (+ |old(~guard_malloc_counter~0.offset)| 1) ~guard_malloc_counter~0.offset)} assume !(0 == #t~nondet29); {2517#(<= (+ |old(~guard_malloc_counter~0.offset)| 1) ~guard_malloc_counter~0.offset)} is VALID [2020-07-18 00:21:22,390 INFO L280 TraceCheckUtils]: 7: Hoare triple {2517#(<= (+ |old(~guard_malloc_counter~0.offset)| 1) ~guard_malloc_counter~0.offset)} havoc #t~nondet29; {2517#(<= (+ |old(~guard_malloc_counter~0.offset)| 1) ~guard_malloc_counter~0.offset)} is VALID [2020-07-18 00:21:22,391 INFO L280 TraceCheckUtils]: 8: Hoare triple {2517#(<= (+ |old(~guard_malloc_counter~0.offset)| 1) ~guard_malloc_counter~0.offset)} #res.base, #res.offset := ~guard_malloc_counter~0.base, ~guard_malloc_counter~0.offset; {2518#(<= (+ |old(~guard_malloc_counter~0.offset)| 1) |__getMemory_#res.offset|)} is VALID [2020-07-18 00:21:22,391 INFO L280 TraceCheckUtils]: 9: Hoare triple {2518#(<= (+ |old(~guard_malloc_counter~0.offset)| 1) |__getMemory_#res.offset|)} assume true; {2518#(<= (+ |old(~guard_malloc_counter~0.offset)| 1) |__getMemory_#res.offset|)} is VALID [2020-07-18 00:21:22,392 INFO L275 TraceCheckUtils]: 10: Hoare quadruple {2518#(<= (+ |old(~guard_malloc_counter~0.offset)| 1) |__getMemory_#res.offset|)} {2502#(= ~guard_malloc_counter~0.offset |old(~guard_malloc_counter~0.offset)|)} #92#return; {2514#(<= (+ |old(~guard_malloc_counter~0.offset)| 1) |my_malloc_#t~ret30.offset|)} is VALID [2020-07-18 00:21:22,394 INFO L280 TraceCheckUtils]: 0: Hoare triple {2501#(and (= ~guard_malloc_counter~0.offset |old(~guard_malloc_counter~0.offset)|) (= ~guard_malloc_counter~0.base |old(~guard_malloc_counter~0.base)|))} ~size := #in~size; {2502#(= ~guard_malloc_counter~0.offset |old(~guard_malloc_counter~0.offset)|)} is VALID [2020-07-18 00:21:22,395 INFO L263 TraceCheckUtils]: 1: Hoare triple {2502#(= ~guard_malloc_counter~0.offset |old(~guard_malloc_counter~0.offset)|)} call #t~ret30.base, #t~ret30.offset := __getMemory(~size); {2501#(and (= ~guard_malloc_counter~0.offset |old(~guard_malloc_counter~0.offset)|) (= ~guard_malloc_counter~0.base |old(~guard_malloc_counter~0.base)|))} is VALID [2020-07-18 00:21:22,395 INFO L280 TraceCheckUtils]: 2: Hoare triple {2501#(and (= ~guard_malloc_counter~0.offset |old(~guard_malloc_counter~0.offset)|) (= ~guard_malloc_counter~0.base |old(~guard_malloc_counter~0.base)|))} ~size := #in~size; {2502#(= ~guard_malloc_counter~0.offset |old(~guard_malloc_counter~0.offset)|)} is VALID [2020-07-18 00:21:22,396 INFO L280 TraceCheckUtils]: 3: Hoare triple {2502#(= ~guard_malloc_counter~0.offset |old(~guard_malloc_counter~0.offset)|)} assume ~size > 0; {2502#(= ~guard_malloc_counter~0.offset |old(~guard_malloc_counter~0.offset)|)} is VALID [2020-07-18 00:21:22,397 INFO L280 TraceCheckUtils]: 4: Hoare triple {2502#(= ~guard_malloc_counter~0.offset |old(~guard_malloc_counter~0.offset)|)} #t~post28.base, #t~post28.offset := ~guard_malloc_counter~0.base, ~guard_malloc_counter~0.offset; {2516#(= |old(~guard_malloc_counter~0.offset)| |__getMemory_#t~post28.offset|)} is VALID [2020-07-18 00:21:22,397 INFO L280 TraceCheckUtils]: 5: Hoare triple {2516#(= |old(~guard_malloc_counter~0.offset)| |__getMemory_#t~post28.offset|)} ~guard_malloc_counter~0.base, ~guard_malloc_counter~0.offset := #t~post28.base, 1 + #t~post28.offset; {2517#(<= (+ |old(~guard_malloc_counter~0.offset)| 1) ~guard_malloc_counter~0.offset)} is VALID [2020-07-18 00:21:22,398 INFO L280 TraceCheckUtils]: 6: Hoare triple {2517#(<= (+ |old(~guard_malloc_counter~0.offset)| 1) ~guard_malloc_counter~0.offset)} havoc #t~post28.base, #t~post28.offset; {2517#(<= (+ |old(~guard_malloc_counter~0.offset)| 1) ~guard_malloc_counter~0.offset)} is VALID [2020-07-18 00:21:22,399 INFO L280 TraceCheckUtils]: 7: Hoare triple {2517#(<= (+ |old(~guard_malloc_counter~0.offset)| 1) ~guard_malloc_counter~0.offset)} assume -2147483648 <= #t~nondet29 && #t~nondet29 <= 2147483647; {2517#(<= (+ |old(~guard_malloc_counter~0.offset)| 1) ~guard_malloc_counter~0.offset)} is VALID [2020-07-18 00:21:22,400 INFO L280 TraceCheckUtils]: 8: Hoare triple {2517#(<= (+ |old(~guard_malloc_counter~0.offset)| 1) ~guard_malloc_counter~0.offset)} assume !(0 == #t~nondet29); {2517#(<= (+ |old(~guard_malloc_counter~0.offset)| 1) ~guard_malloc_counter~0.offset)} is VALID [2020-07-18 00:21:22,401 INFO L280 TraceCheckUtils]: 9: Hoare triple {2517#(<= (+ |old(~guard_malloc_counter~0.offset)| 1) ~guard_malloc_counter~0.offset)} havoc #t~nondet29; {2517#(<= (+ |old(~guard_malloc_counter~0.offset)| 1) ~guard_malloc_counter~0.offset)} is VALID [2020-07-18 00:21:22,401 INFO L280 TraceCheckUtils]: 10: Hoare triple {2517#(<= (+ |old(~guard_malloc_counter~0.offset)| 1) ~guard_malloc_counter~0.offset)} #res.base, #res.offset := ~guard_malloc_counter~0.base, ~guard_malloc_counter~0.offset; {2518#(<= (+ |old(~guard_malloc_counter~0.offset)| 1) |__getMemory_#res.offset|)} is VALID [2020-07-18 00:21:22,402 INFO L280 TraceCheckUtils]: 11: Hoare triple {2518#(<= (+ |old(~guard_malloc_counter~0.offset)| 1) |__getMemory_#res.offset|)} assume true; {2518#(<= (+ |old(~guard_malloc_counter~0.offset)| 1) |__getMemory_#res.offset|)} is VALID [2020-07-18 00:21:22,404 INFO L275 TraceCheckUtils]: 12: Hoare quadruple {2518#(<= (+ |old(~guard_malloc_counter~0.offset)| 1) |__getMemory_#res.offset|)} {2502#(= ~guard_malloc_counter~0.offset |old(~guard_malloc_counter~0.offset)|)} #92#return; {2514#(<= (+ |old(~guard_malloc_counter~0.offset)| 1) |my_malloc_#t~ret30.offset|)} is VALID [2020-07-18 00:21:22,405 INFO L280 TraceCheckUtils]: 13: Hoare triple {2514#(<= (+ |old(~guard_malloc_counter~0.offset)| 1) |my_malloc_#t~ret30.offset|)} #res.base, #res.offset := #t~ret30.base, #t~ret30.offset; {2515#(<= (+ |old(~guard_malloc_counter~0.offset)| 1) |my_malloc_#res.offset|)} is VALID [2020-07-18 00:21:22,406 INFO L280 TraceCheckUtils]: 14: Hoare triple {2515#(<= (+ |old(~guard_malloc_counter~0.offset)| 1) |my_malloc_#res.offset|)} havoc #t~ret30.base, #t~ret30.offset; {2515#(<= (+ |old(~guard_malloc_counter~0.offset)| 1) |my_malloc_#res.offset|)} is VALID [2020-07-18 00:21:22,406 INFO L280 TraceCheckUtils]: 15: Hoare triple {2515#(<= (+ |old(~guard_malloc_counter~0.offset)| 1) |my_malloc_#res.offset|)} assume true; {2515#(<= (+ |old(~guard_malloc_counter~0.offset)| 1) |my_malloc_#res.offset|)} is VALID [2020-07-18 00:21:22,408 INFO L275 TraceCheckUtils]: 16: Hoare quadruple {2515#(<= (+ |old(~guard_malloc_counter~0.offset)| 1) |my_malloc_#res.offset|)} {2452#(and (= 0 ~elem~0.offset) (= 0 ~guard_malloc_counter~0.offset))} #94#return; {2470#(and (= 0 ~elem~0.offset) (<= 1 |main_#t~ret32.offset|))} is VALID [2020-07-18 00:21:22,412 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2020-07-18 00:21:22,419 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2020-07-18 00:21:22,424 INFO L280 TraceCheckUtils]: 0: Hoare triple {2501#(and (= ~guard_malloc_counter~0.offset |old(~guard_malloc_counter~0.offset)|) (= ~guard_malloc_counter~0.base |old(~guard_malloc_counter~0.base)|))} ~size := #in~size; {2440#true} is VALID [2020-07-18 00:21:22,424 INFO L280 TraceCheckUtils]: 1: Hoare triple {2440#true} assume ~size > 0; {2440#true} is VALID [2020-07-18 00:21:22,424 INFO L280 TraceCheckUtils]: 2: Hoare triple {2440#true} #t~post28.base, #t~post28.offset := ~guard_malloc_counter~0.base, ~guard_malloc_counter~0.offset; {2440#true} is VALID [2020-07-18 00:21:22,425 INFO L280 TraceCheckUtils]: 3: Hoare triple {2440#true} ~guard_malloc_counter~0.base, ~guard_malloc_counter~0.offset := #t~post28.base, 1 + #t~post28.offset; {2440#true} is VALID [2020-07-18 00:21:22,425 INFO L280 TraceCheckUtils]: 4: Hoare triple {2440#true} havoc #t~post28.base, #t~post28.offset; {2440#true} is VALID [2020-07-18 00:21:22,425 INFO L280 TraceCheckUtils]: 5: Hoare triple {2440#true} assume -2147483648 <= #t~nondet29 && #t~nondet29 <= 2147483647; {2440#true} is VALID [2020-07-18 00:21:22,425 INFO L280 TraceCheckUtils]: 6: Hoare triple {2440#true} assume !(0 == #t~nondet29); {2440#true} is VALID [2020-07-18 00:21:22,426 INFO L280 TraceCheckUtils]: 7: Hoare triple {2440#true} havoc #t~nondet29; {2440#true} is VALID [2020-07-18 00:21:22,426 INFO L280 TraceCheckUtils]: 8: Hoare triple {2440#true} #res.base, #res.offset := ~guard_malloc_counter~0.base, ~guard_malloc_counter~0.offset; {2440#true} is VALID [2020-07-18 00:21:22,426 INFO L280 TraceCheckUtils]: 9: Hoare triple {2440#true} assume true; {2440#true} is VALID [2020-07-18 00:21:22,426 INFO L275 TraceCheckUtils]: 10: Hoare quadruple {2440#true} {2440#true} #92#return; {2440#true} is VALID [2020-07-18 00:21:22,427 INFO L280 TraceCheckUtils]: 0: Hoare triple {2501#(and (= ~guard_malloc_counter~0.offset |old(~guard_malloc_counter~0.offset)|) (= ~guard_malloc_counter~0.base |old(~guard_malloc_counter~0.base)|))} ~size := #in~size; {2440#true} is VALID [2020-07-18 00:21:22,428 INFO L263 TraceCheckUtils]: 1: Hoare triple {2440#true} call #t~ret30.base, #t~ret30.offset := __getMemory(~size); {2501#(and (= ~guard_malloc_counter~0.offset |old(~guard_malloc_counter~0.offset)|) (= ~guard_malloc_counter~0.base |old(~guard_malloc_counter~0.base)|))} is VALID [2020-07-18 00:21:22,428 INFO L280 TraceCheckUtils]: 2: Hoare triple {2501#(and (= ~guard_malloc_counter~0.offset |old(~guard_malloc_counter~0.offset)|) (= ~guard_malloc_counter~0.base |old(~guard_malloc_counter~0.base)|))} ~size := #in~size; {2440#true} is VALID [2020-07-18 00:21:22,428 INFO L280 TraceCheckUtils]: 3: Hoare triple {2440#true} assume ~size > 0; {2440#true} is VALID [2020-07-18 00:21:22,429 INFO L280 TraceCheckUtils]: 4: Hoare triple {2440#true} #t~post28.base, #t~post28.offset := ~guard_malloc_counter~0.base, ~guard_malloc_counter~0.offset; {2440#true} is VALID [2020-07-18 00:21:22,429 INFO L280 TraceCheckUtils]: 5: Hoare triple {2440#true} ~guard_malloc_counter~0.base, ~guard_malloc_counter~0.offset := #t~post28.base, 1 + #t~post28.offset; {2440#true} is VALID [2020-07-18 00:21:22,429 INFO L280 TraceCheckUtils]: 6: Hoare triple {2440#true} havoc #t~post28.base, #t~post28.offset; {2440#true} is VALID [2020-07-18 00:21:22,429 INFO L280 TraceCheckUtils]: 7: Hoare triple {2440#true} assume -2147483648 <= #t~nondet29 && #t~nondet29 <= 2147483647; {2440#true} is VALID [2020-07-18 00:21:22,430 INFO L280 TraceCheckUtils]: 8: Hoare triple {2440#true} assume !(0 == #t~nondet29); {2440#true} is VALID [2020-07-18 00:21:22,430 INFO L280 TraceCheckUtils]: 9: Hoare triple {2440#true} havoc #t~nondet29; {2440#true} is VALID [2020-07-18 00:21:22,430 INFO L280 TraceCheckUtils]: 10: Hoare triple {2440#true} #res.base, #res.offset := ~guard_malloc_counter~0.base, ~guard_malloc_counter~0.offset; {2440#true} is VALID [2020-07-18 00:21:22,430 INFO L280 TraceCheckUtils]: 11: Hoare triple {2440#true} assume true; {2440#true} is VALID [2020-07-18 00:21:22,430 INFO L275 TraceCheckUtils]: 12: Hoare quadruple {2440#true} {2440#true} #92#return; {2440#true} is VALID [2020-07-18 00:21:22,431 INFO L280 TraceCheckUtils]: 13: Hoare triple {2440#true} #res.base, #res.offset := #t~ret30.base, #t~ret30.offset; {2440#true} is VALID [2020-07-18 00:21:22,431 INFO L280 TraceCheckUtils]: 14: Hoare triple {2440#true} havoc #t~ret30.base, #t~ret30.offset; {2440#true} is VALID [2020-07-18 00:21:22,431 INFO L280 TraceCheckUtils]: 15: Hoare triple {2440#true} assume true; {2440#true} is VALID [2020-07-18 00:21:22,432 INFO L275 TraceCheckUtils]: 16: Hoare quadruple {2440#true} {2471#(and (<= 1 main_~dev1~0.offset) (= 0 ~elem~0.offset))} #96#return; {2471#(and (<= 1 main_~dev1~0.offset) (= 0 ~elem~0.offset))} is VALID [2020-07-18 00:21:22,462 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2020-07-18 00:21:22,491 INFO L280 TraceCheckUtils]: 0: Hoare triple {2530#(and (= ~elem~0.base |old(~elem~0.base)|) (= ~elem~0.offset |old(~elem~0.offset)|))} ~new.base, ~new.offset := #in~new.base, #in~new.offset; {2531#(= |old(~elem~0.offset)| ~elem~0.offset)} is VALID [2020-07-18 00:21:22,492 INFO L280 TraceCheckUtils]: 1: Hoare triple {2531#(= |old(~elem~0.offset)| ~elem~0.offset)} ~head.base, ~head.offset := #in~head.base, #in~head.offset; {2531#(= |old(~elem~0.offset)| ~elem~0.offset)} is VALID [2020-07-18 00:21:22,493 INFO L280 TraceCheckUtils]: 2: Hoare triple {2531#(= |old(~elem~0.offset)| ~elem~0.offset)} assume ~new.base != ~elem~0.base || ~new.offset != ~elem~0.offset; {2531#(= |old(~elem~0.offset)| ~elem~0.offset)} is VALID [2020-07-18 00:21:22,493 INFO L280 TraceCheckUtils]: 3: Hoare triple {2531#(= |old(~elem~0.offset)| ~elem~0.offset)} assume -2147483648 <= #t~nondet31 && #t~nondet31 <= 2147483647; {2531#(= |old(~elem~0.offset)| ~elem~0.offset)} is VALID [2020-07-18 00:21:22,494 INFO L280 TraceCheckUtils]: 4: Hoare triple {2531#(= |old(~elem~0.offset)| ~elem~0.offset)} assume !(0 != #t~nondet31); {2531#(= |old(~elem~0.offset)| ~elem~0.offset)} is VALID [2020-07-18 00:21:22,495 INFO L280 TraceCheckUtils]: 5: Hoare triple {2531#(= |old(~elem~0.offset)| ~elem~0.offset)} havoc #t~nondet31; {2531#(= |old(~elem~0.offset)| ~elem~0.offset)} is VALID [2020-07-18 00:21:22,496 INFO L280 TraceCheckUtils]: 6: Hoare triple {2531#(= |old(~elem~0.offset)| ~elem~0.offset)} assume true; {2531#(= |old(~elem~0.offset)| ~elem~0.offset)} is VALID [2020-07-18 00:21:22,498 INFO L275 TraceCheckUtils]: 7: Hoare quadruple {2531#(= |old(~elem~0.offset)| ~elem~0.offset)} {2471#(and (<= 1 main_~dev1~0.offset) (= 0 ~elem~0.offset))} #98#return; {2471#(and (<= 1 main_~dev1~0.offset) (= 0 ~elem~0.offset))} is VALID [2020-07-18 00:21:22,499 INFO L263 TraceCheckUtils]: 0: Hoare triple {2440#true} call ULTIMATE.init(); {2499#(and (= |#valid| |old(#valid)|) (= ~elem~0.base |old(~elem~0.base)|) (= |#NULL.base| |old(#NULL.base)|) (= |~#head~0.base| |old(~#head~0.base)|) (= ~guard_malloc_counter~0.offset |old(~guard_malloc_counter~0.offset)|) (= |#NULL.offset| |old(#NULL.offset)|) (= ~elem~0.offset |old(~elem~0.offset)|) (= |old(#length)| |#length|) (= |~#head~0.offset| |old(~#head~0.offset)|) (= ~guard_malloc_counter~0.base |old(~guard_malloc_counter~0.base)|))} is VALID [2020-07-18 00:21:22,500 INFO L280 TraceCheckUtils]: 1: Hoare triple {2499#(and (= |#valid| |old(#valid)|) (= ~elem~0.base |old(~elem~0.base)|) (= |#NULL.base| |old(#NULL.base)|) (= |~#head~0.base| |old(~#head~0.base)|) (= ~guard_malloc_counter~0.offset |old(~guard_malloc_counter~0.offset)|) (= |#NULL.offset| |old(#NULL.offset)|) (= ~elem~0.offset |old(~elem~0.offset)|) (= |old(#length)| |#length|) (= |~#head~0.offset| |old(~#head~0.offset)|) (= ~guard_malloc_counter~0.base |old(~guard_malloc_counter~0.base)|))} #NULL.base, #NULL.offset := 0, 0; {2440#true} is VALID [2020-07-18 00:21:22,500 INFO L280 TraceCheckUtils]: 2: Hoare triple {2440#true} #valid := #valid[0 := 0]; {2440#true} is VALID [2020-07-18 00:21:22,501 INFO L280 TraceCheckUtils]: 3: Hoare triple {2440#true} assume 0 < #StackHeapBarrier; {2440#true} is VALID [2020-07-18 00:21:22,502 INFO L280 TraceCheckUtils]: 4: Hoare triple {2440#true} ~guard_malloc_counter~0.base, ~guard_malloc_counter~0.offset := 0, 0; {2500#(= 0 ~guard_malloc_counter~0.offset)} is VALID [2020-07-18 00:21:22,503 INFO L280 TraceCheckUtils]: 5: Hoare triple {2500#(= 0 ~guard_malloc_counter~0.offset)} ~elem~0.base, ~elem~0.offset := 0, 0; {2452#(and (= 0 ~elem~0.offset) (= 0 ~guard_malloc_counter~0.offset))} is VALID [2020-07-18 00:21:22,504 INFO L280 TraceCheckUtils]: 6: Hoare triple {2452#(and (= 0 ~elem~0.offset) (= 0 ~guard_malloc_counter~0.offset))} SUMMARY for call ~#head~0.base, ~#head~0.offset := #Ultimate.allocOnStack(8); srcloc: L900 {2452#(and (= 0 ~elem~0.offset) (= 0 ~guard_malloc_counter~0.offset))} is VALID [2020-07-18 00:21:22,505 INFO L280 TraceCheckUtils]: 7: Hoare triple {2452#(and (= 0 ~elem~0.offset) (= 0 ~guard_malloc_counter~0.offset))} SUMMARY for call write~init~$Pointer$(0, 0, ~#head~0.base, ~#head~0.offset, 4); srcloc: L900-1 {2452#(and (= 0 ~elem~0.offset) (= 0 ~guard_malloc_counter~0.offset))} is VALID [2020-07-18 00:21:22,506 INFO L280 TraceCheckUtils]: 8: Hoare triple {2452#(and (= 0 ~elem~0.offset) (= 0 ~guard_malloc_counter~0.offset))} SUMMARY for call write~init~$Pointer$(0, 0, ~#head~0.base, 4 + ~#head~0.offset, 4); srcloc: L900-2 {2452#(and (= 0 ~elem~0.offset) (= 0 ~guard_malloc_counter~0.offset))} is VALID [2020-07-18 00:21:22,507 INFO L280 TraceCheckUtils]: 9: Hoare triple {2452#(and (= 0 ~elem~0.offset) (= 0 ~guard_malloc_counter~0.offset))} assume true; {2452#(and (= 0 ~elem~0.offset) (= 0 ~guard_malloc_counter~0.offset))} is VALID [2020-07-18 00:21:22,508 INFO L275 TraceCheckUtils]: 10: Hoare quadruple {2452#(and (= 0 ~elem~0.offset) (= 0 ~guard_malloc_counter~0.offset))} {2440#true} #112#return; {2452#(and (= 0 ~elem~0.offset) (= 0 ~guard_malloc_counter~0.offset))} is VALID [2020-07-18 00:21:22,509 INFO L263 TraceCheckUtils]: 11: Hoare triple {2452#(and (= 0 ~elem~0.offset) (= 0 ~guard_malloc_counter~0.offset))} call #t~ret34 := main(); {2452#(and (= 0 ~elem~0.offset) (= 0 ~guard_malloc_counter~0.offset))} is VALID [2020-07-18 00:21:22,509 INFO L280 TraceCheckUtils]: 12: Hoare triple {2452#(and (= 0 ~elem~0.offset) (= 0 ~guard_malloc_counter~0.offset))} havoc ~dev1~0.base, ~dev1~0.offset; {2452#(and (= 0 ~elem~0.offset) (= 0 ~guard_malloc_counter~0.offset))} is VALID [2020-07-18 00:21:22,510 INFO L280 TraceCheckUtils]: 13: Hoare triple {2452#(and (= 0 ~elem~0.offset) (= 0 ~guard_malloc_counter~0.offset))} havoc ~dev2~0.base, ~dev2~0.offset; {2452#(and (= 0 ~elem~0.offset) (= 0 ~guard_malloc_counter~0.offset))} is VALID [2020-07-18 00:21:22,511 INFO L263 TraceCheckUtils]: 14: Hoare triple {2452#(and (= 0 ~elem~0.offset) (= 0 ~guard_malloc_counter~0.offset))} call #t~ret32.base, #t~ret32.offset := my_malloc(8); {2501#(and (= ~guard_malloc_counter~0.offset |old(~guard_malloc_counter~0.offset)|) (= ~guard_malloc_counter~0.base |old(~guard_malloc_counter~0.base)|))} is VALID [2020-07-18 00:21:22,512 INFO L280 TraceCheckUtils]: 15: Hoare triple {2501#(and (= ~guard_malloc_counter~0.offset |old(~guard_malloc_counter~0.offset)|) (= ~guard_malloc_counter~0.base |old(~guard_malloc_counter~0.base)|))} ~size := #in~size; {2502#(= ~guard_malloc_counter~0.offset |old(~guard_malloc_counter~0.offset)|)} is VALID [2020-07-18 00:21:22,513 INFO L263 TraceCheckUtils]: 16: Hoare triple {2502#(= ~guard_malloc_counter~0.offset |old(~guard_malloc_counter~0.offset)|)} call #t~ret30.base, #t~ret30.offset := __getMemory(~size); {2501#(and (= ~guard_malloc_counter~0.offset |old(~guard_malloc_counter~0.offset)|) (= ~guard_malloc_counter~0.base |old(~guard_malloc_counter~0.base)|))} is VALID [2020-07-18 00:21:22,513 INFO L280 TraceCheckUtils]: 17: Hoare triple {2501#(and (= ~guard_malloc_counter~0.offset |old(~guard_malloc_counter~0.offset)|) (= ~guard_malloc_counter~0.base |old(~guard_malloc_counter~0.base)|))} ~size := #in~size; {2502#(= ~guard_malloc_counter~0.offset |old(~guard_malloc_counter~0.offset)|)} is VALID [2020-07-18 00:21:22,514 INFO L280 TraceCheckUtils]: 18: Hoare triple {2502#(= ~guard_malloc_counter~0.offset |old(~guard_malloc_counter~0.offset)|)} assume ~size > 0; {2502#(= ~guard_malloc_counter~0.offset |old(~guard_malloc_counter~0.offset)|)} is VALID [2020-07-18 00:21:22,515 INFO L280 TraceCheckUtils]: 19: Hoare triple {2502#(= ~guard_malloc_counter~0.offset |old(~guard_malloc_counter~0.offset)|)} #t~post28.base, #t~post28.offset := ~guard_malloc_counter~0.base, ~guard_malloc_counter~0.offset; {2516#(= |old(~guard_malloc_counter~0.offset)| |__getMemory_#t~post28.offset|)} is VALID [2020-07-18 00:21:22,515 INFO L280 TraceCheckUtils]: 20: Hoare triple {2516#(= |old(~guard_malloc_counter~0.offset)| |__getMemory_#t~post28.offset|)} ~guard_malloc_counter~0.base, ~guard_malloc_counter~0.offset := #t~post28.base, 1 + #t~post28.offset; {2517#(<= (+ |old(~guard_malloc_counter~0.offset)| 1) ~guard_malloc_counter~0.offset)} is VALID [2020-07-18 00:21:22,516 INFO L280 TraceCheckUtils]: 21: Hoare triple {2517#(<= (+ |old(~guard_malloc_counter~0.offset)| 1) ~guard_malloc_counter~0.offset)} havoc #t~post28.base, #t~post28.offset; {2517#(<= (+ |old(~guard_malloc_counter~0.offset)| 1) ~guard_malloc_counter~0.offset)} is VALID [2020-07-18 00:21:22,517 INFO L280 TraceCheckUtils]: 22: Hoare triple {2517#(<= (+ |old(~guard_malloc_counter~0.offset)| 1) ~guard_malloc_counter~0.offset)} assume -2147483648 <= #t~nondet29 && #t~nondet29 <= 2147483647; {2517#(<= (+ |old(~guard_malloc_counter~0.offset)| 1) ~guard_malloc_counter~0.offset)} is VALID [2020-07-18 00:21:22,517 INFO L280 TraceCheckUtils]: 23: Hoare triple {2517#(<= (+ |old(~guard_malloc_counter~0.offset)| 1) ~guard_malloc_counter~0.offset)} assume !(0 == #t~nondet29); {2517#(<= (+ |old(~guard_malloc_counter~0.offset)| 1) ~guard_malloc_counter~0.offset)} is VALID [2020-07-18 00:21:22,518 INFO L280 TraceCheckUtils]: 24: Hoare triple {2517#(<= (+ |old(~guard_malloc_counter~0.offset)| 1) ~guard_malloc_counter~0.offset)} havoc #t~nondet29; {2517#(<= (+ |old(~guard_malloc_counter~0.offset)| 1) ~guard_malloc_counter~0.offset)} is VALID [2020-07-18 00:21:22,519 INFO L280 TraceCheckUtils]: 25: Hoare triple {2517#(<= (+ |old(~guard_malloc_counter~0.offset)| 1) ~guard_malloc_counter~0.offset)} #res.base, #res.offset := ~guard_malloc_counter~0.base, ~guard_malloc_counter~0.offset; {2518#(<= (+ |old(~guard_malloc_counter~0.offset)| 1) |__getMemory_#res.offset|)} is VALID [2020-07-18 00:21:22,522 INFO L280 TraceCheckUtils]: 26: Hoare triple {2518#(<= (+ |old(~guard_malloc_counter~0.offset)| 1) |__getMemory_#res.offset|)} assume true; {2518#(<= (+ |old(~guard_malloc_counter~0.offset)| 1) |__getMemory_#res.offset|)} is VALID [2020-07-18 00:21:22,526 INFO L275 TraceCheckUtils]: 27: Hoare quadruple {2518#(<= (+ |old(~guard_malloc_counter~0.offset)| 1) |__getMemory_#res.offset|)} {2502#(= ~guard_malloc_counter~0.offset |old(~guard_malloc_counter~0.offset)|)} #92#return; {2514#(<= (+ |old(~guard_malloc_counter~0.offset)| 1) |my_malloc_#t~ret30.offset|)} is VALID [2020-07-18 00:21:22,527 INFO L280 TraceCheckUtils]: 28: Hoare triple {2514#(<= (+ |old(~guard_malloc_counter~0.offset)| 1) |my_malloc_#t~ret30.offset|)} #res.base, #res.offset := #t~ret30.base, #t~ret30.offset; {2515#(<= (+ |old(~guard_malloc_counter~0.offset)| 1) |my_malloc_#res.offset|)} is VALID [2020-07-18 00:21:22,528 INFO L280 TraceCheckUtils]: 29: Hoare triple {2515#(<= (+ |old(~guard_malloc_counter~0.offset)| 1) |my_malloc_#res.offset|)} havoc #t~ret30.base, #t~ret30.offset; {2515#(<= (+ |old(~guard_malloc_counter~0.offset)| 1) |my_malloc_#res.offset|)} is VALID [2020-07-18 00:21:22,528 INFO L280 TraceCheckUtils]: 30: Hoare triple {2515#(<= (+ |old(~guard_malloc_counter~0.offset)| 1) |my_malloc_#res.offset|)} assume true; {2515#(<= (+ |old(~guard_malloc_counter~0.offset)| 1) |my_malloc_#res.offset|)} is VALID [2020-07-18 00:21:22,530 INFO L275 TraceCheckUtils]: 31: Hoare quadruple {2515#(<= (+ |old(~guard_malloc_counter~0.offset)| 1) |my_malloc_#res.offset|)} {2452#(and (= 0 ~elem~0.offset) (= 0 ~guard_malloc_counter~0.offset))} #94#return; {2470#(and (= 0 ~elem~0.offset) (<= 1 |main_#t~ret32.offset|))} is VALID [2020-07-18 00:21:22,531 INFO L280 TraceCheckUtils]: 32: Hoare triple {2470#(and (= 0 ~elem~0.offset) (<= 1 |main_#t~ret32.offset|))} ~dev1~0.base, ~dev1~0.offset := #t~ret32.base, #t~ret32.offset; {2471#(and (<= 1 main_~dev1~0.offset) (= 0 ~elem~0.offset))} is VALID [2020-07-18 00:21:22,532 INFO L280 TraceCheckUtils]: 33: Hoare triple {2471#(and (<= 1 main_~dev1~0.offset) (= 0 ~elem~0.offset))} havoc #t~ret32.base, #t~ret32.offset; {2471#(and (<= 1 main_~dev1~0.offset) (= 0 ~elem~0.offset))} is VALID [2020-07-18 00:21:22,534 INFO L263 TraceCheckUtils]: 34: Hoare triple {2471#(and (<= 1 main_~dev1~0.offset) (= 0 ~elem~0.offset))} call #t~ret33.base, #t~ret33.offset := my_malloc(8); {2501#(and (= ~guard_malloc_counter~0.offset |old(~guard_malloc_counter~0.offset)|) (= ~guard_malloc_counter~0.base |old(~guard_malloc_counter~0.base)|))} is VALID [2020-07-18 00:21:22,534 INFO L280 TraceCheckUtils]: 35: Hoare triple {2501#(and (= ~guard_malloc_counter~0.offset |old(~guard_malloc_counter~0.offset)|) (= ~guard_malloc_counter~0.base |old(~guard_malloc_counter~0.base)|))} ~size := #in~size; {2440#true} is VALID [2020-07-18 00:21:22,535 INFO L263 TraceCheckUtils]: 36: Hoare triple {2440#true} call #t~ret30.base, #t~ret30.offset := __getMemory(~size); {2501#(and (= ~guard_malloc_counter~0.offset |old(~guard_malloc_counter~0.offset)|) (= ~guard_malloc_counter~0.base |old(~guard_malloc_counter~0.base)|))} is VALID [2020-07-18 00:21:22,536 INFO L280 TraceCheckUtils]: 37: Hoare triple {2501#(and (= ~guard_malloc_counter~0.offset |old(~guard_malloc_counter~0.offset)|) (= ~guard_malloc_counter~0.base |old(~guard_malloc_counter~0.base)|))} ~size := #in~size; {2440#true} is VALID [2020-07-18 00:21:22,536 INFO L280 TraceCheckUtils]: 38: Hoare triple {2440#true} assume ~size > 0; {2440#true} is VALID [2020-07-18 00:21:22,537 INFO L280 TraceCheckUtils]: 39: Hoare triple {2440#true} #t~post28.base, #t~post28.offset := ~guard_malloc_counter~0.base, ~guard_malloc_counter~0.offset; {2440#true} is VALID [2020-07-18 00:21:22,537 INFO L280 TraceCheckUtils]: 40: Hoare triple {2440#true} ~guard_malloc_counter~0.base, ~guard_malloc_counter~0.offset := #t~post28.base, 1 + #t~post28.offset; {2440#true} is VALID [2020-07-18 00:21:22,537 INFO L280 TraceCheckUtils]: 41: Hoare triple {2440#true} havoc #t~post28.base, #t~post28.offset; {2440#true} is VALID [2020-07-18 00:21:22,537 INFO L280 TraceCheckUtils]: 42: Hoare triple {2440#true} assume -2147483648 <= #t~nondet29 && #t~nondet29 <= 2147483647; {2440#true} is VALID [2020-07-18 00:21:22,538 INFO L280 TraceCheckUtils]: 43: Hoare triple {2440#true} assume !(0 == #t~nondet29); {2440#true} is VALID [2020-07-18 00:21:22,538 INFO L280 TraceCheckUtils]: 44: Hoare triple {2440#true} havoc #t~nondet29; {2440#true} is VALID [2020-07-18 00:21:22,538 INFO L280 TraceCheckUtils]: 45: Hoare triple {2440#true} #res.base, #res.offset := ~guard_malloc_counter~0.base, ~guard_malloc_counter~0.offset; {2440#true} is VALID [2020-07-18 00:21:22,539 INFO L280 TraceCheckUtils]: 46: Hoare triple {2440#true} assume true; {2440#true} is VALID [2020-07-18 00:21:22,539 INFO L275 TraceCheckUtils]: 47: Hoare quadruple {2440#true} {2440#true} #92#return; {2440#true} is VALID [2020-07-18 00:21:22,539 INFO L280 TraceCheckUtils]: 48: Hoare triple {2440#true} #res.base, #res.offset := #t~ret30.base, #t~ret30.offset; {2440#true} is VALID [2020-07-18 00:21:22,540 INFO L280 TraceCheckUtils]: 49: Hoare triple {2440#true} havoc #t~ret30.base, #t~ret30.offset; {2440#true} is VALID [2020-07-18 00:21:22,540 INFO L280 TraceCheckUtils]: 50: Hoare triple {2440#true} assume true; {2440#true} is VALID [2020-07-18 00:21:22,541 INFO L275 TraceCheckUtils]: 51: Hoare quadruple {2440#true} {2471#(and (<= 1 main_~dev1~0.offset) (= 0 ~elem~0.offset))} #96#return; {2471#(and (<= 1 main_~dev1~0.offset) (= 0 ~elem~0.offset))} is VALID [2020-07-18 00:21:22,542 INFO L280 TraceCheckUtils]: 52: Hoare triple {2471#(and (<= 1 main_~dev1~0.offset) (= 0 ~elem~0.offset))} ~dev2~0.base, ~dev2~0.offset := #t~ret33.base, #t~ret33.offset; {2471#(and (<= 1 main_~dev1~0.offset) (= 0 ~elem~0.offset))} is VALID [2020-07-18 00:21:22,543 INFO L280 TraceCheckUtils]: 53: Hoare triple {2471#(and (<= 1 main_~dev1~0.offset) (= 0 ~elem~0.offset))} havoc #t~ret33.base, #t~ret33.offset; {2471#(and (<= 1 main_~dev1~0.offset) (= 0 ~elem~0.offset))} is VALID [2020-07-18 00:21:22,544 INFO L280 TraceCheckUtils]: 54: Hoare triple {2471#(and (<= 1 main_~dev1~0.offset) (= 0 ~elem~0.offset))} assume (~dev1~0.base != 0 || ~dev1~0.offset != 0) && (~dev2~0.base != 0 || ~dev2~0.offset != 0); {2471#(and (<= 1 main_~dev1~0.offset) (= 0 ~elem~0.offset))} is VALID [2020-07-18 00:21:22,546 INFO L263 TraceCheckUtils]: 55: Hoare triple {2471#(and (<= 1 main_~dev1~0.offset) (= 0 ~elem~0.offset))} call list_add(~dev2~0.base, ~dev2~0.offset, ~#head~0.base, ~#head~0.offset); {2530#(and (= ~elem~0.base |old(~elem~0.base)|) (= ~elem~0.offset |old(~elem~0.offset)|))} is VALID [2020-07-18 00:21:22,547 INFO L280 TraceCheckUtils]: 56: Hoare triple {2530#(and (= ~elem~0.base |old(~elem~0.base)|) (= ~elem~0.offset |old(~elem~0.offset)|))} ~new.base, ~new.offset := #in~new.base, #in~new.offset; {2531#(= |old(~elem~0.offset)| ~elem~0.offset)} is VALID [2020-07-18 00:21:22,547 INFO L280 TraceCheckUtils]: 57: Hoare triple {2531#(= |old(~elem~0.offset)| ~elem~0.offset)} ~head.base, ~head.offset := #in~head.base, #in~head.offset; {2531#(= |old(~elem~0.offset)| ~elem~0.offset)} is VALID [2020-07-18 00:21:22,548 INFO L280 TraceCheckUtils]: 58: Hoare triple {2531#(= |old(~elem~0.offset)| ~elem~0.offset)} assume ~new.base != ~elem~0.base || ~new.offset != ~elem~0.offset; {2531#(= |old(~elem~0.offset)| ~elem~0.offset)} is VALID [2020-07-18 00:21:22,549 INFO L280 TraceCheckUtils]: 59: Hoare triple {2531#(= |old(~elem~0.offset)| ~elem~0.offset)} assume -2147483648 <= #t~nondet31 && #t~nondet31 <= 2147483647; {2531#(= |old(~elem~0.offset)| ~elem~0.offset)} is VALID [2020-07-18 00:21:22,549 INFO L280 TraceCheckUtils]: 60: Hoare triple {2531#(= |old(~elem~0.offset)| ~elem~0.offset)} assume !(0 != #t~nondet31); {2531#(= |old(~elem~0.offset)| ~elem~0.offset)} is VALID [2020-07-18 00:21:22,550 INFO L280 TraceCheckUtils]: 61: Hoare triple {2531#(= |old(~elem~0.offset)| ~elem~0.offset)} havoc #t~nondet31; {2531#(= |old(~elem~0.offset)| ~elem~0.offset)} is VALID [2020-07-18 00:21:22,550 INFO L280 TraceCheckUtils]: 62: Hoare triple {2531#(= |old(~elem~0.offset)| ~elem~0.offset)} assume true; {2531#(= |old(~elem~0.offset)| ~elem~0.offset)} is VALID [2020-07-18 00:21:22,552 INFO L275 TraceCheckUtils]: 63: Hoare quadruple {2531#(= |old(~elem~0.offset)| ~elem~0.offset)} {2471#(and (<= 1 main_~dev1~0.offset) (= 0 ~elem~0.offset))} #98#return; {2471#(and (<= 1 main_~dev1~0.offset) (= 0 ~elem~0.offset))} is VALID [2020-07-18 00:21:22,554 INFO L263 TraceCheckUtils]: 64: Hoare triple {2471#(and (<= 1 main_~dev1~0.offset) (= 0 ~elem~0.offset))} call list_add(~dev1~0.base, ~dev1~0.offset, ~#head~0.base, ~#head~0.offset); {2497#(and (= 0 ~elem~0.offset) (<= 1 |list_add_#in~new.offset|))} is VALID [2020-07-18 00:21:22,555 INFO L280 TraceCheckUtils]: 65: Hoare triple {2497#(and (= 0 ~elem~0.offset) (<= 1 |list_add_#in~new.offset|))} ~new.base, ~new.offset := #in~new.base, #in~new.offset; {2498#(and (= 0 ~elem~0.offset) (not (= 0 list_add_~new.offset)))} is VALID [2020-07-18 00:21:22,557 INFO L280 TraceCheckUtils]: 66: Hoare triple {2498#(and (= 0 ~elem~0.offset) (not (= 0 list_add_~new.offset)))} ~head.base, ~head.offset := #in~head.base, #in~head.offset; {2498#(and (= 0 ~elem~0.offset) (not (= 0 list_add_~new.offset)))} is VALID [2020-07-18 00:21:22,558 INFO L280 TraceCheckUtils]: 67: Hoare triple {2498#(and (= 0 ~elem~0.offset) (not (= 0 list_add_~new.offset)))} assume !(~new.base != ~elem~0.base || ~new.offset != ~elem~0.offset); {2441#false} is VALID [2020-07-18 00:21:22,558 INFO L263 TraceCheckUtils]: 68: Hoare triple {2441#false} call __blast_assert(); {2441#false} is VALID [2020-07-18 00:21:22,558 INFO L280 TraceCheckUtils]: 69: Hoare triple {2441#false} assume !false; {2441#false} is VALID [2020-07-18 00:21:22,572 INFO L134 CoverageAnalysis]: Checked inductivity of 17 backedges. 0 proven. 15 refuted. 0 times theorem prover too weak. 2 trivial. 0 not checked. [2020-07-18 00:21:22,577 INFO L192 leratedInterpolation]: Finished Analysing Program using PRECISE loop Acceleration [2020-07-18 00:21:22,577 INFO L354 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModulePreferences [1859681810] [2020-07-18 00:21:22,578 INFO L220 FreeRefinementEngine]: Constructing automaton from 1 perfect and 0 imperfect interpolant sequences. [2020-07-18 00:21:22,578 INFO L233 FreeRefinementEngine]: Number of different interpolants: perfect sequences [18] imperfect sequences [] total 18 [2020-07-18 00:21:22,578 INFO L156 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [412128944] [2020-07-18 00:21:22,579 INFO L78 Accepts]: Start accepts. Automaton has 18 states. Word has length 70 [2020-07-18 00:21:22,579 INFO L84 Accepts]: Finished accepts. word is accepted. [2020-07-18 00:21:22,580 INFO L86 InductivityCheck]: Starting indutivity check of a Floyd-Hoare automaton with 18 states. [2020-07-18 00:21:22,671 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 00:21:22,671 INFO L459 AbstractCegarLoop]: Interpolant automaton has 18 states [2020-07-18 00:21:22,672 INFO L143 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy FIXED_PREFERENCES [2020-07-18 00:21:22,672 INFO L142 InterpolantAutomaton]: Constructing interpolant automaton starting with 18 interpolants. [2020-07-18 00:21:22,672 INFO L144 InterpolantAutomaton]: CoverageRelationStatistics Valid=40, Invalid=266, Unknown=0, NotChecked=0, Total=306 [2020-07-18 00:21:22,673 INFO L87 Difference]: Start difference. First operand 88 states and 101 transitions. Second operand 18 states. [2020-07-18 00:21:26,646 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2020-07-18 00:21:26,646 INFO L93 Difference]: Finished difference Result 113 states and 129 transitions. [2020-07-18 00:21:26,646 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 22 states. [2020-07-18 00:21:26,646 INFO L78 Accepts]: Start accepts. Automaton has 18 states. Word has length 70 [2020-07-18 00:21:26,647 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2020-07-18 00:21:26,647 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 18 states. [2020-07-18 00:21:26,651 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 22 states to 22 states and 102 transitions. [2020-07-18 00:21:26,651 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 18 states. [2020-07-18 00:21:26,655 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 22 states to 22 states and 102 transitions. [2020-07-18 00:21:26,655 INFO L86 InductivityCheck]: Starting indutivity check of a Floyd-Hoare automaton with 22 states and 102 transitions. [2020-07-18 00:21:26,869 INFO L119 InductivityCheck]: Floyd-Hoare automaton has 102 edges. 102 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2020-07-18 00:21:26,876 INFO L225 Difference]: With dead ends: 113 [2020-07-18 00:21:26,877 INFO L226 Difference]: Without dead ends: 104 [2020-07-18 00:21:26,878 INFO L675 BasicCegarLoop]: 0 DeclaredPredicates, 46 GetRequests, 13 SyntacticMatches, 1 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 00:21:26,878 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 104 states. [2020-07-18 00:21:27,287 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 104 to 94. [2020-07-18 00:21:27,287 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2020-07-18 00:21:27,287 INFO L82 GeneralOperation]: Start isEquivalent. First operand 104 states. Second operand 94 states. [2020-07-18 00:21:27,287 INFO L74 IsIncluded]: Start isIncluded. First operand 104 states. Second operand 94 states. [2020-07-18 00:21:27,288 INFO L87 Difference]: Start difference. First operand 104 states. Second operand 94 states. [2020-07-18 00:21:27,295 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2020-07-18 00:21:27,295 INFO L93 Difference]: Finished difference Result 104 states and 118 transitions. [2020-07-18 00:21:27,295 INFO L276 IsEmpty]: Start isEmpty. Operand 104 states and 118 transitions. [2020-07-18 00:21:27,296 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2020-07-18 00:21:27,296 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2020-07-18 00:21:27,297 INFO L74 IsIncluded]: Start isIncluded. First operand 94 states. Second operand 104 states. [2020-07-18 00:21:27,297 INFO L87 Difference]: Start difference. First operand 94 states. Second operand 104 states. [2020-07-18 00:21:27,302 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2020-07-18 00:21:27,303 INFO L93 Difference]: Finished difference Result 104 states and 118 transitions. [2020-07-18 00:21:27,303 INFO L276 IsEmpty]: Start isEmpty. Operand 104 states and 118 transitions. [2020-07-18 00:21:27,304 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2020-07-18 00:21:27,327 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2020-07-18 00:21:27,328 INFO L88 GeneralOperation]: Finished isEquivalent. [2020-07-18 00:21:27,328 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2020-07-18 00:21:27,328 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 94 states. [2020-07-18 00:21:27,335 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 94 states to 94 states and 107 transitions. [2020-07-18 00:21:27,335 INFO L78 Accepts]: Start accepts. Automaton has 94 states and 107 transitions. Word has length 70 [2020-07-18 00:21:27,335 INFO L84 Accepts]: Finished accepts. word is rejected. [2020-07-18 00:21:27,335 INFO L479 AbstractCegarLoop]: Abstraction has 94 states and 107 transitions. [2020-07-18 00:21:27,336 INFO L480 AbstractCegarLoop]: Interpolant automaton has 18 states. [2020-07-18 00:21:27,336 INFO L86 InductivityCheck]: Starting indutivity check of a Floyd-Hoare automaton with 94 states and 107 transitions. [2020-07-18 00:21:27,541 INFO L119 InductivityCheck]: Floyd-Hoare automaton has 107 edges. 107 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2020-07-18 00:21:27,541 INFO L276 IsEmpty]: Start isEmpty. Operand 94 states and 107 transitions. [2020-07-18 00:21:27,542 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 72 [2020-07-18 00:21:27,543 INFO L414 BasicCegarLoop]: Found error trace [2020-07-18 00:21:27,543 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 00:21:27,543 WARN L516 AbstractCegarLoop]: Destroyed unattended storables created during the last iteration: SelfDestructingSolverStorable4 [2020-07-18 00:21:27,543 INFO L427 AbstractCegarLoop]: === Iteration 6 === [__blast_assertErr0ASSERT_VIOLATIONERROR_FUNCTION]=== [2020-07-18 00:21:27,544 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2020-07-18 00:21:27,544 INFO L82 PathProgramCache]: Analyzing trace with hash 983151375, now seen corresponding path program 1 times [2020-07-18 00:21:27,544 INFO L163 FreeRefinementEngine]: Executing refinement strategy FIXED_PREFERENCES [2020-07-18 00:21:27,544 INFO L354 FreeRefinementEngine]: Using trace check IpTcStrategyModulePreferences [1746122919] [2020-07-18 00:21:27,544 INFO L94 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2020-07-18 00:21:27,563 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2020-07-18 00:21:27,706 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2020-07-18 00:21:27,714 INFO L280 TraceCheckUtils]: 0: Hoare triple {3251#(and (= |#valid| |old(#valid)|) (= ~elem~0.base |old(~elem~0.base)|) (= |#NULL.base| |old(#NULL.base)|) (= |~#head~0.base| |old(~#head~0.base)|) (= ~guard_malloc_counter~0.offset |old(~guard_malloc_counter~0.offset)|) (= |#NULL.offset| |old(#NULL.offset)|) (= ~elem~0.offset |old(~elem~0.offset)|) (= |old(#length)| |#length|) (= |~#head~0.offset| |old(~#head~0.offset)|) (= ~guard_malloc_counter~0.base |old(~guard_malloc_counter~0.base)|))} #NULL.base, #NULL.offset := 0, 0; {3189#true} is VALID [2020-07-18 00:21:27,714 INFO L280 TraceCheckUtils]: 1: Hoare triple {3189#true} #valid := #valid[0 := 0]; {3189#true} is VALID [2020-07-18 00:21:27,715 INFO L280 TraceCheckUtils]: 2: Hoare triple {3189#true} assume 0 < #StackHeapBarrier; {3189#true} is VALID [2020-07-18 00:21:27,715 INFO L280 TraceCheckUtils]: 3: Hoare triple {3189#true} ~guard_malloc_counter~0.base, ~guard_malloc_counter~0.offset := 0, 0; {3189#true} is VALID [2020-07-18 00:21:27,715 INFO L280 TraceCheckUtils]: 4: Hoare triple {3189#true} ~elem~0.base, ~elem~0.offset := 0, 0; {3189#true} is VALID [2020-07-18 00:21:27,715 INFO L280 TraceCheckUtils]: 5: Hoare triple {3189#true} SUMMARY for call ~#head~0.base, ~#head~0.offset := #Ultimate.allocOnStack(8); srcloc: L900 {3189#true} is VALID [2020-07-18 00:21:27,715 INFO L280 TraceCheckUtils]: 6: Hoare triple {3189#true} SUMMARY for call write~init~$Pointer$(0, 0, ~#head~0.base, ~#head~0.offset, 4); srcloc: L900-1 {3189#true} is VALID [2020-07-18 00:21:27,716 INFO L280 TraceCheckUtils]: 7: Hoare triple {3189#true} SUMMARY for call write~init~$Pointer$(0, 0, ~#head~0.base, 4 + ~#head~0.offset, 4); srcloc: L900-2 {3189#true} is VALID [2020-07-18 00:21:27,716 INFO L280 TraceCheckUtils]: 8: Hoare triple {3189#true} assume true; {3189#true} is VALID [2020-07-18 00:21:27,716 INFO L275 TraceCheckUtils]: 9: Hoare quadruple {3189#true} {3189#true} #112#return; {3189#true} is VALID [2020-07-18 00:21:27,735 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2020-07-18 00:21:27,794 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2020-07-18 00:21:27,819 INFO L280 TraceCheckUtils]: 0: Hoare triple {3252#(and (= ~guard_malloc_counter~0.offset |old(~guard_malloc_counter~0.offset)|) (= ~guard_malloc_counter~0.base |old(~guard_malloc_counter~0.base)|))} ~size := #in~size; {3189#true} is VALID [2020-07-18 00:21:27,820 INFO L280 TraceCheckUtils]: 1: Hoare triple {3189#true} assume ~size > 0; {3189#true} is VALID [2020-07-18 00:21:27,820 INFO L280 TraceCheckUtils]: 2: Hoare triple {3189#true} #t~post28.base, #t~post28.offset := ~guard_malloc_counter~0.base, ~guard_malloc_counter~0.offset; {3189#true} is VALID [2020-07-18 00:21:27,820 INFO L280 TraceCheckUtils]: 3: Hoare triple {3189#true} ~guard_malloc_counter~0.base, ~guard_malloc_counter~0.offset := #t~post28.base, 1 + #t~post28.offset; {3189#true} is VALID [2020-07-18 00:21:27,820 INFO L280 TraceCheckUtils]: 4: Hoare triple {3189#true} havoc #t~post28.base, #t~post28.offset; {3189#true} is VALID [2020-07-18 00:21:27,821 INFO L280 TraceCheckUtils]: 5: Hoare triple {3189#true} assume -2147483648 <= #t~nondet29 && #t~nondet29 <= 2147483647; {3189#true} is VALID [2020-07-18 00:21:27,821 INFO L280 TraceCheckUtils]: 6: Hoare triple {3189#true} assume !(0 == #t~nondet29); {3189#true} is VALID [2020-07-18 00:21:27,821 INFO L280 TraceCheckUtils]: 7: Hoare triple {3189#true} havoc #t~nondet29; {3189#true} is VALID [2020-07-18 00:21:27,822 INFO L280 TraceCheckUtils]: 8: Hoare triple {3189#true} #res.base, #res.offset := ~guard_malloc_counter~0.base, ~guard_malloc_counter~0.offset; {3266#(<= |__getMemory_#res.offset| ~guard_malloc_counter~0.offset)} is VALID [2020-07-18 00:21:27,823 INFO L280 TraceCheckUtils]: 9: Hoare triple {3266#(<= |__getMemory_#res.offset| ~guard_malloc_counter~0.offset)} assume true; {3266#(<= |__getMemory_#res.offset| ~guard_malloc_counter~0.offset)} is VALID [2020-07-18 00:21:27,824 INFO L275 TraceCheckUtils]: 10: Hoare quadruple {3266#(<= |__getMemory_#res.offset| ~guard_malloc_counter~0.offset)} {3189#true} #92#return; {3264#(<= |my_malloc_#t~ret30.offset| ~guard_malloc_counter~0.offset)} is VALID [2020-07-18 00:21:27,825 INFO L280 TraceCheckUtils]: 0: Hoare triple {3252#(and (= ~guard_malloc_counter~0.offset |old(~guard_malloc_counter~0.offset)|) (= ~guard_malloc_counter~0.base |old(~guard_malloc_counter~0.base)|))} ~size := #in~size; {3189#true} is VALID [2020-07-18 00:21:27,826 INFO L263 TraceCheckUtils]: 1: Hoare triple {3189#true} call #t~ret30.base, #t~ret30.offset := __getMemory(~size); {3252#(and (= ~guard_malloc_counter~0.offset |old(~guard_malloc_counter~0.offset)|) (= ~guard_malloc_counter~0.base |old(~guard_malloc_counter~0.base)|))} is VALID [2020-07-18 00:21:27,826 INFO L280 TraceCheckUtils]: 2: Hoare triple {3252#(and (= ~guard_malloc_counter~0.offset |old(~guard_malloc_counter~0.offset)|) (= ~guard_malloc_counter~0.base |old(~guard_malloc_counter~0.base)|))} ~size := #in~size; {3189#true} is VALID [2020-07-18 00:21:27,826 INFO L280 TraceCheckUtils]: 3: Hoare triple {3189#true} assume ~size > 0; {3189#true} is VALID [2020-07-18 00:21:27,827 INFO L280 TraceCheckUtils]: 4: Hoare triple {3189#true} #t~post28.base, #t~post28.offset := ~guard_malloc_counter~0.base, ~guard_malloc_counter~0.offset; {3189#true} is VALID [2020-07-18 00:21:27,827 INFO L280 TraceCheckUtils]: 5: Hoare triple {3189#true} ~guard_malloc_counter~0.base, ~guard_malloc_counter~0.offset := #t~post28.base, 1 + #t~post28.offset; {3189#true} is VALID [2020-07-18 00:21:27,827 INFO L280 TraceCheckUtils]: 6: Hoare triple {3189#true} havoc #t~post28.base, #t~post28.offset; {3189#true} is VALID [2020-07-18 00:21:27,827 INFO L280 TraceCheckUtils]: 7: Hoare triple {3189#true} assume -2147483648 <= #t~nondet29 && #t~nondet29 <= 2147483647; {3189#true} is VALID [2020-07-18 00:21:27,827 INFO L280 TraceCheckUtils]: 8: Hoare triple {3189#true} assume !(0 == #t~nondet29); {3189#true} is VALID [2020-07-18 00:21:27,828 INFO L280 TraceCheckUtils]: 9: Hoare triple {3189#true} havoc #t~nondet29; {3189#true} is VALID [2020-07-18 00:21:27,828 INFO L280 TraceCheckUtils]: 10: Hoare triple {3189#true} #res.base, #res.offset := ~guard_malloc_counter~0.base, ~guard_malloc_counter~0.offset; {3266#(<= |__getMemory_#res.offset| ~guard_malloc_counter~0.offset)} is VALID [2020-07-18 00:21:27,829 INFO L280 TraceCheckUtils]: 11: Hoare triple {3266#(<= |__getMemory_#res.offset| ~guard_malloc_counter~0.offset)} assume true; {3266#(<= |__getMemory_#res.offset| ~guard_malloc_counter~0.offset)} is VALID [2020-07-18 00:21:27,831 INFO L275 TraceCheckUtils]: 12: Hoare quadruple {3266#(<= |__getMemory_#res.offset| ~guard_malloc_counter~0.offset)} {3189#true} #92#return; {3264#(<= |my_malloc_#t~ret30.offset| ~guard_malloc_counter~0.offset)} is VALID [2020-07-18 00:21:27,832 INFO L280 TraceCheckUtils]: 13: Hoare triple {3264#(<= |my_malloc_#t~ret30.offset| ~guard_malloc_counter~0.offset)} #res.base, #res.offset := #t~ret30.base, #t~ret30.offset; {3265#(<= |my_malloc_#res.offset| ~guard_malloc_counter~0.offset)} is VALID [2020-07-18 00:21:27,832 INFO L280 TraceCheckUtils]: 14: Hoare triple {3265#(<= |my_malloc_#res.offset| ~guard_malloc_counter~0.offset)} havoc #t~ret30.base, #t~ret30.offset; {3265#(<= |my_malloc_#res.offset| ~guard_malloc_counter~0.offset)} is VALID [2020-07-18 00:21:27,833 INFO L280 TraceCheckUtils]: 15: Hoare triple {3265#(<= |my_malloc_#res.offset| ~guard_malloc_counter~0.offset)} assume true; {3265#(<= |my_malloc_#res.offset| ~guard_malloc_counter~0.offset)} is VALID [2020-07-18 00:21:27,834 INFO L275 TraceCheckUtils]: 16: Hoare quadruple {3265#(<= |my_malloc_#res.offset| ~guard_malloc_counter~0.offset)} {3189#true} #94#return; {3218#(<= |main_#t~ret32.offset| ~guard_malloc_counter~0.offset)} is VALID [2020-07-18 00:21:27,838 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2020-07-18 00:21:27,924 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2020-07-18 00:21:28,021 INFO L280 TraceCheckUtils]: 0: Hoare triple {3252#(and (= ~guard_malloc_counter~0.offset |old(~guard_malloc_counter~0.offset)|) (= ~guard_malloc_counter~0.base |old(~guard_malloc_counter~0.base)|))} ~size := #in~size; {3267#(= ~guard_malloc_counter~0.offset |old(~guard_malloc_counter~0.offset)|)} is VALID [2020-07-18 00:21:28,023 INFO L280 TraceCheckUtils]: 1: Hoare triple {3267#(= ~guard_malloc_counter~0.offset |old(~guard_malloc_counter~0.offset)|)} assume ~size > 0; {3267#(= ~guard_malloc_counter~0.offset |old(~guard_malloc_counter~0.offset)|)} is VALID [2020-07-18 00:21:28,024 INFO L280 TraceCheckUtils]: 2: Hoare triple {3267#(= ~guard_malloc_counter~0.offset |old(~guard_malloc_counter~0.offset)|)} #t~post28.base, #t~post28.offset := ~guard_malloc_counter~0.base, ~guard_malloc_counter~0.offset; {3281#(= |old(~guard_malloc_counter~0.offset)| |__getMemory_#t~post28.offset|)} is VALID [2020-07-18 00:21:28,026 INFO L280 TraceCheckUtils]: 3: Hoare triple {3281#(= |old(~guard_malloc_counter~0.offset)| |__getMemory_#t~post28.offset|)} ~guard_malloc_counter~0.base, ~guard_malloc_counter~0.offset := #t~post28.base, 1 + #t~post28.offset; {3282#(<= (+ |old(~guard_malloc_counter~0.offset)| 1) ~guard_malloc_counter~0.offset)} is VALID [2020-07-18 00:21:28,026 INFO L280 TraceCheckUtils]: 4: Hoare triple {3282#(<= (+ |old(~guard_malloc_counter~0.offset)| 1) ~guard_malloc_counter~0.offset)} havoc #t~post28.base, #t~post28.offset; {3282#(<= (+ |old(~guard_malloc_counter~0.offset)| 1) ~guard_malloc_counter~0.offset)} is VALID [2020-07-18 00:21:28,027 INFO L280 TraceCheckUtils]: 5: Hoare triple {3282#(<= (+ |old(~guard_malloc_counter~0.offset)| 1) ~guard_malloc_counter~0.offset)} assume -2147483648 <= #t~nondet29 && #t~nondet29 <= 2147483647; {3282#(<= (+ |old(~guard_malloc_counter~0.offset)| 1) ~guard_malloc_counter~0.offset)} is VALID [2020-07-18 00:21:28,028 INFO L280 TraceCheckUtils]: 6: Hoare triple {3282#(<= (+ |old(~guard_malloc_counter~0.offset)| 1) ~guard_malloc_counter~0.offset)} assume !(0 == #t~nondet29); {3282#(<= (+ |old(~guard_malloc_counter~0.offset)| 1) ~guard_malloc_counter~0.offset)} is VALID [2020-07-18 00:21:28,029 INFO L280 TraceCheckUtils]: 7: Hoare triple {3282#(<= (+ |old(~guard_malloc_counter~0.offset)| 1) ~guard_malloc_counter~0.offset)} havoc #t~nondet29; {3282#(<= (+ |old(~guard_malloc_counter~0.offset)| 1) ~guard_malloc_counter~0.offset)} is VALID [2020-07-18 00:21:28,030 INFO L280 TraceCheckUtils]: 8: Hoare triple {3282#(<= (+ |old(~guard_malloc_counter~0.offset)| 1) ~guard_malloc_counter~0.offset)} #res.base, #res.offset := ~guard_malloc_counter~0.base, ~guard_malloc_counter~0.offset; {3283#(<= (+ |old(~guard_malloc_counter~0.offset)| 1) |__getMemory_#res.offset|)} is VALID [2020-07-18 00:21:28,030 INFO L280 TraceCheckUtils]: 9: Hoare triple {3283#(<= (+ |old(~guard_malloc_counter~0.offset)| 1) |__getMemory_#res.offset|)} assume true; {3283#(<= (+ |old(~guard_malloc_counter~0.offset)| 1) |__getMemory_#res.offset|)} is VALID [2020-07-18 00:21:28,031 INFO L275 TraceCheckUtils]: 10: Hoare quadruple {3283#(<= (+ |old(~guard_malloc_counter~0.offset)| 1) |__getMemory_#res.offset|)} {3267#(= ~guard_malloc_counter~0.offset |old(~guard_malloc_counter~0.offset)|)} #92#return; {3279#(<= (+ |old(~guard_malloc_counter~0.offset)| 1) |my_malloc_#t~ret30.offset|)} is VALID [2020-07-18 00:21:28,032 INFO L280 TraceCheckUtils]: 0: Hoare triple {3252#(and (= ~guard_malloc_counter~0.offset |old(~guard_malloc_counter~0.offset)|) (= ~guard_malloc_counter~0.base |old(~guard_malloc_counter~0.base)|))} ~size := #in~size; {3267#(= ~guard_malloc_counter~0.offset |old(~guard_malloc_counter~0.offset)|)} is VALID [2020-07-18 00:21:28,033 INFO L263 TraceCheckUtils]: 1: Hoare triple {3267#(= ~guard_malloc_counter~0.offset |old(~guard_malloc_counter~0.offset)|)} call #t~ret30.base, #t~ret30.offset := __getMemory(~size); {3252#(and (= ~guard_malloc_counter~0.offset |old(~guard_malloc_counter~0.offset)|) (= ~guard_malloc_counter~0.base |old(~guard_malloc_counter~0.base)|))} is VALID [2020-07-18 00:21:28,034 INFO L280 TraceCheckUtils]: 2: Hoare triple {3252#(and (= ~guard_malloc_counter~0.offset |old(~guard_malloc_counter~0.offset)|) (= ~guard_malloc_counter~0.base |old(~guard_malloc_counter~0.base)|))} ~size := #in~size; {3267#(= ~guard_malloc_counter~0.offset |old(~guard_malloc_counter~0.offset)|)} is VALID [2020-07-18 00:21:28,035 INFO L280 TraceCheckUtils]: 3: Hoare triple {3267#(= ~guard_malloc_counter~0.offset |old(~guard_malloc_counter~0.offset)|)} assume ~size > 0; {3267#(= ~guard_malloc_counter~0.offset |old(~guard_malloc_counter~0.offset)|)} is VALID [2020-07-18 00:21:28,035 INFO L280 TraceCheckUtils]: 4: Hoare triple {3267#(= ~guard_malloc_counter~0.offset |old(~guard_malloc_counter~0.offset)|)} #t~post28.base, #t~post28.offset := ~guard_malloc_counter~0.base, ~guard_malloc_counter~0.offset; {3281#(= |old(~guard_malloc_counter~0.offset)| |__getMemory_#t~post28.offset|)} is VALID [2020-07-18 00:21:28,036 INFO L280 TraceCheckUtils]: 5: Hoare triple {3281#(= |old(~guard_malloc_counter~0.offset)| |__getMemory_#t~post28.offset|)} ~guard_malloc_counter~0.base, ~guard_malloc_counter~0.offset := #t~post28.base, 1 + #t~post28.offset; {3282#(<= (+ |old(~guard_malloc_counter~0.offset)| 1) ~guard_malloc_counter~0.offset)} is VALID [2020-07-18 00:21:28,037 INFO L280 TraceCheckUtils]: 6: Hoare triple {3282#(<= (+ |old(~guard_malloc_counter~0.offset)| 1) ~guard_malloc_counter~0.offset)} havoc #t~post28.base, #t~post28.offset; {3282#(<= (+ |old(~guard_malloc_counter~0.offset)| 1) ~guard_malloc_counter~0.offset)} is VALID [2020-07-18 00:21:28,037 INFO L280 TraceCheckUtils]: 7: Hoare triple {3282#(<= (+ |old(~guard_malloc_counter~0.offset)| 1) ~guard_malloc_counter~0.offset)} assume -2147483648 <= #t~nondet29 && #t~nondet29 <= 2147483647; {3282#(<= (+ |old(~guard_malloc_counter~0.offset)| 1) ~guard_malloc_counter~0.offset)} is VALID [2020-07-18 00:21:28,038 INFO L280 TraceCheckUtils]: 8: Hoare triple {3282#(<= (+ |old(~guard_malloc_counter~0.offset)| 1) ~guard_malloc_counter~0.offset)} assume !(0 == #t~nondet29); {3282#(<= (+ |old(~guard_malloc_counter~0.offset)| 1) ~guard_malloc_counter~0.offset)} is VALID [2020-07-18 00:21:28,040 INFO L280 TraceCheckUtils]: 9: Hoare triple {3282#(<= (+ |old(~guard_malloc_counter~0.offset)| 1) ~guard_malloc_counter~0.offset)} havoc #t~nondet29; {3282#(<= (+ |old(~guard_malloc_counter~0.offset)| 1) ~guard_malloc_counter~0.offset)} is VALID [2020-07-18 00:21:28,041 INFO L280 TraceCheckUtils]: 10: Hoare triple {3282#(<= (+ |old(~guard_malloc_counter~0.offset)| 1) ~guard_malloc_counter~0.offset)} #res.base, #res.offset := ~guard_malloc_counter~0.base, ~guard_malloc_counter~0.offset; {3283#(<= (+ |old(~guard_malloc_counter~0.offset)| 1) |__getMemory_#res.offset|)} is VALID [2020-07-18 00:21:28,041 INFO L280 TraceCheckUtils]: 11: Hoare triple {3283#(<= (+ |old(~guard_malloc_counter~0.offset)| 1) |__getMemory_#res.offset|)} assume true; {3283#(<= (+ |old(~guard_malloc_counter~0.offset)| 1) |__getMemory_#res.offset|)} is VALID [2020-07-18 00:21:28,043 INFO L275 TraceCheckUtils]: 12: Hoare quadruple {3283#(<= (+ |old(~guard_malloc_counter~0.offset)| 1) |__getMemory_#res.offset|)} {3267#(= ~guard_malloc_counter~0.offset |old(~guard_malloc_counter~0.offset)|)} #92#return; {3279#(<= (+ |old(~guard_malloc_counter~0.offset)| 1) |my_malloc_#t~ret30.offset|)} is VALID [2020-07-18 00:21:28,044 INFO L280 TraceCheckUtils]: 13: Hoare triple {3279#(<= (+ |old(~guard_malloc_counter~0.offset)| 1) |my_malloc_#t~ret30.offset|)} #res.base, #res.offset := #t~ret30.base, #t~ret30.offset; {3280#(<= (+ |old(~guard_malloc_counter~0.offset)| 1) |my_malloc_#res.offset|)} is VALID [2020-07-18 00:21:28,045 INFO L280 TraceCheckUtils]: 14: Hoare triple {3280#(<= (+ |old(~guard_malloc_counter~0.offset)| 1) |my_malloc_#res.offset|)} havoc #t~ret30.base, #t~ret30.offset; {3280#(<= (+ |old(~guard_malloc_counter~0.offset)| 1) |my_malloc_#res.offset|)} is VALID [2020-07-18 00:21:28,046 INFO L280 TraceCheckUtils]: 15: Hoare triple {3280#(<= (+ |old(~guard_malloc_counter~0.offset)| 1) |my_malloc_#res.offset|)} assume true; {3280#(<= (+ |old(~guard_malloc_counter~0.offset)| 1) |my_malloc_#res.offset|)} is VALID [2020-07-18 00:21:28,048 INFO L275 TraceCheckUtils]: 16: Hoare quadruple {3280#(<= (+ |old(~guard_malloc_counter~0.offset)| 1) |my_malloc_#res.offset|)} {3219#(<= main_~dev1~0.offset ~guard_malloc_counter~0.offset)} #96#return; {3237#(<= (+ main_~dev1~0.offset 1) |main_#t~ret33.offset|)} is VALID [2020-07-18 00:21:28,079 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2020-07-18 00:21:28,152 INFO L280 TraceCheckUtils]: 0: Hoare triple {3284#(and (= ~elem~0.base |old(~elem~0.base)|) (= ~elem~0.offset |old(~elem~0.offset)|))} ~new.base, ~new.offset := #in~new.base, #in~new.offset; {3285#(= |list_add_#in~new.offset| list_add_~new.offset)} is VALID [2020-07-18 00:21:28,153 INFO L280 TraceCheckUtils]: 1: Hoare triple {3285#(= |list_add_#in~new.offset| list_add_~new.offset)} ~head.base, ~head.offset := #in~head.base, #in~head.offset; {3285#(= |list_add_#in~new.offset| list_add_~new.offset)} is VALID [2020-07-18 00:21:28,153 INFO L280 TraceCheckUtils]: 2: Hoare triple {3285#(= |list_add_#in~new.offset| list_add_~new.offset)} assume ~new.base != ~elem~0.base || ~new.offset != ~elem~0.offset; {3285#(= |list_add_#in~new.offset| list_add_~new.offset)} is VALID [2020-07-18 00:21:28,154 INFO L280 TraceCheckUtils]: 3: Hoare triple {3285#(= |list_add_#in~new.offset| list_add_~new.offset)} assume -2147483648 <= #t~nondet31 && #t~nondet31 <= 2147483647; {3285#(= |list_add_#in~new.offset| list_add_~new.offset)} is VALID [2020-07-18 00:21:28,154 INFO L280 TraceCheckUtils]: 4: Hoare triple {3285#(= |list_add_#in~new.offset| list_add_~new.offset)} assume 0 != #t~nondet31; {3285#(= |list_add_#in~new.offset| list_add_~new.offset)} is VALID [2020-07-18 00:21:28,155 INFO L280 TraceCheckUtils]: 5: Hoare triple {3285#(= |list_add_#in~new.offset| list_add_~new.offset)} havoc #t~nondet31; {3285#(= |list_add_#in~new.offset| list_add_~new.offset)} is VALID [2020-07-18 00:21:28,156 INFO L280 TraceCheckUtils]: 6: Hoare triple {3285#(= |list_add_#in~new.offset| list_add_~new.offset)} ~elem~0.base, ~elem~0.offset := ~new.base, ~new.offset; {3286#(= ~elem~0.offset |list_add_#in~new.offset|)} is VALID [2020-07-18 00:21:28,157 INFO L280 TraceCheckUtils]: 7: Hoare triple {3286#(= ~elem~0.offset |list_add_#in~new.offset|)} assume true; {3286#(= ~elem~0.offset |list_add_#in~new.offset|)} is VALID [2020-07-18 00:21:28,158 INFO L275 TraceCheckUtils]: 8: Hoare quadruple {3286#(= ~elem~0.offset |list_add_#in~new.offset|)} {3238#(<= (+ main_~dev1~0.offset 1) main_~dev2~0.offset)} #98#return; {3248#(<= (+ main_~dev1~0.offset 1) ~elem~0.offset)} is VALID [2020-07-18 00:21:28,159 INFO L263 TraceCheckUtils]: 0: Hoare triple {3189#true} call ULTIMATE.init(); {3251#(and (= |#valid| |old(#valid)|) (= ~elem~0.base |old(~elem~0.base)|) (= |#NULL.base| |old(#NULL.base)|) (= |~#head~0.base| |old(~#head~0.base)|) (= ~guard_malloc_counter~0.offset |old(~guard_malloc_counter~0.offset)|) (= |#NULL.offset| |old(#NULL.offset)|) (= ~elem~0.offset |old(~elem~0.offset)|) (= |old(#length)| |#length|) (= |~#head~0.offset| |old(~#head~0.offset)|) (= ~guard_malloc_counter~0.base |old(~guard_malloc_counter~0.base)|))} is VALID [2020-07-18 00:21:28,159 INFO L280 TraceCheckUtils]: 1: Hoare triple {3251#(and (= |#valid| |old(#valid)|) (= ~elem~0.base |old(~elem~0.base)|) (= |#NULL.base| |old(#NULL.base)|) (= |~#head~0.base| |old(~#head~0.base)|) (= ~guard_malloc_counter~0.offset |old(~guard_malloc_counter~0.offset)|) (= |#NULL.offset| |old(#NULL.offset)|) (= ~elem~0.offset |old(~elem~0.offset)|) (= |old(#length)| |#length|) (= |~#head~0.offset| |old(~#head~0.offset)|) (= ~guard_malloc_counter~0.base |old(~guard_malloc_counter~0.base)|))} #NULL.base, #NULL.offset := 0, 0; {3189#true} is VALID [2020-07-18 00:21:28,159 INFO L280 TraceCheckUtils]: 2: Hoare triple {3189#true} #valid := #valid[0 := 0]; {3189#true} is VALID [2020-07-18 00:21:28,160 INFO L280 TraceCheckUtils]: 3: Hoare triple {3189#true} assume 0 < #StackHeapBarrier; {3189#true} is VALID [2020-07-18 00:21:28,160 INFO L280 TraceCheckUtils]: 4: Hoare triple {3189#true} ~guard_malloc_counter~0.base, ~guard_malloc_counter~0.offset := 0, 0; {3189#true} is VALID [2020-07-18 00:21:28,160 INFO L280 TraceCheckUtils]: 5: Hoare triple {3189#true} ~elem~0.base, ~elem~0.offset := 0, 0; {3189#true} is VALID [2020-07-18 00:21:28,160 INFO L280 TraceCheckUtils]: 6: Hoare triple {3189#true} SUMMARY for call ~#head~0.base, ~#head~0.offset := #Ultimate.allocOnStack(8); srcloc: L900 {3189#true} is VALID [2020-07-18 00:21:28,160 INFO L280 TraceCheckUtils]: 7: Hoare triple {3189#true} SUMMARY for call write~init~$Pointer$(0, 0, ~#head~0.base, ~#head~0.offset, 4); srcloc: L900-1 {3189#true} is VALID [2020-07-18 00:21:28,161 INFO L280 TraceCheckUtils]: 8: Hoare triple {3189#true} SUMMARY for call write~init~$Pointer$(0, 0, ~#head~0.base, 4 + ~#head~0.offset, 4); srcloc: L900-2 {3189#true} is VALID [2020-07-18 00:21:28,161 INFO L280 TraceCheckUtils]: 9: Hoare triple {3189#true} assume true; {3189#true} is VALID [2020-07-18 00:21:28,161 INFO L275 TraceCheckUtils]: 10: Hoare quadruple {3189#true} {3189#true} #112#return; {3189#true} is VALID [2020-07-18 00:21:28,161 INFO L263 TraceCheckUtils]: 11: Hoare triple {3189#true} call #t~ret34 := main(); {3189#true} is VALID [2020-07-18 00:21:28,161 INFO L280 TraceCheckUtils]: 12: Hoare triple {3189#true} havoc ~dev1~0.base, ~dev1~0.offset; {3189#true} is VALID [2020-07-18 00:21:28,162 INFO L280 TraceCheckUtils]: 13: Hoare triple {3189#true} havoc ~dev2~0.base, ~dev2~0.offset; {3189#true} is VALID [2020-07-18 00:21:28,162 INFO L263 TraceCheckUtils]: 14: Hoare triple {3189#true} call #t~ret32.base, #t~ret32.offset := my_malloc(8); {3252#(and (= ~guard_malloc_counter~0.offset |old(~guard_malloc_counter~0.offset)|) (= ~guard_malloc_counter~0.base |old(~guard_malloc_counter~0.base)|))} is VALID [2020-07-18 00:21:28,162 INFO L280 TraceCheckUtils]: 15: Hoare triple {3252#(and (= ~guard_malloc_counter~0.offset |old(~guard_malloc_counter~0.offset)|) (= ~guard_malloc_counter~0.base |old(~guard_malloc_counter~0.base)|))} ~size := #in~size; {3189#true} is VALID [2020-07-18 00:21:28,163 INFO L263 TraceCheckUtils]: 16: Hoare triple {3189#true} call #t~ret30.base, #t~ret30.offset := __getMemory(~size); {3252#(and (= ~guard_malloc_counter~0.offset |old(~guard_malloc_counter~0.offset)|) (= ~guard_malloc_counter~0.base |old(~guard_malloc_counter~0.base)|))} is VALID [2020-07-18 00:21:28,163 INFO L280 TraceCheckUtils]: 17: Hoare triple {3252#(and (= ~guard_malloc_counter~0.offset |old(~guard_malloc_counter~0.offset)|) (= ~guard_malloc_counter~0.base |old(~guard_malloc_counter~0.base)|))} ~size := #in~size; {3189#true} is VALID [2020-07-18 00:21:28,164 INFO L280 TraceCheckUtils]: 18: Hoare triple {3189#true} assume ~size > 0; {3189#true} is VALID [2020-07-18 00:21:28,164 INFO L280 TraceCheckUtils]: 19: Hoare triple {3189#true} #t~post28.base, #t~post28.offset := ~guard_malloc_counter~0.base, ~guard_malloc_counter~0.offset; {3189#true} is VALID [2020-07-18 00:21:28,164 INFO L280 TraceCheckUtils]: 20: Hoare triple {3189#true} ~guard_malloc_counter~0.base, ~guard_malloc_counter~0.offset := #t~post28.base, 1 + #t~post28.offset; {3189#true} is VALID [2020-07-18 00:21:28,164 INFO L280 TraceCheckUtils]: 21: Hoare triple {3189#true} havoc #t~post28.base, #t~post28.offset; {3189#true} is VALID [2020-07-18 00:21:28,164 INFO L280 TraceCheckUtils]: 22: Hoare triple {3189#true} assume -2147483648 <= #t~nondet29 && #t~nondet29 <= 2147483647; {3189#true} is VALID [2020-07-18 00:21:28,165 INFO L280 TraceCheckUtils]: 23: Hoare triple {3189#true} assume !(0 == #t~nondet29); {3189#true} is VALID [2020-07-18 00:21:28,165 INFO L280 TraceCheckUtils]: 24: Hoare triple {3189#true} havoc #t~nondet29; {3189#true} is VALID [2020-07-18 00:21:28,165 INFO L280 TraceCheckUtils]: 25: Hoare triple {3189#true} #res.base, #res.offset := ~guard_malloc_counter~0.base, ~guard_malloc_counter~0.offset; {3266#(<= |__getMemory_#res.offset| ~guard_malloc_counter~0.offset)} is VALID [2020-07-18 00:21:28,166 INFO L280 TraceCheckUtils]: 26: Hoare triple {3266#(<= |__getMemory_#res.offset| ~guard_malloc_counter~0.offset)} assume true; {3266#(<= |__getMemory_#res.offset| ~guard_malloc_counter~0.offset)} is VALID [2020-07-18 00:21:28,167 INFO L275 TraceCheckUtils]: 27: Hoare quadruple {3266#(<= |__getMemory_#res.offset| ~guard_malloc_counter~0.offset)} {3189#true} #92#return; {3264#(<= |my_malloc_#t~ret30.offset| ~guard_malloc_counter~0.offset)} is VALID [2020-07-18 00:21:28,168 INFO L280 TraceCheckUtils]: 28: Hoare triple {3264#(<= |my_malloc_#t~ret30.offset| ~guard_malloc_counter~0.offset)} #res.base, #res.offset := #t~ret30.base, #t~ret30.offset; {3265#(<= |my_malloc_#res.offset| ~guard_malloc_counter~0.offset)} is VALID [2020-07-18 00:21:28,168 INFO L280 TraceCheckUtils]: 29: Hoare triple {3265#(<= |my_malloc_#res.offset| ~guard_malloc_counter~0.offset)} havoc #t~ret30.base, #t~ret30.offset; {3265#(<= |my_malloc_#res.offset| ~guard_malloc_counter~0.offset)} is VALID [2020-07-18 00:21:28,169 INFO L280 TraceCheckUtils]: 30: Hoare triple {3265#(<= |my_malloc_#res.offset| ~guard_malloc_counter~0.offset)} assume true; {3265#(<= |my_malloc_#res.offset| ~guard_malloc_counter~0.offset)} is VALID [2020-07-18 00:21:28,170 INFO L275 TraceCheckUtils]: 31: Hoare quadruple {3265#(<= |my_malloc_#res.offset| ~guard_malloc_counter~0.offset)} {3189#true} #94#return; {3218#(<= |main_#t~ret32.offset| ~guard_malloc_counter~0.offset)} is VALID [2020-07-18 00:21:28,170 INFO L280 TraceCheckUtils]: 32: Hoare triple {3218#(<= |main_#t~ret32.offset| ~guard_malloc_counter~0.offset)} ~dev1~0.base, ~dev1~0.offset := #t~ret32.base, #t~ret32.offset; {3219#(<= main_~dev1~0.offset ~guard_malloc_counter~0.offset)} is VALID [2020-07-18 00:21:28,171 INFO L280 TraceCheckUtils]: 33: Hoare triple {3219#(<= main_~dev1~0.offset ~guard_malloc_counter~0.offset)} havoc #t~ret32.base, #t~ret32.offset; {3219#(<= main_~dev1~0.offset ~guard_malloc_counter~0.offset)} is VALID [2020-07-18 00:21:28,172 INFO L263 TraceCheckUtils]: 34: Hoare triple {3219#(<= main_~dev1~0.offset ~guard_malloc_counter~0.offset)} call #t~ret33.base, #t~ret33.offset := my_malloc(8); {3252#(and (= ~guard_malloc_counter~0.offset |old(~guard_malloc_counter~0.offset)|) (= ~guard_malloc_counter~0.base |old(~guard_malloc_counter~0.base)|))} is VALID [2020-07-18 00:21:28,173 INFO L280 TraceCheckUtils]: 35: Hoare triple {3252#(and (= ~guard_malloc_counter~0.offset |old(~guard_malloc_counter~0.offset)|) (= ~guard_malloc_counter~0.base |old(~guard_malloc_counter~0.base)|))} ~size := #in~size; {3267#(= ~guard_malloc_counter~0.offset |old(~guard_malloc_counter~0.offset)|)} is VALID [2020-07-18 00:21:28,174 INFO L263 TraceCheckUtils]: 36: Hoare triple {3267#(= ~guard_malloc_counter~0.offset |old(~guard_malloc_counter~0.offset)|)} call #t~ret30.base, #t~ret30.offset := __getMemory(~size); {3252#(and (= ~guard_malloc_counter~0.offset |old(~guard_malloc_counter~0.offset)|) (= ~guard_malloc_counter~0.base |old(~guard_malloc_counter~0.base)|))} is VALID [2020-07-18 00:21:28,174 INFO L280 TraceCheckUtils]: 37: Hoare triple {3252#(and (= ~guard_malloc_counter~0.offset |old(~guard_malloc_counter~0.offset)|) (= ~guard_malloc_counter~0.base |old(~guard_malloc_counter~0.base)|))} ~size := #in~size; {3267#(= ~guard_malloc_counter~0.offset |old(~guard_malloc_counter~0.offset)|)} is VALID [2020-07-18 00:21:28,175 INFO L280 TraceCheckUtils]: 38: Hoare triple {3267#(= ~guard_malloc_counter~0.offset |old(~guard_malloc_counter~0.offset)|)} assume ~size > 0; {3267#(= ~guard_malloc_counter~0.offset |old(~guard_malloc_counter~0.offset)|)} is VALID [2020-07-18 00:21:28,175 INFO L280 TraceCheckUtils]: 39: Hoare triple {3267#(= ~guard_malloc_counter~0.offset |old(~guard_malloc_counter~0.offset)|)} #t~post28.base, #t~post28.offset := ~guard_malloc_counter~0.base, ~guard_malloc_counter~0.offset; {3281#(= |old(~guard_malloc_counter~0.offset)| |__getMemory_#t~post28.offset|)} is VALID [2020-07-18 00:21:28,176 INFO L280 TraceCheckUtils]: 40: Hoare triple {3281#(= |old(~guard_malloc_counter~0.offset)| |__getMemory_#t~post28.offset|)} ~guard_malloc_counter~0.base, ~guard_malloc_counter~0.offset := #t~post28.base, 1 + #t~post28.offset; {3282#(<= (+ |old(~guard_malloc_counter~0.offset)| 1) ~guard_malloc_counter~0.offset)} is VALID [2020-07-18 00:21:28,176 INFO L280 TraceCheckUtils]: 41: Hoare triple {3282#(<= (+ |old(~guard_malloc_counter~0.offset)| 1) ~guard_malloc_counter~0.offset)} havoc #t~post28.base, #t~post28.offset; {3282#(<= (+ |old(~guard_malloc_counter~0.offset)| 1) ~guard_malloc_counter~0.offset)} is VALID [2020-07-18 00:21:28,177 INFO L280 TraceCheckUtils]: 42: Hoare triple {3282#(<= (+ |old(~guard_malloc_counter~0.offset)| 1) ~guard_malloc_counter~0.offset)} assume -2147483648 <= #t~nondet29 && #t~nondet29 <= 2147483647; {3282#(<= (+ |old(~guard_malloc_counter~0.offset)| 1) ~guard_malloc_counter~0.offset)} is VALID [2020-07-18 00:21:28,177 INFO L280 TraceCheckUtils]: 43: Hoare triple {3282#(<= (+ |old(~guard_malloc_counter~0.offset)| 1) ~guard_malloc_counter~0.offset)} assume !(0 == #t~nondet29); {3282#(<= (+ |old(~guard_malloc_counter~0.offset)| 1) ~guard_malloc_counter~0.offset)} is VALID [2020-07-18 00:21:28,178 INFO L280 TraceCheckUtils]: 44: Hoare triple {3282#(<= (+ |old(~guard_malloc_counter~0.offset)| 1) ~guard_malloc_counter~0.offset)} havoc #t~nondet29; {3282#(<= (+ |old(~guard_malloc_counter~0.offset)| 1) ~guard_malloc_counter~0.offset)} is VALID [2020-07-18 00:21:28,179 INFO L280 TraceCheckUtils]: 45: Hoare triple {3282#(<= (+ |old(~guard_malloc_counter~0.offset)| 1) ~guard_malloc_counter~0.offset)} #res.base, #res.offset := ~guard_malloc_counter~0.base, ~guard_malloc_counter~0.offset; {3283#(<= (+ |old(~guard_malloc_counter~0.offset)| 1) |__getMemory_#res.offset|)} is VALID [2020-07-18 00:21:28,179 INFO L280 TraceCheckUtils]: 46: Hoare triple {3283#(<= (+ |old(~guard_malloc_counter~0.offset)| 1) |__getMemory_#res.offset|)} assume true; {3283#(<= (+ |old(~guard_malloc_counter~0.offset)| 1) |__getMemory_#res.offset|)} is VALID [2020-07-18 00:21:28,180 INFO L275 TraceCheckUtils]: 47: Hoare quadruple {3283#(<= (+ |old(~guard_malloc_counter~0.offset)| 1) |__getMemory_#res.offset|)} {3267#(= ~guard_malloc_counter~0.offset |old(~guard_malloc_counter~0.offset)|)} #92#return; {3279#(<= (+ |old(~guard_malloc_counter~0.offset)| 1) |my_malloc_#t~ret30.offset|)} is VALID [2020-07-18 00:21:28,181 INFO L280 TraceCheckUtils]: 48: Hoare triple {3279#(<= (+ |old(~guard_malloc_counter~0.offset)| 1) |my_malloc_#t~ret30.offset|)} #res.base, #res.offset := #t~ret30.base, #t~ret30.offset; {3280#(<= (+ |old(~guard_malloc_counter~0.offset)| 1) |my_malloc_#res.offset|)} is VALID [2020-07-18 00:21:28,182 INFO L280 TraceCheckUtils]: 49: Hoare triple {3280#(<= (+ |old(~guard_malloc_counter~0.offset)| 1) |my_malloc_#res.offset|)} havoc #t~ret30.base, #t~ret30.offset; {3280#(<= (+ |old(~guard_malloc_counter~0.offset)| 1) |my_malloc_#res.offset|)} is VALID [2020-07-18 00:21:28,182 INFO L280 TraceCheckUtils]: 50: Hoare triple {3280#(<= (+ |old(~guard_malloc_counter~0.offset)| 1) |my_malloc_#res.offset|)} assume true; {3280#(<= (+ |old(~guard_malloc_counter~0.offset)| 1) |my_malloc_#res.offset|)} is VALID [2020-07-18 00:21:28,183 INFO L275 TraceCheckUtils]: 51: Hoare quadruple {3280#(<= (+ |old(~guard_malloc_counter~0.offset)| 1) |my_malloc_#res.offset|)} {3219#(<= main_~dev1~0.offset ~guard_malloc_counter~0.offset)} #96#return; {3237#(<= (+ main_~dev1~0.offset 1) |main_#t~ret33.offset|)} is VALID [2020-07-18 00:21:28,184 INFO L280 TraceCheckUtils]: 52: Hoare triple {3237#(<= (+ main_~dev1~0.offset 1) |main_#t~ret33.offset|)} ~dev2~0.base, ~dev2~0.offset := #t~ret33.base, #t~ret33.offset; {3238#(<= (+ main_~dev1~0.offset 1) main_~dev2~0.offset)} is VALID [2020-07-18 00:21:28,185 INFO L280 TraceCheckUtils]: 53: Hoare triple {3238#(<= (+ main_~dev1~0.offset 1) main_~dev2~0.offset)} havoc #t~ret33.base, #t~ret33.offset; {3238#(<= (+ main_~dev1~0.offset 1) main_~dev2~0.offset)} is VALID [2020-07-18 00:21:28,185 INFO L280 TraceCheckUtils]: 54: Hoare triple {3238#(<= (+ main_~dev1~0.offset 1) main_~dev2~0.offset)} assume (~dev1~0.base != 0 || ~dev1~0.offset != 0) && (~dev2~0.base != 0 || ~dev2~0.offset != 0); {3238#(<= (+ main_~dev1~0.offset 1) main_~dev2~0.offset)} is VALID [2020-07-18 00:21:28,186 INFO L263 TraceCheckUtils]: 55: Hoare triple {3238#(<= (+ main_~dev1~0.offset 1) main_~dev2~0.offset)} call list_add(~dev2~0.base, ~dev2~0.offset, ~#head~0.base, ~#head~0.offset); {3284#(and (= ~elem~0.base |old(~elem~0.base)|) (= ~elem~0.offset |old(~elem~0.offset)|))} is VALID [2020-07-18 00:21:28,187 INFO L280 TraceCheckUtils]: 56: Hoare triple {3284#(and (= ~elem~0.base |old(~elem~0.base)|) (= ~elem~0.offset |old(~elem~0.offset)|))} ~new.base, ~new.offset := #in~new.base, #in~new.offset; {3285#(= |list_add_#in~new.offset| list_add_~new.offset)} is VALID [2020-07-18 00:21:28,187 INFO L280 TraceCheckUtils]: 57: Hoare triple {3285#(= |list_add_#in~new.offset| list_add_~new.offset)} ~head.base, ~head.offset := #in~head.base, #in~head.offset; {3285#(= |list_add_#in~new.offset| list_add_~new.offset)} is VALID [2020-07-18 00:21:28,188 INFO L280 TraceCheckUtils]: 58: Hoare triple {3285#(= |list_add_#in~new.offset| list_add_~new.offset)} assume ~new.base != ~elem~0.base || ~new.offset != ~elem~0.offset; {3285#(= |list_add_#in~new.offset| list_add_~new.offset)} is VALID [2020-07-18 00:21:28,188 INFO L280 TraceCheckUtils]: 59: Hoare triple {3285#(= |list_add_#in~new.offset| list_add_~new.offset)} assume -2147483648 <= #t~nondet31 && #t~nondet31 <= 2147483647; {3285#(= |list_add_#in~new.offset| list_add_~new.offset)} is VALID [2020-07-18 00:21:28,189 INFO L280 TraceCheckUtils]: 60: Hoare triple {3285#(= |list_add_#in~new.offset| list_add_~new.offset)} assume 0 != #t~nondet31; {3285#(= |list_add_#in~new.offset| list_add_~new.offset)} is VALID [2020-07-18 00:21:28,189 INFO L280 TraceCheckUtils]: 61: Hoare triple {3285#(= |list_add_#in~new.offset| list_add_~new.offset)} havoc #t~nondet31; {3285#(= |list_add_#in~new.offset| list_add_~new.offset)} is VALID [2020-07-18 00:21:28,190 INFO L280 TraceCheckUtils]: 62: Hoare triple {3285#(= |list_add_#in~new.offset| list_add_~new.offset)} ~elem~0.base, ~elem~0.offset := ~new.base, ~new.offset; {3286#(= ~elem~0.offset |list_add_#in~new.offset|)} is VALID [2020-07-18 00:21:28,190 INFO L280 TraceCheckUtils]: 63: Hoare triple {3286#(= ~elem~0.offset |list_add_#in~new.offset|)} assume true; {3286#(= ~elem~0.offset |list_add_#in~new.offset|)} is VALID [2020-07-18 00:21:28,192 INFO L275 TraceCheckUtils]: 64: Hoare quadruple {3286#(= ~elem~0.offset |list_add_#in~new.offset|)} {3238#(<= (+ main_~dev1~0.offset 1) main_~dev2~0.offset)} #98#return; {3248#(<= (+ main_~dev1~0.offset 1) ~elem~0.offset)} is VALID [2020-07-18 00:21:28,193 INFO L263 TraceCheckUtils]: 65: Hoare triple {3248#(<= (+ main_~dev1~0.offset 1) ~elem~0.offset)} call list_add(~dev1~0.base, ~dev1~0.offset, ~#head~0.base, ~#head~0.offset); {3249#(<= (+ |list_add_#in~new.offset| 1) ~elem~0.offset)} is VALID [2020-07-18 00:21:28,194 INFO L280 TraceCheckUtils]: 66: Hoare triple {3249#(<= (+ |list_add_#in~new.offset| 1) ~elem~0.offset)} ~new.base, ~new.offset := #in~new.base, #in~new.offset; {3250#(not (= ~elem~0.offset list_add_~new.offset))} is VALID [2020-07-18 00:21:28,195 INFO L280 TraceCheckUtils]: 67: Hoare triple {3250#(not (= ~elem~0.offset list_add_~new.offset))} ~head.base, ~head.offset := #in~head.base, #in~head.offset; {3250#(not (= ~elem~0.offset list_add_~new.offset))} is VALID [2020-07-18 00:21:28,195 INFO L280 TraceCheckUtils]: 68: Hoare triple {3250#(not (= ~elem~0.offset list_add_~new.offset))} assume !(~new.base != ~elem~0.base || ~new.offset != ~elem~0.offset); {3190#false} is VALID [2020-07-18 00:21:28,196 INFO L263 TraceCheckUtils]: 69: Hoare triple {3190#false} call __blast_assert(); {3190#false} is VALID [2020-07-18 00:21:28,196 INFO L280 TraceCheckUtils]: 70: Hoare triple {3190#false} assume !false; {3190#false} is VALID [2020-07-18 00:21:28,203 INFO L134 CoverageAnalysis]: Checked inductivity of 17 backedges. 9 proven. 6 refuted. 0 times theorem prover too weak. 2 trivial. 0 not checked. [2020-07-18 00:21:28,204 INFO L192 leratedInterpolation]: Finished Analysing Program using PRECISE loop Acceleration [2020-07-18 00:21:28,204 INFO L354 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModulePreferences [1746122919] [2020-07-18 00:21:28,205 INFO L220 FreeRefinementEngine]: Constructing automaton from 1 perfect and 0 imperfect interpolant sequences. [2020-07-18 00:21:28,205 INFO L233 FreeRefinementEngine]: Number of different interpolants: perfect sequences [23] imperfect sequences [] total 23 [2020-07-18 00:21:28,206 INFO L156 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [983976348] [2020-07-18 00:21:28,206 INFO L78 Accepts]: Start accepts. Automaton has 23 states. Word has length 71 [2020-07-18 00:21:28,207 INFO L84 Accepts]: Finished accepts. word is accepted. [2020-07-18 00:21:28,207 INFO L86 InductivityCheck]: Starting indutivity check of a Floyd-Hoare automaton with 23 states. [2020-07-18 00:21:28,283 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 00:21:28,283 INFO L459 AbstractCegarLoop]: Interpolant automaton has 23 states [2020-07-18 00:21:28,283 INFO L143 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy FIXED_PREFERENCES [2020-07-18 00:21:28,284 INFO L142 InterpolantAutomaton]: Constructing interpolant automaton starting with 23 interpolants. [2020-07-18 00:21:28,284 INFO L144 InterpolantAutomaton]: CoverageRelationStatistics Valid=47, Invalid=459, Unknown=0, NotChecked=0, Total=506 [2020-07-18 00:21:28,284 INFO L87 Difference]: Start difference. First operand 94 states and 107 transitions. Second operand 23 states. [2020-07-18 00:21:34,693 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2020-07-18 00:21:34,693 INFO L93 Difference]: Finished difference Result 112 states and 129 transitions. [2020-07-18 00:21:34,693 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 26 states. [2020-07-18 00:21:34,693 INFO L78 Accepts]: Start accepts. Automaton has 23 states. Word has length 71 [2020-07-18 00:21:34,694 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2020-07-18 00:21:34,694 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 23 states. [2020-07-18 00:21:34,699 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 26 states to 26 states and 100 transitions. [2020-07-18 00:21:34,699 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 23 states. [2020-07-18 00:21:34,703 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 26 states to 26 states and 100 transitions. [2020-07-18 00:21:34,703 INFO L86 InductivityCheck]: Starting indutivity check of a Floyd-Hoare automaton with 26 states and 100 transitions. [2020-07-18 00:21:34,899 INFO L119 InductivityCheck]: Floyd-Hoare automaton has 100 edges. 100 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2020-07-18 00:21:34,902 INFO L225 Difference]: With dead ends: 112 [2020-07-18 00:21:34,903 INFO L226 Difference]: Without dead ends: 105 [2020-07-18 00:21:34,904 INFO L675 BasicCegarLoop]: 0 DeclaredPredicates, 53 GetRequests, 11 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 00:21:34,904 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 105 states. [2020-07-18 00:21:35,392 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 105 to 103. [2020-07-18 00:21:35,393 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2020-07-18 00:21:35,393 INFO L82 GeneralOperation]: Start isEquivalent. First operand 105 states. Second operand 103 states. [2020-07-18 00:21:35,393 INFO L74 IsIncluded]: Start isIncluded. First operand 105 states. Second operand 103 states. [2020-07-18 00:21:35,393 INFO L87 Difference]: Start difference. First operand 105 states. Second operand 103 states. [2020-07-18 00:21:35,398 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2020-07-18 00:21:35,399 INFO L93 Difference]: Finished difference Result 105 states and 116 transitions. [2020-07-18 00:21:35,399 INFO L276 IsEmpty]: Start isEmpty. Operand 105 states and 116 transitions. [2020-07-18 00:21:35,399 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2020-07-18 00:21:35,400 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2020-07-18 00:21:35,400 INFO L74 IsIncluded]: Start isIncluded. First operand 103 states. Second operand 105 states. [2020-07-18 00:21:35,400 INFO L87 Difference]: Start difference. First operand 103 states. Second operand 105 states. [2020-07-18 00:21:35,405 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2020-07-18 00:21:35,405 INFO L93 Difference]: Finished difference Result 105 states and 116 transitions. [2020-07-18 00:21:35,405 INFO L276 IsEmpty]: Start isEmpty. Operand 105 states and 116 transitions. [2020-07-18 00:21:35,406 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2020-07-18 00:21:35,406 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2020-07-18 00:21:35,406 INFO L88 GeneralOperation]: Finished isEquivalent. [2020-07-18 00:21:35,406 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2020-07-18 00:21:35,406 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 103 states. [2020-07-18 00:21:35,410 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 103 states to 103 states and 114 transitions. [2020-07-18 00:21:35,411 INFO L78 Accepts]: Start accepts. Automaton has 103 states and 114 transitions. Word has length 71 [2020-07-18 00:21:35,411 INFO L84 Accepts]: Finished accepts. word is rejected. [2020-07-18 00:21:35,411 INFO L479 AbstractCegarLoop]: Abstraction has 103 states and 114 transitions. [2020-07-18 00:21:35,411 INFO L480 AbstractCegarLoop]: Interpolant automaton has 23 states. [2020-07-18 00:21:35,412 INFO L86 InductivityCheck]: Starting indutivity check of a Floyd-Hoare automaton with 103 states and 114 transitions. [2020-07-18 00:21:35,668 INFO L119 InductivityCheck]: Floyd-Hoare automaton has 114 edges. 114 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2020-07-18 00:21:35,669 INFO L276 IsEmpty]: Start isEmpty. Operand 103 states and 114 transitions. [2020-07-18 00:21:35,670 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 86 [2020-07-18 00:21:35,670 INFO L414 BasicCegarLoop]: Found error trace [2020-07-18 00:21:35,670 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 00:21:35,671 WARN L516 AbstractCegarLoop]: Destroyed unattended storables created during the last iteration: SelfDestructingSolverStorable5 [2020-07-18 00:21:35,671 INFO L427 AbstractCegarLoop]: === Iteration 7 === [__blast_assertErr0ASSERT_VIOLATIONERROR_FUNCTION]=== [2020-07-18 00:21:35,671 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2020-07-18 00:21:35,671 INFO L82 PathProgramCache]: Analyzing trace with hash -1660138148, now seen corresponding path program 1 times [2020-07-18 00:21:35,672 INFO L163 FreeRefinementEngine]: Executing refinement strategy FIXED_PREFERENCES [2020-07-18 00:21:35,672 INFO L354 FreeRefinementEngine]: Using trace check IpTcStrategyModulePreferences [2021816199] [2020-07-18 00:21:35,672 INFO L94 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2020-07-18 00:21:35,691 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2020-07-18 00:21:35,839 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2020-07-18 00:21:35,850 INFO L280 TraceCheckUtils]: 0: Hoare triple {4045#(and (= |#valid| |old(#valid)|) (= ~elem~0.base |old(~elem~0.base)|) (= |#NULL.base| |old(#NULL.base)|) (= |~#head~0.base| |old(~#head~0.base)|) (= ~guard_malloc_counter~0.offset |old(~guard_malloc_counter~0.offset)|) (= |#NULL.offset| |old(#NULL.offset)|) (= ~elem~0.offset |old(~elem~0.offset)|) (= |old(#length)| |#length|) (= |~#head~0.offset| |old(~#head~0.offset)|) (= ~guard_malloc_counter~0.base |old(~guard_malloc_counter~0.base)|))} #NULL.base, #NULL.offset := 0, 0; {3971#true} is VALID [2020-07-18 00:21:35,851 INFO L280 TraceCheckUtils]: 1: Hoare triple {3971#true} #valid := #valid[0 := 0]; {3971#true} is VALID [2020-07-18 00:21:35,851 INFO L280 TraceCheckUtils]: 2: Hoare triple {3971#true} assume 0 < #StackHeapBarrier; {3971#true} is VALID [2020-07-18 00:21:35,851 INFO L280 TraceCheckUtils]: 3: Hoare triple {3971#true} ~guard_malloc_counter~0.base, ~guard_malloc_counter~0.offset := 0, 0; {3971#true} is VALID [2020-07-18 00:21:35,851 INFO L280 TraceCheckUtils]: 4: Hoare triple {3971#true} ~elem~0.base, ~elem~0.offset := 0, 0; {3971#true} is VALID [2020-07-18 00:21:35,851 INFO L280 TraceCheckUtils]: 5: Hoare triple {3971#true} SUMMARY for call ~#head~0.base, ~#head~0.offset := #Ultimate.allocOnStack(8); srcloc: L900 {3971#true} is VALID [2020-07-18 00:21:35,852 INFO L280 TraceCheckUtils]: 6: Hoare triple {3971#true} SUMMARY for call write~init~$Pointer$(0, 0, ~#head~0.base, ~#head~0.offset, 4); srcloc: L900-1 {3971#true} is VALID [2020-07-18 00:21:35,852 INFO L280 TraceCheckUtils]: 7: Hoare triple {3971#true} SUMMARY for call write~init~$Pointer$(0, 0, ~#head~0.base, 4 + ~#head~0.offset, 4); srcloc: L900-2 {3971#true} is VALID [2020-07-18 00:21:35,852 INFO L280 TraceCheckUtils]: 8: Hoare triple {3971#true} assume true; {3971#true} is VALID [2020-07-18 00:21:35,853 INFO L275 TraceCheckUtils]: 9: Hoare quadruple {3971#true} {3971#true} #112#return; {3971#true} is VALID [2020-07-18 00:21:35,873 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2020-07-18 00:21:35,915 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2020-07-18 00:21:35,939 INFO L280 TraceCheckUtils]: 0: Hoare triple {4046#(and (= ~guard_malloc_counter~0.offset |old(~guard_malloc_counter~0.offset)|) (= ~guard_malloc_counter~0.base |old(~guard_malloc_counter~0.base)|))} ~size := #in~size; {3971#true} is VALID [2020-07-18 00:21:35,939 INFO L280 TraceCheckUtils]: 1: Hoare triple {3971#true} assume ~size > 0; {3971#true} is VALID [2020-07-18 00:21:35,939 INFO L280 TraceCheckUtils]: 2: Hoare triple {3971#true} #t~post28.base, #t~post28.offset := ~guard_malloc_counter~0.base, ~guard_malloc_counter~0.offset; {3971#true} is VALID [2020-07-18 00:21:35,939 INFO L280 TraceCheckUtils]: 3: Hoare triple {3971#true} ~guard_malloc_counter~0.base, ~guard_malloc_counter~0.offset := #t~post28.base, 1 + #t~post28.offset; {3971#true} is VALID [2020-07-18 00:21:35,940 INFO L280 TraceCheckUtils]: 4: Hoare triple {3971#true} havoc #t~post28.base, #t~post28.offset; {3971#true} is VALID [2020-07-18 00:21:35,940 INFO L280 TraceCheckUtils]: 5: Hoare triple {3971#true} assume -2147483648 <= #t~nondet29 && #t~nondet29 <= 2147483647; {3971#true} is VALID [2020-07-18 00:21:35,940 INFO L280 TraceCheckUtils]: 6: Hoare triple {3971#true} assume !(0 == #t~nondet29); {3971#true} is VALID [2020-07-18 00:21:35,940 INFO L280 TraceCheckUtils]: 7: Hoare triple {3971#true} havoc #t~nondet29; {3971#true} is VALID [2020-07-18 00:21:35,941 INFO L280 TraceCheckUtils]: 8: Hoare triple {3971#true} #res.base, #res.offset := ~guard_malloc_counter~0.base, ~guard_malloc_counter~0.offset; {4060#(<= |__getMemory_#res.offset| ~guard_malloc_counter~0.offset)} is VALID [2020-07-18 00:21:35,942 INFO L280 TraceCheckUtils]: 9: Hoare triple {4060#(<= |__getMemory_#res.offset| ~guard_malloc_counter~0.offset)} assume true; {4060#(<= |__getMemory_#res.offset| ~guard_malloc_counter~0.offset)} is VALID [2020-07-18 00:21:35,943 INFO L275 TraceCheckUtils]: 10: Hoare quadruple {4060#(<= |__getMemory_#res.offset| ~guard_malloc_counter~0.offset)} {3971#true} #92#return; {4058#(<= |my_malloc_#t~ret30.offset| ~guard_malloc_counter~0.offset)} is VALID [2020-07-18 00:21:35,943 INFO L280 TraceCheckUtils]: 0: Hoare triple {4046#(and (= ~guard_malloc_counter~0.offset |old(~guard_malloc_counter~0.offset)|) (= ~guard_malloc_counter~0.base |old(~guard_malloc_counter~0.base)|))} ~size := #in~size; {3971#true} is VALID [2020-07-18 00:21:35,944 INFO L263 TraceCheckUtils]: 1: Hoare triple {3971#true} call #t~ret30.base, #t~ret30.offset := __getMemory(~size); {4046#(and (= ~guard_malloc_counter~0.offset |old(~guard_malloc_counter~0.offset)|) (= ~guard_malloc_counter~0.base |old(~guard_malloc_counter~0.base)|))} is VALID [2020-07-18 00:21:35,945 INFO L280 TraceCheckUtils]: 2: Hoare triple {4046#(and (= ~guard_malloc_counter~0.offset |old(~guard_malloc_counter~0.offset)|) (= ~guard_malloc_counter~0.base |old(~guard_malloc_counter~0.base)|))} ~size := #in~size; {3971#true} is VALID [2020-07-18 00:21:35,945 INFO L280 TraceCheckUtils]: 3: Hoare triple {3971#true} assume ~size > 0; {3971#true} is VALID [2020-07-18 00:21:35,945 INFO L280 TraceCheckUtils]: 4: Hoare triple {3971#true} #t~post28.base, #t~post28.offset := ~guard_malloc_counter~0.base, ~guard_malloc_counter~0.offset; {3971#true} is VALID [2020-07-18 00:21:35,945 INFO L280 TraceCheckUtils]: 5: Hoare triple {3971#true} ~guard_malloc_counter~0.base, ~guard_malloc_counter~0.offset := #t~post28.base, 1 + #t~post28.offset; {3971#true} is VALID [2020-07-18 00:21:35,946 INFO L280 TraceCheckUtils]: 6: Hoare triple {3971#true} havoc #t~post28.base, #t~post28.offset; {3971#true} is VALID [2020-07-18 00:21:35,946 INFO L280 TraceCheckUtils]: 7: Hoare triple {3971#true} assume -2147483648 <= #t~nondet29 && #t~nondet29 <= 2147483647; {3971#true} is VALID [2020-07-18 00:21:35,946 INFO L280 TraceCheckUtils]: 8: Hoare triple {3971#true} assume !(0 == #t~nondet29); {3971#true} is VALID [2020-07-18 00:21:35,946 INFO L280 TraceCheckUtils]: 9: Hoare triple {3971#true} havoc #t~nondet29; {3971#true} is VALID [2020-07-18 00:21:35,947 INFO L280 TraceCheckUtils]: 10: Hoare triple {3971#true} #res.base, #res.offset := ~guard_malloc_counter~0.base, ~guard_malloc_counter~0.offset; {4060#(<= |__getMemory_#res.offset| ~guard_malloc_counter~0.offset)} is VALID [2020-07-18 00:21:35,947 INFO L280 TraceCheckUtils]: 11: Hoare triple {4060#(<= |__getMemory_#res.offset| ~guard_malloc_counter~0.offset)} assume true; {4060#(<= |__getMemory_#res.offset| ~guard_malloc_counter~0.offset)} is VALID [2020-07-18 00:21:35,949 INFO L275 TraceCheckUtils]: 12: Hoare quadruple {4060#(<= |__getMemory_#res.offset| ~guard_malloc_counter~0.offset)} {3971#true} #92#return; {4058#(<= |my_malloc_#t~ret30.offset| ~guard_malloc_counter~0.offset)} is VALID [2020-07-18 00:21:35,949 INFO L280 TraceCheckUtils]: 13: Hoare triple {4058#(<= |my_malloc_#t~ret30.offset| ~guard_malloc_counter~0.offset)} #res.base, #res.offset := #t~ret30.base, #t~ret30.offset; {4059#(<= |my_malloc_#res.offset| ~guard_malloc_counter~0.offset)} is VALID [2020-07-18 00:21:35,950 INFO L280 TraceCheckUtils]: 14: Hoare triple {4059#(<= |my_malloc_#res.offset| ~guard_malloc_counter~0.offset)} havoc #t~ret30.base, #t~ret30.offset; {4059#(<= |my_malloc_#res.offset| ~guard_malloc_counter~0.offset)} is VALID [2020-07-18 00:21:35,951 INFO L280 TraceCheckUtils]: 15: Hoare triple {4059#(<= |my_malloc_#res.offset| ~guard_malloc_counter~0.offset)} assume true; {4059#(<= |my_malloc_#res.offset| ~guard_malloc_counter~0.offset)} is VALID [2020-07-18 00:21:35,952 INFO L275 TraceCheckUtils]: 16: Hoare quadruple {4059#(<= |my_malloc_#res.offset| ~guard_malloc_counter~0.offset)} {3971#true} #94#return; {4000#(<= |main_#t~ret32.offset| ~guard_malloc_counter~0.offset)} is VALID [2020-07-18 00:21:35,956 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2020-07-18 00:21:36,024 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2020-07-18 00:21:36,117 INFO L280 TraceCheckUtils]: 0: Hoare triple {4046#(and (= ~guard_malloc_counter~0.offset |old(~guard_malloc_counter~0.offset)|) (= ~guard_malloc_counter~0.base |old(~guard_malloc_counter~0.base)|))} ~size := #in~size; {4061#(= ~guard_malloc_counter~0.offset |old(~guard_malloc_counter~0.offset)|)} is VALID [2020-07-18 00:21:36,118 INFO L280 TraceCheckUtils]: 1: Hoare triple {4061#(= ~guard_malloc_counter~0.offset |old(~guard_malloc_counter~0.offset)|)} assume ~size > 0; {4061#(= ~guard_malloc_counter~0.offset |old(~guard_malloc_counter~0.offset)|)} is VALID [2020-07-18 00:21:36,119 INFO L280 TraceCheckUtils]: 2: Hoare triple {4061#(= ~guard_malloc_counter~0.offset |old(~guard_malloc_counter~0.offset)|)} #t~post28.base, #t~post28.offset := ~guard_malloc_counter~0.base, ~guard_malloc_counter~0.offset; {4075#(= |old(~guard_malloc_counter~0.offset)| |__getMemory_#t~post28.offset|)} is VALID [2020-07-18 00:21:36,120 INFO L280 TraceCheckUtils]: 3: Hoare triple {4075#(= |old(~guard_malloc_counter~0.offset)| |__getMemory_#t~post28.offset|)} ~guard_malloc_counter~0.base, ~guard_malloc_counter~0.offset := #t~post28.base, 1 + #t~post28.offset; {4076#(<= (+ |old(~guard_malloc_counter~0.offset)| 1) ~guard_malloc_counter~0.offset)} is VALID [2020-07-18 00:21:36,120 INFO L280 TraceCheckUtils]: 4: Hoare triple {4076#(<= (+ |old(~guard_malloc_counter~0.offset)| 1) ~guard_malloc_counter~0.offset)} havoc #t~post28.base, #t~post28.offset; {4076#(<= (+ |old(~guard_malloc_counter~0.offset)| 1) ~guard_malloc_counter~0.offset)} is VALID [2020-07-18 00:21:36,121 INFO L280 TraceCheckUtils]: 5: Hoare triple {4076#(<= (+ |old(~guard_malloc_counter~0.offset)| 1) ~guard_malloc_counter~0.offset)} assume -2147483648 <= #t~nondet29 && #t~nondet29 <= 2147483647; {4076#(<= (+ |old(~guard_malloc_counter~0.offset)| 1) ~guard_malloc_counter~0.offset)} is VALID [2020-07-18 00:21:36,121 INFO L280 TraceCheckUtils]: 6: Hoare triple {4076#(<= (+ |old(~guard_malloc_counter~0.offset)| 1) ~guard_malloc_counter~0.offset)} assume !(0 == #t~nondet29); {4076#(<= (+ |old(~guard_malloc_counter~0.offset)| 1) ~guard_malloc_counter~0.offset)} is VALID [2020-07-18 00:21:36,121 INFO L280 TraceCheckUtils]: 7: Hoare triple {4076#(<= (+ |old(~guard_malloc_counter~0.offset)| 1) ~guard_malloc_counter~0.offset)} havoc #t~nondet29; {4076#(<= (+ |old(~guard_malloc_counter~0.offset)| 1) ~guard_malloc_counter~0.offset)} is VALID [2020-07-18 00:21:36,122 INFO L280 TraceCheckUtils]: 8: Hoare triple {4076#(<= (+ |old(~guard_malloc_counter~0.offset)| 1) ~guard_malloc_counter~0.offset)} #res.base, #res.offset := ~guard_malloc_counter~0.base, ~guard_malloc_counter~0.offset; {4077#(<= (+ |old(~guard_malloc_counter~0.offset)| 1) |__getMemory_#res.offset|)} is VALID [2020-07-18 00:21:36,122 INFO L280 TraceCheckUtils]: 9: Hoare triple {4077#(<= (+ |old(~guard_malloc_counter~0.offset)| 1) |__getMemory_#res.offset|)} assume true; {4077#(<= (+ |old(~guard_malloc_counter~0.offset)| 1) |__getMemory_#res.offset|)} is VALID [2020-07-18 00:21:36,123 INFO L275 TraceCheckUtils]: 10: Hoare quadruple {4077#(<= (+ |old(~guard_malloc_counter~0.offset)| 1) |__getMemory_#res.offset|)} {4061#(= ~guard_malloc_counter~0.offset |old(~guard_malloc_counter~0.offset)|)} #92#return; {4073#(<= (+ |old(~guard_malloc_counter~0.offset)| 1) |my_malloc_#t~ret30.offset|)} is VALID [2020-07-18 00:21:36,124 INFO L280 TraceCheckUtils]: 0: Hoare triple {4046#(and (= ~guard_malloc_counter~0.offset |old(~guard_malloc_counter~0.offset)|) (= ~guard_malloc_counter~0.base |old(~guard_malloc_counter~0.base)|))} ~size := #in~size; {4061#(= ~guard_malloc_counter~0.offset |old(~guard_malloc_counter~0.offset)|)} is VALID [2020-07-18 00:21:36,125 INFO L263 TraceCheckUtils]: 1: Hoare triple {4061#(= ~guard_malloc_counter~0.offset |old(~guard_malloc_counter~0.offset)|)} call #t~ret30.base, #t~ret30.offset := __getMemory(~size); {4046#(and (= ~guard_malloc_counter~0.offset |old(~guard_malloc_counter~0.offset)|) (= ~guard_malloc_counter~0.base |old(~guard_malloc_counter~0.base)|))} is VALID [2020-07-18 00:21:36,126 INFO L280 TraceCheckUtils]: 2: Hoare triple {4046#(and (= ~guard_malloc_counter~0.offset |old(~guard_malloc_counter~0.offset)|) (= ~guard_malloc_counter~0.base |old(~guard_malloc_counter~0.base)|))} ~size := #in~size; {4061#(= ~guard_malloc_counter~0.offset |old(~guard_malloc_counter~0.offset)|)} is VALID [2020-07-18 00:21:36,126 INFO L280 TraceCheckUtils]: 3: Hoare triple {4061#(= ~guard_malloc_counter~0.offset |old(~guard_malloc_counter~0.offset)|)} assume ~size > 0; {4061#(= ~guard_malloc_counter~0.offset |old(~guard_malloc_counter~0.offset)|)} is VALID [2020-07-18 00:21:36,127 INFO L280 TraceCheckUtils]: 4: Hoare triple {4061#(= ~guard_malloc_counter~0.offset |old(~guard_malloc_counter~0.offset)|)} #t~post28.base, #t~post28.offset := ~guard_malloc_counter~0.base, ~guard_malloc_counter~0.offset; {4075#(= |old(~guard_malloc_counter~0.offset)| |__getMemory_#t~post28.offset|)} is VALID [2020-07-18 00:21:36,128 INFO L280 TraceCheckUtils]: 5: Hoare triple {4075#(= |old(~guard_malloc_counter~0.offset)| |__getMemory_#t~post28.offset|)} ~guard_malloc_counter~0.base, ~guard_malloc_counter~0.offset := #t~post28.base, 1 + #t~post28.offset; {4076#(<= (+ |old(~guard_malloc_counter~0.offset)| 1) ~guard_malloc_counter~0.offset)} is VALID [2020-07-18 00:21:36,128 INFO L280 TraceCheckUtils]: 6: Hoare triple {4076#(<= (+ |old(~guard_malloc_counter~0.offset)| 1) ~guard_malloc_counter~0.offset)} havoc #t~post28.base, #t~post28.offset; {4076#(<= (+ |old(~guard_malloc_counter~0.offset)| 1) ~guard_malloc_counter~0.offset)} is VALID [2020-07-18 00:21:36,128 INFO L280 TraceCheckUtils]: 7: Hoare triple {4076#(<= (+ |old(~guard_malloc_counter~0.offset)| 1) ~guard_malloc_counter~0.offset)} assume -2147483648 <= #t~nondet29 && #t~nondet29 <= 2147483647; {4076#(<= (+ |old(~guard_malloc_counter~0.offset)| 1) ~guard_malloc_counter~0.offset)} is VALID [2020-07-18 00:21:36,129 INFO L280 TraceCheckUtils]: 8: Hoare triple {4076#(<= (+ |old(~guard_malloc_counter~0.offset)| 1) ~guard_malloc_counter~0.offset)} assume !(0 == #t~nondet29); {4076#(<= (+ |old(~guard_malloc_counter~0.offset)| 1) ~guard_malloc_counter~0.offset)} is VALID [2020-07-18 00:21:36,129 INFO L280 TraceCheckUtils]: 9: Hoare triple {4076#(<= (+ |old(~guard_malloc_counter~0.offset)| 1) ~guard_malloc_counter~0.offset)} havoc #t~nondet29; {4076#(<= (+ |old(~guard_malloc_counter~0.offset)| 1) ~guard_malloc_counter~0.offset)} is VALID [2020-07-18 00:21:36,130 INFO L280 TraceCheckUtils]: 10: Hoare triple {4076#(<= (+ |old(~guard_malloc_counter~0.offset)| 1) ~guard_malloc_counter~0.offset)} #res.base, #res.offset := ~guard_malloc_counter~0.base, ~guard_malloc_counter~0.offset; {4077#(<= (+ |old(~guard_malloc_counter~0.offset)| 1) |__getMemory_#res.offset|)} is VALID [2020-07-18 00:21:36,130 INFO L280 TraceCheckUtils]: 11: Hoare triple {4077#(<= (+ |old(~guard_malloc_counter~0.offset)| 1) |__getMemory_#res.offset|)} assume true; {4077#(<= (+ |old(~guard_malloc_counter~0.offset)| 1) |__getMemory_#res.offset|)} is VALID [2020-07-18 00:21:36,131 INFO L275 TraceCheckUtils]: 12: Hoare quadruple {4077#(<= (+ |old(~guard_malloc_counter~0.offset)| 1) |__getMemory_#res.offset|)} {4061#(= ~guard_malloc_counter~0.offset |old(~guard_malloc_counter~0.offset)|)} #92#return; {4073#(<= (+ |old(~guard_malloc_counter~0.offset)| 1) |my_malloc_#t~ret30.offset|)} is VALID [2020-07-18 00:21:36,131 INFO L280 TraceCheckUtils]: 13: Hoare triple {4073#(<= (+ |old(~guard_malloc_counter~0.offset)| 1) |my_malloc_#t~ret30.offset|)} #res.base, #res.offset := #t~ret30.base, #t~ret30.offset; {4074#(<= (+ |old(~guard_malloc_counter~0.offset)| 1) |my_malloc_#res.offset|)} is VALID [2020-07-18 00:21:36,132 INFO L280 TraceCheckUtils]: 14: Hoare triple {4074#(<= (+ |old(~guard_malloc_counter~0.offset)| 1) |my_malloc_#res.offset|)} havoc #t~ret30.base, #t~ret30.offset; {4074#(<= (+ |old(~guard_malloc_counter~0.offset)| 1) |my_malloc_#res.offset|)} is VALID [2020-07-18 00:21:36,132 INFO L280 TraceCheckUtils]: 15: Hoare triple {4074#(<= (+ |old(~guard_malloc_counter~0.offset)| 1) |my_malloc_#res.offset|)} assume true; {4074#(<= (+ |old(~guard_malloc_counter~0.offset)| 1) |my_malloc_#res.offset|)} is VALID [2020-07-18 00:21:36,133 INFO L275 TraceCheckUtils]: 16: Hoare quadruple {4074#(<= (+ |old(~guard_malloc_counter~0.offset)| 1) |my_malloc_#res.offset|)} {4001#(<= main_~dev1~0.offset ~guard_malloc_counter~0.offset)} #96#return; {4019#(<= (+ main_~dev1~0.offset 1) |main_#t~ret33.offset|)} is VALID [2020-07-18 00:21:36,166 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2020-07-18 00:21:36,170 INFO L280 TraceCheckUtils]: 0: Hoare triple {4078#(and (= ~elem~0.base |old(~elem~0.base)|) (= ~elem~0.offset |old(~elem~0.offset)|))} ~new.base, ~new.offset := #in~new.base, #in~new.offset; {3971#true} is VALID [2020-07-18 00:21:36,171 INFO L280 TraceCheckUtils]: 1: Hoare triple {3971#true} ~head.base, ~head.offset := #in~head.base, #in~head.offset; {3971#true} is VALID [2020-07-18 00:21:36,171 INFO L280 TraceCheckUtils]: 2: Hoare triple {3971#true} assume ~new.base != ~elem~0.base || ~new.offset != ~elem~0.offset; {3971#true} is VALID [2020-07-18 00:21:36,171 INFO L280 TraceCheckUtils]: 3: Hoare triple {3971#true} assume -2147483648 <= #t~nondet31 && #t~nondet31 <= 2147483647; {3971#true} is VALID [2020-07-18 00:21:36,172 INFO L280 TraceCheckUtils]: 4: Hoare triple {3971#true} assume !(0 != #t~nondet31); {3971#true} is VALID [2020-07-18 00:21:36,172 INFO L280 TraceCheckUtils]: 5: Hoare triple {3971#true} havoc #t~nondet31; {3971#true} is VALID [2020-07-18 00:21:36,172 INFO L280 TraceCheckUtils]: 6: Hoare triple {3971#true} assume true; {3971#true} is VALID [2020-07-18 00:21:36,173 INFO L275 TraceCheckUtils]: 7: Hoare quadruple {3971#true} {4020#(<= (+ main_~dev1~0.offset 1) main_~dev2~0.offset)} #98#return; {4020#(<= (+ main_~dev1~0.offset 1) main_~dev2~0.offset)} is VALID [2020-07-18 00:21:36,175 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2020-07-18 00:21:36,235 INFO L280 TraceCheckUtils]: 0: Hoare triple {4078#(and (= ~elem~0.base |old(~elem~0.base)|) (= ~elem~0.offset |old(~elem~0.offset)|))} ~new.base, ~new.offset := #in~new.base, #in~new.offset; {4079#(= |list_add_#in~new.offset| list_add_~new.offset)} is VALID [2020-07-18 00:21:36,236 INFO L280 TraceCheckUtils]: 1: Hoare triple {4079#(= |list_add_#in~new.offset| list_add_~new.offset)} ~head.base, ~head.offset := #in~head.base, #in~head.offset; {4079#(= |list_add_#in~new.offset| list_add_~new.offset)} is VALID [2020-07-18 00:21:36,237 INFO L280 TraceCheckUtils]: 2: Hoare triple {4079#(= |list_add_#in~new.offset| list_add_~new.offset)} assume ~new.base != ~elem~0.base || ~new.offset != ~elem~0.offset; {4079#(= |list_add_#in~new.offset| list_add_~new.offset)} is VALID [2020-07-18 00:21:36,238 INFO L280 TraceCheckUtils]: 3: Hoare triple {4079#(= |list_add_#in~new.offset| list_add_~new.offset)} assume -2147483648 <= #t~nondet31 && #t~nondet31 <= 2147483647; {4079#(= |list_add_#in~new.offset| list_add_~new.offset)} is VALID [2020-07-18 00:21:36,238 INFO L280 TraceCheckUtils]: 4: Hoare triple {4079#(= |list_add_#in~new.offset| list_add_~new.offset)} assume 0 != #t~nondet31; {4079#(= |list_add_#in~new.offset| list_add_~new.offset)} is VALID [2020-07-18 00:21:36,239 INFO L280 TraceCheckUtils]: 5: Hoare triple {4079#(= |list_add_#in~new.offset| list_add_~new.offset)} havoc #t~nondet31; {4079#(= |list_add_#in~new.offset| list_add_~new.offset)} is VALID [2020-07-18 00:21:36,239 INFO L280 TraceCheckUtils]: 6: Hoare triple {4079#(= |list_add_#in~new.offset| list_add_~new.offset)} ~elem~0.base, ~elem~0.offset := ~new.base, ~new.offset; {4080#(= ~elem~0.offset |list_add_#in~new.offset|)} is VALID [2020-07-18 00:21:36,240 INFO L280 TraceCheckUtils]: 7: Hoare triple {4080#(= ~elem~0.offset |list_add_#in~new.offset|)} assume true; {4080#(= ~elem~0.offset |list_add_#in~new.offset|)} is VALID [2020-07-18 00:21:36,241 INFO L275 TraceCheckUtils]: 8: Hoare quadruple {4080#(= ~elem~0.offset |list_add_#in~new.offset|)} {4020#(<= (+ main_~dev1~0.offset 1) main_~dev2~0.offset)} #100#return; {4038#(<= (+ ~elem~0.offset 1) main_~dev2~0.offset)} is VALID [2020-07-18 00:21:36,243 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2020-07-18 00:21:36,273 INFO L280 TraceCheckUtils]: 0: Hoare triple {4078#(and (= ~elem~0.base |old(~elem~0.base)|) (= ~elem~0.offset |old(~elem~0.offset)|))} ~entry.base, ~entry.offset := #in~entry.base, #in~entry.offset; {4081#(= |old(~elem~0.offset)| ~elem~0.offset)} is VALID [2020-07-18 00:21:36,274 INFO L280 TraceCheckUtils]: 1: Hoare triple {4081#(= |old(~elem~0.offset)| ~elem~0.offset)} assume !(~entry.base == ~elem~0.base && ~entry.offset == ~elem~0.offset); {4081#(= |old(~elem~0.offset)| ~elem~0.offset)} is VALID [2020-07-18 00:21:36,274 INFO L280 TraceCheckUtils]: 2: Hoare triple {4081#(= |old(~elem~0.offset)| ~elem~0.offset)} assume true; {4081#(= |old(~elem~0.offset)| ~elem~0.offset)} is VALID [2020-07-18 00:21:36,275 INFO L275 TraceCheckUtils]: 3: Hoare quadruple {4081#(= |old(~elem~0.offset)| ~elem~0.offset)} {4038#(<= (+ ~elem~0.offset 1) main_~dev2~0.offset)} #102#return; {4038#(<= (+ ~elem~0.offset 1) main_~dev2~0.offset)} is VALID [2020-07-18 00:21:36,277 INFO L263 TraceCheckUtils]: 0: Hoare triple {3971#true} call ULTIMATE.init(); {4045#(and (= |#valid| |old(#valid)|) (= ~elem~0.base |old(~elem~0.base)|) (= |#NULL.base| |old(#NULL.base)|) (= |~#head~0.base| |old(~#head~0.base)|) (= ~guard_malloc_counter~0.offset |old(~guard_malloc_counter~0.offset)|) (= |#NULL.offset| |old(#NULL.offset)|) (= ~elem~0.offset |old(~elem~0.offset)|) (= |old(#length)| |#length|) (= |~#head~0.offset| |old(~#head~0.offset)|) (= ~guard_malloc_counter~0.base |old(~guard_malloc_counter~0.base)|))} is VALID [2020-07-18 00:21:36,278 INFO L280 TraceCheckUtils]: 1: Hoare triple {4045#(and (= |#valid| |old(#valid)|) (= ~elem~0.base |old(~elem~0.base)|) (= |#NULL.base| |old(#NULL.base)|) (= |~#head~0.base| |old(~#head~0.base)|) (= ~guard_malloc_counter~0.offset |old(~guard_malloc_counter~0.offset)|) (= |#NULL.offset| |old(#NULL.offset)|) (= ~elem~0.offset |old(~elem~0.offset)|) (= |old(#length)| |#length|) (= |~#head~0.offset| |old(~#head~0.offset)|) (= ~guard_malloc_counter~0.base |old(~guard_malloc_counter~0.base)|))} #NULL.base, #NULL.offset := 0, 0; {3971#true} is VALID [2020-07-18 00:21:36,278 INFO L280 TraceCheckUtils]: 2: Hoare triple {3971#true} #valid := #valid[0 := 0]; {3971#true} is VALID [2020-07-18 00:21:36,278 INFO L280 TraceCheckUtils]: 3: Hoare triple {3971#true} assume 0 < #StackHeapBarrier; {3971#true} is VALID [2020-07-18 00:21:36,278 INFO L280 TraceCheckUtils]: 4: Hoare triple {3971#true} ~guard_malloc_counter~0.base, ~guard_malloc_counter~0.offset := 0, 0; {3971#true} is VALID [2020-07-18 00:21:36,279 INFO L280 TraceCheckUtils]: 5: Hoare triple {3971#true} ~elem~0.base, ~elem~0.offset := 0, 0; {3971#true} is VALID [2020-07-18 00:21:36,279 INFO L280 TraceCheckUtils]: 6: Hoare triple {3971#true} SUMMARY for call ~#head~0.base, ~#head~0.offset := #Ultimate.allocOnStack(8); srcloc: L900 {3971#true} is VALID [2020-07-18 00:21:36,279 INFO L280 TraceCheckUtils]: 7: Hoare triple {3971#true} SUMMARY for call write~init~$Pointer$(0, 0, ~#head~0.base, ~#head~0.offset, 4); srcloc: L900-1 {3971#true} is VALID [2020-07-18 00:21:36,279 INFO L280 TraceCheckUtils]: 8: Hoare triple {3971#true} SUMMARY for call write~init~$Pointer$(0, 0, ~#head~0.base, 4 + ~#head~0.offset, 4); srcloc: L900-2 {3971#true} is VALID [2020-07-18 00:21:36,280 INFO L280 TraceCheckUtils]: 9: Hoare triple {3971#true} assume true; {3971#true} is VALID [2020-07-18 00:21:36,280 INFO L275 TraceCheckUtils]: 10: Hoare quadruple {3971#true} {3971#true} #112#return; {3971#true} is VALID [2020-07-18 00:21:36,280 INFO L263 TraceCheckUtils]: 11: Hoare triple {3971#true} call #t~ret34 := main(); {3971#true} is VALID [2020-07-18 00:21:36,280 INFO L280 TraceCheckUtils]: 12: Hoare triple {3971#true} havoc ~dev1~0.base, ~dev1~0.offset; {3971#true} is VALID [2020-07-18 00:21:36,280 INFO L280 TraceCheckUtils]: 13: Hoare triple {3971#true} havoc ~dev2~0.base, ~dev2~0.offset; {3971#true} is VALID [2020-07-18 00:21:36,281 INFO L263 TraceCheckUtils]: 14: Hoare triple {3971#true} call #t~ret32.base, #t~ret32.offset := my_malloc(8); {4046#(and (= ~guard_malloc_counter~0.offset |old(~guard_malloc_counter~0.offset)|) (= ~guard_malloc_counter~0.base |old(~guard_malloc_counter~0.base)|))} is VALID [2020-07-18 00:21:36,281 INFO L280 TraceCheckUtils]: 15: Hoare triple {4046#(and (= ~guard_malloc_counter~0.offset |old(~guard_malloc_counter~0.offset)|) (= ~guard_malloc_counter~0.base |old(~guard_malloc_counter~0.base)|))} ~size := #in~size; {3971#true} is VALID [2020-07-18 00:21:36,282 INFO L263 TraceCheckUtils]: 16: Hoare triple {3971#true} call #t~ret30.base, #t~ret30.offset := __getMemory(~size); {4046#(and (= ~guard_malloc_counter~0.offset |old(~guard_malloc_counter~0.offset)|) (= ~guard_malloc_counter~0.base |old(~guard_malloc_counter~0.base)|))} is VALID [2020-07-18 00:21:36,282 INFO L280 TraceCheckUtils]: 17: Hoare triple {4046#(and (= ~guard_malloc_counter~0.offset |old(~guard_malloc_counter~0.offset)|) (= ~guard_malloc_counter~0.base |old(~guard_malloc_counter~0.base)|))} ~size := #in~size; {3971#true} is VALID [2020-07-18 00:21:36,283 INFO L280 TraceCheckUtils]: 18: Hoare triple {3971#true} assume ~size > 0; {3971#true} is VALID [2020-07-18 00:21:36,283 INFO L280 TraceCheckUtils]: 19: Hoare triple {3971#true} #t~post28.base, #t~post28.offset := ~guard_malloc_counter~0.base, ~guard_malloc_counter~0.offset; {3971#true} is VALID [2020-07-18 00:21:36,283 INFO L280 TraceCheckUtils]: 20: Hoare triple {3971#true} ~guard_malloc_counter~0.base, ~guard_malloc_counter~0.offset := #t~post28.base, 1 + #t~post28.offset; {3971#true} is VALID [2020-07-18 00:21:36,283 INFO L280 TraceCheckUtils]: 21: Hoare triple {3971#true} havoc #t~post28.base, #t~post28.offset; {3971#true} is VALID [2020-07-18 00:21:36,283 INFO L280 TraceCheckUtils]: 22: Hoare triple {3971#true} assume -2147483648 <= #t~nondet29 && #t~nondet29 <= 2147483647; {3971#true} is VALID [2020-07-18 00:21:36,284 INFO L280 TraceCheckUtils]: 23: Hoare triple {3971#true} assume !(0 == #t~nondet29); {3971#true} is VALID [2020-07-18 00:21:36,284 INFO L280 TraceCheckUtils]: 24: Hoare triple {3971#true} havoc #t~nondet29; {3971#true} is VALID [2020-07-18 00:21:36,285 INFO L280 TraceCheckUtils]: 25: Hoare triple {3971#true} #res.base, #res.offset := ~guard_malloc_counter~0.base, ~guard_malloc_counter~0.offset; {4060#(<= |__getMemory_#res.offset| ~guard_malloc_counter~0.offset)} is VALID [2020-07-18 00:21:36,285 INFO L280 TraceCheckUtils]: 26: Hoare triple {4060#(<= |__getMemory_#res.offset| ~guard_malloc_counter~0.offset)} assume true; {4060#(<= |__getMemory_#res.offset| ~guard_malloc_counter~0.offset)} is VALID [2020-07-18 00:21:36,286 INFO L275 TraceCheckUtils]: 27: Hoare quadruple {4060#(<= |__getMemory_#res.offset| ~guard_malloc_counter~0.offset)} {3971#true} #92#return; {4058#(<= |my_malloc_#t~ret30.offset| ~guard_malloc_counter~0.offset)} is VALID [2020-07-18 00:21:36,287 INFO L280 TraceCheckUtils]: 28: Hoare triple {4058#(<= |my_malloc_#t~ret30.offset| ~guard_malloc_counter~0.offset)} #res.base, #res.offset := #t~ret30.base, #t~ret30.offset; {4059#(<= |my_malloc_#res.offset| ~guard_malloc_counter~0.offset)} is VALID [2020-07-18 00:21:36,288 INFO L280 TraceCheckUtils]: 29: Hoare triple {4059#(<= |my_malloc_#res.offset| ~guard_malloc_counter~0.offset)} havoc #t~ret30.base, #t~ret30.offset; {4059#(<= |my_malloc_#res.offset| ~guard_malloc_counter~0.offset)} is VALID [2020-07-18 00:21:36,288 INFO L280 TraceCheckUtils]: 30: Hoare triple {4059#(<= |my_malloc_#res.offset| ~guard_malloc_counter~0.offset)} assume true; {4059#(<= |my_malloc_#res.offset| ~guard_malloc_counter~0.offset)} is VALID [2020-07-18 00:21:36,289 INFO L275 TraceCheckUtils]: 31: Hoare quadruple {4059#(<= |my_malloc_#res.offset| ~guard_malloc_counter~0.offset)} {3971#true} #94#return; {4000#(<= |main_#t~ret32.offset| ~guard_malloc_counter~0.offset)} is VALID [2020-07-18 00:21:36,290 INFO L280 TraceCheckUtils]: 32: Hoare triple {4000#(<= |main_#t~ret32.offset| ~guard_malloc_counter~0.offset)} ~dev1~0.base, ~dev1~0.offset := #t~ret32.base, #t~ret32.offset; {4001#(<= main_~dev1~0.offset ~guard_malloc_counter~0.offset)} is VALID [2020-07-18 00:21:36,291 INFO L280 TraceCheckUtils]: 33: Hoare triple {4001#(<= main_~dev1~0.offset ~guard_malloc_counter~0.offset)} havoc #t~ret32.base, #t~ret32.offset; {4001#(<= main_~dev1~0.offset ~guard_malloc_counter~0.offset)} is VALID [2020-07-18 00:21:36,292 INFO L263 TraceCheckUtils]: 34: Hoare triple {4001#(<= main_~dev1~0.offset ~guard_malloc_counter~0.offset)} call #t~ret33.base, #t~ret33.offset := my_malloc(8); {4046#(and (= ~guard_malloc_counter~0.offset |old(~guard_malloc_counter~0.offset)|) (= ~guard_malloc_counter~0.base |old(~guard_malloc_counter~0.base)|))} is VALID [2020-07-18 00:21:36,292 INFO L280 TraceCheckUtils]: 35: Hoare triple {4046#(and (= ~guard_malloc_counter~0.offset |old(~guard_malloc_counter~0.offset)|) (= ~guard_malloc_counter~0.base |old(~guard_malloc_counter~0.base)|))} ~size := #in~size; {4061#(= ~guard_malloc_counter~0.offset |old(~guard_malloc_counter~0.offset)|)} is VALID [2020-07-18 00:21:36,293 INFO L263 TraceCheckUtils]: 36: Hoare triple {4061#(= ~guard_malloc_counter~0.offset |old(~guard_malloc_counter~0.offset)|)} call #t~ret30.base, #t~ret30.offset := __getMemory(~size); {4046#(and (= ~guard_malloc_counter~0.offset |old(~guard_malloc_counter~0.offset)|) (= ~guard_malloc_counter~0.base |old(~guard_malloc_counter~0.base)|))} is VALID [2020-07-18 00:21:36,294 INFO L280 TraceCheckUtils]: 37: Hoare triple {4046#(and (= ~guard_malloc_counter~0.offset |old(~guard_malloc_counter~0.offset)|) (= ~guard_malloc_counter~0.base |old(~guard_malloc_counter~0.base)|))} ~size := #in~size; {4061#(= ~guard_malloc_counter~0.offset |old(~guard_malloc_counter~0.offset)|)} is VALID [2020-07-18 00:21:36,294 INFO L280 TraceCheckUtils]: 38: Hoare triple {4061#(= ~guard_malloc_counter~0.offset |old(~guard_malloc_counter~0.offset)|)} assume ~size > 0; {4061#(= ~guard_malloc_counter~0.offset |old(~guard_malloc_counter~0.offset)|)} is VALID [2020-07-18 00:21:36,295 INFO L280 TraceCheckUtils]: 39: Hoare triple {4061#(= ~guard_malloc_counter~0.offset |old(~guard_malloc_counter~0.offset)|)} #t~post28.base, #t~post28.offset := ~guard_malloc_counter~0.base, ~guard_malloc_counter~0.offset; {4075#(= |old(~guard_malloc_counter~0.offset)| |__getMemory_#t~post28.offset|)} is VALID [2020-07-18 00:21:36,296 INFO L280 TraceCheckUtils]: 40: Hoare triple {4075#(= |old(~guard_malloc_counter~0.offset)| |__getMemory_#t~post28.offset|)} ~guard_malloc_counter~0.base, ~guard_malloc_counter~0.offset := #t~post28.base, 1 + #t~post28.offset; {4076#(<= (+ |old(~guard_malloc_counter~0.offset)| 1) ~guard_malloc_counter~0.offset)} is VALID [2020-07-18 00:21:36,296 INFO L280 TraceCheckUtils]: 41: Hoare triple {4076#(<= (+ |old(~guard_malloc_counter~0.offset)| 1) ~guard_malloc_counter~0.offset)} havoc #t~post28.base, #t~post28.offset; {4076#(<= (+ |old(~guard_malloc_counter~0.offset)| 1) ~guard_malloc_counter~0.offset)} is VALID [2020-07-18 00:21:36,297 INFO L280 TraceCheckUtils]: 42: Hoare triple {4076#(<= (+ |old(~guard_malloc_counter~0.offset)| 1) ~guard_malloc_counter~0.offset)} assume -2147483648 <= #t~nondet29 && #t~nondet29 <= 2147483647; {4076#(<= (+ |old(~guard_malloc_counter~0.offset)| 1) ~guard_malloc_counter~0.offset)} is VALID [2020-07-18 00:21:36,298 INFO L280 TraceCheckUtils]: 43: Hoare triple {4076#(<= (+ |old(~guard_malloc_counter~0.offset)| 1) ~guard_malloc_counter~0.offset)} assume !(0 == #t~nondet29); {4076#(<= (+ |old(~guard_malloc_counter~0.offset)| 1) ~guard_malloc_counter~0.offset)} is VALID [2020-07-18 00:21:36,298 INFO L280 TraceCheckUtils]: 44: Hoare triple {4076#(<= (+ |old(~guard_malloc_counter~0.offset)| 1) ~guard_malloc_counter~0.offset)} havoc #t~nondet29; {4076#(<= (+ |old(~guard_malloc_counter~0.offset)| 1) ~guard_malloc_counter~0.offset)} is VALID [2020-07-18 00:21:36,299 INFO L280 TraceCheckUtils]: 45: Hoare triple {4076#(<= (+ |old(~guard_malloc_counter~0.offset)| 1) ~guard_malloc_counter~0.offset)} #res.base, #res.offset := ~guard_malloc_counter~0.base, ~guard_malloc_counter~0.offset; {4077#(<= (+ |old(~guard_malloc_counter~0.offset)| 1) |__getMemory_#res.offset|)} is VALID [2020-07-18 00:21:36,300 INFO L280 TraceCheckUtils]: 46: Hoare triple {4077#(<= (+ |old(~guard_malloc_counter~0.offset)| 1) |__getMemory_#res.offset|)} assume true; {4077#(<= (+ |old(~guard_malloc_counter~0.offset)| 1) |__getMemory_#res.offset|)} is VALID [2020-07-18 00:21:36,301 INFO L275 TraceCheckUtils]: 47: Hoare quadruple {4077#(<= (+ |old(~guard_malloc_counter~0.offset)| 1) |__getMemory_#res.offset|)} {4061#(= ~guard_malloc_counter~0.offset |old(~guard_malloc_counter~0.offset)|)} #92#return; {4073#(<= (+ |old(~guard_malloc_counter~0.offset)| 1) |my_malloc_#t~ret30.offset|)} is VALID [2020-07-18 00:21:36,303 INFO L280 TraceCheckUtils]: 48: Hoare triple {4073#(<= (+ |old(~guard_malloc_counter~0.offset)| 1) |my_malloc_#t~ret30.offset|)} #res.base, #res.offset := #t~ret30.base, #t~ret30.offset; {4074#(<= (+ |old(~guard_malloc_counter~0.offset)| 1) |my_malloc_#res.offset|)} is VALID [2020-07-18 00:21:36,303 INFO L280 TraceCheckUtils]: 49: Hoare triple {4074#(<= (+ |old(~guard_malloc_counter~0.offset)| 1) |my_malloc_#res.offset|)} havoc #t~ret30.base, #t~ret30.offset; {4074#(<= (+ |old(~guard_malloc_counter~0.offset)| 1) |my_malloc_#res.offset|)} is VALID [2020-07-18 00:21:36,304 INFO L280 TraceCheckUtils]: 50: Hoare triple {4074#(<= (+ |old(~guard_malloc_counter~0.offset)| 1) |my_malloc_#res.offset|)} assume true; {4074#(<= (+ |old(~guard_malloc_counter~0.offset)| 1) |my_malloc_#res.offset|)} is VALID [2020-07-18 00:21:36,305 INFO L275 TraceCheckUtils]: 51: Hoare quadruple {4074#(<= (+ |old(~guard_malloc_counter~0.offset)| 1) |my_malloc_#res.offset|)} {4001#(<= main_~dev1~0.offset ~guard_malloc_counter~0.offset)} #96#return; {4019#(<= (+ main_~dev1~0.offset 1) |main_#t~ret33.offset|)} is VALID [2020-07-18 00:21:36,306 INFO L280 TraceCheckUtils]: 52: Hoare triple {4019#(<= (+ main_~dev1~0.offset 1) |main_#t~ret33.offset|)} ~dev2~0.base, ~dev2~0.offset := #t~ret33.base, #t~ret33.offset; {4020#(<= (+ main_~dev1~0.offset 1) main_~dev2~0.offset)} is VALID [2020-07-18 00:21:36,307 INFO L280 TraceCheckUtils]: 53: Hoare triple {4020#(<= (+ main_~dev1~0.offset 1) main_~dev2~0.offset)} havoc #t~ret33.base, #t~ret33.offset; {4020#(<= (+ main_~dev1~0.offset 1) main_~dev2~0.offset)} is VALID [2020-07-18 00:21:36,308 INFO L280 TraceCheckUtils]: 54: Hoare triple {4020#(<= (+ main_~dev1~0.offset 1) main_~dev2~0.offset)} assume (~dev1~0.base != 0 || ~dev1~0.offset != 0) && (~dev2~0.base != 0 || ~dev2~0.offset != 0); {4020#(<= (+ main_~dev1~0.offset 1) main_~dev2~0.offset)} is VALID [2020-07-18 00:21:36,309 INFO L263 TraceCheckUtils]: 55: Hoare triple {4020#(<= (+ main_~dev1~0.offset 1) main_~dev2~0.offset)} call list_add(~dev2~0.base, ~dev2~0.offset, ~#head~0.base, ~#head~0.offset); {4078#(and (= ~elem~0.base |old(~elem~0.base)|) (= ~elem~0.offset |old(~elem~0.offset)|))} is VALID [2020-07-18 00:21:36,309 INFO L280 TraceCheckUtils]: 56: Hoare triple {4078#(and (= ~elem~0.base |old(~elem~0.base)|) (= ~elem~0.offset |old(~elem~0.offset)|))} ~new.base, ~new.offset := #in~new.base, #in~new.offset; {3971#true} is VALID [2020-07-18 00:21:36,309 INFO L280 TraceCheckUtils]: 57: Hoare triple {3971#true} ~head.base, ~head.offset := #in~head.base, #in~head.offset; {3971#true} is VALID [2020-07-18 00:21:36,310 INFO L280 TraceCheckUtils]: 58: Hoare triple {3971#true} assume ~new.base != ~elem~0.base || ~new.offset != ~elem~0.offset; {3971#true} is VALID [2020-07-18 00:21:36,310 INFO L280 TraceCheckUtils]: 59: Hoare triple {3971#true} assume -2147483648 <= #t~nondet31 && #t~nondet31 <= 2147483647; {3971#true} is VALID [2020-07-18 00:21:36,310 INFO L280 TraceCheckUtils]: 60: Hoare triple {3971#true} assume !(0 != #t~nondet31); {3971#true} is VALID [2020-07-18 00:21:36,310 INFO L280 TraceCheckUtils]: 61: Hoare triple {3971#true} havoc #t~nondet31; {3971#true} is VALID [2020-07-18 00:21:36,310 INFO L280 TraceCheckUtils]: 62: Hoare triple {3971#true} assume true; {3971#true} is VALID [2020-07-18 00:21:36,311 INFO L275 TraceCheckUtils]: 63: Hoare quadruple {3971#true} {4020#(<= (+ main_~dev1~0.offset 1) main_~dev2~0.offset)} #98#return; {4020#(<= (+ main_~dev1~0.offset 1) main_~dev2~0.offset)} is VALID [2020-07-18 00:21:36,313 INFO L263 TraceCheckUtils]: 64: Hoare triple {4020#(<= (+ main_~dev1~0.offset 1) main_~dev2~0.offset)} call list_add(~dev1~0.base, ~dev1~0.offset, ~#head~0.base, ~#head~0.offset); {4078#(and (= ~elem~0.base |old(~elem~0.base)|) (= ~elem~0.offset |old(~elem~0.offset)|))} is VALID [2020-07-18 00:21:36,313 INFO L280 TraceCheckUtils]: 65: Hoare triple {4078#(and (= ~elem~0.base |old(~elem~0.base)|) (= ~elem~0.offset |old(~elem~0.offset)|))} ~new.base, ~new.offset := #in~new.base, #in~new.offset; {4079#(= |list_add_#in~new.offset| list_add_~new.offset)} is VALID [2020-07-18 00:21:36,314 INFO L280 TraceCheckUtils]: 66: Hoare triple {4079#(= |list_add_#in~new.offset| list_add_~new.offset)} ~head.base, ~head.offset := #in~head.base, #in~head.offset; {4079#(= |list_add_#in~new.offset| list_add_~new.offset)} is VALID [2020-07-18 00:21:36,315 INFO L280 TraceCheckUtils]: 67: Hoare triple {4079#(= |list_add_#in~new.offset| list_add_~new.offset)} assume ~new.base != ~elem~0.base || ~new.offset != ~elem~0.offset; {4079#(= |list_add_#in~new.offset| list_add_~new.offset)} is VALID [2020-07-18 00:21:36,315 INFO L280 TraceCheckUtils]: 68: Hoare triple {4079#(= |list_add_#in~new.offset| list_add_~new.offset)} assume -2147483648 <= #t~nondet31 && #t~nondet31 <= 2147483647; {4079#(= |list_add_#in~new.offset| list_add_~new.offset)} is VALID [2020-07-18 00:21:36,316 INFO L280 TraceCheckUtils]: 69: Hoare triple {4079#(= |list_add_#in~new.offset| list_add_~new.offset)} assume 0 != #t~nondet31; {4079#(= |list_add_#in~new.offset| list_add_~new.offset)} is VALID [2020-07-18 00:21:36,316 INFO L280 TraceCheckUtils]: 70: Hoare triple {4079#(= |list_add_#in~new.offset| list_add_~new.offset)} havoc #t~nondet31; {4079#(= |list_add_#in~new.offset| list_add_~new.offset)} is VALID [2020-07-18 00:21:36,317 INFO L280 TraceCheckUtils]: 71: Hoare triple {4079#(= |list_add_#in~new.offset| list_add_~new.offset)} ~elem~0.base, ~elem~0.offset := ~new.base, ~new.offset; {4080#(= ~elem~0.offset |list_add_#in~new.offset|)} is VALID [2020-07-18 00:21:36,317 INFO L280 TraceCheckUtils]: 72: Hoare triple {4080#(= ~elem~0.offset |list_add_#in~new.offset|)} assume true; {4080#(= ~elem~0.offset |list_add_#in~new.offset|)} is VALID [2020-07-18 00:21:36,318 INFO L275 TraceCheckUtils]: 73: Hoare quadruple {4080#(= ~elem~0.offset |list_add_#in~new.offset|)} {4020#(<= (+ main_~dev1~0.offset 1) main_~dev2~0.offset)} #100#return; {4038#(<= (+ ~elem~0.offset 1) main_~dev2~0.offset)} is VALID [2020-07-18 00:21:36,319 INFO L263 TraceCheckUtils]: 74: Hoare triple {4038#(<= (+ ~elem~0.offset 1) main_~dev2~0.offset)} call list_del(~dev2~0.base, ~dev2~0.offset); {4078#(and (= ~elem~0.base |old(~elem~0.base)|) (= ~elem~0.offset |old(~elem~0.offset)|))} is VALID [2020-07-18 00:21:36,320 INFO L280 TraceCheckUtils]: 75: Hoare triple {4078#(and (= ~elem~0.base |old(~elem~0.base)|) (= ~elem~0.offset |old(~elem~0.offset)|))} ~entry.base, ~entry.offset := #in~entry.base, #in~entry.offset; {4081#(= |old(~elem~0.offset)| ~elem~0.offset)} is VALID [2020-07-18 00:21:36,321 INFO L280 TraceCheckUtils]: 76: Hoare triple {4081#(= |old(~elem~0.offset)| ~elem~0.offset)} assume !(~entry.base == ~elem~0.base && ~entry.offset == ~elem~0.offset); {4081#(= |old(~elem~0.offset)| ~elem~0.offset)} is VALID [2020-07-18 00:21:36,321 INFO L280 TraceCheckUtils]: 77: Hoare triple {4081#(= |old(~elem~0.offset)| ~elem~0.offset)} assume true; {4081#(= |old(~elem~0.offset)| ~elem~0.offset)} is VALID [2020-07-18 00:21:36,322 INFO L275 TraceCheckUtils]: 78: Hoare quadruple {4081#(= |old(~elem~0.offset)| ~elem~0.offset)} {4038#(<= (+ ~elem~0.offset 1) main_~dev2~0.offset)} #102#return; {4038#(<= (+ ~elem~0.offset 1) main_~dev2~0.offset)} is VALID [2020-07-18 00:21:36,323 INFO L263 TraceCheckUtils]: 79: Hoare triple {4038#(<= (+ ~elem~0.offset 1) main_~dev2~0.offset)} call list_add(~dev2~0.base, ~dev2~0.offset, ~#head~0.base, ~#head~0.offset); {4043#(<= (+ ~elem~0.offset 1) |list_add_#in~new.offset|)} is VALID [2020-07-18 00:21:36,324 INFO L280 TraceCheckUtils]: 80: Hoare triple {4043#(<= (+ ~elem~0.offset 1) |list_add_#in~new.offset|)} ~new.base, ~new.offset := #in~new.base, #in~new.offset; {4044#(not (= ~elem~0.offset list_add_~new.offset))} is VALID [2020-07-18 00:21:36,325 INFO L280 TraceCheckUtils]: 81: Hoare triple {4044#(not (= ~elem~0.offset list_add_~new.offset))} ~head.base, ~head.offset := #in~head.base, #in~head.offset; {4044#(not (= ~elem~0.offset list_add_~new.offset))} is VALID [2020-07-18 00:21:36,325 INFO L280 TraceCheckUtils]: 82: Hoare triple {4044#(not (= ~elem~0.offset list_add_~new.offset))} assume !(~new.base != ~elem~0.base || ~new.offset != ~elem~0.offset); {3972#false} is VALID [2020-07-18 00:21:36,326 INFO L263 TraceCheckUtils]: 83: Hoare triple {3972#false} call __blast_assert(); {3972#false} is VALID [2020-07-18 00:21:36,326 INFO L280 TraceCheckUtils]: 84: Hoare triple {3972#false} assume !false; {3972#false} is VALID [2020-07-18 00:21:36,335 INFO L134 CoverageAnalysis]: Checked inductivity of 17 backedges. 9 proven. 6 refuted. 0 times theorem prover too weak. 2 trivial. 0 not checked. [2020-07-18 00:21:36,336 INFO L192 leratedInterpolation]: Finished Analysing Program using PRECISE loop Acceleration [2020-07-18 00:21:36,336 INFO L354 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModulePreferences [2021816199] [2020-07-18 00:21:36,336 INFO L220 FreeRefinementEngine]: Constructing automaton from 1 perfect and 0 imperfect interpolant sequences. [2020-07-18 00:21:36,337 INFO L233 FreeRefinementEngine]: Number of different interpolants: perfect sequences [24] imperfect sequences [] total 24 [2020-07-18 00:21:36,337 INFO L156 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [1281014345] [2020-07-18 00:21:36,337 INFO L78 Accepts]: Start accepts. Automaton has 24 states. Word has length 85 [2020-07-18 00:21:36,338 INFO L84 Accepts]: Finished accepts. word is accepted. [2020-07-18 00:21:36,338 INFO L86 InductivityCheck]: Starting indutivity check of a Floyd-Hoare automaton with 24 states. [2020-07-18 00:21:36,432 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 00:21:36,433 INFO L459 AbstractCegarLoop]: Interpolant automaton has 24 states [2020-07-18 00:21:36,433 INFO L143 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy FIXED_PREFERENCES [2020-07-18 00:21:36,433 INFO L142 InterpolantAutomaton]: Constructing interpolant automaton starting with 24 interpolants. [2020-07-18 00:21:36,434 INFO L144 InterpolantAutomaton]: CoverageRelationStatistics Valid=51, Invalid=501, Unknown=0, NotChecked=0, Total=552 [2020-07-18 00:21:36,434 INFO L87 Difference]: Start difference. First operand 103 states and 114 transitions. Second operand 24 states. [2020-07-18 00:21:44,148 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2020-07-18 00:21:44,148 INFO L93 Difference]: Finished difference Result 118 states and 130 transitions. [2020-07-18 00:21:44,148 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 26 states. [2020-07-18 00:21:44,149 INFO L78 Accepts]: Start accepts. Automaton has 24 states. Word has length 85 [2020-07-18 00:21:44,149 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2020-07-18 00:21:44,149 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 24 states. [2020-07-18 00:21:44,161 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 26 states to 26 states and 95 transitions. [2020-07-18 00:21:44,161 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 24 states. [2020-07-18 00:21:44,164 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 26 states to 26 states and 95 transitions. [2020-07-18 00:21:44,164 INFO L86 InductivityCheck]: Starting indutivity check of a Floyd-Hoare automaton with 26 states and 95 transitions. [2020-07-18 00:21:44,324 INFO L119 InductivityCheck]: Floyd-Hoare automaton has 95 edges. 95 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2020-07-18 00:21:44,328 INFO L225 Difference]: With dead ends: 118 [2020-07-18 00:21:44,328 INFO L226 Difference]: Without dead ends: 113 [2020-07-18 00:21:44,330 INFO L675 BasicCegarLoop]: 0 DeclaredPredicates, 61 GetRequests, 18 SyntacticMatches, 0 SemanticMatches, 43 ConstructedPredicates, 0 IntricatePredicates, 0 DeprecatedPredicates, 205 ImplicationChecksByTransitivity, 1.3s TimeCoverageRelationStatistics Valid=232, Invalid=1748, Unknown=0, NotChecked=0, Total=1980 [2020-07-18 00:21:44,330 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 113 states. [2020-07-18 00:21:44,842 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 113 to 112. [2020-07-18 00:21:44,842 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2020-07-18 00:21:44,843 INFO L82 GeneralOperation]: Start isEquivalent. First operand 113 states. Second operand 112 states. [2020-07-18 00:21:44,843 INFO L74 IsIncluded]: Start isIncluded. First operand 113 states. Second operand 112 states. [2020-07-18 00:21:44,843 INFO L87 Difference]: Start difference. First operand 113 states. Second operand 112 states. [2020-07-18 00:21:44,849 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2020-07-18 00:21:44,849 INFO L93 Difference]: Finished difference Result 113 states and 124 transitions. [2020-07-18 00:21:44,849 INFO L276 IsEmpty]: Start isEmpty. Operand 113 states and 124 transitions. [2020-07-18 00:21:44,850 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2020-07-18 00:21:44,850 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2020-07-18 00:21:44,851 INFO L74 IsIncluded]: Start isIncluded. First operand 112 states. Second operand 113 states. [2020-07-18 00:21:44,851 INFO L87 Difference]: Start difference. First operand 112 states. Second operand 113 states. [2020-07-18 00:21:44,856 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2020-07-18 00:21:44,856 INFO L93 Difference]: Finished difference Result 113 states and 124 transitions. [2020-07-18 00:21:44,856 INFO L276 IsEmpty]: Start isEmpty. Operand 113 states and 124 transitions. [2020-07-18 00:21:44,857 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2020-07-18 00:21:44,857 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2020-07-18 00:21:44,857 INFO L88 GeneralOperation]: Finished isEquivalent. [2020-07-18 00:21:44,857 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2020-07-18 00:21:44,857 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 112 states. [2020-07-18 00:21:44,862 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 112 states to 112 states and 123 transitions. [2020-07-18 00:21:44,862 INFO L78 Accepts]: Start accepts. Automaton has 112 states and 123 transitions. Word has length 85 [2020-07-18 00:21:44,863 INFO L84 Accepts]: Finished accepts. word is rejected. [2020-07-18 00:21:44,863 INFO L479 AbstractCegarLoop]: Abstraction has 112 states and 123 transitions. [2020-07-18 00:21:44,863 INFO L480 AbstractCegarLoop]: Interpolant automaton has 24 states. [2020-07-18 00:21:44,863 INFO L86 InductivityCheck]: Starting indutivity check of a Floyd-Hoare automaton with 112 states and 123 transitions. [2020-07-18 00:21:45,153 INFO L119 InductivityCheck]: Floyd-Hoare automaton has 123 edges. 123 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2020-07-18 00:21:45,154 INFO L276 IsEmpty]: Start isEmpty. Operand 112 states and 123 transitions. [2020-07-18 00:21:45,155 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 86 [2020-07-18 00:21:45,156 INFO L414 BasicCegarLoop]: Found error trace [2020-07-18 00:21:45,156 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 00:21:45,156 WARN L516 AbstractCegarLoop]: Destroyed unattended storables created during the last iteration: SelfDestructingSolverStorable6 [2020-07-18 00:21:45,157 INFO L427 AbstractCegarLoop]: === Iteration 8 === [__blast_assertErr0ASSERT_VIOLATIONERROR_FUNCTION]=== [2020-07-18 00:21:45,157 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2020-07-18 00:21:45,157 INFO L82 PathProgramCache]: Analyzing trace with hash 1173492322, now seen corresponding path program 2 times [2020-07-18 00:21:45,158 INFO L163 FreeRefinementEngine]: Executing refinement strategy FIXED_PREFERENCES [2020-07-18 00:21:45,158 INFO L354 FreeRefinementEngine]: Using trace check IpTcStrategyModulePreferences [67718813] [2020-07-18 00:21:45,158 INFO L94 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2020-07-18 00:21:45,182 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2020-07-18 00:21:45,265 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2020-07-18 00:21:45,272 INFO L280 TraceCheckUtils]: 0: Hoare triple {4883#(and (= |#valid| |old(#valid)|) (= ~elem~0.base |old(~elem~0.base)|) (= |#NULL.base| |old(#NULL.base)|) (= |~#head~0.base| |old(~#head~0.base)|) (= ~guard_malloc_counter~0.offset |old(~guard_malloc_counter~0.offset)|) (= |#NULL.offset| |old(#NULL.offset)|) (= ~elem~0.offset |old(~elem~0.offset)|) (= |old(#length)| |#length|) (= |~#head~0.offset| |old(~#head~0.offset)|) (= ~guard_malloc_counter~0.base |old(~guard_malloc_counter~0.base)|))} #NULL.base, #NULL.offset := 0, 0; {4815#true} is VALID [2020-07-18 00:21:45,272 INFO L280 TraceCheckUtils]: 1: Hoare triple {4815#true} #valid := #valid[0 := 0]; {4815#true} is VALID [2020-07-18 00:21:45,272 INFO L280 TraceCheckUtils]: 2: Hoare triple {4815#true} assume 0 < #StackHeapBarrier; {4815#true} is VALID [2020-07-18 00:21:45,272 INFO L280 TraceCheckUtils]: 3: Hoare triple {4815#true} ~guard_malloc_counter~0.base, ~guard_malloc_counter~0.offset := 0, 0; {4815#true} is VALID [2020-07-18 00:21:45,273 INFO L280 TraceCheckUtils]: 4: Hoare triple {4815#true} ~elem~0.base, ~elem~0.offset := 0, 0; {4815#true} is VALID [2020-07-18 00:21:45,273 INFO L280 TraceCheckUtils]: 5: Hoare triple {4815#true} SUMMARY for call ~#head~0.base, ~#head~0.offset := #Ultimate.allocOnStack(8); srcloc: L900 {4815#true} is VALID [2020-07-18 00:21:45,273 INFO L280 TraceCheckUtils]: 6: Hoare triple {4815#true} SUMMARY for call write~init~$Pointer$(0, 0, ~#head~0.base, ~#head~0.offset, 4); srcloc: L900-1 {4815#true} is VALID [2020-07-18 00:21:45,273 INFO L280 TraceCheckUtils]: 7: Hoare triple {4815#true} SUMMARY for call write~init~$Pointer$(0, 0, ~#head~0.base, 4 + ~#head~0.offset, 4); srcloc: L900-2 {4815#true} is VALID [2020-07-18 00:21:45,274 INFO L280 TraceCheckUtils]: 8: Hoare triple {4815#true} assume true; {4815#true} is VALID [2020-07-18 00:21:45,274 INFO L275 TraceCheckUtils]: 9: Hoare quadruple {4815#true} {4815#true} #112#return; {4815#true} is VALID [2020-07-18 00:21:45,287 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2020-07-18 00:21:45,300 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2020-07-18 00:21:45,306 INFO L280 TraceCheckUtils]: 0: Hoare triple {4884#(and (= ~guard_malloc_counter~0.offset |old(~guard_malloc_counter~0.offset)|) (= ~guard_malloc_counter~0.base |old(~guard_malloc_counter~0.base)|))} ~size := #in~size; {4815#true} is VALID [2020-07-18 00:21:45,306 INFO L280 TraceCheckUtils]: 1: Hoare triple {4815#true} assume ~size > 0; {4815#true} is VALID [2020-07-18 00:21:45,307 INFO L280 TraceCheckUtils]: 2: Hoare triple {4815#true} #t~post28.base, #t~post28.offset := ~guard_malloc_counter~0.base, ~guard_malloc_counter~0.offset; {4815#true} is VALID [2020-07-18 00:21:45,307 INFO L280 TraceCheckUtils]: 3: Hoare triple {4815#true} ~guard_malloc_counter~0.base, ~guard_malloc_counter~0.offset := #t~post28.base, 1 + #t~post28.offset; {4815#true} is VALID [2020-07-18 00:21:45,307 INFO L280 TraceCheckUtils]: 4: Hoare triple {4815#true} havoc #t~post28.base, #t~post28.offset; {4815#true} is VALID [2020-07-18 00:21:45,307 INFO L280 TraceCheckUtils]: 5: Hoare triple {4815#true} assume -2147483648 <= #t~nondet29 && #t~nondet29 <= 2147483647; {4815#true} is VALID [2020-07-18 00:21:45,307 INFO L280 TraceCheckUtils]: 6: Hoare triple {4815#true} assume !(0 == #t~nondet29); {4815#true} is VALID [2020-07-18 00:21:45,308 INFO L280 TraceCheckUtils]: 7: Hoare triple {4815#true} havoc #t~nondet29; {4815#true} is VALID [2020-07-18 00:21:45,308 INFO L280 TraceCheckUtils]: 8: Hoare triple {4815#true} #res.base, #res.offset := ~guard_malloc_counter~0.base, ~guard_malloc_counter~0.offset; {4815#true} is VALID [2020-07-18 00:21:45,308 INFO L280 TraceCheckUtils]: 9: Hoare triple {4815#true} assume true; {4815#true} is VALID [2020-07-18 00:21:45,308 INFO L275 TraceCheckUtils]: 10: Hoare quadruple {4815#true} {4815#true} #92#return; {4815#true} is VALID [2020-07-18 00:21:45,309 INFO L280 TraceCheckUtils]: 0: Hoare triple {4884#(and (= ~guard_malloc_counter~0.offset |old(~guard_malloc_counter~0.offset)|) (= ~guard_malloc_counter~0.base |old(~guard_malloc_counter~0.base)|))} ~size := #in~size; {4815#true} is VALID [2020-07-18 00:21:45,309 INFO L263 TraceCheckUtils]: 1: Hoare triple {4815#true} call #t~ret30.base, #t~ret30.offset := __getMemory(~size); {4884#(and (= ~guard_malloc_counter~0.offset |old(~guard_malloc_counter~0.offset)|) (= ~guard_malloc_counter~0.base |old(~guard_malloc_counter~0.base)|))} is VALID [2020-07-18 00:21:45,310 INFO L280 TraceCheckUtils]: 2: Hoare triple {4884#(and (= ~guard_malloc_counter~0.offset |old(~guard_malloc_counter~0.offset)|) (= ~guard_malloc_counter~0.base |old(~guard_malloc_counter~0.base)|))} ~size := #in~size; {4815#true} is VALID [2020-07-18 00:21:45,310 INFO L280 TraceCheckUtils]: 3: Hoare triple {4815#true} assume ~size > 0; {4815#true} is VALID [2020-07-18 00:21:45,310 INFO L280 TraceCheckUtils]: 4: Hoare triple {4815#true} #t~post28.base, #t~post28.offset := ~guard_malloc_counter~0.base, ~guard_malloc_counter~0.offset; {4815#true} is VALID [2020-07-18 00:21:45,310 INFO L280 TraceCheckUtils]: 5: Hoare triple {4815#true} ~guard_malloc_counter~0.base, ~guard_malloc_counter~0.offset := #t~post28.base, 1 + #t~post28.offset; {4815#true} is VALID [2020-07-18 00:21:45,310 INFO L280 TraceCheckUtils]: 6: Hoare triple {4815#true} havoc #t~post28.base, #t~post28.offset; {4815#true} is VALID [2020-07-18 00:21:45,310 INFO L280 TraceCheckUtils]: 7: Hoare triple {4815#true} assume -2147483648 <= #t~nondet29 && #t~nondet29 <= 2147483647; {4815#true} is VALID [2020-07-18 00:21:45,311 INFO L280 TraceCheckUtils]: 8: Hoare triple {4815#true} assume !(0 == #t~nondet29); {4815#true} is VALID [2020-07-18 00:21:45,311 INFO L280 TraceCheckUtils]: 9: Hoare triple {4815#true} havoc #t~nondet29; {4815#true} is VALID [2020-07-18 00:21:45,311 INFO L280 TraceCheckUtils]: 10: Hoare triple {4815#true} #res.base, #res.offset := ~guard_malloc_counter~0.base, ~guard_malloc_counter~0.offset; {4815#true} is VALID [2020-07-18 00:21:45,311 INFO L280 TraceCheckUtils]: 11: Hoare triple {4815#true} assume true; {4815#true} is VALID [2020-07-18 00:21:45,313 INFO L275 TraceCheckUtils]: 12: Hoare quadruple {4815#true} {4815#true} #92#return; {4815#true} is VALID [2020-07-18 00:21:45,314 INFO L280 TraceCheckUtils]: 13: Hoare triple {4815#true} #res.base, #res.offset := #t~ret30.base, #t~ret30.offset; {4815#true} is VALID [2020-07-18 00:21:45,314 INFO L280 TraceCheckUtils]: 14: Hoare triple {4815#true} havoc #t~ret30.base, #t~ret30.offset; {4815#true} is VALID [2020-07-18 00:21:45,314 INFO L280 TraceCheckUtils]: 15: Hoare triple {4815#true} assume true; {4815#true} is VALID [2020-07-18 00:21:45,314 INFO L275 TraceCheckUtils]: 16: Hoare quadruple {4815#true} {4815#true} #94#return; {4815#true} is VALID [2020-07-18 00:21:45,316 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2020-07-18 00:21:45,336 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2020-07-18 00:21:45,340 INFO L280 TraceCheckUtils]: 0: Hoare triple {4884#(and (= ~guard_malloc_counter~0.offset |old(~guard_malloc_counter~0.offset)|) (= ~guard_malloc_counter~0.base |old(~guard_malloc_counter~0.base)|))} ~size := #in~size; {4815#true} is VALID [2020-07-18 00:21:45,340 INFO L280 TraceCheckUtils]: 1: Hoare triple {4815#true} assume ~size > 0; {4815#true} is VALID [2020-07-18 00:21:45,341 INFO L280 TraceCheckUtils]: 2: Hoare triple {4815#true} #t~post28.base, #t~post28.offset := ~guard_malloc_counter~0.base, ~guard_malloc_counter~0.offset; {4815#true} is VALID [2020-07-18 00:21:45,341 INFO L280 TraceCheckUtils]: 3: Hoare triple {4815#true} ~guard_malloc_counter~0.base, ~guard_malloc_counter~0.offset := #t~post28.base, 1 + #t~post28.offset; {4815#true} is VALID [2020-07-18 00:21:45,341 INFO L280 TraceCheckUtils]: 4: Hoare triple {4815#true} havoc #t~post28.base, #t~post28.offset; {4815#true} is VALID [2020-07-18 00:21:45,341 INFO L280 TraceCheckUtils]: 5: Hoare triple {4815#true} assume -2147483648 <= #t~nondet29 && #t~nondet29 <= 2147483647; {4815#true} is VALID [2020-07-18 00:21:45,341 INFO L280 TraceCheckUtils]: 6: Hoare triple {4815#true} assume !(0 == #t~nondet29); {4815#true} is VALID [2020-07-18 00:21:45,342 INFO L280 TraceCheckUtils]: 7: Hoare triple {4815#true} havoc #t~nondet29; {4815#true} is VALID [2020-07-18 00:21:45,342 INFO L280 TraceCheckUtils]: 8: Hoare triple {4815#true} #res.base, #res.offset := ~guard_malloc_counter~0.base, ~guard_malloc_counter~0.offset; {4815#true} is VALID [2020-07-18 00:21:45,342 INFO L280 TraceCheckUtils]: 9: Hoare triple {4815#true} assume true; {4815#true} is VALID [2020-07-18 00:21:45,342 INFO L275 TraceCheckUtils]: 10: Hoare quadruple {4815#true} {4815#true} #92#return; {4815#true} is VALID [2020-07-18 00:21:45,343 INFO L280 TraceCheckUtils]: 0: Hoare triple {4884#(and (= ~guard_malloc_counter~0.offset |old(~guard_malloc_counter~0.offset)|) (= ~guard_malloc_counter~0.base |old(~guard_malloc_counter~0.base)|))} ~size := #in~size; {4815#true} is VALID [2020-07-18 00:21:45,343 INFO L263 TraceCheckUtils]: 1: Hoare triple {4815#true} call #t~ret30.base, #t~ret30.offset := __getMemory(~size); {4884#(and (= ~guard_malloc_counter~0.offset |old(~guard_malloc_counter~0.offset)|) (= ~guard_malloc_counter~0.base |old(~guard_malloc_counter~0.base)|))} is VALID [2020-07-18 00:21:45,344 INFO L280 TraceCheckUtils]: 2: Hoare triple {4884#(and (= ~guard_malloc_counter~0.offset |old(~guard_malloc_counter~0.offset)|) (= ~guard_malloc_counter~0.base |old(~guard_malloc_counter~0.base)|))} ~size := #in~size; {4815#true} is VALID [2020-07-18 00:21:45,344 INFO L280 TraceCheckUtils]: 3: Hoare triple {4815#true} assume ~size > 0; {4815#true} is VALID [2020-07-18 00:21:45,344 INFO L280 TraceCheckUtils]: 4: Hoare triple {4815#true} #t~post28.base, #t~post28.offset := ~guard_malloc_counter~0.base, ~guard_malloc_counter~0.offset; {4815#true} is VALID [2020-07-18 00:21:45,344 INFO L280 TraceCheckUtils]: 5: Hoare triple {4815#true} ~guard_malloc_counter~0.base, ~guard_malloc_counter~0.offset := #t~post28.base, 1 + #t~post28.offset; {4815#true} is VALID [2020-07-18 00:21:45,345 INFO L280 TraceCheckUtils]: 6: Hoare triple {4815#true} havoc #t~post28.base, #t~post28.offset; {4815#true} is VALID [2020-07-18 00:21:45,345 INFO L280 TraceCheckUtils]: 7: Hoare triple {4815#true} assume -2147483648 <= #t~nondet29 && #t~nondet29 <= 2147483647; {4815#true} is VALID [2020-07-18 00:21:45,345 INFO L280 TraceCheckUtils]: 8: Hoare triple {4815#true} assume !(0 == #t~nondet29); {4815#true} is VALID [2020-07-18 00:21:45,345 INFO L280 TraceCheckUtils]: 9: Hoare triple {4815#true} havoc #t~nondet29; {4815#true} is VALID [2020-07-18 00:21:45,345 INFO L280 TraceCheckUtils]: 10: Hoare triple {4815#true} #res.base, #res.offset := ~guard_malloc_counter~0.base, ~guard_malloc_counter~0.offset; {4815#true} is VALID [2020-07-18 00:21:45,346 INFO L280 TraceCheckUtils]: 11: Hoare triple {4815#true} assume true; {4815#true} is VALID [2020-07-18 00:21:45,346 INFO L275 TraceCheckUtils]: 12: Hoare quadruple {4815#true} {4815#true} #92#return; {4815#true} is VALID [2020-07-18 00:21:45,346 INFO L280 TraceCheckUtils]: 13: Hoare triple {4815#true} #res.base, #res.offset := #t~ret30.base, #t~ret30.offset; {4815#true} is VALID [2020-07-18 00:21:45,346 INFO L280 TraceCheckUtils]: 14: Hoare triple {4815#true} havoc #t~ret30.base, #t~ret30.offset; {4815#true} is VALID [2020-07-18 00:21:45,346 INFO L280 TraceCheckUtils]: 15: Hoare triple {4815#true} assume true; {4815#true} is VALID [2020-07-18 00:21:45,346 INFO L275 TraceCheckUtils]: 16: Hoare quadruple {4815#true} {4815#true} #96#return; {4815#true} is VALID [2020-07-18 00:21:45,359 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2020-07-18 00:21:45,391 INFO L280 TraceCheckUtils]: 0: Hoare triple {4907#(and (= ~elem~0.base |old(~elem~0.base)|) (= ~elem~0.offset |old(~elem~0.offset)|))} ~new.base, ~new.offset := #in~new.base, #in~new.offset; {4908#(and (= list_add_~new.base |list_add_#in~new.base|) (= |list_add_#in~new.offset| list_add_~new.offset))} is VALID [2020-07-18 00:21:45,392 INFO L280 TraceCheckUtils]: 1: Hoare triple {4908#(and (= list_add_~new.base |list_add_#in~new.base|) (= |list_add_#in~new.offset| list_add_~new.offset))} ~head.base, ~head.offset := #in~head.base, #in~head.offset; {4908#(and (= list_add_~new.base |list_add_#in~new.base|) (= |list_add_#in~new.offset| list_add_~new.offset))} is VALID [2020-07-18 00:21:45,393 INFO L280 TraceCheckUtils]: 2: Hoare triple {4908#(and (= list_add_~new.base |list_add_#in~new.base|) (= |list_add_#in~new.offset| list_add_~new.offset))} assume ~new.base != ~elem~0.base || ~new.offset != ~elem~0.offset; {4908#(and (= list_add_~new.base |list_add_#in~new.base|) (= |list_add_#in~new.offset| list_add_~new.offset))} is VALID [2020-07-18 00:21:45,394 INFO L280 TraceCheckUtils]: 3: Hoare triple {4908#(and (= list_add_~new.base |list_add_#in~new.base|) (= |list_add_#in~new.offset| list_add_~new.offset))} assume -2147483648 <= #t~nondet31 && #t~nondet31 <= 2147483647; {4908#(and (= list_add_~new.base |list_add_#in~new.base|) (= |list_add_#in~new.offset| list_add_~new.offset))} is VALID [2020-07-18 00:21:45,395 INFO L280 TraceCheckUtils]: 4: Hoare triple {4908#(and (= list_add_~new.base |list_add_#in~new.base|) (= |list_add_#in~new.offset| list_add_~new.offset))} assume 0 != #t~nondet31; {4908#(and (= list_add_~new.base |list_add_#in~new.base|) (= |list_add_#in~new.offset| list_add_~new.offset))} is VALID [2020-07-18 00:21:45,395 INFO L280 TraceCheckUtils]: 5: Hoare triple {4908#(and (= list_add_~new.base |list_add_#in~new.base|) (= |list_add_#in~new.offset| list_add_~new.offset))} havoc #t~nondet31; {4908#(and (= list_add_~new.base |list_add_#in~new.base|) (= |list_add_#in~new.offset| list_add_~new.offset))} is VALID [2020-07-18 00:21:45,396 INFO L280 TraceCheckUtils]: 6: Hoare triple {4908#(and (= list_add_~new.base |list_add_#in~new.base|) (= |list_add_#in~new.offset| list_add_~new.offset))} ~elem~0.base, ~elem~0.offset := ~new.base, ~new.offset; {4909#(and (= ~elem~0.base |list_add_#in~new.base|) (= ~elem~0.offset |list_add_#in~new.offset|))} is VALID [2020-07-18 00:21:45,397 INFO L280 TraceCheckUtils]: 7: Hoare triple {4909#(and (= ~elem~0.base |list_add_#in~new.base|) (= ~elem~0.offset |list_add_#in~new.offset|))} assume true; {4909#(and (= ~elem~0.base |list_add_#in~new.base|) (= ~elem~0.offset |list_add_#in~new.offset|))} is VALID [2020-07-18 00:21:45,398 INFO L275 TraceCheckUtils]: 8: Hoare quadruple {4909#(and (= ~elem~0.base |list_add_#in~new.base|) (= ~elem~0.offset |list_add_#in~new.offset|))} {4815#true} #98#return; {4870#(and (= main_~dev2~0.base ~elem~0.base) (= main_~dev2~0.offset ~elem~0.offset))} is VALID [2020-07-18 00:21:45,400 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2020-07-18 00:21:45,413 INFO L280 TraceCheckUtils]: 0: Hoare triple {4907#(and (= ~elem~0.base |old(~elem~0.base)|) (= ~elem~0.offset |old(~elem~0.offset)|))} ~new.base, ~new.offset := #in~new.base, #in~new.offset; {4907#(and (= ~elem~0.base |old(~elem~0.base)|) (= ~elem~0.offset |old(~elem~0.offset)|))} is VALID [2020-07-18 00:21:45,414 INFO L280 TraceCheckUtils]: 1: Hoare triple {4907#(and (= ~elem~0.base |old(~elem~0.base)|) (= ~elem~0.offset |old(~elem~0.offset)|))} ~head.base, ~head.offset := #in~head.base, #in~head.offset; {4907#(and (= ~elem~0.base |old(~elem~0.base)|) (= ~elem~0.offset |old(~elem~0.offset)|))} is VALID [2020-07-18 00:21:45,414 INFO L280 TraceCheckUtils]: 2: Hoare triple {4907#(and (= ~elem~0.base |old(~elem~0.base)|) (= ~elem~0.offset |old(~elem~0.offset)|))} assume ~new.base != ~elem~0.base || ~new.offset != ~elem~0.offset; {4907#(and (= ~elem~0.base |old(~elem~0.base)|) (= ~elem~0.offset |old(~elem~0.offset)|))} is VALID [2020-07-18 00:21:45,415 INFO L280 TraceCheckUtils]: 3: Hoare triple {4907#(and (= ~elem~0.base |old(~elem~0.base)|) (= ~elem~0.offset |old(~elem~0.offset)|))} assume -2147483648 <= #t~nondet31 && #t~nondet31 <= 2147483647; {4907#(and (= ~elem~0.base |old(~elem~0.base)|) (= ~elem~0.offset |old(~elem~0.offset)|))} is VALID [2020-07-18 00:21:45,416 INFO L280 TraceCheckUtils]: 4: Hoare triple {4907#(and (= ~elem~0.base |old(~elem~0.base)|) (= ~elem~0.offset |old(~elem~0.offset)|))} assume !(0 != #t~nondet31); {4907#(and (= ~elem~0.base |old(~elem~0.base)|) (= ~elem~0.offset |old(~elem~0.offset)|))} is VALID [2020-07-18 00:21:45,416 INFO L280 TraceCheckUtils]: 5: Hoare triple {4907#(and (= ~elem~0.base |old(~elem~0.base)|) (= ~elem~0.offset |old(~elem~0.offset)|))} havoc #t~nondet31; {4907#(and (= ~elem~0.base |old(~elem~0.base)|) (= ~elem~0.offset |old(~elem~0.offset)|))} is VALID [2020-07-18 00:21:45,417 INFO L280 TraceCheckUtils]: 6: Hoare triple {4907#(and (= ~elem~0.base |old(~elem~0.base)|) (= ~elem~0.offset |old(~elem~0.offset)|))} assume true; {4907#(and (= ~elem~0.base |old(~elem~0.base)|) (= ~elem~0.offset |old(~elem~0.offset)|))} is VALID [2020-07-18 00:21:45,418 INFO L275 TraceCheckUtils]: 7: Hoare quadruple {4907#(and (= ~elem~0.base |old(~elem~0.base)|) (= ~elem~0.offset |old(~elem~0.offset)|))} {4870#(and (= main_~dev2~0.base ~elem~0.base) (= main_~dev2~0.offset ~elem~0.offset))} #100#return; {4870#(and (= main_~dev2~0.base ~elem~0.base) (= main_~dev2~0.offset ~elem~0.offset))} is VALID [2020-07-18 00:21:45,420 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2020-07-18 00:21:45,468 INFO L280 TraceCheckUtils]: 0: Hoare triple {4907#(and (= ~elem~0.base |old(~elem~0.base)|) (= ~elem~0.offset |old(~elem~0.offset)|))} ~entry.base, ~entry.offset := #in~entry.base, #in~entry.offset; {4910#(and (= list_del_~entry.base |list_del_#in~entry.base|) (= |old(~elem~0.offset)| ~elem~0.offset) (= |list_del_#in~entry.offset| list_del_~entry.offset) (= |old(~elem~0.base)| ~elem~0.base))} is VALID [2020-07-18 00:21:45,468 INFO L280 TraceCheckUtils]: 1: Hoare triple {4910#(and (= list_del_~entry.base |list_del_#in~entry.base|) (= |old(~elem~0.offset)| ~elem~0.offset) (= |list_del_#in~entry.offset| list_del_~entry.offset) (= |old(~elem~0.base)| ~elem~0.base))} assume !(~entry.base == ~elem~0.base && ~entry.offset == ~elem~0.offset); {4911#(or (not (= |old(~elem~0.base)| |list_del_#in~entry.base|)) (not (= |old(~elem~0.offset)| |list_del_#in~entry.offset|)))} is VALID [2020-07-18 00:21:45,469 INFO L280 TraceCheckUtils]: 2: Hoare triple {4911#(or (not (= |old(~elem~0.base)| |list_del_#in~entry.base|)) (not (= |old(~elem~0.offset)| |list_del_#in~entry.offset|)))} assume true; {4911#(or (not (= |old(~elem~0.base)| |list_del_#in~entry.base|)) (not (= |old(~elem~0.offset)| |list_del_#in~entry.offset|)))} is VALID [2020-07-18 00:21:45,470 INFO L275 TraceCheckUtils]: 3: Hoare quadruple {4911#(or (not (= |old(~elem~0.base)| |list_del_#in~entry.base|)) (not (= |old(~elem~0.offset)| |list_del_#in~entry.offset|)))} {4870#(and (= main_~dev2~0.base ~elem~0.base) (= main_~dev2~0.offset ~elem~0.offset))} #102#return; {4816#false} is VALID [2020-07-18 00:21:45,471 INFO L263 TraceCheckUtils]: 0: Hoare triple {4815#true} call ULTIMATE.init(); {4883#(and (= |#valid| |old(#valid)|) (= ~elem~0.base |old(~elem~0.base)|) (= |#NULL.base| |old(#NULL.base)|) (= |~#head~0.base| |old(~#head~0.base)|) (= ~guard_malloc_counter~0.offset |old(~guard_malloc_counter~0.offset)|) (= |#NULL.offset| |old(#NULL.offset)|) (= ~elem~0.offset |old(~elem~0.offset)|) (= |old(#length)| |#length|) (= |~#head~0.offset| |old(~#head~0.offset)|) (= ~guard_malloc_counter~0.base |old(~guard_malloc_counter~0.base)|))} is VALID [2020-07-18 00:21:45,471 INFO L280 TraceCheckUtils]: 1: Hoare triple {4883#(and (= |#valid| |old(#valid)|) (= ~elem~0.base |old(~elem~0.base)|) (= |#NULL.base| |old(#NULL.base)|) (= |~#head~0.base| |old(~#head~0.base)|) (= ~guard_malloc_counter~0.offset |old(~guard_malloc_counter~0.offset)|) (= |#NULL.offset| |old(#NULL.offset)|) (= ~elem~0.offset |old(~elem~0.offset)|) (= |old(#length)| |#length|) (= |~#head~0.offset| |old(~#head~0.offset)|) (= ~guard_malloc_counter~0.base |old(~guard_malloc_counter~0.base)|))} #NULL.base, #NULL.offset := 0, 0; {4815#true} is VALID [2020-07-18 00:21:45,471 INFO L280 TraceCheckUtils]: 2: Hoare triple {4815#true} #valid := #valid[0 := 0]; {4815#true} is VALID [2020-07-18 00:21:45,471 INFO L280 TraceCheckUtils]: 3: Hoare triple {4815#true} assume 0 < #StackHeapBarrier; {4815#true} is VALID [2020-07-18 00:21:45,471 INFO L280 TraceCheckUtils]: 4: Hoare triple {4815#true} ~guard_malloc_counter~0.base, ~guard_malloc_counter~0.offset := 0, 0; {4815#true} is VALID [2020-07-18 00:21:45,471 INFO L280 TraceCheckUtils]: 5: Hoare triple {4815#true} ~elem~0.base, ~elem~0.offset := 0, 0; {4815#true} is VALID [2020-07-18 00:21:45,472 INFO L280 TraceCheckUtils]: 6: Hoare triple {4815#true} SUMMARY for call ~#head~0.base, ~#head~0.offset := #Ultimate.allocOnStack(8); srcloc: L900 {4815#true} is VALID [2020-07-18 00:21:45,472 INFO L280 TraceCheckUtils]: 7: Hoare triple {4815#true} SUMMARY for call write~init~$Pointer$(0, 0, ~#head~0.base, ~#head~0.offset, 4); srcloc: L900-1 {4815#true} is VALID [2020-07-18 00:21:45,472 INFO L280 TraceCheckUtils]: 8: Hoare triple {4815#true} SUMMARY for call write~init~$Pointer$(0, 0, ~#head~0.base, 4 + ~#head~0.offset, 4); srcloc: L900-2 {4815#true} is VALID [2020-07-18 00:21:45,472 INFO L280 TraceCheckUtils]: 9: Hoare triple {4815#true} assume true; {4815#true} is VALID [2020-07-18 00:21:45,472 INFO L275 TraceCheckUtils]: 10: Hoare quadruple {4815#true} {4815#true} #112#return; {4815#true} is VALID [2020-07-18 00:21:45,473 INFO L263 TraceCheckUtils]: 11: Hoare triple {4815#true} call #t~ret34 := main(); {4815#true} is VALID [2020-07-18 00:21:45,473 INFO L280 TraceCheckUtils]: 12: Hoare triple {4815#true} havoc ~dev1~0.base, ~dev1~0.offset; {4815#true} is VALID [2020-07-18 00:21:45,473 INFO L280 TraceCheckUtils]: 13: Hoare triple {4815#true} havoc ~dev2~0.base, ~dev2~0.offset; {4815#true} is VALID [2020-07-18 00:21:45,474 INFO L263 TraceCheckUtils]: 14: Hoare triple {4815#true} call #t~ret32.base, #t~ret32.offset := my_malloc(8); {4884#(and (= ~guard_malloc_counter~0.offset |old(~guard_malloc_counter~0.offset)|) (= ~guard_malloc_counter~0.base |old(~guard_malloc_counter~0.base)|))} is VALID [2020-07-18 00:21:45,474 INFO L280 TraceCheckUtils]: 15: Hoare triple {4884#(and (= ~guard_malloc_counter~0.offset |old(~guard_malloc_counter~0.offset)|) (= ~guard_malloc_counter~0.base |old(~guard_malloc_counter~0.base)|))} ~size := #in~size; {4815#true} is VALID [2020-07-18 00:21:45,475 INFO L263 TraceCheckUtils]: 16: Hoare triple {4815#true} call #t~ret30.base, #t~ret30.offset := __getMemory(~size); {4884#(and (= ~guard_malloc_counter~0.offset |old(~guard_malloc_counter~0.offset)|) (= ~guard_malloc_counter~0.base |old(~guard_malloc_counter~0.base)|))} is VALID [2020-07-18 00:21:45,475 INFO L280 TraceCheckUtils]: 17: Hoare triple {4884#(and (= ~guard_malloc_counter~0.offset |old(~guard_malloc_counter~0.offset)|) (= ~guard_malloc_counter~0.base |old(~guard_malloc_counter~0.base)|))} ~size := #in~size; {4815#true} is VALID [2020-07-18 00:21:45,475 INFO L280 TraceCheckUtils]: 18: Hoare triple {4815#true} assume ~size > 0; {4815#true} is VALID [2020-07-18 00:21:45,475 INFO L280 TraceCheckUtils]: 19: Hoare triple {4815#true} #t~post28.base, #t~post28.offset := ~guard_malloc_counter~0.base, ~guard_malloc_counter~0.offset; {4815#true} is VALID [2020-07-18 00:21:45,475 INFO L280 TraceCheckUtils]: 20: Hoare triple {4815#true} ~guard_malloc_counter~0.base, ~guard_malloc_counter~0.offset := #t~post28.base, 1 + #t~post28.offset; {4815#true} is VALID [2020-07-18 00:21:45,475 INFO L280 TraceCheckUtils]: 21: Hoare triple {4815#true} havoc #t~post28.base, #t~post28.offset; {4815#true} is VALID [2020-07-18 00:21:45,476 INFO L280 TraceCheckUtils]: 22: Hoare triple {4815#true} assume -2147483648 <= #t~nondet29 && #t~nondet29 <= 2147483647; {4815#true} is VALID [2020-07-18 00:21:45,476 INFO L280 TraceCheckUtils]: 23: Hoare triple {4815#true} assume !(0 == #t~nondet29); {4815#true} is VALID [2020-07-18 00:21:45,476 INFO L280 TraceCheckUtils]: 24: Hoare triple {4815#true} havoc #t~nondet29; {4815#true} is VALID [2020-07-18 00:21:45,476 INFO L280 TraceCheckUtils]: 25: Hoare triple {4815#true} #res.base, #res.offset := ~guard_malloc_counter~0.base, ~guard_malloc_counter~0.offset; {4815#true} is VALID [2020-07-18 00:21:45,476 INFO L280 TraceCheckUtils]: 26: Hoare triple {4815#true} assume true; {4815#true} is VALID [2020-07-18 00:21:45,476 INFO L275 TraceCheckUtils]: 27: Hoare quadruple {4815#true} {4815#true} #92#return; {4815#true} is VALID [2020-07-18 00:21:45,476 INFO L280 TraceCheckUtils]: 28: Hoare triple {4815#true} #res.base, #res.offset := #t~ret30.base, #t~ret30.offset; {4815#true} is VALID [2020-07-18 00:21:45,477 INFO L280 TraceCheckUtils]: 29: Hoare triple {4815#true} havoc #t~ret30.base, #t~ret30.offset; {4815#true} is VALID [2020-07-18 00:21:45,477 INFO L280 TraceCheckUtils]: 30: Hoare triple {4815#true} assume true; {4815#true} is VALID [2020-07-18 00:21:45,477 INFO L275 TraceCheckUtils]: 31: Hoare quadruple {4815#true} {4815#true} #94#return; {4815#true} is VALID [2020-07-18 00:21:45,477 INFO L280 TraceCheckUtils]: 32: Hoare triple {4815#true} ~dev1~0.base, ~dev1~0.offset := #t~ret32.base, #t~ret32.offset; {4815#true} is VALID [2020-07-18 00:21:45,477 INFO L280 TraceCheckUtils]: 33: Hoare triple {4815#true} havoc #t~ret32.base, #t~ret32.offset; {4815#true} is VALID [2020-07-18 00:21:45,478 INFO L263 TraceCheckUtils]: 34: Hoare triple {4815#true} call #t~ret33.base, #t~ret33.offset := my_malloc(8); {4884#(and (= ~guard_malloc_counter~0.offset |old(~guard_malloc_counter~0.offset)|) (= ~guard_malloc_counter~0.base |old(~guard_malloc_counter~0.base)|))} is VALID [2020-07-18 00:21:45,478 INFO L280 TraceCheckUtils]: 35: Hoare triple {4884#(and (= ~guard_malloc_counter~0.offset |old(~guard_malloc_counter~0.offset)|) (= ~guard_malloc_counter~0.base |old(~guard_malloc_counter~0.base)|))} ~size := #in~size; {4815#true} is VALID [2020-07-18 00:21:45,478 INFO L263 TraceCheckUtils]: 36: Hoare triple {4815#true} call #t~ret30.base, #t~ret30.offset := __getMemory(~size); {4884#(and (= ~guard_malloc_counter~0.offset |old(~guard_malloc_counter~0.offset)|) (= ~guard_malloc_counter~0.base |old(~guard_malloc_counter~0.base)|))} is VALID [2020-07-18 00:21:45,479 INFO L280 TraceCheckUtils]: 37: Hoare triple {4884#(and (= ~guard_malloc_counter~0.offset |old(~guard_malloc_counter~0.offset)|) (= ~guard_malloc_counter~0.base |old(~guard_malloc_counter~0.base)|))} ~size := #in~size; {4815#true} is VALID [2020-07-18 00:21:45,479 INFO L280 TraceCheckUtils]: 38: Hoare triple {4815#true} assume ~size > 0; {4815#true} is VALID [2020-07-18 00:21:45,479 INFO L280 TraceCheckUtils]: 39: Hoare triple {4815#true} #t~post28.base, #t~post28.offset := ~guard_malloc_counter~0.base, ~guard_malloc_counter~0.offset; {4815#true} is VALID [2020-07-18 00:21:45,479 INFO L280 TraceCheckUtils]: 40: Hoare triple {4815#true} ~guard_malloc_counter~0.base, ~guard_malloc_counter~0.offset := #t~post28.base, 1 + #t~post28.offset; {4815#true} is VALID [2020-07-18 00:21:45,479 INFO L280 TraceCheckUtils]: 41: Hoare triple {4815#true} havoc #t~post28.base, #t~post28.offset; {4815#true} is VALID [2020-07-18 00:21:45,480 INFO L280 TraceCheckUtils]: 42: Hoare triple {4815#true} assume -2147483648 <= #t~nondet29 && #t~nondet29 <= 2147483647; {4815#true} is VALID [2020-07-18 00:21:45,480 INFO L280 TraceCheckUtils]: 43: Hoare triple {4815#true} assume !(0 == #t~nondet29); {4815#true} is VALID [2020-07-18 00:21:45,480 INFO L280 TraceCheckUtils]: 44: Hoare triple {4815#true} havoc #t~nondet29; {4815#true} is VALID [2020-07-18 00:21:45,481 INFO L280 TraceCheckUtils]: 45: Hoare triple {4815#true} #res.base, #res.offset := ~guard_malloc_counter~0.base, ~guard_malloc_counter~0.offset; {4815#true} is VALID [2020-07-18 00:21:45,481 INFO L280 TraceCheckUtils]: 46: Hoare triple {4815#true} assume true; {4815#true} is VALID [2020-07-18 00:21:45,481 INFO L275 TraceCheckUtils]: 47: Hoare quadruple {4815#true} {4815#true} #92#return; {4815#true} is VALID [2020-07-18 00:21:45,482 INFO L280 TraceCheckUtils]: 48: Hoare triple {4815#true} #res.base, #res.offset := #t~ret30.base, #t~ret30.offset; {4815#true} is VALID [2020-07-18 00:21:45,482 INFO L280 TraceCheckUtils]: 49: Hoare triple {4815#true} havoc #t~ret30.base, #t~ret30.offset; {4815#true} is VALID [2020-07-18 00:21:45,482 INFO L280 TraceCheckUtils]: 50: Hoare triple {4815#true} assume true; {4815#true} is VALID [2020-07-18 00:21:45,482 INFO L275 TraceCheckUtils]: 51: Hoare quadruple {4815#true} {4815#true} #96#return; {4815#true} is VALID [2020-07-18 00:21:45,482 INFO L280 TraceCheckUtils]: 52: Hoare triple {4815#true} ~dev2~0.base, ~dev2~0.offset := #t~ret33.base, #t~ret33.offset; {4815#true} is VALID [2020-07-18 00:21:45,483 INFO L280 TraceCheckUtils]: 53: Hoare triple {4815#true} havoc #t~ret33.base, #t~ret33.offset; {4815#true} is VALID [2020-07-18 00:21:45,483 INFO L280 TraceCheckUtils]: 54: Hoare triple {4815#true} assume (~dev1~0.base != 0 || ~dev1~0.offset != 0) && (~dev2~0.base != 0 || ~dev2~0.offset != 0); {4815#true} is VALID [2020-07-18 00:21:45,485 INFO L263 TraceCheckUtils]: 55: Hoare triple {4815#true} call list_add(~dev2~0.base, ~dev2~0.offset, ~#head~0.base, ~#head~0.offset); {4907#(and (= ~elem~0.base |old(~elem~0.base)|) (= ~elem~0.offset |old(~elem~0.offset)|))} is VALID [2020-07-18 00:21:45,491 INFO L280 TraceCheckUtils]: 56: Hoare triple {4907#(and (= ~elem~0.base |old(~elem~0.base)|) (= ~elem~0.offset |old(~elem~0.offset)|))} ~new.base, ~new.offset := #in~new.base, #in~new.offset; {4908#(and (= list_add_~new.base |list_add_#in~new.base|) (= |list_add_#in~new.offset| list_add_~new.offset))} is VALID [2020-07-18 00:21:45,493 INFO L280 TraceCheckUtils]: 57: Hoare triple {4908#(and (= list_add_~new.base |list_add_#in~new.base|) (= |list_add_#in~new.offset| list_add_~new.offset))} ~head.base, ~head.offset := #in~head.base, #in~head.offset; {4908#(and (= list_add_~new.base |list_add_#in~new.base|) (= |list_add_#in~new.offset| list_add_~new.offset))} is VALID [2020-07-18 00:21:45,493 INFO L280 TraceCheckUtils]: 58: Hoare triple {4908#(and (= list_add_~new.base |list_add_#in~new.base|) (= |list_add_#in~new.offset| list_add_~new.offset))} assume ~new.base != ~elem~0.base || ~new.offset != ~elem~0.offset; {4908#(and (= list_add_~new.base |list_add_#in~new.base|) (= |list_add_#in~new.offset| list_add_~new.offset))} is VALID [2020-07-18 00:21:45,494 INFO L280 TraceCheckUtils]: 59: Hoare triple {4908#(and (= list_add_~new.base |list_add_#in~new.base|) (= |list_add_#in~new.offset| list_add_~new.offset))} assume -2147483648 <= #t~nondet31 && #t~nondet31 <= 2147483647; {4908#(and (= list_add_~new.base |list_add_#in~new.base|) (= |list_add_#in~new.offset| list_add_~new.offset))} is VALID [2020-07-18 00:21:45,495 INFO L280 TraceCheckUtils]: 60: Hoare triple {4908#(and (= list_add_~new.base |list_add_#in~new.base|) (= |list_add_#in~new.offset| list_add_~new.offset))} assume 0 != #t~nondet31; {4908#(and (= list_add_~new.base |list_add_#in~new.base|) (= |list_add_#in~new.offset| list_add_~new.offset))} is VALID [2020-07-18 00:21:45,496 INFO L280 TraceCheckUtils]: 61: Hoare triple {4908#(and (= list_add_~new.base |list_add_#in~new.base|) (= |list_add_#in~new.offset| list_add_~new.offset))} havoc #t~nondet31; {4908#(and (= list_add_~new.base |list_add_#in~new.base|) (= |list_add_#in~new.offset| list_add_~new.offset))} is VALID [2020-07-18 00:21:45,496 INFO L280 TraceCheckUtils]: 62: Hoare triple {4908#(and (= list_add_~new.base |list_add_#in~new.base|) (= |list_add_#in~new.offset| list_add_~new.offset))} ~elem~0.base, ~elem~0.offset := ~new.base, ~new.offset; {4909#(and (= ~elem~0.base |list_add_#in~new.base|) (= ~elem~0.offset |list_add_#in~new.offset|))} is VALID [2020-07-18 00:21:45,497 INFO L280 TraceCheckUtils]: 63: Hoare triple {4909#(and (= ~elem~0.base |list_add_#in~new.base|) (= ~elem~0.offset |list_add_#in~new.offset|))} assume true; {4909#(and (= ~elem~0.base |list_add_#in~new.base|) (= ~elem~0.offset |list_add_#in~new.offset|))} is VALID [2020-07-18 00:21:45,499 INFO L275 TraceCheckUtils]: 64: Hoare quadruple {4909#(and (= ~elem~0.base |list_add_#in~new.base|) (= ~elem~0.offset |list_add_#in~new.offset|))} {4815#true} #98#return; {4870#(and (= main_~dev2~0.base ~elem~0.base) (= main_~dev2~0.offset ~elem~0.offset))} is VALID [2020-07-18 00:21:45,500 INFO L263 TraceCheckUtils]: 65: Hoare triple {4870#(and (= main_~dev2~0.base ~elem~0.base) (= main_~dev2~0.offset ~elem~0.offset))} call list_add(~dev1~0.base, ~dev1~0.offset, ~#head~0.base, ~#head~0.offset); {4907#(and (= ~elem~0.base |old(~elem~0.base)|) (= ~elem~0.offset |old(~elem~0.offset)|))} is VALID [2020-07-18 00:21:45,501 INFO L280 TraceCheckUtils]: 66: Hoare triple {4907#(and (= ~elem~0.base |old(~elem~0.base)|) (= ~elem~0.offset |old(~elem~0.offset)|))} ~new.base, ~new.offset := #in~new.base, #in~new.offset; {4907#(and (= ~elem~0.base |old(~elem~0.base)|) (= ~elem~0.offset |old(~elem~0.offset)|))} is VALID [2020-07-18 00:21:45,501 INFO L280 TraceCheckUtils]: 67: Hoare triple {4907#(and (= ~elem~0.base |old(~elem~0.base)|) (= ~elem~0.offset |old(~elem~0.offset)|))} ~head.base, ~head.offset := #in~head.base, #in~head.offset; {4907#(and (= ~elem~0.base |old(~elem~0.base)|) (= ~elem~0.offset |old(~elem~0.offset)|))} is VALID [2020-07-18 00:21:45,502 INFO L280 TraceCheckUtils]: 68: Hoare triple {4907#(and (= ~elem~0.base |old(~elem~0.base)|) (= ~elem~0.offset |old(~elem~0.offset)|))} assume ~new.base != ~elem~0.base || ~new.offset != ~elem~0.offset; {4907#(and (= ~elem~0.base |old(~elem~0.base)|) (= ~elem~0.offset |old(~elem~0.offset)|))} is VALID [2020-07-18 00:21:45,503 INFO L280 TraceCheckUtils]: 69: Hoare triple {4907#(and (= ~elem~0.base |old(~elem~0.base)|) (= ~elem~0.offset |old(~elem~0.offset)|))} assume -2147483648 <= #t~nondet31 && #t~nondet31 <= 2147483647; {4907#(and (= ~elem~0.base |old(~elem~0.base)|) (= ~elem~0.offset |old(~elem~0.offset)|))} is VALID [2020-07-18 00:21:45,504 INFO L280 TraceCheckUtils]: 70: Hoare triple {4907#(and (= ~elem~0.base |old(~elem~0.base)|) (= ~elem~0.offset |old(~elem~0.offset)|))} assume !(0 != #t~nondet31); {4907#(and (= ~elem~0.base |old(~elem~0.base)|) (= ~elem~0.offset |old(~elem~0.offset)|))} is VALID [2020-07-18 00:21:45,504 INFO L280 TraceCheckUtils]: 71: Hoare triple {4907#(and (= ~elem~0.base |old(~elem~0.base)|) (= ~elem~0.offset |old(~elem~0.offset)|))} havoc #t~nondet31; {4907#(and (= ~elem~0.base |old(~elem~0.base)|) (= ~elem~0.offset |old(~elem~0.offset)|))} is VALID [2020-07-18 00:21:45,505 INFO L280 TraceCheckUtils]: 72: Hoare triple {4907#(and (= ~elem~0.base |old(~elem~0.base)|) (= ~elem~0.offset |old(~elem~0.offset)|))} assume true; {4907#(and (= ~elem~0.base |old(~elem~0.base)|) (= ~elem~0.offset |old(~elem~0.offset)|))} is VALID [2020-07-18 00:21:45,507 INFO L275 TraceCheckUtils]: 73: Hoare quadruple {4907#(and (= ~elem~0.base |old(~elem~0.base)|) (= ~elem~0.offset |old(~elem~0.offset)|))} {4870#(and (= main_~dev2~0.base ~elem~0.base) (= main_~dev2~0.offset ~elem~0.offset))} #100#return; {4870#(and (= main_~dev2~0.base ~elem~0.base) (= main_~dev2~0.offset ~elem~0.offset))} is VALID [2020-07-18 00:21:45,507 INFO L263 TraceCheckUtils]: 74: Hoare triple {4870#(and (= main_~dev2~0.base ~elem~0.base) (= main_~dev2~0.offset ~elem~0.offset))} call list_del(~dev2~0.base, ~dev2~0.offset); {4907#(and (= ~elem~0.base |old(~elem~0.base)|) (= ~elem~0.offset |old(~elem~0.offset)|))} is VALID [2020-07-18 00:21:45,508 INFO L280 TraceCheckUtils]: 75: Hoare triple {4907#(and (= ~elem~0.base |old(~elem~0.base)|) (= ~elem~0.offset |old(~elem~0.offset)|))} ~entry.base, ~entry.offset := #in~entry.base, #in~entry.offset; {4910#(and (= list_del_~entry.base |list_del_#in~entry.base|) (= |old(~elem~0.offset)| ~elem~0.offset) (= |list_del_#in~entry.offset| list_del_~entry.offset) (= |old(~elem~0.base)| ~elem~0.base))} is VALID [2020-07-18 00:21:45,509 INFO L280 TraceCheckUtils]: 76: Hoare triple {4910#(and (= list_del_~entry.base |list_del_#in~entry.base|) (= |old(~elem~0.offset)| ~elem~0.offset) (= |list_del_#in~entry.offset| list_del_~entry.offset) (= |old(~elem~0.base)| ~elem~0.base))} assume !(~entry.base == ~elem~0.base && ~entry.offset == ~elem~0.offset); {4911#(or (not (= |old(~elem~0.base)| |list_del_#in~entry.base|)) (not (= |old(~elem~0.offset)| |list_del_#in~entry.offset|)))} is VALID [2020-07-18 00:21:45,509 INFO L280 TraceCheckUtils]: 77: Hoare triple {4911#(or (not (= |old(~elem~0.base)| |list_del_#in~entry.base|)) (not (= |old(~elem~0.offset)| |list_del_#in~entry.offset|)))} assume true; {4911#(or (not (= |old(~elem~0.base)| |list_del_#in~entry.base|)) (not (= |old(~elem~0.offset)| |list_del_#in~entry.offset|)))} is VALID [2020-07-18 00:21:45,510 INFO L275 TraceCheckUtils]: 78: Hoare quadruple {4911#(or (not (= |old(~elem~0.base)| |list_del_#in~entry.base|)) (not (= |old(~elem~0.offset)| |list_del_#in~entry.offset|)))} {4870#(and (= main_~dev2~0.base ~elem~0.base) (= main_~dev2~0.offset ~elem~0.offset))} #102#return; {4816#false} is VALID [2020-07-18 00:21:45,511 INFO L263 TraceCheckUtils]: 79: Hoare triple {4816#false} call list_add(~dev2~0.base, ~dev2~0.offset, ~#head~0.base, ~#head~0.offset); {4816#false} is VALID [2020-07-18 00:21:45,511 INFO L280 TraceCheckUtils]: 80: Hoare triple {4816#false} ~new.base, ~new.offset := #in~new.base, #in~new.offset; {4816#false} is VALID [2020-07-18 00:21:45,511 INFO L280 TraceCheckUtils]: 81: Hoare triple {4816#false} ~head.base, ~head.offset := #in~head.base, #in~head.offset; {4816#false} is VALID [2020-07-18 00:21:45,511 INFO L280 TraceCheckUtils]: 82: Hoare triple {4816#false} assume !(~new.base != ~elem~0.base || ~new.offset != ~elem~0.offset); {4816#false} is VALID [2020-07-18 00:21:45,511 INFO L263 TraceCheckUtils]: 83: Hoare triple {4816#false} call __blast_assert(); {4816#false} is VALID [2020-07-18 00:21:45,512 INFO L280 TraceCheckUtils]: 84: Hoare triple {4816#false} assume !false; {4816#false} is VALID [2020-07-18 00:21:45,520 INFO L134 CoverageAnalysis]: Checked inductivity of 17 backedges. 0 proven. 0 refuted. 0 times theorem prover too weak. 17 trivial. 0 not checked. [2020-07-18 00:21:45,632 INFO L192 leratedInterpolation]: Finished Analysing Program using PRECISE loop Acceleration [2020-07-18 00:21:45,633 INFO L354 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModulePreferences [67718813] [2020-07-18 00:21:45,633 INFO L220 FreeRefinementEngine]: Constructing automaton from 1 perfect and 0 imperfect interpolant sequences. [2020-07-18 00:21:45,633 INFO L233 FreeRefinementEngine]: Number of different interpolants: perfect sequences [12] imperfect sequences [] total 12 [2020-07-18 00:21:45,633 INFO L156 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [1997500050] [2020-07-18 00:21:45,634 INFO L78 Accepts]: Start accepts. Automaton has 13 states. Word has length 85 [2020-07-18 00:21:45,634 INFO L84 Accepts]: Finished accepts. word is accepted. [2020-07-18 00:21:45,634 INFO L86 InductivityCheck]: Starting indutivity check of a Floyd-Hoare automaton with 13 states. [2020-07-18 00:21:45,702 WARN L140 InductivityCheck]: Transition 4911#(or (not (= |old(~elem~0.base)| |list_del_#in~entry.base|)) (not (= |old(~elem~0.offset)| |list_del_#in~entry.offset|))) ( _ , call list_add(~dev2~0.base, ~dev2~0.offset, ~#head~0.base, ~#head~0.offset); , 4911#(or (not (= |old(~elem~0.base)| |list_del_#in~entry.base|)) (not (= |old(~elem~0.offset)| |list_del_#in~entry.offset|))) ) not inductive [2020-07-18 00:21:45,702 WARN L516 AbstractCegarLoop]: Destroyed unattended storables created during the last iteration: SelfDestructingSolverStorable7 [2020-07-18 00:21:45,703 FATAL L? ?]: The Plugin de.uni_freiburg.informatik.ultimate.plugins.generator.traceabstraction has thrown an exception: java.lang.AssertionError: inductivity failed at de.uni_freiburg.informatik.ultimate.plugins.generator.traceabstraction.predicates.InductivityCheck.evaluateResult(InductivityCheck.java:142) at de.uni_freiburg.informatik.ultimate.plugins.generator.traceabstraction.predicates.InductivityCheck.checkInductivity(InductivityCheck.java:108) at de.uni_freiburg.informatik.ultimate.plugins.generator.traceabstraction.predicates.InductivityCheck.(InductivityCheck.java:75) at de.uni_freiburg.informatik.ultimate.plugins.generator.traceabstraction.BasicCegarLoop.constructInterpolantAutomaton(BasicCegarLoop.java:583) at de.uni_freiburg.informatik.ultimate.plugins.generator.traceabstraction.AbstractCegarLoop.iterateInternal(AbstractCegarLoop.java:455) at de.uni_freiburg.informatik.ultimate.plugins.generator.traceabstraction.AbstractCegarLoop.iterate(AbstractCegarLoop.java:370) at de.uni_freiburg.informatik.ultimate.plugins.generator.traceabstraction.CegarLoopResult.iterate(CegarLoopResult.java:142) at de.uni_freiburg.informatik.ultimate.plugins.generator.traceabstraction.TraceAbstractionStarter.iterateNew(TraceAbstractionStarter.java:334) at de.uni_freiburg.informatik.ultimate.plugins.generator.traceabstraction.TraceAbstractionStarter.runCegarLoops(TraceAbstractionStarter.java:175) at de.uni_freiburg.informatik.ultimate.plugins.generator.traceabstraction.TraceAbstractionStarter.(TraceAbstractionStarter.java:127) at de.uni_freiburg.informatik.ultimate.plugins.generator.traceabstraction.TraceAbstractionObserver.finish(TraceAbstractionObserver.java:120) at de.uni_freiburg.informatik.ultimate.core.coreplugin.PluginConnector.runObserver(PluginConnector.java:168) at de.uni_freiburg.informatik.ultimate.core.coreplugin.PluginConnector.runTool(PluginConnector.java:151) at de.uni_freiburg.informatik.ultimate.core.coreplugin.PluginConnector.run(PluginConnector.java:128) at de.uni_freiburg.informatik.ultimate.core.coreplugin.ToolchainWalker.executePluginConnector(ToolchainWalker.java:232) at de.uni_freiburg.informatik.ultimate.core.coreplugin.ToolchainWalker.processPlugin(ToolchainWalker.java:226) at de.uni_freiburg.informatik.ultimate.core.coreplugin.ToolchainWalker.walkUnprotected(ToolchainWalker.java:142) at de.uni_freiburg.informatik.ultimate.core.coreplugin.ToolchainWalker.walk(ToolchainWalker.java:104) at de.uni_freiburg.informatik.ultimate.core.coreplugin.ToolchainManager$Toolchain.processToolchain(ToolchainManager.java:317) at de.uni_freiburg.informatik.ultimate.core.coreplugin.toolchain.DefaultToolchainJob.run(DefaultToolchainJob.java:145) at org.eclipse.core.internal.jobs.Worker.run(Worker.java:55) [2020-07-18 00:21:45,709 INFO L168 Benchmark]: Toolchain (without parser) took 37879.65 ms. Allocated memory was 145.8 MB in the beginning and 482.9 MB in the end (delta: 337.1 MB). Free memory was 102.9 MB in the beginning and 128.9 MB in the end (delta: -26.0 MB). Peak memory consumption was 311.1 MB. Max. memory is 7.1 GB. [2020-07-18 00:21:45,710 INFO L168 Benchmark]: CDTParser took 0.22 ms. Allocated memory is still 145.8 MB. Free memory is still 122.0 MB. There was no memory consumed. Max. memory is 7.1 GB. [2020-07-18 00:21:45,710 INFO L168 Benchmark]: CACSL2BoogieTranslator took 723.69 ms. Allocated memory was 145.8 MB in the beginning and 205.0 MB in the end (delta: 59.2 MB). Free memory was 102.9 MB in the beginning and 169.4 MB in the end (delta: -66.5 MB). Peak memory consumption was 23.7 MB. Max. memory is 7.1 GB. [2020-07-18 00:21:45,711 INFO L168 Benchmark]: Boogie Preprocessor took 66.75 ms. Allocated memory is still 205.0 MB. Free memory was 169.4 MB in the beginning and 166.4 MB in the end (delta: 3.0 MB). Peak memory consumption was 3.0 MB. Max. memory is 7.1 GB. [2020-07-18 00:21:45,712 INFO L168 Benchmark]: RCFGBuilder took 785.75 ms. Allocated memory is still 205.0 MB. Free memory was 166.4 MB in the beginning and 107.3 MB in the end (delta: 59.1 MB). Peak memory consumption was 59.1 MB. Max. memory is 7.1 GB. [2020-07-18 00:21:45,712 INFO L168 Benchmark]: TraceAbstraction took 36296.23 ms. Allocated memory was 205.0 MB in the beginning and 482.9 MB in the end (delta: 277.9 MB). Free memory was 107.3 MB in the beginning and 128.9 MB in the end (delta: -21.7 MB). Peak memory consumption was 256.2 MB. Max. memory is 7.1 GB. [2020-07-18 00:21:45,715 INFO L336 ainManager$Toolchain]: ####################### End [Toolchain 1] ####################### --- Results --- * Results from de.uni_freiburg.informatik.ultimate.core: - AssertionsEnabledResult: Assertions are enabled Assertions are enabled - StatisticsResult: Toolchain Benchmarks Benchmark results are: * CDTParser took 0.22 ms. Allocated memory is still 145.8 MB. Free memory is still 122.0 MB. There was no memory consumed. Max. memory is 7.1 GB. * CACSL2BoogieTranslator took 723.69 ms. Allocated memory was 145.8 MB in the beginning and 205.0 MB in the end (delta: 59.2 MB). Free memory was 102.9 MB in the beginning and 169.4 MB in the end (delta: -66.5 MB). Peak memory consumption was 23.7 MB. Max. memory is 7.1 GB. * Boogie Preprocessor took 66.75 ms. Allocated memory is still 205.0 MB. Free memory was 169.4 MB in the beginning and 166.4 MB in the end (delta: 3.0 MB). Peak memory consumption was 3.0 MB. Max. memory is 7.1 GB. * RCFGBuilder took 785.75 ms. Allocated memory is still 205.0 MB. Free memory was 166.4 MB in the beginning and 107.3 MB in the end (delta: 59.1 MB). Peak memory consumption was 59.1 MB. Max. memory is 7.1 GB. * TraceAbstraction took 36296.23 ms. Allocated memory was 205.0 MB in the beginning and 482.9 MB in the end (delta: 277.9 MB). Free memory was 107.3 MB in the beginning and 128.9 MB in the end (delta: -21.7 MB). Peak memory consumption was 256.2 MB. Max. memory is 7.1 GB. * Results from de.uni_freiburg.informatik.ultimate.plugins.generator.traceabstraction: - ExceptionOrErrorResult: AssertionError: inductivity failed de.uni_freiburg.informatik.ultimate.plugins.generator.traceabstraction: AssertionError: inductivity failed: de.uni_freiburg.informatik.ultimate.plugins.generator.traceabstraction.predicates.InductivityCheck.evaluateResult(InductivityCheck.java:142) RESULT: Ultimate could not prove your program: Toolchain returned no result. Received shutdown request...