/usr/bin/java -ea -Xmx8000000000 -Xss4m -jar ./plugins/org.eclipse.equinox.launcher_1.3.100.v20150511-1540.jar -data @noDefault -ultimatedata ./data -tc ../../../trunk/examples/toolchains/AutomizerC.xml --traceabstraction.compute.interpolants.along.a.counterexample Craig_NestedInterpolation --traceabstraction.use.separate.solver.for.trace.checks true -s ../../../trunk/examples/settings/automizer/acceleratedInterpolation/acceleratedInterpolationFastUPR_32.epf -i ../../../trunk/examples/svcomp/ldv-regression/rule60_list2.c_1.i -------------------------------------------------------------------------------- This is Ultimate 0.1.25-267fbe0 [2020-07-18 05:12:11,828 INFO L177 SettingsManager]: Resetting all preferences to default values... [2020-07-18 05:12:11,831 INFO L181 SettingsManager]: Resetting UltimateCore preferences to default values [2020-07-18 05:12:11,843 INFO L184 SettingsManager]: Ultimate Commandline Interface provides no preferences, ignoring... [2020-07-18 05:12:11,843 INFO L181 SettingsManager]: Resetting Boogie Preprocessor preferences to default values [2020-07-18 05:12:11,844 INFO L181 SettingsManager]: Resetting Boogie Procedure Inliner preferences to default values [2020-07-18 05:12:11,846 INFO L181 SettingsManager]: Resetting Abstract Interpretation preferences to default values [2020-07-18 05:12:11,848 INFO L181 SettingsManager]: Resetting LassoRanker preferences to default values [2020-07-18 05:12:11,850 INFO L181 SettingsManager]: Resetting Reaching Definitions preferences to default values [2020-07-18 05:12:11,851 INFO L181 SettingsManager]: Resetting SyntaxChecker preferences to default values [2020-07-18 05:12:11,852 INFO L181 SettingsManager]: Resetting Sifa preferences to default values [2020-07-18 05:12:11,853 INFO L184 SettingsManager]: Büchi Program Product provides no preferences, ignoring... [2020-07-18 05:12:11,853 INFO L181 SettingsManager]: Resetting LTL2Aut preferences to default values [2020-07-18 05:12:11,854 INFO L181 SettingsManager]: Resetting PEA to Boogie preferences to default values [2020-07-18 05:12:11,856 INFO L181 SettingsManager]: Resetting BlockEncodingV2 preferences to default values [2020-07-18 05:12:11,857 INFO L181 SettingsManager]: Resetting ChcToBoogie preferences to default values [2020-07-18 05:12:11,858 INFO L181 SettingsManager]: Resetting AutomataScriptInterpreter preferences to default values [2020-07-18 05:12:11,859 INFO L181 SettingsManager]: Resetting BuchiAutomizer preferences to default values [2020-07-18 05:12:11,861 INFO L181 SettingsManager]: Resetting CACSL2BoogieTranslator preferences to default values [2020-07-18 05:12:11,863 INFO L181 SettingsManager]: Resetting CodeCheck preferences to default values [2020-07-18 05:12:11,865 INFO L181 SettingsManager]: Resetting InvariantSynthesis preferences to default values [2020-07-18 05:12:11,867 INFO L181 SettingsManager]: Resetting RCFGBuilder preferences to default values [2020-07-18 05:12:11,868 INFO L181 SettingsManager]: Resetting Referee preferences to default values [2020-07-18 05:12:11,869 INFO L181 SettingsManager]: Resetting TraceAbstraction preferences to default values [2020-07-18 05:12:11,872 INFO L184 SettingsManager]: TraceAbstractionConcurrent provides no preferences, ignoring... [2020-07-18 05:12:11,873 INFO L184 SettingsManager]: TraceAbstractionWithAFAs provides no preferences, ignoring... [2020-07-18 05:12:11,873 INFO L181 SettingsManager]: Resetting TreeAutomizer preferences to default values [2020-07-18 05:12:11,874 INFO L181 SettingsManager]: Resetting IcfgToChc preferences to default values [2020-07-18 05:12:11,875 INFO L181 SettingsManager]: Resetting IcfgTransformer preferences to default values [2020-07-18 05:12:11,876 INFO L184 SettingsManager]: ReqToTest provides no preferences, ignoring... [2020-07-18 05:12:11,876 INFO L181 SettingsManager]: Resetting Boogie Printer preferences to default values [2020-07-18 05:12:11,877 INFO L181 SettingsManager]: Resetting ChcSmtPrinter preferences to default values [2020-07-18 05:12:11,878 INFO L181 SettingsManager]: Resetting ReqPrinter preferences to default values [2020-07-18 05:12:11,879 INFO L181 SettingsManager]: Resetting Witness Printer preferences to default values [2020-07-18 05:12:11,880 INFO L184 SettingsManager]: Boogie PL CUP Parser provides no preferences, ignoring... [2020-07-18 05:12:11,881 INFO L181 SettingsManager]: Resetting CDTParser preferences to default values [2020-07-18 05:12:11,882 INFO L184 SettingsManager]: AutomataScriptParser provides no preferences, ignoring... [2020-07-18 05:12:11,882 INFO L184 SettingsManager]: ReqParser provides no preferences, ignoring... [2020-07-18 05:12:11,882 INFO L181 SettingsManager]: Resetting SmtParser preferences to default values [2020-07-18 05:12:11,883 INFO L181 SettingsManager]: Resetting Witness Parser preferences to default values [2020-07-18 05:12:11,884 INFO L188 SettingsManager]: Finished resetting all preferences to default values... [2020-07-18 05:12:11,885 INFO L101 SettingsManager]: Beginning loading settings from /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/../../../trunk/examples/settings/automizer/acceleratedInterpolation/acceleratedInterpolationFastUPR_32.epf [2020-07-18 05:12:11,895 INFO L113 SettingsManager]: Loading preferences was successful [2020-07-18 05:12:11,895 INFO L115 SettingsManager]: Preferences different from defaults after loading the file: [2020-07-18 05:12:11,897 INFO L136 SettingsManager]: Preferences of CACSL2BoogieTranslator differ from their defaults: [2020-07-18 05:12:11,897 INFO L138 SettingsManager]: * sizeof long=4 [2020-07-18 05:12:11,897 INFO L138 SettingsManager]: * Overapproximate operations on floating types=true [2020-07-18 05:12:11,898 INFO L138 SettingsManager]: * sizeof POINTER=4 [2020-07-18 05:12:11,898 INFO L138 SettingsManager]: * Check division by zero=IGNORE [2020-07-18 05:12:11,898 INFO L138 SettingsManager]: * Pointer to allocated memory at dereference=IGNORE [2020-07-18 05:12:11,898 INFO L138 SettingsManager]: * If two pointers are subtracted or compared they have the same base address=IGNORE [2020-07-18 05:12:11,898 INFO L138 SettingsManager]: * Check array bounds for arrays that are off heap=IGNORE [2020-07-18 05:12:11,899 INFO L138 SettingsManager]: * sizeof long double=12 [2020-07-18 05:12:11,899 INFO L138 SettingsManager]: * Check if freed pointer was valid=false [2020-07-18 05:12:11,899 INFO L138 SettingsManager]: * Use constant arrays=true [2020-07-18 05:12:11,899 INFO L138 SettingsManager]: * Pointer base address is valid at dereference=IGNORE [2020-07-18 05:12:11,899 INFO L136 SettingsManager]: Preferences of RCFGBuilder differ from their defaults: [2020-07-18 05:12:11,900 INFO L138 SettingsManager]: * Size of a code block=SingleStatement [2020-07-18 05:12:11,900 INFO L138 SettingsManager]: * To the following directory=./dump/ [2020-07-18 05:12:11,900 INFO L138 SettingsManager]: * SMT solver=External_DefaultMode [2020-07-18 05:12:11,900 INFO L138 SettingsManager]: * Command for external solver=z3 SMTLIB2_COMPLIANT=true -memory:2024 -smt2 -in -t:2000 [2020-07-18 05:12:11,901 INFO L136 SettingsManager]: Preferences of TraceAbstraction differ from their defaults: [2020-07-18 05:12:11,901 INFO L138 SettingsManager]: * Compute Interpolants along a Counterexample=AcceleratedInterpolation [2020-07-18 05:12:11,901 INFO L138 SettingsManager]: * Compute Hoare Annotation of negated interpolant automaton, abstraction and CFG=true [2020-07-18 05:12:11,901 INFO L138 SettingsManager]: * Use separate solver for trace checks=false Applying setting for plugin de.uni_freiburg.informatik.ultimate.plugins.generator.traceabstraction: Compute Interpolants along a Counterexample -> Craig_NestedInterpolation Applying setting for plugin de.uni_freiburg.informatik.ultimate.plugins.generator.traceabstraction: Use separate solver for trace checks -> true [2020-07-18 05:12:12,185 INFO L81 nceAwareModelManager]: Repository-Root is: /tmp [2020-07-18 05:12:12,198 INFO L258 ainManager$Toolchain]: [Toolchain 1]: Applicable parser(s) successfully (re)initialized [2020-07-18 05:12:12,202 INFO L214 ainManager$Toolchain]: [Toolchain 1]: Toolchain selected. [2020-07-18 05:12:12,204 INFO L271 PluginConnector]: Initializing CDTParser... [2020-07-18 05:12:12,204 INFO L275 PluginConnector]: CDTParser initialized [2020-07-18 05:12:12,205 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 05:12:12,266 INFO L220 CDTParser]: Created temporary CDT project at /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/data/c5bda7f36/fb31de528c3e46d3a292c249eecfec53/FLAG264f145d4 [2020-07-18 05:12:12,785 INFO L306 CDTParser]: Found 1 translation units. [2020-07-18 05:12:12,786 INFO L160 CDTParser]: Scanning /storage/repos/ultimate/trunk/examples/svcomp/ldv-regression/rule60_list2.c_1.i [2020-07-18 05:12:12,797 INFO L349 CDTParser]: About to delete temporary CDT project at /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/data/c5bda7f36/fb31de528c3e46d3a292c249eecfec53/FLAG264f145d4 [2020-07-18 05:12:13,124 INFO L357 CDTParser]: Successfully deleted /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/data/c5bda7f36/fb31de528c3e46d3a292c249eecfec53 [2020-07-18 05:12:13,132 INFO L296 ainManager$Toolchain]: ####################### [Toolchain 1] ####################### [2020-07-18 05:12:13,136 INFO L131 ToolchainWalker]: Walking toolchain with 4 elements. [2020-07-18 05:12:13,140 INFO L113 PluginConnector]: ------------------------CACSL2BoogieTranslator---------------------------- [2020-07-18 05:12:13,140 INFO L271 PluginConnector]: Initializing CACSL2BoogieTranslator... [2020-07-18 05:12:13,144 INFO L275 PluginConnector]: CACSL2BoogieTranslator initialized [2020-07-18 05:12:13,145 INFO L185 PluginConnector]: Executing the observer ACSLObjectContainerObserver from plugin CACSL2BoogieTranslator for "CDTParser AST 18.07 05:12:13" (1/1) ... [2020-07-18 05:12:13,149 INFO L205 PluginConnector]: Invalid model from CACSL2BoogieTranslator for observer de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator.ACSLObjectContainerObserver@2b1666ef and model type de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 18.07 05:12:13, skipping insertion in model container [2020-07-18 05:12:13,149 INFO L185 PluginConnector]: Executing the observer CACSL2BoogieTranslatorObserver from plugin CACSL2BoogieTranslator for "CDTParser AST 18.07 05:12:13" (1/1) ... [2020-07-18 05:12:13,158 INFO L145 MainTranslator]: Starting translation in SV-COMP mode [2020-07-18 05:12:13,214 INFO L178 MainTranslator]: Built tables and reachable declarations [2020-07-18 05:12:13,694 INFO L206 PostProcessor]: Analyzing one entry point: main [2020-07-18 05:12:13,702 INFO L203 MainTranslator]: Completed pre-run [2020-07-18 05:12:13,778 INFO L206 PostProcessor]: Analyzing one entry point: main [2020-07-18 05:12:13,851 INFO L208 MainTranslator]: Completed translation [2020-07-18 05:12:13,851 INFO L202 PluginConnector]: Adding new model de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 18.07 05:12:13 WrapperNode [2020-07-18 05:12:13,851 INFO L132 PluginConnector]: ------------------------ END CACSL2BoogieTranslator---------------------------- [2020-07-18 05:12:13,852 INFO L113 PluginConnector]: ------------------------Boogie Preprocessor---------------------------- [2020-07-18 05:12:13,852 INFO L271 PluginConnector]: Initializing Boogie Preprocessor... [2020-07-18 05:12:13,852 INFO L275 PluginConnector]: Boogie Preprocessor initialized [2020-07-18 05:12:13,866 INFO L185 PluginConnector]: Executing the observer EnsureBoogieModelObserver from plugin Boogie Preprocessor for "de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 18.07 05:12:13" (1/1) ... [2020-07-18 05:12:13,866 INFO L185 PluginConnector]: Executing the observer TypeChecker from plugin Boogie Preprocessor for "de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 18.07 05:12:13" (1/1) ... [2020-07-18 05:12:13,881 INFO L185 PluginConnector]: Executing the observer ConstExpander from plugin Boogie Preprocessor for "de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 18.07 05:12:13" (1/1) ... [2020-07-18 05:12:13,882 INFO L185 PluginConnector]: Executing the observer StructExpander from plugin Boogie Preprocessor for "de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 18.07 05:12:13" (1/1) ... [2020-07-18 05:12:13,926 INFO L185 PluginConnector]: Executing the observer UnstructureCode from plugin Boogie Preprocessor for "de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 18.07 05:12:13" (1/1) ... [2020-07-18 05:12:13,929 INFO L185 PluginConnector]: Executing the observer FunctionInliner from plugin Boogie Preprocessor for "de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 18.07 05:12:13" (1/1) ... [2020-07-18 05:12:13,936 INFO L185 PluginConnector]: Executing the observer BoogieSymbolTableConstructor from plugin Boogie Preprocessor for "de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 18.07 05:12:13" (1/1) ... [2020-07-18 05:12:13,949 INFO L132 PluginConnector]: ------------------------ END Boogie Preprocessor---------------------------- [2020-07-18 05:12:13,950 INFO L113 PluginConnector]: ------------------------RCFGBuilder---------------------------- [2020-07-18 05:12:13,950 INFO L271 PluginConnector]: Initializing RCFGBuilder... [2020-07-18 05:12:13,950 INFO L275 PluginConnector]: RCFGBuilder initialized [2020-07-18 05:12:13,951 INFO L185 PluginConnector]: Executing the observer RCFGBuilderObserver from plugin RCFGBuilder for "de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 18.07 05:12:13" (1/1) ... No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 Starting monitored process 1 with z3 SMTLIB2_COMPLIANT=true -memory:2024 -smt2 -in -t:2000 (exit command is (exit), workingDir is null) Waiting until toolchain timeout for monitored process 1 with z3 SMTLIB2_COMPLIANT=true -memory:2024 -smt2 -in -t:2000 [2020-07-18 05:12:14,009 INFO L138 BoogieDeclarations]: Found implementation of procedure ULTIMATE.init [2020-07-18 05:12:14,009 INFO L138 BoogieDeclarations]: Found implementation of procedure ULTIMATE.start [2020-07-18 05:12:14,009 INFO L138 BoogieDeclarations]: Found implementation of procedure __blast_assert [2020-07-18 05:12:14,009 INFO L138 BoogieDeclarations]: Found implementation of procedure __getMemory [2020-07-18 05:12:14,009 INFO L138 BoogieDeclarations]: Found implementation of procedure my_malloc [2020-07-18 05:12:14,009 INFO L138 BoogieDeclarations]: Found implementation of procedure list_add [2020-07-18 05:12:14,010 INFO L138 BoogieDeclarations]: Found implementation of procedure list_del [2020-07-18 05:12:14,010 INFO L138 BoogieDeclarations]: Found implementation of procedure main [2020-07-18 05:12:14,010 INFO L130 BoogieDeclarations]: Found specification of procedure __VERIFIER_error [2020-07-18 05:12:14,010 INFO L130 BoogieDeclarations]: Found specification of procedure __blast_assert [2020-07-18 05:12:14,010 INFO L130 BoogieDeclarations]: Found specification of procedure __underflow [2020-07-18 05:12:14,010 INFO L130 BoogieDeclarations]: Found specification of procedure __uflow [2020-07-18 05:12:14,010 INFO L130 BoogieDeclarations]: Found specification of procedure __overflow [2020-07-18 05:12:14,010 INFO L130 BoogieDeclarations]: Found specification of procedure _IO_getc [2020-07-18 05:12:14,011 INFO L130 BoogieDeclarations]: Found specification of procedure _IO_putc [2020-07-18 05:12:14,011 INFO L130 BoogieDeclarations]: Found specification of procedure _IO_feof [2020-07-18 05:12:14,011 INFO L130 BoogieDeclarations]: Found specification of procedure _IO_ferror [2020-07-18 05:12:14,011 INFO L130 BoogieDeclarations]: Found specification of procedure _IO_peekc_locked [2020-07-18 05:12:14,011 INFO L130 BoogieDeclarations]: Found specification of procedure _IO_flockfile [2020-07-18 05:12:14,012 INFO L130 BoogieDeclarations]: Found specification of procedure _IO_funlockfile [2020-07-18 05:12:14,012 INFO L130 BoogieDeclarations]: Found specification of procedure _IO_ftrylockfile [2020-07-18 05:12:14,012 INFO L130 BoogieDeclarations]: Found specification of procedure _IO_vfscanf [2020-07-18 05:12:14,013 INFO L130 BoogieDeclarations]: Found specification of procedure _IO_vfprintf [2020-07-18 05:12:14,014 INFO L130 BoogieDeclarations]: Found specification of procedure _IO_padn [2020-07-18 05:12:14,014 INFO L130 BoogieDeclarations]: Found specification of procedure _IO_sgetn [2020-07-18 05:12:14,014 INFO L130 BoogieDeclarations]: Found specification of procedure _IO_seekoff [2020-07-18 05:12:14,014 INFO L130 BoogieDeclarations]: Found specification of procedure _IO_seekpos [2020-07-18 05:12:14,014 INFO L130 BoogieDeclarations]: Found specification of procedure _IO_free_backup_area [2020-07-18 05:12:14,014 INFO L130 BoogieDeclarations]: Found specification of procedure remove [2020-07-18 05:12:14,014 INFO L130 BoogieDeclarations]: Found specification of procedure rename [2020-07-18 05:12:14,014 INFO L130 BoogieDeclarations]: Found specification of procedure renameat [2020-07-18 05:12:14,015 INFO L130 BoogieDeclarations]: Found specification of procedure tmpfile [2020-07-18 05:12:14,015 INFO L130 BoogieDeclarations]: Found specification of procedure tmpnam [2020-07-18 05:12:14,015 INFO L130 BoogieDeclarations]: Found specification of procedure tmpnam_r [2020-07-18 05:12:14,015 INFO L130 BoogieDeclarations]: Found specification of procedure tempnam [2020-07-18 05:12:14,015 INFO L130 BoogieDeclarations]: Found specification of procedure fclose [2020-07-18 05:12:14,015 INFO L130 BoogieDeclarations]: Found specification of procedure fflush [2020-07-18 05:12:14,015 INFO L130 BoogieDeclarations]: Found specification of procedure fflush_unlocked [2020-07-18 05:12:14,016 INFO L130 BoogieDeclarations]: Found specification of procedure fopen [2020-07-18 05:12:14,016 INFO L130 BoogieDeclarations]: Found specification of procedure freopen [2020-07-18 05:12:14,016 INFO L130 BoogieDeclarations]: Found specification of procedure fdopen [2020-07-18 05:12:14,016 INFO L130 BoogieDeclarations]: Found specification of procedure fmemopen [2020-07-18 05:12:14,016 INFO L130 BoogieDeclarations]: Found specification of procedure open_memstream [2020-07-18 05:12:14,016 INFO L130 BoogieDeclarations]: Found specification of procedure setbuf [2020-07-18 05:12:14,016 INFO L130 BoogieDeclarations]: Found specification of procedure setvbuf [2020-07-18 05:12:14,017 INFO L130 BoogieDeclarations]: Found specification of procedure setbuffer [2020-07-18 05:12:14,017 INFO L130 BoogieDeclarations]: Found specification of procedure setlinebuf [2020-07-18 05:12:14,017 INFO L130 BoogieDeclarations]: Found specification of procedure fprintf [2020-07-18 05:12:14,017 INFO L130 BoogieDeclarations]: Found specification of procedure printf [2020-07-18 05:12:14,017 INFO L130 BoogieDeclarations]: Found specification of procedure sprintf [2020-07-18 05:12:14,017 INFO L130 BoogieDeclarations]: Found specification of procedure vfprintf [2020-07-18 05:12:14,018 INFO L130 BoogieDeclarations]: Found specification of procedure vprintf [2020-07-18 05:12:14,018 INFO L130 BoogieDeclarations]: Found specification of procedure vsprintf [2020-07-18 05:12:14,018 INFO L130 BoogieDeclarations]: Found specification of procedure snprintf [2020-07-18 05:12:14,018 INFO L130 BoogieDeclarations]: Found specification of procedure vsnprintf [2020-07-18 05:12:14,018 INFO L130 BoogieDeclarations]: Found specification of procedure vdprintf [2020-07-18 05:12:14,018 INFO L130 BoogieDeclarations]: Found specification of procedure dprintf [2020-07-18 05:12:14,018 INFO L130 BoogieDeclarations]: Found specification of procedure fscanf [2020-07-18 05:12:14,019 INFO L130 BoogieDeclarations]: Found specification of procedure scanf [2020-07-18 05:12:14,019 INFO L130 BoogieDeclarations]: Found specification of procedure sscanf [2020-07-18 05:12:14,019 INFO L130 BoogieDeclarations]: Found specification of procedure vfscanf [2020-07-18 05:12:14,019 INFO L130 BoogieDeclarations]: Found specification of procedure vscanf [2020-07-18 05:12:14,019 INFO L130 BoogieDeclarations]: Found specification of procedure vsscanf [2020-07-18 05:12:14,019 INFO L130 BoogieDeclarations]: Found specification of procedure fgetc [2020-07-18 05:12:14,020 INFO L130 BoogieDeclarations]: Found specification of procedure getc [2020-07-18 05:12:14,020 INFO L130 BoogieDeclarations]: Found specification of procedure getchar [2020-07-18 05:12:14,020 INFO L130 BoogieDeclarations]: Found specification of procedure getc_unlocked [2020-07-18 05:12:14,020 INFO L130 BoogieDeclarations]: Found specification of procedure getchar_unlocked [2020-07-18 05:12:14,020 INFO L130 BoogieDeclarations]: Found specification of procedure fgetc_unlocked [2020-07-18 05:12:14,020 INFO L130 BoogieDeclarations]: Found specification of procedure fputc [2020-07-18 05:12:14,020 INFO L130 BoogieDeclarations]: Found specification of procedure putc [2020-07-18 05:12:14,021 INFO L130 BoogieDeclarations]: Found specification of procedure putchar [2020-07-18 05:12:14,021 INFO L130 BoogieDeclarations]: Found specification of procedure fputc_unlocked [2020-07-18 05:12:14,021 INFO L130 BoogieDeclarations]: Found specification of procedure putc_unlocked [2020-07-18 05:12:14,021 INFO L130 BoogieDeclarations]: Found specification of procedure putchar_unlocked [2020-07-18 05:12:14,021 INFO L130 BoogieDeclarations]: Found specification of procedure getw [2020-07-18 05:12:14,022 INFO L130 BoogieDeclarations]: Found specification of procedure putw [2020-07-18 05:12:14,022 INFO L130 BoogieDeclarations]: Found specification of procedure fgets [2020-07-18 05:12:14,022 INFO L130 BoogieDeclarations]: Found specification of procedure gets [2020-07-18 05:12:14,022 INFO L130 BoogieDeclarations]: Found specification of procedure __getdelim [2020-07-18 05:12:14,022 INFO L130 BoogieDeclarations]: Found specification of procedure getdelim [2020-07-18 05:12:14,022 INFO L130 BoogieDeclarations]: Found specification of procedure getline [2020-07-18 05:12:14,022 INFO L130 BoogieDeclarations]: Found specification of procedure fputs [2020-07-18 05:12:14,023 INFO L130 BoogieDeclarations]: Found specification of procedure puts [2020-07-18 05:12:14,023 INFO L130 BoogieDeclarations]: Found specification of procedure ungetc [2020-07-18 05:12:14,023 INFO L130 BoogieDeclarations]: Found specification of procedure fread [2020-07-18 05:12:14,023 INFO L130 BoogieDeclarations]: Found specification of procedure fwrite [2020-07-18 05:12:14,023 INFO L130 BoogieDeclarations]: Found specification of procedure fread_unlocked [2020-07-18 05:12:14,023 INFO L130 BoogieDeclarations]: Found specification of procedure fwrite_unlocked [2020-07-18 05:12:14,023 INFO L130 BoogieDeclarations]: Found specification of procedure fseek [2020-07-18 05:12:14,024 INFO L130 BoogieDeclarations]: Found specification of procedure ftell [2020-07-18 05:12:14,024 INFO L130 BoogieDeclarations]: Found specification of procedure rewind [2020-07-18 05:12:14,024 INFO L130 BoogieDeclarations]: Found specification of procedure fseeko [2020-07-18 05:12:14,024 INFO L130 BoogieDeclarations]: Found specification of procedure ftello [2020-07-18 05:12:14,024 INFO L130 BoogieDeclarations]: Found specification of procedure fgetpos [2020-07-18 05:12:14,024 INFO L130 BoogieDeclarations]: Found specification of procedure fsetpos [2020-07-18 05:12:14,025 INFO L130 BoogieDeclarations]: Found specification of procedure clearerr [2020-07-18 05:12:14,025 INFO L130 BoogieDeclarations]: Found specification of procedure feof [2020-07-18 05:12:14,025 INFO L130 BoogieDeclarations]: Found specification of procedure ferror [2020-07-18 05:12:14,025 INFO L130 BoogieDeclarations]: Found specification of procedure clearerr_unlocked [2020-07-18 05:12:14,025 INFO L130 BoogieDeclarations]: Found specification of procedure feof_unlocked [2020-07-18 05:12:14,025 INFO L130 BoogieDeclarations]: Found specification of procedure ferror_unlocked [2020-07-18 05:12:14,025 INFO L130 BoogieDeclarations]: Found specification of procedure perror [2020-07-18 05:12:14,026 INFO L130 BoogieDeclarations]: Found specification of procedure fileno [2020-07-18 05:12:14,026 INFO L130 BoogieDeclarations]: Found specification of procedure fileno_unlocked [2020-07-18 05:12:14,026 INFO L130 BoogieDeclarations]: Found specification of procedure popen [2020-07-18 05:12:14,026 INFO L130 BoogieDeclarations]: Found specification of procedure pclose [2020-07-18 05:12:14,026 INFO L130 BoogieDeclarations]: Found specification of procedure ctermid [2020-07-18 05:12:14,026 INFO L130 BoogieDeclarations]: Found specification of procedure flockfile [2020-07-18 05:12:14,026 INFO L130 BoogieDeclarations]: Found specification of procedure ftrylockfile [2020-07-18 05:12:14,027 INFO L130 BoogieDeclarations]: Found specification of procedure funlockfile [2020-07-18 05:12:14,027 INFO L130 BoogieDeclarations]: Found specification of procedure malloc [2020-07-18 05:12:14,027 INFO L130 BoogieDeclarations]: Found specification of procedure calloc [2020-07-18 05:12:14,027 INFO L130 BoogieDeclarations]: Found specification of procedure realloc [2020-07-18 05:12:14,027 INFO L130 BoogieDeclarations]: Found specification of procedure free [2020-07-18 05:12:14,027 INFO L130 BoogieDeclarations]: Found specification of procedure cfree [2020-07-18 05:12:14,027 INFO L130 BoogieDeclarations]: Found specification of procedure memalign [2020-07-18 05:12:14,028 INFO L130 BoogieDeclarations]: Found specification of procedure valloc [2020-07-18 05:12:14,028 INFO L130 BoogieDeclarations]: Found specification of procedure pvalloc [2020-07-18 05:12:14,028 INFO L130 BoogieDeclarations]: Found specification of procedure __default_morecore [2020-07-18 05:12:14,028 INFO L130 BoogieDeclarations]: Found specification of procedure mallinfo [2020-07-18 05:12:14,028 INFO L130 BoogieDeclarations]: Found specification of procedure mallopt [2020-07-18 05:12:14,028 INFO L130 BoogieDeclarations]: Found specification of procedure malloc_trim [2020-07-18 05:12:14,029 INFO L130 BoogieDeclarations]: Found specification of procedure malloc_usable_size [2020-07-18 05:12:14,029 INFO L130 BoogieDeclarations]: Found specification of procedure malloc_stats [2020-07-18 05:12:14,029 INFO L130 BoogieDeclarations]: Found specification of procedure malloc_info [2020-07-18 05:12:14,029 INFO L130 BoogieDeclarations]: Found specification of procedure malloc_get_state [2020-07-18 05:12:14,029 INFO L130 BoogieDeclarations]: Found specification of procedure malloc_set_state [2020-07-18 05:12:14,029 INFO L130 BoogieDeclarations]: Found specification of procedure __malloc_check_init [2020-07-18 05:12:14,029 INFO L130 BoogieDeclarations]: Found specification of procedure __VERIFIER_nondet_int [2020-07-18 05:12:14,030 INFO L130 BoogieDeclarations]: Found specification of procedure __getMemory [2020-07-18 05:12:14,030 INFO L130 BoogieDeclarations]: Found specification of procedure my_malloc [2020-07-18 05:12:14,030 INFO L130 BoogieDeclarations]: Found specification of procedure list_add [2020-07-18 05:12:14,030 INFO L130 BoogieDeclarations]: Found specification of procedure list_del [2020-07-18 05:12:14,030 INFO L130 BoogieDeclarations]: Found specification of procedure main [2020-07-18 05:12:14,030 INFO L130 BoogieDeclarations]: Found specification of procedure ULTIMATE.init [2020-07-18 05:12:14,030 INFO L130 BoogieDeclarations]: Found specification of procedure #Ultimate.allocOnStack [2020-07-18 05:12:14,031 INFO L130 BoogieDeclarations]: Found specification of procedure write~init~$Pointer$ [2020-07-18 05:12:14,031 INFO L130 BoogieDeclarations]: Found specification of procedure ULTIMATE.start [2020-07-18 05:12:14,031 INFO L130 BoogieDeclarations]: Found specification of procedure write~$Pointer$ [2020-07-18 05:12:14,031 INFO L130 BoogieDeclarations]: Found specification of procedure read~$Pointer$ [2020-07-18 05:12:14,031 INFO L130 BoogieDeclarations]: Found specification of procedure ULTIMATE.dealloc [2020-07-18 05:12:14,712 INFO L290 CfgBuilder]: Using the 1 location(s) as analysis (start of procedure ULTIMATE.start) [2020-07-18 05:12:14,712 INFO L295 CfgBuilder]: Removed 0 assume(true) statements. [2020-07-18 05:12:14,716 INFO L202 PluginConnector]: Adding new model de.uni_freiburg.informatik.ultimate.plugins.generator.rcfgbuilder CFG 18.07 05:12:14 BoogieIcfgContainer [2020-07-18 05:12:14,717 INFO L132 PluginConnector]: ------------------------ END RCFGBuilder---------------------------- [2020-07-18 05:12:14,718 INFO L113 PluginConnector]: ------------------------TraceAbstraction---------------------------- [2020-07-18 05:12:14,718 INFO L271 PluginConnector]: Initializing TraceAbstraction... [2020-07-18 05:12:14,722 INFO L275 PluginConnector]: TraceAbstraction initialized [2020-07-18 05:12:14,722 INFO L185 PluginConnector]: Executing the observer TraceAbstractionObserver from plugin TraceAbstraction for "CDTParser AST 18.07 05:12:13" (1/3) ... [2020-07-18 05:12:14,723 INFO L205 PluginConnector]: Invalid model from TraceAbstraction for observer de.uni_freiburg.informatik.ultimate.plugins.generator.traceabstraction.TraceAbstractionObserver@38c56421 and model type de.uni_freiburg.informatik.ultimate.plugins.generator.traceabstraction AST 18.07 05:12:14, skipping insertion in model container [2020-07-18 05:12:14,723 INFO L185 PluginConnector]: Executing the observer TraceAbstractionObserver from plugin TraceAbstraction for "de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 18.07 05:12:13" (2/3) ... [2020-07-18 05:12:14,724 INFO L205 PluginConnector]: Invalid model from TraceAbstraction for observer de.uni_freiburg.informatik.ultimate.plugins.generator.traceabstraction.TraceAbstractionObserver@38c56421 and model type de.uni_freiburg.informatik.ultimate.plugins.generator.traceabstraction AST 18.07 05:12:14, skipping insertion in model container [2020-07-18 05:12:14,724 INFO L185 PluginConnector]: Executing the observer TraceAbstractionObserver from plugin TraceAbstraction for "de.uni_freiburg.informatik.ultimate.plugins.generator.rcfgbuilder CFG 18.07 05:12:14" (3/3) ... [2020-07-18 05:12:14,726 INFO L109 eAbstractionObserver]: Analyzing ICFG rule60_list2.c_1.i [2020-07-18 05:12:14,739 INFO L157 ceAbstractionStarter]: Automizer settings: Hoare:true NWA Interpolation:Craig_NestedInterpolation Determinization: PREDICATE_ABSTRACTION [2020-07-18 05:12:14,747 INFO L169 ceAbstractionStarter]: Appying trace abstraction to program that has 1 error locations. [2020-07-18 05:12:14,762 INFO L251 AbstractCegarLoop]: Starting to check reachability of 1 error locations. [2020-07-18 05:12:14,785 INFO L375 AbstractCegarLoop]: Interprodecural is true [2020-07-18 05:12:14,786 INFO L376 AbstractCegarLoop]: Hoare is true [2020-07-18 05:12:14,786 INFO L377 AbstractCegarLoop]: Compute interpolants for Craig_NestedInterpolation [2020-07-18 05:12:14,786 INFO L378 AbstractCegarLoop]: Backedges is STRAIGHT_LINE [2020-07-18 05:12:14,786 INFO L379 AbstractCegarLoop]: Determinization is PREDICATE_ABSTRACTION [2020-07-18 05:12:14,787 INFO L380 AbstractCegarLoop]: Difference is false [2020-07-18 05:12:14,787 INFO L381 AbstractCegarLoop]: Minimize is MINIMIZE_SEVPA [2020-07-18 05:12:14,787 INFO L385 AbstractCegarLoop]: ======== Iteration 0==of CEGAR loop == AllErrorsAtOnce======== [2020-07-18 05:12:14,804 INFO L276 IsEmpty]: Start isEmpty. Operand 71 states. [2020-07-18 05:12:14,814 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 22 [2020-07-18 05:12:14,814 INFO L414 BasicCegarLoop]: Found error trace [2020-07-18 05:12:14,815 INFO L422 BasicCegarLoop]: trace histogram [1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1] [2020-07-18 05:12:14,816 INFO L427 AbstractCegarLoop]: === Iteration 1 === [__blast_assertErr0ASSERT_VIOLATIONERROR_FUNCTION]=== [2020-07-18 05:12:14,822 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2020-07-18 05:12:14,822 INFO L82 PathProgramCache]: Analyzing trace with hash 1490968618, now seen corresponding path program 1 times [2020-07-18 05:12:14,831 INFO L163 FreeRefinementEngine]: Executing refinement strategy FIXED_PREFERENCES [2020-07-18 05:12:14,832 INFO L354 FreeRefinementEngine]: Using trace check IpTcStrategyModulePreferences [1247655995] [2020-07-18 05:12:14,832 INFO L94 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2020-07-18 05:12:14,956 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2020-07-18 05:12:15,194 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2020-07-18 05:12:15,241 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 05:12:15,243 INFO L280 TraceCheckUtils]: 1: Hoare triple {74#true} #valid := #valid[0 := 0]; {74#true} is VALID [2020-07-18 05:12:15,244 INFO L280 TraceCheckUtils]: 2: Hoare triple {74#true} assume 0 < #StackHeapBarrier; {74#true} is VALID [2020-07-18 05:12:15,244 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 05:12:15,245 INFO L280 TraceCheckUtils]: 4: Hoare triple {74#true} ~elem~0.base, ~elem~0.offset := 0, 0; {74#true} is VALID [2020-07-18 05:12:15,245 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 05:12:15,245 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 05:12:15,246 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 05:12:15,246 INFO L280 TraceCheckUtils]: 8: Hoare triple {74#true} assume true; {74#true} is VALID [2020-07-18 05:12:15,246 INFO L275 TraceCheckUtils]: 9: Hoare quadruple {74#true} {74#true} #112#return; {74#true} is VALID [2020-07-18 05:12:15,251 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 05:12:15,252 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 05:12:15,252 INFO L280 TraceCheckUtils]: 2: Hoare triple {74#true} #valid := #valid[0 := 0]; {74#true} is VALID [2020-07-18 05:12:15,252 INFO L280 TraceCheckUtils]: 3: Hoare triple {74#true} assume 0 < #StackHeapBarrier; {74#true} is VALID [2020-07-18 05:12:15,253 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 05:12:15,253 INFO L280 TraceCheckUtils]: 5: Hoare triple {74#true} ~elem~0.base, ~elem~0.offset := 0, 0; {74#true} is VALID [2020-07-18 05:12:15,254 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 05:12:15,254 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 05:12:15,254 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 05:12:15,254 INFO L280 TraceCheckUtils]: 9: Hoare triple {74#true} assume true; {74#true} is VALID [2020-07-18 05:12:15,255 INFO L275 TraceCheckUtils]: 10: Hoare quadruple {74#true} {74#true} #112#return; {74#true} is VALID [2020-07-18 05:12:15,256 INFO L263 TraceCheckUtils]: 11: Hoare triple {74#true} call #t~ret34 := main(); {74#true} is VALID [2020-07-18 05:12:15,256 INFO L280 TraceCheckUtils]: 12: Hoare triple {74#true} havoc ~dev1~0.base, ~dev1~0.offset; {74#true} is VALID [2020-07-18 05:12:15,257 INFO L280 TraceCheckUtils]: 13: Hoare triple {74#true} havoc ~dev2~0.base, ~dev2~0.offset; {74#true} is VALID [2020-07-18 05:12:15,260 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 05:12:15,261 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 05:12:15,263 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 05:12:15,264 INFO L280 TraceCheckUtils]: 17: Hoare triple {88#(= 8 |__getMemory_#in~size|)} ~size := #in~size; {89#(= 8 __getMemory_~size)} is VALID [2020-07-18 05:12:15,266 INFO L280 TraceCheckUtils]: 18: Hoare triple {89#(= 8 __getMemory_~size)} assume !(~size > 0); {75#false} is VALID [2020-07-18 05:12:15,266 INFO L263 TraceCheckUtils]: 19: Hoare triple {75#false} call __blast_assert(); {75#false} is VALID [2020-07-18 05:12:15,267 INFO L280 TraceCheckUtils]: 20: Hoare triple {75#false} assume !false; {75#false} is VALID [2020-07-18 05:12:15,274 INFO L134 CoverageAnalysis]: Checked inductivity of 0 backedges. 0 proven. 0 refuted. 0 times theorem prover too weak. 0 trivial. 0 not checked. [2020-07-18 05:12:15,275 INFO L354 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModulePreferences [1247655995] [2020-07-18 05:12:15,277 INFO L220 FreeRefinementEngine]: Constructing automaton from 1 perfect and 0 imperfect interpolant sequences. [2020-07-18 05:12:15,278 INFO L233 FreeRefinementEngine]: Number of different interpolants: perfect sequences [7] imperfect sequences [] total 7 [2020-07-18 05:12:15,279 INFO L156 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [331074557] [2020-07-18 05:12:15,288 INFO L78 Accepts]: Start accepts. Automaton has 7 states. Word has length 21 [2020-07-18 05:12:15,292 INFO L84 Accepts]: Finished accepts. word is accepted. [2020-07-18 05:12:15,296 INFO L86 InductivityCheck]: Starting indutivity check of a Floyd-Hoare automaton with 7 states. [2020-07-18 05:12:15,339 INFO L119 InductivityCheck]: Floyd-Hoare automaton has 21 edges. 21 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2020-07-18 05:12:15,339 INFO L459 AbstractCegarLoop]: Interpolant automaton has 7 states [2020-07-18 05:12:15,340 INFO L143 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy FIXED_PREFERENCES [2020-07-18 05:12:15,346 INFO L142 InterpolantAutomaton]: Constructing interpolant automaton starting with 7 interpolants. [2020-07-18 05:12:15,347 INFO L144 InterpolantAutomaton]: CoverageRelationStatistics Valid=11, Invalid=31, Unknown=0, NotChecked=0, Total=42 [2020-07-18 05:12:15,349 INFO L87 Difference]: Start difference. First operand 71 states. Second operand 7 states. [2020-07-18 05:12:16,787 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2020-07-18 05:12:16,787 INFO L93 Difference]: Finished difference Result 128 states and 157 transitions. [2020-07-18 05:12:16,787 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 9 states. [2020-07-18 05:12:16,787 INFO L78 Accepts]: Start accepts. Automaton has 7 states. Word has length 21 [2020-07-18 05:12:16,788 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2020-07-18 05:12:16,789 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 7 states. [2020-07-18 05:12:16,819 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 9 states to 9 states and 157 transitions. [2020-07-18 05:12:16,820 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 7 states. [2020-07-18 05:12:16,841 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 9 states to 9 states and 157 transitions. [2020-07-18 05:12:16,841 INFO L86 InductivityCheck]: Starting indutivity check of a Floyd-Hoare automaton with 9 states and 157 transitions. [2020-07-18 05:12:17,077 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 05:12:17,096 INFO L225 Difference]: With dead ends: 128 [2020-07-18 05:12:17,096 INFO L226 Difference]: Without dead ends: 67 [2020-07-18 05:12:17,101 INFO L675 BasicCegarLoop]: 0 DeclaredPredicates, 14 GetRequests, 3 SyntacticMatches, 0 SemanticMatches, 11 ConstructedPredicates, 0 IntricatePredicates, 0 DeprecatedPredicates, 13 ImplicationChecksByTransitivity, 0.3s TimeCoverageRelationStatistics Valid=41, Invalid=115, Unknown=0, NotChecked=0, Total=156 [2020-07-18 05:12:17,120 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 67 states. [2020-07-18 05:12:17,293 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 67 to 63. [2020-07-18 05:12:17,294 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2020-07-18 05:12:17,294 INFO L82 GeneralOperation]: Start isEquivalent. First operand 67 states. Second operand 63 states. [2020-07-18 05:12:17,295 INFO L74 IsIncluded]: Start isIncluded. First operand 67 states. Second operand 63 states. [2020-07-18 05:12:17,295 INFO L87 Difference]: Start difference. First operand 67 states. Second operand 63 states. [2020-07-18 05:12:17,303 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2020-07-18 05:12:17,304 INFO L93 Difference]: Finished difference Result 67 states and 75 transitions. [2020-07-18 05:12:17,304 INFO L276 IsEmpty]: Start isEmpty. Operand 67 states and 75 transitions. [2020-07-18 05:12:17,306 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2020-07-18 05:12:17,306 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2020-07-18 05:12:17,306 INFO L74 IsIncluded]: Start isIncluded. First operand 63 states. Second operand 67 states. [2020-07-18 05:12:17,306 INFO L87 Difference]: Start difference. First operand 63 states. Second operand 67 states. [2020-07-18 05:12:17,313 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2020-07-18 05:12:17,314 INFO L93 Difference]: Finished difference Result 67 states and 75 transitions. [2020-07-18 05:12:17,314 INFO L276 IsEmpty]: Start isEmpty. Operand 67 states and 75 transitions. [2020-07-18 05:12:17,315 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2020-07-18 05:12:17,316 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2020-07-18 05:12:17,316 INFO L88 GeneralOperation]: Finished isEquivalent. [2020-07-18 05:12:17,316 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2020-07-18 05:12:17,316 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 63 states. [2020-07-18 05:12:17,321 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 63 states to 63 states and 69 transitions. [2020-07-18 05:12:17,323 INFO L78 Accepts]: Start accepts. Automaton has 63 states and 69 transitions. Word has length 21 [2020-07-18 05:12:17,323 INFO L84 Accepts]: Finished accepts. word is rejected. [2020-07-18 05:12:17,324 INFO L479 AbstractCegarLoop]: Abstraction has 63 states and 69 transitions. [2020-07-18 05:12:17,324 INFO L480 AbstractCegarLoop]: Interpolant automaton has 7 states. [2020-07-18 05:12:17,324 INFO L86 InductivityCheck]: Starting indutivity check of a Floyd-Hoare automaton with 63 states and 69 transitions. [2020-07-18 05:12:17,444 INFO L119 InductivityCheck]: Floyd-Hoare automaton has 69 edges. 69 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2020-07-18 05:12:17,445 INFO L276 IsEmpty]: Start isEmpty. Operand 63 states and 69 transitions. [2020-07-18 05:12:17,448 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 62 [2020-07-18 05:12:17,448 INFO L414 BasicCegarLoop]: Found error trace [2020-07-18 05:12:17,449 INFO L422 BasicCegarLoop]: trace histogram [2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1] [2020-07-18 05:12:17,449 WARN L516 AbstractCegarLoop]: Destroyed unattended storables created during the last iteration: SelfDestructingSolverStorable0 [2020-07-18 05:12:17,449 INFO L427 AbstractCegarLoop]: === Iteration 2 === [__blast_assertErr0ASSERT_VIOLATIONERROR_FUNCTION]=== [2020-07-18 05:12:17,450 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2020-07-18 05:12:17,450 INFO L82 PathProgramCache]: Analyzing trace with hash -114203518, now seen corresponding path program 1 times [2020-07-18 05:12:17,450 INFO L163 FreeRefinementEngine]: Executing refinement strategy FIXED_PREFERENCES [2020-07-18 05:12:17,451 INFO L354 FreeRefinementEngine]: Using trace check IpTcStrategyModulePreferences [1697451207] [2020-07-18 05:12:17,451 INFO L94 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2020-07-18 05:12:17,501 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2020-07-18 05:12:17,604 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2020-07-18 05:12:17,615 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 05:12:17,615 INFO L280 TraceCheckUtils]: 1: Hoare triple {621#true} #valid := #valid[0 := 0]; {621#true} is VALID [2020-07-18 05:12:17,616 INFO L280 TraceCheckUtils]: 2: Hoare triple {621#true} assume 0 < #StackHeapBarrier; {621#true} is VALID [2020-07-18 05:12:17,616 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 05:12:17,616 INFO L280 TraceCheckUtils]: 4: Hoare triple {621#true} ~elem~0.base, ~elem~0.offset := 0, 0; {621#true} is VALID [2020-07-18 05:12:17,617 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 05:12:17,617 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 05:12:17,617 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 05:12:17,618 INFO L280 TraceCheckUtils]: 8: Hoare triple {621#true} assume true; {621#true} is VALID [2020-07-18 05:12:17,618 INFO L275 TraceCheckUtils]: 9: Hoare quadruple {621#true} {621#true} #112#return; {621#true} is VALID [2020-07-18 05:12:17,642 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2020-07-18 05:12:17,747 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2020-07-18 05:12:17,802 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 05:12:17,803 INFO L280 TraceCheckUtils]: 1: Hoare triple {621#true} assume ~size > 0; {621#true} is VALID [2020-07-18 05:12:17,803 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 05:12:17,803 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 05:12:17,804 INFO L280 TraceCheckUtils]: 4: Hoare triple {621#true} havoc #t~post28.base, #t~post28.offset; {621#true} is VALID [2020-07-18 05:12:17,804 INFO L280 TraceCheckUtils]: 5: Hoare triple {621#true} assume -2147483648 <= #t~nondet29 && #t~nondet29 <= 2147483647; {621#true} is VALID [2020-07-18 05:12:17,804 INFO L280 TraceCheckUtils]: 6: Hoare triple {621#true} assume 0 == #t~nondet29; {621#true} is VALID [2020-07-18 05:12:17,805 INFO L280 TraceCheckUtils]: 7: Hoare triple {621#true} havoc #t~nondet29; {621#true} is VALID [2020-07-18 05:12:17,807 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 05:12:17,808 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 05:12:17,813 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 05:12:17,814 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 05:12:17,815 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 05:12:17,815 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 05:12:17,815 INFO L280 TraceCheckUtils]: 3: Hoare triple {621#true} assume ~size > 0; {621#true} is VALID [2020-07-18 05:12:17,816 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 05:12:17,816 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 05:12:17,816 INFO L280 TraceCheckUtils]: 6: Hoare triple {621#true} havoc #t~post28.base, #t~post28.offset; {621#true} is VALID [2020-07-18 05:12:17,816 INFO L280 TraceCheckUtils]: 7: Hoare triple {621#true} assume -2147483648 <= #t~nondet29 && #t~nondet29 <= 2147483647; {621#true} is VALID [2020-07-18 05:12:17,817 INFO L280 TraceCheckUtils]: 8: Hoare triple {621#true} assume 0 == #t~nondet29; {621#true} is VALID [2020-07-18 05:12:17,817 INFO L280 TraceCheckUtils]: 9: Hoare triple {621#true} havoc #t~nondet29; {621#true} is VALID [2020-07-18 05:12:17,819 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 05:12:17,820 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 05:12:17,821 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 05:12:17,821 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 05:12:17,822 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 05:12:17,823 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 05:12:17,824 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 05:12:17,832 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2020-07-18 05:12:17,842 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2020-07-18 05:12:17,848 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 05:12:17,849 INFO L280 TraceCheckUtils]: 1: Hoare triple {621#true} assume ~size > 0; {621#true} is VALID [2020-07-18 05:12:17,849 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 05:12:17,849 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 05:12:17,850 INFO L280 TraceCheckUtils]: 4: Hoare triple {621#true} havoc #t~post28.base, #t~post28.offset; {621#true} is VALID [2020-07-18 05:12:17,850 INFO L280 TraceCheckUtils]: 5: Hoare triple {621#true} assume -2147483648 <= #t~nondet29 && #t~nondet29 <= 2147483647; {621#true} is VALID [2020-07-18 05:12:17,850 INFO L280 TraceCheckUtils]: 6: Hoare triple {621#true} assume 0 == #t~nondet29; {621#true} is VALID [2020-07-18 05:12:17,850 INFO L280 TraceCheckUtils]: 7: Hoare triple {621#true} havoc #t~nondet29; {621#true} is VALID [2020-07-18 05:12:17,851 INFO L280 TraceCheckUtils]: 8: Hoare triple {621#true} #res.base, #res.offset := 0, 0; {621#true} is VALID [2020-07-18 05:12:17,851 INFO L280 TraceCheckUtils]: 9: Hoare triple {621#true} assume true; {621#true} is VALID [2020-07-18 05:12:17,851 INFO L275 TraceCheckUtils]: 10: Hoare quadruple {621#true} {621#true} #92#return; {621#true} is VALID [2020-07-18 05:12:17,852 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 05:12:17,853 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 05:12:17,853 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 05:12:17,854 INFO L280 TraceCheckUtils]: 3: Hoare triple {621#true} assume ~size > 0; {621#true} is VALID [2020-07-18 05:12:17,854 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 05:12:17,854 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 05:12:17,854 INFO L280 TraceCheckUtils]: 6: Hoare triple {621#true} havoc #t~post28.base, #t~post28.offset; {621#true} is VALID [2020-07-18 05:12:17,855 INFO L280 TraceCheckUtils]: 7: Hoare triple {621#true} assume -2147483648 <= #t~nondet29 && #t~nondet29 <= 2147483647; {621#true} is VALID [2020-07-18 05:12:17,855 INFO L280 TraceCheckUtils]: 8: Hoare triple {621#true} assume 0 == #t~nondet29; {621#true} is VALID [2020-07-18 05:12:17,855 INFO L280 TraceCheckUtils]: 9: Hoare triple {621#true} havoc #t~nondet29; {621#true} is VALID [2020-07-18 05:12:17,855 INFO L280 TraceCheckUtils]: 10: Hoare triple {621#true} #res.base, #res.offset := 0, 0; {621#true} is VALID [2020-07-18 05:12:17,856 INFO L280 TraceCheckUtils]: 11: Hoare triple {621#true} assume true; {621#true} is VALID [2020-07-18 05:12:17,856 INFO L275 TraceCheckUtils]: 12: Hoare quadruple {621#true} {621#true} #92#return; {621#true} is VALID [2020-07-18 05:12:17,856 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 05:12:17,857 INFO L280 TraceCheckUtils]: 14: Hoare triple {621#true} havoc #t~ret30.base, #t~ret30.offset; {621#true} is VALID [2020-07-18 05:12:17,857 INFO L280 TraceCheckUtils]: 15: Hoare triple {621#true} assume true; {621#true} is VALID [2020-07-18 05:12:17,858 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 05:12:17,860 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 05:12:17,860 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 05:12:17,861 INFO L280 TraceCheckUtils]: 2: Hoare triple {621#true} #valid := #valid[0 := 0]; {621#true} is VALID [2020-07-18 05:12:17,861 INFO L280 TraceCheckUtils]: 3: Hoare triple {621#true} assume 0 < #StackHeapBarrier; {621#true} is VALID [2020-07-18 05:12:17,861 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 05:12:17,861 INFO L280 TraceCheckUtils]: 5: Hoare triple {621#true} ~elem~0.base, ~elem~0.offset := 0, 0; {621#true} is VALID [2020-07-18 05:12:17,862 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 05:12:17,862 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 05:12:17,862 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 05:12:17,863 INFO L280 TraceCheckUtils]: 9: Hoare triple {621#true} assume true; {621#true} is VALID [2020-07-18 05:12:17,863 INFO L275 TraceCheckUtils]: 10: Hoare quadruple {621#true} {621#true} #112#return; {621#true} is VALID [2020-07-18 05:12:17,863 INFO L263 TraceCheckUtils]: 11: Hoare triple {621#true} call #t~ret34 := main(); {621#true} is VALID [2020-07-18 05:12:17,863 INFO L280 TraceCheckUtils]: 12: Hoare triple {621#true} havoc ~dev1~0.base, ~dev1~0.offset; {621#true} is VALID [2020-07-18 05:12:17,864 INFO L280 TraceCheckUtils]: 13: Hoare triple {621#true} havoc ~dev2~0.base, ~dev2~0.offset; {621#true} is VALID [2020-07-18 05:12:17,865 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 05:12:17,865 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 05:12:17,866 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 05:12:17,866 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 05:12:17,867 INFO L280 TraceCheckUtils]: 18: Hoare triple {621#true} assume ~size > 0; {621#true} is VALID [2020-07-18 05:12:17,867 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 05:12:17,867 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 05:12:17,867 INFO L280 TraceCheckUtils]: 21: Hoare triple {621#true} havoc #t~post28.base, #t~post28.offset; {621#true} is VALID [2020-07-18 05:12:17,868 INFO L280 TraceCheckUtils]: 22: Hoare triple {621#true} assume -2147483648 <= #t~nondet29 && #t~nondet29 <= 2147483647; {621#true} is VALID [2020-07-18 05:12:17,868 INFO L280 TraceCheckUtils]: 23: Hoare triple {621#true} assume 0 == #t~nondet29; {621#true} is VALID [2020-07-18 05:12:17,868 INFO L280 TraceCheckUtils]: 24: Hoare triple {621#true} havoc #t~nondet29; {621#true} is VALID [2020-07-18 05:12:17,869 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 05:12:17,870 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 05:12:17,871 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 05:12:17,872 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 05:12:17,873 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 05:12:17,874 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 05:12:17,876 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 05:12:17,876 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 05:12:17,877 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 05:12:17,878 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 05:12:17,879 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 05:12:17,880 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 05:12:17,880 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 05:12:17,880 INFO L280 TraceCheckUtils]: 38: Hoare triple {621#true} assume ~size > 0; {621#true} is VALID [2020-07-18 05:12:17,881 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 05:12:17,881 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 05:12:17,881 INFO L280 TraceCheckUtils]: 41: Hoare triple {621#true} havoc #t~post28.base, #t~post28.offset; {621#true} is VALID [2020-07-18 05:12:17,881 INFO L280 TraceCheckUtils]: 42: Hoare triple {621#true} assume -2147483648 <= #t~nondet29 && #t~nondet29 <= 2147483647; {621#true} is VALID [2020-07-18 05:12:17,882 INFO L280 TraceCheckUtils]: 43: Hoare triple {621#true} assume 0 == #t~nondet29; {621#true} is VALID [2020-07-18 05:12:17,882 INFO L280 TraceCheckUtils]: 44: Hoare triple {621#true} havoc #t~nondet29; {621#true} is VALID [2020-07-18 05:12:17,882 INFO L280 TraceCheckUtils]: 45: Hoare triple {621#true} #res.base, #res.offset := 0, 0; {621#true} is VALID [2020-07-18 05:12:17,883 INFO L280 TraceCheckUtils]: 46: Hoare triple {621#true} assume true; {621#true} is VALID [2020-07-18 05:12:17,883 INFO L275 TraceCheckUtils]: 47: Hoare quadruple {621#true} {621#true} #92#return; {621#true} is VALID [2020-07-18 05:12:17,883 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 05:12:17,883 INFO L280 TraceCheckUtils]: 49: Hoare triple {621#true} havoc #t~ret30.base, #t~ret30.offset; {621#true} is VALID [2020-07-18 05:12:17,884 INFO L280 TraceCheckUtils]: 50: Hoare triple {621#true} assume true; {621#true} is VALID [2020-07-18 05:12:17,885 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 05:12:17,886 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 05:12:17,887 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 05:12:17,888 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 05:12:17,888 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 05:12:17,888 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 05:12:17,889 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 05:12:17,889 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 05:12:17,889 INFO L263 TraceCheckUtils]: 59: Hoare triple {622#false} call __blast_assert(); {622#false} is VALID [2020-07-18 05:12:17,890 INFO L280 TraceCheckUtils]: 60: Hoare triple {622#false} assume !false; {622#false} is VALID [2020-07-18 05:12:17,897 INFO L134 CoverageAnalysis]: Checked inductivity of 17 backedges. 0 proven. 6 refuted. 0 times theorem prover too weak. 11 trivial. 0 not checked. [2020-07-18 05:12:17,898 INFO L354 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModulePreferences [1697451207] [2020-07-18 05:12:17,898 INFO L220 FreeRefinementEngine]: Constructing automaton from 0 perfect and 1 imperfect interpolant sequences. [2020-07-18 05:12:17,898 INFO L233 FreeRefinementEngine]: Number of different interpolants: perfect sequences [] imperfect sequences [9] total 9 [2020-07-18 05:12:17,899 INFO L156 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [66760509] [2020-07-18 05:12:17,901 INFO L78 Accepts]: Start accepts. Automaton has 9 states. Word has length 61 [2020-07-18 05:12:17,902 INFO L84 Accepts]: Finished accepts. word is accepted. [2020-07-18 05:12:17,902 INFO L86 InductivityCheck]: Starting indutivity check of a Floyd-Hoare automaton with 9 states. [2020-07-18 05:12:17,966 INFO L119 InductivityCheck]: Floyd-Hoare automaton has 51 edges. 51 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2020-07-18 05:12:17,967 INFO L459 AbstractCegarLoop]: Interpolant automaton has 9 states [2020-07-18 05:12:17,967 INFO L143 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy FIXED_PREFERENCES [2020-07-18 05:12:17,967 INFO L142 InterpolantAutomaton]: Constructing interpolant automaton starting with 9 interpolants. [2020-07-18 05:12:17,968 INFO L144 InterpolantAutomaton]: CoverageRelationStatistics Valid=16, Invalid=56, Unknown=0, NotChecked=0, Total=72 [2020-07-18 05:12:17,968 INFO L87 Difference]: Start difference. First operand 63 states and 69 transitions. Second operand 9 states. [2020-07-18 05:12:19,248 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2020-07-18 05:12:19,249 INFO L93 Difference]: Finished difference Result 102 states and 117 transitions. [2020-07-18 05:12:19,249 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 11 states. [2020-07-18 05:12:19,249 INFO L78 Accepts]: Start accepts. Automaton has 9 states. Word has length 61 [2020-07-18 05:12:19,250 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2020-07-18 05:12:19,250 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 9 states. [2020-07-18 05:12:19,256 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 11 states to 11 states and 117 transitions. [2020-07-18 05:12:19,256 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 9 states. [2020-07-18 05:12:19,261 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 11 states to 11 states and 117 transitions. [2020-07-18 05:12:19,262 INFO L86 InductivityCheck]: Starting indutivity check of a Floyd-Hoare automaton with 11 states and 117 transitions. [2020-07-18 05:12:19,414 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 05:12:19,418 INFO L225 Difference]: With dead ends: 102 [2020-07-18 05:12:19,419 INFO L226 Difference]: Without dead ends: 73 [2020-07-18 05:12:19,420 INFO L675 BasicCegarLoop]: 0 DeclaredPredicates, 19 GetRequests, 10 SyntacticMatches, 0 SemanticMatches, 9 ConstructedPredicates, 0 IntricatePredicates, 0 DeprecatedPredicates, 4 ImplicationChecksByTransitivity, 0.1s TimeCoverageRelationStatistics Valid=24, Invalid=86, Unknown=0, NotChecked=0, Total=110 [2020-07-18 05:12:19,421 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 73 states. [2020-07-18 05:12:19,630 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 73 to 69. [2020-07-18 05:12:19,631 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2020-07-18 05:12:19,631 INFO L82 GeneralOperation]: Start isEquivalent. First operand 73 states. Second operand 69 states. [2020-07-18 05:12:19,631 INFO L74 IsIncluded]: Start isIncluded. First operand 73 states. Second operand 69 states. [2020-07-18 05:12:19,631 INFO L87 Difference]: Start difference. First operand 73 states. Second operand 69 states. [2020-07-18 05:12:19,637 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2020-07-18 05:12:19,637 INFO L93 Difference]: Finished difference Result 73 states and 81 transitions. [2020-07-18 05:12:19,637 INFO L276 IsEmpty]: Start isEmpty. Operand 73 states and 81 transitions. [2020-07-18 05:12:19,639 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2020-07-18 05:12:19,639 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2020-07-18 05:12:19,639 INFO L74 IsIncluded]: Start isIncluded. First operand 69 states. Second operand 73 states. [2020-07-18 05:12:19,639 INFO L87 Difference]: Start difference. First operand 69 states. Second operand 73 states. [2020-07-18 05:12:19,644 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2020-07-18 05:12:19,644 INFO L93 Difference]: Finished difference Result 73 states and 81 transitions. [2020-07-18 05:12:19,644 INFO L276 IsEmpty]: Start isEmpty. Operand 73 states and 81 transitions. [2020-07-18 05:12:19,646 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2020-07-18 05:12:19,646 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2020-07-18 05:12:19,646 INFO L88 GeneralOperation]: Finished isEquivalent. [2020-07-18 05:12:19,646 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2020-07-18 05:12:19,646 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 69 states. [2020-07-18 05:12:19,650 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 69 states to 69 states and 75 transitions. [2020-07-18 05:12:19,651 INFO L78 Accepts]: Start accepts. Automaton has 69 states and 75 transitions. Word has length 61 [2020-07-18 05:12:19,651 INFO L84 Accepts]: Finished accepts. word is rejected. [2020-07-18 05:12:19,651 INFO L479 AbstractCegarLoop]: Abstraction has 69 states and 75 transitions. [2020-07-18 05:12:19,651 INFO L480 AbstractCegarLoop]: Interpolant automaton has 9 states. [2020-07-18 05:12:19,651 INFO L86 InductivityCheck]: Starting indutivity check of a Floyd-Hoare automaton with 69 states and 75 transitions. [2020-07-18 05:12:19,771 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 05:12:19,771 INFO L276 IsEmpty]: Start isEmpty. Operand 69 states and 75 transitions. [2020-07-18 05:12:19,774 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 62 [2020-07-18 05:12:19,774 INFO L414 BasicCegarLoop]: Found error trace [2020-07-18 05:12:19,774 INFO L422 BasicCegarLoop]: trace histogram [2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1] [2020-07-18 05:12:19,775 WARN L516 AbstractCegarLoop]: Destroyed unattended storables created during the last iteration: SelfDestructingSolverStorable1 [2020-07-18 05:12:19,775 INFO L427 AbstractCegarLoop]: === Iteration 3 === [__blast_assertErr0ASSERT_VIOLATIONERROR_FUNCTION]=== [2020-07-18 05:12:19,775 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2020-07-18 05:12:19,775 INFO L82 PathProgramCache]: Analyzing trace with hash -1260495361, now seen corresponding path program 1 times [2020-07-18 05:12:19,776 INFO L163 FreeRefinementEngine]: Executing refinement strategy FIXED_PREFERENCES [2020-07-18 05:12:19,776 INFO L354 FreeRefinementEngine]: Using trace check IpTcStrategyModulePreferences [993764829] [2020-07-18 05:12:19,776 INFO L94 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2020-07-18 05:12:19,801 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2020-07-18 05:12:19,901 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2020-07-18 05:12:19,909 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 05:12:19,910 INFO L280 TraceCheckUtils]: 1: Hoare triple {1190#true} #valid := #valid[0 := 0]; {1190#true} is VALID [2020-07-18 05:12:19,910 INFO L280 TraceCheckUtils]: 2: Hoare triple {1190#true} assume 0 < #StackHeapBarrier; {1190#true} is VALID [2020-07-18 05:12:19,910 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 05:12:19,910 INFO L280 TraceCheckUtils]: 4: Hoare triple {1190#true} ~elem~0.base, ~elem~0.offset := 0, 0; {1190#true} is VALID [2020-07-18 05:12:19,911 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 05:12:19,911 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 05:12:19,911 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 05:12:19,911 INFO L280 TraceCheckUtils]: 8: Hoare triple {1190#true} assume true; {1190#true} is VALID [2020-07-18 05:12:19,911 INFO L275 TraceCheckUtils]: 9: Hoare quadruple {1190#true} {1190#true} #112#return; {1190#true} is VALID [2020-07-18 05:12:19,928 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2020-07-18 05:12:19,935 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2020-07-18 05:12:19,941 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 05:12:19,941 INFO L280 TraceCheckUtils]: 1: Hoare triple {1190#true} assume ~size > 0; {1190#true} is VALID [2020-07-18 05:12:19,941 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 05:12:19,942 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 05:12:19,942 INFO L280 TraceCheckUtils]: 4: Hoare triple {1190#true} havoc #t~post28.base, #t~post28.offset; {1190#true} is VALID [2020-07-18 05:12:19,942 INFO L280 TraceCheckUtils]: 5: Hoare triple {1190#true} assume -2147483648 <= #t~nondet29 && #t~nondet29 <= 2147483647; {1190#true} is VALID [2020-07-18 05:12:19,943 INFO L280 TraceCheckUtils]: 6: Hoare triple {1190#true} assume !(0 == #t~nondet29); {1190#true} is VALID [2020-07-18 05:12:19,943 INFO L280 TraceCheckUtils]: 7: Hoare triple {1190#true} havoc #t~nondet29; {1190#true} is VALID [2020-07-18 05:12:19,943 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 05:12:19,944 INFO L280 TraceCheckUtils]: 9: Hoare triple {1190#true} assume true; {1190#true} is VALID [2020-07-18 05:12:19,944 INFO L275 TraceCheckUtils]: 10: Hoare quadruple {1190#true} {1190#true} #92#return; {1190#true} is VALID [2020-07-18 05:12:19,944 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 05:12:19,945 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 05:12:19,946 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 05:12:19,946 INFO L280 TraceCheckUtils]: 3: Hoare triple {1190#true} assume ~size > 0; {1190#true} is VALID [2020-07-18 05:12:19,946 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 05:12:19,946 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 05:12:19,946 INFO L280 TraceCheckUtils]: 6: Hoare triple {1190#true} havoc #t~post28.base, #t~post28.offset; {1190#true} is VALID [2020-07-18 05:12:19,947 INFO L280 TraceCheckUtils]: 7: Hoare triple {1190#true} assume -2147483648 <= #t~nondet29 && #t~nondet29 <= 2147483647; {1190#true} is VALID [2020-07-18 05:12:19,947 INFO L280 TraceCheckUtils]: 8: Hoare triple {1190#true} assume !(0 == #t~nondet29); {1190#true} is VALID [2020-07-18 05:12:19,947 INFO L280 TraceCheckUtils]: 9: Hoare triple {1190#true} havoc #t~nondet29; {1190#true} is VALID [2020-07-18 05:12:19,948 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 05:12:19,948 INFO L280 TraceCheckUtils]: 11: Hoare triple {1190#true} assume true; {1190#true} is VALID [2020-07-18 05:12:19,948 INFO L275 TraceCheckUtils]: 12: Hoare quadruple {1190#true} {1190#true} #92#return; {1190#true} is VALID [2020-07-18 05:12:19,948 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 05:12:19,949 INFO L280 TraceCheckUtils]: 14: Hoare triple {1190#true} havoc #t~ret30.base, #t~ret30.offset; {1190#true} is VALID [2020-07-18 05:12:19,949 INFO L280 TraceCheckUtils]: 15: Hoare triple {1190#true} assume true; {1190#true} is VALID [2020-07-18 05:12:19,949 INFO L275 TraceCheckUtils]: 16: Hoare quadruple {1190#true} {1190#true} #94#return; {1190#true} is VALID [2020-07-18 05:12:19,957 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2020-07-18 05:12:20,025 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2020-07-18 05:12:20,058 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 05:12:20,059 INFO L280 TraceCheckUtils]: 1: Hoare triple {1190#true} assume ~size > 0; {1190#true} is VALID [2020-07-18 05:12:20,059 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 05:12:20,059 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 05:12:20,060 INFO L280 TraceCheckUtils]: 4: Hoare triple {1190#true} havoc #t~post28.base, #t~post28.offset; {1190#true} is VALID [2020-07-18 05:12:20,060 INFO L280 TraceCheckUtils]: 5: Hoare triple {1190#true} assume -2147483648 <= #t~nondet29 && #t~nondet29 <= 2147483647; {1190#true} is VALID [2020-07-18 05:12:20,060 INFO L280 TraceCheckUtils]: 6: Hoare triple {1190#true} assume 0 == #t~nondet29; {1190#true} is VALID [2020-07-18 05:12:20,061 INFO L280 TraceCheckUtils]: 7: Hoare triple {1190#true} havoc #t~nondet29; {1190#true} is VALID [2020-07-18 05:12:20,062 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 05:12:20,063 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 05:12:20,064 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 05:12:20,064 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 05:12:20,065 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 05:12:20,066 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 05:12:20,066 INFO L280 TraceCheckUtils]: 3: Hoare triple {1190#true} assume ~size > 0; {1190#true} is VALID [2020-07-18 05:12:20,066 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 05:12:20,066 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 05:12:20,067 INFO L280 TraceCheckUtils]: 6: Hoare triple {1190#true} havoc #t~post28.base, #t~post28.offset; {1190#true} is VALID [2020-07-18 05:12:20,067 INFO L280 TraceCheckUtils]: 7: Hoare triple {1190#true} assume -2147483648 <= #t~nondet29 && #t~nondet29 <= 2147483647; {1190#true} is VALID [2020-07-18 05:12:20,067 INFO L280 TraceCheckUtils]: 8: Hoare triple {1190#true} assume 0 == #t~nondet29; {1190#true} is VALID [2020-07-18 05:12:20,068 INFO L280 TraceCheckUtils]: 9: Hoare triple {1190#true} havoc #t~nondet29; {1190#true} is VALID [2020-07-18 05:12:20,069 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 05:12:20,070 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 05:12:20,071 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 05:12:20,072 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 05:12:20,073 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 05:12:20,074 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 05:12:20,075 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 05:12:20,077 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 05:12:20,078 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 05:12:20,078 INFO L280 TraceCheckUtils]: 2: Hoare triple {1190#true} #valid := #valid[0 := 0]; {1190#true} is VALID [2020-07-18 05:12:20,078 INFO L280 TraceCheckUtils]: 3: Hoare triple {1190#true} assume 0 < #StackHeapBarrier; {1190#true} is VALID [2020-07-18 05:12:20,079 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 05:12:20,079 INFO L280 TraceCheckUtils]: 5: Hoare triple {1190#true} ~elem~0.base, ~elem~0.offset := 0, 0; {1190#true} is VALID [2020-07-18 05:12:20,079 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 05:12:20,079 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 05:12:20,080 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 05:12:20,080 INFO L280 TraceCheckUtils]: 9: Hoare triple {1190#true} assume true; {1190#true} is VALID [2020-07-18 05:12:20,080 INFO L275 TraceCheckUtils]: 10: Hoare quadruple {1190#true} {1190#true} #112#return; {1190#true} is VALID [2020-07-18 05:12:20,080 INFO L263 TraceCheckUtils]: 11: Hoare triple {1190#true} call #t~ret34 := main(); {1190#true} is VALID [2020-07-18 05:12:20,081 INFO L280 TraceCheckUtils]: 12: Hoare triple {1190#true} havoc ~dev1~0.base, ~dev1~0.offset; {1190#true} is VALID [2020-07-18 05:12:20,081 INFO L280 TraceCheckUtils]: 13: Hoare triple {1190#true} havoc ~dev2~0.base, ~dev2~0.offset; {1190#true} is VALID [2020-07-18 05:12:20,082 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 05:12:20,082 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 05:12:20,083 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 05:12:20,084 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 05:12:20,084 INFO L280 TraceCheckUtils]: 18: Hoare triple {1190#true} assume ~size > 0; {1190#true} is VALID [2020-07-18 05:12:20,084 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 05:12:20,084 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 05:12:20,085 INFO L280 TraceCheckUtils]: 21: Hoare triple {1190#true} havoc #t~post28.base, #t~post28.offset; {1190#true} is VALID [2020-07-18 05:12:20,085 INFO L280 TraceCheckUtils]: 22: Hoare triple {1190#true} assume -2147483648 <= #t~nondet29 && #t~nondet29 <= 2147483647; {1190#true} is VALID [2020-07-18 05:12:20,085 INFO L280 TraceCheckUtils]: 23: Hoare triple {1190#true} assume !(0 == #t~nondet29); {1190#true} is VALID [2020-07-18 05:12:20,086 INFO L280 TraceCheckUtils]: 24: Hoare triple {1190#true} havoc #t~nondet29; {1190#true} is VALID [2020-07-18 05:12:20,086 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 05:12:20,086 INFO L280 TraceCheckUtils]: 26: Hoare triple {1190#true} assume true; {1190#true} is VALID [2020-07-18 05:12:20,087 INFO L275 TraceCheckUtils]: 27: Hoare quadruple {1190#true} {1190#true} #92#return; {1190#true} is VALID [2020-07-18 05:12:20,087 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 05:12:20,087 INFO L280 TraceCheckUtils]: 29: Hoare triple {1190#true} havoc #t~ret30.base, #t~ret30.offset; {1190#true} is VALID [2020-07-18 05:12:20,088 INFO L280 TraceCheckUtils]: 30: Hoare triple {1190#true} assume true; {1190#true} is VALID [2020-07-18 05:12:20,088 INFO L275 TraceCheckUtils]: 31: Hoare quadruple {1190#true} {1190#true} #94#return; {1190#true} is VALID [2020-07-18 05:12:20,088 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 05:12:20,088 INFO L280 TraceCheckUtils]: 33: Hoare triple {1190#true} havoc #t~ret32.base, #t~ret32.offset; {1190#true} is VALID [2020-07-18 05:12:20,089 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 05:12:20,090 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 05:12:20,091 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 05:12:20,091 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 05:12:20,091 INFO L280 TraceCheckUtils]: 38: Hoare triple {1190#true} assume ~size > 0; {1190#true} is VALID [2020-07-18 05:12:20,092 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 05:12:20,092 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 05:12:20,092 INFO L280 TraceCheckUtils]: 41: Hoare triple {1190#true} havoc #t~post28.base, #t~post28.offset; {1190#true} is VALID [2020-07-18 05:12:20,093 INFO L280 TraceCheckUtils]: 42: Hoare triple {1190#true} assume -2147483648 <= #t~nondet29 && #t~nondet29 <= 2147483647; {1190#true} is VALID [2020-07-18 05:12:20,093 INFO L280 TraceCheckUtils]: 43: Hoare triple {1190#true} assume 0 == #t~nondet29; {1190#true} is VALID [2020-07-18 05:12:20,093 INFO L280 TraceCheckUtils]: 44: Hoare triple {1190#true} havoc #t~nondet29; {1190#true} is VALID [2020-07-18 05:12:20,094 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 05:12:20,095 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 05:12:20,096 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 05:12:20,097 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 05:12:20,098 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 05:12:20,099 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 05:12:20,101 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 05:12:20,102 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 05:12:20,103 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 05:12:20,104 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 05:12:20,104 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 05:12:20,105 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 05:12:20,105 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 05:12:20,105 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 05:12:20,105 INFO L263 TraceCheckUtils]: 59: Hoare triple {1191#false} call __blast_assert(); {1191#false} is VALID [2020-07-18 05:12:20,106 INFO L280 TraceCheckUtils]: 60: Hoare triple {1191#false} assume !false; {1191#false} is VALID [2020-07-18 05:12:20,111 INFO L134 CoverageAnalysis]: Checked inductivity of 15 backedges. 6 proven. 0 refuted. 0 times theorem prover too weak. 9 trivial. 0 not checked. [2020-07-18 05:12:20,112 INFO L354 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModulePreferences [993764829] [2020-07-18 05:12:20,112 INFO L220 FreeRefinementEngine]: Constructing automaton from 1 perfect and 0 imperfect interpolant sequences. [2020-07-18 05:12:20,112 INFO L233 FreeRefinementEngine]: Number of different interpolants: perfect sequences [9] imperfect sequences [] total 9 [2020-07-18 05:12:20,113 INFO L156 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [1598422828] [2020-07-18 05:12:20,113 INFO L78 Accepts]: Start accepts. Automaton has 9 states. Word has length 61 [2020-07-18 05:12:20,114 INFO L84 Accepts]: Finished accepts. word is accepted. [2020-07-18 05:12:20,114 INFO L86 InductivityCheck]: Starting indutivity check of a Floyd-Hoare automaton with 9 states. [2020-07-18 05:12:20,200 INFO L119 InductivityCheck]: Floyd-Hoare automaton has 53 edges. 53 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2020-07-18 05:12:20,200 INFO L459 AbstractCegarLoop]: Interpolant automaton has 9 states [2020-07-18 05:12:20,200 INFO L143 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy FIXED_PREFERENCES [2020-07-18 05:12:20,201 INFO L142 InterpolantAutomaton]: Constructing interpolant automaton starting with 9 interpolants. [2020-07-18 05:12:20,201 INFO L144 InterpolantAutomaton]: CoverageRelationStatistics Valid=16, Invalid=56, Unknown=0, NotChecked=0, Total=72 [2020-07-18 05:12:20,201 INFO L87 Difference]: Start difference. First operand 69 states and 75 transitions. Second operand 9 states. [2020-07-18 05:12:21,332 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2020-07-18 05:12:21,332 INFO L93 Difference]: Finished difference Result 99 states and 111 transitions. [2020-07-18 05:12:21,332 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 11 states. [2020-07-18 05:12:21,332 INFO L78 Accepts]: Start accepts. Automaton has 9 states. Word has length 61 [2020-07-18 05:12:21,333 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2020-07-18 05:12:21,333 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 9 states. [2020-07-18 05:12:21,336 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 11 states to 11 states and 111 transitions. [2020-07-18 05:12:21,337 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 9 states. [2020-07-18 05:12:21,340 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 11 states to 11 states and 111 transitions. [2020-07-18 05:12:21,341 INFO L86 InductivityCheck]: Starting indutivity check of a Floyd-Hoare automaton with 11 states and 111 transitions. [2020-07-18 05:12:21,524 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 05:12:21,527 INFO L225 Difference]: With dead ends: 99 [2020-07-18 05:12:21,527 INFO L226 Difference]: Without dead ends: 65 [2020-07-18 05:12:21,528 INFO L675 BasicCegarLoop]: 0 DeclaredPredicates, 19 GetRequests, 10 SyntacticMatches, 0 SemanticMatches, 9 ConstructedPredicates, 0 IntricatePredicates, 0 DeprecatedPredicates, 4 ImplicationChecksByTransitivity, 0.1s TimeCoverageRelationStatistics Valid=24, Invalid=86, Unknown=0, NotChecked=0, Total=110 [2020-07-18 05:12:21,529 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 65 states. [2020-07-18 05:12:21,676 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 65 to 61. [2020-07-18 05:12:21,676 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2020-07-18 05:12:21,676 INFO L82 GeneralOperation]: Start isEquivalent. First operand 65 states. Second operand 61 states. [2020-07-18 05:12:21,676 INFO L74 IsIncluded]: Start isIncluded. First operand 65 states. Second operand 61 states. [2020-07-18 05:12:21,677 INFO L87 Difference]: Start difference. First operand 65 states. Second operand 61 states. [2020-07-18 05:12:21,681 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2020-07-18 05:12:21,681 INFO L93 Difference]: Finished difference Result 65 states and 72 transitions. [2020-07-18 05:12:21,681 INFO L276 IsEmpty]: Start isEmpty. Operand 65 states and 72 transitions. [2020-07-18 05:12:21,682 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2020-07-18 05:12:21,682 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2020-07-18 05:12:21,682 INFO L74 IsIncluded]: Start isIncluded. First operand 61 states. Second operand 65 states. [2020-07-18 05:12:21,683 INFO L87 Difference]: Start difference. First operand 61 states. Second operand 65 states. [2020-07-18 05:12:21,686 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2020-07-18 05:12:21,687 INFO L93 Difference]: Finished difference Result 65 states and 72 transitions. [2020-07-18 05:12:21,687 INFO L276 IsEmpty]: Start isEmpty. Operand 65 states and 72 transitions. [2020-07-18 05:12:21,688 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2020-07-18 05:12:21,688 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2020-07-18 05:12:21,688 INFO L88 GeneralOperation]: Finished isEquivalent. [2020-07-18 05:12:21,688 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2020-07-18 05:12:21,688 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 61 states. [2020-07-18 05:12:21,691 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 61 states to 61 states and 66 transitions. [2020-07-18 05:12:21,692 INFO L78 Accepts]: Start accepts. Automaton has 61 states and 66 transitions. Word has length 61 [2020-07-18 05:12:21,692 INFO L84 Accepts]: Finished accepts. word is rejected. [2020-07-18 05:12:21,692 INFO L479 AbstractCegarLoop]: Abstraction has 61 states and 66 transitions. [2020-07-18 05:12:21,692 INFO L480 AbstractCegarLoop]: Interpolant automaton has 9 states. [2020-07-18 05:12:21,692 INFO L86 InductivityCheck]: Starting indutivity check of a Floyd-Hoare automaton with 61 states and 66 transitions. [2020-07-18 05:12:21,802 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 05:12:21,802 INFO L276 IsEmpty]: Start isEmpty. Operand 61 states and 66 transitions. [2020-07-18 05:12:21,803 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 62 [2020-07-18 05:12:21,803 INFO L414 BasicCegarLoop]: Found error trace [2020-07-18 05:12:21,803 INFO L422 BasicCegarLoop]: trace histogram [2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1] [2020-07-18 05:12:21,803 WARN L516 AbstractCegarLoop]: Destroyed unattended storables created during the last iteration: SelfDestructingSolverStorable2 [2020-07-18 05:12:21,803 INFO L427 AbstractCegarLoop]: === Iteration 4 === [__blast_assertErr0ASSERT_VIOLATIONERROR_FUNCTION]=== [2020-07-18 05:12:21,804 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2020-07-18 05:12:21,804 INFO L82 PathProgramCache]: Analyzing trace with hash -1723385860, now seen corresponding path program 1 times [2020-07-18 05:12:21,804 INFO L163 FreeRefinementEngine]: Executing refinement strategy FIXED_PREFERENCES [2020-07-18 05:12:21,804 INFO L354 FreeRefinementEngine]: Using trace check IpTcStrategyModulePreferences [151874668] [2020-07-18 05:12:21,804 INFO L94 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2020-07-18 05:12:21,826 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2020-07-18 05:12:22,019 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2020-07-18 05:12:22,058 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 05:12:22,058 INFO L280 TraceCheckUtils]: 1: Hoare triple {1721#true} #valid := #valid[0 := 0]; {1721#true} is VALID [2020-07-18 05:12:22,059 INFO L280 TraceCheckUtils]: 2: Hoare triple {1721#true} assume 0 < #StackHeapBarrier; {1721#true} is VALID [2020-07-18 05:12:22,061 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 05:12:22,061 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 05:12:22,063 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 05:12:22,064 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 05:12:22,065 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 05:12:22,066 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 05:12:22,067 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 05:12:22,086 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2020-07-18 05:12:22,155 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2020-07-18 05:12:22,210 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 05:12:22,210 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 05:12:22,211 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 05:12:22,212 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 05:12:22,212 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 05:12:22,213 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 05:12:22,214 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 05:12:22,214 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 05:12:22,215 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 05:12:22,215 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 05:12:22,217 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 05:12:22,218 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 05:12:22,219 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 05:12:22,220 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 05:12:22,221 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 05:12:22,222 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 05:12:22,223 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 05:12:22,224 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 05:12:22,225 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 05:12:22,226 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 05:12:22,227 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 05:12:22,228 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 05:12:22,229 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 05:12:22,230 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 05:12:22,232 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 05:12:22,233 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 05:12:22,234 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 05:12:22,236 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 05:12:22,242 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2020-07-18 05:12:22,300 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2020-07-18 05:12:22,341 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 05:12:22,342 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 05:12:22,343 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 05:12:22,343 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 05:12:22,344 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 05:12:22,345 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 05:12:22,345 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 05:12:22,346 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 05:12:22,347 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 05:12:22,348 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 05:12:22,349 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 05:12:22,350 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 05:12:22,352 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 05:12:22,352 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 05:12:22,353 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 05:12:22,354 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 05:12:22,355 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 05:12:22,355 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 05:12:22,356 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 05:12:22,356 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 05:12:22,357 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 05:12:22,358 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 05:12:22,358 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 05:12:22,360 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 05:12:22,361 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 05:12:22,362 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 05:12:22,362 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 05:12:22,364 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 05:12:22,366 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 05:12:22,366 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 05:12:22,367 INFO L280 TraceCheckUtils]: 2: Hoare triple {1721#true} #valid := #valid[0 := 0]; {1721#true} is VALID [2020-07-18 05:12:22,367 INFO L280 TraceCheckUtils]: 3: Hoare triple {1721#true} assume 0 < #StackHeapBarrier; {1721#true} is VALID [2020-07-18 05:12:22,368 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 05:12:22,369 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 05:12:22,370 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 05:12:22,371 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 05:12:22,372 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 05:12:22,372 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 05:12:22,373 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 05:12:22,374 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 05:12:22,375 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 05:12:22,376 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 05:12:22,377 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 05:12:22,377 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 05:12:22,378 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 05:12:22,379 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 05:12:22,380 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 05:12:22,381 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 05:12:22,382 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 05:12:22,382 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 05:12:22,383 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 05:12:22,384 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 05:12:22,384 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 05:12:22,385 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 05:12:22,386 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 05:12:22,387 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 05:12:22,388 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 05:12:22,388 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 05:12:22,389 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 05:12:22,390 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 05:12:22,391 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 05:12:22,398 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 05:12:22,400 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 05:12:22,406 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 05:12:22,407 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 05:12:22,407 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 05:12:22,408 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 05:12:22,409 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 05:12:22,409 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 05:12:22,410 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 05:12:22,411 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 05:12:22,411 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 05:12:22,412 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 05:12:22,412 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 05:12:22,413 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 05:12:22,414 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 05:12:22,415 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 05:12:22,416 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 05:12:22,416 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 05:12:22,418 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 05:12:22,419 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 05:12:22,420 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 05:12:22,421 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 05:12:22,422 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 05:12:22,423 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 05:12:22,424 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 05:12:22,424 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 05:12:22,425 INFO L263 TraceCheckUtils]: 59: Hoare triple {1722#false} call __blast_assert(); {1722#false} is VALID [2020-07-18 05:12:22,425 INFO L280 TraceCheckUtils]: 60: Hoare triple {1722#false} assume !false; {1722#false} is VALID [2020-07-18 05:12:22,433 INFO L134 CoverageAnalysis]: Checked inductivity of 17 backedges. 0 proven. 6 refuted. 0 times theorem prover too weak. 11 trivial. 0 not checked. [2020-07-18 05:12:22,434 INFO L354 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModulePreferences [151874668] [2020-07-18 05:12:22,434 INFO L220 FreeRefinementEngine]: Constructing automaton from 0 perfect and 1 imperfect interpolant sequences. [2020-07-18 05:12:22,434 INFO L233 FreeRefinementEngine]: Number of different interpolants: perfect sequences [] imperfect sequences [17] total 17 [2020-07-18 05:12:22,434 INFO L156 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [764168238] [2020-07-18 05:12:22,436 INFO L78 Accepts]: Start accepts. Automaton has 17 states. Word has length 61 [2020-07-18 05:12:22,439 INFO L84 Accepts]: Finished accepts. word is accepted. [2020-07-18 05:12:22,439 INFO L86 InductivityCheck]: Starting indutivity check of a Floyd-Hoare automaton with 17 states. [2020-07-18 05:12:22,507 INFO L119 InductivityCheck]: Floyd-Hoare automaton has 51 edges. 51 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2020-07-18 05:12:22,508 INFO L459 AbstractCegarLoop]: Interpolant automaton has 17 states [2020-07-18 05:12:22,508 INFO L143 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy FIXED_PREFERENCES [2020-07-18 05:12:22,508 INFO L142 InterpolantAutomaton]: Constructing interpolant automaton starting with 17 interpolants. [2020-07-18 05:12:22,509 INFO L144 InterpolantAutomaton]: CoverageRelationStatistics Valid=35, Invalid=237, Unknown=0, NotChecked=0, Total=272 [2020-07-18 05:12:22,509 INFO L87 Difference]: Start difference. First operand 61 states and 66 transitions. Second operand 17 states. [2020-07-18 05:12:26,520 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2020-07-18 05:12:26,520 INFO L93 Difference]: Finished difference Result 108 states and 121 transitions. [2020-07-18 05:12:26,521 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 23 states. [2020-07-18 05:12:26,521 INFO L78 Accepts]: Start accepts. Automaton has 17 states. Word has length 61 [2020-07-18 05:12:26,521 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2020-07-18 05:12:26,521 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 17 states. [2020-07-18 05:12:26,525 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 23 states to 23 states and 121 transitions. [2020-07-18 05:12:26,526 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 17 states. [2020-07-18 05:12:26,530 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 23 states to 23 states and 121 transitions. [2020-07-18 05:12:26,530 INFO L86 InductivityCheck]: Starting indutivity check of a Floyd-Hoare automaton with 23 states and 121 transitions. [2020-07-18 05:12:26,738 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 05:12:26,744 INFO L225 Difference]: With dead ends: 108 [2020-07-18 05:12:26,744 INFO L226 Difference]: Without dead ends: 105 [2020-07-18 05:12:26,745 INFO L675 BasicCegarLoop]: 0 DeclaredPredicates, 44 GetRequests, 13 SyntacticMatches, 0 SemanticMatches, 31 ConstructedPredicates, 0 IntricatePredicates, 0 DeprecatedPredicates, 126 ImplicationChecksByTransitivity, 0.7s TimeCoverageRelationStatistics Valid=150, Invalid=906, Unknown=0, NotChecked=0, Total=1056 [2020-07-18 05:12:26,746 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 105 states. [2020-07-18 05:12:27,103 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 105 to 88. [2020-07-18 05:12:27,104 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2020-07-18 05:12:27,104 INFO L82 GeneralOperation]: Start isEquivalent. First operand 105 states. Second operand 88 states. [2020-07-18 05:12:27,104 INFO L74 IsIncluded]: Start isIncluded. First operand 105 states. Second operand 88 states. [2020-07-18 05:12:27,104 INFO L87 Difference]: Start difference. First operand 105 states. Second operand 88 states. [2020-07-18 05:12:27,113 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2020-07-18 05:12:27,113 INFO L93 Difference]: Finished difference Result 105 states and 118 transitions. [2020-07-18 05:12:27,114 INFO L276 IsEmpty]: Start isEmpty. Operand 105 states and 118 transitions. [2020-07-18 05:12:27,114 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2020-07-18 05:12:27,115 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2020-07-18 05:12:27,115 INFO L74 IsIncluded]: Start isIncluded. First operand 88 states. Second operand 105 states. [2020-07-18 05:12:27,115 INFO L87 Difference]: Start difference. First operand 88 states. Second operand 105 states. [2020-07-18 05:12:27,122 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2020-07-18 05:12:27,123 INFO L93 Difference]: Finished difference Result 105 states and 118 transitions. [2020-07-18 05:12:27,123 INFO L276 IsEmpty]: Start isEmpty. Operand 105 states and 118 transitions. [2020-07-18 05:12:27,124 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2020-07-18 05:12:27,124 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2020-07-18 05:12:27,124 INFO L88 GeneralOperation]: Finished isEquivalent. [2020-07-18 05:12:27,124 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2020-07-18 05:12:27,125 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 88 states. [2020-07-18 05:12:27,130 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 88 states to 88 states and 101 transitions. [2020-07-18 05:12:27,131 INFO L78 Accepts]: Start accepts. Automaton has 88 states and 101 transitions. Word has length 61 [2020-07-18 05:12:27,131 INFO L84 Accepts]: Finished accepts. word is rejected. [2020-07-18 05:12:27,131 INFO L479 AbstractCegarLoop]: Abstraction has 88 states and 101 transitions. [2020-07-18 05:12:27,131 INFO L480 AbstractCegarLoop]: Interpolant automaton has 17 states. [2020-07-18 05:12:27,132 INFO L86 InductivityCheck]: Starting indutivity check of a Floyd-Hoare automaton with 88 states and 101 transitions. [2020-07-18 05:12:27,348 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 05:12:27,348 INFO L276 IsEmpty]: Start isEmpty. Operand 88 states and 101 transitions. [2020-07-18 05:12:27,349 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 71 [2020-07-18 05:12:27,350 INFO L414 BasicCegarLoop]: Found error trace [2020-07-18 05:12:27,350 INFO L422 BasicCegarLoop]: trace histogram [2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1] [2020-07-18 05:12:27,350 WARN L516 AbstractCegarLoop]: Destroyed unattended storables created during the last iteration: SelfDestructingSolverStorable3 [2020-07-18 05:12:27,351 INFO L427 AbstractCegarLoop]: === Iteration 5 === [__blast_assertErr0ASSERT_VIOLATIONERROR_FUNCTION]=== [2020-07-18 05:12:27,351 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2020-07-18 05:12:27,351 INFO L82 PathProgramCache]: Analyzing trace with hash -1814582916, now seen corresponding path program 1 times [2020-07-18 05:12:27,351 INFO L163 FreeRefinementEngine]: Executing refinement strategy FIXED_PREFERENCES [2020-07-18 05:12:27,352 INFO L354 FreeRefinementEngine]: Using trace check IpTcStrategyModulePreferences [1609142550] [2020-07-18 05:12:27,352 INFO L94 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2020-07-18 05:12:27,372 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2020-07-18 05:12:27,531 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2020-07-18 05:12:27,553 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 05:12:27,554 INFO L280 TraceCheckUtils]: 1: Hoare triple {2440#true} #valid := #valid[0 := 0]; {2440#true} is VALID [2020-07-18 05:12:27,554 INFO L280 TraceCheckUtils]: 2: Hoare triple {2440#true} assume 0 < #StackHeapBarrier; {2440#true} is VALID [2020-07-18 05:12:27,555 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 05:12:27,555 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 05:12:27,556 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 05:12:27,557 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 05:12:27,558 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 05:12:27,559 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 05:12:27,559 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 05:12:27,579 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2020-07-18 05:12:27,639 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2020-07-18 05:12:27,728 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 05:12:27,728 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 05:12:27,729 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 05:12:27,730 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 05:12:27,731 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 05:12:27,732 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 05:12:27,733 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 05:12:27,734 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 05:12:27,735 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 05:12:27,736 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 05:12:27,737 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 05:12:27,739 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 05:12:27,740 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 05:12:27,741 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 05:12:27,742 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 05:12:27,743 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 05:12:27,744 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 05:12:27,745 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 05:12:27,746 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 05:12:27,746 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 05:12:27,747 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 05:12:27,748 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 05:12:27,749 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 05:12:27,750 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 05:12:27,751 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 05:12:27,752 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 05:12:27,752 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 05:12:27,754 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 05:12:27,757 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2020-07-18 05:12:27,764 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2020-07-18 05:12:27,769 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 05:12:27,769 INFO L280 TraceCheckUtils]: 1: Hoare triple {2440#true} assume ~size > 0; {2440#true} is VALID [2020-07-18 05:12:27,770 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 05:12:27,770 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 05:12:27,770 INFO L280 TraceCheckUtils]: 4: Hoare triple {2440#true} havoc #t~post28.base, #t~post28.offset; {2440#true} is VALID [2020-07-18 05:12:27,770 INFO L280 TraceCheckUtils]: 5: Hoare triple {2440#true} assume -2147483648 <= #t~nondet29 && #t~nondet29 <= 2147483647; {2440#true} is VALID [2020-07-18 05:12:27,771 INFO L280 TraceCheckUtils]: 6: Hoare triple {2440#true} assume !(0 == #t~nondet29); {2440#true} is VALID [2020-07-18 05:12:27,771 INFO L280 TraceCheckUtils]: 7: Hoare triple {2440#true} havoc #t~nondet29; {2440#true} is VALID [2020-07-18 05:12:27,771 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 05:12:27,771 INFO L280 TraceCheckUtils]: 9: Hoare triple {2440#true} assume true; {2440#true} is VALID [2020-07-18 05:12:27,771 INFO L275 TraceCheckUtils]: 10: Hoare quadruple {2440#true} {2440#true} #92#return; {2440#true} is VALID [2020-07-18 05:12:27,772 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 05:12:27,773 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 05:12:27,773 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 05:12:27,774 INFO L280 TraceCheckUtils]: 3: Hoare triple {2440#true} assume ~size > 0; {2440#true} is VALID [2020-07-18 05:12:27,774 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 05:12:27,774 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 05:12:27,774 INFO L280 TraceCheckUtils]: 6: Hoare triple {2440#true} havoc #t~post28.base, #t~post28.offset; {2440#true} is VALID [2020-07-18 05:12:27,775 INFO L280 TraceCheckUtils]: 7: Hoare triple {2440#true} assume -2147483648 <= #t~nondet29 && #t~nondet29 <= 2147483647; {2440#true} is VALID [2020-07-18 05:12:27,775 INFO L280 TraceCheckUtils]: 8: Hoare triple {2440#true} assume !(0 == #t~nondet29); {2440#true} is VALID [2020-07-18 05:12:27,775 INFO L280 TraceCheckUtils]: 9: Hoare triple {2440#true} havoc #t~nondet29; {2440#true} is VALID [2020-07-18 05:12:27,775 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 05:12:27,775 INFO L280 TraceCheckUtils]: 11: Hoare triple {2440#true} assume true; {2440#true} is VALID [2020-07-18 05:12:27,776 INFO L275 TraceCheckUtils]: 12: Hoare quadruple {2440#true} {2440#true} #92#return; {2440#true} is VALID [2020-07-18 05:12:27,776 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 05:12:27,776 INFO L280 TraceCheckUtils]: 14: Hoare triple {2440#true} havoc #t~ret30.base, #t~ret30.offset; {2440#true} is VALID [2020-07-18 05:12:27,777 INFO L280 TraceCheckUtils]: 15: Hoare triple {2440#true} assume true; {2440#true} is VALID [2020-07-18 05:12:27,778 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 05:12:27,809 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2020-07-18 05:12:27,840 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 05:12:27,841 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 05:12:27,842 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 05:12:27,843 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 05:12:27,844 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 05:12:27,844 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 05:12:27,845 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 05:12:27,847 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 05:12:27,849 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 05:12:27,849 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 05:12:27,850 INFO L280 TraceCheckUtils]: 2: Hoare triple {2440#true} #valid := #valid[0 := 0]; {2440#true} is VALID [2020-07-18 05:12:27,850 INFO L280 TraceCheckUtils]: 3: Hoare triple {2440#true} assume 0 < #StackHeapBarrier; {2440#true} is VALID [2020-07-18 05:12:27,851 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 05:12:27,852 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 05:12:27,853 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 05:12:27,854 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 05:12:27,855 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 05:12:27,856 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 05:12:27,858 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 05:12:27,859 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 05:12:27,859 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 05:12:27,860 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 05:12:27,861 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 05:12:27,862 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 05:12:27,863 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 05:12:27,864 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 05:12:27,864 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 05:12:27,865 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 05:12:27,866 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 05:12:27,866 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 05:12:27,867 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 05:12:27,868 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 05:12:27,868 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 05:12:27,869 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 05:12:27,870 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 05:12:27,871 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 05:12:27,873 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 05:12:27,876 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 05:12:27,876 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 05:12:27,877 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 05:12:27,878 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 05:12:27,879 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 05:12:27,880 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 05:12:27,880 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 05:12:27,881 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 05:12:27,881 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 05:12:27,882 INFO L280 TraceCheckUtils]: 38: Hoare triple {2440#true} assume ~size > 0; {2440#true} is VALID [2020-07-18 05:12:27,882 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 05:12:27,882 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 05:12:27,882 INFO L280 TraceCheckUtils]: 41: Hoare triple {2440#true} havoc #t~post28.base, #t~post28.offset; {2440#true} is VALID [2020-07-18 05:12:27,883 INFO L280 TraceCheckUtils]: 42: Hoare triple {2440#true} assume -2147483648 <= #t~nondet29 && #t~nondet29 <= 2147483647; {2440#true} is VALID [2020-07-18 05:12:27,883 INFO L280 TraceCheckUtils]: 43: Hoare triple {2440#true} assume !(0 == #t~nondet29); {2440#true} is VALID [2020-07-18 05:12:27,883 INFO L280 TraceCheckUtils]: 44: Hoare triple {2440#true} havoc #t~nondet29; {2440#true} is VALID [2020-07-18 05:12:27,883 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 05:12:27,884 INFO L280 TraceCheckUtils]: 46: Hoare triple {2440#true} assume true; {2440#true} is VALID [2020-07-18 05:12:27,884 INFO L275 TraceCheckUtils]: 47: Hoare quadruple {2440#true} {2440#true} #92#return; {2440#true} is VALID [2020-07-18 05:12:27,884 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 05:12:27,885 INFO L280 TraceCheckUtils]: 49: Hoare triple {2440#true} havoc #t~ret30.base, #t~ret30.offset; {2440#true} is VALID [2020-07-18 05:12:27,885 INFO L280 TraceCheckUtils]: 50: Hoare triple {2440#true} assume true; {2440#true} is VALID [2020-07-18 05:12:27,886 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 05:12:27,887 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 05:12:27,888 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 05:12:27,889 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 05:12:27,891 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 05:12:27,892 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 05:12:27,893 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 05:12:27,893 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 05:12:27,894 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 05:12:27,895 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 05:12:27,896 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 05:12:27,897 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 05:12:27,899 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 05:12:27,901 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 05:12:27,902 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 05:12:27,903 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 05:12:27,904 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 05:12:27,904 INFO L263 TraceCheckUtils]: 68: Hoare triple {2441#false} call __blast_assert(); {2441#false} is VALID [2020-07-18 05:12:27,904 INFO L280 TraceCheckUtils]: 69: Hoare triple {2441#false} assume !false; {2441#false} is VALID [2020-07-18 05:12:27,913 INFO L134 CoverageAnalysis]: Checked inductivity of 20 backedges. 0 proven. 18 refuted. 0 times theorem prover too weak. 2 trivial. 0 not checked. [2020-07-18 05:12:27,913 INFO L354 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModulePreferences [1609142550] [2020-07-18 05:12:27,913 INFO L220 FreeRefinementEngine]: Constructing automaton from 0 perfect and 1 imperfect interpolant sequences. [2020-07-18 05:12:27,913 INFO L233 FreeRefinementEngine]: Number of different interpolants: perfect sequences [] imperfect sequences [18] total 18 [2020-07-18 05:12:27,914 INFO L156 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [1327057482] [2020-07-18 05:12:27,914 INFO L78 Accepts]: Start accepts. Automaton has 18 states. Word has length 70 [2020-07-18 05:12:27,915 INFO L84 Accepts]: Finished accepts. word is accepted. [2020-07-18 05:12:27,915 INFO L86 InductivityCheck]: Starting indutivity check of a Floyd-Hoare automaton with 18 states. [2020-07-18 05:12:27,995 INFO L119 InductivityCheck]: Floyd-Hoare automaton has 70 edges. 70 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2020-07-18 05:12:27,995 INFO L459 AbstractCegarLoop]: Interpolant automaton has 18 states [2020-07-18 05:12:27,996 INFO L143 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy FIXED_PREFERENCES [2020-07-18 05:12:27,996 INFO L142 InterpolantAutomaton]: Constructing interpolant automaton starting with 18 interpolants. [2020-07-18 05:12:27,996 INFO L144 InterpolantAutomaton]: CoverageRelationStatistics Valid=40, Invalid=266, Unknown=0, NotChecked=0, Total=306 [2020-07-18 05:12:27,997 INFO L87 Difference]: Start difference. First operand 88 states and 101 transitions. Second operand 18 states. [2020-07-18 05:12:31,924 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2020-07-18 05:12:31,924 INFO L93 Difference]: Finished difference Result 113 states and 129 transitions. [2020-07-18 05:12:31,924 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 22 states. [2020-07-18 05:12:31,925 INFO L78 Accepts]: Start accepts. Automaton has 18 states. Word has length 70 [2020-07-18 05:12:31,925 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2020-07-18 05:12:31,925 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 18 states. [2020-07-18 05:12:31,929 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 22 states to 22 states and 102 transitions. [2020-07-18 05:12:31,930 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 18 states. [2020-07-18 05:12:31,933 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 22 states to 22 states and 102 transitions. [2020-07-18 05:12:31,933 INFO L86 InductivityCheck]: Starting indutivity check of a Floyd-Hoare automaton with 22 states and 102 transitions. [2020-07-18 05:12:32,126 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 05:12:32,133 INFO L225 Difference]: With dead ends: 113 [2020-07-18 05:12:32,133 INFO L226 Difference]: Without dead ends: 104 [2020-07-18 05:12:32,134 INFO L675 BasicCegarLoop]: 0 DeclaredPredicates, 44 GetRequests, 12 SyntacticMatches, 0 SemanticMatches, 32 ConstructedPredicates, 0 IntricatePredicates, 0 DeprecatedPredicates, 123 ImplicationChecksByTransitivity, 0.7s TimeCoverageRelationStatistics Valid=173, Invalid=949, Unknown=0, NotChecked=0, Total=1122 [2020-07-18 05:12:32,135 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 104 states. [2020-07-18 05:12:32,529 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 104 to 94. [2020-07-18 05:12:32,530 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2020-07-18 05:12:32,530 INFO L82 GeneralOperation]: Start isEquivalent. First operand 104 states. Second operand 94 states. [2020-07-18 05:12:32,530 INFO L74 IsIncluded]: Start isIncluded. First operand 104 states. Second operand 94 states. [2020-07-18 05:12:32,530 INFO L87 Difference]: Start difference. First operand 104 states. Second operand 94 states. [2020-07-18 05:12:32,535 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2020-07-18 05:12:32,536 INFO L93 Difference]: Finished difference Result 104 states and 118 transitions. [2020-07-18 05:12:32,536 INFO L276 IsEmpty]: Start isEmpty. Operand 104 states and 118 transitions. [2020-07-18 05:12:32,537 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2020-07-18 05:12:32,537 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2020-07-18 05:12:32,537 INFO L74 IsIncluded]: Start isIncluded. First operand 94 states. Second operand 104 states. [2020-07-18 05:12:32,537 INFO L87 Difference]: Start difference. First operand 94 states. Second operand 104 states. [2020-07-18 05:12:32,542 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2020-07-18 05:12:32,543 INFO L93 Difference]: Finished difference Result 104 states and 118 transitions. [2020-07-18 05:12:32,543 INFO L276 IsEmpty]: Start isEmpty. Operand 104 states and 118 transitions. [2020-07-18 05:12:32,544 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2020-07-18 05:12:32,544 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2020-07-18 05:12:32,544 INFO L88 GeneralOperation]: Finished isEquivalent. [2020-07-18 05:12:32,544 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2020-07-18 05:12:32,544 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 94 states. [2020-07-18 05:12:32,548 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 94 states to 94 states and 107 transitions. [2020-07-18 05:12:32,549 INFO L78 Accepts]: Start accepts. Automaton has 94 states and 107 transitions. Word has length 70 [2020-07-18 05:12:32,549 INFO L84 Accepts]: Finished accepts. word is rejected. [2020-07-18 05:12:32,549 INFO L479 AbstractCegarLoop]: Abstraction has 94 states and 107 transitions. [2020-07-18 05:12:32,549 INFO L480 AbstractCegarLoop]: Interpolant automaton has 18 states. [2020-07-18 05:12:32,549 INFO L86 InductivityCheck]: Starting indutivity check of a Floyd-Hoare automaton with 94 states and 107 transitions. [2020-07-18 05:12:32,785 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 05:12:32,786 INFO L276 IsEmpty]: Start isEmpty. Operand 94 states and 107 transitions. [2020-07-18 05:12:32,789 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 72 [2020-07-18 05:12:32,790 INFO L414 BasicCegarLoop]: Found error trace [2020-07-18 05:12:32,790 INFO L422 BasicCegarLoop]: trace histogram [2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1] [2020-07-18 05:12:32,790 WARN L516 AbstractCegarLoop]: Destroyed unattended storables created during the last iteration: SelfDestructingSolverStorable4 [2020-07-18 05:12:32,790 INFO L427 AbstractCegarLoop]: === Iteration 6 === [__blast_assertErr0ASSERT_VIOLATIONERROR_FUNCTION]=== [2020-07-18 05:12:32,790 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2020-07-18 05:12:32,791 INFO L82 PathProgramCache]: Analyzing trace with hash 983151375, now seen corresponding path program 1 times [2020-07-18 05:12:32,791 INFO L163 FreeRefinementEngine]: Executing refinement strategy FIXED_PREFERENCES [2020-07-18 05:12:32,791 INFO L354 FreeRefinementEngine]: Using trace check IpTcStrategyModulePreferences [878521587] [2020-07-18 05:12:32,791 INFO L94 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2020-07-18 05:12:32,818 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2020-07-18 05:12:32,985 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2020-07-18 05:12:32,993 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 05:12:32,994 INFO L280 TraceCheckUtils]: 1: Hoare triple {3189#true} #valid := #valid[0 := 0]; {3189#true} is VALID [2020-07-18 05:12:32,996 INFO L280 TraceCheckUtils]: 2: Hoare triple {3189#true} assume 0 < #StackHeapBarrier; {3189#true} is VALID [2020-07-18 05:12:32,996 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 05:12:32,996 INFO L280 TraceCheckUtils]: 4: Hoare triple {3189#true} ~elem~0.base, ~elem~0.offset := 0, 0; {3189#true} is VALID [2020-07-18 05:12:32,997 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 05:12:32,997 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 05:12:32,997 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 05:12:32,997 INFO L280 TraceCheckUtils]: 8: Hoare triple {3189#true} assume true; {3189#true} is VALID [2020-07-18 05:12:32,998 INFO L275 TraceCheckUtils]: 9: Hoare quadruple {3189#true} {3189#true} #112#return; {3189#true} is VALID [2020-07-18 05:12:33,022 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2020-07-18 05:12:33,072 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2020-07-18 05:12:33,096 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 05:12:33,096 INFO L280 TraceCheckUtils]: 1: Hoare triple {3189#true} assume ~size > 0; {3189#true} is VALID [2020-07-18 05:12:33,096 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 05:12:33,096 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 05:12:33,097 INFO L280 TraceCheckUtils]: 4: Hoare triple {3189#true} havoc #t~post28.base, #t~post28.offset; {3189#true} is VALID [2020-07-18 05:12:33,097 INFO L280 TraceCheckUtils]: 5: Hoare triple {3189#true} assume -2147483648 <= #t~nondet29 && #t~nondet29 <= 2147483647; {3189#true} is VALID [2020-07-18 05:12:33,097 INFO L280 TraceCheckUtils]: 6: Hoare triple {3189#true} assume !(0 == #t~nondet29); {3189#true} is VALID [2020-07-18 05:12:33,097 INFO L280 TraceCheckUtils]: 7: Hoare triple {3189#true} havoc #t~nondet29; {3189#true} is VALID [2020-07-18 05:12:33,098 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 05:12:33,098 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 05:12:33,100 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 05:12:33,100 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 05:12:33,101 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 05:12:33,101 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 05:12:33,101 INFO L280 TraceCheckUtils]: 3: Hoare triple {3189#true} assume ~size > 0; {3189#true} is VALID [2020-07-18 05:12:33,102 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 05:12:33,102 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 05:12:33,102 INFO L280 TraceCheckUtils]: 6: Hoare triple {3189#true} havoc #t~post28.base, #t~post28.offset; {3189#true} is VALID [2020-07-18 05:12:33,102 INFO L280 TraceCheckUtils]: 7: Hoare triple {3189#true} assume -2147483648 <= #t~nondet29 && #t~nondet29 <= 2147483647; {3189#true} is VALID [2020-07-18 05:12:33,103 INFO L280 TraceCheckUtils]: 8: Hoare triple {3189#true} assume !(0 == #t~nondet29); {3189#true} is VALID [2020-07-18 05:12:33,103 INFO L280 TraceCheckUtils]: 9: Hoare triple {3189#true} havoc #t~nondet29; {3189#true} is VALID [2020-07-18 05:12:33,103 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 05:12:33,104 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 05:12:33,105 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 05:12:33,106 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 05:12:33,106 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 05:12:33,107 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 05:12:33,108 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 05:12:33,111 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2020-07-18 05:12:33,200 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2020-07-18 05:12:33,285 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 05:12:33,286 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 05:12:33,287 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 05:12:33,287 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 05:12:33,288 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 05:12:33,289 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 05:12:33,289 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 05:12:33,290 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 05:12:33,290 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 05:12:33,291 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 05:12:33,292 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 05:12:33,293 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 05:12:33,294 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 05:12:33,295 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 05:12:33,296 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 05:12:33,297 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 05:12:33,298 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 05:12:33,298 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 05:12:33,299 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 05:12:33,299 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 05:12:33,300 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 05:12:33,301 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 05:12:33,301 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 05:12:33,303 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 05:12:33,303 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 05:12:33,304 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 05:12:33,305 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 05:12:33,306 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 05:12:33,337 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2020-07-18 05:12:33,390 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 05:12:33,391 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 05:12:33,392 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 05:12:33,392 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 05:12:33,393 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 05:12:33,394 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 05:12:33,394 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 05:12:33,395 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 05:12:33,396 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 05:12:33,397 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 05:12:33,397 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 05:12:33,398 INFO L280 TraceCheckUtils]: 2: Hoare triple {3189#true} #valid := #valid[0 := 0]; {3189#true} is VALID [2020-07-18 05:12:33,398 INFO L280 TraceCheckUtils]: 3: Hoare triple {3189#true} assume 0 < #StackHeapBarrier; {3189#true} is VALID [2020-07-18 05:12:33,398 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 05:12:33,398 INFO L280 TraceCheckUtils]: 5: Hoare triple {3189#true} ~elem~0.base, ~elem~0.offset := 0, 0; {3189#true} is VALID [2020-07-18 05:12:33,398 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 05:12:33,399 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 05:12:33,399 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 05:12:33,399 INFO L280 TraceCheckUtils]: 9: Hoare triple {3189#true} assume true; {3189#true} is VALID [2020-07-18 05:12:33,399 INFO L275 TraceCheckUtils]: 10: Hoare quadruple {3189#true} {3189#true} #112#return; {3189#true} is VALID [2020-07-18 05:12:33,399 INFO L263 TraceCheckUtils]: 11: Hoare triple {3189#true} call #t~ret34 := main(); {3189#true} is VALID [2020-07-18 05:12:33,400 INFO L280 TraceCheckUtils]: 12: Hoare triple {3189#true} havoc ~dev1~0.base, ~dev1~0.offset; {3189#true} is VALID [2020-07-18 05:12:33,400 INFO L280 TraceCheckUtils]: 13: Hoare triple {3189#true} havoc ~dev2~0.base, ~dev2~0.offset; {3189#true} is VALID [2020-07-18 05:12:33,401 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 05:12:33,401 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 05:12:33,402 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 05:12:33,402 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 05:12:33,402 INFO L280 TraceCheckUtils]: 18: Hoare triple {3189#true} assume ~size > 0; {3189#true} is VALID [2020-07-18 05:12:33,402 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 05:12:33,402 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 05:12:33,403 INFO L280 TraceCheckUtils]: 21: Hoare triple {3189#true} havoc #t~post28.base, #t~post28.offset; {3189#true} is VALID [2020-07-18 05:12:33,403 INFO L280 TraceCheckUtils]: 22: Hoare triple {3189#true} assume -2147483648 <= #t~nondet29 && #t~nondet29 <= 2147483647; {3189#true} is VALID [2020-07-18 05:12:33,403 INFO L280 TraceCheckUtils]: 23: Hoare triple {3189#true} assume !(0 == #t~nondet29); {3189#true} is VALID [2020-07-18 05:12:33,403 INFO L280 TraceCheckUtils]: 24: Hoare triple {3189#true} havoc #t~nondet29; {3189#true} is VALID [2020-07-18 05:12:33,404 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 05:12:33,404 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 05:12:33,405 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 05:12:33,406 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 05:12:33,407 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 05:12:33,407 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 05:12:33,408 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 05:12:33,409 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 05:12:33,409 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 05:12:33,410 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 05:12:33,411 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 05:12:33,412 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 05:12:33,412 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 05:12:33,413 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 05:12:33,413 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 05:12:33,414 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 05:12:33,415 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 05:12:33,415 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 05:12:33,416 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 05:12:33,416 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 05:12:33,417 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 05:12:33,417 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 05:12:33,419 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 05:12:33,420 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 05:12:33,420 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 05:12:33,421 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 05:12:33,422 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 05:12:33,423 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 05:12:33,423 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 05:12:33,424 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 05:12:33,426 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 05:12:33,426 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 05:12:33,427 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 05:12:33,427 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 05:12:33,428 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 05:12:33,429 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 05:12:33,429 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 05:12:33,430 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 05:12:33,430 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 05:12:33,432 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 05:12:33,433 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 05:12:33,434 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 05:12:33,434 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 05:12:33,435 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 05:12:33,435 INFO L263 TraceCheckUtils]: 69: Hoare triple {3190#false} call __blast_assert(); {3190#false} is VALID [2020-07-18 05:12:33,435 INFO L280 TraceCheckUtils]: 70: Hoare triple {3190#false} assume !false; {3190#false} is VALID [2020-07-18 05:12:33,442 INFO L134 CoverageAnalysis]: Checked inductivity of 20 backedges. 9 proven. 9 refuted. 0 times theorem prover too weak. 2 trivial. 0 not checked. [2020-07-18 05:12:33,443 INFO L354 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModulePreferences [878521587] [2020-07-18 05:12:33,443 INFO L220 FreeRefinementEngine]: Constructing automaton from 0 perfect and 1 imperfect interpolant sequences. [2020-07-18 05:12:33,443 INFO L233 FreeRefinementEngine]: Number of different interpolants: perfect sequences [] imperfect sequences [23] total 23 [2020-07-18 05:12:33,443 INFO L156 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [2079033460] [2020-07-18 05:12:33,444 INFO L78 Accepts]: Start accepts. Automaton has 23 states. Word has length 71 [2020-07-18 05:12:33,445 INFO L84 Accepts]: Finished accepts. word is accepted. [2020-07-18 05:12:33,445 INFO L86 InductivityCheck]: Starting indutivity check of a Floyd-Hoare automaton with 23 states. [2020-07-18 05:12:33,516 INFO L119 InductivityCheck]: Floyd-Hoare automaton has 71 edges. 71 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2020-07-18 05:12:33,516 INFO L459 AbstractCegarLoop]: Interpolant automaton has 23 states [2020-07-18 05:12:33,517 INFO L143 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy FIXED_PREFERENCES [2020-07-18 05:12:33,517 INFO L142 InterpolantAutomaton]: Constructing interpolant automaton starting with 23 interpolants. [2020-07-18 05:12:33,517 INFO L144 InterpolantAutomaton]: CoverageRelationStatistics Valid=47, Invalid=459, Unknown=0, NotChecked=0, Total=506 [2020-07-18 05:12:33,518 INFO L87 Difference]: Start difference. First operand 94 states and 107 transitions. Second operand 23 states. [2020-07-18 05:12:39,918 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2020-07-18 05:12:39,918 INFO L93 Difference]: Finished difference Result 112 states and 129 transitions. [2020-07-18 05:12:39,919 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 26 states. [2020-07-18 05:12:39,919 INFO L78 Accepts]: Start accepts. Automaton has 23 states. Word has length 71 [2020-07-18 05:12:39,920 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2020-07-18 05:12:39,920 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 23 states. [2020-07-18 05:12:39,925 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 26 states to 26 states and 100 transitions. [2020-07-18 05:12:39,925 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 23 states. [2020-07-18 05:12:39,930 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 26 states to 26 states and 100 transitions. [2020-07-18 05:12:39,931 INFO L86 InductivityCheck]: Starting indutivity check of a Floyd-Hoare automaton with 26 states and 100 transitions. [2020-07-18 05:12:40,117 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 05:12:40,121 INFO L225 Difference]: With dead ends: 112 [2020-07-18 05:12:40,121 INFO L226 Difference]: Without dead ends: 105 [2020-07-18 05:12:40,122 INFO L675 BasicCegarLoop]: 0 DeclaredPredicates, 51 GetRequests, 9 SyntacticMatches, 0 SemanticMatches, 42 ConstructedPredicates, 0 IntricatePredicates, 0 DeprecatedPredicates, 205 ImplicationChecksByTransitivity, 1.1s TimeCoverageRelationStatistics Valid=210, Invalid=1682, Unknown=0, NotChecked=0, Total=1892 [2020-07-18 05:12:40,123 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 105 states. [2020-07-18 05:12:40,594 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 105 to 103. [2020-07-18 05:12:40,594 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2020-07-18 05:12:40,594 INFO L82 GeneralOperation]: Start isEquivalent. First operand 105 states. Second operand 103 states. [2020-07-18 05:12:40,594 INFO L74 IsIncluded]: Start isIncluded. First operand 105 states. Second operand 103 states. [2020-07-18 05:12:40,595 INFO L87 Difference]: Start difference. First operand 105 states. Second operand 103 states. [2020-07-18 05:12:40,599 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2020-07-18 05:12:40,599 INFO L93 Difference]: Finished difference Result 105 states and 116 transitions. [2020-07-18 05:12:40,600 INFO L276 IsEmpty]: Start isEmpty. Operand 105 states and 116 transitions. [2020-07-18 05:12:40,600 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2020-07-18 05:12:40,601 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2020-07-18 05:12:40,601 INFO L74 IsIncluded]: Start isIncluded. First operand 103 states. Second operand 105 states. [2020-07-18 05:12:40,601 INFO L87 Difference]: Start difference. First operand 103 states. Second operand 105 states. [2020-07-18 05:12:40,606 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2020-07-18 05:12:40,606 INFO L93 Difference]: Finished difference Result 105 states and 116 transitions. [2020-07-18 05:12:40,606 INFO L276 IsEmpty]: Start isEmpty. Operand 105 states and 116 transitions. [2020-07-18 05:12:40,607 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2020-07-18 05:12:40,607 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2020-07-18 05:12:40,607 INFO L88 GeneralOperation]: Finished isEquivalent. [2020-07-18 05:12:40,607 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2020-07-18 05:12:40,608 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 103 states. [2020-07-18 05:12:40,612 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 103 states to 103 states and 114 transitions. [2020-07-18 05:12:40,612 INFO L78 Accepts]: Start accepts. Automaton has 103 states and 114 transitions. Word has length 71 [2020-07-18 05:12:40,612 INFO L84 Accepts]: Finished accepts. word is rejected. [2020-07-18 05:12:40,613 INFO L479 AbstractCegarLoop]: Abstraction has 103 states and 114 transitions. [2020-07-18 05:12:40,613 INFO L480 AbstractCegarLoop]: Interpolant automaton has 23 states. [2020-07-18 05:12:40,613 INFO L86 InductivityCheck]: Starting indutivity check of a Floyd-Hoare automaton with 103 states and 114 transitions. [2020-07-18 05:12:40,879 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 05:12:40,880 INFO L276 IsEmpty]: Start isEmpty. Operand 103 states and 114 transitions. [2020-07-18 05:12:40,881 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 86 [2020-07-18 05:12:40,882 INFO L414 BasicCegarLoop]: Found error trace [2020-07-18 05:12:40,882 INFO L422 BasicCegarLoop]: trace histogram [3, 3, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1] [2020-07-18 05:12:40,882 WARN L516 AbstractCegarLoop]: Destroyed unattended storables created during the last iteration: SelfDestructingSolverStorable5 [2020-07-18 05:12:40,883 INFO L427 AbstractCegarLoop]: === Iteration 7 === [__blast_assertErr0ASSERT_VIOLATIONERROR_FUNCTION]=== [2020-07-18 05:12:40,883 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2020-07-18 05:12:40,883 INFO L82 PathProgramCache]: Analyzing trace with hash -1660138148, now seen corresponding path program 1 times [2020-07-18 05:12:40,884 INFO L163 FreeRefinementEngine]: Executing refinement strategy FIXED_PREFERENCES [2020-07-18 05:12:40,884 INFO L354 FreeRefinementEngine]: Using trace check IpTcStrategyModulePreferences [1966891470] [2020-07-18 05:12:40,884 INFO L94 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2020-07-18 05:12:40,909 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2020-07-18 05:12:41,065 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2020-07-18 05:12:41,077 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 05:12:41,078 INFO L280 TraceCheckUtils]: 1: Hoare triple {3971#true} #valid := #valid[0 := 0]; {3971#true} is VALID [2020-07-18 05:12:41,078 INFO L280 TraceCheckUtils]: 2: Hoare triple {3971#true} assume 0 < #StackHeapBarrier; {3971#true} is VALID [2020-07-18 05:12:41,078 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 05:12:41,078 INFO L280 TraceCheckUtils]: 4: Hoare triple {3971#true} ~elem~0.base, ~elem~0.offset := 0, 0; {3971#true} is VALID [2020-07-18 05:12:41,079 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 05:12:41,079 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 05:12:41,079 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 05:12:41,079 INFO L280 TraceCheckUtils]: 8: Hoare triple {3971#true} assume true; {3971#true} is VALID [2020-07-18 05:12:41,079 INFO L275 TraceCheckUtils]: 9: Hoare quadruple {3971#true} {3971#true} #112#return; {3971#true} is VALID [2020-07-18 05:12:41,102 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2020-07-18 05:12:41,153 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2020-07-18 05:12:41,177 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 05:12:41,178 INFO L280 TraceCheckUtils]: 1: Hoare triple {3971#true} assume ~size > 0; {3971#true} is VALID [2020-07-18 05:12:41,178 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 05:12:41,178 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 05:12:41,178 INFO L280 TraceCheckUtils]: 4: Hoare triple {3971#true} havoc #t~post28.base, #t~post28.offset; {3971#true} is VALID [2020-07-18 05:12:41,178 INFO L280 TraceCheckUtils]: 5: Hoare triple {3971#true} assume -2147483648 <= #t~nondet29 && #t~nondet29 <= 2147483647; {3971#true} is VALID [2020-07-18 05:12:41,179 INFO L280 TraceCheckUtils]: 6: Hoare triple {3971#true} assume !(0 == #t~nondet29); {3971#true} is VALID [2020-07-18 05:12:41,179 INFO L280 TraceCheckUtils]: 7: Hoare triple {3971#true} havoc #t~nondet29; {3971#true} is VALID [2020-07-18 05:12:41,180 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 05:12:41,180 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 05:12:41,182 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 05:12:41,182 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 05:12:41,183 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 05:12:41,183 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 05:12:41,184 INFO L280 TraceCheckUtils]: 3: Hoare triple {3971#true} assume ~size > 0; {3971#true} is VALID [2020-07-18 05:12:41,184 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 05:12:41,184 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 05:12:41,184 INFO L280 TraceCheckUtils]: 6: Hoare triple {3971#true} havoc #t~post28.base, #t~post28.offset; {3971#true} is VALID [2020-07-18 05:12:41,184 INFO L280 TraceCheckUtils]: 7: Hoare triple {3971#true} assume -2147483648 <= #t~nondet29 && #t~nondet29 <= 2147483647; {3971#true} is VALID [2020-07-18 05:12:41,184 INFO L280 TraceCheckUtils]: 8: Hoare triple {3971#true} assume !(0 == #t~nondet29); {3971#true} is VALID [2020-07-18 05:12:41,185 INFO L280 TraceCheckUtils]: 9: Hoare triple {3971#true} havoc #t~nondet29; {3971#true} is VALID [2020-07-18 05:12:41,185 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 05:12:41,186 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 05:12:41,187 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 05:12:41,188 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 05:12:41,189 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 05:12:41,189 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 05:12:41,191 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 05:12:41,194 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2020-07-18 05:12:41,274 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2020-07-18 05:12:41,366 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 05:12:41,367 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 05:12:41,368 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 05:12:41,368 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 05:12:41,369 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 05:12:41,369 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 05:12:41,370 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 05:12:41,370 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 05:12:41,371 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 05:12:41,371 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 05:12:41,372 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 05:12:41,373 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 05:12:41,373 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 05:12:41,374 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 05:12:41,374 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 05:12:41,374 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 05:12:41,375 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 05:12:41,375 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 05:12:41,376 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 05:12:41,376 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 05:12:41,377 INFO L280 TraceCheckUtils]: 9: Hoare triple {4076#(<= (+ |old(~guard_malloc_counter~0.offset)| 1) ~guard_malloc_counter~0.offset)} havoc #t~nondet29; {4076#(<= (+ |old(~guard_malloc_counter~0.offset)| 1) ~guard_malloc_counter~0.offset)} is VALID [2020-07-18 05:12:41,377 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 05:12:41,378 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 05:12:41,378 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 05:12:41,379 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 05:12:41,379 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 05:12:41,380 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 05:12:41,381 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 05:12:41,415 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2020-07-18 05:12:41,423 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 05:12:41,423 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 05:12:41,424 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 05:12:41,424 INFO L280 TraceCheckUtils]: 3: Hoare triple {3971#true} assume -2147483648 <= #t~nondet31 && #t~nondet31 <= 2147483647; {3971#true} is VALID [2020-07-18 05:12:41,424 INFO L280 TraceCheckUtils]: 4: Hoare triple {3971#true} assume !(0 != #t~nondet31); {3971#true} is VALID [2020-07-18 05:12:41,424 INFO L280 TraceCheckUtils]: 5: Hoare triple {3971#true} havoc #t~nondet31; {3971#true} is VALID [2020-07-18 05:12:41,424 INFO L280 TraceCheckUtils]: 6: Hoare triple {3971#true} assume true; {3971#true} is VALID [2020-07-18 05:12:41,425 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 05:12:41,427 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2020-07-18 05:12:41,480 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 05:12:41,480 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 05:12:41,481 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 05:12:41,481 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 05:12:41,482 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 05:12:41,482 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 05:12:41,483 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 05:12:41,484 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 05:12:41,485 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 05:12:41,487 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2020-07-18 05:12:41,517 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 05:12:41,518 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 05:12:41,518 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 05:12:41,520 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 05:12:41,521 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 05:12:41,521 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 05:12:41,521 INFO L280 TraceCheckUtils]: 2: Hoare triple {3971#true} #valid := #valid[0 := 0]; {3971#true} is VALID [2020-07-18 05:12:41,522 INFO L280 TraceCheckUtils]: 3: Hoare triple {3971#true} assume 0 < #StackHeapBarrier; {3971#true} is VALID [2020-07-18 05:12:41,522 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 05:12:41,522 INFO L280 TraceCheckUtils]: 5: Hoare triple {3971#true} ~elem~0.base, ~elem~0.offset := 0, 0; {3971#true} is VALID [2020-07-18 05:12:41,522 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 05:12:41,522 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 05:12:41,523 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 05:12:41,534 INFO L280 TraceCheckUtils]: 9: Hoare triple {3971#true} assume true; {3971#true} is VALID [2020-07-18 05:12:41,535 INFO L275 TraceCheckUtils]: 10: Hoare quadruple {3971#true} {3971#true} #112#return; {3971#true} is VALID [2020-07-18 05:12:41,535 INFO L263 TraceCheckUtils]: 11: Hoare triple {3971#true} call #t~ret34 := main(); {3971#true} is VALID [2020-07-18 05:12:41,535 INFO L280 TraceCheckUtils]: 12: Hoare triple {3971#true} havoc ~dev1~0.base, ~dev1~0.offset; {3971#true} is VALID [2020-07-18 05:12:41,535 INFO L280 TraceCheckUtils]: 13: Hoare triple {3971#true} havoc ~dev2~0.base, ~dev2~0.offset; {3971#true} is VALID [2020-07-18 05:12:41,538 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 05:12:41,539 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 05:12:41,539 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 05:12:41,539 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 05:12:41,540 INFO L280 TraceCheckUtils]: 18: Hoare triple {3971#true} assume ~size > 0; {3971#true} is VALID [2020-07-18 05:12:41,540 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 05:12:41,540 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 05:12:41,540 INFO L280 TraceCheckUtils]: 21: Hoare triple {3971#true} havoc #t~post28.base, #t~post28.offset; {3971#true} is VALID [2020-07-18 05:12:41,540 INFO L280 TraceCheckUtils]: 22: Hoare triple {3971#true} assume -2147483648 <= #t~nondet29 && #t~nondet29 <= 2147483647; {3971#true} is VALID [2020-07-18 05:12:41,540 INFO L280 TraceCheckUtils]: 23: Hoare triple {3971#true} assume !(0 == #t~nondet29); {3971#true} is VALID [2020-07-18 05:12:41,540 INFO L280 TraceCheckUtils]: 24: Hoare triple {3971#true} havoc #t~nondet29; {3971#true} is VALID [2020-07-18 05:12:41,541 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 05:12:41,541 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 05:12:41,542 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 05:12:41,543 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 05:12:41,543 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 05:12:41,544 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 05:12:41,545 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 05:12:41,545 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 05:12:41,546 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 05:12:41,546 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 05:12:41,547 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 05:12:41,548 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 05:12:41,548 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 05:12:41,549 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 05:12:41,549 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 05:12:41,550 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 05:12:41,550 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 05:12:41,551 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 05:12:41,551 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 05:12:41,552 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 05:12:41,552 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 05:12:41,553 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 05:12:41,554 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 05:12:41,555 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 05:12:41,555 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 05:12:41,556 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 05:12:41,557 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 05:12:41,558 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 05:12:41,558 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 05:12:41,559 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 05:12:41,560 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 05:12:41,561 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 05:12:41,561 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 05:12:41,561 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 05:12:41,561 INFO L280 TraceCheckUtils]: 59: Hoare triple {3971#true} assume -2147483648 <= #t~nondet31 && #t~nondet31 <= 2147483647; {3971#true} is VALID [2020-07-18 05:12:41,561 INFO L280 TraceCheckUtils]: 60: Hoare triple {3971#true} assume !(0 != #t~nondet31); {3971#true} is VALID [2020-07-18 05:12:41,561 INFO L280 TraceCheckUtils]: 61: Hoare triple {3971#true} havoc #t~nondet31; {3971#true} is VALID [2020-07-18 05:12:41,562 INFO L280 TraceCheckUtils]: 62: Hoare triple {3971#true} assume true; {3971#true} is VALID [2020-07-18 05:12:41,563 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 05:12:41,568 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 05:12:41,570 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 05:12:41,571 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 05:12:41,572 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 05:12:41,572 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 05:12:41,573 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 05:12:41,573 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 05:12:41,574 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 05:12:41,575 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 05:12:41,576 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 05:12:41,577 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 05:12:41,578 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 05:12:41,578 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 05:12:41,579 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 05:12:41,580 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 05:12:41,582 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 05:12:41,583 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 05:12:41,583 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 05:12:41,584 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 05:12:41,584 INFO L263 TraceCheckUtils]: 83: Hoare triple {3972#false} call __blast_assert(); {3972#false} is VALID [2020-07-18 05:12:41,584 INFO L280 TraceCheckUtils]: 84: Hoare triple {3972#false} assume !false; {3972#false} is VALID [2020-07-18 05:12:41,592 INFO L134 CoverageAnalysis]: Checked inductivity of 30 backedges. 17 proven. 10 refuted. 0 times theorem prover too weak. 3 trivial. 0 not checked. [2020-07-18 05:12:41,592 INFO L354 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModulePreferences [1966891470] [2020-07-18 05:12:41,593 INFO L220 FreeRefinementEngine]: Constructing automaton from 0 perfect and 1 imperfect interpolant sequences. [2020-07-18 05:12:41,593 INFO L233 FreeRefinementEngine]: Number of different interpolants: perfect sequences [] imperfect sequences [24] total 24 [2020-07-18 05:12:41,593 INFO L156 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [1294874296] [2020-07-18 05:12:41,594 INFO L78 Accepts]: Start accepts. Automaton has 24 states. Word has length 85 [2020-07-18 05:12:41,594 INFO L84 Accepts]: Finished accepts. word is accepted. [2020-07-18 05:12:41,594 INFO L86 InductivityCheck]: Starting indutivity check of a Floyd-Hoare automaton with 24 states. [2020-07-18 05:12:41,698 INFO L119 InductivityCheck]: Floyd-Hoare automaton has 85 edges. 85 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2020-07-18 05:12:41,698 INFO L459 AbstractCegarLoop]: Interpolant automaton has 24 states [2020-07-18 05:12:41,699 INFO L143 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy FIXED_PREFERENCES [2020-07-18 05:12:41,699 INFO L142 InterpolantAutomaton]: Constructing interpolant automaton starting with 24 interpolants. [2020-07-18 05:12:41,700 INFO L144 InterpolantAutomaton]: CoverageRelationStatistics Valid=51, Invalid=501, Unknown=0, NotChecked=0, Total=552 [2020-07-18 05:12:41,700 INFO L87 Difference]: Start difference. First operand 103 states and 114 transitions. Second operand 24 states. [2020-07-18 05:12:48,051 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2020-07-18 05:12:48,051 INFO L93 Difference]: Finished difference Result 118 states and 130 transitions. [2020-07-18 05:12:48,052 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 26 states. [2020-07-18 05:12:48,052 INFO L78 Accepts]: Start accepts. Automaton has 24 states. Word has length 85 [2020-07-18 05:12:48,053 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2020-07-18 05:12:48,053 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 24 states. [2020-07-18 05:12:48,057 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 26 states to 26 states and 95 transitions. [2020-07-18 05:12:48,058 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 24 states. [2020-07-18 05:12:48,062 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 26 states to 26 states and 95 transitions. [2020-07-18 05:12:48,063 INFO L86 InductivityCheck]: Starting indutivity check of a Floyd-Hoare automaton with 26 states and 95 transitions. [2020-07-18 05:12:48,315 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 05:12:48,321 INFO L225 Difference]: With dead ends: 118 [2020-07-18 05:12:48,322 INFO L226 Difference]: Without dead ends: 113 [2020-07-18 05:12:48,326 INFO L675 BasicCegarLoop]: 0 DeclaredPredicates, 59 GetRequests, 16 SyntacticMatches, 0 SemanticMatches, 43 ConstructedPredicates, 0 IntricatePredicates, 0 DeprecatedPredicates, 205 ImplicationChecksByTransitivity, 1.1s TimeCoverageRelationStatistics Valid=232, Invalid=1748, Unknown=0, NotChecked=0, Total=1980 [2020-07-18 05:12:48,328 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 113 states. [2020-07-18 05:12:49,195 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 113 to 112. [2020-07-18 05:12:49,195 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2020-07-18 05:12:49,195 INFO L82 GeneralOperation]: Start isEquivalent. First operand 113 states. Second operand 112 states. [2020-07-18 05:12:49,195 INFO L74 IsIncluded]: Start isIncluded. First operand 113 states. Second operand 112 states. [2020-07-18 05:12:49,196 INFO L87 Difference]: Start difference. First operand 113 states. Second operand 112 states. [2020-07-18 05:12:49,204 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2020-07-18 05:12:49,204 INFO L93 Difference]: Finished difference Result 113 states and 124 transitions. [2020-07-18 05:12:49,204 INFO L276 IsEmpty]: Start isEmpty. Operand 113 states and 124 transitions. [2020-07-18 05:12:49,208 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2020-07-18 05:12:49,208 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2020-07-18 05:12:49,208 INFO L74 IsIncluded]: Start isIncluded. First operand 112 states. Second operand 113 states. [2020-07-18 05:12:49,209 INFO L87 Difference]: Start difference. First operand 112 states. Second operand 113 states. [2020-07-18 05:12:49,216 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2020-07-18 05:12:49,216 INFO L93 Difference]: Finished difference Result 113 states and 124 transitions. [2020-07-18 05:12:49,216 INFO L276 IsEmpty]: Start isEmpty. Operand 113 states and 124 transitions. [2020-07-18 05:12:49,218 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2020-07-18 05:12:49,218 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2020-07-18 05:12:49,218 INFO L88 GeneralOperation]: Finished isEquivalent. [2020-07-18 05:12:49,218 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2020-07-18 05:12:49,219 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 112 states. [2020-07-18 05:12:49,229 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 112 states to 112 states and 123 transitions. [2020-07-18 05:12:49,231 INFO L78 Accepts]: Start accepts. Automaton has 112 states and 123 transitions. Word has length 85 [2020-07-18 05:12:49,231 INFO L84 Accepts]: Finished accepts. word is rejected. [2020-07-18 05:12:49,231 INFO L479 AbstractCegarLoop]: Abstraction has 112 states and 123 transitions. [2020-07-18 05:12:49,232 INFO L480 AbstractCegarLoop]: Interpolant automaton has 24 states. [2020-07-18 05:12:49,232 INFO L86 InductivityCheck]: Starting indutivity check of a Floyd-Hoare automaton with 112 states and 123 transitions. [2020-07-18 05:12:49,645 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 05:12:49,645 INFO L276 IsEmpty]: Start isEmpty. Operand 112 states and 123 transitions. [2020-07-18 05:12:49,647 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 86 [2020-07-18 05:12:49,647 INFO L414 BasicCegarLoop]: Found error trace [2020-07-18 05:12:49,648 INFO L422 BasicCegarLoop]: trace histogram [3, 3, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1] [2020-07-18 05:12:49,648 WARN L516 AbstractCegarLoop]: Destroyed unattended storables created during the last iteration: SelfDestructingSolverStorable6 [2020-07-18 05:12:49,648 INFO L427 AbstractCegarLoop]: === Iteration 8 === [__blast_assertErr0ASSERT_VIOLATIONERROR_FUNCTION]=== [2020-07-18 05:12:49,649 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2020-07-18 05:12:49,649 INFO L82 PathProgramCache]: Analyzing trace with hash 1173492322, now seen corresponding path program 2 times [2020-07-18 05:12:49,649 INFO L163 FreeRefinementEngine]: Executing refinement strategy FIXED_PREFERENCES [2020-07-18 05:12:49,650 INFO L354 FreeRefinementEngine]: Using trace check IpTcStrategyModulePreferences [948882371] [2020-07-18 05:12:49,651 INFO L94 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2020-07-18 05:12:49,684 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2020-07-18 05:12:49,820 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2020-07-18 05:12:49,840 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 05:12:49,841 INFO L280 TraceCheckUtils]: 1: Hoare triple {4815#true} #valid := #valid[0 := 0]; {4815#true} is VALID [2020-07-18 05:12:49,841 INFO L280 TraceCheckUtils]: 2: Hoare triple {4815#true} assume 0 < #StackHeapBarrier; {4815#true} is VALID [2020-07-18 05:12:49,843 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 05:12:49,843 INFO L280 TraceCheckUtils]: 4: Hoare triple {4815#true} ~elem~0.base, ~elem~0.offset := 0, 0; {4815#true} is VALID [2020-07-18 05:12:49,843 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 05:12:49,844 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 05:12:49,844 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 05:12:49,844 INFO L280 TraceCheckUtils]: 8: Hoare triple {4815#true} assume true; {4815#true} is VALID [2020-07-18 05:12:49,845 INFO L275 TraceCheckUtils]: 9: Hoare quadruple {4815#true} {4815#true} #112#return; {4815#true} is VALID [2020-07-18 05:12:49,864 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2020-07-18 05:12:49,879 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2020-07-18 05:12:49,884 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 05:12:49,884 INFO L280 TraceCheckUtils]: 1: Hoare triple {4815#true} assume ~size > 0; {4815#true} is VALID [2020-07-18 05:12:49,885 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 05:12:49,885 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 05:12:49,885 INFO L280 TraceCheckUtils]: 4: Hoare triple {4815#true} havoc #t~post28.base, #t~post28.offset; {4815#true} is VALID [2020-07-18 05:12:49,885 INFO L280 TraceCheckUtils]: 5: Hoare triple {4815#true} assume -2147483648 <= #t~nondet29 && #t~nondet29 <= 2147483647; {4815#true} is VALID [2020-07-18 05:12:49,886 INFO L280 TraceCheckUtils]: 6: Hoare triple {4815#true} assume !(0 == #t~nondet29); {4815#true} is VALID [2020-07-18 05:12:49,886 INFO L280 TraceCheckUtils]: 7: Hoare triple {4815#true} havoc #t~nondet29; {4815#true} is VALID [2020-07-18 05:12:49,886 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 05:12:49,886 INFO L280 TraceCheckUtils]: 9: Hoare triple {4815#true} assume true; {4815#true} is VALID [2020-07-18 05:12:49,887 INFO L275 TraceCheckUtils]: 10: Hoare quadruple {4815#true} {4815#true} #92#return; {4815#true} is VALID [2020-07-18 05:12:49,887 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 05:12:49,890 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 05:12:49,890 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 05:12:49,891 INFO L280 TraceCheckUtils]: 3: Hoare triple {4815#true} assume ~size > 0; {4815#true} is VALID [2020-07-18 05:12:49,891 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 05:12:49,891 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 05:12:49,892 INFO L280 TraceCheckUtils]: 6: Hoare triple {4815#true} havoc #t~post28.base, #t~post28.offset; {4815#true} is VALID [2020-07-18 05:12:49,892 INFO L280 TraceCheckUtils]: 7: Hoare triple {4815#true} assume -2147483648 <= #t~nondet29 && #t~nondet29 <= 2147483647; {4815#true} is VALID [2020-07-18 05:12:49,892 INFO L280 TraceCheckUtils]: 8: Hoare triple {4815#true} assume !(0 == #t~nondet29); {4815#true} is VALID [2020-07-18 05:12:49,893 INFO L280 TraceCheckUtils]: 9: Hoare triple {4815#true} havoc #t~nondet29; {4815#true} is VALID [2020-07-18 05:12:49,893 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 05:12:49,893 INFO L280 TraceCheckUtils]: 11: Hoare triple {4815#true} assume true; {4815#true} is VALID [2020-07-18 05:12:49,893 INFO L275 TraceCheckUtils]: 12: Hoare quadruple {4815#true} {4815#true} #92#return; {4815#true} is VALID [2020-07-18 05:12:49,894 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 05:12:49,894 INFO L280 TraceCheckUtils]: 14: Hoare triple {4815#true} havoc #t~ret30.base, #t~ret30.offset; {4815#true} is VALID [2020-07-18 05:12:49,894 INFO L280 TraceCheckUtils]: 15: Hoare triple {4815#true} assume true; {4815#true} is VALID [2020-07-18 05:12:49,895 INFO L275 TraceCheckUtils]: 16: Hoare quadruple {4815#true} {4815#true} #94#return; {4815#true} is VALID [2020-07-18 05:12:49,896 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2020-07-18 05:12:49,902 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2020-07-18 05:12:49,907 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 05:12:49,908 INFO L280 TraceCheckUtils]: 1: Hoare triple {4815#true} assume ~size > 0; {4815#true} is VALID [2020-07-18 05:12:49,908 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 05:12:49,908 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 05:12:49,909 INFO L280 TraceCheckUtils]: 4: Hoare triple {4815#true} havoc #t~post28.base, #t~post28.offset; {4815#true} is VALID [2020-07-18 05:12:49,909 INFO L280 TraceCheckUtils]: 5: Hoare triple {4815#true} assume -2147483648 <= #t~nondet29 && #t~nondet29 <= 2147483647; {4815#true} is VALID [2020-07-18 05:12:49,909 INFO L280 TraceCheckUtils]: 6: Hoare triple {4815#true} assume !(0 == #t~nondet29); {4815#true} is VALID [2020-07-18 05:12:49,910 INFO L280 TraceCheckUtils]: 7: Hoare triple {4815#true} havoc #t~nondet29; {4815#true} is VALID [2020-07-18 05:12:49,910 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 05:12:49,910 INFO L280 TraceCheckUtils]: 9: Hoare triple {4815#true} assume true; {4815#true} is VALID [2020-07-18 05:12:49,911 INFO L275 TraceCheckUtils]: 10: Hoare quadruple {4815#true} {4815#true} #92#return; {4815#true} is VALID [2020-07-18 05:12:49,911 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 05:12:49,913 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 05:12:49,913 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 05:12:49,913 INFO L280 TraceCheckUtils]: 3: Hoare triple {4815#true} assume ~size > 0; {4815#true} is VALID [2020-07-18 05:12:49,914 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 05:12:49,914 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 05:12:49,914 INFO L280 TraceCheckUtils]: 6: Hoare triple {4815#true} havoc #t~post28.base, #t~post28.offset; {4815#true} is VALID [2020-07-18 05:12:49,915 INFO L280 TraceCheckUtils]: 7: Hoare triple {4815#true} assume -2147483648 <= #t~nondet29 && #t~nondet29 <= 2147483647; {4815#true} is VALID [2020-07-18 05:12:49,915 INFO L280 TraceCheckUtils]: 8: Hoare triple {4815#true} assume !(0 == #t~nondet29); {4815#true} is VALID [2020-07-18 05:12:49,915 INFO L280 TraceCheckUtils]: 9: Hoare triple {4815#true} havoc #t~nondet29; {4815#true} is VALID [2020-07-18 05:12:49,915 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 05:12:49,916 INFO L280 TraceCheckUtils]: 11: Hoare triple {4815#true} assume true; {4815#true} is VALID [2020-07-18 05:12:49,916 INFO L275 TraceCheckUtils]: 12: Hoare quadruple {4815#true} {4815#true} #92#return; {4815#true} is VALID [2020-07-18 05:12:49,916 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 05:12:49,917 INFO L280 TraceCheckUtils]: 14: Hoare triple {4815#true} havoc #t~ret30.base, #t~ret30.offset; {4815#true} is VALID [2020-07-18 05:12:49,917 INFO L280 TraceCheckUtils]: 15: Hoare triple {4815#true} assume true; {4815#true} is VALID [2020-07-18 05:12:49,917 INFO L275 TraceCheckUtils]: 16: Hoare quadruple {4815#true} {4815#true} #96#return; {4815#true} is VALID [2020-07-18 05:12:49,937 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2020-07-18 05:12:49,990 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 05:12:49,991 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 05:12:49,992 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 05:12:49,993 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 05:12:49,994 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 05:12:49,995 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 05:12:49,997 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 05:12:49,998 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 05:12:50,000 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 05:12:50,002 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2020-07-18 05:12:50,028 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 05:12:50,030 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 05:12:50,031 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 05:12:50,032 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 05:12:50,033 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 05:12:50,034 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 05:12:50,035 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 05:12:50,038 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 05:12:50,040 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2020-07-18 05:12:50,121 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 05:12:50,122 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 05:12:50,123 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 05:12:50,125 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 05:12:50,128 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 05:12:50,129 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 05:12:50,129 INFO L280 TraceCheckUtils]: 2: Hoare triple {4815#true} #valid := #valid[0 := 0]; {4815#true} is VALID [2020-07-18 05:12:50,130 INFO L280 TraceCheckUtils]: 3: Hoare triple {4815#true} assume 0 < #StackHeapBarrier; {4815#true} is VALID [2020-07-18 05:12:50,130 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 05:12:50,130 INFO L280 TraceCheckUtils]: 5: Hoare triple {4815#true} ~elem~0.base, ~elem~0.offset := 0, 0; {4815#true} is VALID [2020-07-18 05:12:50,131 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 05:12:50,131 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 05:12:50,131 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 05:12:50,132 INFO L280 TraceCheckUtils]: 9: Hoare triple {4815#true} assume true; {4815#true} is VALID [2020-07-18 05:12:50,132 INFO L275 TraceCheckUtils]: 10: Hoare quadruple {4815#true} {4815#true} #112#return; {4815#true} is VALID [2020-07-18 05:12:50,132 INFO L263 TraceCheckUtils]: 11: Hoare triple {4815#true} call #t~ret34 := main(); {4815#true} is VALID [2020-07-18 05:12:50,132 INFO L280 TraceCheckUtils]: 12: Hoare triple {4815#true} havoc ~dev1~0.base, ~dev1~0.offset; {4815#true} is VALID [2020-07-18 05:12:50,133 INFO L280 TraceCheckUtils]: 13: Hoare triple {4815#true} havoc ~dev2~0.base, ~dev2~0.offset; {4815#true} is VALID [2020-07-18 05:12:50,134 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 05:12:50,135 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 05:12:50,136 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 05:12:50,136 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 05:12:50,137 INFO L280 TraceCheckUtils]: 18: Hoare triple {4815#true} assume ~size > 0; {4815#true} is VALID [2020-07-18 05:12:50,137 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 05:12:50,137 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 05:12:50,138 INFO L280 TraceCheckUtils]: 21: Hoare triple {4815#true} havoc #t~post28.base, #t~post28.offset; {4815#true} is VALID [2020-07-18 05:12:50,138 INFO L280 TraceCheckUtils]: 22: Hoare triple {4815#true} assume -2147483648 <= #t~nondet29 && #t~nondet29 <= 2147483647; {4815#true} is VALID [2020-07-18 05:12:50,138 INFO L280 TraceCheckUtils]: 23: Hoare triple {4815#true} assume !(0 == #t~nondet29); {4815#true} is VALID [2020-07-18 05:12:50,139 INFO L280 TraceCheckUtils]: 24: Hoare triple {4815#true} havoc #t~nondet29; {4815#true} is VALID [2020-07-18 05:12:50,139 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 05:12:50,139 INFO L280 TraceCheckUtils]: 26: Hoare triple {4815#true} assume true; {4815#true} is VALID [2020-07-18 05:12:50,140 INFO L275 TraceCheckUtils]: 27: Hoare quadruple {4815#true} {4815#true} #92#return; {4815#true} is VALID [2020-07-18 05:12:50,140 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 05:12:50,140 INFO L280 TraceCheckUtils]: 29: Hoare triple {4815#true} havoc #t~ret30.base, #t~ret30.offset; {4815#true} is VALID [2020-07-18 05:12:50,140 INFO L280 TraceCheckUtils]: 30: Hoare triple {4815#true} assume true; {4815#true} is VALID [2020-07-18 05:12:50,141 INFO L275 TraceCheckUtils]: 31: Hoare quadruple {4815#true} {4815#true} #94#return; {4815#true} is VALID [2020-07-18 05:12:50,141 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 05:12:50,141 INFO L280 TraceCheckUtils]: 33: Hoare triple {4815#true} havoc #t~ret32.base, #t~ret32.offset; {4815#true} is VALID [2020-07-18 05:12:50,143 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 05:12:50,143 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 05:12:50,145 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 05:12:50,145 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 05:12:50,145 INFO L280 TraceCheckUtils]: 38: Hoare triple {4815#true} assume ~size > 0; {4815#true} is VALID [2020-07-18 05:12:50,146 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 05:12:50,146 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 05:12:50,146 INFO L280 TraceCheckUtils]: 41: Hoare triple {4815#true} havoc #t~post28.base, #t~post28.offset; {4815#true} is VALID [2020-07-18 05:12:50,147 INFO L280 TraceCheckUtils]: 42: Hoare triple {4815#true} assume -2147483648 <= #t~nondet29 && #t~nondet29 <= 2147483647; {4815#true} is VALID [2020-07-18 05:12:50,147 INFO L280 TraceCheckUtils]: 43: Hoare triple {4815#true} assume !(0 == #t~nondet29); {4815#true} is VALID [2020-07-18 05:12:50,147 INFO L280 TraceCheckUtils]: 44: Hoare triple {4815#true} havoc #t~nondet29; {4815#true} is VALID [2020-07-18 05:12:50,148 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 05:12:50,148 INFO L280 TraceCheckUtils]: 46: Hoare triple {4815#true} assume true; {4815#true} is VALID [2020-07-18 05:12:50,148 INFO L275 TraceCheckUtils]: 47: Hoare quadruple {4815#true} {4815#true} #92#return; {4815#true} is VALID [2020-07-18 05:12:50,149 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 05:12:50,149 INFO L280 TraceCheckUtils]: 49: Hoare triple {4815#true} havoc #t~ret30.base, #t~ret30.offset; {4815#true} is VALID [2020-07-18 05:12:50,149 INFO L280 TraceCheckUtils]: 50: Hoare triple {4815#true} assume true; {4815#true} is VALID [2020-07-18 05:12:50,149 INFO L275 TraceCheckUtils]: 51: Hoare quadruple {4815#true} {4815#true} #96#return; {4815#true} is VALID [2020-07-18 05:12:50,150 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 05:12:50,150 INFO L280 TraceCheckUtils]: 53: Hoare triple {4815#true} havoc #t~ret33.base, #t~ret33.offset; {4815#true} is VALID [2020-07-18 05:12:50,150 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 05:12:50,152 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 05:12:50,154 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 05:12:50,155 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 05:12:50,156 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 05:12:50,157 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 05:12:50,158 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 05:12:50,159 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 05:12:50,160 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 05:12:50,162 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 05:12:50,164 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 05:12:50,166 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 05:12:50,167 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 05:12:50,169 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 05:12:50,170 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 05:12:50,171 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 05:12:50,172 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 05:12:50,173 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 05:12:50,174 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 05:12:50,177 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 05:12:50,179 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 05:12:50,180 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 05:12:50,181 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 05:12:50,182 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 05:12:50,183 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 05:12:50,184 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 05:12:50,184 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 05:12:50,184 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 05:12:50,185 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 05:12:50,185 INFO L263 TraceCheckUtils]: 83: Hoare triple {4816#false} call __blast_assert(); {4816#false} is VALID [2020-07-18 05:12:50,185 INFO L280 TraceCheckUtils]: 84: Hoare triple {4816#false} assume !false; {4816#false} is VALID [2020-07-18 05:12:50,202 INFO L134 CoverageAnalysis]: Checked inductivity of 30 backedges. 6 proven. 6 refuted. 0 times theorem prover too weak. 18 trivial. 0 not checked. [2020-07-18 05:12:50,203 INFO L354 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModulePreferences [948882371] [2020-07-18 05:12:50,203 INFO L220 FreeRefinementEngine]: Constructing automaton from 0 perfect and 1 imperfect interpolant sequences. [2020-07-18 05:12:50,203 INFO L233 FreeRefinementEngine]: Number of different interpolants: perfect sequences [] imperfect sequences [10] total 10 [2020-07-18 05:12:50,204 INFO L156 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [1674464949] [2020-07-18 05:12:50,205 INFO L78 Accepts]: Start accepts. Automaton has 10 states. Word has length 85 [2020-07-18 05:12:50,206 INFO L84 Accepts]: Finished accepts. word is accepted. [2020-07-18 05:12:50,206 INFO L86 InductivityCheck]: Starting indutivity check of a Floyd-Hoare automaton with 10 states. [2020-07-18 05:12:50,318 INFO L119 InductivityCheck]: Floyd-Hoare automaton has 69 edges. 69 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2020-07-18 05:12:50,319 INFO L459 AbstractCegarLoop]: Interpolant automaton has 10 states [2020-07-18 05:12:50,319 INFO L143 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy FIXED_PREFERENCES [2020-07-18 05:12:50,319 INFO L142 InterpolantAutomaton]: Constructing interpolant automaton starting with 10 interpolants. [2020-07-18 05:12:50,320 INFO L144 InterpolantAutomaton]: CoverageRelationStatistics Valid=20, Invalid=70, Unknown=0, NotChecked=0, Total=90 [2020-07-18 05:12:50,320 INFO L87 Difference]: Start difference. First operand 112 states and 123 transitions. Second operand 10 states. [2020-07-18 05:12:53,617 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2020-07-18 05:12:53,617 INFO L93 Difference]: Finished difference Result 127 states and 137 transitions. [2020-07-18 05:12:53,617 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 12 states. [2020-07-18 05:12:53,617 INFO L78 Accepts]: Start accepts. Automaton has 10 states. Word has length 85 [2020-07-18 05:12:53,620 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2020-07-18 05:12:53,620 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 10 states. [2020-07-18 05:12:53,623 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 12 states to 12 states and 93 transitions. [2020-07-18 05:12:53,623 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 10 states. [2020-07-18 05:12:53,626 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 12 states to 12 states and 93 transitions. [2020-07-18 05:12:53,626 INFO L86 InductivityCheck]: Starting indutivity check of a Floyd-Hoare automaton with 12 states and 93 transitions. [2020-07-18 05:12:53,767 INFO L119 InductivityCheck]: Floyd-Hoare automaton has 93 edges. 93 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2020-07-18 05:12:53,771 INFO L225 Difference]: With dead ends: 127 [2020-07-18 05:12:53,772 INFO L226 Difference]: Without dead ends: 111 [2020-07-18 05:12:53,774 INFO L675 BasicCegarLoop]: 0 DeclaredPredicates, 28 GetRequests, 13 SyntacticMatches, 1 SemanticMatches, 14 ConstructedPredicates, 0 IntricatePredicates, 0 DeprecatedPredicates, 18 ImplicationChecksByTransitivity, 0.6s TimeCoverageRelationStatistics Valid=63, Invalid=177, Unknown=0, NotChecked=0, Total=240 [2020-07-18 05:12:53,775 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 111 states. [2020-07-18 05:12:54,376 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 111 to 111. [2020-07-18 05:12:54,376 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2020-07-18 05:12:54,376 INFO L82 GeneralOperation]: Start isEquivalent. First operand 111 states. Second operand 111 states. [2020-07-18 05:12:54,377 INFO L74 IsIncluded]: Start isIncluded. First operand 111 states. Second operand 111 states. [2020-07-18 05:12:54,377 INFO L87 Difference]: Start difference. First operand 111 states. Second operand 111 states. [2020-07-18 05:12:54,382 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2020-07-18 05:12:54,382 INFO L93 Difference]: Finished difference Result 111 states and 121 transitions. [2020-07-18 05:12:54,382 INFO L276 IsEmpty]: Start isEmpty. Operand 111 states and 121 transitions. [2020-07-18 05:12:54,383 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2020-07-18 05:12:54,383 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2020-07-18 05:12:54,383 INFO L74 IsIncluded]: Start isIncluded. First operand 111 states. Second operand 111 states. [2020-07-18 05:12:54,383 INFO L87 Difference]: Start difference. First operand 111 states. Second operand 111 states. [2020-07-18 05:12:54,388 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2020-07-18 05:12:54,388 INFO L93 Difference]: Finished difference Result 111 states and 121 transitions. [2020-07-18 05:12:54,388 INFO L276 IsEmpty]: Start isEmpty. Operand 111 states and 121 transitions. [2020-07-18 05:12:54,389 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2020-07-18 05:12:54,389 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2020-07-18 05:12:54,389 INFO L88 GeneralOperation]: Finished isEquivalent. [2020-07-18 05:12:54,390 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2020-07-18 05:12:54,390 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 111 states. [2020-07-18 05:12:54,394 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 111 states to 111 states and 121 transitions. [2020-07-18 05:12:54,394 INFO L78 Accepts]: Start accepts. Automaton has 111 states and 121 transitions. Word has length 85 [2020-07-18 05:12:54,394 INFO L84 Accepts]: Finished accepts. word is rejected. [2020-07-18 05:12:54,394 INFO L479 AbstractCegarLoop]: Abstraction has 111 states and 121 transitions. [2020-07-18 05:12:54,395 INFO L480 AbstractCegarLoop]: Interpolant automaton has 10 states. [2020-07-18 05:12:54,395 INFO L86 InductivityCheck]: Starting indutivity check of a Floyd-Hoare automaton with 111 states and 121 transitions. [2020-07-18 05:12:54,681 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 05:12:54,682 INFO L276 IsEmpty]: Start isEmpty. Operand 111 states and 121 transitions. [2020-07-18 05:12:54,683 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 87 [2020-07-18 05:12:54,684 INFO L414 BasicCegarLoop]: Found error trace [2020-07-18 05:12:54,684 INFO L422 BasicCegarLoop]: trace histogram [3, 3, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1] [2020-07-18 05:12:54,684 WARN L516 AbstractCegarLoop]: Destroyed unattended storables created during the last iteration: SelfDestructingSolverStorable7 [2020-07-18 05:12:54,685 INFO L427 AbstractCegarLoop]: === Iteration 9 === [__blast_assertErr0ASSERT_VIOLATIONERROR_FUNCTION]=== [2020-07-18 05:12:54,685 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2020-07-18 05:12:54,685 INFO L82 PathProgramCache]: Analyzing trace with hash 2046230471, now seen corresponding path program 1 times [2020-07-18 05:12:54,686 INFO L163 FreeRefinementEngine]: Executing refinement strategy FIXED_PREFERENCES [2020-07-18 05:12:54,686 INFO L354 FreeRefinementEngine]: Using trace check IpTcStrategyModulePreferences [349491852] [2020-07-18 05:12:54,686 INFO L94 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2020-07-18 05:12:54,702 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2020-07-18 05:12:54,830 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2020-07-18 05:12:54,835 INFO L280 TraceCheckUtils]: 0: Hoare triple {5697#(and (= |#valid| |old(#valid)|) (= ~elem~0.base |old(~elem~0.base)|) (= |#NULL.base| |old(#NULL.base)|) (= |~#head~0.base| |old(~#head~0.base)|) (= ~guard_malloc_counter~0.offset |old(~guard_malloc_counter~0.offset)|) (= |#NULL.offset| |old(#NULL.offset)|) (= ~elem~0.offset |old(~elem~0.offset)|) (= |old(#length)| |#length|) (= |~#head~0.offset| |old(~#head~0.offset)|) (= ~guard_malloc_counter~0.base |old(~guard_malloc_counter~0.base)|))} #NULL.base, #NULL.offset := 0, 0; {5624#true} is VALID [2020-07-18 05:12:54,835 INFO L280 TraceCheckUtils]: 1: Hoare triple {5624#true} #valid := #valid[0 := 0]; {5624#true} is VALID [2020-07-18 05:12:54,835 INFO L280 TraceCheckUtils]: 2: Hoare triple {5624#true} assume 0 < #StackHeapBarrier; {5624#true} is VALID [2020-07-18 05:12:54,835 INFO L280 TraceCheckUtils]: 3: Hoare triple {5624#true} ~guard_malloc_counter~0.base, ~guard_malloc_counter~0.offset := 0, 0; {5624#true} is VALID [2020-07-18 05:12:54,835 INFO L280 TraceCheckUtils]: 4: Hoare triple {5624#true} ~elem~0.base, ~elem~0.offset := 0, 0; {5624#true} is VALID [2020-07-18 05:12:54,836 INFO L280 TraceCheckUtils]: 5: Hoare triple {5624#true} SUMMARY for call ~#head~0.base, ~#head~0.offset := #Ultimate.allocOnStack(8); srcloc: L900 {5624#true} is VALID [2020-07-18 05:12:54,836 INFO L280 TraceCheckUtils]: 6: Hoare triple {5624#true} SUMMARY for call write~init~$Pointer$(0, 0, ~#head~0.base, ~#head~0.offset, 4); srcloc: L900-1 {5624#true} is VALID [2020-07-18 05:12:54,836 INFO L280 TraceCheckUtils]: 7: Hoare triple {5624#true} SUMMARY for call write~init~$Pointer$(0, 0, ~#head~0.base, 4 + ~#head~0.offset, 4); srcloc: L900-2 {5624#true} is VALID [2020-07-18 05:12:54,836 INFO L280 TraceCheckUtils]: 8: Hoare triple {5624#true} assume true; {5624#true} is VALID [2020-07-18 05:12:54,836 INFO L275 TraceCheckUtils]: 9: Hoare quadruple {5624#true} {5624#true} #112#return; {5624#true} is VALID [2020-07-18 05:12:54,861 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2020-07-18 05:12:54,899 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2020-07-18 05:12:54,921 INFO L280 TraceCheckUtils]: 0: Hoare triple {5698#(and (= ~guard_malloc_counter~0.offset |old(~guard_malloc_counter~0.offset)|) (= ~guard_malloc_counter~0.base |old(~guard_malloc_counter~0.base)|))} ~size := #in~size; {5624#true} is VALID [2020-07-18 05:12:54,921 INFO L280 TraceCheckUtils]: 1: Hoare triple {5624#true} assume ~size > 0; {5624#true} is VALID [2020-07-18 05:12:54,922 INFO L280 TraceCheckUtils]: 2: Hoare triple {5624#true} #t~post28.base, #t~post28.offset := ~guard_malloc_counter~0.base, ~guard_malloc_counter~0.offset; {5624#true} is VALID [2020-07-18 05:12:54,922 INFO L280 TraceCheckUtils]: 3: Hoare triple {5624#true} ~guard_malloc_counter~0.base, ~guard_malloc_counter~0.offset := #t~post28.base, 1 + #t~post28.offset; {5624#true} is VALID [2020-07-18 05:12:54,922 INFO L280 TraceCheckUtils]: 4: Hoare triple {5624#true} havoc #t~post28.base, #t~post28.offset; {5624#true} is VALID [2020-07-18 05:12:54,922 INFO L280 TraceCheckUtils]: 5: Hoare triple {5624#true} assume -2147483648 <= #t~nondet29 && #t~nondet29 <= 2147483647; {5624#true} is VALID [2020-07-18 05:12:54,922 INFO L280 TraceCheckUtils]: 6: Hoare triple {5624#true} assume !(0 == #t~nondet29); {5624#true} is VALID [2020-07-18 05:12:54,923 INFO L280 TraceCheckUtils]: 7: Hoare triple {5624#true} havoc #t~nondet29; {5624#true} is VALID [2020-07-18 05:12:54,923 INFO L280 TraceCheckUtils]: 8: Hoare triple {5624#true} #res.base, #res.offset := ~guard_malloc_counter~0.base, ~guard_malloc_counter~0.offset; {5712#(<= |__getMemory_#res.offset| ~guard_malloc_counter~0.offset)} is VALID [2020-07-18 05:12:54,924 INFO L280 TraceCheckUtils]: 9: Hoare triple {5712#(<= |__getMemory_#res.offset| ~guard_malloc_counter~0.offset)} assume true; {5712#(<= |__getMemory_#res.offset| ~guard_malloc_counter~0.offset)} is VALID [2020-07-18 05:12:54,925 INFO L275 TraceCheckUtils]: 10: Hoare quadruple {5712#(<= |__getMemory_#res.offset| ~guard_malloc_counter~0.offset)} {5624#true} #92#return; {5710#(<= |my_malloc_#t~ret30.offset| ~guard_malloc_counter~0.offset)} is VALID [2020-07-18 05:12:54,926 INFO L280 TraceCheckUtils]: 0: Hoare triple {5698#(and (= ~guard_malloc_counter~0.offset |old(~guard_malloc_counter~0.offset)|) (= ~guard_malloc_counter~0.base |old(~guard_malloc_counter~0.base)|))} ~size := #in~size; {5624#true} is VALID [2020-07-18 05:12:54,927 INFO L263 TraceCheckUtils]: 1: Hoare triple {5624#true} call #t~ret30.base, #t~ret30.offset := __getMemory(~size); {5698#(and (= ~guard_malloc_counter~0.offset |old(~guard_malloc_counter~0.offset)|) (= ~guard_malloc_counter~0.base |old(~guard_malloc_counter~0.base)|))} is VALID [2020-07-18 05:12:54,927 INFO L280 TraceCheckUtils]: 2: Hoare triple {5698#(and (= ~guard_malloc_counter~0.offset |old(~guard_malloc_counter~0.offset)|) (= ~guard_malloc_counter~0.base |old(~guard_malloc_counter~0.base)|))} ~size := #in~size; {5624#true} is VALID [2020-07-18 05:12:54,927 INFO L280 TraceCheckUtils]: 3: Hoare triple {5624#true} assume ~size > 0; {5624#true} is VALID [2020-07-18 05:12:54,927 INFO L280 TraceCheckUtils]: 4: Hoare triple {5624#true} #t~post28.base, #t~post28.offset := ~guard_malloc_counter~0.base, ~guard_malloc_counter~0.offset; {5624#true} is VALID [2020-07-18 05:12:54,928 INFO L280 TraceCheckUtils]: 5: Hoare triple {5624#true} ~guard_malloc_counter~0.base, ~guard_malloc_counter~0.offset := #t~post28.base, 1 + #t~post28.offset; {5624#true} is VALID [2020-07-18 05:12:54,928 INFO L280 TraceCheckUtils]: 6: Hoare triple {5624#true} havoc #t~post28.base, #t~post28.offset; {5624#true} is VALID [2020-07-18 05:12:54,928 INFO L280 TraceCheckUtils]: 7: Hoare triple {5624#true} assume -2147483648 <= #t~nondet29 && #t~nondet29 <= 2147483647; {5624#true} is VALID [2020-07-18 05:12:54,928 INFO L280 TraceCheckUtils]: 8: Hoare triple {5624#true} assume !(0 == #t~nondet29); {5624#true} is VALID [2020-07-18 05:12:54,928 INFO L280 TraceCheckUtils]: 9: Hoare triple {5624#true} havoc #t~nondet29; {5624#true} is VALID [2020-07-18 05:12:54,929 INFO L280 TraceCheckUtils]: 10: Hoare triple {5624#true} #res.base, #res.offset := ~guard_malloc_counter~0.base, ~guard_malloc_counter~0.offset; {5712#(<= |__getMemory_#res.offset| ~guard_malloc_counter~0.offset)} is VALID [2020-07-18 05:12:54,930 INFO L280 TraceCheckUtils]: 11: Hoare triple {5712#(<= |__getMemory_#res.offset| ~guard_malloc_counter~0.offset)} assume true; {5712#(<= |__getMemory_#res.offset| ~guard_malloc_counter~0.offset)} is VALID [2020-07-18 05:12:54,931 INFO L275 TraceCheckUtils]: 12: Hoare quadruple {5712#(<= |__getMemory_#res.offset| ~guard_malloc_counter~0.offset)} {5624#true} #92#return; {5710#(<= |my_malloc_#t~ret30.offset| ~guard_malloc_counter~0.offset)} is VALID [2020-07-18 05:12:54,932 INFO L280 TraceCheckUtils]: 13: Hoare triple {5710#(<= |my_malloc_#t~ret30.offset| ~guard_malloc_counter~0.offset)} #res.base, #res.offset := #t~ret30.base, #t~ret30.offset; {5711#(<= |my_malloc_#res.offset| ~guard_malloc_counter~0.offset)} is VALID [2020-07-18 05:12:54,932 INFO L280 TraceCheckUtils]: 14: Hoare triple {5711#(<= |my_malloc_#res.offset| ~guard_malloc_counter~0.offset)} havoc #t~ret30.base, #t~ret30.offset; {5711#(<= |my_malloc_#res.offset| ~guard_malloc_counter~0.offset)} is VALID [2020-07-18 05:12:54,933 INFO L280 TraceCheckUtils]: 15: Hoare triple {5711#(<= |my_malloc_#res.offset| ~guard_malloc_counter~0.offset)} assume true; {5711#(<= |my_malloc_#res.offset| ~guard_malloc_counter~0.offset)} is VALID [2020-07-18 05:12:54,934 INFO L275 TraceCheckUtils]: 16: Hoare quadruple {5711#(<= |my_malloc_#res.offset| ~guard_malloc_counter~0.offset)} {5624#true} #94#return; {5653#(<= |main_#t~ret32.offset| ~guard_malloc_counter~0.offset)} is VALID [2020-07-18 05:12:54,938 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2020-07-18 05:12:55,000 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2020-07-18 05:12:55,088 INFO L280 TraceCheckUtils]: 0: Hoare triple {5698#(and (= ~guard_malloc_counter~0.offset |old(~guard_malloc_counter~0.offset)|) (= ~guard_malloc_counter~0.base |old(~guard_malloc_counter~0.base)|))} ~size := #in~size; {5713#(= ~guard_malloc_counter~0.offset |old(~guard_malloc_counter~0.offset)|)} is VALID [2020-07-18 05:12:55,089 INFO L280 TraceCheckUtils]: 1: Hoare triple {5713#(= ~guard_malloc_counter~0.offset |old(~guard_malloc_counter~0.offset)|)} assume ~size > 0; {5713#(= ~guard_malloc_counter~0.offset |old(~guard_malloc_counter~0.offset)|)} is VALID [2020-07-18 05:12:55,090 INFO L280 TraceCheckUtils]: 2: Hoare triple {5713#(= ~guard_malloc_counter~0.offset |old(~guard_malloc_counter~0.offset)|)} #t~post28.base, #t~post28.offset := ~guard_malloc_counter~0.base, ~guard_malloc_counter~0.offset; {5727#(= |old(~guard_malloc_counter~0.offset)| |__getMemory_#t~post28.offset|)} is VALID [2020-07-18 05:12:55,091 INFO L280 TraceCheckUtils]: 3: Hoare triple {5727#(= |old(~guard_malloc_counter~0.offset)| |__getMemory_#t~post28.offset|)} ~guard_malloc_counter~0.base, ~guard_malloc_counter~0.offset := #t~post28.base, 1 + #t~post28.offset; {5728#(<= (+ |old(~guard_malloc_counter~0.offset)| 1) ~guard_malloc_counter~0.offset)} is VALID [2020-07-18 05:12:55,091 INFO L280 TraceCheckUtils]: 4: Hoare triple {5728#(<= (+ |old(~guard_malloc_counter~0.offset)| 1) ~guard_malloc_counter~0.offset)} havoc #t~post28.base, #t~post28.offset; {5728#(<= (+ |old(~guard_malloc_counter~0.offset)| 1) ~guard_malloc_counter~0.offset)} is VALID [2020-07-18 05:12:55,092 INFO L280 TraceCheckUtils]: 5: Hoare triple {5728#(<= (+ |old(~guard_malloc_counter~0.offset)| 1) ~guard_malloc_counter~0.offset)} assume -2147483648 <= #t~nondet29 && #t~nondet29 <= 2147483647; {5728#(<= (+ |old(~guard_malloc_counter~0.offset)| 1) ~guard_malloc_counter~0.offset)} is VALID [2020-07-18 05:12:55,092 INFO L280 TraceCheckUtils]: 6: Hoare triple {5728#(<= (+ |old(~guard_malloc_counter~0.offset)| 1) ~guard_malloc_counter~0.offset)} assume !(0 == #t~nondet29); {5728#(<= (+ |old(~guard_malloc_counter~0.offset)| 1) ~guard_malloc_counter~0.offset)} is VALID [2020-07-18 05:12:55,092 INFO L280 TraceCheckUtils]: 7: Hoare triple {5728#(<= (+ |old(~guard_malloc_counter~0.offset)| 1) ~guard_malloc_counter~0.offset)} havoc #t~nondet29; {5728#(<= (+ |old(~guard_malloc_counter~0.offset)| 1) ~guard_malloc_counter~0.offset)} is VALID [2020-07-18 05:12:55,093 INFO L280 TraceCheckUtils]: 8: Hoare triple {5728#(<= (+ |old(~guard_malloc_counter~0.offset)| 1) ~guard_malloc_counter~0.offset)} #res.base, #res.offset := ~guard_malloc_counter~0.base, ~guard_malloc_counter~0.offset; {5729#(<= (+ |old(~guard_malloc_counter~0.offset)| 1) |__getMemory_#res.offset|)} is VALID [2020-07-18 05:12:55,093 INFO L280 TraceCheckUtils]: 9: Hoare triple {5729#(<= (+ |old(~guard_malloc_counter~0.offset)| 1) |__getMemory_#res.offset|)} assume true; {5729#(<= (+ |old(~guard_malloc_counter~0.offset)| 1) |__getMemory_#res.offset|)} is VALID [2020-07-18 05:12:55,094 INFO L275 TraceCheckUtils]: 10: Hoare quadruple {5729#(<= (+ |old(~guard_malloc_counter~0.offset)| 1) |__getMemory_#res.offset|)} {5713#(= ~guard_malloc_counter~0.offset |old(~guard_malloc_counter~0.offset)|)} #92#return; {5725#(<= (+ |old(~guard_malloc_counter~0.offset)| 1) |my_malloc_#t~ret30.offset|)} is VALID [2020-07-18 05:12:55,095 INFO L280 TraceCheckUtils]: 0: Hoare triple {5698#(and (= ~guard_malloc_counter~0.offset |old(~guard_malloc_counter~0.offset)|) (= ~guard_malloc_counter~0.base |old(~guard_malloc_counter~0.base)|))} ~size := #in~size; {5713#(= ~guard_malloc_counter~0.offset |old(~guard_malloc_counter~0.offset)|)} is VALID [2020-07-18 05:12:55,096 INFO L263 TraceCheckUtils]: 1: Hoare triple {5713#(= ~guard_malloc_counter~0.offset |old(~guard_malloc_counter~0.offset)|)} call #t~ret30.base, #t~ret30.offset := __getMemory(~size); {5698#(and (= ~guard_malloc_counter~0.offset |old(~guard_malloc_counter~0.offset)|) (= ~guard_malloc_counter~0.base |old(~guard_malloc_counter~0.base)|))} is VALID [2020-07-18 05:12:55,096 INFO L280 TraceCheckUtils]: 2: Hoare triple {5698#(and (= ~guard_malloc_counter~0.offset |old(~guard_malloc_counter~0.offset)|) (= ~guard_malloc_counter~0.base |old(~guard_malloc_counter~0.base)|))} ~size := #in~size; {5713#(= ~guard_malloc_counter~0.offset |old(~guard_malloc_counter~0.offset)|)} is VALID [2020-07-18 05:12:55,096 INFO L280 TraceCheckUtils]: 3: Hoare triple {5713#(= ~guard_malloc_counter~0.offset |old(~guard_malloc_counter~0.offset)|)} assume ~size > 0; {5713#(= ~guard_malloc_counter~0.offset |old(~guard_malloc_counter~0.offset)|)} is VALID [2020-07-18 05:12:55,097 INFO L280 TraceCheckUtils]: 4: Hoare triple {5713#(= ~guard_malloc_counter~0.offset |old(~guard_malloc_counter~0.offset)|)} #t~post28.base, #t~post28.offset := ~guard_malloc_counter~0.base, ~guard_malloc_counter~0.offset; {5727#(= |old(~guard_malloc_counter~0.offset)| |__getMemory_#t~post28.offset|)} is VALID [2020-07-18 05:12:55,098 INFO L280 TraceCheckUtils]: 5: Hoare triple {5727#(= |old(~guard_malloc_counter~0.offset)| |__getMemory_#t~post28.offset|)} ~guard_malloc_counter~0.base, ~guard_malloc_counter~0.offset := #t~post28.base, 1 + #t~post28.offset; {5728#(<= (+ |old(~guard_malloc_counter~0.offset)| 1) ~guard_malloc_counter~0.offset)} is VALID [2020-07-18 05:12:55,098 INFO L280 TraceCheckUtils]: 6: Hoare triple {5728#(<= (+ |old(~guard_malloc_counter~0.offset)| 1) ~guard_malloc_counter~0.offset)} havoc #t~post28.base, #t~post28.offset; {5728#(<= (+ |old(~guard_malloc_counter~0.offset)| 1) ~guard_malloc_counter~0.offset)} is VALID [2020-07-18 05:12:55,099 INFO L280 TraceCheckUtils]: 7: Hoare triple {5728#(<= (+ |old(~guard_malloc_counter~0.offset)| 1) ~guard_malloc_counter~0.offset)} assume -2147483648 <= #t~nondet29 && #t~nondet29 <= 2147483647; {5728#(<= (+ |old(~guard_malloc_counter~0.offset)| 1) ~guard_malloc_counter~0.offset)} is VALID [2020-07-18 05:12:55,099 INFO L280 TraceCheckUtils]: 8: Hoare triple {5728#(<= (+ |old(~guard_malloc_counter~0.offset)| 1) ~guard_malloc_counter~0.offset)} assume !(0 == #t~nondet29); {5728#(<= (+ |old(~guard_malloc_counter~0.offset)| 1) ~guard_malloc_counter~0.offset)} is VALID [2020-07-18 05:12:55,100 INFO L280 TraceCheckUtils]: 9: Hoare triple {5728#(<= (+ |old(~guard_malloc_counter~0.offset)| 1) ~guard_malloc_counter~0.offset)} havoc #t~nondet29; {5728#(<= (+ |old(~guard_malloc_counter~0.offset)| 1) ~guard_malloc_counter~0.offset)} is VALID [2020-07-18 05:12:55,100 INFO L280 TraceCheckUtils]: 10: Hoare triple {5728#(<= (+ |old(~guard_malloc_counter~0.offset)| 1) ~guard_malloc_counter~0.offset)} #res.base, #res.offset := ~guard_malloc_counter~0.base, ~guard_malloc_counter~0.offset; {5729#(<= (+ |old(~guard_malloc_counter~0.offset)| 1) |__getMemory_#res.offset|)} is VALID [2020-07-18 05:12:55,106 INFO L280 TraceCheckUtils]: 11: Hoare triple {5729#(<= (+ |old(~guard_malloc_counter~0.offset)| 1) |__getMemory_#res.offset|)} assume true; {5729#(<= (+ |old(~guard_malloc_counter~0.offset)| 1) |__getMemory_#res.offset|)} is VALID [2020-07-18 05:12:55,107 INFO L275 TraceCheckUtils]: 12: Hoare quadruple {5729#(<= (+ |old(~guard_malloc_counter~0.offset)| 1) |__getMemory_#res.offset|)} {5713#(= ~guard_malloc_counter~0.offset |old(~guard_malloc_counter~0.offset)|)} #92#return; {5725#(<= (+ |old(~guard_malloc_counter~0.offset)| 1) |my_malloc_#t~ret30.offset|)} is VALID [2020-07-18 05:12:55,108 INFO L280 TraceCheckUtils]: 13: Hoare triple {5725#(<= (+ |old(~guard_malloc_counter~0.offset)| 1) |my_malloc_#t~ret30.offset|)} #res.base, #res.offset := #t~ret30.base, #t~ret30.offset; {5726#(<= (+ |old(~guard_malloc_counter~0.offset)| 1) |my_malloc_#res.offset|)} is VALID [2020-07-18 05:12:55,108 INFO L280 TraceCheckUtils]: 14: Hoare triple {5726#(<= (+ |old(~guard_malloc_counter~0.offset)| 1) |my_malloc_#res.offset|)} havoc #t~ret30.base, #t~ret30.offset; {5726#(<= (+ |old(~guard_malloc_counter~0.offset)| 1) |my_malloc_#res.offset|)} is VALID [2020-07-18 05:12:55,109 INFO L280 TraceCheckUtils]: 15: Hoare triple {5726#(<= (+ |old(~guard_malloc_counter~0.offset)| 1) |my_malloc_#res.offset|)} assume true; {5726#(<= (+ |old(~guard_malloc_counter~0.offset)| 1) |my_malloc_#res.offset|)} is VALID [2020-07-18 05:12:55,110 INFO L275 TraceCheckUtils]: 16: Hoare quadruple {5726#(<= (+ |old(~guard_malloc_counter~0.offset)| 1) |my_malloc_#res.offset|)} {5654#(<= main_~dev1~0.offset ~guard_malloc_counter~0.offset)} #96#return; {5672#(<= (+ main_~dev1~0.offset 1) |main_#t~ret33.offset|)} is VALID [2020-07-18 05:12:55,139 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2020-07-18 05:12:55,143 INFO L280 TraceCheckUtils]: 0: Hoare triple {5730#(and (= ~elem~0.base |old(~elem~0.base)|) (= ~elem~0.offset |old(~elem~0.offset)|))} ~new.base, ~new.offset := #in~new.base, #in~new.offset; {5624#true} is VALID [2020-07-18 05:12:55,143 INFO L280 TraceCheckUtils]: 1: Hoare triple {5624#true} ~head.base, ~head.offset := #in~head.base, #in~head.offset; {5624#true} is VALID [2020-07-18 05:12:55,143 INFO L280 TraceCheckUtils]: 2: Hoare triple {5624#true} assume ~new.base != ~elem~0.base || ~new.offset != ~elem~0.offset; {5624#true} is VALID [2020-07-18 05:12:55,144 INFO L280 TraceCheckUtils]: 3: Hoare triple {5624#true} assume -2147483648 <= #t~nondet31 && #t~nondet31 <= 2147483647; {5624#true} is VALID [2020-07-18 05:12:55,144 INFO L280 TraceCheckUtils]: 4: Hoare triple {5624#true} assume !(0 != #t~nondet31); {5624#true} is VALID [2020-07-18 05:12:55,144 INFO L280 TraceCheckUtils]: 5: Hoare triple {5624#true} havoc #t~nondet31; {5624#true} is VALID [2020-07-18 05:12:55,144 INFO L280 TraceCheckUtils]: 6: Hoare triple {5624#true} assume true; {5624#true} is VALID [2020-07-18 05:12:55,145 INFO L275 TraceCheckUtils]: 7: Hoare quadruple {5624#true} {5673#(<= (+ main_~dev1~0.offset 1) main_~dev2~0.offset)} #98#return; {5673#(<= (+ main_~dev1~0.offset 1) main_~dev2~0.offset)} is VALID [2020-07-18 05:12:55,148 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2020-07-18 05:12:55,195 INFO L280 TraceCheckUtils]: 0: Hoare triple {5730#(and (= ~elem~0.base |old(~elem~0.base)|) (= ~elem~0.offset |old(~elem~0.offset)|))} ~new.base, ~new.offset := #in~new.base, #in~new.offset; {5731#(= |list_add_#in~new.offset| list_add_~new.offset)} is VALID [2020-07-18 05:12:55,196 INFO L280 TraceCheckUtils]: 1: Hoare triple {5731#(= |list_add_#in~new.offset| list_add_~new.offset)} ~head.base, ~head.offset := #in~head.base, #in~head.offset; {5731#(= |list_add_#in~new.offset| list_add_~new.offset)} is VALID [2020-07-18 05:12:55,196 INFO L280 TraceCheckUtils]: 2: Hoare triple {5731#(= |list_add_#in~new.offset| list_add_~new.offset)} assume ~new.base != ~elem~0.base || ~new.offset != ~elem~0.offset; {5731#(= |list_add_#in~new.offset| list_add_~new.offset)} is VALID [2020-07-18 05:12:55,197 INFO L280 TraceCheckUtils]: 3: Hoare triple {5731#(= |list_add_#in~new.offset| list_add_~new.offset)} assume -2147483648 <= #t~nondet31 && #t~nondet31 <= 2147483647; {5731#(= |list_add_#in~new.offset| list_add_~new.offset)} is VALID [2020-07-18 05:12:55,198 INFO L280 TraceCheckUtils]: 4: Hoare triple {5731#(= |list_add_#in~new.offset| list_add_~new.offset)} assume 0 != #t~nondet31; {5731#(= |list_add_#in~new.offset| list_add_~new.offset)} is VALID [2020-07-18 05:12:55,198 INFO L280 TraceCheckUtils]: 5: Hoare triple {5731#(= |list_add_#in~new.offset| list_add_~new.offset)} havoc #t~nondet31; {5731#(= |list_add_#in~new.offset| list_add_~new.offset)} is VALID [2020-07-18 05:12:55,199 INFO L280 TraceCheckUtils]: 6: Hoare triple {5731#(= |list_add_#in~new.offset| list_add_~new.offset)} ~elem~0.base, ~elem~0.offset := ~new.base, ~new.offset; {5732#(= ~elem~0.offset |list_add_#in~new.offset|)} is VALID [2020-07-18 05:12:55,200 INFO L280 TraceCheckUtils]: 7: Hoare triple {5732#(= ~elem~0.offset |list_add_#in~new.offset|)} assume true; {5732#(= ~elem~0.offset |list_add_#in~new.offset|)} is VALID [2020-07-18 05:12:55,201 INFO L275 TraceCheckUtils]: 8: Hoare quadruple {5732#(= ~elem~0.offset |list_add_#in~new.offset|)} {5673#(<= (+ main_~dev1~0.offset 1) main_~dev2~0.offset)} #100#return; {5691#(<= (+ ~elem~0.offset 1) main_~dev2~0.offset)} is VALID [2020-07-18 05:12:55,203 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2020-07-18 05:12:55,266 INFO L280 TraceCheckUtils]: 0: Hoare triple {5730#(and (= ~elem~0.base |old(~elem~0.base)|) (= ~elem~0.offset |old(~elem~0.offset)|))} ~entry.base, ~entry.offset := #in~entry.base, #in~entry.offset; {5733#(and (= |old(~elem~0.offset)| ~elem~0.offset) (= |list_del_#in~entry.offset| list_del_~entry.offset))} is VALID [2020-07-18 05:12:55,267 INFO L280 TraceCheckUtils]: 1: Hoare triple {5733#(and (= |old(~elem~0.offset)| ~elem~0.offset) (= |list_del_#in~entry.offset| list_del_~entry.offset))} assume ~entry.base == ~elem~0.base && ~entry.offset == ~elem~0.offset; {5734#(= |old(~elem~0.offset)| |list_del_#in~entry.offset|)} is VALID [2020-07-18 05:12:55,268 INFO L280 TraceCheckUtils]: 2: Hoare triple {5734#(= |old(~elem~0.offset)| |list_del_#in~entry.offset|)} ~elem~0.base, ~elem~0.offset := 0, 0; {5734#(= |old(~elem~0.offset)| |list_del_#in~entry.offset|)} is VALID [2020-07-18 05:12:55,268 INFO L280 TraceCheckUtils]: 3: Hoare triple {5734#(= |old(~elem~0.offset)| |list_del_#in~entry.offset|)} assume true; {5734#(= |old(~elem~0.offset)| |list_del_#in~entry.offset|)} is VALID [2020-07-18 05:12:55,270 INFO L275 TraceCheckUtils]: 4: Hoare quadruple {5734#(= |old(~elem~0.offset)| |list_del_#in~entry.offset|)} {5691#(<= (+ ~elem~0.offset 1) main_~dev2~0.offset)} #102#return; {5625#false} is VALID [2020-07-18 05:12:55,271 INFO L263 TraceCheckUtils]: 0: Hoare triple {5624#true} call ULTIMATE.init(); {5697#(and (= |#valid| |old(#valid)|) (= ~elem~0.base |old(~elem~0.base)|) (= |#NULL.base| |old(#NULL.base)|) (= |~#head~0.base| |old(~#head~0.base)|) (= ~guard_malloc_counter~0.offset |old(~guard_malloc_counter~0.offset)|) (= |#NULL.offset| |old(#NULL.offset)|) (= ~elem~0.offset |old(~elem~0.offset)|) (= |old(#length)| |#length|) (= |~#head~0.offset| |old(~#head~0.offset)|) (= ~guard_malloc_counter~0.base |old(~guard_malloc_counter~0.base)|))} is VALID [2020-07-18 05:12:55,271 INFO L280 TraceCheckUtils]: 1: Hoare triple {5697#(and (= |#valid| |old(#valid)|) (= ~elem~0.base |old(~elem~0.base)|) (= |#NULL.base| |old(#NULL.base)|) (= |~#head~0.base| |old(~#head~0.base)|) (= ~guard_malloc_counter~0.offset |old(~guard_malloc_counter~0.offset)|) (= |#NULL.offset| |old(#NULL.offset)|) (= ~elem~0.offset |old(~elem~0.offset)|) (= |old(#length)| |#length|) (= |~#head~0.offset| |old(~#head~0.offset)|) (= ~guard_malloc_counter~0.base |old(~guard_malloc_counter~0.base)|))} #NULL.base, #NULL.offset := 0, 0; {5624#true} is VALID [2020-07-18 05:12:55,271 INFO L280 TraceCheckUtils]: 2: Hoare triple {5624#true} #valid := #valid[0 := 0]; {5624#true} is VALID [2020-07-18 05:12:55,272 INFO L280 TraceCheckUtils]: 3: Hoare triple {5624#true} assume 0 < #StackHeapBarrier; {5624#true} is VALID [2020-07-18 05:12:55,272 INFO L280 TraceCheckUtils]: 4: Hoare triple {5624#true} ~guard_malloc_counter~0.base, ~guard_malloc_counter~0.offset := 0, 0; {5624#true} is VALID [2020-07-18 05:12:55,272 INFO L280 TraceCheckUtils]: 5: Hoare triple {5624#true} ~elem~0.base, ~elem~0.offset := 0, 0; {5624#true} is VALID [2020-07-18 05:12:55,272 INFO L280 TraceCheckUtils]: 6: Hoare triple {5624#true} SUMMARY for call ~#head~0.base, ~#head~0.offset := #Ultimate.allocOnStack(8); srcloc: L900 {5624#true} is VALID [2020-07-18 05:12:55,272 INFO L280 TraceCheckUtils]: 7: Hoare triple {5624#true} SUMMARY for call write~init~$Pointer$(0, 0, ~#head~0.base, ~#head~0.offset, 4); srcloc: L900-1 {5624#true} is VALID [2020-07-18 05:12:55,273 INFO L280 TraceCheckUtils]: 8: Hoare triple {5624#true} SUMMARY for call write~init~$Pointer$(0, 0, ~#head~0.base, 4 + ~#head~0.offset, 4); srcloc: L900-2 {5624#true} is VALID [2020-07-18 05:12:55,273 INFO L280 TraceCheckUtils]: 9: Hoare triple {5624#true} assume true; {5624#true} is VALID [2020-07-18 05:12:55,273 INFO L275 TraceCheckUtils]: 10: Hoare quadruple {5624#true} {5624#true} #112#return; {5624#true} is VALID [2020-07-18 05:12:55,273 INFO L263 TraceCheckUtils]: 11: Hoare triple {5624#true} call #t~ret34 := main(); {5624#true} is VALID [2020-07-18 05:12:55,273 INFO L280 TraceCheckUtils]: 12: Hoare triple {5624#true} havoc ~dev1~0.base, ~dev1~0.offset; {5624#true} is VALID [2020-07-18 05:12:55,274 INFO L280 TraceCheckUtils]: 13: Hoare triple {5624#true} havoc ~dev2~0.base, ~dev2~0.offset; {5624#true} is VALID [2020-07-18 05:12:55,274 INFO L263 TraceCheckUtils]: 14: Hoare triple {5624#true} call #t~ret32.base, #t~ret32.offset := my_malloc(8); {5698#(and (= ~guard_malloc_counter~0.offset |old(~guard_malloc_counter~0.offset)|) (= ~guard_malloc_counter~0.base |old(~guard_malloc_counter~0.base)|))} is VALID [2020-07-18 05:12:55,275 INFO L280 TraceCheckUtils]: 15: Hoare triple {5698#(and (= ~guard_malloc_counter~0.offset |old(~guard_malloc_counter~0.offset)|) (= ~guard_malloc_counter~0.base |old(~guard_malloc_counter~0.base)|))} ~size := #in~size; {5624#true} is VALID [2020-07-18 05:12:55,276 INFO L263 TraceCheckUtils]: 16: Hoare triple {5624#true} call #t~ret30.base, #t~ret30.offset := __getMemory(~size); {5698#(and (= ~guard_malloc_counter~0.offset |old(~guard_malloc_counter~0.offset)|) (= ~guard_malloc_counter~0.base |old(~guard_malloc_counter~0.base)|))} is VALID [2020-07-18 05:12:55,276 INFO L280 TraceCheckUtils]: 17: Hoare triple {5698#(and (= ~guard_malloc_counter~0.offset |old(~guard_malloc_counter~0.offset)|) (= ~guard_malloc_counter~0.base |old(~guard_malloc_counter~0.base)|))} ~size := #in~size; {5624#true} is VALID [2020-07-18 05:12:55,276 INFO L280 TraceCheckUtils]: 18: Hoare triple {5624#true} assume ~size > 0; {5624#true} is VALID [2020-07-18 05:12:55,276 INFO L280 TraceCheckUtils]: 19: Hoare triple {5624#true} #t~post28.base, #t~post28.offset := ~guard_malloc_counter~0.base, ~guard_malloc_counter~0.offset; {5624#true} is VALID [2020-07-18 05:12:55,277 INFO L280 TraceCheckUtils]: 20: Hoare triple {5624#true} ~guard_malloc_counter~0.base, ~guard_malloc_counter~0.offset := #t~post28.base, 1 + #t~post28.offset; {5624#true} is VALID [2020-07-18 05:12:55,277 INFO L280 TraceCheckUtils]: 21: Hoare triple {5624#true} havoc #t~post28.base, #t~post28.offset; {5624#true} is VALID [2020-07-18 05:12:55,277 INFO L280 TraceCheckUtils]: 22: Hoare triple {5624#true} assume -2147483648 <= #t~nondet29 && #t~nondet29 <= 2147483647; {5624#true} is VALID [2020-07-18 05:12:55,277 INFO L280 TraceCheckUtils]: 23: Hoare triple {5624#true} assume !(0 == #t~nondet29); {5624#true} is VALID [2020-07-18 05:12:55,277 INFO L280 TraceCheckUtils]: 24: Hoare triple {5624#true} havoc #t~nondet29; {5624#true} is VALID [2020-07-18 05:12:55,278 INFO L280 TraceCheckUtils]: 25: Hoare triple {5624#true} #res.base, #res.offset := ~guard_malloc_counter~0.base, ~guard_malloc_counter~0.offset; {5712#(<= |__getMemory_#res.offset| ~guard_malloc_counter~0.offset)} is VALID [2020-07-18 05:12:55,279 INFO L280 TraceCheckUtils]: 26: Hoare triple {5712#(<= |__getMemory_#res.offset| ~guard_malloc_counter~0.offset)} assume true; {5712#(<= |__getMemory_#res.offset| ~guard_malloc_counter~0.offset)} is VALID [2020-07-18 05:12:55,280 INFO L275 TraceCheckUtils]: 27: Hoare quadruple {5712#(<= |__getMemory_#res.offset| ~guard_malloc_counter~0.offset)} {5624#true} #92#return; {5710#(<= |my_malloc_#t~ret30.offset| ~guard_malloc_counter~0.offset)} is VALID [2020-07-18 05:12:55,280 INFO L280 TraceCheckUtils]: 28: Hoare triple {5710#(<= |my_malloc_#t~ret30.offset| ~guard_malloc_counter~0.offset)} #res.base, #res.offset := #t~ret30.base, #t~ret30.offset; {5711#(<= |my_malloc_#res.offset| ~guard_malloc_counter~0.offset)} is VALID [2020-07-18 05:12:55,281 INFO L280 TraceCheckUtils]: 29: Hoare triple {5711#(<= |my_malloc_#res.offset| ~guard_malloc_counter~0.offset)} havoc #t~ret30.base, #t~ret30.offset; {5711#(<= |my_malloc_#res.offset| ~guard_malloc_counter~0.offset)} is VALID [2020-07-18 05:12:55,282 INFO L280 TraceCheckUtils]: 30: Hoare triple {5711#(<= |my_malloc_#res.offset| ~guard_malloc_counter~0.offset)} assume true; {5711#(<= |my_malloc_#res.offset| ~guard_malloc_counter~0.offset)} is VALID [2020-07-18 05:12:55,283 INFO L275 TraceCheckUtils]: 31: Hoare quadruple {5711#(<= |my_malloc_#res.offset| ~guard_malloc_counter~0.offset)} {5624#true} #94#return; {5653#(<= |main_#t~ret32.offset| ~guard_malloc_counter~0.offset)} is VALID [2020-07-18 05:12:55,284 INFO L280 TraceCheckUtils]: 32: Hoare triple {5653#(<= |main_#t~ret32.offset| ~guard_malloc_counter~0.offset)} ~dev1~0.base, ~dev1~0.offset := #t~ret32.base, #t~ret32.offset; {5654#(<= main_~dev1~0.offset ~guard_malloc_counter~0.offset)} is VALID [2020-07-18 05:12:55,284 INFO L280 TraceCheckUtils]: 33: Hoare triple {5654#(<= main_~dev1~0.offset ~guard_malloc_counter~0.offset)} havoc #t~ret32.base, #t~ret32.offset; {5654#(<= main_~dev1~0.offset ~guard_malloc_counter~0.offset)} is VALID [2020-07-18 05:12:55,286 INFO L263 TraceCheckUtils]: 34: Hoare triple {5654#(<= main_~dev1~0.offset ~guard_malloc_counter~0.offset)} call #t~ret33.base, #t~ret33.offset := my_malloc(8); {5698#(and (= ~guard_malloc_counter~0.offset |old(~guard_malloc_counter~0.offset)|) (= ~guard_malloc_counter~0.base |old(~guard_malloc_counter~0.base)|))} is VALID [2020-07-18 05:12:55,287 INFO L280 TraceCheckUtils]: 35: Hoare triple {5698#(and (= ~guard_malloc_counter~0.offset |old(~guard_malloc_counter~0.offset)|) (= ~guard_malloc_counter~0.base |old(~guard_malloc_counter~0.base)|))} ~size := #in~size; {5713#(= ~guard_malloc_counter~0.offset |old(~guard_malloc_counter~0.offset)|)} is VALID [2020-07-18 05:12:55,288 INFO L263 TraceCheckUtils]: 36: Hoare triple {5713#(= ~guard_malloc_counter~0.offset |old(~guard_malloc_counter~0.offset)|)} call #t~ret30.base, #t~ret30.offset := __getMemory(~size); {5698#(and (= ~guard_malloc_counter~0.offset |old(~guard_malloc_counter~0.offset)|) (= ~guard_malloc_counter~0.base |old(~guard_malloc_counter~0.base)|))} is VALID [2020-07-18 05:12:55,288 INFO L280 TraceCheckUtils]: 37: Hoare triple {5698#(and (= ~guard_malloc_counter~0.offset |old(~guard_malloc_counter~0.offset)|) (= ~guard_malloc_counter~0.base |old(~guard_malloc_counter~0.base)|))} ~size := #in~size; {5713#(= ~guard_malloc_counter~0.offset |old(~guard_malloc_counter~0.offset)|)} is VALID [2020-07-18 05:12:55,289 INFO L280 TraceCheckUtils]: 38: Hoare triple {5713#(= ~guard_malloc_counter~0.offset |old(~guard_malloc_counter~0.offset)|)} assume ~size > 0; {5713#(= ~guard_malloc_counter~0.offset |old(~guard_malloc_counter~0.offset)|)} is VALID [2020-07-18 05:12:55,290 INFO L280 TraceCheckUtils]: 39: Hoare triple {5713#(= ~guard_malloc_counter~0.offset |old(~guard_malloc_counter~0.offset)|)} #t~post28.base, #t~post28.offset := ~guard_malloc_counter~0.base, ~guard_malloc_counter~0.offset; {5727#(= |old(~guard_malloc_counter~0.offset)| |__getMemory_#t~post28.offset|)} is VALID [2020-07-18 05:12:55,290 INFO L280 TraceCheckUtils]: 40: Hoare triple {5727#(= |old(~guard_malloc_counter~0.offset)| |__getMemory_#t~post28.offset|)} ~guard_malloc_counter~0.base, ~guard_malloc_counter~0.offset := #t~post28.base, 1 + #t~post28.offset; {5728#(<= (+ |old(~guard_malloc_counter~0.offset)| 1) ~guard_malloc_counter~0.offset)} is VALID [2020-07-18 05:12:55,291 INFO L280 TraceCheckUtils]: 41: Hoare triple {5728#(<= (+ |old(~guard_malloc_counter~0.offset)| 1) ~guard_malloc_counter~0.offset)} havoc #t~post28.base, #t~post28.offset; {5728#(<= (+ |old(~guard_malloc_counter~0.offset)| 1) ~guard_malloc_counter~0.offset)} is VALID [2020-07-18 05:12:55,292 INFO L280 TraceCheckUtils]: 42: Hoare triple {5728#(<= (+ |old(~guard_malloc_counter~0.offset)| 1) ~guard_malloc_counter~0.offset)} assume -2147483648 <= #t~nondet29 && #t~nondet29 <= 2147483647; {5728#(<= (+ |old(~guard_malloc_counter~0.offset)| 1) ~guard_malloc_counter~0.offset)} is VALID [2020-07-18 05:12:55,292 INFO L280 TraceCheckUtils]: 43: Hoare triple {5728#(<= (+ |old(~guard_malloc_counter~0.offset)| 1) ~guard_malloc_counter~0.offset)} assume !(0 == #t~nondet29); {5728#(<= (+ |old(~guard_malloc_counter~0.offset)| 1) ~guard_malloc_counter~0.offset)} is VALID [2020-07-18 05:12:55,293 INFO L280 TraceCheckUtils]: 44: Hoare triple {5728#(<= (+ |old(~guard_malloc_counter~0.offset)| 1) ~guard_malloc_counter~0.offset)} havoc #t~nondet29; {5728#(<= (+ |old(~guard_malloc_counter~0.offset)| 1) ~guard_malloc_counter~0.offset)} is VALID [2020-07-18 05:12:55,294 INFO L280 TraceCheckUtils]: 45: Hoare triple {5728#(<= (+ |old(~guard_malloc_counter~0.offset)| 1) ~guard_malloc_counter~0.offset)} #res.base, #res.offset := ~guard_malloc_counter~0.base, ~guard_malloc_counter~0.offset; {5729#(<= (+ |old(~guard_malloc_counter~0.offset)| 1) |__getMemory_#res.offset|)} is VALID [2020-07-18 05:12:55,294 INFO L280 TraceCheckUtils]: 46: Hoare triple {5729#(<= (+ |old(~guard_malloc_counter~0.offset)| 1) |__getMemory_#res.offset|)} assume true; {5729#(<= (+ |old(~guard_malloc_counter~0.offset)| 1) |__getMemory_#res.offset|)} is VALID [2020-07-18 05:12:55,295 INFO L275 TraceCheckUtils]: 47: Hoare quadruple {5729#(<= (+ |old(~guard_malloc_counter~0.offset)| 1) |__getMemory_#res.offset|)} {5713#(= ~guard_malloc_counter~0.offset |old(~guard_malloc_counter~0.offset)|)} #92#return; {5725#(<= (+ |old(~guard_malloc_counter~0.offset)| 1) |my_malloc_#t~ret30.offset|)} is VALID [2020-07-18 05:12:55,296 INFO L280 TraceCheckUtils]: 48: Hoare triple {5725#(<= (+ |old(~guard_malloc_counter~0.offset)| 1) |my_malloc_#t~ret30.offset|)} #res.base, #res.offset := #t~ret30.base, #t~ret30.offset; {5726#(<= (+ |old(~guard_malloc_counter~0.offset)| 1) |my_malloc_#res.offset|)} is VALID [2020-07-18 05:12:55,297 INFO L280 TraceCheckUtils]: 49: Hoare triple {5726#(<= (+ |old(~guard_malloc_counter~0.offset)| 1) |my_malloc_#res.offset|)} havoc #t~ret30.base, #t~ret30.offset; {5726#(<= (+ |old(~guard_malloc_counter~0.offset)| 1) |my_malloc_#res.offset|)} is VALID [2020-07-18 05:12:55,297 INFO L280 TraceCheckUtils]: 50: Hoare triple {5726#(<= (+ |old(~guard_malloc_counter~0.offset)| 1) |my_malloc_#res.offset|)} assume true; {5726#(<= (+ |old(~guard_malloc_counter~0.offset)| 1) |my_malloc_#res.offset|)} is VALID [2020-07-18 05:12:55,299 INFO L275 TraceCheckUtils]: 51: Hoare quadruple {5726#(<= (+ |old(~guard_malloc_counter~0.offset)| 1) |my_malloc_#res.offset|)} {5654#(<= main_~dev1~0.offset ~guard_malloc_counter~0.offset)} #96#return; {5672#(<= (+ main_~dev1~0.offset 1) |main_#t~ret33.offset|)} is VALID [2020-07-18 05:12:55,300 INFO L280 TraceCheckUtils]: 52: Hoare triple {5672#(<= (+ main_~dev1~0.offset 1) |main_#t~ret33.offset|)} ~dev2~0.base, ~dev2~0.offset := #t~ret33.base, #t~ret33.offset; {5673#(<= (+ main_~dev1~0.offset 1) main_~dev2~0.offset)} is VALID [2020-07-18 05:12:55,301 INFO L280 TraceCheckUtils]: 53: Hoare triple {5673#(<= (+ main_~dev1~0.offset 1) main_~dev2~0.offset)} havoc #t~ret33.base, #t~ret33.offset; {5673#(<= (+ main_~dev1~0.offset 1) main_~dev2~0.offset)} is VALID [2020-07-18 05:12:55,301 INFO L280 TraceCheckUtils]: 54: Hoare triple {5673#(<= (+ main_~dev1~0.offset 1) main_~dev2~0.offset)} assume (~dev1~0.base != 0 || ~dev1~0.offset != 0) && (~dev2~0.base != 0 || ~dev2~0.offset != 0); {5673#(<= (+ main_~dev1~0.offset 1) main_~dev2~0.offset)} is VALID [2020-07-18 05:12:55,303 INFO L263 TraceCheckUtils]: 55: Hoare triple {5673#(<= (+ main_~dev1~0.offset 1) main_~dev2~0.offset)} call list_add(~dev2~0.base, ~dev2~0.offset, ~#head~0.base, ~#head~0.offset); {5730#(and (= ~elem~0.base |old(~elem~0.base)|) (= ~elem~0.offset |old(~elem~0.offset)|))} is VALID [2020-07-18 05:12:55,303 INFO L280 TraceCheckUtils]: 56: Hoare triple {5730#(and (= ~elem~0.base |old(~elem~0.base)|) (= ~elem~0.offset |old(~elem~0.offset)|))} ~new.base, ~new.offset := #in~new.base, #in~new.offset; {5624#true} is VALID [2020-07-18 05:12:55,303 INFO L280 TraceCheckUtils]: 57: Hoare triple {5624#true} ~head.base, ~head.offset := #in~head.base, #in~head.offset; {5624#true} is VALID [2020-07-18 05:12:55,303 INFO L280 TraceCheckUtils]: 58: Hoare triple {5624#true} assume ~new.base != ~elem~0.base || ~new.offset != ~elem~0.offset; {5624#true} is VALID [2020-07-18 05:12:55,303 INFO L280 TraceCheckUtils]: 59: Hoare triple {5624#true} assume -2147483648 <= #t~nondet31 && #t~nondet31 <= 2147483647; {5624#true} is VALID [2020-07-18 05:12:55,304 INFO L280 TraceCheckUtils]: 60: Hoare triple {5624#true} assume !(0 != #t~nondet31); {5624#true} is VALID [2020-07-18 05:12:55,304 INFO L280 TraceCheckUtils]: 61: Hoare triple {5624#true} havoc #t~nondet31; {5624#true} is VALID [2020-07-18 05:12:55,304 INFO L280 TraceCheckUtils]: 62: Hoare triple {5624#true} assume true; {5624#true} is VALID [2020-07-18 05:12:55,305 INFO L275 TraceCheckUtils]: 63: Hoare quadruple {5624#true} {5673#(<= (+ main_~dev1~0.offset 1) main_~dev2~0.offset)} #98#return; {5673#(<= (+ main_~dev1~0.offset 1) main_~dev2~0.offset)} is VALID [2020-07-18 05:12:55,307 INFO L263 TraceCheckUtils]: 64: Hoare triple {5673#(<= (+ main_~dev1~0.offset 1) main_~dev2~0.offset)} call list_add(~dev1~0.base, ~dev1~0.offset, ~#head~0.base, ~#head~0.offset); {5730#(and (= ~elem~0.base |old(~elem~0.base)|) (= ~elem~0.offset |old(~elem~0.offset)|))} is VALID [2020-07-18 05:12:55,307 INFO L280 TraceCheckUtils]: 65: Hoare triple {5730#(and (= ~elem~0.base |old(~elem~0.base)|) (= ~elem~0.offset |old(~elem~0.offset)|))} ~new.base, ~new.offset := #in~new.base, #in~new.offset; {5731#(= |list_add_#in~new.offset| list_add_~new.offset)} is VALID [2020-07-18 05:12:55,308 INFO L280 TraceCheckUtils]: 66: Hoare triple {5731#(= |list_add_#in~new.offset| list_add_~new.offset)} ~head.base, ~head.offset := #in~head.base, #in~head.offset; {5731#(= |list_add_#in~new.offset| list_add_~new.offset)} is VALID [2020-07-18 05:12:55,308 INFO L280 TraceCheckUtils]: 67: Hoare triple {5731#(= |list_add_#in~new.offset| list_add_~new.offset)} assume ~new.base != ~elem~0.base || ~new.offset != ~elem~0.offset; {5731#(= |list_add_#in~new.offset| list_add_~new.offset)} is VALID [2020-07-18 05:12:55,309 INFO L280 TraceCheckUtils]: 68: Hoare triple {5731#(= |list_add_#in~new.offset| list_add_~new.offset)} assume -2147483648 <= #t~nondet31 && #t~nondet31 <= 2147483647; {5731#(= |list_add_#in~new.offset| list_add_~new.offset)} is VALID [2020-07-18 05:12:55,310 INFO L280 TraceCheckUtils]: 69: Hoare triple {5731#(= |list_add_#in~new.offset| list_add_~new.offset)} assume 0 != #t~nondet31; {5731#(= |list_add_#in~new.offset| list_add_~new.offset)} is VALID [2020-07-18 05:12:55,311 INFO L280 TraceCheckUtils]: 70: Hoare triple {5731#(= |list_add_#in~new.offset| list_add_~new.offset)} havoc #t~nondet31; {5731#(= |list_add_#in~new.offset| list_add_~new.offset)} is VALID [2020-07-18 05:12:55,311 INFO L280 TraceCheckUtils]: 71: Hoare triple {5731#(= |list_add_#in~new.offset| list_add_~new.offset)} ~elem~0.base, ~elem~0.offset := ~new.base, ~new.offset; {5732#(= ~elem~0.offset |list_add_#in~new.offset|)} is VALID [2020-07-18 05:12:55,312 INFO L280 TraceCheckUtils]: 72: Hoare triple {5732#(= ~elem~0.offset |list_add_#in~new.offset|)} assume true; {5732#(= ~elem~0.offset |list_add_#in~new.offset|)} is VALID [2020-07-18 05:12:55,313 INFO L275 TraceCheckUtils]: 73: Hoare quadruple {5732#(= ~elem~0.offset |list_add_#in~new.offset|)} {5673#(<= (+ main_~dev1~0.offset 1) main_~dev2~0.offset)} #100#return; {5691#(<= (+ ~elem~0.offset 1) main_~dev2~0.offset)} is VALID [2020-07-18 05:12:55,314 INFO L263 TraceCheckUtils]: 74: Hoare triple {5691#(<= (+ ~elem~0.offset 1) main_~dev2~0.offset)} call list_del(~dev2~0.base, ~dev2~0.offset); {5730#(and (= ~elem~0.base |old(~elem~0.base)|) (= ~elem~0.offset |old(~elem~0.offset)|))} is VALID [2020-07-18 05:12:55,316 INFO L280 TraceCheckUtils]: 75: Hoare triple {5730#(and (= ~elem~0.base |old(~elem~0.base)|) (= ~elem~0.offset |old(~elem~0.offset)|))} ~entry.base, ~entry.offset := #in~entry.base, #in~entry.offset; {5733#(and (= |old(~elem~0.offset)| ~elem~0.offset) (= |list_del_#in~entry.offset| list_del_~entry.offset))} is VALID [2020-07-18 05:12:55,316 INFO L280 TraceCheckUtils]: 76: Hoare triple {5733#(and (= |old(~elem~0.offset)| ~elem~0.offset) (= |list_del_#in~entry.offset| list_del_~entry.offset))} assume ~entry.base == ~elem~0.base && ~entry.offset == ~elem~0.offset; {5734#(= |old(~elem~0.offset)| |list_del_#in~entry.offset|)} is VALID [2020-07-18 05:12:55,317 INFO L280 TraceCheckUtils]: 77: Hoare triple {5734#(= |old(~elem~0.offset)| |list_del_#in~entry.offset|)} ~elem~0.base, ~elem~0.offset := 0, 0; {5734#(= |old(~elem~0.offset)| |list_del_#in~entry.offset|)} is VALID [2020-07-18 05:12:55,318 INFO L280 TraceCheckUtils]: 78: Hoare triple {5734#(= |old(~elem~0.offset)| |list_del_#in~entry.offset|)} assume true; {5734#(= |old(~elem~0.offset)| |list_del_#in~entry.offset|)} is VALID [2020-07-18 05:12:55,320 INFO L275 TraceCheckUtils]: 79: Hoare quadruple {5734#(= |old(~elem~0.offset)| |list_del_#in~entry.offset|)} {5691#(<= (+ ~elem~0.offset 1) main_~dev2~0.offset)} #102#return; {5625#false} is VALID [2020-07-18 05:12:55,320 INFO L263 TraceCheckUtils]: 80: Hoare triple {5625#false} call list_add(~dev2~0.base, ~dev2~0.offset, ~#head~0.base, ~#head~0.offset); {5625#false} is VALID [2020-07-18 05:12:55,320 INFO L280 TraceCheckUtils]: 81: Hoare triple {5625#false} ~new.base, ~new.offset := #in~new.base, #in~new.offset; {5625#false} is VALID [2020-07-18 05:12:55,320 INFO L280 TraceCheckUtils]: 82: Hoare triple {5625#false} ~head.base, ~head.offset := #in~head.base, #in~head.offset; {5625#false} is VALID [2020-07-18 05:12:55,321 INFO L280 TraceCheckUtils]: 83: Hoare triple {5625#false} assume !(~new.base != ~elem~0.base || ~new.offset != ~elem~0.offset); {5625#false} is VALID [2020-07-18 05:12:55,321 INFO L263 TraceCheckUtils]: 84: Hoare triple {5625#false} call __blast_assert(); {5625#false} is VALID [2020-07-18 05:12:55,321 INFO L280 TraceCheckUtils]: 85: Hoare triple {5625#false} assume !false; {5625#false} is VALID [2020-07-18 05:12:55,334 INFO L134 CoverageAnalysis]: Checked inductivity of 30 backedges. 21 proven. 6 refuted. 0 times theorem prover too weak. 3 trivial. 0 not checked. [2020-07-18 05:12:55,335 INFO L354 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModulePreferences [349491852] [2020-07-18 05:12:55,335 INFO L220 FreeRefinementEngine]: Constructing automaton from 0 perfect and 1 imperfect interpolant sequences. [2020-07-18 05:12:55,335 INFO L233 FreeRefinementEngine]: Number of different interpolants: perfect sequences [] imperfect sequences [23] total 23 [2020-07-18 05:12:55,345 INFO L156 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [836247854] [2020-07-18 05:12:55,347 INFO L78 Accepts]: Start accepts. Automaton has 23 states. Word has length 86 [2020-07-18 05:12:55,347 INFO L84 Accepts]: Finished accepts. word is accepted. [2020-07-18 05:12:55,347 INFO L86 InductivityCheck]: Starting indutivity check of a Floyd-Hoare automaton with 23 states. [2020-07-18 05:12:55,465 INFO L119 InductivityCheck]: Floyd-Hoare automaton has 86 edges. 86 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2020-07-18 05:12:55,465 INFO L459 AbstractCegarLoop]: Interpolant automaton has 23 states [2020-07-18 05:12:55,466 INFO L143 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy FIXED_PREFERENCES [2020-07-18 05:12:55,466 INFO L142 InterpolantAutomaton]: Constructing interpolant automaton starting with 23 interpolants. [2020-07-18 05:12:55,466 INFO L144 InterpolantAutomaton]: CoverageRelationStatistics Valid=47, Invalid=459, Unknown=0, NotChecked=0, Total=506 [2020-07-18 05:12:55,467 INFO L87 Difference]: Start difference. First operand 111 states and 121 transitions. Second operand 23 states. [2020-07-18 05:13:01,439 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2020-07-18 05:13:01,439 INFO L93 Difference]: Finished difference Result 129 states and 139 transitions. [2020-07-18 05:13:01,439 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 26 states. [2020-07-18 05:13:01,439 INFO L78 Accepts]: Start accepts. Automaton has 23 states. Word has length 86 [2020-07-18 05:13:01,440 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2020-07-18 05:13:01,440 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 23 states. [2020-07-18 05:13:01,443 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 26 states to 26 states and 97 transitions. [2020-07-18 05:13:01,444 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 23 states. [2020-07-18 05:13:01,447 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 26 states to 26 states and 97 transitions. [2020-07-18 05:13:01,447 INFO L86 InductivityCheck]: Starting indutivity check of a Floyd-Hoare automaton with 26 states and 97 transitions. [2020-07-18 05:13:01,631 INFO L119 InductivityCheck]: Floyd-Hoare automaton has 97 edges. 97 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2020-07-18 05:13:01,636 INFO L225 Difference]: With dead ends: 129 [2020-07-18 05:13:01,636 INFO L226 Difference]: Without dead ends: 112 [2020-07-18 05:13:01,638 INFO L675 BasicCegarLoop]: 0 DeclaredPredicates, 57 GetRequests, 14 SyntacticMatches, 0 SemanticMatches, 43 ConstructedPredicates, 0 IntricatePredicates, 0 DeprecatedPredicates, 232 ImplicationChecksByTransitivity, 1.2s TimeCoverageRelationStatistics Valid=214, Invalid=1766, Unknown=0, NotChecked=0, Total=1980 [2020-07-18 05:13:01,638 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 112 states. [2020-07-18 05:13:02,172 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 112 to 111. [2020-07-18 05:13:02,173 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2020-07-18 05:13:02,173 INFO L82 GeneralOperation]: Start isEquivalent. First operand 112 states. Second operand 111 states. [2020-07-18 05:13:02,173 INFO L74 IsIncluded]: Start isIncluded. First operand 112 states. Second operand 111 states. [2020-07-18 05:13:02,173 INFO L87 Difference]: Start difference. First operand 112 states. Second operand 111 states. [2020-07-18 05:13:02,178 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2020-07-18 05:13:02,178 INFO L93 Difference]: Finished difference Result 112 states and 121 transitions. [2020-07-18 05:13:02,178 INFO L276 IsEmpty]: Start isEmpty. Operand 112 states and 121 transitions. [2020-07-18 05:13:02,179 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2020-07-18 05:13:02,179 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2020-07-18 05:13:02,179 INFO L74 IsIncluded]: Start isIncluded. First operand 111 states. Second operand 112 states. [2020-07-18 05:13:02,179 INFO L87 Difference]: Start difference. First operand 111 states. Second operand 112 states. [2020-07-18 05:13:02,183 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2020-07-18 05:13:02,183 INFO L93 Difference]: Finished difference Result 112 states and 121 transitions. [2020-07-18 05:13:02,183 INFO L276 IsEmpty]: Start isEmpty. Operand 112 states and 121 transitions. [2020-07-18 05:13:02,185 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2020-07-18 05:13:02,186 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2020-07-18 05:13:02,186 INFO L88 GeneralOperation]: Finished isEquivalent. [2020-07-18 05:13:02,186 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2020-07-18 05:13:02,186 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 111 states. [2020-07-18 05:13:02,189 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 111 states to 111 states and 120 transitions. [2020-07-18 05:13:02,189 INFO L78 Accepts]: Start accepts. Automaton has 111 states and 120 transitions. Word has length 86 [2020-07-18 05:13:02,189 INFO L84 Accepts]: Finished accepts. word is rejected. [2020-07-18 05:13:02,190 INFO L479 AbstractCegarLoop]: Abstraction has 111 states and 120 transitions. [2020-07-18 05:13:02,190 INFO L480 AbstractCegarLoop]: Interpolant automaton has 23 states. [2020-07-18 05:13:02,190 INFO L86 InductivityCheck]: Starting indutivity check of a Floyd-Hoare automaton with 111 states and 120 transitions. [2020-07-18 05:13:02,516 INFO L119 InductivityCheck]: Floyd-Hoare automaton has 120 edges. 120 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2020-07-18 05:13:02,516 INFO L276 IsEmpty]: Start isEmpty. Operand 111 states and 120 transitions. [2020-07-18 05:13:02,518 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 87 [2020-07-18 05:13:02,518 INFO L414 BasicCegarLoop]: Found error trace [2020-07-18 05:13:02,518 INFO L422 BasicCegarLoop]: trace histogram [3, 3, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1] [2020-07-18 05:13:02,518 WARN L516 AbstractCegarLoop]: Destroyed unattended storables created during the last iteration: SelfDestructingSolverStorable8 [2020-07-18 05:13:02,519 INFO L427 AbstractCegarLoop]: === Iteration 10 === [__blast_assertErr0ASSERT_VIOLATIONERROR_FUNCTION]=== [2020-07-18 05:13:02,519 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2020-07-18 05:13:02,519 INFO L82 PathProgramCache]: Analyzing trace with hash -305538175, now seen corresponding path program 2 times [2020-07-18 05:13:02,519 INFO L163 FreeRefinementEngine]: Executing refinement strategy FIXED_PREFERENCES [2020-07-18 05:13:02,520 INFO L354 FreeRefinementEngine]: Using trace check IpTcStrategyModulePreferences [391852582] [2020-07-18 05:13:02,520 INFO L94 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2020-07-18 05:13:02,539 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2020-07-18 05:13:02,754 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2020-07-18 05:13:02,761 INFO L280 TraceCheckUtils]: 0: Hoare triple {6562#(and (= |#valid| |old(#valid)|) (= ~elem~0.base |old(~elem~0.base)|) (= |#NULL.base| |old(#NULL.base)|) (= |~#head~0.base| |old(~#head~0.base)|) (= ~guard_malloc_counter~0.offset |old(~guard_malloc_counter~0.offset)|) (= |#NULL.offset| |old(#NULL.offset)|) (= ~elem~0.offset |old(~elem~0.offset)|) (= |old(#length)| |#length|) (= |~#head~0.offset| |old(~#head~0.offset)|) (= ~guard_malloc_counter~0.base |old(~guard_malloc_counter~0.base)|))} #NULL.base, #NULL.offset := 0, 0; {6487#true} is VALID [2020-07-18 05:13:02,761 INFO L280 TraceCheckUtils]: 1: Hoare triple {6487#true} #valid := #valid[0 := 0]; {6487#true} is VALID [2020-07-18 05:13:02,761 INFO L280 TraceCheckUtils]: 2: Hoare triple {6487#true} assume 0 < #StackHeapBarrier; {6487#true} is VALID [2020-07-18 05:13:02,762 INFO L280 TraceCheckUtils]: 3: Hoare triple {6487#true} ~guard_malloc_counter~0.base, ~guard_malloc_counter~0.offset := 0, 0; {6499#(= 0 ~guard_malloc_counter~0.offset)} is VALID [2020-07-18 05:13:02,763 INFO L280 TraceCheckUtils]: 4: Hoare triple {6499#(= 0 ~guard_malloc_counter~0.offset)} ~elem~0.base, ~elem~0.offset := 0, 0; {6499#(= 0 ~guard_malloc_counter~0.offset)} is VALID [2020-07-18 05:13:02,764 INFO L280 TraceCheckUtils]: 5: Hoare triple {6499#(= 0 ~guard_malloc_counter~0.offset)} SUMMARY for call ~#head~0.base, ~#head~0.offset := #Ultimate.allocOnStack(8); srcloc: L900 {6499#(= 0 ~guard_malloc_counter~0.offset)} is VALID [2020-07-18 05:13:02,765 INFO L280 TraceCheckUtils]: 6: Hoare triple {6499#(= 0 ~guard_malloc_counter~0.offset)} SUMMARY for call write~init~$Pointer$(0, 0, ~#head~0.base, ~#head~0.offset, 4); srcloc: L900-1 {6499#(= 0 ~guard_malloc_counter~0.offset)} is VALID [2020-07-18 05:13:02,765 INFO L280 TraceCheckUtils]: 7: Hoare triple {6499#(= 0 ~guard_malloc_counter~0.offset)} SUMMARY for call write~init~$Pointer$(0, 0, ~#head~0.base, 4 + ~#head~0.offset, 4); srcloc: L900-2 {6499#(= 0 ~guard_malloc_counter~0.offset)} is VALID [2020-07-18 05:13:02,766 INFO L280 TraceCheckUtils]: 8: Hoare triple {6499#(= 0 ~guard_malloc_counter~0.offset)} assume true; {6499#(= 0 ~guard_malloc_counter~0.offset)} is VALID [2020-07-18 05:13:02,767 INFO L275 TraceCheckUtils]: 9: Hoare quadruple {6499#(= 0 ~guard_malloc_counter~0.offset)} {6487#true} #112#return; {6499#(= 0 ~guard_malloc_counter~0.offset)} is VALID [2020-07-18 05:13:02,792 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2020-07-18 05:13:02,833 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2020-07-18 05:13:02,861 INFO L280 TraceCheckUtils]: 0: Hoare triple {6563#(and (= ~guard_malloc_counter~0.offset |old(~guard_malloc_counter~0.offset)|) (= ~guard_malloc_counter~0.base |old(~guard_malloc_counter~0.base)|))} ~size := #in~size; {6564#(= ~guard_malloc_counter~0.offset |old(~guard_malloc_counter~0.offset)|)} is VALID [2020-07-18 05:13:02,862 INFO L280 TraceCheckUtils]: 1: Hoare triple {6564#(= ~guard_malloc_counter~0.offset |old(~guard_malloc_counter~0.offset)|)} assume ~size > 0; {6564#(= ~guard_malloc_counter~0.offset |old(~guard_malloc_counter~0.offset)|)} is VALID [2020-07-18 05:13:02,863 INFO L280 TraceCheckUtils]: 2: Hoare triple {6564#(= ~guard_malloc_counter~0.offset |old(~guard_malloc_counter~0.offset)|)} #t~post28.base, #t~post28.offset := ~guard_malloc_counter~0.base, ~guard_malloc_counter~0.offset; {6577#(= |old(~guard_malloc_counter~0.offset)| |__getMemory_#t~post28.offset|)} is VALID [2020-07-18 05:13:02,864 INFO L280 TraceCheckUtils]: 3: Hoare triple {6577#(= |old(~guard_malloc_counter~0.offset)| |__getMemory_#t~post28.offset|)} ~guard_malloc_counter~0.base, ~guard_malloc_counter~0.offset := #t~post28.base, 1 + #t~post28.offset; {6576#(<= (+ |old(~guard_malloc_counter~0.offset)| 1) ~guard_malloc_counter~0.offset)} is VALID [2020-07-18 05:13:02,864 INFO L280 TraceCheckUtils]: 4: Hoare triple {6576#(<= (+ |old(~guard_malloc_counter~0.offset)| 1) ~guard_malloc_counter~0.offset)} havoc #t~post28.base, #t~post28.offset; {6576#(<= (+ |old(~guard_malloc_counter~0.offset)| 1) ~guard_malloc_counter~0.offset)} is VALID [2020-07-18 05:13:02,865 INFO L280 TraceCheckUtils]: 5: Hoare triple {6576#(<= (+ |old(~guard_malloc_counter~0.offset)| 1) ~guard_malloc_counter~0.offset)} assume -2147483648 <= #t~nondet29 && #t~nondet29 <= 2147483647; {6576#(<= (+ |old(~guard_malloc_counter~0.offset)| 1) ~guard_malloc_counter~0.offset)} is VALID [2020-07-18 05:13:02,865 INFO L280 TraceCheckUtils]: 6: Hoare triple {6576#(<= (+ |old(~guard_malloc_counter~0.offset)| 1) ~guard_malloc_counter~0.offset)} assume !(0 == #t~nondet29); {6576#(<= (+ |old(~guard_malloc_counter~0.offset)| 1) ~guard_malloc_counter~0.offset)} is VALID [2020-07-18 05:13:02,866 INFO L280 TraceCheckUtils]: 7: Hoare triple {6576#(<= (+ |old(~guard_malloc_counter~0.offset)| 1) ~guard_malloc_counter~0.offset)} havoc #t~nondet29; {6576#(<= (+ |old(~guard_malloc_counter~0.offset)| 1) ~guard_malloc_counter~0.offset)} is VALID [2020-07-18 05:13:02,867 INFO L280 TraceCheckUtils]: 8: Hoare triple {6576#(<= (+ |old(~guard_malloc_counter~0.offset)| 1) ~guard_malloc_counter~0.offset)} #res.base, #res.offset := ~guard_malloc_counter~0.base, ~guard_malloc_counter~0.offset; {6576#(<= (+ |old(~guard_malloc_counter~0.offset)| 1) ~guard_malloc_counter~0.offset)} is VALID [2020-07-18 05:13:02,868 INFO L280 TraceCheckUtils]: 9: Hoare triple {6576#(<= (+ |old(~guard_malloc_counter~0.offset)| 1) ~guard_malloc_counter~0.offset)} assume true; {6576#(<= (+ |old(~guard_malloc_counter~0.offset)| 1) ~guard_malloc_counter~0.offset)} is VALID [2020-07-18 05:13:02,869 INFO L275 TraceCheckUtils]: 10: Hoare quadruple {6576#(<= (+ |old(~guard_malloc_counter~0.offset)| 1) ~guard_malloc_counter~0.offset)} {6564#(= ~guard_malloc_counter~0.offset |old(~guard_malloc_counter~0.offset)|)} #92#return; {6576#(<= (+ |old(~guard_malloc_counter~0.offset)| 1) ~guard_malloc_counter~0.offset)} is VALID [2020-07-18 05:13:02,870 INFO L280 TraceCheckUtils]: 0: Hoare triple {6563#(and (= ~guard_malloc_counter~0.offset |old(~guard_malloc_counter~0.offset)|) (= ~guard_malloc_counter~0.base |old(~guard_malloc_counter~0.base)|))} ~size := #in~size; {6564#(= ~guard_malloc_counter~0.offset |old(~guard_malloc_counter~0.offset)|)} is VALID [2020-07-18 05:13:02,871 INFO L263 TraceCheckUtils]: 1: Hoare triple {6564#(= ~guard_malloc_counter~0.offset |old(~guard_malloc_counter~0.offset)|)} call #t~ret30.base, #t~ret30.offset := __getMemory(~size); {6563#(and (= ~guard_malloc_counter~0.offset |old(~guard_malloc_counter~0.offset)|) (= ~guard_malloc_counter~0.base |old(~guard_malloc_counter~0.base)|))} is VALID [2020-07-18 05:13:02,871 INFO L280 TraceCheckUtils]: 2: Hoare triple {6563#(and (= ~guard_malloc_counter~0.offset |old(~guard_malloc_counter~0.offset)|) (= ~guard_malloc_counter~0.base |old(~guard_malloc_counter~0.base)|))} ~size := #in~size; {6564#(= ~guard_malloc_counter~0.offset |old(~guard_malloc_counter~0.offset)|)} is VALID [2020-07-18 05:13:02,872 INFO L280 TraceCheckUtils]: 3: Hoare triple {6564#(= ~guard_malloc_counter~0.offset |old(~guard_malloc_counter~0.offset)|)} assume ~size > 0; {6564#(= ~guard_malloc_counter~0.offset |old(~guard_malloc_counter~0.offset)|)} is VALID [2020-07-18 05:13:02,873 INFO L280 TraceCheckUtils]: 4: Hoare triple {6564#(= ~guard_malloc_counter~0.offset |old(~guard_malloc_counter~0.offset)|)} #t~post28.base, #t~post28.offset := ~guard_malloc_counter~0.base, ~guard_malloc_counter~0.offset; {6577#(= |old(~guard_malloc_counter~0.offset)| |__getMemory_#t~post28.offset|)} is VALID [2020-07-18 05:13:02,874 INFO L280 TraceCheckUtils]: 5: Hoare triple {6577#(= |old(~guard_malloc_counter~0.offset)| |__getMemory_#t~post28.offset|)} ~guard_malloc_counter~0.base, ~guard_malloc_counter~0.offset := #t~post28.base, 1 + #t~post28.offset; {6576#(<= (+ |old(~guard_malloc_counter~0.offset)| 1) ~guard_malloc_counter~0.offset)} is VALID [2020-07-18 05:13:02,875 INFO L280 TraceCheckUtils]: 6: Hoare triple {6576#(<= (+ |old(~guard_malloc_counter~0.offset)| 1) ~guard_malloc_counter~0.offset)} havoc #t~post28.base, #t~post28.offset; {6576#(<= (+ |old(~guard_malloc_counter~0.offset)| 1) ~guard_malloc_counter~0.offset)} is VALID [2020-07-18 05:13:02,875 INFO L280 TraceCheckUtils]: 7: Hoare triple {6576#(<= (+ |old(~guard_malloc_counter~0.offset)| 1) ~guard_malloc_counter~0.offset)} assume -2147483648 <= #t~nondet29 && #t~nondet29 <= 2147483647; {6576#(<= (+ |old(~guard_malloc_counter~0.offset)| 1) ~guard_malloc_counter~0.offset)} is VALID [2020-07-18 05:13:02,876 INFO L280 TraceCheckUtils]: 8: Hoare triple {6576#(<= (+ |old(~guard_malloc_counter~0.offset)| 1) ~guard_malloc_counter~0.offset)} assume !(0 == #t~nondet29); {6576#(<= (+ |old(~guard_malloc_counter~0.offset)| 1) ~guard_malloc_counter~0.offset)} is VALID [2020-07-18 05:13:02,878 INFO L280 TraceCheckUtils]: 9: Hoare triple {6576#(<= (+ |old(~guard_malloc_counter~0.offset)| 1) ~guard_malloc_counter~0.offset)} havoc #t~nondet29; {6576#(<= (+ |old(~guard_malloc_counter~0.offset)| 1) ~guard_malloc_counter~0.offset)} is VALID [2020-07-18 05:13:02,878 INFO L280 TraceCheckUtils]: 10: Hoare triple {6576#(<= (+ |old(~guard_malloc_counter~0.offset)| 1) ~guard_malloc_counter~0.offset)} #res.base, #res.offset := ~guard_malloc_counter~0.base, ~guard_malloc_counter~0.offset; {6576#(<= (+ |old(~guard_malloc_counter~0.offset)| 1) ~guard_malloc_counter~0.offset)} is VALID [2020-07-18 05:13:02,879 INFO L280 TraceCheckUtils]: 11: Hoare triple {6576#(<= (+ |old(~guard_malloc_counter~0.offset)| 1) ~guard_malloc_counter~0.offset)} assume true; {6576#(<= (+ |old(~guard_malloc_counter~0.offset)| 1) ~guard_malloc_counter~0.offset)} is VALID [2020-07-18 05:13:02,880 INFO L275 TraceCheckUtils]: 12: Hoare quadruple {6576#(<= (+ |old(~guard_malloc_counter~0.offset)| 1) ~guard_malloc_counter~0.offset)} {6564#(= ~guard_malloc_counter~0.offset |old(~guard_malloc_counter~0.offset)|)} #92#return; {6576#(<= (+ |old(~guard_malloc_counter~0.offset)| 1) ~guard_malloc_counter~0.offset)} is VALID [2020-07-18 05:13:02,881 INFO L280 TraceCheckUtils]: 13: Hoare triple {6576#(<= (+ |old(~guard_malloc_counter~0.offset)| 1) ~guard_malloc_counter~0.offset)} #res.base, #res.offset := #t~ret30.base, #t~ret30.offset; {6576#(<= (+ |old(~guard_malloc_counter~0.offset)| 1) ~guard_malloc_counter~0.offset)} is VALID [2020-07-18 05:13:02,881 INFO L280 TraceCheckUtils]: 14: Hoare triple {6576#(<= (+ |old(~guard_malloc_counter~0.offset)| 1) ~guard_malloc_counter~0.offset)} havoc #t~ret30.base, #t~ret30.offset; {6576#(<= (+ |old(~guard_malloc_counter~0.offset)| 1) ~guard_malloc_counter~0.offset)} is VALID [2020-07-18 05:13:02,882 INFO L280 TraceCheckUtils]: 15: Hoare triple {6576#(<= (+ |old(~guard_malloc_counter~0.offset)| 1) ~guard_malloc_counter~0.offset)} assume true; {6576#(<= (+ |old(~guard_malloc_counter~0.offset)| 1) ~guard_malloc_counter~0.offset)} is VALID [2020-07-18 05:13:02,883 INFO L275 TraceCheckUtils]: 16: Hoare quadruple {6576#(<= (+ |old(~guard_malloc_counter~0.offset)| 1) ~guard_malloc_counter~0.offset)} {6499#(= 0 ~guard_malloc_counter~0.offset)} #94#return; {6517#(<= 1 ~guard_malloc_counter~0.offset)} is VALID [2020-07-18 05:13:02,887 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2020-07-18 05:13:02,942 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2020-07-18 05:13:02,976 INFO L280 TraceCheckUtils]: 0: Hoare triple {6563#(and (= ~guard_malloc_counter~0.offset |old(~guard_malloc_counter~0.offset)|) (= ~guard_malloc_counter~0.base |old(~guard_malloc_counter~0.base)|))} ~size := #in~size; {6564#(= ~guard_malloc_counter~0.offset |old(~guard_malloc_counter~0.offset)|)} is VALID [2020-07-18 05:13:02,977 INFO L280 TraceCheckUtils]: 1: Hoare triple {6564#(= ~guard_malloc_counter~0.offset |old(~guard_malloc_counter~0.offset)|)} assume ~size > 0; {6564#(= ~guard_malloc_counter~0.offset |old(~guard_malloc_counter~0.offset)|)} is VALID [2020-07-18 05:13:02,978 INFO L280 TraceCheckUtils]: 2: Hoare triple {6564#(= ~guard_malloc_counter~0.offset |old(~guard_malloc_counter~0.offset)|)} #t~post28.base, #t~post28.offset := ~guard_malloc_counter~0.base, ~guard_malloc_counter~0.offset; {6577#(= |old(~guard_malloc_counter~0.offset)| |__getMemory_#t~post28.offset|)} is VALID [2020-07-18 05:13:02,979 INFO L280 TraceCheckUtils]: 3: Hoare triple {6577#(= |old(~guard_malloc_counter~0.offset)| |__getMemory_#t~post28.offset|)} ~guard_malloc_counter~0.base, ~guard_malloc_counter~0.offset := #t~post28.base, 1 + #t~post28.offset; {6576#(<= (+ |old(~guard_malloc_counter~0.offset)| 1) ~guard_malloc_counter~0.offset)} is VALID [2020-07-18 05:13:02,979 INFO L280 TraceCheckUtils]: 4: Hoare triple {6576#(<= (+ |old(~guard_malloc_counter~0.offset)| 1) ~guard_malloc_counter~0.offset)} havoc #t~post28.base, #t~post28.offset; {6576#(<= (+ |old(~guard_malloc_counter~0.offset)| 1) ~guard_malloc_counter~0.offset)} is VALID [2020-07-18 05:13:02,980 INFO L280 TraceCheckUtils]: 5: Hoare triple {6576#(<= (+ |old(~guard_malloc_counter~0.offset)| 1) ~guard_malloc_counter~0.offset)} assume -2147483648 <= #t~nondet29 && #t~nondet29 <= 2147483647; {6576#(<= (+ |old(~guard_malloc_counter~0.offset)| 1) ~guard_malloc_counter~0.offset)} is VALID [2020-07-18 05:13:02,981 INFO L280 TraceCheckUtils]: 6: Hoare triple {6576#(<= (+ |old(~guard_malloc_counter~0.offset)| 1) ~guard_malloc_counter~0.offset)} assume !(0 == #t~nondet29); {6576#(<= (+ |old(~guard_malloc_counter~0.offset)| 1) ~guard_malloc_counter~0.offset)} is VALID [2020-07-18 05:13:02,982 INFO L280 TraceCheckUtils]: 7: Hoare triple {6576#(<= (+ |old(~guard_malloc_counter~0.offset)| 1) ~guard_malloc_counter~0.offset)} havoc #t~nondet29; {6576#(<= (+ |old(~guard_malloc_counter~0.offset)| 1) ~guard_malloc_counter~0.offset)} is VALID [2020-07-18 05:13:02,983 INFO L280 TraceCheckUtils]: 8: Hoare triple {6576#(<= (+ |old(~guard_malloc_counter~0.offset)| 1) ~guard_malloc_counter~0.offset)} #res.base, #res.offset := ~guard_malloc_counter~0.base, ~guard_malloc_counter~0.offset; {6591#(<= (+ |old(~guard_malloc_counter~0.offset)| 1) |__getMemory_#res.offset|)} is VALID [2020-07-18 05:13:02,984 INFO L280 TraceCheckUtils]: 9: Hoare triple {6591#(<= (+ |old(~guard_malloc_counter~0.offset)| 1) |__getMemory_#res.offset|)} assume true; {6591#(<= (+ |old(~guard_malloc_counter~0.offset)| 1) |__getMemory_#res.offset|)} is VALID [2020-07-18 05:13:02,985 INFO L275 TraceCheckUtils]: 10: Hoare quadruple {6591#(<= (+ |old(~guard_malloc_counter~0.offset)| 1) |__getMemory_#res.offset|)} {6564#(= ~guard_malloc_counter~0.offset |old(~guard_malloc_counter~0.offset)|)} #92#return; {6589#(<= (+ |old(~guard_malloc_counter~0.offset)| 1) |my_malloc_#t~ret30.offset|)} is VALID [2020-07-18 05:13:02,986 INFO L280 TraceCheckUtils]: 0: Hoare triple {6563#(and (= ~guard_malloc_counter~0.offset |old(~guard_malloc_counter~0.offset)|) (= ~guard_malloc_counter~0.base |old(~guard_malloc_counter~0.base)|))} ~size := #in~size; {6564#(= ~guard_malloc_counter~0.offset |old(~guard_malloc_counter~0.offset)|)} is VALID [2020-07-18 05:13:02,987 INFO L263 TraceCheckUtils]: 1: Hoare triple {6564#(= ~guard_malloc_counter~0.offset |old(~guard_malloc_counter~0.offset)|)} call #t~ret30.base, #t~ret30.offset := __getMemory(~size); {6563#(and (= ~guard_malloc_counter~0.offset |old(~guard_malloc_counter~0.offset)|) (= ~guard_malloc_counter~0.base |old(~guard_malloc_counter~0.base)|))} is VALID [2020-07-18 05:13:02,988 INFO L280 TraceCheckUtils]: 2: Hoare triple {6563#(and (= ~guard_malloc_counter~0.offset |old(~guard_malloc_counter~0.offset)|) (= ~guard_malloc_counter~0.base |old(~guard_malloc_counter~0.base)|))} ~size := #in~size; {6564#(= ~guard_malloc_counter~0.offset |old(~guard_malloc_counter~0.offset)|)} is VALID [2020-07-18 05:13:02,989 INFO L280 TraceCheckUtils]: 3: Hoare triple {6564#(= ~guard_malloc_counter~0.offset |old(~guard_malloc_counter~0.offset)|)} assume ~size > 0; {6564#(= ~guard_malloc_counter~0.offset |old(~guard_malloc_counter~0.offset)|)} is VALID [2020-07-18 05:13:02,989 INFO L280 TraceCheckUtils]: 4: Hoare triple {6564#(= ~guard_malloc_counter~0.offset |old(~guard_malloc_counter~0.offset)|)} #t~post28.base, #t~post28.offset := ~guard_malloc_counter~0.base, ~guard_malloc_counter~0.offset; {6577#(= |old(~guard_malloc_counter~0.offset)| |__getMemory_#t~post28.offset|)} is VALID [2020-07-18 05:13:02,990 INFO L280 TraceCheckUtils]: 5: Hoare triple {6577#(= |old(~guard_malloc_counter~0.offset)| |__getMemory_#t~post28.offset|)} ~guard_malloc_counter~0.base, ~guard_malloc_counter~0.offset := #t~post28.base, 1 + #t~post28.offset; {6576#(<= (+ |old(~guard_malloc_counter~0.offset)| 1) ~guard_malloc_counter~0.offset)} is VALID [2020-07-18 05:13:02,991 INFO L280 TraceCheckUtils]: 6: Hoare triple {6576#(<= (+ |old(~guard_malloc_counter~0.offset)| 1) ~guard_malloc_counter~0.offset)} havoc #t~post28.base, #t~post28.offset; {6576#(<= (+ |old(~guard_malloc_counter~0.offset)| 1) ~guard_malloc_counter~0.offset)} is VALID [2020-07-18 05:13:02,992 INFO L280 TraceCheckUtils]: 7: Hoare triple {6576#(<= (+ |old(~guard_malloc_counter~0.offset)| 1) ~guard_malloc_counter~0.offset)} assume -2147483648 <= #t~nondet29 && #t~nondet29 <= 2147483647; {6576#(<= (+ |old(~guard_malloc_counter~0.offset)| 1) ~guard_malloc_counter~0.offset)} is VALID [2020-07-18 05:13:02,992 INFO L280 TraceCheckUtils]: 8: Hoare triple {6576#(<= (+ |old(~guard_malloc_counter~0.offset)| 1) ~guard_malloc_counter~0.offset)} assume !(0 == #t~nondet29); {6576#(<= (+ |old(~guard_malloc_counter~0.offset)| 1) ~guard_malloc_counter~0.offset)} is VALID [2020-07-18 05:13:02,993 INFO L280 TraceCheckUtils]: 9: Hoare triple {6576#(<= (+ |old(~guard_malloc_counter~0.offset)| 1) ~guard_malloc_counter~0.offset)} havoc #t~nondet29; {6576#(<= (+ |old(~guard_malloc_counter~0.offset)| 1) ~guard_malloc_counter~0.offset)} is VALID [2020-07-18 05:13:02,994 INFO L280 TraceCheckUtils]: 10: Hoare triple {6576#(<= (+ |old(~guard_malloc_counter~0.offset)| 1) ~guard_malloc_counter~0.offset)} #res.base, #res.offset := ~guard_malloc_counter~0.base, ~guard_malloc_counter~0.offset; {6591#(<= (+ |old(~guard_malloc_counter~0.offset)| 1) |__getMemory_#res.offset|)} is VALID [2020-07-18 05:13:02,995 INFO L280 TraceCheckUtils]: 11: Hoare triple {6591#(<= (+ |old(~guard_malloc_counter~0.offset)| 1) |__getMemory_#res.offset|)} assume true; {6591#(<= (+ |old(~guard_malloc_counter~0.offset)| 1) |__getMemory_#res.offset|)} is VALID [2020-07-18 05:13:02,997 INFO L275 TraceCheckUtils]: 12: Hoare quadruple {6591#(<= (+ |old(~guard_malloc_counter~0.offset)| 1) |__getMemory_#res.offset|)} {6564#(= ~guard_malloc_counter~0.offset |old(~guard_malloc_counter~0.offset)|)} #92#return; {6589#(<= (+ |old(~guard_malloc_counter~0.offset)| 1) |my_malloc_#t~ret30.offset|)} is VALID [2020-07-18 05:13:02,998 INFO L280 TraceCheckUtils]: 13: Hoare triple {6589#(<= (+ |old(~guard_malloc_counter~0.offset)| 1) |my_malloc_#t~ret30.offset|)} #res.base, #res.offset := #t~ret30.base, #t~ret30.offset; {6590#(<= (+ |old(~guard_malloc_counter~0.offset)| 1) |my_malloc_#res.offset|)} is VALID [2020-07-18 05:13:03,000 INFO L280 TraceCheckUtils]: 14: Hoare triple {6590#(<= (+ |old(~guard_malloc_counter~0.offset)| 1) |my_malloc_#res.offset|)} havoc #t~ret30.base, #t~ret30.offset; {6590#(<= (+ |old(~guard_malloc_counter~0.offset)| 1) |my_malloc_#res.offset|)} is VALID [2020-07-18 05:13:03,000 INFO L280 TraceCheckUtils]: 15: Hoare triple {6590#(<= (+ |old(~guard_malloc_counter~0.offset)| 1) |my_malloc_#res.offset|)} assume true; {6590#(<= (+ |old(~guard_malloc_counter~0.offset)| 1) |my_malloc_#res.offset|)} is VALID [2020-07-18 05:13:03,002 INFO L275 TraceCheckUtils]: 16: Hoare quadruple {6590#(<= (+ |old(~guard_malloc_counter~0.offset)| 1) |my_malloc_#res.offset|)} {6517#(<= 1 ~guard_malloc_counter~0.offset)} #96#return; {6535#(<= 2 |main_#t~ret33.offset|)} is VALID [2020-07-18 05:13:03,039 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2020-07-18 05:13:03,043 INFO L280 TraceCheckUtils]: 0: Hoare triple {6592#(and (= ~elem~0.base |old(~elem~0.base)|) (= ~elem~0.offset |old(~elem~0.offset)|))} ~new.base, ~new.offset := #in~new.base, #in~new.offset; {6487#true} is VALID [2020-07-18 05:13:03,044 INFO L280 TraceCheckUtils]: 1: Hoare triple {6487#true} ~head.base, ~head.offset := #in~head.base, #in~head.offset; {6487#true} is VALID [2020-07-18 05:13:03,044 INFO L280 TraceCheckUtils]: 2: Hoare triple {6487#true} assume ~new.base != ~elem~0.base || ~new.offset != ~elem~0.offset; {6487#true} is VALID [2020-07-18 05:13:03,044 INFO L280 TraceCheckUtils]: 3: Hoare triple {6487#true} assume -2147483648 <= #t~nondet31 && #t~nondet31 <= 2147483647; {6487#true} is VALID [2020-07-18 05:13:03,044 INFO L280 TraceCheckUtils]: 4: Hoare triple {6487#true} assume 0 != #t~nondet31; {6487#true} is VALID [2020-07-18 05:13:03,045 INFO L280 TraceCheckUtils]: 5: Hoare triple {6487#true} havoc #t~nondet31; {6487#true} is VALID [2020-07-18 05:13:03,045 INFO L280 TraceCheckUtils]: 6: Hoare triple {6487#true} ~elem~0.base, ~elem~0.offset := ~new.base, ~new.offset; {6487#true} is VALID [2020-07-18 05:13:03,045 INFO L280 TraceCheckUtils]: 7: Hoare triple {6487#true} assume true; {6487#true} is VALID [2020-07-18 05:13:03,046 INFO L275 TraceCheckUtils]: 8: Hoare quadruple {6487#true} {6536#(<= 2 main_~dev2~0.offset)} #98#return; {6536#(<= 2 main_~dev2~0.offset)} is VALID [2020-07-18 05:13:03,048 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2020-07-18 05:13:03,052 INFO L280 TraceCheckUtils]: 0: Hoare triple {6592#(and (= ~elem~0.base |old(~elem~0.base)|) (= ~elem~0.offset |old(~elem~0.offset)|))} ~new.base, ~new.offset := #in~new.base, #in~new.offset; {6487#true} is VALID [2020-07-18 05:13:03,052 INFO L280 TraceCheckUtils]: 1: Hoare triple {6487#true} ~head.base, ~head.offset := #in~head.base, #in~head.offset; {6487#true} is VALID [2020-07-18 05:13:03,052 INFO L280 TraceCheckUtils]: 2: Hoare triple {6487#true} assume ~new.base != ~elem~0.base || ~new.offset != ~elem~0.offset; {6487#true} is VALID [2020-07-18 05:13:03,052 INFO L280 TraceCheckUtils]: 3: Hoare triple {6487#true} assume -2147483648 <= #t~nondet31 && #t~nondet31 <= 2147483647; {6487#true} is VALID [2020-07-18 05:13:03,052 INFO L280 TraceCheckUtils]: 4: Hoare triple {6487#true} assume !(0 != #t~nondet31); {6487#true} is VALID [2020-07-18 05:13:03,053 INFO L280 TraceCheckUtils]: 5: Hoare triple {6487#true} havoc #t~nondet31; {6487#true} is VALID [2020-07-18 05:13:03,053 INFO L280 TraceCheckUtils]: 6: Hoare triple {6487#true} assume true; {6487#true} is VALID [2020-07-18 05:13:03,054 INFO L275 TraceCheckUtils]: 7: Hoare quadruple {6487#true} {6536#(<= 2 main_~dev2~0.offset)} #100#return; {6536#(<= 2 main_~dev2~0.offset)} is VALID [2020-07-18 05:13:03,056 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2020-07-18 05:13:03,082 INFO L280 TraceCheckUtils]: 0: Hoare triple {6592#(and (= ~elem~0.base |old(~elem~0.base)|) (= ~elem~0.offset |old(~elem~0.offset)|))} ~entry.base, ~entry.offset := #in~entry.base, #in~entry.offset; {6487#true} is VALID [2020-07-18 05:13:03,083 INFO L280 TraceCheckUtils]: 1: Hoare triple {6487#true} assume ~entry.base == ~elem~0.base && ~entry.offset == ~elem~0.offset; {6487#true} is VALID [2020-07-18 05:13:03,084 INFO L280 TraceCheckUtils]: 2: Hoare triple {6487#true} ~elem~0.base, ~elem~0.offset := 0, 0; {6593#(= 0 ~elem~0.offset)} is VALID [2020-07-18 05:13:03,084 INFO L280 TraceCheckUtils]: 3: Hoare triple {6593#(= 0 ~elem~0.offset)} assume true; {6593#(= 0 ~elem~0.offset)} is VALID [2020-07-18 05:13:03,086 INFO L275 TraceCheckUtils]: 4: Hoare quadruple {6593#(= 0 ~elem~0.offset)} {6536#(<= 2 main_~dev2~0.offset)} #102#return; {6559#(and (= 0 ~elem~0.offset) (<= 2 main_~dev2~0.offset))} is VALID [2020-07-18 05:13:03,087 INFO L263 TraceCheckUtils]: 0: Hoare triple {6487#true} call ULTIMATE.init(); {6562#(and (= |#valid| |old(#valid)|) (= ~elem~0.base |old(~elem~0.base)|) (= |#NULL.base| |old(#NULL.base)|) (= |~#head~0.base| |old(~#head~0.base)|) (= ~guard_malloc_counter~0.offset |old(~guard_malloc_counter~0.offset)|) (= |#NULL.offset| |old(#NULL.offset)|) (= ~elem~0.offset |old(~elem~0.offset)|) (= |old(#length)| |#length|) (= |~#head~0.offset| |old(~#head~0.offset)|) (= ~guard_malloc_counter~0.base |old(~guard_malloc_counter~0.base)|))} is VALID [2020-07-18 05:13:03,088 INFO L280 TraceCheckUtils]: 1: Hoare triple {6562#(and (= |#valid| |old(#valid)|) (= ~elem~0.base |old(~elem~0.base)|) (= |#NULL.base| |old(#NULL.base)|) (= |~#head~0.base| |old(~#head~0.base)|) (= ~guard_malloc_counter~0.offset |old(~guard_malloc_counter~0.offset)|) (= |#NULL.offset| |old(#NULL.offset)|) (= ~elem~0.offset |old(~elem~0.offset)|) (= |old(#length)| |#length|) (= |~#head~0.offset| |old(~#head~0.offset)|) (= ~guard_malloc_counter~0.base |old(~guard_malloc_counter~0.base)|))} #NULL.base, #NULL.offset := 0, 0; {6487#true} is VALID [2020-07-18 05:13:03,088 INFO L280 TraceCheckUtils]: 2: Hoare triple {6487#true} #valid := #valid[0 := 0]; {6487#true} is VALID [2020-07-18 05:13:03,088 INFO L280 TraceCheckUtils]: 3: Hoare triple {6487#true} assume 0 < #StackHeapBarrier; {6487#true} is VALID [2020-07-18 05:13:03,089 INFO L280 TraceCheckUtils]: 4: Hoare triple {6487#true} ~guard_malloc_counter~0.base, ~guard_malloc_counter~0.offset := 0, 0; {6499#(= 0 ~guard_malloc_counter~0.offset)} is VALID [2020-07-18 05:13:03,090 INFO L280 TraceCheckUtils]: 5: Hoare triple {6499#(= 0 ~guard_malloc_counter~0.offset)} ~elem~0.base, ~elem~0.offset := 0, 0; {6499#(= 0 ~guard_malloc_counter~0.offset)} is VALID [2020-07-18 05:13:03,091 INFO L280 TraceCheckUtils]: 6: Hoare triple {6499#(= 0 ~guard_malloc_counter~0.offset)} SUMMARY for call ~#head~0.base, ~#head~0.offset := #Ultimate.allocOnStack(8); srcloc: L900 {6499#(= 0 ~guard_malloc_counter~0.offset)} is VALID [2020-07-18 05:13:03,091 INFO L280 TraceCheckUtils]: 7: Hoare triple {6499#(= 0 ~guard_malloc_counter~0.offset)} SUMMARY for call write~init~$Pointer$(0, 0, ~#head~0.base, ~#head~0.offset, 4); srcloc: L900-1 {6499#(= 0 ~guard_malloc_counter~0.offset)} is VALID [2020-07-18 05:13:03,092 INFO L280 TraceCheckUtils]: 8: Hoare triple {6499#(= 0 ~guard_malloc_counter~0.offset)} SUMMARY for call write~init~$Pointer$(0, 0, ~#head~0.base, 4 + ~#head~0.offset, 4); srcloc: L900-2 {6499#(= 0 ~guard_malloc_counter~0.offset)} is VALID [2020-07-18 05:13:03,093 INFO L280 TraceCheckUtils]: 9: Hoare triple {6499#(= 0 ~guard_malloc_counter~0.offset)} assume true; {6499#(= 0 ~guard_malloc_counter~0.offset)} is VALID [2020-07-18 05:13:03,093 INFO L275 TraceCheckUtils]: 10: Hoare quadruple {6499#(= 0 ~guard_malloc_counter~0.offset)} {6487#true} #112#return; {6499#(= 0 ~guard_malloc_counter~0.offset)} is VALID [2020-07-18 05:13:03,094 INFO L263 TraceCheckUtils]: 11: Hoare triple {6499#(= 0 ~guard_malloc_counter~0.offset)} call #t~ret34 := main(); {6499#(= 0 ~guard_malloc_counter~0.offset)} is VALID [2020-07-18 05:13:03,095 INFO L280 TraceCheckUtils]: 12: Hoare triple {6499#(= 0 ~guard_malloc_counter~0.offset)} havoc ~dev1~0.base, ~dev1~0.offset; {6499#(= 0 ~guard_malloc_counter~0.offset)} is VALID [2020-07-18 05:13:03,095 INFO L280 TraceCheckUtils]: 13: Hoare triple {6499#(= 0 ~guard_malloc_counter~0.offset)} havoc ~dev2~0.base, ~dev2~0.offset; {6499#(= 0 ~guard_malloc_counter~0.offset)} is VALID [2020-07-18 05:13:03,096 INFO L263 TraceCheckUtils]: 14: Hoare triple {6499#(= 0 ~guard_malloc_counter~0.offset)} call #t~ret32.base, #t~ret32.offset := my_malloc(8); {6563#(and (= ~guard_malloc_counter~0.offset |old(~guard_malloc_counter~0.offset)|) (= ~guard_malloc_counter~0.base |old(~guard_malloc_counter~0.base)|))} is VALID [2020-07-18 05:13:03,097 INFO L280 TraceCheckUtils]: 15: Hoare triple {6563#(and (= ~guard_malloc_counter~0.offset |old(~guard_malloc_counter~0.offset)|) (= ~guard_malloc_counter~0.base |old(~guard_malloc_counter~0.base)|))} ~size := #in~size; {6564#(= ~guard_malloc_counter~0.offset |old(~guard_malloc_counter~0.offset)|)} is VALID [2020-07-18 05:13:03,098 INFO L263 TraceCheckUtils]: 16: Hoare triple {6564#(= ~guard_malloc_counter~0.offset |old(~guard_malloc_counter~0.offset)|)} call #t~ret30.base, #t~ret30.offset := __getMemory(~size); {6563#(and (= ~guard_malloc_counter~0.offset |old(~guard_malloc_counter~0.offset)|) (= ~guard_malloc_counter~0.base |old(~guard_malloc_counter~0.base)|))} is VALID [2020-07-18 05:13:03,099 INFO L280 TraceCheckUtils]: 17: Hoare triple {6563#(and (= ~guard_malloc_counter~0.offset |old(~guard_malloc_counter~0.offset)|) (= ~guard_malloc_counter~0.base |old(~guard_malloc_counter~0.base)|))} ~size := #in~size; {6564#(= ~guard_malloc_counter~0.offset |old(~guard_malloc_counter~0.offset)|)} is VALID [2020-07-18 05:13:03,099 INFO L280 TraceCheckUtils]: 18: Hoare triple {6564#(= ~guard_malloc_counter~0.offset |old(~guard_malloc_counter~0.offset)|)} assume ~size > 0; {6564#(= ~guard_malloc_counter~0.offset |old(~guard_malloc_counter~0.offset)|)} is VALID [2020-07-18 05:13:03,100 INFO L280 TraceCheckUtils]: 19: Hoare triple {6564#(= ~guard_malloc_counter~0.offset |old(~guard_malloc_counter~0.offset)|)} #t~post28.base, #t~post28.offset := ~guard_malloc_counter~0.base, ~guard_malloc_counter~0.offset; {6577#(= |old(~guard_malloc_counter~0.offset)| |__getMemory_#t~post28.offset|)} is VALID [2020-07-18 05:13:03,101 INFO L280 TraceCheckUtils]: 20: Hoare triple {6577#(= |old(~guard_malloc_counter~0.offset)| |__getMemory_#t~post28.offset|)} ~guard_malloc_counter~0.base, ~guard_malloc_counter~0.offset := #t~post28.base, 1 + #t~post28.offset; {6576#(<= (+ |old(~guard_malloc_counter~0.offset)| 1) ~guard_malloc_counter~0.offset)} is VALID [2020-07-18 05:13:03,102 INFO L280 TraceCheckUtils]: 21: Hoare triple {6576#(<= (+ |old(~guard_malloc_counter~0.offset)| 1) ~guard_malloc_counter~0.offset)} havoc #t~post28.base, #t~post28.offset; {6576#(<= (+ |old(~guard_malloc_counter~0.offset)| 1) ~guard_malloc_counter~0.offset)} is VALID [2020-07-18 05:13:03,103 INFO L280 TraceCheckUtils]: 22: Hoare triple {6576#(<= (+ |old(~guard_malloc_counter~0.offset)| 1) ~guard_malloc_counter~0.offset)} assume -2147483648 <= #t~nondet29 && #t~nondet29 <= 2147483647; {6576#(<= (+ |old(~guard_malloc_counter~0.offset)| 1) ~guard_malloc_counter~0.offset)} is VALID [2020-07-18 05:13:03,103 INFO L280 TraceCheckUtils]: 23: Hoare triple {6576#(<= (+ |old(~guard_malloc_counter~0.offset)| 1) ~guard_malloc_counter~0.offset)} assume !(0 == #t~nondet29); {6576#(<= (+ |old(~guard_malloc_counter~0.offset)| 1) ~guard_malloc_counter~0.offset)} is VALID [2020-07-18 05:13:03,104 INFO L280 TraceCheckUtils]: 24: Hoare triple {6576#(<= (+ |old(~guard_malloc_counter~0.offset)| 1) ~guard_malloc_counter~0.offset)} havoc #t~nondet29; {6576#(<= (+ |old(~guard_malloc_counter~0.offset)| 1) ~guard_malloc_counter~0.offset)} is VALID [2020-07-18 05:13:03,105 INFO L280 TraceCheckUtils]: 25: Hoare triple {6576#(<= (+ |old(~guard_malloc_counter~0.offset)| 1) ~guard_malloc_counter~0.offset)} #res.base, #res.offset := ~guard_malloc_counter~0.base, ~guard_malloc_counter~0.offset; {6576#(<= (+ |old(~guard_malloc_counter~0.offset)| 1) ~guard_malloc_counter~0.offset)} is VALID [2020-07-18 05:13:03,106 INFO L280 TraceCheckUtils]: 26: Hoare triple {6576#(<= (+ |old(~guard_malloc_counter~0.offset)| 1) ~guard_malloc_counter~0.offset)} assume true; {6576#(<= (+ |old(~guard_malloc_counter~0.offset)| 1) ~guard_malloc_counter~0.offset)} is VALID [2020-07-18 05:13:03,107 INFO L275 TraceCheckUtils]: 27: Hoare quadruple {6576#(<= (+ |old(~guard_malloc_counter~0.offset)| 1) ~guard_malloc_counter~0.offset)} {6564#(= ~guard_malloc_counter~0.offset |old(~guard_malloc_counter~0.offset)|)} #92#return; {6576#(<= (+ |old(~guard_malloc_counter~0.offset)| 1) ~guard_malloc_counter~0.offset)} is VALID [2020-07-18 05:13:03,108 INFO L280 TraceCheckUtils]: 28: Hoare triple {6576#(<= (+ |old(~guard_malloc_counter~0.offset)| 1) ~guard_malloc_counter~0.offset)} #res.base, #res.offset := #t~ret30.base, #t~ret30.offset; {6576#(<= (+ |old(~guard_malloc_counter~0.offset)| 1) ~guard_malloc_counter~0.offset)} is VALID [2020-07-18 05:13:03,109 INFO L280 TraceCheckUtils]: 29: Hoare triple {6576#(<= (+ |old(~guard_malloc_counter~0.offset)| 1) ~guard_malloc_counter~0.offset)} havoc #t~ret30.base, #t~ret30.offset; {6576#(<= (+ |old(~guard_malloc_counter~0.offset)| 1) ~guard_malloc_counter~0.offset)} is VALID [2020-07-18 05:13:03,109 INFO L280 TraceCheckUtils]: 30: Hoare triple {6576#(<= (+ |old(~guard_malloc_counter~0.offset)| 1) ~guard_malloc_counter~0.offset)} assume true; {6576#(<= (+ |old(~guard_malloc_counter~0.offset)| 1) ~guard_malloc_counter~0.offset)} is VALID [2020-07-18 05:13:03,111 INFO L275 TraceCheckUtils]: 31: Hoare quadruple {6576#(<= (+ |old(~guard_malloc_counter~0.offset)| 1) ~guard_malloc_counter~0.offset)} {6499#(= 0 ~guard_malloc_counter~0.offset)} #94#return; {6517#(<= 1 ~guard_malloc_counter~0.offset)} is VALID [2020-07-18 05:13:03,112 INFO L280 TraceCheckUtils]: 32: Hoare triple {6517#(<= 1 ~guard_malloc_counter~0.offset)} ~dev1~0.base, ~dev1~0.offset := #t~ret32.base, #t~ret32.offset; {6517#(<= 1 ~guard_malloc_counter~0.offset)} is VALID [2020-07-18 05:13:03,112 INFO L280 TraceCheckUtils]: 33: Hoare triple {6517#(<= 1 ~guard_malloc_counter~0.offset)} havoc #t~ret32.base, #t~ret32.offset; {6517#(<= 1 ~guard_malloc_counter~0.offset)} is VALID [2020-07-18 05:13:03,113 INFO L263 TraceCheckUtils]: 34: Hoare triple {6517#(<= 1 ~guard_malloc_counter~0.offset)} call #t~ret33.base, #t~ret33.offset := my_malloc(8); {6563#(and (= ~guard_malloc_counter~0.offset |old(~guard_malloc_counter~0.offset)|) (= ~guard_malloc_counter~0.base |old(~guard_malloc_counter~0.base)|))} is VALID [2020-07-18 05:13:03,114 INFO L280 TraceCheckUtils]: 35: Hoare triple {6563#(and (= ~guard_malloc_counter~0.offset |old(~guard_malloc_counter~0.offset)|) (= ~guard_malloc_counter~0.base |old(~guard_malloc_counter~0.base)|))} ~size := #in~size; {6564#(= ~guard_malloc_counter~0.offset |old(~guard_malloc_counter~0.offset)|)} is VALID [2020-07-18 05:13:03,115 INFO L263 TraceCheckUtils]: 36: Hoare triple {6564#(= ~guard_malloc_counter~0.offset |old(~guard_malloc_counter~0.offset)|)} call #t~ret30.base, #t~ret30.offset := __getMemory(~size); {6563#(and (= ~guard_malloc_counter~0.offset |old(~guard_malloc_counter~0.offset)|) (= ~guard_malloc_counter~0.base |old(~guard_malloc_counter~0.base)|))} is VALID [2020-07-18 05:13:03,116 INFO L280 TraceCheckUtils]: 37: Hoare triple {6563#(and (= ~guard_malloc_counter~0.offset |old(~guard_malloc_counter~0.offset)|) (= ~guard_malloc_counter~0.base |old(~guard_malloc_counter~0.base)|))} ~size := #in~size; {6564#(= ~guard_malloc_counter~0.offset |old(~guard_malloc_counter~0.offset)|)} is VALID [2020-07-18 05:13:03,116 INFO L280 TraceCheckUtils]: 38: Hoare triple {6564#(= ~guard_malloc_counter~0.offset |old(~guard_malloc_counter~0.offset)|)} assume ~size > 0; {6564#(= ~guard_malloc_counter~0.offset |old(~guard_malloc_counter~0.offset)|)} is VALID [2020-07-18 05:13:03,117 INFO L280 TraceCheckUtils]: 39: Hoare triple {6564#(= ~guard_malloc_counter~0.offset |old(~guard_malloc_counter~0.offset)|)} #t~post28.base, #t~post28.offset := ~guard_malloc_counter~0.base, ~guard_malloc_counter~0.offset; {6577#(= |old(~guard_malloc_counter~0.offset)| |__getMemory_#t~post28.offset|)} is VALID [2020-07-18 05:13:03,118 INFO L280 TraceCheckUtils]: 40: Hoare triple {6577#(= |old(~guard_malloc_counter~0.offset)| |__getMemory_#t~post28.offset|)} ~guard_malloc_counter~0.base, ~guard_malloc_counter~0.offset := #t~post28.base, 1 + #t~post28.offset; {6576#(<= (+ |old(~guard_malloc_counter~0.offset)| 1) ~guard_malloc_counter~0.offset)} is VALID [2020-07-18 05:13:03,119 INFO L280 TraceCheckUtils]: 41: Hoare triple {6576#(<= (+ |old(~guard_malloc_counter~0.offset)| 1) ~guard_malloc_counter~0.offset)} havoc #t~post28.base, #t~post28.offset; {6576#(<= (+ |old(~guard_malloc_counter~0.offset)| 1) ~guard_malloc_counter~0.offset)} is VALID [2020-07-18 05:13:03,120 INFO L280 TraceCheckUtils]: 42: Hoare triple {6576#(<= (+ |old(~guard_malloc_counter~0.offset)| 1) ~guard_malloc_counter~0.offset)} assume -2147483648 <= #t~nondet29 && #t~nondet29 <= 2147483647; {6576#(<= (+ |old(~guard_malloc_counter~0.offset)| 1) ~guard_malloc_counter~0.offset)} is VALID [2020-07-18 05:13:03,120 INFO L280 TraceCheckUtils]: 43: Hoare triple {6576#(<= (+ |old(~guard_malloc_counter~0.offset)| 1) ~guard_malloc_counter~0.offset)} assume !(0 == #t~nondet29); {6576#(<= (+ |old(~guard_malloc_counter~0.offset)| 1) ~guard_malloc_counter~0.offset)} is VALID [2020-07-18 05:13:03,121 INFO L280 TraceCheckUtils]: 44: Hoare triple {6576#(<= (+ |old(~guard_malloc_counter~0.offset)| 1) ~guard_malloc_counter~0.offset)} havoc #t~nondet29; {6576#(<= (+ |old(~guard_malloc_counter~0.offset)| 1) ~guard_malloc_counter~0.offset)} is VALID [2020-07-18 05:13:03,122 INFO L280 TraceCheckUtils]: 45: Hoare triple {6576#(<= (+ |old(~guard_malloc_counter~0.offset)| 1) ~guard_malloc_counter~0.offset)} #res.base, #res.offset := ~guard_malloc_counter~0.base, ~guard_malloc_counter~0.offset; {6591#(<= (+ |old(~guard_malloc_counter~0.offset)| 1) |__getMemory_#res.offset|)} is VALID [2020-07-18 05:13:03,123 INFO L280 TraceCheckUtils]: 46: Hoare triple {6591#(<= (+ |old(~guard_malloc_counter~0.offset)| 1) |__getMemory_#res.offset|)} assume true; {6591#(<= (+ |old(~guard_malloc_counter~0.offset)| 1) |__getMemory_#res.offset|)} is VALID [2020-07-18 05:13:03,124 INFO L275 TraceCheckUtils]: 47: Hoare quadruple {6591#(<= (+ |old(~guard_malloc_counter~0.offset)| 1) |__getMemory_#res.offset|)} {6564#(= ~guard_malloc_counter~0.offset |old(~guard_malloc_counter~0.offset)|)} #92#return; {6589#(<= (+ |old(~guard_malloc_counter~0.offset)| 1) |my_malloc_#t~ret30.offset|)} is VALID [2020-07-18 05:13:03,125 INFO L280 TraceCheckUtils]: 48: Hoare triple {6589#(<= (+ |old(~guard_malloc_counter~0.offset)| 1) |my_malloc_#t~ret30.offset|)} #res.base, #res.offset := #t~ret30.base, #t~ret30.offset; {6590#(<= (+ |old(~guard_malloc_counter~0.offset)| 1) |my_malloc_#res.offset|)} is VALID [2020-07-18 05:13:03,126 INFO L280 TraceCheckUtils]: 49: Hoare triple {6590#(<= (+ |old(~guard_malloc_counter~0.offset)| 1) |my_malloc_#res.offset|)} havoc #t~ret30.base, #t~ret30.offset; {6590#(<= (+ |old(~guard_malloc_counter~0.offset)| 1) |my_malloc_#res.offset|)} is VALID [2020-07-18 05:13:03,127 INFO L280 TraceCheckUtils]: 50: Hoare triple {6590#(<= (+ |old(~guard_malloc_counter~0.offset)| 1) |my_malloc_#res.offset|)} assume true; {6590#(<= (+ |old(~guard_malloc_counter~0.offset)| 1) |my_malloc_#res.offset|)} is VALID [2020-07-18 05:13:03,128 INFO L275 TraceCheckUtils]: 51: Hoare quadruple {6590#(<= (+ |old(~guard_malloc_counter~0.offset)| 1) |my_malloc_#res.offset|)} {6517#(<= 1 ~guard_malloc_counter~0.offset)} #96#return; {6535#(<= 2 |main_#t~ret33.offset|)} is VALID [2020-07-18 05:13:03,129 INFO L280 TraceCheckUtils]: 52: Hoare triple {6535#(<= 2 |main_#t~ret33.offset|)} ~dev2~0.base, ~dev2~0.offset := #t~ret33.base, #t~ret33.offset; {6536#(<= 2 main_~dev2~0.offset)} is VALID [2020-07-18 05:13:03,130 INFO L280 TraceCheckUtils]: 53: Hoare triple {6536#(<= 2 main_~dev2~0.offset)} havoc #t~ret33.base, #t~ret33.offset; {6536#(<= 2 main_~dev2~0.offset)} is VALID [2020-07-18 05:13:03,131 INFO L280 TraceCheckUtils]: 54: Hoare triple {6536#(<= 2 main_~dev2~0.offset)} assume (~dev1~0.base != 0 || ~dev1~0.offset != 0) && (~dev2~0.base != 0 || ~dev2~0.offset != 0); {6536#(<= 2 main_~dev2~0.offset)} is VALID [2020-07-18 05:13:03,132 INFO L263 TraceCheckUtils]: 55: Hoare triple {6536#(<= 2 main_~dev2~0.offset)} call list_add(~dev2~0.base, ~dev2~0.offset, ~#head~0.base, ~#head~0.offset); {6592#(and (= ~elem~0.base |old(~elem~0.base)|) (= ~elem~0.offset |old(~elem~0.offset)|))} is VALID [2020-07-18 05:13:03,133 INFO L280 TraceCheckUtils]: 56: Hoare triple {6592#(and (= ~elem~0.base |old(~elem~0.base)|) (= ~elem~0.offset |old(~elem~0.offset)|))} ~new.base, ~new.offset := #in~new.base, #in~new.offset; {6487#true} is VALID [2020-07-18 05:13:03,133 INFO L280 TraceCheckUtils]: 57: Hoare triple {6487#true} ~head.base, ~head.offset := #in~head.base, #in~head.offset; {6487#true} is VALID [2020-07-18 05:13:03,133 INFO L280 TraceCheckUtils]: 58: Hoare triple {6487#true} assume ~new.base != ~elem~0.base || ~new.offset != ~elem~0.offset; {6487#true} is VALID [2020-07-18 05:13:03,133 INFO L280 TraceCheckUtils]: 59: Hoare triple {6487#true} assume -2147483648 <= #t~nondet31 && #t~nondet31 <= 2147483647; {6487#true} is VALID [2020-07-18 05:13:03,134 INFO L280 TraceCheckUtils]: 60: Hoare triple {6487#true} assume 0 != #t~nondet31; {6487#true} is VALID [2020-07-18 05:13:03,134 INFO L280 TraceCheckUtils]: 61: Hoare triple {6487#true} havoc #t~nondet31; {6487#true} is VALID [2020-07-18 05:13:03,134 INFO L280 TraceCheckUtils]: 62: Hoare triple {6487#true} ~elem~0.base, ~elem~0.offset := ~new.base, ~new.offset; {6487#true} is VALID [2020-07-18 05:13:03,134 INFO L280 TraceCheckUtils]: 63: Hoare triple {6487#true} assume true; {6487#true} is VALID [2020-07-18 05:13:03,135 INFO L275 TraceCheckUtils]: 64: Hoare quadruple {6487#true} {6536#(<= 2 main_~dev2~0.offset)} #98#return; {6536#(<= 2 main_~dev2~0.offset)} is VALID [2020-07-18 05:13:03,137 INFO L263 TraceCheckUtils]: 65: Hoare triple {6536#(<= 2 main_~dev2~0.offset)} call list_add(~dev1~0.base, ~dev1~0.offset, ~#head~0.base, ~#head~0.offset); {6592#(and (= ~elem~0.base |old(~elem~0.base)|) (= ~elem~0.offset |old(~elem~0.offset)|))} is VALID [2020-07-18 05:13:03,138 INFO L280 TraceCheckUtils]: 66: Hoare triple {6592#(and (= ~elem~0.base |old(~elem~0.base)|) (= ~elem~0.offset |old(~elem~0.offset)|))} ~new.base, ~new.offset := #in~new.base, #in~new.offset; {6487#true} is VALID [2020-07-18 05:13:03,138 INFO L280 TraceCheckUtils]: 67: Hoare triple {6487#true} ~head.base, ~head.offset := #in~head.base, #in~head.offset; {6487#true} is VALID [2020-07-18 05:13:03,138 INFO L280 TraceCheckUtils]: 68: Hoare triple {6487#true} assume ~new.base != ~elem~0.base || ~new.offset != ~elem~0.offset; {6487#true} is VALID [2020-07-18 05:13:03,138 INFO L280 TraceCheckUtils]: 69: Hoare triple {6487#true} assume -2147483648 <= #t~nondet31 && #t~nondet31 <= 2147483647; {6487#true} is VALID [2020-07-18 05:13:03,138 INFO L280 TraceCheckUtils]: 70: Hoare triple {6487#true} assume !(0 != #t~nondet31); {6487#true} is VALID [2020-07-18 05:13:03,139 INFO L280 TraceCheckUtils]: 71: Hoare triple {6487#true} havoc #t~nondet31; {6487#true} is VALID [2020-07-18 05:13:03,139 INFO L280 TraceCheckUtils]: 72: Hoare triple {6487#true} assume true; {6487#true} is VALID [2020-07-18 05:13:03,140 INFO L275 TraceCheckUtils]: 73: Hoare quadruple {6487#true} {6536#(<= 2 main_~dev2~0.offset)} #100#return; {6536#(<= 2 main_~dev2~0.offset)} is VALID [2020-07-18 05:13:03,141 INFO L263 TraceCheckUtils]: 74: Hoare triple {6536#(<= 2 main_~dev2~0.offset)} call list_del(~dev2~0.base, ~dev2~0.offset); {6592#(and (= ~elem~0.base |old(~elem~0.base)|) (= ~elem~0.offset |old(~elem~0.offset)|))} is VALID [2020-07-18 05:13:03,142 INFO L280 TraceCheckUtils]: 75: Hoare triple {6592#(and (= ~elem~0.base |old(~elem~0.base)|) (= ~elem~0.offset |old(~elem~0.offset)|))} ~entry.base, ~entry.offset := #in~entry.base, #in~entry.offset; {6487#true} is VALID [2020-07-18 05:13:03,142 INFO L280 TraceCheckUtils]: 76: Hoare triple {6487#true} assume ~entry.base == ~elem~0.base && ~entry.offset == ~elem~0.offset; {6487#true} is VALID [2020-07-18 05:13:03,143 INFO L280 TraceCheckUtils]: 77: Hoare triple {6487#true} ~elem~0.base, ~elem~0.offset := 0, 0; {6593#(= 0 ~elem~0.offset)} is VALID [2020-07-18 05:13:03,143 INFO L280 TraceCheckUtils]: 78: Hoare triple {6593#(= 0 ~elem~0.offset)} assume true; {6593#(= 0 ~elem~0.offset)} is VALID [2020-07-18 05:13:03,145 INFO L275 TraceCheckUtils]: 79: Hoare quadruple {6593#(= 0 ~elem~0.offset)} {6536#(<= 2 main_~dev2~0.offset)} #102#return; {6559#(and (= 0 ~elem~0.offset) (<= 2 main_~dev2~0.offset))} is VALID [2020-07-18 05:13:03,146 INFO L263 TraceCheckUtils]: 80: Hoare triple {6559#(and (= 0 ~elem~0.offset) (<= 2 main_~dev2~0.offset))} call list_add(~dev2~0.base, ~dev2~0.offset, ~#head~0.base, ~#head~0.offset); {6560#(and (= 0 ~elem~0.offset) (<= 2 |list_add_#in~new.offset|))} is VALID [2020-07-18 05:13:03,147 INFO L280 TraceCheckUtils]: 81: Hoare triple {6560#(and (= 0 ~elem~0.offset) (<= 2 |list_add_#in~new.offset|))} ~new.base, ~new.offset := #in~new.base, #in~new.offset; {6561#(and (= 0 ~elem~0.offset) (not (= 0 list_add_~new.offset)))} is VALID [2020-07-18 05:13:03,148 INFO L280 TraceCheckUtils]: 82: Hoare triple {6561#(and (= 0 ~elem~0.offset) (not (= 0 list_add_~new.offset)))} ~head.base, ~head.offset := #in~head.base, #in~head.offset; {6561#(and (= 0 ~elem~0.offset) (not (= 0 list_add_~new.offset)))} is VALID [2020-07-18 05:13:03,149 INFO L280 TraceCheckUtils]: 83: Hoare triple {6561#(and (= 0 ~elem~0.offset) (not (= 0 list_add_~new.offset)))} assume !(~new.base != ~elem~0.base || ~new.offset != ~elem~0.offset); {6488#false} is VALID [2020-07-18 05:13:03,149 INFO L263 TraceCheckUtils]: 84: Hoare triple {6488#false} call __blast_assert(); {6488#false} is VALID [2020-07-18 05:13:03,150 INFO L280 TraceCheckUtils]: 85: Hoare triple {6488#false} assume !false; {6488#false} is VALID [2020-07-18 05:13:03,160 INFO L134 CoverageAnalysis]: Checked inductivity of 30 backedges. 4 proven. 8 refuted. 0 times theorem prover too weak. 18 trivial. 0 not checked. [2020-07-18 05:13:03,161 INFO L354 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModulePreferences [391852582] [2020-07-18 05:13:03,161 INFO L220 FreeRefinementEngine]: Constructing automaton from 0 perfect and 1 imperfect interpolant sequences. [2020-07-18 05:13:03,161 INFO L233 FreeRefinementEngine]: Number of different interpolants: perfect sequences [] imperfect sequences [19] total 19 [2020-07-18 05:13:03,162 INFO L156 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [1547590187] [2020-07-18 05:13:03,163 INFO L78 Accepts]: Start accepts. Automaton has 19 states. Word has length 86 [2020-07-18 05:13:03,164 INFO L84 Accepts]: Finished accepts. word is accepted. [2020-07-18 05:13:03,164 INFO L86 InductivityCheck]: Starting indutivity check of a Floyd-Hoare automaton with 19 states. [2020-07-18 05:13:03,256 INFO L119 InductivityCheck]: Floyd-Hoare automaton has 71 edges. 71 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2020-07-18 05:13:03,256 INFO L459 AbstractCegarLoop]: Interpolant automaton has 19 states [2020-07-18 05:13:03,256 INFO L143 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy FIXED_PREFERENCES [2020-07-18 05:13:03,257 INFO L142 InterpolantAutomaton]: Constructing interpolant automaton starting with 19 interpolants. [2020-07-18 05:13:03,257 INFO L144 InterpolantAutomaton]: CoverageRelationStatistics Valid=43, Invalid=299, Unknown=0, NotChecked=0, Total=342 [2020-07-18 05:13:03,258 INFO L87 Difference]: Start difference. First operand 111 states and 120 transitions. Second operand 19 states. [2020-07-18 05:13:08,215 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2020-07-18 05:13:08,215 INFO L93 Difference]: Finished difference Result 144 states and 154 transitions. [2020-07-18 05:13:08,216 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 26 states. [2020-07-18 05:13:08,216 INFO L78 Accepts]: Start accepts. Automaton has 19 states. Word has length 86 [2020-07-18 05:13:08,216 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2020-07-18 05:13:08,216 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 19 states. [2020-07-18 05:13:08,219 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 26 states to 26 states and 115 transitions. [2020-07-18 05:13:08,219 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 19 states. [2020-07-18 05:13:08,221 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 26 states to 26 states and 115 transitions. [2020-07-18 05:13:08,221 INFO L86 InductivityCheck]: Starting indutivity check of a Floyd-Hoare automaton with 26 states and 115 transitions. [2020-07-18 05:13:08,434 INFO L119 InductivityCheck]: Floyd-Hoare automaton has 115 edges. 115 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2020-07-18 05:13:08,439 INFO L225 Difference]: With dead ends: 144 [2020-07-18 05:13:08,439 INFO L226 Difference]: Without dead ends: 131 [2020-07-18 05:13:08,441 INFO L675 BasicCegarLoop]: 0 DeclaredPredicates, 60 GetRequests, 20 SyntacticMatches, 0 SemanticMatches, 40 ConstructedPredicates, 0 IntricatePredicates, 0 DeprecatedPredicates, 279 ImplicationChecksByTransitivity, 1.1s TimeCoverageRelationStatistics Valid=253, Invalid=1469, Unknown=0, NotChecked=0, Total=1722 [2020-07-18 05:13:08,441 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 131 states. [2020-07-18 05:13:08,995 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 131 to 110. [2020-07-18 05:13:08,996 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2020-07-18 05:13:08,996 INFO L82 GeneralOperation]: Start isEquivalent. First operand 131 states. Second operand 110 states. [2020-07-18 05:13:08,996 INFO L74 IsIncluded]: Start isIncluded. First operand 131 states. Second operand 110 states. [2020-07-18 05:13:08,996 INFO L87 Difference]: Start difference. First operand 131 states. Second operand 110 states. [2020-07-18 05:13:09,000 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2020-07-18 05:13:09,000 INFO L93 Difference]: Finished difference Result 131 states and 139 transitions. [2020-07-18 05:13:09,000 INFO L276 IsEmpty]: Start isEmpty. Operand 131 states and 139 transitions. [2020-07-18 05:13:09,000 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2020-07-18 05:13:09,001 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2020-07-18 05:13:09,001 INFO L74 IsIncluded]: Start isIncluded. First operand 110 states. Second operand 131 states. [2020-07-18 05:13:09,001 INFO L87 Difference]: Start difference. First operand 110 states. Second operand 131 states. [2020-07-18 05:13:09,004 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2020-07-18 05:13:09,004 INFO L93 Difference]: Finished difference Result 131 states and 139 transitions. [2020-07-18 05:13:09,004 INFO L276 IsEmpty]: Start isEmpty. Operand 131 states and 139 transitions. [2020-07-18 05:13:09,004 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2020-07-18 05:13:09,004 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2020-07-18 05:13:09,004 INFO L88 GeneralOperation]: Finished isEquivalent. [2020-07-18 05:13:09,004 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2020-07-18 05:13:09,005 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 110 states. [2020-07-18 05:13:09,006 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 110 states to 110 states and 118 transitions. [2020-07-18 05:13:09,006 INFO L78 Accepts]: Start accepts. Automaton has 110 states and 118 transitions. Word has length 86 [2020-07-18 05:13:09,007 INFO L84 Accepts]: Finished accepts. word is rejected. [2020-07-18 05:13:09,007 INFO L479 AbstractCegarLoop]: Abstraction has 110 states and 118 transitions. [2020-07-18 05:13:09,007 INFO L480 AbstractCegarLoop]: Interpolant automaton has 19 states. [2020-07-18 05:13:09,007 INFO L86 InductivityCheck]: Starting indutivity check of a Floyd-Hoare automaton with 110 states and 118 transitions. [2020-07-18 05:13:09,284 INFO L119 InductivityCheck]: Floyd-Hoare automaton has 118 edges. 118 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2020-07-18 05:13:09,285 INFO L276 IsEmpty]: Start isEmpty. Operand 110 states and 118 transitions. [2020-07-18 05:13:09,286 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 95 [2020-07-18 05:13:09,286 INFO L414 BasicCegarLoop]: Found error trace [2020-07-18 05:13:09,287 INFO L422 BasicCegarLoop]: trace histogram [4, 4, 3, 3, 3, 3, 3, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1] [2020-07-18 05:13:09,287 WARN L516 AbstractCegarLoop]: Destroyed unattended storables created during the last iteration: SelfDestructingSolverStorable9 [2020-07-18 05:13:09,287 INFO L427 AbstractCegarLoop]: === Iteration 11 === [__blast_assertErr0ASSERT_VIOLATIONERROR_FUNCTION]=== [2020-07-18 05:13:09,288 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2020-07-18 05:13:09,288 INFO L82 PathProgramCache]: Analyzing trace with hash -1959566780, now seen corresponding path program 1 times [2020-07-18 05:13:09,288 INFO L163 FreeRefinementEngine]: Executing refinement strategy FIXED_PREFERENCES [2020-07-18 05:13:09,288 INFO L354 FreeRefinementEngine]: Using trace check IpTcStrategyModulePreferences [424201844] [2020-07-18 05:13:09,288 INFO L94 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2020-07-18 05:13:09,303 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2020-07-18 05:13:09,479 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2020-07-18 05:13:09,507 INFO L280 TraceCheckUtils]: 0: Hoare triple {7493#(and (= |#valid| |old(#valid)|) (= ~elem~0.base |old(~elem~0.base)|) (= |#NULL.base| |old(#NULL.base)|) (= |~#head~0.base| |old(~#head~0.base)|) (= ~guard_malloc_counter~0.offset |old(~guard_malloc_counter~0.offset)|) (= |#NULL.offset| |old(#NULL.offset)|) (= ~elem~0.offset |old(~elem~0.offset)|) (= |old(#length)| |#length|) (= |~#head~0.offset| |old(~#head~0.offset)|) (= ~guard_malloc_counter~0.base |old(~guard_malloc_counter~0.base)|))} #NULL.base, #NULL.offset := 0, 0; {7414#true} is VALID [2020-07-18 05:13:09,508 INFO L280 TraceCheckUtils]: 1: Hoare triple {7414#true} #valid := #valid[0 := 0]; {7414#true} is VALID [2020-07-18 05:13:09,508 INFO L280 TraceCheckUtils]: 2: Hoare triple {7414#true} assume 0 < #StackHeapBarrier; {7414#true} is VALID [2020-07-18 05:13:09,509 INFO L280 TraceCheckUtils]: 3: Hoare triple {7414#true} ~guard_malloc_counter~0.base, ~guard_malloc_counter~0.offset := 0, 0; {7494#(= 0 ~guard_malloc_counter~0.offset)} is VALID [2020-07-18 05:13:09,510 INFO L280 TraceCheckUtils]: 4: Hoare triple {7494#(= 0 ~guard_malloc_counter~0.offset)} ~elem~0.base, ~elem~0.offset := 0, 0; {7426#(and (= 0 ~elem~0.offset) (= 0 ~guard_malloc_counter~0.offset))} is VALID [2020-07-18 05:13:09,511 INFO L280 TraceCheckUtils]: 5: Hoare triple {7426#(and (= 0 ~elem~0.offset) (= 0 ~guard_malloc_counter~0.offset))} SUMMARY for call ~#head~0.base, ~#head~0.offset := #Ultimate.allocOnStack(8); srcloc: L900 {7426#(and (= 0 ~elem~0.offset) (= 0 ~guard_malloc_counter~0.offset))} is VALID [2020-07-18 05:13:09,513 INFO L280 TraceCheckUtils]: 6: Hoare triple {7426#(and (= 0 ~elem~0.offset) (= 0 ~guard_malloc_counter~0.offset))} SUMMARY for call write~init~$Pointer$(0, 0, ~#head~0.base, ~#head~0.offset, 4); srcloc: L900-1 {7426#(and (= 0 ~elem~0.offset) (= 0 ~guard_malloc_counter~0.offset))} is VALID [2020-07-18 05:13:09,514 INFO L280 TraceCheckUtils]: 7: Hoare triple {7426#(and (= 0 ~elem~0.offset) (= 0 ~guard_malloc_counter~0.offset))} SUMMARY for call write~init~$Pointer$(0, 0, ~#head~0.base, 4 + ~#head~0.offset, 4); srcloc: L900-2 {7426#(and (= 0 ~elem~0.offset) (= 0 ~guard_malloc_counter~0.offset))} is VALID [2020-07-18 05:13:09,515 INFO L280 TraceCheckUtils]: 8: Hoare triple {7426#(and (= 0 ~elem~0.offset) (= 0 ~guard_malloc_counter~0.offset))} assume true; {7426#(and (= 0 ~elem~0.offset) (= 0 ~guard_malloc_counter~0.offset))} is VALID [2020-07-18 05:13:09,516 INFO L275 TraceCheckUtils]: 9: Hoare quadruple {7426#(and (= 0 ~elem~0.offset) (= 0 ~guard_malloc_counter~0.offset))} {7414#true} #112#return; {7426#(and (= 0 ~elem~0.offset) (= 0 ~guard_malloc_counter~0.offset))} is VALID [2020-07-18 05:13:09,542 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2020-07-18 05:13:09,589 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2020-07-18 05:13:09,628 INFO L280 TraceCheckUtils]: 0: Hoare triple {7495#(and (= ~guard_malloc_counter~0.offset |old(~guard_malloc_counter~0.offset)|) (= ~guard_malloc_counter~0.base |old(~guard_malloc_counter~0.base)|))} ~size := #in~size; {7496#(= ~guard_malloc_counter~0.offset |old(~guard_malloc_counter~0.offset)|)} is VALID [2020-07-18 05:13:09,629 INFO L280 TraceCheckUtils]: 1: Hoare triple {7496#(= ~guard_malloc_counter~0.offset |old(~guard_malloc_counter~0.offset)|)} assume ~size > 0; {7496#(= ~guard_malloc_counter~0.offset |old(~guard_malloc_counter~0.offset)|)} is VALID [2020-07-18 05:13:09,630 INFO L280 TraceCheckUtils]: 2: Hoare triple {7496#(= ~guard_malloc_counter~0.offset |old(~guard_malloc_counter~0.offset)|)} #t~post28.base, #t~post28.offset := ~guard_malloc_counter~0.base, ~guard_malloc_counter~0.offset; {7509#(= |old(~guard_malloc_counter~0.offset)| |__getMemory_#t~post28.offset|)} is VALID [2020-07-18 05:13:09,631 INFO L280 TraceCheckUtils]: 3: Hoare triple {7509#(= |old(~guard_malloc_counter~0.offset)| |__getMemory_#t~post28.offset|)} ~guard_malloc_counter~0.base, ~guard_malloc_counter~0.offset := #t~post28.base, 1 + #t~post28.offset; {7508#(<= (+ |old(~guard_malloc_counter~0.offset)| 1) ~guard_malloc_counter~0.offset)} is VALID [2020-07-18 05:13:09,632 INFO L280 TraceCheckUtils]: 4: Hoare triple {7508#(<= (+ |old(~guard_malloc_counter~0.offset)| 1) ~guard_malloc_counter~0.offset)} havoc #t~post28.base, #t~post28.offset; {7508#(<= (+ |old(~guard_malloc_counter~0.offset)| 1) ~guard_malloc_counter~0.offset)} is VALID [2020-07-18 05:13:09,633 INFO L280 TraceCheckUtils]: 5: Hoare triple {7508#(<= (+ |old(~guard_malloc_counter~0.offset)| 1) ~guard_malloc_counter~0.offset)} assume -2147483648 <= #t~nondet29 && #t~nondet29 <= 2147483647; {7508#(<= (+ |old(~guard_malloc_counter~0.offset)| 1) ~guard_malloc_counter~0.offset)} is VALID [2020-07-18 05:13:09,634 INFO L280 TraceCheckUtils]: 6: Hoare triple {7508#(<= (+ |old(~guard_malloc_counter~0.offset)| 1) ~guard_malloc_counter~0.offset)} assume !(0 == #t~nondet29); {7508#(<= (+ |old(~guard_malloc_counter~0.offset)| 1) ~guard_malloc_counter~0.offset)} is VALID [2020-07-18 05:13:09,635 INFO L280 TraceCheckUtils]: 7: Hoare triple {7508#(<= (+ |old(~guard_malloc_counter~0.offset)| 1) ~guard_malloc_counter~0.offset)} havoc #t~nondet29; {7508#(<= (+ |old(~guard_malloc_counter~0.offset)| 1) ~guard_malloc_counter~0.offset)} is VALID [2020-07-18 05:13:09,636 INFO L280 TraceCheckUtils]: 8: Hoare triple {7508#(<= (+ |old(~guard_malloc_counter~0.offset)| 1) ~guard_malloc_counter~0.offset)} #res.base, #res.offset := ~guard_malloc_counter~0.base, ~guard_malloc_counter~0.offset; {7508#(<= (+ |old(~guard_malloc_counter~0.offset)| 1) ~guard_malloc_counter~0.offset)} is VALID [2020-07-18 05:13:09,637 INFO L280 TraceCheckUtils]: 9: Hoare triple {7508#(<= (+ |old(~guard_malloc_counter~0.offset)| 1) ~guard_malloc_counter~0.offset)} assume true; {7508#(<= (+ |old(~guard_malloc_counter~0.offset)| 1) ~guard_malloc_counter~0.offset)} is VALID [2020-07-18 05:13:09,639 INFO L275 TraceCheckUtils]: 10: Hoare quadruple {7508#(<= (+ |old(~guard_malloc_counter~0.offset)| 1) ~guard_malloc_counter~0.offset)} {7496#(= ~guard_malloc_counter~0.offset |old(~guard_malloc_counter~0.offset)|)} #92#return; {7508#(<= (+ |old(~guard_malloc_counter~0.offset)| 1) ~guard_malloc_counter~0.offset)} is VALID [2020-07-18 05:13:09,640 INFO L280 TraceCheckUtils]: 0: Hoare triple {7495#(and (= ~guard_malloc_counter~0.offset |old(~guard_malloc_counter~0.offset)|) (= ~guard_malloc_counter~0.base |old(~guard_malloc_counter~0.base)|))} ~size := #in~size; {7496#(= ~guard_malloc_counter~0.offset |old(~guard_malloc_counter~0.offset)|)} is VALID [2020-07-18 05:13:09,641 INFO L263 TraceCheckUtils]: 1: Hoare triple {7496#(= ~guard_malloc_counter~0.offset |old(~guard_malloc_counter~0.offset)|)} call #t~ret30.base, #t~ret30.offset := __getMemory(~size); {7495#(and (= ~guard_malloc_counter~0.offset |old(~guard_malloc_counter~0.offset)|) (= ~guard_malloc_counter~0.base |old(~guard_malloc_counter~0.base)|))} is VALID [2020-07-18 05:13:09,642 INFO L280 TraceCheckUtils]: 2: Hoare triple {7495#(and (= ~guard_malloc_counter~0.offset |old(~guard_malloc_counter~0.offset)|) (= ~guard_malloc_counter~0.base |old(~guard_malloc_counter~0.base)|))} ~size := #in~size; {7496#(= ~guard_malloc_counter~0.offset |old(~guard_malloc_counter~0.offset)|)} is VALID [2020-07-18 05:13:09,643 INFO L280 TraceCheckUtils]: 3: Hoare triple {7496#(= ~guard_malloc_counter~0.offset |old(~guard_malloc_counter~0.offset)|)} assume ~size > 0; {7496#(= ~guard_malloc_counter~0.offset |old(~guard_malloc_counter~0.offset)|)} is VALID [2020-07-18 05:13:09,644 INFO L280 TraceCheckUtils]: 4: Hoare triple {7496#(= ~guard_malloc_counter~0.offset |old(~guard_malloc_counter~0.offset)|)} #t~post28.base, #t~post28.offset := ~guard_malloc_counter~0.base, ~guard_malloc_counter~0.offset; {7509#(= |old(~guard_malloc_counter~0.offset)| |__getMemory_#t~post28.offset|)} is VALID [2020-07-18 05:13:09,645 INFO L280 TraceCheckUtils]: 5: Hoare triple {7509#(= |old(~guard_malloc_counter~0.offset)| |__getMemory_#t~post28.offset|)} ~guard_malloc_counter~0.base, ~guard_malloc_counter~0.offset := #t~post28.base, 1 + #t~post28.offset; {7508#(<= (+ |old(~guard_malloc_counter~0.offset)| 1) ~guard_malloc_counter~0.offset)} is VALID [2020-07-18 05:13:09,646 INFO L280 TraceCheckUtils]: 6: Hoare triple {7508#(<= (+ |old(~guard_malloc_counter~0.offset)| 1) ~guard_malloc_counter~0.offset)} havoc #t~post28.base, #t~post28.offset; {7508#(<= (+ |old(~guard_malloc_counter~0.offset)| 1) ~guard_malloc_counter~0.offset)} is VALID [2020-07-18 05:13:09,647 INFO L280 TraceCheckUtils]: 7: Hoare triple {7508#(<= (+ |old(~guard_malloc_counter~0.offset)| 1) ~guard_malloc_counter~0.offset)} assume -2147483648 <= #t~nondet29 && #t~nondet29 <= 2147483647; {7508#(<= (+ |old(~guard_malloc_counter~0.offset)| 1) ~guard_malloc_counter~0.offset)} is VALID [2020-07-18 05:13:09,648 INFO L280 TraceCheckUtils]: 8: Hoare triple {7508#(<= (+ |old(~guard_malloc_counter~0.offset)| 1) ~guard_malloc_counter~0.offset)} assume !(0 == #t~nondet29); {7508#(<= (+ |old(~guard_malloc_counter~0.offset)| 1) ~guard_malloc_counter~0.offset)} is VALID [2020-07-18 05:13:09,649 INFO L280 TraceCheckUtils]: 9: Hoare triple {7508#(<= (+ |old(~guard_malloc_counter~0.offset)| 1) ~guard_malloc_counter~0.offset)} havoc #t~nondet29; {7508#(<= (+ |old(~guard_malloc_counter~0.offset)| 1) ~guard_malloc_counter~0.offset)} is VALID [2020-07-18 05:13:09,649 INFO L280 TraceCheckUtils]: 10: Hoare triple {7508#(<= (+ |old(~guard_malloc_counter~0.offset)| 1) ~guard_malloc_counter~0.offset)} #res.base, #res.offset := ~guard_malloc_counter~0.base, ~guard_malloc_counter~0.offset; {7508#(<= (+ |old(~guard_malloc_counter~0.offset)| 1) ~guard_malloc_counter~0.offset)} is VALID [2020-07-18 05:13:09,650 INFO L280 TraceCheckUtils]: 11: Hoare triple {7508#(<= (+ |old(~guard_malloc_counter~0.offset)| 1) ~guard_malloc_counter~0.offset)} assume true; {7508#(<= (+ |old(~guard_malloc_counter~0.offset)| 1) ~guard_malloc_counter~0.offset)} is VALID [2020-07-18 05:13:09,652 INFO L275 TraceCheckUtils]: 12: Hoare quadruple {7508#(<= (+ |old(~guard_malloc_counter~0.offset)| 1) ~guard_malloc_counter~0.offset)} {7496#(= ~guard_malloc_counter~0.offset |old(~guard_malloc_counter~0.offset)|)} #92#return; {7508#(<= (+ |old(~guard_malloc_counter~0.offset)| 1) ~guard_malloc_counter~0.offset)} is VALID [2020-07-18 05:13:09,653 INFO L280 TraceCheckUtils]: 13: Hoare triple {7508#(<= (+ |old(~guard_malloc_counter~0.offset)| 1) ~guard_malloc_counter~0.offset)} #res.base, #res.offset := #t~ret30.base, #t~ret30.offset; {7508#(<= (+ |old(~guard_malloc_counter~0.offset)| 1) ~guard_malloc_counter~0.offset)} is VALID [2020-07-18 05:13:09,654 INFO L280 TraceCheckUtils]: 14: Hoare triple {7508#(<= (+ |old(~guard_malloc_counter~0.offset)| 1) ~guard_malloc_counter~0.offset)} havoc #t~ret30.base, #t~ret30.offset; {7508#(<= (+ |old(~guard_malloc_counter~0.offset)| 1) ~guard_malloc_counter~0.offset)} is VALID [2020-07-18 05:13:09,655 INFO L280 TraceCheckUtils]: 15: Hoare triple {7508#(<= (+ |old(~guard_malloc_counter~0.offset)| 1) ~guard_malloc_counter~0.offset)} assume true; {7508#(<= (+ |old(~guard_malloc_counter~0.offset)| 1) ~guard_malloc_counter~0.offset)} is VALID [2020-07-18 05:13:09,657 INFO L275 TraceCheckUtils]: 16: Hoare quadruple {7508#(<= (+ |old(~guard_malloc_counter~0.offset)| 1) ~guard_malloc_counter~0.offset)} {7426#(and (= 0 ~elem~0.offset) (= 0 ~guard_malloc_counter~0.offset))} #94#return; {7444#(and (= 0 ~elem~0.offset) (<= 1 ~guard_malloc_counter~0.offset))} is VALID [2020-07-18 05:13:09,661 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2020-07-18 05:13:09,725 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2020-07-18 05:13:09,769 INFO L280 TraceCheckUtils]: 0: Hoare triple {7495#(and (= ~guard_malloc_counter~0.offset |old(~guard_malloc_counter~0.offset)|) (= ~guard_malloc_counter~0.base |old(~guard_malloc_counter~0.base)|))} ~size := #in~size; {7496#(= ~guard_malloc_counter~0.offset |old(~guard_malloc_counter~0.offset)|)} is VALID [2020-07-18 05:13:09,770 INFO L280 TraceCheckUtils]: 1: Hoare triple {7496#(= ~guard_malloc_counter~0.offset |old(~guard_malloc_counter~0.offset)|)} assume ~size > 0; {7496#(= ~guard_malloc_counter~0.offset |old(~guard_malloc_counter~0.offset)|)} is VALID [2020-07-18 05:13:09,771 INFO L280 TraceCheckUtils]: 2: Hoare triple {7496#(= ~guard_malloc_counter~0.offset |old(~guard_malloc_counter~0.offset)|)} #t~post28.base, #t~post28.offset := ~guard_malloc_counter~0.base, ~guard_malloc_counter~0.offset; {7509#(= |old(~guard_malloc_counter~0.offset)| |__getMemory_#t~post28.offset|)} is VALID [2020-07-18 05:13:09,772 INFO L280 TraceCheckUtils]: 3: Hoare triple {7509#(= |old(~guard_malloc_counter~0.offset)| |__getMemory_#t~post28.offset|)} ~guard_malloc_counter~0.base, ~guard_malloc_counter~0.offset := #t~post28.base, 1 + #t~post28.offset; {7508#(<= (+ |old(~guard_malloc_counter~0.offset)| 1) ~guard_malloc_counter~0.offset)} is VALID [2020-07-18 05:13:09,772 INFO L280 TraceCheckUtils]: 4: Hoare triple {7508#(<= (+ |old(~guard_malloc_counter~0.offset)| 1) ~guard_malloc_counter~0.offset)} havoc #t~post28.base, #t~post28.offset; {7508#(<= (+ |old(~guard_malloc_counter~0.offset)| 1) ~guard_malloc_counter~0.offset)} is VALID [2020-07-18 05:13:09,773 INFO L280 TraceCheckUtils]: 5: Hoare triple {7508#(<= (+ |old(~guard_malloc_counter~0.offset)| 1) ~guard_malloc_counter~0.offset)} assume -2147483648 <= #t~nondet29 && #t~nondet29 <= 2147483647; {7508#(<= (+ |old(~guard_malloc_counter~0.offset)| 1) ~guard_malloc_counter~0.offset)} is VALID [2020-07-18 05:13:09,774 INFO L280 TraceCheckUtils]: 6: Hoare triple {7508#(<= (+ |old(~guard_malloc_counter~0.offset)| 1) ~guard_malloc_counter~0.offset)} assume !(0 == #t~nondet29); {7508#(<= (+ |old(~guard_malloc_counter~0.offset)| 1) ~guard_malloc_counter~0.offset)} is VALID [2020-07-18 05:13:09,774 INFO L280 TraceCheckUtils]: 7: Hoare triple {7508#(<= (+ |old(~guard_malloc_counter~0.offset)| 1) ~guard_malloc_counter~0.offset)} havoc #t~nondet29; {7508#(<= (+ |old(~guard_malloc_counter~0.offset)| 1) ~guard_malloc_counter~0.offset)} is VALID [2020-07-18 05:13:09,775 INFO L280 TraceCheckUtils]: 8: Hoare triple {7508#(<= (+ |old(~guard_malloc_counter~0.offset)| 1) ~guard_malloc_counter~0.offset)} #res.base, #res.offset := ~guard_malloc_counter~0.base, ~guard_malloc_counter~0.offset; {7523#(<= (+ |old(~guard_malloc_counter~0.offset)| 1) |__getMemory_#res.offset|)} is VALID [2020-07-18 05:13:09,776 INFO L280 TraceCheckUtils]: 9: Hoare triple {7523#(<= (+ |old(~guard_malloc_counter~0.offset)| 1) |__getMemory_#res.offset|)} assume true; {7523#(<= (+ |old(~guard_malloc_counter~0.offset)| 1) |__getMemory_#res.offset|)} is VALID [2020-07-18 05:13:09,777 INFO L275 TraceCheckUtils]: 10: Hoare quadruple {7523#(<= (+ |old(~guard_malloc_counter~0.offset)| 1) |__getMemory_#res.offset|)} {7496#(= ~guard_malloc_counter~0.offset |old(~guard_malloc_counter~0.offset)|)} #92#return; {7521#(<= (+ |old(~guard_malloc_counter~0.offset)| 1) |my_malloc_#t~ret30.offset|)} is VALID [2020-07-18 05:13:09,778 INFO L280 TraceCheckUtils]: 0: Hoare triple {7495#(and (= ~guard_malloc_counter~0.offset |old(~guard_malloc_counter~0.offset)|) (= ~guard_malloc_counter~0.base |old(~guard_malloc_counter~0.base)|))} ~size := #in~size; {7496#(= ~guard_malloc_counter~0.offset |old(~guard_malloc_counter~0.offset)|)} is VALID [2020-07-18 05:13:09,779 INFO L263 TraceCheckUtils]: 1: Hoare triple {7496#(= ~guard_malloc_counter~0.offset |old(~guard_malloc_counter~0.offset)|)} call #t~ret30.base, #t~ret30.offset := __getMemory(~size); {7495#(and (= ~guard_malloc_counter~0.offset |old(~guard_malloc_counter~0.offset)|) (= ~guard_malloc_counter~0.base |old(~guard_malloc_counter~0.base)|))} is VALID [2020-07-18 05:13:09,780 INFO L280 TraceCheckUtils]: 2: Hoare triple {7495#(and (= ~guard_malloc_counter~0.offset |old(~guard_malloc_counter~0.offset)|) (= ~guard_malloc_counter~0.base |old(~guard_malloc_counter~0.base)|))} ~size := #in~size; {7496#(= ~guard_malloc_counter~0.offset |old(~guard_malloc_counter~0.offset)|)} is VALID [2020-07-18 05:13:09,781 INFO L280 TraceCheckUtils]: 3: Hoare triple {7496#(= ~guard_malloc_counter~0.offset |old(~guard_malloc_counter~0.offset)|)} assume ~size > 0; {7496#(= ~guard_malloc_counter~0.offset |old(~guard_malloc_counter~0.offset)|)} is VALID [2020-07-18 05:13:09,782 INFO L280 TraceCheckUtils]: 4: Hoare triple {7496#(= ~guard_malloc_counter~0.offset |old(~guard_malloc_counter~0.offset)|)} #t~post28.base, #t~post28.offset := ~guard_malloc_counter~0.base, ~guard_malloc_counter~0.offset; {7509#(= |old(~guard_malloc_counter~0.offset)| |__getMemory_#t~post28.offset|)} is VALID [2020-07-18 05:13:09,784 INFO L280 TraceCheckUtils]: 5: Hoare triple {7509#(= |old(~guard_malloc_counter~0.offset)| |__getMemory_#t~post28.offset|)} ~guard_malloc_counter~0.base, ~guard_malloc_counter~0.offset := #t~post28.base, 1 + #t~post28.offset; {7508#(<= (+ |old(~guard_malloc_counter~0.offset)| 1) ~guard_malloc_counter~0.offset)} is VALID [2020-07-18 05:13:09,784 INFO L280 TraceCheckUtils]: 6: Hoare triple {7508#(<= (+ |old(~guard_malloc_counter~0.offset)| 1) ~guard_malloc_counter~0.offset)} havoc #t~post28.base, #t~post28.offset; {7508#(<= (+ |old(~guard_malloc_counter~0.offset)| 1) ~guard_malloc_counter~0.offset)} is VALID [2020-07-18 05:13:09,785 INFO L280 TraceCheckUtils]: 7: Hoare triple {7508#(<= (+ |old(~guard_malloc_counter~0.offset)| 1) ~guard_malloc_counter~0.offset)} assume -2147483648 <= #t~nondet29 && #t~nondet29 <= 2147483647; {7508#(<= (+ |old(~guard_malloc_counter~0.offset)| 1) ~guard_malloc_counter~0.offset)} is VALID [2020-07-18 05:13:09,786 INFO L280 TraceCheckUtils]: 8: Hoare triple {7508#(<= (+ |old(~guard_malloc_counter~0.offset)| 1) ~guard_malloc_counter~0.offset)} assume !(0 == #t~nondet29); {7508#(<= (+ |old(~guard_malloc_counter~0.offset)| 1) ~guard_malloc_counter~0.offset)} is VALID [2020-07-18 05:13:09,787 INFO L280 TraceCheckUtils]: 9: Hoare triple {7508#(<= (+ |old(~guard_malloc_counter~0.offset)| 1) ~guard_malloc_counter~0.offset)} havoc #t~nondet29; {7508#(<= (+ |old(~guard_malloc_counter~0.offset)| 1) ~guard_malloc_counter~0.offset)} is VALID [2020-07-18 05:13:09,788 INFO L280 TraceCheckUtils]: 10: Hoare triple {7508#(<= (+ |old(~guard_malloc_counter~0.offset)| 1) ~guard_malloc_counter~0.offset)} #res.base, #res.offset := ~guard_malloc_counter~0.base, ~guard_malloc_counter~0.offset; {7523#(<= (+ |old(~guard_malloc_counter~0.offset)| 1) |__getMemory_#res.offset|)} is VALID [2020-07-18 05:13:09,789 INFO L280 TraceCheckUtils]: 11: Hoare triple {7523#(<= (+ |old(~guard_malloc_counter~0.offset)| 1) |__getMemory_#res.offset|)} assume true; {7523#(<= (+ |old(~guard_malloc_counter~0.offset)| 1) |__getMemory_#res.offset|)} is VALID [2020-07-18 05:13:09,791 INFO L275 TraceCheckUtils]: 12: Hoare quadruple {7523#(<= (+ |old(~guard_malloc_counter~0.offset)| 1) |__getMemory_#res.offset|)} {7496#(= ~guard_malloc_counter~0.offset |old(~guard_malloc_counter~0.offset)|)} #92#return; {7521#(<= (+ |old(~guard_malloc_counter~0.offset)| 1) |my_malloc_#t~ret30.offset|)} is VALID [2020-07-18 05:13:09,792 INFO L280 TraceCheckUtils]: 13: Hoare triple {7521#(<= (+ |old(~guard_malloc_counter~0.offset)| 1) |my_malloc_#t~ret30.offset|)} #res.base, #res.offset := #t~ret30.base, #t~ret30.offset; {7522#(<= (+ |old(~guard_malloc_counter~0.offset)| 1) |my_malloc_#res.offset|)} is VALID [2020-07-18 05:13:09,793 INFO L280 TraceCheckUtils]: 14: Hoare triple {7522#(<= (+ |old(~guard_malloc_counter~0.offset)| 1) |my_malloc_#res.offset|)} havoc #t~ret30.base, #t~ret30.offset; {7522#(<= (+ |old(~guard_malloc_counter~0.offset)| 1) |my_malloc_#res.offset|)} is VALID [2020-07-18 05:13:09,794 INFO L280 TraceCheckUtils]: 15: Hoare triple {7522#(<= (+ |old(~guard_malloc_counter~0.offset)| 1) |my_malloc_#res.offset|)} assume true; {7522#(<= (+ |old(~guard_malloc_counter~0.offset)| 1) |my_malloc_#res.offset|)} is VALID [2020-07-18 05:13:09,796 INFO L275 TraceCheckUtils]: 16: Hoare quadruple {7522#(<= (+ |old(~guard_malloc_counter~0.offset)| 1) |my_malloc_#res.offset|)} {7444#(and (= 0 ~elem~0.offset) (<= 1 ~guard_malloc_counter~0.offset))} #96#return; {7462#(and (= 0 ~elem~0.offset) (<= 2 |main_#t~ret33.offset|))} is VALID [2020-07-18 05:13:09,832 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2020-07-18 05:13:09,867 INFO L280 TraceCheckUtils]: 0: Hoare triple {7524#(and (= ~elem~0.base |old(~elem~0.base)|) (= ~elem~0.offset |old(~elem~0.offset)|))} ~new.base, ~new.offset := #in~new.base, #in~new.offset; {7525#(= |old(~elem~0.offset)| ~elem~0.offset)} is VALID [2020-07-18 05:13:09,868 INFO L280 TraceCheckUtils]: 1: Hoare triple {7525#(= |old(~elem~0.offset)| ~elem~0.offset)} ~head.base, ~head.offset := #in~head.base, #in~head.offset; {7525#(= |old(~elem~0.offset)| ~elem~0.offset)} is VALID [2020-07-18 05:13:09,869 INFO L280 TraceCheckUtils]: 2: Hoare triple {7525#(= |old(~elem~0.offset)| ~elem~0.offset)} assume ~new.base != ~elem~0.base || ~new.offset != ~elem~0.offset; {7525#(= |old(~elem~0.offset)| ~elem~0.offset)} is VALID [2020-07-18 05:13:09,870 INFO L280 TraceCheckUtils]: 3: Hoare triple {7525#(= |old(~elem~0.offset)| ~elem~0.offset)} assume -2147483648 <= #t~nondet31 && #t~nondet31 <= 2147483647; {7525#(= |old(~elem~0.offset)| ~elem~0.offset)} is VALID [2020-07-18 05:13:09,871 INFO L280 TraceCheckUtils]: 4: Hoare triple {7525#(= |old(~elem~0.offset)| ~elem~0.offset)} assume !(0 != #t~nondet31); {7525#(= |old(~elem~0.offset)| ~elem~0.offset)} is VALID [2020-07-18 05:13:09,872 INFO L280 TraceCheckUtils]: 5: Hoare triple {7525#(= |old(~elem~0.offset)| ~elem~0.offset)} havoc #t~nondet31; {7525#(= |old(~elem~0.offset)| ~elem~0.offset)} is VALID [2020-07-18 05:13:09,873 INFO L280 TraceCheckUtils]: 6: Hoare triple {7525#(= |old(~elem~0.offset)| ~elem~0.offset)} assume true; {7525#(= |old(~elem~0.offset)| ~elem~0.offset)} is VALID [2020-07-18 05:13:09,875 INFO L275 TraceCheckUtils]: 7: Hoare quadruple {7525#(= |old(~elem~0.offset)| ~elem~0.offset)} {7463#(and (= 0 ~elem~0.offset) (<= 2 main_~dev2~0.offset))} #98#return; {7463#(and (= 0 ~elem~0.offset) (<= 2 main_~dev2~0.offset))} is VALID [2020-07-18 05:13:09,877 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2020-07-18 05:13:09,884 INFO L280 TraceCheckUtils]: 0: Hoare triple {7524#(and (= ~elem~0.base |old(~elem~0.base)|) (= ~elem~0.offset |old(~elem~0.offset)|))} ~new.base, ~new.offset := #in~new.base, #in~new.offset; {7525#(= |old(~elem~0.offset)| ~elem~0.offset)} is VALID [2020-07-18 05:13:09,885 INFO L280 TraceCheckUtils]: 1: Hoare triple {7525#(= |old(~elem~0.offset)| ~elem~0.offset)} ~head.base, ~head.offset := #in~head.base, #in~head.offset; {7525#(= |old(~elem~0.offset)| ~elem~0.offset)} is VALID [2020-07-18 05:13:09,886 INFO L280 TraceCheckUtils]: 2: Hoare triple {7525#(= |old(~elem~0.offset)| ~elem~0.offset)} assume ~new.base != ~elem~0.base || ~new.offset != ~elem~0.offset; {7525#(= |old(~elem~0.offset)| ~elem~0.offset)} is VALID [2020-07-18 05:13:09,887 INFO L280 TraceCheckUtils]: 3: Hoare triple {7525#(= |old(~elem~0.offset)| ~elem~0.offset)} assume -2147483648 <= #t~nondet31 && #t~nondet31 <= 2147483647; {7525#(= |old(~elem~0.offset)| ~elem~0.offset)} is VALID [2020-07-18 05:13:09,887 INFO L280 TraceCheckUtils]: 4: Hoare triple {7525#(= |old(~elem~0.offset)| ~elem~0.offset)} assume !(0 != #t~nondet31); {7525#(= |old(~elem~0.offset)| ~elem~0.offset)} is VALID [2020-07-18 05:13:09,888 INFO L280 TraceCheckUtils]: 5: Hoare triple {7525#(= |old(~elem~0.offset)| ~elem~0.offset)} havoc #t~nondet31; {7525#(= |old(~elem~0.offset)| ~elem~0.offset)} is VALID [2020-07-18 05:13:09,889 INFO L280 TraceCheckUtils]: 6: Hoare triple {7525#(= |old(~elem~0.offset)| ~elem~0.offset)} assume true; {7525#(= |old(~elem~0.offset)| ~elem~0.offset)} is VALID [2020-07-18 05:13:09,891 INFO L275 TraceCheckUtils]: 7: Hoare quadruple {7525#(= |old(~elem~0.offset)| ~elem~0.offset)} {7463#(and (= 0 ~elem~0.offset) (<= 2 main_~dev2~0.offset))} #100#return; {7463#(and (= 0 ~elem~0.offset) (<= 2 main_~dev2~0.offset))} is VALID [2020-07-18 05:13:09,893 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2020-07-18 05:13:09,968 INFO L280 TraceCheckUtils]: 0: Hoare triple {7524#(and (= ~elem~0.base |old(~elem~0.base)|) (= ~elem~0.offset |old(~elem~0.offset)|))} ~entry.base, ~entry.offset := #in~entry.base, #in~entry.offset; {7526#(and (= |old(~elem~0.offset)| ~elem~0.offset) (= |list_del_#in~entry.offset| list_del_~entry.offset))} is VALID [2020-07-18 05:13:09,969 INFO L280 TraceCheckUtils]: 1: Hoare triple {7526#(and (= |old(~elem~0.offset)| ~elem~0.offset) (= |list_del_#in~entry.offset| list_del_~entry.offset))} assume ~entry.base == ~elem~0.base && ~entry.offset == ~elem~0.offset; {7527#(= |old(~elem~0.offset)| |list_del_#in~entry.offset|)} is VALID [2020-07-18 05:13:09,970 INFO L280 TraceCheckUtils]: 2: Hoare triple {7527#(= |old(~elem~0.offset)| |list_del_#in~entry.offset|)} ~elem~0.base, ~elem~0.offset := 0, 0; {7527#(= |old(~elem~0.offset)| |list_del_#in~entry.offset|)} is VALID [2020-07-18 05:13:09,971 INFO L280 TraceCheckUtils]: 3: Hoare triple {7527#(= |old(~elem~0.offset)| |list_del_#in~entry.offset|)} assume true; {7527#(= |old(~elem~0.offset)| |list_del_#in~entry.offset|)} is VALID [2020-07-18 05:13:09,972 INFO L275 TraceCheckUtils]: 4: Hoare quadruple {7527#(= |old(~elem~0.offset)| |list_del_#in~entry.offset|)} {7463#(and (= 0 ~elem~0.offset) (<= 2 main_~dev2~0.offset))} #102#return; {7415#false} is VALID [2020-07-18 05:13:09,974 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2020-07-18 05:13:09,979 INFO L280 TraceCheckUtils]: 0: Hoare triple {7524#(and (= ~elem~0.base |old(~elem~0.base)|) (= ~elem~0.offset |old(~elem~0.offset)|))} ~new.base, ~new.offset := #in~new.base, #in~new.offset; {7414#true} is VALID [2020-07-18 05:13:09,979 INFO L280 TraceCheckUtils]: 1: Hoare triple {7414#true} ~head.base, ~head.offset := #in~head.base, #in~head.offset; {7414#true} is VALID [2020-07-18 05:13:09,980 INFO L280 TraceCheckUtils]: 2: Hoare triple {7414#true} assume ~new.base != ~elem~0.base || ~new.offset != ~elem~0.offset; {7414#true} is VALID [2020-07-18 05:13:09,980 INFO L280 TraceCheckUtils]: 3: Hoare triple {7414#true} assume -2147483648 <= #t~nondet31 && #t~nondet31 <= 2147483647; {7414#true} is VALID [2020-07-18 05:13:09,980 INFO L280 TraceCheckUtils]: 4: Hoare triple {7414#true} assume !(0 != #t~nondet31); {7414#true} is VALID [2020-07-18 05:13:09,981 INFO L280 TraceCheckUtils]: 5: Hoare triple {7414#true} havoc #t~nondet31; {7414#true} is VALID [2020-07-18 05:13:09,981 INFO L280 TraceCheckUtils]: 6: Hoare triple {7414#true} assume true; {7414#true} is VALID [2020-07-18 05:13:09,981 INFO L275 TraceCheckUtils]: 7: Hoare quadruple {7414#true} {7415#false} #104#return; {7415#false} is VALID [2020-07-18 05:13:09,983 INFO L263 TraceCheckUtils]: 0: Hoare triple {7414#true} call ULTIMATE.init(); {7493#(and (= |#valid| |old(#valid)|) (= ~elem~0.base |old(~elem~0.base)|) (= |#NULL.base| |old(#NULL.base)|) (= |~#head~0.base| |old(~#head~0.base)|) (= ~guard_malloc_counter~0.offset |old(~guard_malloc_counter~0.offset)|) (= |#NULL.offset| |old(#NULL.offset)|) (= ~elem~0.offset |old(~elem~0.offset)|) (= |old(#length)| |#length|) (= |~#head~0.offset| |old(~#head~0.offset)|) (= ~guard_malloc_counter~0.base |old(~guard_malloc_counter~0.base)|))} is VALID [2020-07-18 05:13:09,984 INFO L280 TraceCheckUtils]: 1: Hoare triple {7493#(and (= |#valid| |old(#valid)|) (= ~elem~0.base |old(~elem~0.base)|) (= |#NULL.base| |old(#NULL.base)|) (= |~#head~0.base| |old(~#head~0.base)|) (= ~guard_malloc_counter~0.offset |old(~guard_malloc_counter~0.offset)|) (= |#NULL.offset| |old(#NULL.offset)|) (= ~elem~0.offset |old(~elem~0.offset)|) (= |old(#length)| |#length|) (= |~#head~0.offset| |old(~#head~0.offset)|) (= ~guard_malloc_counter~0.base |old(~guard_malloc_counter~0.base)|))} #NULL.base, #NULL.offset := 0, 0; {7414#true} is VALID [2020-07-18 05:13:09,984 INFO L280 TraceCheckUtils]: 2: Hoare triple {7414#true} #valid := #valid[0 := 0]; {7414#true} is VALID [2020-07-18 05:13:09,984 INFO L280 TraceCheckUtils]: 3: Hoare triple {7414#true} assume 0 < #StackHeapBarrier; {7414#true} is VALID [2020-07-18 05:13:09,985 INFO L280 TraceCheckUtils]: 4: Hoare triple {7414#true} ~guard_malloc_counter~0.base, ~guard_malloc_counter~0.offset := 0, 0; {7494#(= 0 ~guard_malloc_counter~0.offset)} is VALID [2020-07-18 05:13:09,986 INFO L280 TraceCheckUtils]: 5: Hoare triple {7494#(= 0 ~guard_malloc_counter~0.offset)} ~elem~0.base, ~elem~0.offset := 0, 0; {7426#(and (= 0 ~elem~0.offset) (= 0 ~guard_malloc_counter~0.offset))} is VALID [2020-07-18 05:13:09,988 INFO L280 TraceCheckUtils]: 6: Hoare triple {7426#(and (= 0 ~elem~0.offset) (= 0 ~guard_malloc_counter~0.offset))} SUMMARY for call ~#head~0.base, ~#head~0.offset := #Ultimate.allocOnStack(8); srcloc: L900 {7426#(and (= 0 ~elem~0.offset) (= 0 ~guard_malloc_counter~0.offset))} is VALID [2020-07-18 05:13:09,989 INFO L280 TraceCheckUtils]: 7: Hoare triple {7426#(and (= 0 ~elem~0.offset) (= 0 ~guard_malloc_counter~0.offset))} SUMMARY for call write~init~$Pointer$(0, 0, ~#head~0.base, ~#head~0.offset, 4); srcloc: L900-1 {7426#(and (= 0 ~elem~0.offset) (= 0 ~guard_malloc_counter~0.offset))} is VALID [2020-07-18 05:13:09,990 INFO L280 TraceCheckUtils]: 8: Hoare triple {7426#(and (= 0 ~elem~0.offset) (= 0 ~guard_malloc_counter~0.offset))} SUMMARY for call write~init~$Pointer$(0, 0, ~#head~0.base, 4 + ~#head~0.offset, 4); srcloc: L900-2 {7426#(and (= 0 ~elem~0.offset) (= 0 ~guard_malloc_counter~0.offset))} is VALID [2020-07-18 05:13:09,990 INFO L280 TraceCheckUtils]: 9: Hoare triple {7426#(and (= 0 ~elem~0.offset) (= 0 ~guard_malloc_counter~0.offset))} assume true; {7426#(and (= 0 ~elem~0.offset) (= 0 ~guard_malloc_counter~0.offset))} is VALID [2020-07-18 05:13:09,991 INFO L275 TraceCheckUtils]: 10: Hoare quadruple {7426#(and (= 0 ~elem~0.offset) (= 0 ~guard_malloc_counter~0.offset))} {7414#true} #112#return; {7426#(and (= 0 ~elem~0.offset) (= 0 ~guard_malloc_counter~0.offset))} is VALID [2020-07-18 05:13:09,992 INFO L263 TraceCheckUtils]: 11: Hoare triple {7426#(and (= 0 ~elem~0.offset) (= 0 ~guard_malloc_counter~0.offset))} call #t~ret34 := main(); {7426#(and (= 0 ~elem~0.offset) (= 0 ~guard_malloc_counter~0.offset))} is VALID [2020-07-18 05:13:09,993 INFO L280 TraceCheckUtils]: 12: Hoare triple {7426#(and (= 0 ~elem~0.offset) (= 0 ~guard_malloc_counter~0.offset))} havoc ~dev1~0.base, ~dev1~0.offset; {7426#(and (= 0 ~elem~0.offset) (= 0 ~guard_malloc_counter~0.offset))} is VALID [2020-07-18 05:13:09,994 INFO L280 TraceCheckUtils]: 13: Hoare triple {7426#(and (= 0 ~elem~0.offset) (= 0 ~guard_malloc_counter~0.offset))} havoc ~dev2~0.base, ~dev2~0.offset; {7426#(and (= 0 ~elem~0.offset) (= 0 ~guard_malloc_counter~0.offset))} is VALID [2020-07-18 05:13:09,995 INFO L263 TraceCheckUtils]: 14: Hoare triple {7426#(and (= 0 ~elem~0.offset) (= 0 ~guard_malloc_counter~0.offset))} call #t~ret32.base, #t~ret32.offset := my_malloc(8); {7495#(and (= ~guard_malloc_counter~0.offset |old(~guard_malloc_counter~0.offset)|) (= ~guard_malloc_counter~0.base |old(~guard_malloc_counter~0.base)|))} is VALID [2020-07-18 05:13:09,995 INFO L280 TraceCheckUtils]: 15: Hoare triple {7495#(and (= ~guard_malloc_counter~0.offset |old(~guard_malloc_counter~0.offset)|) (= ~guard_malloc_counter~0.base |old(~guard_malloc_counter~0.base)|))} ~size := #in~size; {7496#(= ~guard_malloc_counter~0.offset |old(~guard_malloc_counter~0.offset)|)} is VALID [2020-07-18 05:13:09,996 INFO L263 TraceCheckUtils]: 16: Hoare triple {7496#(= ~guard_malloc_counter~0.offset |old(~guard_malloc_counter~0.offset)|)} call #t~ret30.base, #t~ret30.offset := __getMemory(~size); {7495#(and (= ~guard_malloc_counter~0.offset |old(~guard_malloc_counter~0.offset)|) (= ~guard_malloc_counter~0.base |old(~guard_malloc_counter~0.base)|))} is VALID [2020-07-18 05:13:09,997 INFO L280 TraceCheckUtils]: 17: Hoare triple {7495#(and (= ~guard_malloc_counter~0.offset |old(~guard_malloc_counter~0.offset)|) (= ~guard_malloc_counter~0.base |old(~guard_malloc_counter~0.base)|))} ~size := #in~size; {7496#(= ~guard_malloc_counter~0.offset |old(~guard_malloc_counter~0.offset)|)} is VALID [2020-07-18 05:13:09,998 INFO L280 TraceCheckUtils]: 18: Hoare triple {7496#(= ~guard_malloc_counter~0.offset |old(~guard_malloc_counter~0.offset)|)} assume ~size > 0; {7496#(= ~guard_malloc_counter~0.offset |old(~guard_malloc_counter~0.offset)|)} is VALID [2020-07-18 05:13:09,999 INFO L280 TraceCheckUtils]: 19: Hoare triple {7496#(= ~guard_malloc_counter~0.offset |old(~guard_malloc_counter~0.offset)|)} #t~post28.base, #t~post28.offset := ~guard_malloc_counter~0.base, ~guard_malloc_counter~0.offset; {7509#(= |old(~guard_malloc_counter~0.offset)| |__getMemory_#t~post28.offset|)} is VALID [2020-07-18 05:13:10,000 INFO L280 TraceCheckUtils]: 20: Hoare triple {7509#(= |old(~guard_malloc_counter~0.offset)| |__getMemory_#t~post28.offset|)} ~guard_malloc_counter~0.base, ~guard_malloc_counter~0.offset := #t~post28.base, 1 + #t~post28.offset; {7508#(<= (+ |old(~guard_malloc_counter~0.offset)| 1) ~guard_malloc_counter~0.offset)} is VALID [2020-07-18 05:13:10,001 INFO L280 TraceCheckUtils]: 21: Hoare triple {7508#(<= (+ |old(~guard_malloc_counter~0.offset)| 1) ~guard_malloc_counter~0.offset)} havoc #t~post28.base, #t~post28.offset; {7508#(<= (+ |old(~guard_malloc_counter~0.offset)| 1) ~guard_malloc_counter~0.offset)} is VALID [2020-07-18 05:13:10,002 INFO L280 TraceCheckUtils]: 22: Hoare triple {7508#(<= (+ |old(~guard_malloc_counter~0.offset)| 1) ~guard_malloc_counter~0.offset)} assume -2147483648 <= #t~nondet29 && #t~nondet29 <= 2147483647; {7508#(<= (+ |old(~guard_malloc_counter~0.offset)| 1) ~guard_malloc_counter~0.offset)} is VALID [2020-07-18 05:13:10,002 INFO L280 TraceCheckUtils]: 23: Hoare triple {7508#(<= (+ |old(~guard_malloc_counter~0.offset)| 1) ~guard_malloc_counter~0.offset)} assume !(0 == #t~nondet29); {7508#(<= (+ |old(~guard_malloc_counter~0.offset)| 1) ~guard_malloc_counter~0.offset)} is VALID [2020-07-18 05:13:10,003 INFO L280 TraceCheckUtils]: 24: Hoare triple {7508#(<= (+ |old(~guard_malloc_counter~0.offset)| 1) ~guard_malloc_counter~0.offset)} havoc #t~nondet29; {7508#(<= (+ |old(~guard_malloc_counter~0.offset)| 1) ~guard_malloc_counter~0.offset)} is VALID [2020-07-18 05:13:10,004 INFO L280 TraceCheckUtils]: 25: Hoare triple {7508#(<= (+ |old(~guard_malloc_counter~0.offset)| 1) ~guard_malloc_counter~0.offset)} #res.base, #res.offset := ~guard_malloc_counter~0.base, ~guard_malloc_counter~0.offset; {7508#(<= (+ |old(~guard_malloc_counter~0.offset)| 1) ~guard_malloc_counter~0.offset)} is VALID [2020-07-18 05:13:10,005 INFO L280 TraceCheckUtils]: 26: Hoare triple {7508#(<= (+ |old(~guard_malloc_counter~0.offset)| 1) ~guard_malloc_counter~0.offset)} assume true; {7508#(<= (+ |old(~guard_malloc_counter~0.offset)| 1) ~guard_malloc_counter~0.offset)} is VALID [2020-07-18 05:13:10,007 INFO L275 TraceCheckUtils]: 27: Hoare quadruple {7508#(<= (+ |old(~guard_malloc_counter~0.offset)| 1) ~guard_malloc_counter~0.offset)} {7496#(= ~guard_malloc_counter~0.offset |old(~guard_malloc_counter~0.offset)|)} #92#return; {7508#(<= (+ |old(~guard_malloc_counter~0.offset)| 1) ~guard_malloc_counter~0.offset)} is VALID [2020-07-18 05:13:10,008 INFO L280 TraceCheckUtils]: 28: Hoare triple {7508#(<= (+ |old(~guard_malloc_counter~0.offset)| 1) ~guard_malloc_counter~0.offset)} #res.base, #res.offset := #t~ret30.base, #t~ret30.offset; {7508#(<= (+ |old(~guard_malloc_counter~0.offset)| 1) ~guard_malloc_counter~0.offset)} is VALID [2020-07-18 05:13:10,008 INFO L280 TraceCheckUtils]: 29: Hoare triple {7508#(<= (+ |old(~guard_malloc_counter~0.offset)| 1) ~guard_malloc_counter~0.offset)} havoc #t~ret30.base, #t~ret30.offset; {7508#(<= (+ |old(~guard_malloc_counter~0.offset)| 1) ~guard_malloc_counter~0.offset)} is VALID [2020-07-18 05:13:10,009 INFO L280 TraceCheckUtils]: 30: Hoare triple {7508#(<= (+ |old(~guard_malloc_counter~0.offset)| 1) ~guard_malloc_counter~0.offset)} assume true; {7508#(<= (+ |old(~guard_malloc_counter~0.offset)| 1) ~guard_malloc_counter~0.offset)} is VALID [2020-07-18 05:13:10,011 INFO L275 TraceCheckUtils]: 31: Hoare quadruple {7508#(<= (+ |old(~guard_malloc_counter~0.offset)| 1) ~guard_malloc_counter~0.offset)} {7426#(and (= 0 ~elem~0.offset) (= 0 ~guard_malloc_counter~0.offset))} #94#return; {7444#(and (= 0 ~elem~0.offset) (<= 1 ~guard_malloc_counter~0.offset))} is VALID [2020-07-18 05:13:10,012 INFO L280 TraceCheckUtils]: 32: Hoare triple {7444#(and (= 0 ~elem~0.offset) (<= 1 ~guard_malloc_counter~0.offset))} ~dev1~0.base, ~dev1~0.offset := #t~ret32.base, #t~ret32.offset; {7444#(and (= 0 ~elem~0.offset) (<= 1 ~guard_malloc_counter~0.offset))} is VALID [2020-07-18 05:13:10,014 INFO L280 TraceCheckUtils]: 33: Hoare triple {7444#(and (= 0 ~elem~0.offset) (<= 1 ~guard_malloc_counter~0.offset))} havoc #t~ret32.base, #t~ret32.offset; {7444#(and (= 0 ~elem~0.offset) (<= 1 ~guard_malloc_counter~0.offset))} is VALID [2020-07-18 05:13:10,015 INFO L263 TraceCheckUtils]: 34: Hoare triple {7444#(and (= 0 ~elem~0.offset) (<= 1 ~guard_malloc_counter~0.offset))} call #t~ret33.base, #t~ret33.offset := my_malloc(8); {7495#(and (= ~guard_malloc_counter~0.offset |old(~guard_malloc_counter~0.offset)|) (= ~guard_malloc_counter~0.base |old(~guard_malloc_counter~0.base)|))} is VALID [2020-07-18 05:13:10,016 INFO L280 TraceCheckUtils]: 35: Hoare triple {7495#(and (= ~guard_malloc_counter~0.offset |old(~guard_malloc_counter~0.offset)|) (= ~guard_malloc_counter~0.base |old(~guard_malloc_counter~0.base)|))} ~size := #in~size; {7496#(= ~guard_malloc_counter~0.offset |old(~guard_malloc_counter~0.offset)|)} is VALID [2020-07-18 05:13:10,017 INFO L263 TraceCheckUtils]: 36: Hoare triple {7496#(= ~guard_malloc_counter~0.offset |old(~guard_malloc_counter~0.offset)|)} call #t~ret30.base, #t~ret30.offset := __getMemory(~size); {7495#(and (= ~guard_malloc_counter~0.offset |old(~guard_malloc_counter~0.offset)|) (= ~guard_malloc_counter~0.base |old(~guard_malloc_counter~0.base)|))} is VALID [2020-07-18 05:13:10,018 INFO L280 TraceCheckUtils]: 37: Hoare triple {7495#(and (= ~guard_malloc_counter~0.offset |old(~guard_malloc_counter~0.offset)|) (= ~guard_malloc_counter~0.base |old(~guard_malloc_counter~0.base)|))} ~size := #in~size; {7496#(= ~guard_malloc_counter~0.offset |old(~guard_malloc_counter~0.offset)|)} is VALID [2020-07-18 05:13:10,019 INFO L280 TraceCheckUtils]: 38: Hoare triple {7496#(= ~guard_malloc_counter~0.offset |old(~guard_malloc_counter~0.offset)|)} assume ~size > 0; {7496#(= ~guard_malloc_counter~0.offset |old(~guard_malloc_counter~0.offset)|)} is VALID [2020-07-18 05:13:10,020 INFO L280 TraceCheckUtils]: 39: Hoare triple {7496#(= ~guard_malloc_counter~0.offset |old(~guard_malloc_counter~0.offset)|)} #t~post28.base, #t~post28.offset := ~guard_malloc_counter~0.base, ~guard_malloc_counter~0.offset; {7509#(= |old(~guard_malloc_counter~0.offset)| |__getMemory_#t~post28.offset|)} is VALID [2020-07-18 05:13:10,021 INFO L280 TraceCheckUtils]: 40: Hoare triple {7509#(= |old(~guard_malloc_counter~0.offset)| |__getMemory_#t~post28.offset|)} ~guard_malloc_counter~0.base, ~guard_malloc_counter~0.offset := #t~post28.base, 1 + #t~post28.offset; {7508#(<= (+ |old(~guard_malloc_counter~0.offset)| 1) ~guard_malloc_counter~0.offset)} is VALID [2020-07-18 05:13:10,022 INFO L280 TraceCheckUtils]: 41: Hoare triple {7508#(<= (+ |old(~guard_malloc_counter~0.offset)| 1) ~guard_malloc_counter~0.offset)} havoc #t~post28.base, #t~post28.offset; {7508#(<= (+ |old(~guard_malloc_counter~0.offset)| 1) ~guard_malloc_counter~0.offset)} is VALID [2020-07-18 05:13:10,023 INFO L280 TraceCheckUtils]: 42: Hoare triple {7508#(<= (+ |old(~guard_malloc_counter~0.offset)| 1) ~guard_malloc_counter~0.offset)} assume -2147483648 <= #t~nondet29 && #t~nondet29 <= 2147483647; {7508#(<= (+ |old(~guard_malloc_counter~0.offset)| 1) ~guard_malloc_counter~0.offset)} is VALID [2020-07-18 05:13:10,024 INFO L280 TraceCheckUtils]: 43: Hoare triple {7508#(<= (+ |old(~guard_malloc_counter~0.offset)| 1) ~guard_malloc_counter~0.offset)} assume !(0 == #t~nondet29); {7508#(<= (+ |old(~guard_malloc_counter~0.offset)| 1) ~guard_malloc_counter~0.offset)} is VALID [2020-07-18 05:13:10,025 INFO L280 TraceCheckUtils]: 44: Hoare triple {7508#(<= (+ |old(~guard_malloc_counter~0.offset)| 1) ~guard_malloc_counter~0.offset)} havoc #t~nondet29; {7508#(<= (+ |old(~guard_malloc_counter~0.offset)| 1) ~guard_malloc_counter~0.offset)} is VALID [2020-07-18 05:13:10,026 INFO L280 TraceCheckUtils]: 45: Hoare triple {7508#(<= (+ |old(~guard_malloc_counter~0.offset)| 1) ~guard_malloc_counter~0.offset)} #res.base, #res.offset := ~guard_malloc_counter~0.base, ~guard_malloc_counter~0.offset; {7523#(<= (+ |old(~guard_malloc_counter~0.offset)| 1) |__getMemory_#res.offset|)} is VALID [2020-07-18 05:13:10,026 INFO L280 TraceCheckUtils]: 46: Hoare triple {7523#(<= (+ |old(~guard_malloc_counter~0.offset)| 1) |__getMemory_#res.offset|)} assume true; {7523#(<= (+ |old(~guard_malloc_counter~0.offset)| 1) |__getMemory_#res.offset|)} is VALID [2020-07-18 05:13:10,028 INFO L275 TraceCheckUtils]: 47: Hoare quadruple {7523#(<= (+ |old(~guard_malloc_counter~0.offset)| 1) |__getMemory_#res.offset|)} {7496#(= ~guard_malloc_counter~0.offset |old(~guard_malloc_counter~0.offset)|)} #92#return; {7521#(<= (+ |old(~guard_malloc_counter~0.offset)| 1) |my_malloc_#t~ret30.offset|)} is VALID [2020-07-18 05:13:10,029 INFO L280 TraceCheckUtils]: 48: Hoare triple {7521#(<= (+ |old(~guard_malloc_counter~0.offset)| 1) |my_malloc_#t~ret30.offset|)} #res.base, #res.offset := #t~ret30.base, #t~ret30.offset; {7522#(<= (+ |old(~guard_malloc_counter~0.offset)| 1) |my_malloc_#res.offset|)} is VALID [2020-07-18 05:13:10,030 INFO L280 TraceCheckUtils]: 49: Hoare triple {7522#(<= (+ |old(~guard_malloc_counter~0.offset)| 1) |my_malloc_#res.offset|)} havoc #t~ret30.base, #t~ret30.offset; {7522#(<= (+ |old(~guard_malloc_counter~0.offset)| 1) |my_malloc_#res.offset|)} is VALID [2020-07-18 05:13:10,031 INFO L280 TraceCheckUtils]: 50: Hoare triple {7522#(<= (+ |old(~guard_malloc_counter~0.offset)| 1) |my_malloc_#res.offset|)} assume true; {7522#(<= (+ |old(~guard_malloc_counter~0.offset)| 1) |my_malloc_#res.offset|)} is VALID [2020-07-18 05:13:10,033 INFO L275 TraceCheckUtils]: 51: Hoare quadruple {7522#(<= (+ |old(~guard_malloc_counter~0.offset)| 1) |my_malloc_#res.offset|)} {7444#(and (= 0 ~elem~0.offset) (<= 1 ~guard_malloc_counter~0.offset))} #96#return; {7462#(and (= 0 ~elem~0.offset) (<= 2 |main_#t~ret33.offset|))} is VALID [2020-07-18 05:13:10,035 INFO L280 TraceCheckUtils]: 52: Hoare triple {7462#(and (= 0 ~elem~0.offset) (<= 2 |main_#t~ret33.offset|))} ~dev2~0.base, ~dev2~0.offset := #t~ret33.base, #t~ret33.offset; {7463#(and (= 0 ~elem~0.offset) (<= 2 main_~dev2~0.offset))} is VALID [2020-07-18 05:13:10,036 INFO L280 TraceCheckUtils]: 53: Hoare triple {7463#(and (= 0 ~elem~0.offset) (<= 2 main_~dev2~0.offset))} havoc #t~ret33.base, #t~ret33.offset; {7463#(and (= 0 ~elem~0.offset) (<= 2 main_~dev2~0.offset))} is VALID [2020-07-18 05:13:10,037 INFO L280 TraceCheckUtils]: 54: Hoare triple {7463#(and (= 0 ~elem~0.offset) (<= 2 main_~dev2~0.offset))} assume (~dev1~0.base != 0 || ~dev1~0.offset != 0) && (~dev2~0.base != 0 || ~dev2~0.offset != 0); {7463#(and (= 0 ~elem~0.offset) (<= 2 main_~dev2~0.offset))} is VALID [2020-07-18 05:13:10,039 INFO L263 TraceCheckUtils]: 55: Hoare triple {7463#(and (= 0 ~elem~0.offset) (<= 2 main_~dev2~0.offset))} call list_add(~dev2~0.base, ~dev2~0.offset, ~#head~0.base, ~#head~0.offset); {7524#(and (= ~elem~0.base |old(~elem~0.base)|) (= ~elem~0.offset |old(~elem~0.offset)|))} is VALID [2020-07-18 05:13:10,040 INFO L280 TraceCheckUtils]: 56: Hoare triple {7524#(and (= ~elem~0.base |old(~elem~0.base)|) (= ~elem~0.offset |old(~elem~0.offset)|))} ~new.base, ~new.offset := #in~new.base, #in~new.offset; {7525#(= |old(~elem~0.offset)| ~elem~0.offset)} is VALID [2020-07-18 05:13:10,041 INFO L280 TraceCheckUtils]: 57: Hoare triple {7525#(= |old(~elem~0.offset)| ~elem~0.offset)} ~head.base, ~head.offset := #in~head.base, #in~head.offset; {7525#(= |old(~elem~0.offset)| ~elem~0.offset)} is VALID [2020-07-18 05:13:10,042 INFO L280 TraceCheckUtils]: 58: Hoare triple {7525#(= |old(~elem~0.offset)| ~elem~0.offset)} assume ~new.base != ~elem~0.base || ~new.offset != ~elem~0.offset; {7525#(= |old(~elem~0.offset)| ~elem~0.offset)} is VALID [2020-07-18 05:13:10,042 INFO L280 TraceCheckUtils]: 59: Hoare triple {7525#(= |old(~elem~0.offset)| ~elem~0.offset)} assume -2147483648 <= #t~nondet31 && #t~nondet31 <= 2147483647; {7525#(= |old(~elem~0.offset)| ~elem~0.offset)} is VALID [2020-07-18 05:13:10,043 INFO L280 TraceCheckUtils]: 60: Hoare triple {7525#(= |old(~elem~0.offset)| ~elem~0.offset)} assume !(0 != #t~nondet31); {7525#(= |old(~elem~0.offset)| ~elem~0.offset)} is VALID [2020-07-18 05:13:10,044 INFO L280 TraceCheckUtils]: 61: Hoare triple {7525#(= |old(~elem~0.offset)| ~elem~0.offset)} havoc #t~nondet31; {7525#(= |old(~elem~0.offset)| ~elem~0.offset)} is VALID [2020-07-18 05:13:10,045 INFO L280 TraceCheckUtils]: 62: Hoare triple {7525#(= |old(~elem~0.offset)| ~elem~0.offset)} assume true; {7525#(= |old(~elem~0.offset)| ~elem~0.offset)} is VALID [2020-07-18 05:13:10,047 INFO L275 TraceCheckUtils]: 63: Hoare quadruple {7525#(= |old(~elem~0.offset)| ~elem~0.offset)} {7463#(and (= 0 ~elem~0.offset) (<= 2 main_~dev2~0.offset))} #98#return; {7463#(and (= 0 ~elem~0.offset) (<= 2 main_~dev2~0.offset))} is VALID [2020-07-18 05:13:10,049 INFO L263 TraceCheckUtils]: 64: Hoare triple {7463#(and (= 0 ~elem~0.offset) (<= 2 main_~dev2~0.offset))} call list_add(~dev1~0.base, ~dev1~0.offset, ~#head~0.base, ~#head~0.offset); {7524#(and (= ~elem~0.base |old(~elem~0.base)|) (= ~elem~0.offset |old(~elem~0.offset)|))} is VALID [2020-07-18 05:13:10,050 INFO L280 TraceCheckUtils]: 65: Hoare triple {7524#(and (= ~elem~0.base |old(~elem~0.base)|) (= ~elem~0.offset |old(~elem~0.offset)|))} ~new.base, ~new.offset := #in~new.base, #in~new.offset; {7525#(= |old(~elem~0.offset)| ~elem~0.offset)} is VALID [2020-07-18 05:13:10,051 INFO L280 TraceCheckUtils]: 66: Hoare triple {7525#(= |old(~elem~0.offset)| ~elem~0.offset)} ~head.base, ~head.offset := #in~head.base, #in~head.offset; {7525#(= |old(~elem~0.offset)| ~elem~0.offset)} is VALID [2020-07-18 05:13:10,052 INFO L280 TraceCheckUtils]: 67: Hoare triple {7525#(= |old(~elem~0.offset)| ~elem~0.offset)} assume ~new.base != ~elem~0.base || ~new.offset != ~elem~0.offset; {7525#(= |old(~elem~0.offset)| ~elem~0.offset)} is VALID [2020-07-18 05:13:10,053 INFO L280 TraceCheckUtils]: 68: Hoare triple {7525#(= |old(~elem~0.offset)| ~elem~0.offset)} assume -2147483648 <= #t~nondet31 && #t~nondet31 <= 2147483647; {7525#(= |old(~elem~0.offset)| ~elem~0.offset)} is VALID [2020-07-18 05:13:10,054 INFO L280 TraceCheckUtils]: 69: Hoare triple {7525#(= |old(~elem~0.offset)| ~elem~0.offset)} assume !(0 != #t~nondet31); {7525#(= |old(~elem~0.offset)| ~elem~0.offset)} is VALID [2020-07-18 05:13:10,055 INFO L280 TraceCheckUtils]: 70: Hoare triple {7525#(= |old(~elem~0.offset)| ~elem~0.offset)} havoc #t~nondet31; {7525#(= |old(~elem~0.offset)| ~elem~0.offset)} is VALID [2020-07-18 05:13:10,056 INFO L280 TraceCheckUtils]: 71: Hoare triple {7525#(= |old(~elem~0.offset)| ~elem~0.offset)} assume true; {7525#(= |old(~elem~0.offset)| ~elem~0.offset)} is VALID [2020-07-18 05:13:10,058 INFO L275 TraceCheckUtils]: 72: Hoare quadruple {7525#(= |old(~elem~0.offset)| ~elem~0.offset)} {7463#(and (= 0 ~elem~0.offset) (<= 2 main_~dev2~0.offset))} #100#return; {7463#(and (= 0 ~elem~0.offset) (<= 2 main_~dev2~0.offset))} is VALID [2020-07-18 05:13:10,059 INFO L263 TraceCheckUtils]: 73: Hoare triple {7463#(and (= 0 ~elem~0.offset) (<= 2 main_~dev2~0.offset))} call list_del(~dev2~0.base, ~dev2~0.offset); {7524#(and (= ~elem~0.base |old(~elem~0.base)|) (= ~elem~0.offset |old(~elem~0.offset)|))} is VALID [2020-07-18 05:13:10,060 INFO L280 TraceCheckUtils]: 74: Hoare triple {7524#(and (= ~elem~0.base |old(~elem~0.base)|) (= ~elem~0.offset |old(~elem~0.offset)|))} ~entry.base, ~entry.offset := #in~entry.base, #in~entry.offset; {7526#(and (= |old(~elem~0.offset)| ~elem~0.offset) (= |list_del_#in~entry.offset| list_del_~entry.offset))} is VALID [2020-07-18 05:13:10,062 INFO L280 TraceCheckUtils]: 75: Hoare triple {7526#(and (= |old(~elem~0.offset)| ~elem~0.offset) (= |list_del_#in~entry.offset| list_del_~entry.offset))} assume ~entry.base == ~elem~0.base && ~entry.offset == ~elem~0.offset; {7527#(= |old(~elem~0.offset)| |list_del_#in~entry.offset|)} is VALID [2020-07-18 05:13:10,062 INFO L280 TraceCheckUtils]: 76: Hoare triple {7527#(= |old(~elem~0.offset)| |list_del_#in~entry.offset|)} ~elem~0.base, ~elem~0.offset := 0, 0; {7527#(= |old(~elem~0.offset)| |list_del_#in~entry.offset|)} is VALID [2020-07-18 05:13:10,063 INFO L280 TraceCheckUtils]: 77: Hoare triple {7527#(= |old(~elem~0.offset)| |list_del_#in~entry.offset|)} assume true; {7527#(= |old(~elem~0.offset)| |list_del_#in~entry.offset|)} is VALID [2020-07-18 05:13:10,065 INFO L275 TraceCheckUtils]: 78: Hoare quadruple {7527#(= |old(~elem~0.offset)| |list_del_#in~entry.offset|)} {7463#(and (= 0 ~elem~0.offset) (<= 2 main_~dev2~0.offset))} #102#return; {7415#false} is VALID [2020-07-18 05:13:10,065 INFO L263 TraceCheckUtils]: 79: Hoare triple {7415#false} call list_add(~dev2~0.base, ~dev2~0.offset, ~#head~0.base, ~#head~0.offset); {7524#(and (= ~elem~0.base |old(~elem~0.base)|) (= ~elem~0.offset |old(~elem~0.offset)|))} is VALID [2020-07-18 05:13:10,065 INFO L280 TraceCheckUtils]: 80: Hoare triple {7524#(and (= ~elem~0.base |old(~elem~0.base)|) (= ~elem~0.offset |old(~elem~0.offset)|))} ~new.base, ~new.offset := #in~new.base, #in~new.offset; {7414#true} is VALID [2020-07-18 05:13:10,066 INFO L280 TraceCheckUtils]: 81: Hoare triple {7414#true} ~head.base, ~head.offset := #in~head.base, #in~head.offset; {7414#true} is VALID [2020-07-18 05:13:10,066 INFO L280 TraceCheckUtils]: 82: Hoare triple {7414#true} assume ~new.base != ~elem~0.base || ~new.offset != ~elem~0.offset; {7414#true} is VALID [2020-07-18 05:13:10,066 INFO L280 TraceCheckUtils]: 83: Hoare triple {7414#true} assume -2147483648 <= #t~nondet31 && #t~nondet31 <= 2147483647; {7414#true} is VALID [2020-07-18 05:13:10,067 INFO L280 TraceCheckUtils]: 84: Hoare triple {7414#true} assume !(0 != #t~nondet31); {7414#true} is VALID [2020-07-18 05:13:10,067 INFO L280 TraceCheckUtils]: 85: Hoare triple {7414#true} havoc #t~nondet31; {7414#true} is VALID [2020-07-18 05:13:10,067 INFO L280 TraceCheckUtils]: 86: Hoare triple {7414#true} assume true; {7414#true} is VALID [2020-07-18 05:13:10,067 INFO L275 TraceCheckUtils]: 87: Hoare quadruple {7414#true} {7415#false} #104#return; {7415#false} is VALID [2020-07-18 05:13:10,068 INFO L263 TraceCheckUtils]: 88: Hoare triple {7415#false} call list_add(~dev1~0.base, ~dev1~0.offset, ~#head~0.base, ~#head~0.offset); {7415#false} is VALID [2020-07-18 05:13:10,068 INFO L280 TraceCheckUtils]: 89: Hoare triple {7415#false} ~new.base, ~new.offset := #in~new.base, #in~new.offset; {7415#false} is VALID [2020-07-18 05:13:10,068 INFO L280 TraceCheckUtils]: 90: Hoare triple {7415#false} ~head.base, ~head.offset := #in~head.base, #in~head.offset; {7415#false} is VALID [2020-07-18 05:13:10,069 INFO L280 TraceCheckUtils]: 91: Hoare triple {7415#false} assume !(~new.base != ~elem~0.base || ~new.offset != ~elem~0.offset); {7415#false} is VALID [2020-07-18 05:13:10,069 INFO L263 TraceCheckUtils]: 92: Hoare triple {7415#false} call __blast_assert(); {7415#false} is VALID [2020-07-18 05:13:10,069 INFO L280 TraceCheckUtils]: 93: Hoare triple {7415#false} assume !false; {7415#false} is VALID [2020-07-18 05:13:10,094 INFO L134 CoverageAnalysis]: Checked inductivity of 50 backedges. 9 proven. 20 refuted. 0 times theorem prover too weak. 21 trivial. 0 not checked. [2020-07-18 05:13:10,094 INFO L354 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModulePreferences [424201844] [2020-07-18 05:13:10,094 INFO L220 FreeRefinementEngine]: Constructing automaton from 0 perfect and 1 imperfect interpolant sequences. [2020-07-18 05:13:10,095 INFO L233 FreeRefinementEngine]: Number of different interpolants: perfect sequences [] imperfect sequences [19] total 19 [2020-07-18 05:13:10,095 INFO L156 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [361988679] [2020-07-18 05:13:10,096 INFO L78 Accepts]: Start accepts. Automaton has 19 states. Word has length 94 [2020-07-18 05:13:10,096 INFO L84 Accepts]: Finished accepts. word is accepted. [2020-07-18 05:13:10,096 INFO L86 InductivityCheck]: Starting indutivity check of a Floyd-Hoare automaton with 19 states. [2020-07-18 05:13:10,216 INFO L119 InductivityCheck]: Floyd-Hoare automaton has 77 edges. 77 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2020-07-18 05:13:10,217 INFO L459 AbstractCegarLoop]: Interpolant automaton has 19 states [2020-07-18 05:13:10,217 INFO L143 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy FIXED_PREFERENCES [2020-07-18 05:13:10,217 INFO L142 InterpolantAutomaton]: Constructing interpolant automaton starting with 19 interpolants. [2020-07-18 05:13:10,217 INFO L144 InterpolantAutomaton]: CoverageRelationStatistics Valid=43, Invalid=299, Unknown=0, NotChecked=0, Total=342 [2020-07-18 05:13:10,218 INFO L87 Difference]: Start difference. First operand 110 states and 118 transitions. Second operand 19 states. [2020-07-18 05:13:14,979 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2020-07-18 05:13:14,980 INFO L93 Difference]: Finished difference Result 137 states and 144 transitions. [2020-07-18 05:13:14,980 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 27 states. [2020-07-18 05:13:14,980 INFO L78 Accepts]: Start accepts. Automaton has 19 states. Word has length 94 [2020-07-18 05:13:14,980 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2020-07-18 05:13:14,981 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 19 states. [2020-07-18 05:13:14,983 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 27 states to 27 states and 113 transitions. [2020-07-18 05:13:14,983 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 19 states. [2020-07-18 05:13:14,985 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 27 states to 27 states and 113 transitions. [2020-07-18 05:13:14,985 INFO L86 InductivityCheck]: Starting indutivity check of a Floyd-Hoare automaton with 27 states and 113 transitions. [2020-07-18 05:13:15,201 INFO L119 InductivityCheck]: Floyd-Hoare automaton has 113 edges. 113 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2020-07-18 05:13:15,205 INFO L225 Difference]: With dead ends: 137 [2020-07-18 05:13:15,205 INFO L226 Difference]: Without dead ends: 108 [2020-07-18 05:13:15,206 INFO L675 BasicCegarLoop]: 0 DeclaredPredicates, 59 GetRequests, 21 SyntacticMatches, 0 SemanticMatches, 38 ConstructedPredicates, 0 IntricatePredicates, 0 DeprecatedPredicates, 219 ImplicationChecksByTransitivity, 1.3s TimeCoverageRelationStatistics Valid=239, Invalid=1321, Unknown=0, NotChecked=0, Total=1560 [2020-07-18 05:13:15,207 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 108 states. [2020-07-18 05:13:15,712 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 108 to 100. [2020-07-18 05:13:15,712 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2020-07-18 05:13:15,712 INFO L82 GeneralOperation]: Start isEquivalent. First operand 108 states. Second operand 100 states. [2020-07-18 05:13:15,712 INFO L74 IsIncluded]: Start isIncluded. First operand 108 states. Second operand 100 states. [2020-07-18 05:13:15,712 INFO L87 Difference]: Start difference. First operand 108 states. Second operand 100 states. [2020-07-18 05:13:15,716 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2020-07-18 05:13:15,716 INFO L93 Difference]: Finished difference Result 108 states and 115 transitions. [2020-07-18 05:13:15,716 INFO L276 IsEmpty]: Start isEmpty. Operand 108 states and 115 transitions. [2020-07-18 05:13:15,716 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2020-07-18 05:13:15,716 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2020-07-18 05:13:15,716 INFO L74 IsIncluded]: Start isIncluded. First operand 100 states. Second operand 108 states. [2020-07-18 05:13:15,717 INFO L87 Difference]: Start difference. First operand 100 states. Second operand 108 states. [2020-07-18 05:13:15,719 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2020-07-18 05:13:15,719 INFO L93 Difference]: Finished difference Result 108 states and 115 transitions. [2020-07-18 05:13:15,720 INFO L276 IsEmpty]: Start isEmpty. Operand 108 states and 115 transitions. [2020-07-18 05:13:15,720 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2020-07-18 05:13:15,720 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2020-07-18 05:13:15,720 INFO L88 GeneralOperation]: Finished isEquivalent. [2020-07-18 05:13:15,721 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2020-07-18 05:13:15,721 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 100 states. [2020-07-18 05:13:15,723 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 100 states to 100 states and 106 transitions. [2020-07-18 05:13:15,723 INFO L78 Accepts]: Start accepts. Automaton has 100 states and 106 transitions. Word has length 94 [2020-07-18 05:13:15,724 INFO L84 Accepts]: Finished accepts. word is rejected. [2020-07-18 05:13:15,724 INFO L479 AbstractCegarLoop]: Abstraction has 100 states and 106 transitions. [2020-07-18 05:13:15,724 INFO L480 AbstractCegarLoop]: Interpolant automaton has 19 states. [2020-07-18 05:13:15,724 INFO L86 InductivityCheck]: Starting indutivity check of a Floyd-Hoare automaton with 100 states and 106 transitions. [2020-07-18 05:13:15,989 INFO L119 InductivityCheck]: Floyd-Hoare automaton has 106 edges. 106 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2020-07-18 05:13:15,990 INFO L276 IsEmpty]: Start isEmpty. Operand 100 states and 106 transitions. [2020-07-18 05:13:15,991 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 95 [2020-07-18 05:13:15,991 INFO L414 BasicCegarLoop]: Found error trace [2020-07-18 05:13:15,991 INFO L422 BasicCegarLoop]: trace histogram [4, 4, 3, 3, 3, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1] [2020-07-18 05:13:15,991 WARN L516 AbstractCegarLoop]: Destroyed unattended storables created during the last iteration: SelfDestructingSolverStorable10 [2020-07-18 05:13:15,991 INFO L427 AbstractCegarLoop]: === Iteration 12 === [__blast_assertErr0ASSERT_VIOLATIONERROR_FUNCTION]=== [2020-07-18 05:13:15,991 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2020-07-18 05:13:15,992 INFO L82 PathProgramCache]: Analyzing trace with hash -416868516, now seen corresponding path program 1 times [2020-07-18 05:13:15,992 INFO L163 FreeRefinementEngine]: Executing refinement strategy FIXED_PREFERENCES [2020-07-18 05:13:15,992 INFO L354 FreeRefinementEngine]: Using trace check IpTcStrategyModulePreferences [395815658] [2020-07-18 05:13:15,992 INFO L94 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2020-07-18 05:13:16,033 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is sat [2020-07-18 05:13:16,057 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is sat [2020-07-18 05:13:16,104 INFO L174 FreeRefinementEngine]: Strategy FIXED_PREFERENCES found a feasible trace [2020-07-18 05:13:16,104 INFO L520 BasicCegarLoop]: Counterexample might be feasible [2020-07-18 05:13:16,104 WARN L516 AbstractCegarLoop]: Destroyed unattended storables created during the last iteration: SelfDestructingSolverStorable11 [2020-07-18 05:13:16,157 WARN L1295 BoogieBacktranslator]: Unfinished Backtranslation: IntegerLiteral 16 could not be translated for associated CType STRUCT~~list_head?prev~*list_head?next~*list_head# [2020-07-18 05:13:16,158 WARN L1295 BoogieBacktranslator]: Unfinished Backtranslation: IntegerLiteral 13 could not be translated for associated CType STRUCT~~list_head?prev~*list_head?next~*list_head# [2020-07-18 05:13:16,159 WARN L1295 BoogieBacktranslator]: Unfinished Backtranslation: IntegerLiteral 16 could not be translated for associated CType STRUCT~~list_head?prev~*list_head?next~*list_head# [2020-07-18 05:13:16,159 WARN L1295 BoogieBacktranslator]: Unfinished Backtranslation: IntegerLiteral 13 could not be translated for associated CType STRUCT~~list_head?prev~*list_head?next~*list_head# [2020-07-18 05:13:16,160 WARN L1295 BoogieBacktranslator]: Unfinished Backtranslation: IntegerLiteral 13 could not be translated for associated CType STRUCT~~list_head?prev~*list_head?next~*list_head# [2020-07-18 05:13:16,160 WARN L1295 BoogieBacktranslator]: Unfinished Backtranslation: IntegerLiteral 16 could not be translated for associated CType STRUCT~~list_head?prev~*list_head?next~*list_head# [2020-07-18 05:13:16,201 WARN L170 areAnnotationChecker]: my_mallocENTRY has no Hoare annotation [2020-07-18 05:13:16,201 WARN L170 areAnnotationChecker]: ULTIMATE.initENTRY has no Hoare annotation [2020-07-18 05:13:16,201 WARN L170 areAnnotationChecker]: list_delENTRY has no Hoare annotation [2020-07-18 05:13:16,202 WARN L170 areAnnotationChecker]: ULTIMATE.startENTRY has no Hoare annotation [2020-07-18 05:13:16,202 WARN L170 areAnnotationChecker]: ULTIMATE.startENTRY has no Hoare annotation [2020-07-18 05:13:16,202 WARN L170 areAnnotationChecker]: __blast_assertENTRY has no Hoare annotation [2020-07-18 05:13:16,202 WARN L170 areAnnotationChecker]: __blast_assertENTRY has no Hoare annotation [2020-07-18 05:13:16,202 WARN L170 areAnnotationChecker]: list_addENTRY has no Hoare annotation [2020-07-18 05:13:16,202 WARN L170 areAnnotationChecker]: mainENTRY has no Hoare annotation [2020-07-18 05:13:16,203 WARN L170 areAnnotationChecker]: __getMemoryENTRY has no Hoare annotation [2020-07-18 05:13:16,203 WARN L170 areAnnotationChecker]: L879 has no Hoare annotation [2020-07-18 05:13:16,203 WARN L170 areAnnotationChecker]: L879 has no Hoare annotation [2020-07-18 05:13:16,203 WARN L170 areAnnotationChecker]: L-1 has no Hoare annotation [2020-07-18 05:13:16,203 WARN L170 areAnnotationChecker]: L896 has no Hoare annotation [2020-07-18 05:13:16,203 WARN L170 areAnnotationChecker]: L896 has no Hoare annotation [2020-07-18 05:13:16,204 WARN L170 areAnnotationChecker]: L-1 has no Hoare annotation [2020-07-18 05:13:16,204 WARN L170 areAnnotationChecker]: L-1 has no Hoare annotation [2020-07-18 05:13:16,204 WARN L170 areAnnotationChecker]: __blast_assertFINAL has no Hoare annotation [2020-07-18 05:13:16,204 WARN L170 areAnnotationChecker]: L889 has no Hoare annotation [2020-07-18 05:13:16,204 WARN L170 areAnnotationChecker]: L903 has no Hoare annotation [2020-07-18 05:13:16,204 WARN L170 areAnnotationChecker]: L871 has no Hoare annotation [2020-07-18 05:13:16,205 WARN L170 areAnnotationChecker]: L871 has no Hoare annotation [2020-07-18 05:13:16,205 WARN L170 areAnnotationChecker]: L879-1 has no Hoare annotation [2020-07-18 05:13:16,205 WARN L170 areAnnotationChecker]: L-1-1 has no Hoare annotation [2020-07-18 05:13:16,205 WARN L170 areAnnotationChecker]: L897 has no Hoare annotation [2020-07-18 05:13:16,205 WARN L170 areAnnotationChecker]: L896-2 has no Hoare annotation [2020-07-18 05:13:16,205 WARN L170 areAnnotationChecker]: ULTIMATE.startFINAL has no Hoare annotation [2020-07-18 05:13:16,206 WARN L170 areAnnotationChecker]: __blast_assertEXIT has no Hoare annotation [2020-07-18 05:13:16,206 WARN L170 areAnnotationChecker]: __blast_assertEXIT has no Hoare annotation [2020-07-18 05:13:16,206 WARN L170 areAnnotationChecker]: L890 has no Hoare annotation [2020-07-18 05:13:16,206 WARN L170 areAnnotationChecker]: L890 has no Hoare annotation [2020-07-18 05:13:16,206 WARN L170 areAnnotationChecker]: L904 has no Hoare annotation [2020-07-18 05:13:16,206 WARN L170 areAnnotationChecker]: L904 has no Hoare annotation [2020-07-18 05:13:16,206 WARN L170 areAnnotationChecker]: L871-3 has no Hoare annotation [2020-07-18 05:13:16,207 WARN L170 areAnnotationChecker]: L871-2 has no Hoare annotation [2020-07-18 05:13:16,207 WARN L170 areAnnotationChecker]: L871-2 has no Hoare annotation [2020-07-18 05:13:16,207 WARN L170 areAnnotationChecker]: L879-2 has no Hoare annotation [2020-07-18 05:13:16,207 WARN L170 areAnnotationChecker]: L867 has no Hoare annotation [2020-07-18 05:13:16,207 WARN L170 areAnnotationChecker]: list_delEXIT has no Hoare annotation [2020-07-18 05:13:16,207 WARN L170 areAnnotationChecker]: L890-3 has no Hoare annotation [2020-07-18 05:13:16,207 WARN L170 areAnnotationChecker]: L890-2 has no Hoare annotation [2020-07-18 05:13:16,208 WARN L170 areAnnotationChecker]: L890-2 has no Hoare annotation [2020-07-18 05:13:16,208 WARN L170 areAnnotationChecker]: L904-1 has no Hoare annotation [2020-07-18 05:13:16,208 WARN L170 areAnnotationChecker]: L872 has no Hoare annotation [2020-07-18 05:13:16,208 WARN L170 areAnnotationChecker]: my_mallocFINAL has no Hoare annotation [2020-07-18 05:13:16,208 WARN L170 areAnnotationChecker]: L887 has no Hoare annotation [2020-07-18 05:13:16,208 WARN L170 areAnnotationChecker]: L909 has no Hoare annotation [2020-07-18 05:13:16,209 WARN L170 areAnnotationChecker]: L909 has no Hoare annotation [2020-07-18 05:13:16,209 WARN L170 areAnnotationChecker]: L891 has no Hoare annotation [2020-07-18 05:13:16,209 WARN L170 areAnnotationChecker]: L891 has no Hoare annotation [2020-07-18 05:13:16,209 WARN L170 areAnnotationChecker]: L904-2 has no Hoare annotation [2020-07-18 05:13:16,209 WARN L170 areAnnotationChecker]: L872-1 has no Hoare annotation [2020-07-18 05:13:16,209 WARN L170 areAnnotationChecker]: my_mallocEXIT has no Hoare annotation [2020-07-18 05:13:16,210 WARN L170 areAnnotationChecker]: my_mallocEXIT has no Hoare annotation [2020-07-18 05:13:16,210 WARN L170 areAnnotationChecker]: L900 has no Hoare annotation [2020-07-18 05:13:16,210 WARN L170 areAnnotationChecker]: L910 has no Hoare annotation [2020-07-18 05:13:16,210 WARN L170 areAnnotationChecker]: L910 has no Hoare annotation [2020-07-18 05:13:16,210 WARN L170 areAnnotationChecker]: L891-1 has no Hoare annotation [2020-07-18 05:13:16,210 WARN L170 areAnnotationChecker]: L891-3 has no Hoare annotation [2020-07-18 05:13:16,211 WARN L170 areAnnotationChecker]: L905 has no Hoare annotation [2020-07-18 05:13:16,211 WARN L170 areAnnotationChecker]: L905 has no Hoare annotation [2020-07-18 05:13:16,211 WARN L170 areAnnotationChecker]: L873 has no Hoare annotation [2020-07-18 05:13:16,211 WARN L170 areAnnotationChecker]: L905-1 has no Hoare annotation [2020-07-18 05:13:16,211 WARN L170 areAnnotationChecker]: L900-1 has no Hoare annotation [2020-07-18 05:13:16,211 WARN L170 areAnnotationChecker]: L906-1 has no Hoare annotation [2020-07-18 05:13:16,212 WARN L170 areAnnotationChecker]: L892 has no Hoare annotation [2020-07-18 05:13:16,212 WARN L170 areAnnotationChecker]: L891-4 has no Hoare annotation [2020-07-18 05:13:16,212 WARN L170 areAnnotationChecker]: L873-1 has no Hoare annotation [2020-07-18 05:13:16,212 WARN L170 areAnnotationChecker]: L873-1 has no Hoare annotation [2020-07-18 05:13:16,212 WARN L170 areAnnotationChecker]: L905-2 has no Hoare annotation [2020-07-18 05:13:16,212 WARN L170 areAnnotationChecker]: L900-2 has no Hoare annotation [2020-07-18 05:13:16,213 WARN L170 areAnnotationChecker]: mainFINAL has no Hoare annotation [2020-07-18 05:13:16,213 WARN L170 areAnnotationChecker]: list_addEXIT has no Hoare annotation [2020-07-18 05:13:16,213 WARN L170 areAnnotationChecker]: list_addEXIT has no Hoare annotation [2020-07-18 05:13:16,213 WARN L170 areAnnotationChecker]: list_addEXIT has no Hoare annotation [2020-07-18 05:13:16,213 WARN L170 areAnnotationChecker]: list_addEXIT has no Hoare annotation [2020-07-18 05:13:16,213 WARN L170 areAnnotationChecker]: L873-2 has no Hoare annotation [2020-07-18 05:13:16,214 WARN L170 areAnnotationChecker]: L873-3 has no Hoare annotation [2020-07-18 05:13:16,214 WARN L170 areAnnotationChecker]: L906 has no Hoare annotation [2020-07-18 05:13:16,214 WARN L170 areAnnotationChecker]: L906 has no Hoare annotation [2020-07-18 05:13:16,214 WARN L170 areAnnotationChecker]: ULTIMATE.initFINAL has no Hoare annotation [2020-07-18 05:13:16,214 WARN L170 areAnnotationChecker]: mainEXIT has no Hoare annotation [2020-07-18 05:13:16,214 WARN L170 areAnnotationChecker]: L907-1 has no Hoare annotation [2020-07-18 05:13:16,215 WARN L170 areAnnotationChecker]: L907-1 has no Hoare annotation [2020-07-18 05:13:16,215 WARN L170 areAnnotationChecker]: L908 has no Hoare annotation [2020-07-18 05:13:16,215 WARN L170 areAnnotationChecker]: L908 has no Hoare annotation [2020-07-18 05:13:16,215 WARN L170 areAnnotationChecker]: L874 has no Hoare annotation [2020-07-18 05:13:16,215 WARN L170 areAnnotationChecker]: L875 has no Hoare annotation [2020-07-18 05:13:16,215 WARN L170 areAnnotationChecker]: L907 has no Hoare annotation [2020-07-18 05:13:16,216 WARN L170 areAnnotationChecker]: L907 has no Hoare annotation [2020-07-18 05:13:16,216 WARN L170 areAnnotationChecker]: ULTIMATE.initEXIT has no Hoare annotation [2020-07-18 05:13:16,216 WARN L170 areAnnotationChecker]: __getMemoryFINAL has no Hoare annotation [2020-07-18 05:13:16,216 WARN L170 areAnnotationChecker]: __getMemoryEXIT has no Hoare annotation [2020-07-18 05:13:16,216 INFO L163 areAnnotationChecker]: CFG has 0 edges. 0 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. 0 times interpolants missing. [2020-07-18 05:13:16,220 INFO L202 PluginConnector]: Adding new model de.uni_freiburg.informatik.ultimate.plugins.generator.traceabstraction CFG 18.07 05:13:16 BoogieIcfgContainer [2020-07-18 05:13:16,220 INFO L132 PluginConnector]: ------------------------ END TraceAbstraction---------------------------- [2020-07-18 05:13:16,223 INFO L168 Benchmark]: Toolchain (without parser) took 63088.64 ms. Allocated memory was 136.3 MB in the beginning and 617.6 MB in the end (delta: 481.3 MB). Free memory was 100.8 MB in the beginning and 291.0 MB in the end (delta: -190.3 MB). Peak memory consumption was 291.0 MB. Max. memory is 7.1 GB. [2020-07-18 05:13:16,224 INFO L168 Benchmark]: CDTParser took 0.22 ms. Allocated memory is still 136.3 MB. Free memory was 119.8 MB in the beginning and 119.5 MB in the end (delta: 210.0 kB). Peak memory consumption was 210.0 kB. Max. memory is 7.1 GB. [2020-07-18 05:13:16,225 INFO L168 Benchmark]: CACSL2BoogieTranslator took 711.68 ms. Allocated memory was 136.3 MB in the beginning and 201.3 MB in the end (delta: 65.0 MB). Free memory was 100.4 MB in the beginning and 165.4 MB in the end (delta: -65.0 MB). Peak memory consumption was 27.1 MB. Max. memory is 7.1 GB. [2020-07-18 05:13:16,225 INFO L168 Benchmark]: Boogie Preprocessor took 97.30 ms. Allocated memory is still 201.3 MB. Free memory was 165.4 MB in the beginning and 161.8 MB in the end (delta: 3.5 MB). Peak memory consumption was 3.5 MB. Max. memory is 7.1 GB. [2020-07-18 05:13:16,226 INFO L168 Benchmark]: RCFGBuilder took 767.20 ms. Allocated memory is still 201.3 MB. Free memory was 161.8 MB in the beginning and 103.1 MB in the end (delta: 58.7 MB). Peak memory consumption was 58.7 MB. Max. memory is 7.1 GB. [2020-07-18 05:13:16,226 INFO L168 Benchmark]: TraceAbstraction took 61502.06 ms. Allocated memory was 201.3 MB in the beginning and 617.6 MB in the end (delta: 416.3 MB). Free memory was 103.1 MB in the beginning and 291.0 MB in the end (delta: -187.9 MB). Peak memory consumption was 228.4 MB. Max. memory is 7.1 GB. [2020-07-18 05:13:16,229 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 136.3 MB. Free memory was 119.8 MB in the beginning and 119.5 MB in the end (delta: 210.0 kB). Peak memory consumption was 210.0 kB. Max. memory is 7.1 GB. * CACSL2BoogieTranslator took 711.68 ms. Allocated memory was 136.3 MB in the beginning and 201.3 MB in the end (delta: 65.0 MB). Free memory was 100.4 MB in the beginning and 165.4 MB in the end (delta: -65.0 MB). Peak memory consumption was 27.1 MB. Max. memory is 7.1 GB. * Boogie Preprocessor took 97.30 ms. Allocated memory is still 201.3 MB. Free memory was 165.4 MB in the beginning and 161.8 MB in the end (delta: 3.5 MB). Peak memory consumption was 3.5 MB. Max. memory is 7.1 GB. * RCFGBuilder took 767.20 ms. Allocated memory is still 201.3 MB. Free memory was 161.8 MB in the beginning and 103.1 MB in the end (delta: 58.7 MB). Peak memory consumption was 58.7 MB. Max. memory is 7.1 GB. * TraceAbstraction took 61502.06 ms. Allocated memory was 201.3 MB in the beginning and 617.6 MB in the end (delta: 416.3 MB). Free memory was 103.1 MB in the beginning and 291.0 MB in the end (delta: -187.9 MB). Peak memory consumption was 228.4 MB. Max. memory is 7.1 GB. * Results from de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator: - GenericResult: Unfinished Backtranslation Unfinished Backtranslation: IntegerLiteral 16 could not be translated for associated CType STRUCT~~list_head?prev~*list_head?next~*list_head# - GenericResult: Unfinished Backtranslation Unfinished Backtranslation: IntegerLiteral 13 could not be translated for associated CType STRUCT~~list_head?prev~*list_head?next~*list_head# - GenericResult: Unfinished Backtranslation Unfinished Backtranslation: IntegerLiteral 16 could not be translated for associated CType STRUCT~~list_head?prev~*list_head?next~*list_head# - GenericResult: Unfinished Backtranslation Unfinished Backtranslation: IntegerLiteral 13 could not be translated for associated CType STRUCT~~list_head?prev~*list_head?next~*list_head# - GenericResult: Unfinished Backtranslation Unfinished Backtranslation: IntegerLiteral 13 could not be translated for associated CType STRUCT~~list_head?prev~*list_head?next~*list_head# - GenericResult: Unfinished Backtranslation Unfinished Backtranslation: IntegerLiteral 16 could not be translated for associated CType STRUCT~~list_head?prev~*list_head?next~*list_head# * Results from de.uni_freiburg.informatik.ultimate.plugins.generator.traceabstraction: - CounterExampleResult [Line: 6]: a call of __VERIFIER_error() is reachable a call of __VERIFIER_error() is reachable We found a FailurePath: [L867] void * guard_malloc_counter = 0; VAL [\old(elem)=9, \old(elem)=14, \old(guard_malloc_counter)=12, \old(guard_malloc_counter)=11, \old(head)=null, \old(head)=null, elem={14:9}, guard_malloc_counter={0:0}, head={16:13}] [L887] struct list_head *elem = ((void *)0); VAL [\old(elem)=9, \old(elem)=14, \old(guard_malloc_counter)=11, \old(guard_malloc_counter)=12, \old(head)=null, \old(head)=null, elem={0:0}, guard_malloc_counter={0:0}, head={16:13}] [L900] static struct list_head head; VAL [\old(elem)=9, \old(elem)=14, \old(guard_malloc_counter)=12, \old(guard_malloc_counter)=11, \old(head)=null, \old(head)=null, elem={0:0}, guard_malloc_counter={0:0}, head={3:0}] [L903] struct list_head *dev1, *dev2; VAL [\old(elem)=0, \old(elem)=0, \old(guard_malloc_counter)=0, \old(guard_malloc_counter)=0, elem={0:0}, guard_malloc_counter={0:0}, head={3:0}] [L904] CALL, EXPR my_malloc(sizeof(*dev1)) VAL [\old(elem)=0, \old(elem)=0, \old(guard_malloc_counter)=0, \old(guard_malloc_counter)=0, \old(size)=8, elem={0:0}, guard_malloc_counter={0:0}, head={3:0}] [L879] CALL, EXPR __getMemory(size) VAL [\old(elem)=0, \old(elem)=0, \old(guard_malloc_counter)=0, \old(guard_malloc_counter)=0, \old(size)=8, elem={0:0}, guard_malloc_counter={0:0}, head={3:0}] [L871] (size > 0) ? (0) : __blast_assert () VAL [\old(elem)=0, \old(elem)=0, \old(guard_malloc_counter)=0, \old(guard_malloc_counter)=0, \old(size)=8, elem={0:0}, guard_malloc_counter={0:0}, head={3:0}, size=8] [L872] guard_malloc_counter++ VAL [\old(elem)=0, \old(elem)=0, \old(guard_malloc_counter)=0, \old(guard_malloc_counter)=0, \old(size)=8, elem={0:0}, guard_malloc_counter={0:1}, head={3:0}, size=8] [L873] COND FALSE !(!__VERIFIER_nondet_int()) VAL [\old(elem)=0, \old(elem)=0, \old(guard_malloc_counter)=0, \old(guard_malloc_counter)=0, \old(size)=8, __VERIFIER_nondet_int()=1, elem={0:0}, guard_malloc_counter={0:1}, head={3:0}, size=8] [L875] return (void *) guard_malloc_counter; VAL [\old(elem)=0, \old(elem)=0, \old(guard_malloc_counter)=0, \old(guard_malloc_counter)=0, \old(size)=8, \result={0:1}, elem={0:0}, guard_malloc_counter={0:1}, head={3:0}, size=8] [L879] RET, EXPR __getMemory(size) VAL [\old(elem)=0, \old(elem)=0, \old(guard_malloc_counter)=0, \old(guard_malloc_counter)=0, \old(size)=8, __getMemory(size)={0:1}, elem={0:0}, guard_malloc_counter={0:1}, head={3:0}, size=8] [L879] return __getMemory(size); VAL [\old(elem)=0, \old(elem)=0, \old(guard_malloc_counter)=0, \old(guard_malloc_counter)=0, \old(size)=8, \result={0:1}, __getMemory(size)={0:1}, elem={0:0}, guard_malloc_counter={0:1}, head={3:0}, size=8] [L904] RET, EXPR my_malloc(sizeof(*dev1)) VAL [\old(elem)=0, \old(elem)=0, \old(guard_malloc_counter)=0, \old(guard_malloc_counter)=0, elem={0:0}, guard_malloc_counter={0:1}, head={3:0}, my_malloc(sizeof(*dev1))={0:1}] [L904] dev1 = my_malloc(sizeof(*dev1)) VAL [\old(elem)=0, \old(elem)=0, \old(guard_malloc_counter)=0, \old(guard_malloc_counter)=0, dev1={0:1}, elem={0:0}, guard_malloc_counter={0:1}, head={3:0}, my_malloc(sizeof(*dev1))={0:1}] [L905] CALL, EXPR my_malloc(sizeof(*dev2)) VAL [\old(elem)=0, \old(elem)=0, \old(guard_malloc_counter)=0, \old(guard_malloc_counter)=1, \old(size)=8, elem={0:0}, guard_malloc_counter={0:1}, head={3:0}] [L879] CALL, EXPR __getMemory(size) VAL [\old(elem)=0, \old(elem)=0, \old(guard_malloc_counter)=1, \old(guard_malloc_counter)=0, \old(size)=8, elem={0:0}, guard_malloc_counter={0:1}, head={3:0}] [L871] (size > 0) ? (0) : __blast_assert () VAL [\old(elem)=0, \old(elem)=0, \old(guard_malloc_counter)=1, \old(guard_malloc_counter)=0, \old(size)=8, elem={0:0}, guard_malloc_counter={0:1}, head={3:0}, size=8] [L872] guard_malloc_counter++ VAL [\old(elem)=0, \old(elem)=0, \old(guard_malloc_counter)=1, \old(guard_malloc_counter)=0, \old(size)=8, elem={0:0}, guard_malloc_counter={0:2}, head={3:0}, size=8] [L873] COND FALSE !(!__VERIFIER_nondet_int()) VAL [\old(elem)=0, \old(elem)=0, \old(guard_malloc_counter)=1, \old(guard_malloc_counter)=0, \old(size)=8, __VERIFIER_nondet_int()=1, elem={0:0}, guard_malloc_counter={0:2}, head={3:0}, size=8] [L875] return (void *) guard_malloc_counter; VAL [\old(elem)=0, \old(elem)=0, \old(guard_malloc_counter)=0, \old(guard_malloc_counter)=1, \old(size)=8, \result={0:2}, elem={0:0}, guard_malloc_counter={0:2}, head={3:0}, size=8] [L879] RET, EXPR __getMemory(size) VAL [\old(elem)=0, \old(elem)=0, \old(guard_malloc_counter)=1, \old(guard_malloc_counter)=0, \old(size)=8, __getMemory(size)={0:2}, elem={0:0}, guard_malloc_counter={0:2}, head={3:0}, size=8] [L879] return __getMemory(size); VAL [\old(elem)=0, \old(elem)=0, \old(guard_malloc_counter)=0, \old(guard_malloc_counter)=1, \old(size)=8, \result={0:2}, __getMemory(size)={0:2}, elem={0:0}, guard_malloc_counter={0:2}, head={3:0}, size=8] [L905] RET, EXPR my_malloc(sizeof(*dev2)) VAL [\old(elem)=0, \old(elem)=0, \old(guard_malloc_counter)=0, \old(guard_malloc_counter)=0, dev1={0:1}, elem={0:0}, guard_malloc_counter={0:2}, head={3:0}, my_malloc(sizeof(*dev2))={0:2}] [L905] dev2 = my_malloc(sizeof(*dev2)) VAL [\old(elem)=0, \old(elem)=0, \old(guard_malloc_counter)=0, \old(guard_malloc_counter)=0, dev1={0:1}, dev2={0:2}, elem={0:0}, guard_malloc_counter={0:2}, head={3:0}, my_malloc(sizeof(*dev2))={0:2}] [L906] COND TRUE dev1!=((void *)0) && dev2!=((void *)0) VAL [\old(elem)=0, \old(elem)=0, \old(guard_malloc_counter)=0, \old(guard_malloc_counter)=0, dev1={0:1}, dev2={0:2}, elem={0:0}, guard_malloc_counter={0:2}, head={3:0}] [L907] CALL list_add(dev2, &head) VAL [\old(elem)=0, \old(elem)=0, \old(guard_malloc_counter)=0, \old(guard_malloc_counter)=0, elem={0:0}, guard_malloc_counter={0:2}, head={3:0}, head={3:0}, new={0:2}] [L890] (new!=elem) ? (0) : __blast_assert () VAL [\old(elem)=0, \old(elem)=0, \old(guard_malloc_counter)=0, \old(guard_malloc_counter)=0, elem={0:0}, guard_malloc_counter={0:2}, head={3:0}, head={3:0}, head={3:0}, new={0:2}, new={0:2}] [L891] COND FALSE !(__VERIFIER_nondet_int()) VAL [\old(elem)=0, \old(elem)=0, \old(guard_malloc_counter)=0, \old(guard_malloc_counter)=0, __VERIFIER_nondet_int()=0, elem={0:0}, guard_malloc_counter={0:2}, head={3:0}, head={3:0}, head={3:0}, new={0:2}, new={0:2}] [L907] RET list_add(dev2, &head) VAL [\old(elem)=0, \old(elem)=0, \old(guard_malloc_counter)=0, \old(guard_malloc_counter)=0, dev1={0:1}, dev2={0:2}, elem={0:0}, guard_malloc_counter={0:2}, head={3:0}] [L908] CALL list_add(dev1, &head) VAL [\old(elem)=0, \old(elem)=0, \old(guard_malloc_counter)=0, \old(guard_malloc_counter)=0, elem={0:0}, guard_malloc_counter={0:2}, head={3:0}, head={3:0}, new={0:1}] [L890] (new!=elem) ? (0) : __blast_assert () VAL [\old(elem)=0, \old(elem)=0, \old(guard_malloc_counter)=0, \old(guard_malloc_counter)=0, elem={0:0}, guard_malloc_counter={0:2}, head={3:0}, head={3:0}, head={3:0}, new={0:1}, new={0:1}] [L891] COND TRUE __VERIFIER_nondet_int() VAL [\old(elem)=0, \old(elem)=0, \old(guard_malloc_counter)=0, \old(guard_malloc_counter)=0, __VERIFIER_nondet_int()=1, elem={0:0}, guard_malloc_counter={0:2}, head={3:0}, head={3:0}, head={3:0}, new={0:1}, new={0:1}] [L892] elem = new VAL [\old(elem)=0, \old(elem)=0, \old(guard_malloc_counter)=0, \old(guard_malloc_counter)=0, elem={0:1}, guard_malloc_counter={0:2}, head={3:0}, head={3:0}, head={3:0}, new={0:1}, new={0:1}] [L908] RET list_add(dev1, &head) VAL [\old(elem)=0, \old(elem)=0, \old(guard_malloc_counter)=0, \old(guard_malloc_counter)=0, dev1={0:1}, dev2={0:2}, elem={0:1}, guard_malloc_counter={0:2}, head={3:0}] [L909] CALL list_del(dev2) VAL [\old(elem)=1, \old(elem)=0, \old(guard_malloc_counter)=0, \old(guard_malloc_counter)=0, elem={0:1}, entry={0:2}, guard_malloc_counter={0:2}, head={3:0}] [L896] COND FALSE !(entry==elem) VAL [\old(elem)=0, \old(elem)=1, \old(guard_malloc_counter)=0, \old(guard_malloc_counter)=0, elem={0:1}, entry={0:2}, entry={0:2}, guard_malloc_counter={0:2}, head={3:0}] [L909] RET list_del(dev2) VAL [\old(elem)=0, \old(elem)=0, \old(guard_malloc_counter)=0, \old(guard_malloc_counter)=0, dev1={0:1}, dev2={0:2}, elem={0:1}, guard_malloc_counter={0:2}, head={3:0}] [L910] CALL list_add(dev2, &head) VAL [\old(elem)=0, \old(elem)=1, \old(guard_malloc_counter)=0, \old(guard_malloc_counter)=0, elem={0:1}, guard_malloc_counter={0:2}, head={3:0}, head={3:0}, new={0:2}] [L890] (new!=elem) ? (0) : __blast_assert () VAL [\old(elem)=1, \old(elem)=0, \old(guard_malloc_counter)=0, \old(guard_malloc_counter)=0, elem={0:1}, guard_malloc_counter={0:2}, head={3:0}, head={3:0}, head={3:0}, new={0:2}, new={0:2}] [L891] COND FALSE !(__VERIFIER_nondet_int()) VAL [\old(elem)=0, \old(elem)=1, \old(guard_malloc_counter)=0, \old(guard_malloc_counter)=0, __VERIFIER_nondet_int()=0, elem={0:1}, guard_malloc_counter={0:2}, head={3:0}, head={3:0}, head={3:0}, new={0:2}, new={0:2}] [L910] RET list_add(dev2, &head) VAL [\old(elem)=0, \old(elem)=0, \old(guard_malloc_counter)=0, \old(guard_malloc_counter)=0, dev1={0:1}, dev2={0:2}, elem={0:1}, guard_malloc_counter={0:2}, head={3:0}] [L913] CALL list_add(dev1, &head) VAL [\old(elem)=1, \old(elem)=0, \old(guard_malloc_counter)=0, \old(guard_malloc_counter)=0, elem={0:1}, guard_malloc_counter={0:2}, head={3:0}, head={3:0}, new={0:1}] [L890] (new!=elem) ? (0) : __blast_assert () VAL [\old(elem)=0, \old(elem)=1, \old(guard_malloc_counter)=0, \old(guard_malloc_counter)=0, elem={0:1}, guard_malloc_counter={0:2}, head={3:0}, head={3:0}, head={3:0}, new={0:1}, new={0:1}] [L890] CALL __blast_assert () VAL [\old(elem)=0, \old(elem)=1, \old(guard_malloc_counter)=0, \old(guard_malloc_counter)=0, elem={0:1}, guard_malloc_counter={0:2}, head={3:0}] [L6] __VERIFIER_error() VAL [\old(elem)=1, \old(elem)=0, \old(guard_malloc_counter)=0, \old(guard_malloc_counter)=0, elem={0:1}, guard_malloc_counter={0:2}, head={3:0}] - StatisticsResult: Ultimate Automizer benchmark data CFG has 8 procedures, 71 locations, 1 error locations. Started 1 CEGAR loops. VerificationResult: UNSAFE, OverallTime: 61.3s, OverallIterations: 12, TraceHistogramMax: 4, AutomataDifference: 45.9s, DeadEndRemovalTime: 0.0s, HoareAnnotationTime: 0.0s, InitialAbstractionConstructionTime: 0.0s, HoareTripleCheckerStatistics: 634 SDtfs, 1079 SDslu, 2254 SDs, 0 SdLazy, 7457 SolverSat, 595 SolverUnsat, 0 SolverUnknown, 0 SolverNotchecked, 14.1s Time, PredicateUnifierStatistics: 0 DeclaredPredicates, 454 GetRequests, 141 SyntacticMatches, 1 SemanticMatches, 312 ConstructedPredicates, 0 IntricatePredicates, 0 DeprecatedPredicates, 1428 ImplicationChecksByTransitivity, 8.8s Time, 0.0s BasicInterpolantAutomatonTime, BiggestAbstraction: size=112occurred in iteration=7, traceCheckStatistics: No data available, InterpolantConsolidationStatistics: No data available, PathInvariantsStatistics: No data available, 0/0 InterpolantCoveringCapability, TotalInterpolationStatistics: No data available, 0.0s DumpTime, AutomataMinimizationStatistics: 5.0s AutomataMinimizationTime, 11 MinimizatonAttempts, 72 StatesRemovedByMinimization, 10 NontrivialMinimizations, HoareAnnotationStatistics: No data available, RefinementEngineStatistics: TRACE_CHECK: 0.0s SsaConstructionTime, 0.2s SatisfiabilityAnalysisTime, 5.9s InterpolantComputationTime, 875 NumberOfCodeBlocks, 875 NumberOfCodeBlocksAsserted, 12 NumberOfCheckSat, 770 ConstructedInterpolants, 0 QuantifiedInterpolants, 225364 SizeOfPredicates, 0 NumberOfNonLiveVariables, 0 ConjunctsInSsa, 0 ConjunctsInUnsatCore, 11 InterpolantComputations, 2 PerfectInterpolantSequences, 170/259 InterpolantCoveringCapability, INVARIANT_SYNTHESIS: No data available, INTERPOLANT_CONSOLIDATION: No data available, ABSTRACT_INTERPRETATION: No data available, PDR: No data available, ACCELERATED_INTERPOLATION: No data available, SIFA: No data available, ReuseStatistics: No data available RESULT: Ultimate proved your program to be incorrect! Received shutdown request...