/usr/bin/java -ea -Xmx8000000000 -Xss4m -jar ./plugins/org.eclipse.equinox.launcher_1.3.100.v20150511-1540.jar -data @noDefault -ultimatedata ./data -tc ../../../trunk/examples/toolchains/AutomizerC.xml -s ../../../trunk/examples/settings/default/automizer/svcomp-Reach-32bit-Automizer_Default.epf -i ../../../trunk/examples/svcomp/ldv-regression/rule60_list2.c_1.i -------------------------------------------------------------------------------- This is Ultimate 0.1.25-46f3038-m [2020-07-08 12:23:54,691 INFO L177 SettingsManager]: Resetting all preferences to default values... [2020-07-08 12:23:54,693 INFO L181 SettingsManager]: Resetting UltimateCore preferences to default values [2020-07-08 12:23:54,706 INFO L184 SettingsManager]: Ultimate Commandline Interface provides no preferences, ignoring... [2020-07-08 12:23:54,706 INFO L181 SettingsManager]: Resetting Boogie Preprocessor preferences to default values [2020-07-08 12:23:54,708 INFO L181 SettingsManager]: Resetting Boogie Procedure Inliner preferences to default values [2020-07-08 12:23:54,709 INFO L181 SettingsManager]: Resetting Abstract Interpretation preferences to default values [2020-07-08 12:23:54,711 INFO L181 SettingsManager]: Resetting LassoRanker preferences to default values [2020-07-08 12:23:54,713 INFO L181 SettingsManager]: Resetting Reaching Definitions preferences to default values [2020-07-08 12:23:54,714 INFO L181 SettingsManager]: Resetting SyntaxChecker preferences to default values [2020-07-08 12:23:54,715 INFO L181 SettingsManager]: Resetting Sifa preferences to default values [2020-07-08 12:23:54,716 INFO L184 SettingsManager]: Büchi Program Product provides no preferences, ignoring... [2020-07-08 12:23:54,716 INFO L181 SettingsManager]: Resetting LTL2Aut preferences to default values [2020-07-08 12:23:54,717 INFO L181 SettingsManager]: Resetting PEA to Boogie preferences to default values [2020-07-08 12:23:54,718 INFO L181 SettingsManager]: Resetting BlockEncodingV2 preferences to default values [2020-07-08 12:23:54,720 INFO L181 SettingsManager]: Resetting ChcToBoogie preferences to default values [2020-07-08 12:23:54,720 INFO L181 SettingsManager]: Resetting AutomataScriptInterpreter preferences to default values [2020-07-08 12:23:54,721 INFO L181 SettingsManager]: Resetting BuchiAutomizer preferences to default values [2020-07-08 12:23:54,724 INFO L181 SettingsManager]: Resetting CACSL2BoogieTranslator preferences to default values [2020-07-08 12:23:54,726 INFO L181 SettingsManager]: Resetting CodeCheck preferences to default values [2020-07-08 12:23:54,727 INFO L181 SettingsManager]: Resetting InvariantSynthesis preferences to default values [2020-07-08 12:23:54,728 INFO L181 SettingsManager]: Resetting RCFGBuilder preferences to default values [2020-07-08 12:23:54,729 INFO L181 SettingsManager]: Resetting Referee preferences to default values [2020-07-08 12:23:54,730 INFO L181 SettingsManager]: Resetting TraceAbstraction preferences to default values [2020-07-08 12:23:54,732 INFO L184 SettingsManager]: TraceAbstractionConcurrent provides no preferences, ignoring... [2020-07-08 12:23:54,733 INFO L184 SettingsManager]: TraceAbstractionWithAFAs provides no preferences, ignoring... [2020-07-08 12:23:54,733 INFO L181 SettingsManager]: Resetting TreeAutomizer preferences to default values [2020-07-08 12:23:54,734 INFO L181 SettingsManager]: Resetting IcfgToChc preferences to default values [2020-07-08 12:23:54,734 INFO L181 SettingsManager]: Resetting IcfgTransformer preferences to default values [2020-07-08 12:23:54,735 INFO L184 SettingsManager]: ReqToTest provides no preferences, ignoring... [2020-07-08 12:23:54,735 INFO L181 SettingsManager]: Resetting Boogie Printer preferences to default values [2020-07-08 12:23:54,736 INFO L181 SettingsManager]: Resetting ChcSmtPrinter preferences to default values [2020-07-08 12:23:54,737 INFO L181 SettingsManager]: Resetting ReqPrinter preferences to default values [2020-07-08 12:23:54,738 INFO L181 SettingsManager]: Resetting Witness Printer preferences to default values [2020-07-08 12:23:54,739 INFO L184 SettingsManager]: Boogie PL CUP Parser provides no preferences, ignoring... [2020-07-08 12:23:54,739 INFO L181 SettingsManager]: Resetting CDTParser preferences to default values [2020-07-08 12:23:54,739 INFO L184 SettingsManager]: AutomataScriptParser provides no preferences, ignoring... [2020-07-08 12:23:54,740 INFO L184 SettingsManager]: ReqParser provides no preferences, ignoring... [2020-07-08 12:23:54,740 INFO L181 SettingsManager]: Resetting SmtParser preferences to default values [2020-07-08 12:23:54,741 INFO L181 SettingsManager]: Resetting Witness Parser preferences to default values [2020-07-08 12:23:54,742 INFO L188 SettingsManager]: Finished resetting all preferences to default values... [2020-07-08 12:23:54,743 INFO L101 SettingsManager]: Beginning loading settings from /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/../../../trunk/examples/settings/default/automizer/svcomp-Reach-32bit-Automizer_Default.epf [2020-07-08 12:23:54,757 INFO L113 SettingsManager]: Loading preferences was successful [2020-07-08 12:23:54,757 INFO L115 SettingsManager]: Preferences different from defaults after loading the file: [2020-07-08 12:23:54,758 INFO L136 SettingsManager]: Preferences of BlockEncodingV2 differ from their defaults: [2020-07-08 12:23:54,758 INFO L138 SettingsManager]: * Create parallel compositions if possible=false [2020-07-08 12:23:54,759 INFO L138 SettingsManager]: * Use SBE=true [2020-07-08 12:23:54,759 INFO L136 SettingsManager]: Preferences of CACSL2BoogieTranslator differ from their defaults: [2020-07-08 12:23:54,759 INFO L138 SettingsManager]: * sizeof long=4 [2020-07-08 12:23:54,759 INFO L138 SettingsManager]: * Overapproximate operations on floating types=true [2020-07-08 12:23:54,759 INFO L138 SettingsManager]: * sizeof POINTER=4 [2020-07-08 12:23:54,760 INFO L138 SettingsManager]: * Check division by zero=IGNORE [2020-07-08 12:23:54,760 INFO L138 SettingsManager]: * Pointer to allocated memory at dereference=IGNORE [2020-07-08 12:23:54,760 INFO L138 SettingsManager]: * If two pointers are subtracted or compared they have the same base address=IGNORE [2020-07-08 12:23:54,760 INFO L138 SettingsManager]: * Check array bounds for arrays that are off heap=IGNORE [2020-07-08 12:23:54,760 INFO L138 SettingsManager]: * sizeof long double=12 [2020-07-08 12:23:54,761 INFO L138 SettingsManager]: * Check if freed pointer was valid=false [2020-07-08 12:23:54,761 INFO L138 SettingsManager]: * Use constant arrays=true [2020-07-08 12:23:54,761 INFO L138 SettingsManager]: * Pointer base address is valid at dereference=IGNORE [2020-07-08 12:23:54,761 INFO L136 SettingsManager]: Preferences of RCFGBuilder differ from their defaults: [2020-07-08 12:23:54,761 INFO L138 SettingsManager]: * Size of a code block=SequenceOfStatements [2020-07-08 12:23:54,762 INFO L138 SettingsManager]: * To the following directory=./dump/ [2020-07-08 12:23:54,762 INFO L138 SettingsManager]: * SMT solver=External_DefaultMode [2020-07-08 12:23:54,762 INFO L138 SettingsManager]: * Command for external solver=z3 SMTLIB2_COMPLIANT=true -memory:2024 -smt2 -in -t:2000 [2020-07-08 12:23:54,762 INFO L136 SettingsManager]: Preferences of TraceAbstraction differ from their defaults: [2020-07-08 12:23:54,762 INFO L138 SettingsManager]: * Compute Interpolants along a Counterexample=FPandBP [2020-07-08 12:23:54,763 INFO L138 SettingsManager]: * Positions where we compute the Hoare Annotation=LoopsAndPotentialCycles [2020-07-08 12:23:54,763 INFO L138 SettingsManager]: * Trace refinement strategy=CAMEL [2020-07-08 12:23:54,763 INFO L138 SettingsManager]: * Command for external solver=z3 SMTLIB2_COMPLIANT=true -memory:2024 -smt2 -in [2020-07-08 12:23:54,763 INFO L138 SettingsManager]: * Compute Hoare Annotation of negated interpolant automaton, abstraction and CFG=true [2020-07-08 12:23:54,763 INFO L138 SettingsManager]: * Trace refinement exception blacklist=NONE [2020-07-08 12:23:54,763 INFO L138 SettingsManager]: * SMT solver=External_ModelsAndUnsatCoreMode [2020-07-08 12:23:55,054 INFO L81 nceAwareModelManager]: Repository-Root is: /tmp [2020-07-08 12:23:55,067 INFO L258 ainManager$Toolchain]: [Toolchain 1]: Applicable parser(s) successfully (re)initialized [2020-07-08 12:23:55,071 INFO L214 ainManager$Toolchain]: [Toolchain 1]: Toolchain selected. [2020-07-08 12:23:55,072 INFO L271 PluginConnector]: Initializing CDTParser... [2020-07-08 12:23:55,073 INFO L275 PluginConnector]: CDTParser initialized [2020-07-08 12:23:55,073 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-08 12:23:55,141 INFO L220 CDTParser]: Created temporary CDT project at /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/data/4ae69ff08/21f0bd963b374de0a3aad39aa16f9564/FLAG631468318 [2020-07-08 12:23:55,647 INFO L306 CDTParser]: Found 1 translation units. [2020-07-08 12:23:55,648 INFO L160 CDTParser]: Scanning /storage/repos/ultimate/trunk/examples/svcomp/ldv-regression/rule60_list2.c_1.i [2020-07-08 12:23:55,659 INFO L349 CDTParser]: About to delete temporary CDT project at /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/data/4ae69ff08/21f0bd963b374de0a3aad39aa16f9564/FLAG631468318 [2020-07-08 12:23:55,994 INFO L357 CDTParser]: Successfully deleted /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/data/4ae69ff08/21f0bd963b374de0a3aad39aa16f9564 [2020-07-08 12:23:56,002 INFO L296 ainManager$Toolchain]: ####################### [Toolchain 1] ####################### [2020-07-08 12:23:56,004 INFO L131 ToolchainWalker]: Walking toolchain with 4 elements. [2020-07-08 12:23:56,005 INFO L113 PluginConnector]: ------------------------CACSL2BoogieTranslator---------------------------- [2020-07-08 12:23:56,005 INFO L271 PluginConnector]: Initializing CACSL2BoogieTranslator... [2020-07-08 12:23:56,009 INFO L275 PluginConnector]: CACSL2BoogieTranslator initialized [2020-07-08 12:23:56,010 INFO L185 PluginConnector]: Executing the observer ACSLObjectContainerObserver from plugin CACSL2BoogieTranslator for "CDTParser AST 08.07 12:23:55" (1/1) ... [2020-07-08 12:23:56,013 INFO L205 PluginConnector]: Invalid model from CACSL2BoogieTranslator for observer de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator.ACSLObjectContainerObserver@1771a374 and model type de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 08.07 12:23:56, skipping insertion in model container [2020-07-08 12:23:56,013 INFO L185 PluginConnector]: Executing the observer CACSL2BoogieTranslatorObserver from plugin CACSL2BoogieTranslator for "CDTParser AST 08.07 12:23:55" (1/1) ... [2020-07-08 12:23:56,021 INFO L145 MainTranslator]: Starting translation in SV-COMP mode [2020-07-08 12:23:56,069 INFO L178 MainTranslator]: Built tables and reachable declarations [2020-07-08 12:23:56,518 INFO L206 PostProcessor]: Analyzing one entry point: main [2020-07-08 12:23:56,530 INFO L203 MainTranslator]: Completed pre-run [2020-07-08 12:23:56,610 INFO L206 PostProcessor]: Analyzing one entry point: main [2020-07-08 12:23:56,677 INFO L208 MainTranslator]: Completed translation [2020-07-08 12:23:56,677 INFO L202 PluginConnector]: Adding new model de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 08.07 12:23:56 WrapperNode [2020-07-08 12:23:56,678 INFO L132 PluginConnector]: ------------------------ END CACSL2BoogieTranslator---------------------------- [2020-07-08 12:23:56,679 INFO L113 PluginConnector]: ------------------------Boogie Preprocessor---------------------------- [2020-07-08 12:23:56,679 INFO L271 PluginConnector]: Initializing Boogie Preprocessor... [2020-07-08 12:23:56,679 INFO L275 PluginConnector]: Boogie Preprocessor initialized [2020-07-08 12:23:56,693 INFO L185 PluginConnector]: Executing the observer EnsureBoogieModelObserver from plugin Boogie Preprocessor for "de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 08.07 12:23:56" (1/1) ... [2020-07-08 12:23:56,694 INFO L185 PluginConnector]: Executing the observer TypeChecker from plugin Boogie Preprocessor for "de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 08.07 12:23:56" (1/1) ... [2020-07-08 12:23:56,719 INFO L185 PluginConnector]: Executing the observer ConstExpander from plugin Boogie Preprocessor for "de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 08.07 12:23:56" (1/1) ... [2020-07-08 12:23:56,719 INFO L185 PluginConnector]: Executing the observer StructExpander from plugin Boogie Preprocessor for "de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 08.07 12:23:56" (1/1) ... [2020-07-08 12:23:56,762 INFO L185 PluginConnector]: Executing the observer UnstructureCode from plugin Boogie Preprocessor for "de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 08.07 12:23:56" (1/1) ... [2020-07-08 12:23:56,769 INFO L185 PluginConnector]: Executing the observer FunctionInliner from plugin Boogie Preprocessor for "de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 08.07 12:23:56" (1/1) ... [2020-07-08 12:23:56,781 INFO L185 PluginConnector]: Executing the observer BoogieSymbolTableConstructor from plugin Boogie Preprocessor for "de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 08.07 12:23:56" (1/1) ... [2020-07-08 12:23:56,793 INFO L132 PluginConnector]: ------------------------ END Boogie Preprocessor---------------------------- [2020-07-08 12:23:56,793 INFO L113 PluginConnector]: ------------------------RCFGBuilder---------------------------- [2020-07-08 12:23:56,793 INFO L271 PluginConnector]: Initializing RCFGBuilder... [2020-07-08 12:23:56,793 INFO L275 PluginConnector]: RCFGBuilder initialized [2020-07-08 12:23:56,798 INFO L185 PluginConnector]: Executing the observer RCFGBuilderObserver from plugin RCFGBuilder for "de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 08.07 12:23:56" (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-08 12:23:56,873 INFO L138 BoogieDeclarations]: Found implementation of procedure ULTIMATE.init [2020-07-08 12:23:56,873 INFO L138 BoogieDeclarations]: Found implementation of procedure ULTIMATE.start [2020-07-08 12:23:56,874 INFO L138 BoogieDeclarations]: Found implementation of procedure __blast_assert [2020-07-08 12:23:56,874 INFO L138 BoogieDeclarations]: Found implementation of procedure __getMemory [2020-07-08 12:23:56,874 INFO L138 BoogieDeclarations]: Found implementation of procedure my_malloc [2020-07-08 12:23:56,874 INFO L138 BoogieDeclarations]: Found implementation of procedure list_add [2020-07-08 12:23:56,874 INFO L138 BoogieDeclarations]: Found implementation of procedure list_del [2020-07-08 12:23:56,874 INFO L138 BoogieDeclarations]: Found implementation of procedure main [2020-07-08 12:23:56,874 INFO L130 BoogieDeclarations]: Found specification of procedure __VERIFIER_error [2020-07-08 12:23:56,875 INFO L130 BoogieDeclarations]: Found specification of procedure __blast_assert [2020-07-08 12:23:56,875 INFO L130 BoogieDeclarations]: Found specification of procedure __underflow [2020-07-08 12:23:56,875 INFO L130 BoogieDeclarations]: Found specification of procedure __uflow [2020-07-08 12:23:56,875 INFO L130 BoogieDeclarations]: Found specification of procedure __overflow [2020-07-08 12:23:56,875 INFO L130 BoogieDeclarations]: Found specification of procedure _IO_getc [2020-07-08 12:23:56,875 INFO L130 BoogieDeclarations]: Found specification of procedure _IO_putc [2020-07-08 12:23:56,876 INFO L130 BoogieDeclarations]: Found specification of procedure _IO_feof [2020-07-08 12:23:56,876 INFO L130 BoogieDeclarations]: Found specification of procedure _IO_ferror [2020-07-08 12:23:56,876 INFO L130 BoogieDeclarations]: Found specification of procedure _IO_peekc_locked [2020-07-08 12:23:56,876 INFO L130 BoogieDeclarations]: Found specification of procedure _IO_flockfile [2020-07-08 12:23:56,876 INFO L130 BoogieDeclarations]: Found specification of procedure _IO_funlockfile [2020-07-08 12:23:56,876 INFO L130 BoogieDeclarations]: Found specification of procedure _IO_ftrylockfile [2020-07-08 12:23:56,877 INFO L130 BoogieDeclarations]: Found specification of procedure _IO_vfscanf [2020-07-08 12:23:56,877 INFO L130 BoogieDeclarations]: Found specification of procedure _IO_vfprintf [2020-07-08 12:23:56,877 INFO L130 BoogieDeclarations]: Found specification of procedure _IO_padn [2020-07-08 12:23:56,877 INFO L130 BoogieDeclarations]: Found specification of procedure _IO_sgetn [2020-07-08 12:23:56,877 INFO L130 BoogieDeclarations]: Found specification of procedure _IO_seekoff [2020-07-08 12:23:56,877 INFO L130 BoogieDeclarations]: Found specification of procedure _IO_seekpos [2020-07-08 12:23:56,878 INFO L130 BoogieDeclarations]: Found specification of procedure _IO_free_backup_area [2020-07-08 12:23:56,878 INFO L130 BoogieDeclarations]: Found specification of procedure remove [2020-07-08 12:23:56,878 INFO L130 BoogieDeclarations]: Found specification of procedure rename [2020-07-08 12:23:56,878 INFO L130 BoogieDeclarations]: Found specification of procedure renameat [2020-07-08 12:23:56,878 INFO L130 BoogieDeclarations]: Found specification of procedure tmpfile [2020-07-08 12:23:56,878 INFO L130 BoogieDeclarations]: Found specification of procedure tmpnam [2020-07-08 12:23:56,879 INFO L130 BoogieDeclarations]: Found specification of procedure tmpnam_r [2020-07-08 12:23:56,879 INFO L130 BoogieDeclarations]: Found specification of procedure tempnam [2020-07-08 12:23:56,879 INFO L130 BoogieDeclarations]: Found specification of procedure fclose [2020-07-08 12:23:56,879 INFO L130 BoogieDeclarations]: Found specification of procedure fflush [2020-07-08 12:23:56,879 INFO L130 BoogieDeclarations]: Found specification of procedure fflush_unlocked [2020-07-08 12:23:56,879 INFO L130 BoogieDeclarations]: Found specification of procedure fopen [2020-07-08 12:23:56,880 INFO L130 BoogieDeclarations]: Found specification of procedure freopen [2020-07-08 12:23:56,880 INFO L130 BoogieDeclarations]: Found specification of procedure fdopen [2020-07-08 12:23:56,880 INFO L130 BoogieDeclarations]: Found specification of procedure fmemopen [2020-07-08 12:23:56,880 INFO L130 BoogieDeclarations]: Found specification of procedure open_memstream [2020-07-08 12:23:56,880 INFO L130 BoogieDeclarations]: Found specification of procedure setbuf [2020-07-08 12:23:56,880 INFO L130 BoogieDeclarations]: Found specification of procedure setvbuf [2020-07-08 12:23:56,881 INFO L130 BoogieDeclarations]: Found specification of procedure setbuffer [2020-07-08 12:23:56,881 INFO L130 BoogieDeclarations]: Found specification of procedure setlinebuf [2020-07-08 12:23:56,881 INFO L130 BoogieDeclarations]: Found specification of procedure fprintf [2020-07-08 12:23:56,881 INFO L130 BoogieDeclarations]: Found specification of procedure printf [2020-07-08 12:23:56,881 INFO L130 BoogieDeclarations]: Found specification of procedure sprintf [2020-07-08 12:23:56,881 INFO L130 BoogieDeclarations]: Found specification of procedure vfprintf [2020-07-08 12:23:56,881 INFO L130 BoogieDeclarations]: Found specification of procedure vprintf [2020-07-08 12:23:56,882 INFO L130 BoogieDeclarations]: Found specification of procedure vsprintf [2020-07-08 12:23:56,882 INFO L130 BoogieDeclarations]: Found specification of procedure snprintf [2020-07-08 12:23:56,882 INFO L130 BoogieDeclarations]: Found specification of procedure vsnprintf [2020-07-08 12:23:56,882 INFO L130 BoogieDeclarations]: Found specification of procedure vdprintf [2020-07-08 12:23:56,882 INFO L130 BoogieDeclarations]: Found specification of procedure dprintf [2020-07-08 12:23:56,882 INFO L130 BoogieDeclarations]: Found specification of procedure fscanf [2020-07-08 12:23:56,882 INFO L130 BoogieDeclarations]: Found specification of procedure scanf [2020-07-08 12:23:56,883 INFO L130 BoogieDeclarations]: Found specification of procedure sscanf [2020-07-08 12:23:56,883 INFO L130 BoogieDeclarations]: Found specification of procedure vfscanf [2020-07-08 12:23:56,883 INFO L130 BoogieDeclarations]: Found specification of procedure vscanf [2020-07-08 12:23:56,883 INFO L130 BoogieDeclarations]: Found specification of procedure vsscanf [2020-07-08 12:23:56,883 INFO L130 BoogieDeclarations]: Found specification of procedure fgetc [2020-07-08 12:23:56,883 INFO L130 BoogieDeclarations]: Found specification of procedure getc [2020-07-08 12:23:56,883 INFO L130 BoogieDeclarations]: Found specification of procedure getchar [2020-07-08 12:23:56,884 INFO L130 BoogieDeclarations]: Found specification of procedure getc_unlocked [2020-07-08 12:23:56,884 INFO L130 BoogieDeclarations]: Found specification of procedure getchar_unlocked [2020-07-08 12:23:56,884 INFO L130 BoogieDeclarations]: Found specification of procedure fgetc_unlocked [2020-07-08 12:23:56,884 INFO L130 BoogieDeclarations]: Found specification of procedure fputc [2020-07-08 12:23:56,884 INFO L130 BoogieDeclarations]: Found specification of procedure putc [2020-07-08 12:23:56,884 INFO L130 BoogieDeclarations]: Found specification of procedure putchar [2020-07-08 12:23:56,885 INFO L130 BoogieDeclarations]: Found specification of procedure fputc_unlocked [2020-07-08 12:23:56,885 INFO L130 BoogieDeclarations]: Found specification of procedure putc_unlocked [2020-07-08 12:23:56,885 INFO L130 BoogieDeclarations]: Found specification of procedure putchar_unlocked [2020-07-08 12:23:56,885 INFO L130 BoogieDeclarations]: Found specification of procedure getw [2020-07-08 12:23:56,885 INFO L130 BoogieDeclarations]: Found specification of procedure putw [2020-07-08 12:23:56,885 INFO L130 BoogieDeclarations]: Found specification of procedure fgets [2020-07-08 12:23:56,886 INFO L130 BoogieDeclarations]: Found specification of procedure gets [2020-07-08 12:23:56,886 INFO L130 BoogieDeclarations]: Found specification of procedure __getdelim [2020-07-08 12:23:56,886 INFO L130 BoogieDeclarations]: Found specification of procedure getdelim [2020-07-08 12:23:56,886 INFO L130 BoogieDeclarations]: Found specification of procedure getline [2020-07-08 12:23:56,886 INFO L130 BoogieDeclarations]: Found specification of procedure fputs [2020-07-08 12:23:56,886 INFO L130 BoogieDeclarations]: Found specification of procedure puts [2020-07-08 12:23:56,887 INFO L130 BoogieDeclarations]: Found specification of procedure ungetc [2020-07-08 12:23:56,887 INFO L130 BoogieDeclarations]: Found specification of procedure fread [2020-07-08 12:23:56,887 INFO L130 BoogieDeclarations]: Found specification of procedure fwrite [2020-07-08 12:23:56,887 INFO L130 BoogieDeclarations]: Found specification of procedure fread_unlocked [2020-07-08 12:23:56,887 INFO L130 BoogieDeclarations]: Found specification of procedure fwrite_unlocked [2020-07-08 12:23:56,887 INFO L130 BoogieDeclarations]: Found specification of procedure fseek [2020-07-08 12:23:56,887 INFO L130 BoogieDeclarations]: Found specification of procedure ftell [2020-07-08 12:23:56,888 INFO L130 BoogieDeclarations]: Found specification of procedure rewind [2020-07-08 12:23:56,888 INFO L130 BoogieDeclarations]: Found specification of procedure fseeko [2020-07-08 12:23:56,888 INFO L130 BoogieDeclarations]: Found specification of procedure ftello [2020-07-08 12:23:56,888 INFO L130 BoogieDeclarations]: Found specification of procedure fgetpos [2020-07-08 12:23:56,888 INFO L130 BoogieDeclarations]: Found specification of procedure fsetpos [2020-07-08 12:23:56,888 INFO L130 BoogieDeclarations]: Found specification of procedure clearerr [2020-07-08 12:23:56,889 INFO L130 BoogieDeclarations]: Found specification of procedure feof [2020-07-08 12:23:56,889 INFO L130 BoogieDeclarations]: Found specification of procedure ferror [2020-07-08 12:23:56,889 INFO L130 BoogieDeclarations]: Found specification of procedure clearerr_unlocked [2020-07-08 12:23:56,889 INFO L130 BoogieDeclarations]: Found specification of procedure feof_unlocked [2020-07-08 12:23:56,889 INFO L130 BoogieDeclarations]: Found specification of procedure ferror_unlocked [2020-07-08 12:23:56,889 INFO L130 BoogieDeclarations]: Found specification of procedure perror [2020-07-08 12:23:56,889 INFO L130 BoogieDeclarations]: Found specification of procedure fileno [2020-07-08 12:23:56,890 INFO L130 BoogieDeclarations]: Found specification of procedure fileno_unlocked [2020-07-08 12:23:56,890 INFO L130 BoogieDeclarations]: Found specification of procedure popen [2020-07-08 12:23:56,890 INFO L130 BoogieDeclarations]: Found specification of procedure pclose [2020-07-08 12:23:56,890 INFO L130 BoogieDeclarations]: Found specification of procedure ctermid [2020-07-08 12:23:56,890 INFO L130 BoogieDeclarations]: Found specification of procedure flockfile [2020-07-08 12:23:56,890 INFO L130 BoogieDeclarations]: Found specification of procedure ftrylockfile [2020-07-08 12:23:56,890 INFO L130 BoogieDeclarations]: Found specification of procedure funlockfile [2020-07-08 12:23:56,891 INFO L130 BoogieDeclarations]: Found specification of procedure malloc [2020-07-08 12:23:56,891 INFO L130 BoogieDeclarations]: Found specification of procedure calloc [2020-07-08 12:23:56,891 INFO L130 BoogieDeclarations]: Found specification of procedure realloc [2020-07-08 12:23:56,891 INFO L130 BoogieDeclarations]: Found specification of procedure free [2020-07-08 12:23:56,891 INFO L130 BoogieDeclarations]: Found specification of procedure cfree [2020-07-08 12:23:56,891 INFO L130 BoogieDeclarations]: Found specification of procedure memalign [2020-07-08 12:23:56,892 INFO L130 BoogieDeclarations]: Found specification of procedure valloc [2020-07-08 12:23:56,892 INFO L130 BoogieDeclarations]: Found specification of procedure pvalloc [2020-07-08 12:23:56,892 INFO L130 BoogieDeclarations]: Found specification of procedure __default_morecore [2020-07-08 12:23:56,892 INFO L130 BoogieDeclarations]: Found specification of procedure mallinfo [2020-07-08 12:23:56,892 INFO L130 BoogieDeclarations]: Found specification of procedure mallopt [2020-07-08 12:23:56,892 INFO L130 BoogieDeclarations]: Found specification of procedure malloc_trim [2020-07-08 12:23:56,893 INFO L130 BoogieDeclarations]: Found specification of procedure malloc_usable_size [2020-07-08 12:23:56,893 INFO L130 BoogieDeclarations]: Found specification of procedure malloc_stats [2020-07-08 12:23:56,893 INFO L130 BoogieDeclarations]: Found specification of procedure malloc_info [2020-07-08 12:23:56,893 INFO L130 BoogieDeclarations]: Found specification of procedure malloc_get_state [2020-07-08 12:23:56,893 INFO L130 BoogieDeclarations]: Found specification of procedure malloc_set_state [2020-07-08 12:23:56,893 INFO L130 BoogieDeclarations]: Found specification of procedure __malloc_check_init [2020-07-08 12:23:56,893 INFO L130 BoogieDeclarations]: Found specification of procedure __VERIFIER_nondet_int [2020-07-08 12:23:56,894 INFO L130 BoogieDeclarations]: Found specification of procedure __getMemory [2020-07-08 12:23:56,894 INFO L130 BoogieDeclarations]: Found specification of procedure my_malloc [2020-07-08 12:23:56,894 INFO L130 BoogieDeclarations]: Found specification of procedure list_add [2020-07-08 12:23:56,894 INFO L130 BoogieDeclarations]: Found specification of procedure list_del [2020-07-08 12:23:56,894 INFO L130 BoogieDeclarations]: Found specification of procedure main [2020-07-08 12:23:56,894 INFO L130 BoogieDeclarations]: Found specification of procedure ULTIMATE.init [2020-07-08 12:23:56,895 INFO L130 BoogieDeclarations]: Found specification of procedure #Ultimate.allocOnStack [2020-07-08 12:23:56,895 INFO L130 BoogieDeclarations]: Found specification of procedure write~init~$Pointer$ [2020-07-08 12:23:56,895 INFO L130 BoogieDeclarations]: Found specification of procedure ULTIMATE.start [2020-07-08 12:23:56,895 INFO L130 BoogieDeclarations]: Found specification of procedure write~$Pointer$ [2020-07-08 12:23:56,895 INFO L130 BoogieDeclarations]: Found specification of procedure read~$Pointer$ [2020-07-08 12:23:56,895 INFO L130 BoogieDeclarations]: Found specification of procedure ULTIMATE.dealloc [2020-07-08 12:23:57,507 INFO L290 CfgBuilder]: Using the 1 location(s) as analysis (start of procedure ULTIMATE.start) [2020-07-08 12:23:57,508 INFO L295 CfgBuilder]: Removed 0 assume(true) statements. [2020-07-08 12:23:57,512 INFO L202 PluginConnector]: Adding new model de.uni_freiburg.informatik.ultimate.plugins.generator.rcfgbuilder CFG 08.07 12:23:57 BoogieIcfgContainer [2020-07-08 12:23:57,513 INFO L132 PluginConnector]: ------------------------ END RCFGBuilder---------------------------- [2020-07-08 12:23:57,514 INFO L113 PluginConnector]: ------------------------TraceAbstraction---------------------------- [2020-07-08 12:23:57,514 INFO L271 PluginConnector]: Initializing TraceAbstraction... [2020-07-08 12:23:57,518 INFO L275 PluginConnector]: TraceAbstraction initialized [2020-07-08 12:23:57,519 INFO L185 PluginConnector]: Executing the observer TraceAbstractionObserver from plugin TraceAbstraction for "CDTParser AST 08.07 12:23:55" (1/3) ... [2020-07-08 12:23:57,520 INFO L205 PluginConnector]: Invalid model from TraceAbstraction for observer de.uni_freiburg.informatik.ultimate.plugins.generator.traceabstraction.TraceAbstractionObserver@34979966 and model type de.uni_freiburg.informatik.ultimate.plugins.generator.traceabstraction AST 08.07 12:23:57, skipping insertion in model container [2020-07-08 12:23:57,520 INFO L185 PluginConnector]: Executing the observer TraceAbstractionObserver from plugin TraceAbstraction for "de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 08.07 12:23:56" (2/3) ... [2020-07-08 12:23:57,520 INFO L205 PluginConnector]: Invalid model from TraceAbstraction for observer de.uni_freiburg.informatik.ultimate.plugins.generator.traceabstraction.TraceAbstractionObserver@34979966 and model type de.uni_freiburg.informatik.ultimate.plugins.generator.traceabstraction AST 08.07 12:23:57, skipping insertion in model container [2020-07-08 12:23:57,521 INFO L185 PluginConnector]: Executing the observer TraceAbstractionObserver from plugin TraceAbstraction for "de.uni_freiburg.informatik.ultimate.plugins.generator.rcfgbuilder CFG 08.07 12:23:57" (3/3) ... [2020-07-08 12:23:57,523 INFO L109 eAbstractionObserver]: Analyzing ICFG rule60_list2.c_1.i [2020-07-08 12:23:57,535 INFO L157 ceAbstractionStarter]: Automizer settings: Hoare:true NWA Interpolation:FPandBP Determinization: PREDICATE_ABSTRACTION [2020-07-08 12:23:57,543 INFO L169 ceAbstractionStarter]: Appying trace abstraction to program that has 1 error locations. [2020-07-08 12:23:57,559 INFO L251 AbstractCegarLoop]: Starting to check reachability of 1 error locations. [2020-07-08 12:23:57,586 INFO L375 AbstractCegarLoop]: Interprodecural is true [2020-07-08 12:23:57,586 INFO L376 AbstractCegarLoop]: Hoare is true [2020-07-08 12:23:57,586 INFO L377 AbstractCegarLoop]: Compute interpolants for FPandBP [2020-07-08 12:23:57,587 INFO L378 AbstractCegarLoop]: Backedges is STRAIGHT_LINE [2020-07-08 12:23:57,587 INFO L379 AbstractCegarLoop]: Determinization is PREDICATE_ABSTRACTION [2020-07-08 12:23:57,587 INFO L380 AbstractCegarLoop]: Difference is false [2020-07-08 12:23:57,587 INFO L381 AbstractCegarLoop]: Minimize is MINIMIZE_SEVPA [2020-07-08 12:23:57,588 INFO L385 AbstractCegarLoop]: ======== Iteration 0==of CEGAR loop == AllErrorsAtOnce======== [2020-07-08 12:23:57,608 INFO L276 IsEmpty]: Start isEmpty. Operand 48 states. [2020-07-08 12:23:57,614 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 14 [2020-07-08 12:23:57,615 INFO L414 BasicCegarLoop]: Found error trace [2020-07-08 12:23:57,616 INFO L422 BasicCegarLoop]: trace histogram [1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1] [2020-07-08 12:23:57,616 INFO L427 AbstractCegarLoop]: === Iteration 1 === [__blast_assertErr0ASSERT_VIOLATIONERROR_FUNCTION]=== [2020-07-08 12:23:57,623 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2020-07-08 12:23:57,623 INFO L82 PathProgramCache]: Analyzing trace with hash -573637036, now seen corresponding path program 1 times [2020-07-08 12:23:57,632 INFO L163 FreeRefinementEngine]: Executing refinement strategy CAMEL [2020-07-08 12:23:57,633 INFO L354 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [452216986] [2020-07-08 12:23:57,633 INFO L94 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2020-07-08 12:23:57,754 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2020-07-08 12:23:58,030 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2020-07-08 12:23:58,053 INFO L280 TraceCheckUtils]: 0: Hoare triple {60#(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;#valid := #valid[0 := 0];assume 0 < #StackHeapBarrier;~guard_malloc_counter~0.base, ~guard_malloc_counter~0.offset := 0, 0;~elem~0.base, ~elem~0.offset := 0, 0;call ~#head~0.base, ~#head~0.offset := #Ultimate.allocOnStack(8);call write~init~$Pointer$(0, 0, ~#head~0.base, ~#head~0.offset, 4);call write~init~$Pointer$(0, 0, ~#head~0.base, 4 + ~#head~0.offset, 4); {51#true} is VALID [2020-07-08 12:23:58,054 INFO L280 TraceCheckUtils]: 1: Hoare triple {51#true} assume true; {51#true} is VALID [2020-07-08 12:23:58,055 INFO L275 TraceCheckUtils]: 2: Hoare quadruple {51#true} {51#true} #89#return; {51#true} is VALID [2020-07-08 12:23:58,059 INFO L263 TraceCheckUtils]: 0: Hoare triple {51#true} call ULTIMATE.init(); {60#(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-08 12:23:58,060 INFO L280 TraceCheckUtils]: 1: Hoare triple {60#(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;#valid := #valid[0 := 0];assume 0 < #StackHeapBarrier;~guard_malloc_counter~0.base, ~guard_malloc_counter~0.offset := 0, 0;~elem~0.base, ~elem~0.offset := 0, 0;call ~#head~0.base, ~#head~0.offset := #Ultimate.allocOnStack(8);call write~init~$Pointer$(0, 0, ~#head~0.base, ~#head~0.offset, 4);call write~init~$Pointer$(0, 0, ~#head~0.base, 4 + ~#head~0.offset, 4); {51#true} is VALID [2020-07-08 12:23:58,060 INFO L280 TraceCheckUtils]: 2: Hoare triple {51#true} assume true; {51#true} is VALID [2020-07-08 12:23:58,061 INFO L275 TraceCheckUtils]: 3: Hoare quadruple {51#true} {51#true} #89#return; {51#true} is VALID [2020-07-08 12:23:58,061 INFO L263 TraceCheckUtils]: 4: Hoare triple {51#true} call #t~ret34 := main(); {51#true} is VALID [2020-07-08 12:23:58,061 INFO L280 TraceCheckUtils]: 5: Hoare triple {51#true} havoc ~dev1~0.base, ~dev1~0.offset;havoc ~dev2~0.base, ~dev2~0.offset; {51#true} is VALID [2020-07-08 12:23:58,063 INFO L263 TraceCheckUtils]: 6: Hoare triple {51#true} call #t~ret32.base, #t~ret32.offset := my_malloc(8); {56#(= 8 |my_malloc_#in~size|)} is VALID [2020-07-08 12:23:58,072 INFO L280 TraceCheckUtils]: 7: Hoare triple {56#(= 8 |my_malloc_#in~size|)} ~size := #in~size; {57#(= 8 my_malloc_~size)} is VALID [2020-07-08 12:23:58,074 INFO L263 TraceCheckUtils]: 8: Hoare triple {57#(= 8 my_malloc_~size)} call #t~ret30.base, #t~ret30.offset := __getMemory(~size); {58#(= 8 |__getMemory_#in~size|)} is VALID [2020-07-08 12:23:58,077 INFO L280 TraceCheckUtils]: 9: Hoare triple {58#(= 8 |__getMemory_#in~size|)} ~size := #in~size; {59#(= 8 __getMemory_~size)} is VALID [2020-07-08 12:23:58,079 INFO L280 TraceCheckUtils]: 10: Hoare triple {59#(= 8 __getMemory_~size)} assume !(~size > 0); {52#false} is VALID [2020-07-08 12:23:58,080 INFO L263 TraceCheckUtils]: 11: Hoare triple {52#false} call __blast_assert(); {52#false} is VALID [2020-07-08 12:23:58,080 INFO L280 TraceCheckUtils]: 12: Hoare triple {52#false} assume !false; {52#false} is VALID [2020-07-08 12:23:58,083 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-08 12:23:58,085 INFO L354 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleSmtInterpolCraig [452216986] [2020-07-08 12:23:58,086 INFO L220 FreeRefinementEngine]: Constructing automaton from 1 perfect and 0 imperfect interpolant sequences. [2020-07-08 12:23:58,087 INFO L233 FreeRefinementEngine]: Number of different interpolants: perfect sequences [7] imperfect sequences [] total 7 [2020-07-08 12:23:58,088 INFO L156 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [1939531163] [2020-07-08 12:23:58,095 INFO L78 Accepts]: Start accepts. Automaton has 7 states. Word has length 13 [2020-07-08 12:23:58,099 INFO L84 Accepts]: Finished accepts. word is accepted. [2020-07-08 12:23:58,104 INFO L86 InductivityCheck]: Starting indutivity check of a Floyd-Hoare automaton with 7 states. [2020-07-08 12:23:58,141 INFO L119 InductivityCheck]: Floyd-Hoare automaton has 13 edges. 13 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2020-07-08 12:23:58,142 INFO L459 AbstractCegarLoop]: Interpolant automaton has 7 states [2020-07-08 12:23:58,142 INFO L143 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy CAMEL [2020-07-08 12:23:58,151 INFO L142 InterpolantAutomaton]: Constructing interpolant automaton starting with 7 interpolants. [2020-07-08 12:23:58,153 INFO L144 InterpolantAutomaton]: CoverageRelationStatistics Valid=11, Invalid=31, Unknown=0, NotChecked=0, Total=42 [2020-07-08 12:23:58,156 INFO L87 Difference]: Start difference. First operand 48 states. Second operand 7 states. [2020-07-08 12:23:59,443 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2020-07-08 12:23:59,444 INFO L93 Difference]: Finished difference Result 90 states and 119 transitions. [2020-07-08 12:23:59,444 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 9 states. [2020-07-08 12:23:59,444 INFO L78 Accepts]: Start accepts. Automaton has 7 states. Word has length 13 [2020-07-08 12:23:59,444 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2020-07-08 12:23:59,446 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 7 states. [2020-07-08 12:23:59,460 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 9 states to 9 states and 119 transitions. [2020-07-08 12:23:59,460 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 7 states. [2020-07-08 12:23:59,468 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 9 states to 9 states and 119 transitions. [2020-07-08 12:23:59,468 INFO L86 InductivityCheck]: Starting indutivity check of a Floyd-Hoare automaton with 9 states and 119 transitions. [2020-07-08 12:23:59,662 INFO L119 InductivityCheck]: Floyd-Hoare automaton has 119 edges. 119 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2020-07-08 12:23:59,678 INFO L225 Difference]: With dead ends: 90 [2020-07-08 12:23:59,678 INFO L226 Difference]: Without dead ends: 44 [2020-07-08 12:23:59,683 INFO L675 BasicCegarLoop]: 0 DeclaredPredicates, 14 GetRequests, 3 SyntacticMatches, 0 SemanticMatches, 11 ConstructedPredicates, 0 IntricatePredicates, 0 DeprecatedPredicates, 13 ImplicationChecksByTransitivity, 0.4s TimeCoverageRelationStatistics Valid=41, Invalid=115, Unknown=0, NotChecked=0, Total=156 [2020-07-08 12:23:59,704 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 44 states. [2020-07-08 12:23:59,791 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 44 to 40. [2020-07-08 12:23:59,791 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2020-07-08 12:23:59,792 INFO L82 GeneralOperation]: Start isEquivalent. First operand 44 states. Second operand 40 states. [2020-07-08 12:23:59,793 INFO L74 IsIncluded]: Start isIncluded. First operand 44 states. Second operand 40 states. [2020-07-08 12:23:59,793 INFO L87 Difference]: Start difference. First operand 44 states. Second operand 40 states. [2020-07-08 12:23:59,799 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2020-07-08 12:23:59,799 INFO L93 Difference]: Finished difference Result 44 states and 52 transitions. [2020-07-08 12:23:59,800 INFO L276 IsEmpty]: Start isEmpty. Operand 44 states and 52 transitions. [2020-07-08 12:23:59,801 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2020-07-08 12:23:59,801 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2020-07-08 12:23:59,801 INFO L74 IsIncluded]: Start isIncluded. First operand 40 states. Second operand 44 states. [2020-07-08 12:23:59,802 INFO L87 Difference]: Start difference. First operand 40 states. Second operand 44 states. [2020-07-08 12:23:59,807 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2020-07-08 12:23:59,807 INFO L93 Difference]: Finished difference Result 44 states and 52 transitions. [2020-07-08 12:23:59,808 INFO L276 IsEmpty]: Start isEmpty. Operand 44 states and 52 transitions. [2020-07-08 12:23:59,809 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2020-07-08 12:23:59,809 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2020-07-08 12:23:59,809 INFO L88 GeneralOperation]: Finished isEquivalent. [2020-07-08 12:23:59,809 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2020-07-08 12:23:59,810 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 40 states. [2020-07-08 12:23:59,813 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 40 states to 40 states and 46 transitions. [2020-07-08 12:23:59,815 INFO L78 Accepts]: Start accepts. Automaton has 40 states and 46 transitions. Word has length 13 [2020-07-08 12:23:59,815 INFO L84 Accepts]: Finished accepts. word is rejected. [2020-07-08 12:23:59,815 INFO L479 AbstractCegarLoop]: Abstraction has 40 states and 46 transitions. [2020-07-08 12:23:59,816 INFO L480 AbstractCegarLoop]: Interpolant automaton has 7 states. [2020-07-08 12:23:59,816 INFO L276 IsEmpty]: Start isEmpty. Operand 40 states and 46 transitions. [2020-07-08 12:23:59,817 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 39 [2020-07-08 12:23:59,817 INFO L414 BasicCegarLoop]: Found error trace [2020-07-08 12:23:59,818 INFO L422 BasicCegarLoop]: trace histogram [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] [2020-07-08 12:23:59,818 WARN L516 AbstractCegarLoop]: Destroyed unattended storables created during the last iteration: SelfDestructingSolverStorable0 [2020-07-08 12:23:59,818 INFO L427 AbstractCegarLoop]: === Iteration 2 === [__blast_assertErr0ASSERT_VIOLATIONERROR_FUNCTION]=== [2020-07-08 12:23:59,821 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2020-07-08 12:23:59,822 INFO L82 PathProgramCache]: Analyzing trace with hash 1917870949, now seen corresponding path program 1 times [2020-07-08 12:23:59,822 INFO L163 FreeRefinementEngine]: Executing refinement strategy CAMEL [2020-07-08 12:23:59,822 INFO L354 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [1707096179] [2020-07-08 12:23:59,822 INFO L94 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2020-07-08 12:23:59,863 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2020-07-08 12:23:59,970 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2020-07-08 12:23:59,983 INFO L280 TraceCheckUtils]: 0: Hoare triple {372#(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;#valid := #valid[0 := 0];assume 0 < #StackHeapBarrier;~guard_malloc_counter~0.base, ~guard_malloc_counter~0.offset := 0, 0;~elem~0.base, ~elem~0.offset := 0, 0;call ~#head~0.base, ~#head~0.offset := #Ultimate.allocOnStack(8);call write~init~$Pointer$(0, 0, ~#head~0.base, ~#head~0.offset, 4);call write~init~$Pointer$(0, 0, ~#head~0.base, 4 + ~#head~0.offset, 4); {343#true} is VALID [2020-07-08 12:23:59,983 INFO L280 TraceCheckUtils]: 1: Hoare triple {343#true} assume true; {343#true} is VALID [2020-07-08 12:23:59,984 INFO L275 TraceCheckUtils]: 2: Hoare quadruple {343#true} {343#true} #89#return; {343#true} is VALID [2020-07-08 12:24:00,021 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2020-07-08 12:24:00,148 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2020-07-08 12:24:00,184 INFO L280 TraceCheckUtils]: 0: Hoare triple {373#(and (= ~guard_malloc_counter~0.offset |old(~guard_malloc_counter~0.offset)|) (= ~guard_malloc_counter~0.base |old(~guard_malloc_counter~0.base)|))} ~size := #in~size; {343#true} is VALID [2020-07-08 12:24:00,185 INFO L280 TraceCheckUtils]: 1: Hoare triple {343#true} assume ~size > 0; {343#true} is VALID [2020-07-08 12:24:00,185 INFO L280 TraceCheckUtils]: 2: Hoare triple {343#true} #t~post28.base, #t~post28.offset := ~guard_malloc_counter~0.base, ~guard_malloc_counter~0.offset;~guard_malloc_counter~0.base, ~guard_malloc_counter~0.offset := #t~post28.base, 1 + #t~post28.offset;havoc #t~post28.base, #t~post28.offset;assume -2147483648 <= #t~nondet29 && #t~nondet29 <= 2147483647; {343#true} is VALID [2020-07-08 12:24:00,186 INFO L280 TraceCheckUtils]: 3: Hoare triple {343#true} assume 0 == #t~nondet29;havoc #t~nondet29;#res.base, #res.offset := 0, 0; {382#(and (<= |__getMemory_#res.base| 0) (<= |__getMemory_#res.offset| 0) (<= 0 |__getMemory_#res.offset|) (<= 0 |__getMemory_#res.base|))} is VALID [2020-07-08 12:24:00,187 INFO L280 TraceCheckUtils]: 4: Hoare triple {382#(and (<= |__getMemory_#res.base| 0) (<= |__getMemory_#res.offset| 0) (<= 0 |__getMemory_#res.offset|) (<= 0 |__getMemory_#res.base|))} assume true; {382#(and (<= |__getMemory_#res.base| 0) (<= |__getMemory_#res.offset| 0) (<= 0 |__getMemory_#res.offset|) (<= 0 |__getMemory_#res.base|))} is VALID [2020-07-08 12:24:00,189 INFO L275 TraceCheckUtils]: 5: Hoare quadruple {382#(and (<= |__getMemory_#res.base| 0) (<= |__getMemory_#res.offset| 0) (<= 0 |__getMemory_#res.offset|) (<= 0 |__getMemory_#res.base|))} {343#true} #69#return; {380#(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-08 12:24:00,190 INFO L280 TraceCheckUtils]: 0: Hoare triple {373#(and (= ~guard_malloc_counter~0.offset |old(~guard_malloc_counter~0.offset)|) (= ~guard_malloc_counter~0.base |old(~guard_malloc_counter~0.base)|))} ~size := #in~size; {343#true} is VALID [2020-07-08 12:24:00,191 INFO L263 TraceCheckUtils]: 1: Hoare triple {343#true} call #t~ret30.base, #t~ret30.offset := __getMemory(~size); {373#(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-08 12:24:00,192 INFO L280 TraceCheckUtils]: 2: Hoare triple {373#(and (= ~guard_malloc_counter~0.offset |old(~guard_malloc_counter~0.offset)|) (= ~guard_malloc_counter~0.base |old(~guard_malloc_counter~0.base)|))} ~size := #in~size; {343#true} is VALID [2020-07-08 12:24:00,192 INFO L280 TraceCheckUtils]: 3: Hoare triple {343#true} assume ~size > 0; {343#true} is VALID [2020-07-08 12:24:00,192 INFO L280 TraceCheckUtils]: 4: Hoare triple {343#true} #t~post28.base, #t~post28.offset := ~guard_malloc_counter~0.base, ~guard_malloc_counter~0.offset;~guard_malloc_counter~0.base, ~guard_malloc_counter~0.offset := #t~post28.base, 1 + #t~post28.offset;havoc #t~post28.base, #t~post28.offset;assume -2147483648 <= #t~nondet29 && #t~nondet29 <= 2147483647; {343#true} is VALID [2020-07-08 12:24:00,197 INFO L280 TraceCheckUtils]: 5: Hoare triple {343#true} assume 0 == #t~nondet29;havoc #t~nondet29;#res.base, #res.offset := 0, 0; {382#(and (<= |__getMemory_#res.base| 0) (<= |__getMemory_#res.offset| 0) (<= 0 |__getMemory_#res.offset|) (<= 0 |__getMemory_#res.base|))} is VALID [2020-07-08 12:24:00,201 INFO L280 TraceCheckUtils]: 6: Hoare triple {382#(and (<= |__getMemory_#res.base| 0) (<= |__getMemory_#res.offset| 0) (<= 0 |__getMemory_#res.offset|) (<= 0 |__getMemory_#res.base|))} assume true; {382#(and (<= |__getMemory_#res.base| 0) (<= |__getMemory_#res.offset| 0) (<= 0 |__getMemory_#res.offset|) (<= 0 |__getMemory_#res.base|))} is VALID [2020-07-08 12:24:00,209 INFO L275 TraceCheckUtils]: 7: Hoare quadruple {382#(and (<= |__getMemory_#res.base| 0) (<= |__getMemory_#res.offset| 0) (<= 0 |__getMemory_#res.offset|) (<= 0 |__getMemory_#res.base|))} {343#true} #69#return; {380#(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-08 12:24:00,210 INFO L280 TraceCheckUtils]: 8: Hoare triple {380#(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;havoc #t~ret30.base, #t~ret30.offset; {381#(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-08 12:24:00,211 INFO L280 TraceCheckUtils]: 9: Hoare triple {381#(and (<= |my_malloc_#res.base| 0) (<= |my_malloc_#res.offset| 0) (<= 0 |my_malloc_#res.base|) (<= 0 |my_malloc_#res.offset|))} assume true; {381#(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-08 12:24:00,213 INFO L275 TraceCheckUtils]: 10: Hoare quadruple {381#(and (<= |my_malloc_#res.base| 0) (<= |my_malloc_#res.offset| 0) (<= 0 |my_malloc_#res.base|) (<= 0 |my_malloc_#res.offset|))} {343#true} #71#return; {359#(and (= 0 |main_#t~ret32.base|) (= |main_#t~ret32.offset| 0))} is VALID [2020-07-08 12:24:00,221 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2020-07-08 12:24:00,234 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2020-07-08 12:24:00,241 INFO L280 TraceCheckUtils]: 0: Hoare triple {373#(and (= ~guard_malloc_counter~0.offset |old(~guard_malloc_counter~0.offset)|) (= ~guard_malloc_counter~0.base |old(~guard_malloc_counter~0.base)|))} ~size := #in~size; {343#true} is VALID [2020-07-08 12:24:00,242 INFO L280 TraceCheckUtils]: 1: Hoare triple {343#true} assume ~size > 0; {343#true} is VALID [2020-07-08 12:24:00,242 INFO L280 TraceCheckUtils]: 2: Hoare triple {343#true} #t~post28.base, #t~post28.offset := ~guard_malloc_counter~0.base, ~guard_malloc_counter~0.offset;~guard_malloc_counter~0.base, ~guard_malloc_counter~0.offset := #t~post28.base, 1 + #t~post28.offset;havoc #t~post28.base, #t~post28.offset;assume -2147483648 <= #t~nondet29 && #t~nondet29 <= 2147483647; {343#true} is VALID [2020-07-08 12:24:00,242 INFO L280 TraceCheckUtils]: 3: Hoare triple {343#true} assume 0 == #t~nondet29;havoc #t~nondet29;#res.base, #res.offset := 0, 0; {343#true} is VALID [2020-07-08 12:24:00,243 INFO L280 TraceCheckUtils]: 4: Hoare triple {343#true} assume true; {343#true} is VALID [2020-07-08 12:24:00,243 INFO L275 TraceCheckUtils]: 5: Hoare quadruple {343#true} {343#true} #69#return; {343#true} is VALID [2020-07-08 12:24:00,243 INFO L280 TraceCheckUtils]: 0: Hoare triple {373#(and (= ~guard_malloc_counter~0.offset |old(~guard_malloc_counter~0.offset)|) (= ~guard_malloc_counter~0.base |old(~guard_malloc_counter~0.base)|))} ~size := #in~size; {343#true} is VALID [2020-07-08 12:24:00,244 INFO L263 TraceCheckUtils]: 1: Hoare triple {343#true} call #t~ret30.base, #t~ret30.offset := __getMemory(~size); {373#(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-08 12:24:00,245 INFO L280 TraceCheckUtils]: 2: Hoare triple {373#(and (= ~guard_malloc_counter~0.offset |old(~guard_malloc_counter~0.offset)|) (= ~guard_malloc_counter~0.base |old(~guard_malloc_counter~0.base)|))} ~size := #in~size; {343#true} is VALID [2020-07-08 12:24:00,245 INFO L280 TraceCheckUtils]: 3: Hoare triple {343#true} assume ~size > 0; {343#true} is VALID [2020-07-08 12:24:00,245 INFO L280 TraceCheckUtils]: 4: Hoare triple {343#true} #t~post28.base, #t~post28.offset := ~guard_malloc_counter~0.base, ~guard_malloc_counter~0.offset;~guard_malloc_counter~0.base, ~guard_malloc_counter~0.offset := #t~post28.base, 1 + #t~post28.offset;havoc #t~post28.base, #t~post28.offset;assume -2147483648 <= #t~nondet29 && #t~nondet29 <= 2147483647; {343#true} is VALID [2020-07-08 12:24:00,246 INFO L280 TraceCheckUtils]: 5: Hoare triple {343#true} assume 0 == #t~nondet29;havoc #t~nondet29;#res.base, #res.offset := 0, 0; {343#true} is VALID [2020-07-08 12:24:00,246 INFO L280 TraceCheckUtils]: 6: Hoare triple {343#true} assume true; {343#true} is VALID [2020-07-08 12:24:00,246 INFO L275 TraceCheckUtils]: 7: Hoare quadruple {343#true} {343#true} #69#return; {343#true} is VALID [2020-07-08 12:24:00,247 INFO L280 TraceCheckUtils]: 8: Hoare triple {343#true} #res.base, #res.offset := #t~ret30.base, #t~ret30.offset;havoc #t~ret30.base, #t~ret30.offset; {343#true} is VALID [2020-07-08 12:24:00,247 INFO L280 TraceCheckUtils]: 9: Hoare triple {343#true} assume true; {343#true} is VALID [2020-07-08 12:24:00,248 INFO L275 TraceCheckUtils]: 10: Hoare quadruple {343#true} {360#(and (= 0 main_~dev1~0.base) (= 0 main_~dev1~0.offset))} #73#return; {360#(and (= 0 main_~dev1~0.base) (= 0 main_~dev1~0.offset))} is VALID [2020-07-08 12:24:00,251 INFO L263 TraceCheckUtils]: 0: Hoare triple {343#true} call ULTIMATE.init(); {372#(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-08 12:24:00,252 INFO L280 TraceCheckUtils]: 1: Hoare triple {372#(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;#valid := #valid[0 := 0];assume 0 < #StackHeapBarrier;~guard_malloc_counter~0.base, ~guard_malloc_counter~0.offset := 0, 0;~elem~0.base, ~elem~0.offset := 0, 0;call ~#head~0.base, ~#head~0.offset := #Ultimate.allocOnStack(8);call write~init~$Pointer$(0, 0, ~#head~0.base, ~#head~0.offset, 4);call write~init~$Pointer$(0, 0, ~#head~0.base, 4 + ~#head~0.offset, 4); {343#true} is VALID [2020-07-08 12:24:00,252 INFO L280 TraceCheckUtils]: 2: Hoare triple {343#true} assume true; {343#true} is VALID [2020-07-08 12:24:00,252 INFO L275 TraceCheckUtils]: 3: Hoare quadruple {343#true} {343#true} #89#return; {343#true} is VALID [2020-07-08 12:24:00,253 INFO L263 TraceCheckUtils]: 4: Hoare triple {343#true} call #t~ret34 := main(); {343#true} is VALID [2020-07-08 12:24:00,253 INFO L280 TraceCheckUtils]: 5: Hoare triple {343#true} havoc ~dev1~0.base, ~dev1~0.offset;havoc ~dev2~0.base, ~dev2~0.offset; {343#true} is VALID [2020-07-08 12:24:00,254 INFO L263 TraceCheckUtils]: 6: Hoare triple {343#true} call #t~ret32.base, #t~ret32.offset := my_malloc(8); {373#(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-08 12:24:00,255 INFO L280 TraceCheckUtils]: 7: Hoare triple {373#(and (= ~guard_malloc_counter~0.offset |old(~guard_malloc_counter~0.offset)|) (= ~guard_malloc_counter~0.base |old(~guard_malloc_counter~0.base)|))} ~size := #in~size; {343#true} is VALID [2020-07-08 12:24:00,256 INFO L263 TraceCheckUtils]: 8: Hoare triple {343#true} call #t~ret30.base, #t~ret30.offset := __getMemory(~size); {373#(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-08 12:24:00,256 INFO L280 TraceCheckUtils]: 9: Hoare triple {373#(and (= ~guard_malloc_counter~0.offset |old(~guard_malloc_counter~0.offset)|) (= ~guard_malloc_counter~0.base |old(~guard_malloc_counter~0.base)|))} ~size := #in~size; {343#true} is VALID [2020-07-08 12:24:00,257 INFO L280 TraceCheckUtils]: 10: Hoare triple {343#true} assume ~size > 0; {343#true} is VALID [2020-07-08 12:24:00,257 INFO L280 TraceCheckUtils]: 11: Hoare triple {343#true} #t~post28.base, #t~post28.offset := ~guard_malloc_counter~0.base, ~guard_malloc_counter~0.offset;~guard_malloc_counter~0.base, ~guard_malloc_counter~0.offset := #t~post28.base, 1 + #t~post28.offset;havoc #t~post28.base, #t~post28.offset;assume -2147483648 <= #t~nondet29 && #t~nondet29 <= 2147483647; {343#true} is VALID [2020-07-08 12:24:00,258 INFO L280 TraceCheckUtils]: 12: Hoare triple {343#true} assume 0 == #t~nondet29;havoc #t~nondet29;#res.base, #res.offset := 0, 0; {382#(and (<= |__getMemory_#res.base| 0) (<= |__getMemory_#res.offset| 0) (<= 0 |__getMemory_#res.offset|) (<= 0 |__getMemory_#res.base|))} is VALID [2020-07-08 12:24:00,260 INFO L280 TraceCheckUtils]: 13: Hoare triple {382#(and (<= |__getMemory_#res.base| 0) (<= |__getMemory_#res.offset| 0) (<= 0 |__getMemory_#res.offset|) (<= 0 |__getMemory_#res.base|))} assume true; {382#(and (<= |__getMemory_#res.base| 0) (<= |__getMemory_#res.offset| 0) (<= 0 |__getMemory_#res.offset|) (<= 0 |__getMemory_#res.base|))} is VALID [2020-07-08 12:24:00,262 INFO L275 TraceCheckUtils]: 14: Hoare quadruple {382#(and (<= |__getMemory_#res.base| 0) (<= |__getMemory_#res.offset| 0) (<= 0 |__getMemory_#res.offset|) (<= 0 |__getMemory_#res.base|))} {343#true} #69#return; {380#(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-08 12:24:00,263 INFO L280 TraceCheckUtils]: 15: Hoare triple {380#(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;havoc #t~ret30.base, #t~ret30.offset; {381#(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-08 12:24:00,264 INFO L280 TraceCheckUtils]: 16: Hoare triple {381#(and (<= |my_malloc_#res.base| 0) (<= |my_malloc_#res.offset| 0) (<= 0 |my_malloc_#res.base|) (<= 0 |my_malloc_#res.offset|))} assume true; {381#(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-08 12:24:00,265 INFO L275 TraceCheckUtils]: 17: Hoare quadruple {381#(and (<= |my_malloc_#res.base| 0) (<= |my_malloc_#res.offset| 0) (<= 0 |my_malloc_#res.base|) (<= 0 |my_malloc_#res.offset|))} {343#true} #71#return; {359#(and (= 0 |main_#t~ret32.base|) (= |main_#t~ret32.offset| 0))} is VALID [2020-07-08 12:24:00,266 INFO L280 TraceCheckUtils]: 18: Hoare triple {359#(and (= 0 |main_#t~ret32.base|) (= |main_#t~ret32.offset| 0))} ~dev1~0.base, ~dev1~0.offset := #t~ret32.base, #t~ret32.offset;havoc #t~ret32.base, #t~ret32.offset; {360#(and (= 0 main_~dev1~0.base) (= 0 main_~dev1~0.offset))} is VALID [2020-07-08 12:24:00,268 INFO L263 TraceCheckUtils]: 19: Hoare triple {360#(and (= 0 main_~dev1~0.base) (= 0 main_~dev1~0.offset))} call #t~ret33.base, #t~ret33.offset := my_malloc(8); {373#(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-08 12:24:00,268 INFO L280 TraceCheckUtils]: 20: Hoare triple {373#(and (= ~guard_malloc_counter~0.offset |old(~guard_malloc_counter~0.offset)|) (= ~guard_malloc_counter~0.base |old(~guard_malloc_counter~0.base)|))} ~size := #in~size; {343#true} is VALID [2020-07-08 12:24:00,269 INFO L263 TraceCheckUtils]: 21: Hoare triple {343#true} call #t~ret30.base, #t~ret30.offset := __getMemory(~size); {373#(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-08 12:24:00,269 INFO L280 TraceCheckUtils]: 22: Hoare triple {373#(and (= ~guard_malloc_counter~0.offset |old(~guard_malloc_counter~0.offset)|) (= ~guard_malloc_counter~0.base |old(~guard_malloc_counter~0.base)|))} ~size := #in~size; {343#true} is VALID [2020-07-08 12:24:00,270 INFO L280 TraceCheckUtils]: 23: Hoare triple {343#true} assume ~size > 0; {343#true} is VALID [2020-07-08 12:24:00,270 INFO L280 TraceCheckUtils]: 24: Hoare triple {343#true} #t~post28.base, #t~post28.offset := ~guard_malloc_counter~0.base, ~guard_malloc_counter~0.offset;~guard_malloc_counter~0.base, ~guard_malloc_counter~0.offset := #t~post28.base, 1 + #t~post28.offset;havoc #t~post28.base, #t~post28.offset;assume -2147483648 <= #t~nondet29 && #t~nondet29 <= 2147483647; {343#true} is VALID [2020-07-08 12:24:00,270 INFO L280 TraceCheckUtils]: 25: Hoare triple {343#true} assume 0 == #t~nondet29;havoc #t~nondet29;#res.base, #res.offset := 0, 0; {343#true} is VALID [2020-07-08 12:24:00,271 INFO L280 TraceCheckUtils]: 26: Hoare triple {343#true} assume true; {343#true} is VALID [2020-07-08 12:24:00,271 INFO L275 TraceCheckUtils]: 27: Hoare quadruple {343#true} {343#true} #69#return; {343#true} is VALID [2020-07-08 12:24:00,271 INFO L280 TraceCheckUtils]: 28: Hoare triple {343#true} #res.base, #res.offset := #t~ret30.base, #t~ret30.offset;havoc #t~ret30.base, #t~ret30.offset; {343#true} is VALID [2020-07-08 12:24:00,272 INFO L280 TraceCheckUtils]: 29: Hoare triple {343#true} assume true; {343#true} is VALID [2020-07-08 12:24:00,273 INFO L275 TraceCheckUtils]: 30: Hoare quadruple {343#true} {360#(and (= 0 main_~dev1~0.base) (= 0 main_~dev1~0.offset))} #73#return; {360#(and (= 0 main_~dev1~0.base) (= 0 main_~dev1~0.offset))} is VALID [2020-07-08 12:24:00,274 INFO L280 TraceCheckUtils]: 31: Hoare triple {360#(and (= 0 main_~dev1~0.base) (= 0 main_~dev1~0.offset))} ~dev2~0.base, ~dev2~0.offset := #t~ret33.base, #t~ret33.offset;havoc #t~ret33.base, #t~ret33.offset; {360#(and (= 0 main_~dev1~0.base) (= 0 main_~dev1~0.offset))} is VALID [2020-07-08 12:24:00,275 INFO L280 TraceCheckUtils]: 32: Hoare triple {360#(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); {344#false} is VALID [2020-07-08 12:24:00,275 INFO L263 TraceCheckUtils]: 33: Hoare triple {344#false} call list_add(~dev2~0.base, ~dev2~0.offset, ~#head~0.base, ~#head~0.offset); {344#false} is VALID [2020-07-08 12:24:00,276 INFO L280 TraceCheckUtils]: 34: Hoare triple {344#false} ~new.base, ~new.offset := #in~new.base, #in~new.offset;~head.base, ~head.offset := #in~head.base, #in~head.offset; {344#false} is VALID [2020-07-08 12:24:00,276 INFO L280 TraceCheckUtils]: 35: Hoare triple {344#false} assume !(~new.base != ~elem~0.base || ~new.offset != ~elem~0.offset); {344#false} is VALID [2020-07-08 12:24:00,276 INFO L263 TraceCheckUtils]: 36: Hoare triple {344#false} call __blast_assert(); {344#false} is VALID [2020-07-08 12:24:00,277 INFO L280 TraceCheckUtils]: 37: Hoare triple {344#false} assume !false; {344#false} is VALID [2020-07-08 12:24:00,280 INFO L134 CoverageAnalysis]: Checked inductivity of 11 backedges. 0 proven. 5 refuted. 0 times theorem prover too weak. 6 trivial. 0 not checked. [2020-07-08 12:24:00,281 INFO L354 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleSmtInterpolCraig [1707096179] [2020-07-08 12:24:00,281 INFO L354 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleZ3 [358747898] [2020-07-08 12:24:00,281 INFO L94 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 Starting monitored process 2 with z3 -smt2 -in SMTLIB2_COMPLIANT=true (exit command is (exit), workingDir is null) Waiting until toolchain timeout for monitored process 2 with z3 -smt2 -in SMTLIB2_COMPLIANT=true [2020-07-08 12:24:00,422 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2020-07-08 12:24:00,426 INFO L264 TraceCheckSpWp]: Trace formula consists of 232 conjuncts, 21 conjunts are in the unsatisfiable core [2020-07-08 12:24:00,446 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2020-07-08 12:24:00,454 INFO L287 TraceCheckSpWp]: Computing forward predicates... [2020-07-08 12:24:00,565 INFO L263 TraceCheckUtils]: 0: Hoare triple {343#true} call ULTIMATE.init(); {343#true} is VALID [2020-07-08 12:24:00,566 INFO L280 TraceCheckUtils]: 1: Hoare triple {343#true} #NULL.base, #NULL.offset := 0, 0;#valid := #valid[0 := 0];assume 0 < #StackHeapBarrier;~guard_malloc_counter~0.base, ~guard_malloc_counter~0.offset := 0, 0;~elem~0.base, ~elem~0.offset := 0, 0;call ~#head~0.base, ~#head~0.offset := #Ultimate.allocOnStack(8);call write~init~$Pointer$(0, 0, ~#head~0.base, ~#head~0.offset, 4);call write~init~$Pointer$(0, 0, ~#head~0.base, 4 + ~#head~0.offset, 4); {343#true} is VALID [2020-07-08 12:24:00,566 INFO L280 TraceCheckUtils]: 2: Hoare triple {343#true} assume true; {343#true} is VALID [2020-07-08 12:24:00,566 INFO L275 TraceCheckUtils]: 3: Hoare quadruple {343#true} {343#true} #89#return; {343#true} is VALID [2020-07-08 12:24:00,567 INFO L263 TraceCheckUtils]: 4: Hoare triple {343#true} call #t~ret34 := main(); {343#true} is VALID [2020-07-08 12:24:00,567 INFO L280 TraceCheckUtils]: 5: Hoare triple {343#true} havoc ~dev1~0.base, ~dev1~0.offset;havoc ~dev2~0.base, ~dev2~0.offset; {343#true} is VALID [2020-07-08 12:24:00,567 INFO L263 TraceCheckUtils]: 6: Hoare triple {343#true} call #t~ret32.base, #t~ret32.offset := my_malloc(8); {343#true} is VALID [2020-07-08 12:24:00,568 INFO L280 TraceCheckUtils]: 7: Hoare triple {343#true} ~size := #in~size; {343#true} is VALID [2020-07-08 12:24:00,568 INFO L263 TraceCheckUtils]: 8: Hoare triple {343#true} call #t~ret30.base, #t~ret30.offset := __getMemory(~size); {343#true} is VALID [2020-07-08 12:24:00,568 INFO L280 TraceCheckUtils]: 9: Hoare triple {343#true} ~size := #in~size; {343#true} is VALID [2020-07-08 12:24:00,569 INFO L280 TraceCheckUtils]: 10: Hoare triple {343#true} assume ~size > 0; {343#true} is VALID [2020-07-08 12:24:00,569 INFO L280 TraceCheckUtils]: 11: Hoare triple {343#true} #t~post28.base, #t~post28.offset := ~guard_malloc_counter~0.base, ~guard_malloc_counter~0.offset;~guard_malloc_counter~0.base, ~guard_malloc_counter~0.offset := #t~post28.base, 1 + #t~post28.offset;havoc #t~post28.base, #t~post28.offset;assume -2147483648 <= #t~nondet29 && #t~nondet29 <= 2147483647; {343#true} is VALID [2020-07-08 12:24:00,570 INFO L280 TraceCheckUtils]: 12: Hoare triple {343#true} assume 0 == #t~nondet29;havoc #t~nondet29;#res.base, #res.offset := 0, 0; {382#(and (<= |__getMemory_#res.base| 0) (<= |__getMemory_#res.offset| 0) (<= 0 |__getMemory_#res.offset|) (<= 0 |__getMemory_#res.base|))} is VALID [2020-07-08 12:24:00,571 INFO L280 TraceCheckUtils]: 13: Hoare triple {382#(and (<= |__getMemory_#res.base| 0) (<= |__getMemory_#res.offset| 0) (<= 0 |__getMemory_#res.offset|) (<= 0 |__getMemory_#res.base|))} assume true; {382#(and (<= |__getMemory_#res.base| 0) (<= |__getMemory_#res.offset| 0) (<= 0 |__getMemory_#res.offset|) (<= 0 |__getMemory_#res.base|))} is VALID [2020-07-08 12:24:00,573 INFO L275 TraceCheckUtils]: 14: Hoare quadruple {382#(and (<= |__getMemory_#res.base| 0) (<= |__getMemory_#res.offset| 0) (<= 0 |__getMemory_#res.offset|) (<= 0 |__getMemory_#res.base|))} {343#true} #69#return; {380#(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-08 12:24:00,574 INFO L280 TraceCheckUtils]: 15: Hoare triple {380#(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;havoc #t~ret30.base, #t~ret30.offset; {381#(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-08 12:24:00,575 INFO L280 TraceCheckUtils]: 16: Hoare triple {381#(and (<= |my_malloc_#res.base| 0) (<= |my_malloc_#res.offset| 0) (<= 0 |my_malloc_#res.base|) (<= 0 |my_malloc_#res.offset|))} assume true; {381#(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-08 12:24:00,577 INFO L275 TraceCheckUtils]: 17: Hoare quadruple {381#(and (<= |my_malloc_#res.base| 0) (<= |my_malloc_#res.offset| 0) (<= 0 |my_malloc_#res.base|) (<= 0 |my_malloc_#res.offset|))} {343#true} #71#return; {359#(and (= 0 |main_#t~ret32.base|) (= |main_#t~ret32.offset| 0))} is VALID [2020-07-08 12:24:00,578 INFO L280 TraceCheckUtils]: 18: Hoare triple {359#(and (= 0 |main_#t~ret32.base|) (= |main_#t~ret32.offset| 0))} ~dev1~0.base, ~dev1~0.offset := #t~ret32.base, #t~ret32.offset;havoc #t~ret32.base, #t~ret32.offset; {360#(and (= 0 main_~dev1~0.base) (= 0 main_~dev1~0.offset))} is VALID [2020-07-08 12:24:00,578 INFO L263 TraceCheckUtils]: 19: Hoare triple {360#(and (= 0 main_~dev1~0.base) (= 0 main_~dev1~0.offset))} call #t~ret33.base, #t~ret33.offset := my_malloc(8); {343#true} is VALID [2020-07-08 12:24:00,579 INFO L280 TraceCheckUtils]: 20: Hoare triple {343#true} ~size := #in~size; {343#true} is VALID [2020-07-08 12:24:00,579 INFO L263 TraceCheckUtils]: 21: Hoare triple {343#true} call #t~ret30.base, #t~ret30.offset := __getMemory(~size); {343#true} is VALID [2020-07-08 12:24:00,579 INFO L280 TraceCheckUtils]: 22: Hoare triple {343#true} ~size := #in~size; {343#true} is VALID [2020-07-08 12:24:00,580 INFO L280 TraceCheckUtils]: 23: Hoare triple {343#true} assume ~size > 0; {343#true} is VALID [2020-07-08 12:24:00,580 INFO L280 TraceCheckUtils]: 24: Hoare triple {343#true} #t~post28.base, #t~post28.offset := ~guard_malloc_counter~0.base, ~guard_malloc_counter~0.offset;~guard_malloc_counter~0.base, ~guard_malloc_counter~0.offset := #t~post28.base, 1 + #t~post28.offset;havoc #t~post28.base, #t~post28.offset;assume -2147483648 <= #t~nondet29 && #t~nondet29 <= 2147483647; {343#true} is VALID [2020-07-08 12:24:00,580 INFO L280 TraceCheckUtils]: 25: Hoare triple {343#true} assume 0 == #t~nondet29;havoc #t~nondet29;#res.base, #res.offset := 0, 0; {343#true} is VALID [2020-07-08 12:24:00,580 INFO L280 TraceCheckUtils]: 26: Hoare triple {343#true} assume true; {343#true} is VALID [2020-07-08 12:24:00,581 INFO L275 TraceCheckUtils]: 27: Hoare quadruple {343#true} {343#true} #69#return; {343#true} is VALID [2020-07-08 12:24:00,581 INFO L280 TraceCheckUtils]: 28: Hoare triple {343#true} #res.base, #res.offset := #t~ret30.base, #t~ret30.offset;havoc #t~ret30.base, #t~ret30.offset; {343#true} is VALID [2020-07-08 12:24:00,581 INFO L280 TraceCheckUtils]: 29: Hoare triple {343#true} assume true; {343#true} is VALID [2020-07-08 12:24:00,583 INFO L275 TraceCheckUtils]: 30: Hoare quadruple {343#true} {360#(and (= 0 main_~dev1~0.base) (= 0 main_~dev1~0.offset))} #73#return; {360#(and (= 0 main_~dev1~0.base) (= 0 main_~dev1~0.offset))} is VALID [2020-07-08 12:24:00,584 INFO L280 TraceCheckUtils]: 31: Hoare triple {360#(and (= 0 main_~dev1~0.base) (= 0 main_~dev1~0.offset))} ~dev2~0.base, ~dev2~0.offset := #t~ret33.base, #t~ret33.offset;havoc #t~ret33.base, #t~ret33.offset; {360#(and (= 0 main_~dev1~0.base) (= 0 main_~dev1~0.offset))} is VALID [2020-07-08 12:24:00,585 INFO L280 TraceCheckUtils]: 32: Hoare triple {360#(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); {344#false} is VALID [2020-07-08 12:24:00,586 INFO L263 TraceCheckUtils]: 33: Hoare triple {344#false} call list_add(~dev2~0.base, ~dev2~0.offset, ~#head~0.base, ~#head~0.offset); {344#false} is VALID [2020-07-08 12:24:00,586 INFO L280 TraceCheckUtils]: 34: Hoare triple {344#false} ~new.base, ~new.offset := #in~new.base, #in~new.offset;~head.base, ~head.offset := #in~head.base, #in~head.offset; {344#false} is VALID [2020-07-08 12:24:00,586 INFO L280 TraceCheckUtils]: 35: Hoare triple {344#false} assume !(~new.base != ~elem~0.base || ~new.offset != ~elem~0.offset); {344#false} is VALID [2020-07-08 12:24:00,586 INFO L263 TraceCheckUtils]: 36: Hoare triple {344#false} call __blast_assert(); {344#false} is VALID [2020-07-08 12:24:00,587 INFO L280 TraceCheckUtils]: 37: Hoare triple {344#false} assume !false; {344#false} is VALID [2020-07-08 12:24:00,589 INFO L134 CoverageAnalysis]: Checked inductivity of 11 backedges. 0 proven. 5 refuted. 0 times theorem prover too weak. 6 trivial. 0 not checked. [2020-07-08 12:24:00,590 INFO L220 FreeRefinementEngine]: Constructing automaton from 0 perfect and 2 imperfect interpolant sequences. [2020-07-08 12:24:00,590 INFO L233 FreeRefinementEngine]: Number of different interpolants: perfect sequences [] imperfect sequences [9, 7] total 9 [2020-07-08 12:24:00,592 INFO L156 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [310682318] [2020-07-08 12:24:00,593 INFO L78 Accepts]: Start accepts. Automaton has 9 states. Word has length 38 [2020-07-08 12:24:00,597 INFO L84 Accepts]: Finished accepts. word is accepted. [2020-07-08 12:24:00,598 INFO L86 InductivityCheck]: Starting indutivity check of a Floyd-Hoare automaton with 9 states. [2020-07-08 12:24:00,644 INFO L119 InductivityCheck]: Floyd-Hoare automaton has 40 edges. 40 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2020-07-08 12:24:00,645 INFO L459 AbstractCegarLoop]: Interpolant automaton has 9 states [2020-07-08 12:24:00,645 INFO L143 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy CAMEL [2020-07-08 12:24:00,645 INFO L142 InterpolantAutomaton]: Constructing interpolant automaton starting with 9 interpolants. [2020-07-08 12:24:00,646 INFO L144 InterpolantAutomaton]: CoverageRelationStatistics Valid=16, Invalid=56, Unknown=0, NotChecked=0, Total=72 [2020-07-08 12:24:00,646 INFO L87 Difference]: Start difference. First operand 40 states and 46 transitions. Second operand 9 states. [2020-07-08 12:24:01,571 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2020-07-08 12:24:01,572 INFO L93 Difference]: Finished difference Result 71 states and 86 transitions. [2020-07-08 12:24:01,572 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 9 states. [2020-07-08 12:24:01,572 INFO L78 Accepts]: Start accepts. Automaton has 9 states. Word has length 38 [2020-07-08 12:24:01,572 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2020-07-08 12:24:01,573 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 9 states. [2020-07-08 12:24:01,583 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 9 states to 9 states and 86 transitions. [2020-07-08 12:24:01,583 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 9 states. [2020-07-08 12:24:01,592 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 9 states to 9 states and 86 transitions. [2020-07-08 12:24:01,592 INFO L86 InductivityCheck]: Starting indutivity check of a Floyd-Hoare automaton with 9 states and 86 transitions. [2020-07-08 12:24:01,739 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-08 12:24:01,744 INFO L225 Difference]: With dead ends: 71 [2020-07-08 12:24:01,744 INFO L226 Difference]: Without dead ends: 49 [2020-07-08 12:24:01,746 INFO L675 BasicCegarLoop]: 0 DeclaredPredicates, 54 GetRequests, 45 SyntacticMatches, 2 SemanticMatches, 7 ConstructedPredicates, 0 IntricatePredicates, 0 DeprecatedPredicates, 4 ImplicationChecksByTransitivity, 0.1s TimeCoverageRelationStatistics Valid=16, Invalid=56, Unknown=0, NotChecked=0, Total=72 [2020-07-08 12:24:01,746 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 49 states. [2020-07-08 12:24:01,807 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 49 to 45. [2020-07-08 12:24:01,807 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2020-07-08 12:24:01,808 INFO L82 GeneralOperation]: Start isEquivalent. First operand 49 states. Second operand 45 states. [2020-07-08 12:24:01,808 INFO L74 IsIncluded]: Start isIncluded. First operand 49 states. Second operand 45 states. [2020-07-08 12:24:01,808 INFO L87 Difference]: Start difference. First operand 49 states. Second operand 45 states. [2020-07-08 12:24:01,813 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2020-07-08 12:24:01,813 INFO L93 Difference]: Finished difference Result 49 states and 57 transitions. [2020-07-08 12:24:01,813 INFO L276 IsEmpty]: Start isEmpty. Operand 49 states and 57 transitions. [2020-07-08 12:24:01,814 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2020-07-08 12:24:01,815 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2020-07-08 12:24:01,815 INFO L74 IsIncluded]: Start isIncluded. First operand 45 states. Second operand 49 states. [2020-07-08 12:24:01,815 INFO L87 Difference]: Start difference. First operand 45 states. Second operand 49 states. [2020-07-08 12:24:01,819 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2020-07-08 12:24:01,819 INFO L93 Difference]: Finished difference Result 49 states and 57 transitions. [2020-07-08 12:24:01,819 INFO L276 IsEmpty]: Start isEmpty. Operand 49 states and 57 transitions. [2020-07-08 12:24:01,820 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2020-07-08 12:24:01,821 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2020-07-08 12:24:01,821 INFO L88 GeneralOperation]: Finished isEquivalent. [2020-07-08 12:24:01,821 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2020-07-08 12:24:01,821 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 45 states. [2020-07-08 12:24:01,824 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 45 states to 45 states and 51 transitions. [2020-07-08 12:24:01,824 INFO L78 Accepts]: Start accepts. Automaton has 45 states and 51 transitions. Word has length 38 [2020-07-08 12:24:01,825 INFO L84 Accepts]: Finished accepts. word is rejected. [2020-07-08 12:24:01,825 INFO L479 AbstractCegarLoop]: Abstraction has 45 states and 51 transitions. [2020-07-08 12:24:01,825 INFO L480 AbstractCegarLoop]: Interpolant automaton has 9 states. [2020-07-08 12:24:01,825 INFO L276 IsEmpty]: Start isEmpty. Operand 45 states and 51 transitions. [2020-07-08 12:24:01,827 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 39 [2020-07-08 12:24:01,827 INFO L414 BasicCegarLoop]: Found error trace [2020-07-08 12:24:01,827 INFO L422 BasicCegarLoop]: trace histogram [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] [2020-07-08 12:24:02,041 WARN L516 AbstractCegarLoop]: Destroyed unattended storables created during the last iteration: 2 z3 -smt2 -in SMTLIB2_COMPLIANT=true,SelfDestructingSolverStorable1 [2020-07-08 12:24:02,041 INFO L427 AbstractCegarLoop]: === Iteration 3 === [__blast_assertErr0ASSERT_VIOLATIONERROR_FUNCTION]=== [2020-07-08 12:24:02,042 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2020-07-08 12:24:02,042 INFO L82 PathProgramCache]: Analyzing trace with hash 1948890756, now seen corresponding path program 1 times [2020-07-08 12:24:02,042 INFO L163 FreeRefinementEngine]: Executing refinement strategy CAMEL [2020-07-08 12:24:02,043 INFO L354 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [1844685422] [2020-07-08 12:24:02,043 INFO L94 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2020-07-08 12:24:02,087 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2020-07-08 12:24:02,216 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2020-07-08 12:24:02,229 INFO L280 TraceCheckUtils]: 0: Hoare triple {791#(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;#valid := #valid[0 := 0];assume 0 < #StackHeapBarrier;~guard_malloc_counter~0.base, ~guard_malloc_counter~0.offset := 0, 0;~elem~0.base, ~elem~0.offset := 0, 0;call ~#head~0.base, ~#head~0.offset := #Ultimate.allocOnStack(8);call write~init~$Pointer$(0, 0, ~#head~0.base, ~#head~0.offset, 4);call write~init~$Pointer$(0, 0, ~#head~0.base, 4 + ~#head~0.offset, 4); {762#true} is VALID [2020-07-08 12:24:02,230 INFO L280 TraceCheckUtils]: 1: Hoare triple {762#true} assume true; {762#true} is VALID [2020-07-08 12:24:02,230 INFO L275 TraceCheckUtils]: 2: Hoare quadruple {762#true} {762#true} #89#return; {762#true} is VALID [2020-07-08 12:24:02,243 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2020-07-08 12:24:02,249 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2020-07-08 12:24:02,255 INFO L280 TraceCheckUtils]: 0: Hoare triple {792#(and (= ~guard_malloc_counter~0.offset |old(~guard_malloc_counter~0.offset)|) (= ~guard_malloc_counter~0.base |old(~guard_malloc_counter~0.base)|))} ~size := #in~size; {762#true} is VALID [2020-07-08 12:24:02,255 INFO L280 TraceCheckUtils]: 1: Hoare triple {762#true} assume ~size > 0; {762#true} is VALID [2020-07-08 12:24:02,255 INFO L280 TraceCheckUtils]: 2: Hoare triple {762#true} #t~post28.base, #t~post28.offset := ~guard_malloc_counter~0.base, ~guard_malloc_counter~0.offset;~guard_malloc_counter~0.base, ~guard_malloc_counter~0.offset := #t~post28.base, 1 + #t~post28.offset;havoc #t~post28.base, #t~post28.offset;assume -2147483648 <= #t~nondet29 && #t~nondet29 <= 2147483647; {762#true} is VALID [2020-07-08 12:24:02,256 INFO L280 TraceCheckUtils]: 3: Hoare triple {762#true} assume !(0 == #t~nondet29);havoc #t~nondet29;#res.base, #res.offset := ~guard_malloc_counter~0.base, ~guard_malloc_counter~0.offset; {762#true} is VALID [2020-07-08 12:24:02,256 INFO L280 TraceCheckUtils]: 4: Hoare triple {762#true} assume true; {762#true} is VALID [2020-07-08 12:24:02,256 INFO L275 TraceCheckUtils]: 5: Hoare quadruple {762#true} {762#true} #69#return; {762#true} is VALID [2020-07-08 12:24:02,257 INFO L280 TraceCheckUtils]: 0: Hoare triple {792#(and (= ~guard_malloc_counter~0.offset |old(~guard_malloc_counter~0.offset)|) (= ~guard_malloc_counter~0.base |old(~guard_malloc_counter~0.base)|))} ~size := #in~size; {762#true} is VALID [2020-07-08 12:24:02,258 INFO L263 TraceCheckUtils]: 1: Hoare triple {762#true} call #t~ret30.base, #t~ret30.offset := __getMemory(~size); {792#(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-08 12:24:02,259 INFO L280 TraceCheckUtils]: 2: Hoare triple {792#(and (= ~guard_malloc_counter~0.offset |old(~guard_malloc_counter~0.offset)|) (= ~guard_malloc_counter~0.base |old(~guard_malloc_counter~0.base)|))} ~size := #in~size; {762#true} is VALID [2020-07-08 12:24:02,259 INFO L280 TraceCheckUtils]: 3: Hoare triple {762#true} assume ~size > 0; {762#true} is VALID [2020-07-08 12:24:02,259 INFO L280 TraceCheckUtils]: 4: Hoare triple {762#true} #t~post28.base, #t~post28.offset := ~guard_malloc_counter~0.base, ~guard_malloc_counter~0.offset;~guard_malloc_counter~0.base, ~guard_malloc_counter~0.offset := #t~post28.base, 1 + #t~post28.offset;havoc #t~post28.base, #t~post28.offset;assume -2147483648 <= #t~nondet29 && #t~nondet29 <= 2147483647; {762#true} is VALID [2020-07-08 12:24:02,260 INFO L280 TraceCheckUtils]: 5: Hoare triple {762#true} assume !(0 == #t~nondet29);havoc #t~nondet29;#res.base, #res.offset := ~guard_malloc_counter~0.base, ~guard_malloc_counter~0.offset; {762#true} is VALID [2020-07-08 12:24:02,260 INFO L280 TraceCheckUtils]: 6: Hoare triple {762#true} assume true; {762#true} is VALID [2020-07-08 12:24:02,260 INFO L275 TraceCheckUtils]: 7: Hoare quadruple {762#true} {762#true} #69#return; {762#true} is VALID [2020-07-08 12:24:02,261 INFO L280 TraceCheckUtils]: 8: Hoare triple {762#true} #res.base, #res.offset := #t~ret30.base, #t~ret30.offset;havoc #t~ret30.base, #t~ret30.offset; {762#true} is VALID [2020-07-08 12:24:02,261 INFO L280 TraceCheckUtils]: 9: Hoare triple {762#true} assume true; {762#true} is VALID [2020-07-08 12:24:02,261 INFO L275 TraceCheckUtils]: 10: Hoare quadruple {762#true} {762#true} #71#return; {762#true} is VALID [2020-07-08 12:24:02,268 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2020-07-08 12:24:02,348 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2020-07-08 12:24:02,381 INFO L280 TraceCheckUtils]: 0: Hoare triple {792#(and (= ~guard_malloc_counter~0.offset |old(~guard_malloc_counter~0.offset)|) (= ~guard_malloc_counter~0.base |old(~guard_malloc_counter~0.base)|))} ~size := #in~size; {762#true} is VALID [2020-07-08 12:24:02,381 INFO L280 TraceCheckUtils]: 1: Hoare triple {762#true} assume ~size > 0; {762#true} is VALID [2020-07-08 12:24:02,382 INFO L280 TraceCheckUtils]: 2: Hoare triple {762#true} #t~post28.base, #t~post28.offset := ~guard_malloc_counter~0.base, ~guard_malloc_counter~0.offset;~guard_malloc_counter~0.base, ~guard_malloc_counter~0.offset := #t~post28.base, 1 + #t~post28.offset;havoc #t~post28.base, #t~post28.offset;assume -2147483648 <= #t~nondet29 && #t~nondet29 <= 2147483647; {762#true} is VALID [2020-07-08 12:24:02,383 INFO L280 TraceCheckUtils]: 3: Hoare triple {762#true} assume 0 == #t~nondet29;havoc #t~nondet29;#res.base, #res.offset := 0, 0; {807#(and (<= |__getMemory_#res.base| 0) (<= |__getMemory_#res.offset| 0) (<= 0 |__getMemory_#res.offset|) (<= 0 |__getMemory_#res.base|))} is VALID [2020-07-08 12:24:02,384 INFO L280 TraceCheckUtils]: 4: Hoare triple {807#(and (<= |__getMemory_#res.base| 0) (<= |__getMemory_#res.offset| 0) (<= 0 |__getMemory_#res.offset|) (<= 0 |__getMemory_#res.base|))} assume true; {807#(and (<= |__getMemory_#res.base| 0) (<= |__getMemory_#res.offset| 0) (<= 0 |__getMemory_#res.offset|) (<= 0 |__getMemory_#res.base|))} is VALID [2020-07-08 12:24:02,385 INFO L275 TraceCheckUtils]: 5: Hoare quadruple {807#(and (<= |__getMemory_#res.base| 0) (<= |__getMemory_#res.offset| 0) (<= 0 |__getMemory_#res.offset|) (<= 0 |__getMemory_#res.base|))} {762#true} #69#return; {805#(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-08 12:24:02,385 INFO L280 TraceCheckUtils]: 0: Hoare triple {792#(and (= ~guard_malloc_counter~0.offset |old(~guard_malloc_counter~0.offset)|) (= ~guard_malloc_counter~0.base |old(~guard_malloc_counter~0.base)|))} ~size := #in~size; {762#true} is VALID [2020-07-08 12:24:02,386 INFO L263 TraceCheckUtils]: 1: Hoare triple {762#true} call #t~ret30.base, #t~ret30.offset := __getMemory(~size); {792#(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-08 12:24:02,387 INFO L280 TraceCheckUtils]: 2: Hoare triple {792#(and (= ~guard_malloc_counter~0.offset |old(~guard_malloc_counter~0.offset)|) (= ~guard_malloc_counter~0.base |old(~guard_malloc_counter~0.base)|))} ~size := #in~size; {762#true} is VALID [2020-07-08 12:24:02,387 INFO L280 TraceCheckUtils]: 3: Hoare triple {762#true} assume ~size > 0; {762#true} is VALID [2020-07-08 12:24:02,387 INFO L280 TraceCheckUtils]: 4: Hoare triple {762#true} #t~post28.base, #t~post28.offset := ~guard_malloc_counter~0.base, ~guard_malloc_counter~0.offset;~guard_malloc_counter~0.base, ~guard_malloc_counter~0.offset := #t~post28.base, 1 + #t~post28.offset;havoc #t~post28.base, #t~post28.offset;assume -2147483648 <= #t~nondet29 && #t~nondet29 <= 2147483647; {762#true} is VALID [2020-07-08 12:24:02,388 INFO L280 TraceCheckUtils]: 5: Hoare triple {762#true} assume 0 == #t~nondet29;havoc #t~nondet29;#res.base, #res.offset := 0, 0; {807#(and (<= |__getMemory_#res.base| 0) (<= |__getMemory_#res.offset| 0) (<= 0 |__getMemory_#res.offset|) (<= 0 |__getMemory_#res.base|))} is VALID [2020-07-08 12:24:02,388 INFO L280 TraceCheckUtils]: 6: Hoare triple {807#(and (<= |__getMemory_#res.base| 0) (<= |__getMemory_#res.offset| 0) (<= 0 |__getMemory_#res.offset|) (<= 0 |__getMemory_#res.base|))} assume true; {807#(and (<= |__getMemory_#res.base| 0) (<= |__getMemory_#res.offset| 0) (<= 0 |__getMemory_#res.offset|) (<= 0 |__getMemory_#res.base|))} is VALID [2020-07-08 12:24:02,389 INFO L275 TraceCheckUtils]: 7: Hoare quadruple {807#(and (<= |__getMemory_#res.base| 0) (<= |__getMemory_#res.offset| 0) (<= 0 |__getMemory_#res.offset|) (<= 0 |__getMemory_#res.base|))} {762#true} #69#return; {805#(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-08 12:24:02,390 INFO L280 TraceCheckUtils]: 8: Hoare triple {805#(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;havoc #t~ret30.base, #t~ret30.offset; {806#(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-08 12:24:02,390 INFO L280 TraceCheckUtils]: 9: Hoare triple {806#(and (<= |my_malloc_#res.base| 0) (<= |my_malloc_#res.offset| 0) (<= 0 |my_malloc_#res.base|) (<= 0 |my_malloc_#res.offset|))} assume true; {806#(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-08 12:24:02,391 INFO L275 TraceCheckUtils]: 10: Hoare quadruple {806#(and (<= |my_malloc_#res.base| 0) (<= |my_malloc_#res.offset| 0) (<= 0 |my_malloc_#res.base|) (<= 0 |my_malloc_#res.offset|))} {762#true} #73#return; {789#(and (= 0 |main_#t~ret33.offset|) (= 0 |main_#t~ret33.base|))} is VALID [2020-07-08 12:24:02,397 INFO L263 TraceCheckUtils]: 0: Hoare triple {762#true} call ULTIMATE.init(); {791#(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-08 12:24:02,397 INFO L280 TraceCheckUtils]: 1: Hoare triple {791#(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;#valid := #valid[0 := 0];assume 0 < #StackHeapBarrier;~guard_malloc_counter~0.base, ~guard_malloc_counter~0.offset := 0, 0;~elem~0.base, ~elem~0.offset := 0, 0;call ~#head~0.base, ~#head~0.offset := #Ultimate.allocOnStack(8);call write~init~$Pointer$(0, 0, ~#head~0.base, ~#head~0.offset, 4);call write~init~$Pointer$(0, 0, ~#head~0.base, 4 + ~#head~0.offset, 4); {762#true} is VALID [2020-07-08 12:24:02,397 INFO L280 TraceCheckUtils]: 2: Hoare triple {762#true} assume true; {762#true} is VALID [2020-07-08 12:24:02,398 INFO L275 TraceCheckUtils]: 3: Hoare quadruple {762#true} {762#true} #89#return; {762#true} is VALID [2020-07-08 12:24:02,398 INFO L263 TraceCheckUtils]: 4: Hoare triple {762#true} call #t~ret34 := main(); {762#true} is VALID [2020-07-08 12:24:02,398 INFO L280 TraceCheckUtils]: 5: Hoare triple {762#true} havoc ~dev1~0.base, ~dev1~0.offset;havoc ~dev2~0.base, ~dev2~0.offset; {762#true} is VALID [2020-07-08 12:24:02,399 INFO L263 TraceCheckUtils]: 6: Hoare triple {762#true} call #t~ret32.base, #t~ret32.offset := my_malloc(8); {792#(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-08 12:24:02,399 INFO L280 TraceCheckUtils]: 7: Hoare triple {792#(and (= ~guard_malloc_counter~0.offset |old(~guard_malloc_counter~0.offset)|) (= ~guard_malloc_counter~0.base |old(~guard_malloc_counter~0.base)|))} ~size := #in~size; {762#true} is VALID [2020-07-08 12:24:02,399 INFO L263 TraceCheckUtils]: 8: Hoare triple {762#true} call #t~ret30.base, #t~ret30.offset := __getMemory(~size); {792#(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-08 12:24:02,400 INFO L280 TraceCheckUtils]: 9: Hoare triple {792#(and (= ~guard_malloc_counter~0.offset |old(~guard_malloc_counter~0.offset)|) (= ~guard_malloc_counter~0.base |old(~guard_malloc_counter~0.base)|))} ~size := #in~size; {762#true} is VALID [2020-07-08 12:24:02,400 INFO L280 TraceCheckUtils]: 10: Hoare triple {762#true} assume ~size > 0; {762#true} is VALID [2020-07-08 12:24:02,400 INFO L280 TraceCheckUtils]: 11: Hoare triple {762#true} #t~post28.base, #t~post28.offset := ~guard_malloc_counter~0.base, ~guard_malloc_counter~0.offset;~guard_malloc_counter~0.base, ~guard_malloc_counter~0.offset := #t~post28.base, 1 + #t~post28.offset;havoc #t~post28.base, #t~post28.offset;assume -2147483648 <= #t~nondet29 && #t~nondet29 <= 2147483647; {762#true} is VALID [2020-07-08 12:24:02,400 INFO L280 TraceCheckUtils]: 12: Hoare triple {762#true} assume !(0 == #t~nondet29);havoc #t~nondet29;#res.base, #res.offset := ~guard_malloc_counter~0.base, ~guard_malloc_counter~0.offset; {762#true} is VALID [2020-07-08 12:24:02,400 INFO L280 TraceCheckUtils]: 13: Hoare triple {762#true} assume true; {762#true} is VALID [2020-07-08 12:24:02,401 INFO L275 TraceCheckUtils]: 14: Hoare quadruple {762#true} {762#true} #69#return; {762#true} is VALID [2020-07-08 12:24:02,401 INFO L280 TraceCheckUtils]: 15: Hoare triple {762#true} #res.base, #res.offset := #t~ret30.base, #t~ret30.offset;havoc #t~ret30.base, #t~ret30.offset; {762#true} is VALID [2020-07-08 12:24:02,401 INFO L280 TraceCheckUtils]: 16: Hoare triple {762#true} assume true; {762#true} is VALID [2020-07-08 12:24:02,401 INFO L275 TraceCheckUtils]: 17: Hoare quadruple {762#true} {762#true} #71#return; {762#true} is VALID [2020-07-08 12:24:02,401 INFO L280 TraceCheckUtils]: 18: Hoare triple {762#true} ~dev1~0.base, ~dev1~0.offset := #t~ret32.base, #t~ret32.offset;havoc #t~ret32.base, #t~ret32.offset; {762#true} is VALID [2020-07-08 12:24:02,402 INFO L263 TraceCheckUtils]: 19: Hoare triple {762#true} call #t~ret33.base, #t~ret33.offset := my_malloc(8); {792#(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-08 12:24:02,402 INFO L280 TraceCheckUtils]: 20: Hoare triple {792#(and (= ~guard_malloc_counter~0.offset |old(~guard_malloc_counter~0.offset)|) (= ~guard_malloc_counter~0.base |old(~guard_malloc_counter~0.base)|))} ~size := #in~size; {762#true} is VALID [2020-07-08 12:24:02,403 INFO L263 TraceCheckUtils]: 21: Hoare triple {762#true} call #t~ret30.base, #t~ret30.offset := __getMemory(~size); {792#(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-08 12:24:02,403 INFO L280 TraceCheckUtils]: 22: Hoare triple {792#(and (= ~guard_malloc_counter~0.offset |old(~guard_malloc_counter~0.offset)|) (= ~guard_malloc_counter~0.base |old(~guard_malloc_counter~0.base)|))} ~size := #in~size; {762#true} is VALID [2020-07-08 12:24:02,403 INFO L280 TraceCheckUtils]: 23: Hoare triple {762#true} assume ~size > 0; {762#true} is VALID [2020-07-08 12:24:02,403 INFO L280 TraceCheckUtils]: 24: Hoare triple {762#true} #t~post28.base, #t~post28.offset := ~guard_malloc_counter~0.base, ~guard_malloc_counter~0.offset;~guard_malloc_counter~0.base, ~guard_malloc_counter~0.offset := #t~post28.base, 1 + #t~post28.offset;havoc #t~post28.base, #t~post28.offset;assume -2147483648 <= #t~nondet29 && #t~nondet29 <= 2147483647; {762#true} is VALID [2020-07-08 12:24:02,404 INFO L280 TraceCheckUtils]: 25: Hoare triple {762#true} assume 0 == #t~nondet29;havoc #t~nondet29;#res.base, #res.offset := 0, 0; {807#(and (<= |__getMemory_#res.base| 0) (<= |__getMemory_#res.offset| 0) (<= 0 |__getMemory_#res.offset|) (<= 0 |__getMemory_#res.base|))} is VALID [2020-07-08 12:24:02,406 INFO L280 TraceCheckUtils]: 26: Hoare triple {807#(and (<= |__getMemory_#res.base| 0) (<= |__getMemory_#res.offset| 0) (<= 0 |__getMemory_#res.offset|) (<= 0 |__getMemory_#res.base|))} assume true; {807#(and (<= |__getMemory_#res.base| 0) (<= |__getMemory_#res.offset| 0) (<= 0 |__getMemory_#res.offset|) (<= 0 |__getMemory_#res.base|))} is VALID [2020-07-08 12:24:02,409 INFO L275 TraceCheckUtils]: 27: Hoare quadruple {807#(and (<= |__getMemory_#res.base| 0) (<= |__getMemory_#res.offset| 0) (<= 0 |__getMemory_#res.offset|) (<= 0 |__getMemory_#res.base|))} {762#true} #69#return; {805#(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-08 12:24:02,413 INFO L280 TraceCheckUtils]: 28: Hoare triple {805#(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;havoc #t~ret30.base, #t~ret30.offset; {806#(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-08 12:24:02,414 INFO L280 TraceCheckUtils]: 29: Hoare triple {806#(and (<= |my_malloc_#res.base| 0) (<= |my_malloc_#res.offset| 0) (<= 0 |my_malloc_#res.base|) (<= 0 |my_malloc_#res.offset|))} assume true; {806#(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-08 12:24:02,415 INFO L275 TraceCheckUtils]: 30: Hoare quadruple {806#(and (<= |my_malloc_#res.base| 0) (<= |my_malloc_#res.offset| 0) (<= 0 |my_malloc_#res.base|) (<= 0 |my_malloc_#res.offset|))} {762#true} #73#return; {789#(and (= 0 |main_#t~ret33.offset|) (= 0 |main_#t~ret33.base|))} is VALID [2020-07-08 12:24:02,416 INFO L280 TraceCheckUtils]: 31: Hoare triple {789#(and (= 0 |main_#t~ret33.offset|) (= 0 |main_#t~ret33.base|))} ~dev2~0.base, ~dev2~0.offset := #t~ret33.base, #t~ret33.offset;havoc #t~ret33.base, #t~ret33.offset; {790#(and (= 0 main_~dev2~0.offset) (= main_~dev2~0.base 0))} is VALID [2020-07-08 12:24:02,416 INFO L280 TraceCheckUtils]: 32: Hoare triple {790#(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); {763#false} is VALID [2020-07-08 12:24:02,417 INFO L263 TraceCheckUtils]: 33: Hoare triple {763#false} call list_add(~dev2~0.base, ~dev2~0.offset, ~#head~0.base, ~#head~0.offset); {763#false} is VALID [2020-07-08 12:24:02,417 INFO L280 TraceCheckUtils]: 34: Hoare triple {763#false} ~new.base, ~new.offset := #in~new.base, #in~new.offset;~head.base, ~head.offset := #in~head.base, #in~head.offset; {763#false} is VALID [2020-07-08 12:24:02,417 INFO L280 TraceCheckUtils]: 35: Hoare triple {763#false} assume !(~new.base != ~elem~0.base || ~new.offset != ~elem~0.offset); {763#false} is VALID [2020-07-08 12:24:02,418 INFO L263 TraceCheckUtils]: 36: Hoare triple {763#false} call __blast_assert(); {763#false} is VALID [2020-07-08 12:24:02,418 INFO L280 TraceCheckUtils]: 37: Hoare triple {763#false} assume !false; {763#false} is VALID [2020-07-08 12:24:02,422 INFO L134 CoverageAnalysis]: Checked inductivity of 11 backedges. 5 proven. 0 refuted. 0 times theorem prover too weak. 6 trivial. 0 not checked. [2020-07-08 12:24:02,422 INFO L354 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleSmtInterpolCraig [1844685422] [2020-07-08 12:24:02,423 INFO L220 FreeRefinementEngine]: Constructing automaton from 1 perfect and 0 imperfect interpolant sequences. [2020-07-08 12:24:02,423 INFO L233 FreeRefinementEngine]: Number of different interpolants: perfect sequences [9] imperfect sequences [] total 9 [2020-07-08 12:24:02,423 INFO L156 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [1125557576] [2020-07-08 12:24:02,423 INFO L78 Accepts]: Start accepts. Automaton has 9 states. Word has length 38 [2020-07-08 12:24:02,424 INFO L84 Accepts]: Finished accepts. word is accepted. [2020-07-08 12:24:02,424 INFO L86 InductivityCheck]: Starting indutivity check of a Floyd-Hoare automaton with 9 states. [2020-07-08 12:24:02,470 INFO L119 InductivityCheck]: Floyd-Hoare automaton has 33 edges. 33 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2020-07-08 12:24:02,471 INFO L459 AbstractCegarLoop]: Interpolant automaton has 9 states [2020-07-08 12:24:02,471 INFO L143 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy CAMEL [2020-07-08 12:24:02,471 INFO L142 InterpolantAutomaton]: Constructing interpolant automaton starting with 9 interpolants. [2020-07-08 12:24:02,472 INFO L144 InterpolantAutomaton]: CoverageRelationStatistics Valid=16, Invalid=56, Unknown=0, NotChecked=0, Total=72 [2020-07-08 12:24:02,472 INFO L87 Difference]: Start difference. First operand 45 states and 51 transitions. Second operand 9 states. [2020-07-08 12:24:03,368 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2020-07-08 12:24:03,369 INFO L93 Difference]: Finished difference Result 69 states and 81 transitions. [2020-07-08 12:24:03,369 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 9 states. [2020-07-08 12:24:03,373 INFO L78 Accepts]: Start accepts. Automaton has 9 states. Word has length 38 [2020-07-08 12:24:03,374 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2020-07-08 12:24:03,374 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 9 states. [2020-07-08 12:24:03,380 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 9 states to 9 states and 81 transitions. [2020-07-08 12:24:03,380 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 9 states. [2020-07-08 12:24:03,383 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 9 states to 9 states and 81 transitions. [2020-07-08 12:24:03,387 INFO L86 InductivityCheck]: Starting indutivity check of a Floyd-Hoare automaton with 9 states and 81 transitions. [2020-07-08 12:24:03,535 INFO L119 InductivityCheck]: Floyd-Hoare automaton has 81 edges. 81 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2020-07-08 12:24:03,538 INFO L225 Difference]: With dead ends: 69 [2020-07-08 12:24:03,538 INFO L226 Difference]: Without dead ends: 44 [2020-07-08 12:24:03,539 INFO L675 BasicCegarLoop]: 0 DeclaredPredicates, 17 GetRequests, 10 SyntacticMatches, 0 SemanticMatches, 7 ConstructedPredicates, 0 IntricatePredicates, 0 DeprecatedPredicates, 3 ImplicationChecksByTransitivity, 0.1s TimeCoverageRelationStatistics Valid=16, Invalid=56, Unknown=0, NotChecked=0, Total=72 [2020-07-08 12:24:03,539 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 44 states. [2020-07-08 12:24:03,590 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 44 to 40. [2020-07-08 12:24:03,590 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2020-07-08 12:24:03,591 INFO L82 GeneralOperation]: Start isEquivalent. First operand 44 states. Second operand 40 states. [2020-07-08 12:24:03,591 INFO L74 IsIncluded]: Start isIncluded. First operand 44 states. Second operand 40 states. [2020-07-08 12:24:03,591 INFO L87 Difference]: Start difference. First operand 44 states. Second operand 40 states. [2020-07-08 12:24:03,594 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2020-07-08 12:24:03,595 INFO L93 Difference]: Finished difference Result 44 states and 51 transitions. [2020-07-08 12:24:03,595 INFO L276 IsEmpty]: Start isEmpty. Operand 44 states and 51 transitions. [2020-07-08 12:24:03,596 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2020-07-08 12:24:03,596 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2020-07-08 12:24:03,596 INFO L74 IsIncluded]: Start isIncluded. First operand 40 states. Second operand 44 states. [2020-07-08 12:24:03,597 INFO L87 Difference]: Start difference. First operand 40 states. Second operand 44 states. [2020-07-08 12:24:03,600 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2020-07-08 12:24:03,600 INFO L93 Difference]: Finished difference Result 44 states and 51 transitions. [2020-07-08 12:24:03,601 INFO L276 IsEmpty]: Start isEmpty. Operand 44 states and 51 transitions. [2020-07-08 12:24:03,602 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2020-07-08 12:24:03,602 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2020-07-08 12:24:03,602 INFO L88 GeneralOperation]: Finished isEquivalent. [2020-07-08 12:24:03,602 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2020-07-08 12:24:03,602 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 40 states. [2020-07-08 12:24:03,605 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 40 states to 40 states and 45 transitions. [2020-07-08 12:24:03,605 INFO L78 Accepts]: Start accepts. Automaton has 40 states and 45 transitions. Word has length 38 [2020-07-08 12:24:03,605 INFO L84 Accepts]: Finished accepts. word is rejected. [2020-07-08 12:24:03,605 INFO L479 AbstractCegarLoop]: Abstraction has 40 states and 45 transitions. [2020-07-08 12:24:03,606 INFO L480 AbstractCegarLoop]: Interpolant automaton has 9 states. [2020-07-08 12:24:03,606 INFO L276 IsEmpty]: Start isEmpty. Operand 40 states and 45 transitions. [2020-07-08 12:24:03,607 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 39 [2020-07-08 12:24:03,607 INFO L414 BasicCegarLoop]: Found error trace [2020-07-08 12:24:03,607 INFO L422 BasicCegarLoop]: trace histogram [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] [2020-07-08 12:24:03,607 WARN L516 AbstractCegarLoop]: Destroyed unattended storables created during the last iteration: SelfDestructingSolverStorable2 [2020-07-08 12:24:03,608 INFO L427 AbstractCegarLoop]: === Iteration 4 === [__blast_assertErr0ASSERT_VIOLATIONERROR_FUNCTION]=== [2020-07-08 12:24:03,608 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2020-07-08 12:24:03,608 INFO L82 PathProgramCache]: Analyzing trace with hash 1655487749, now seen corresponding path program 1 times [2020-07-08 12:24:03,608 INFO L163 FreeRefinementEngine]: Executing refinement strategy CAMEL [2020-07-08 12:24:03,609 INFO L354 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [1950518329] [2020-07-08 12:24:03,609 INFO L94 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2020-07-08 12:24:03,626 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2020-07-08 12:24:03,824 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2020-07-08 12:24:03,833 INFO L280 TraceCheckUtils]: 0: Hoare triple {1085#(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;#valid := #valid[0 := 0];assume 0 < #StackHeapBarrier;~guard_malloc_counter~0.base, ~guard_malloc_counter~0.offset := 0, 0;~elem~0.base, ~elem~0.offset := 0, 0;call ~#head~0.base, ~#head~0.offset := #Ultimate.allocOnStack(8);call write~init~$Pointer$(0, 0, ~#head~0.base, ~#head~0.offset, 4);call write~init~$Pointer$(0, 0, ~#head~0.base, 4 + ~#head~0.offset, 4); {1057#(and (= 0 ~elem~0.offset) (<= 0 ~guard_malloc_counter~0.offset))} is VALID [2020-07-08 12:24:03,834 INFO L280 TraceCheckUtils]: 1: Hoare triple {1057#(and (= 0 ~elem~0.offset) (<= 0 ~guard_malloc_counter~0.offset))} assume true; {1057#(and (= 0 ~elem~0.offset) (<= 0 ~guard_malloc_counter~0.offset))} is VALID [2020-07-08 12:24:03,835 INFO L275 TraceCheckUtils]: 2: Hoare quadruple {1057#(and (= 0 ~elem~0.offset) (<= 0 ~guard_malloc_counter~0.offset))} {1052#true} #89#return; {1057#(and (= 0 ~elem~0.offset) (<= 0 ~guard_malloc_counter~0.offset))} is VALID [2020-07-08 12:24:03,853 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2020-07-08 12:24:03,892 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2020-07-08 12:24:03,903 INFO L280 TraceCheckUtils]: 0: Hoare triple {1086#(and (= ~guard_malloc_counter~0.offset |old(~guard_malloc_counter~0.offset)|) (= ~guard_malloc_counter~0.base |old(~guard_malloc_counter~0.base)|))} ~size := #in~size; {1087#(= ~guard_malloc_counter~0.offset |old(~guard_malloc_counter~0.offset)|)} is VALID [2020-07-08 12:24:03,903 INFO L280 TraceCheckUtils]: 1: Hoare triple {1087#(= ~guard_malloc_counter~0.offset |old(~guard_malloc_counter~0.offset)|)} assume ~size > 0; {1087#(= ~guard_malloc_counter~0.offset |old(~guard_malloc_counter~0.offset)|)} is VALID [2020-07-08 12:24:03,904 INFO L280 TraceCheckUtils]: 2: Hoare triple {1087#(= ~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;~guard_malloc_counter~0.base, ~guard_malloc_counter~0.offset := #t~post28.base, 1 + #t~post28.offset;havoc #t~post28.base, #t~post28.offset;assume -2147483648 <= #t~nondet29 && #t~nondet29 <= 2147483647; {1094#(<= (+ |old(~guard_malloc_counter~0.offset)| 1) ~guard_malloc_counter~0.offset)} is VALID [2020-07-08 12:24:03,905 INFO L280 TraceCheckUtils]: 3: Hoare triple {1094#(<= (+ |old(~guard_malloc_counter~0.offset)| 1) ~guard_malloc_counter~0.offset)} assume !(0 == #t~nondet29);havoc #t~nondet29;#res.base, #res.offset := ~guard_malloc_counter~0.base, ~guard_malloc_counter~0.offset; {1094#(<= (+ |old(~guard_malloc_counter~0.offset)| 1) ~guard_malloc_counter~0.offset)} is VALID [2020-07-08 12:24:03,906 INFO L280 TraceCheckUtils]: 4: Hoare triple {1094#(<= (+ |old(~guard_malloc_counter~0.offset)| 1) ~guard_malloc_counter~0.offset)} assume true; {1094#(<= (+ |old(~guard_malloc_counter~0.offset)| 1) ~guard_malloc_counter~0.offset)} is VALID [2020-07-08 12:24:03,907 INFO L275 TraceCheckUtils]: 5: Hoare quadruple {1094#(<= (+ |old(~guard_malloc_counter~0.offset)| 1) ~guard_malloc_counter~0.offset)} {1087#(= ~guard_malloc_counter~0.offset |old(~guard_malloc_counter~0.offset)|)} #69#return; {1094#(<= (+ |old(~guard_malloc_counter~0.offset)| 1) ~guard_malloc_counter~0.offset)} is VALID [2020-07-08 12:24:03,908 INFO L280 TraceCheckUtils]: 0: Hoare triple {1086#(and (= ~guard_malloc_counter~0.offset |old(~guard_malloc_counter~0.offset)|) (= ~guard_malloc_counter~0.base |old(~guard_malloc_counter~0.base)|))} ~size := #in~size; {1087#(= ~guard_malloc_counter~0.offset |old(~guard_malloc_counter~0.offset)|)} is VALID [2020-07-08 12:24:03,909 INFO L263 TraceCheckUtils]: 1: Hoare triple {1087#(= ~guard_malloc_counter~0.offset |old(~guard_malloc_counter~0.offset)|)} call #t~ret30.base, #t~ret30.offset := __getMemory(~size); {1086#(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-08 12:24:03,909 INFO L280 TraceCheckUtils]: 2: Hoare triple {1086#(and (= ~guard_malloc_counter~0.offset |old(~guard_malloc_counter~0.offset)|) (= ~guard_malloc_counter~0.base |old(~guard_malloc_counter~0.base)|))} ~size := #in~size; {1087#(= ~guard_malloc_counter~0.offset |old(~guard_malloc_counter~0.offset)|)} is VALID [2020-07-08 12:24:03,910 INFO L280 TraceCheckUtils]: 3: Hoare triple {1087#(= ~guard_malloc_counter~0.offset |old(~guard_malloc_counter~0.offset)|)} assume ~size > 0; {1087#(= ~guard_malloc_counter~0.offset |old(~guard_malloc_counter~0.offset)|)} is VALID [2020-07-08 12:24:03,911 INFO L280 TraceCheckUtils]: 4: Hoare triple {1087#(= ~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;~guard_malloc_counter~0.base, ~guard_malloc_counter~0.offset := #t~post28.base, 1 + #t~post28.offset;havoc #t~post28.base, #t~post28.offset;assume -2147483648 <= #t~nondet29 && #t~nondet29 <= 2147483647; {1094#(<= (+ |old(~guard_malloc_counter~0.offset)| 1) ~guard_malloc_counter~0.offset)} is VALID [2020-07-08 12:24:03,912 INFO L280 TraceCheckUtils]: 5: Hoare triple {1094#(<= (+ |old(~guard_malloc_counter~0.offset)| 1) ~guard_malloc_counter~0.offset)} assume !(0 == #t~nondet29);havoc #t~nondet29;#res.base, #res.offset := ~guard_malloc_counter~0.base, ~guard_malloc_counter~0.offset; {1094#(<= (+ |old(~guard_malloc_counter~0.offset)| 1) ~guard_malloc_counter~0.offset)} is VALID [2020-07-08 12:24:03,912 INFO L280 TraceCheckUtils]: 6: Hoare triple {1094#(<= (+ |old(~guard_malloc_counter~0.offset)| 1) ~guard_malloc_counter~0.offset)} assume true; {1094#(<= (+ |old(~guard_malloc_counter~0.offset)| 1) ~guard_malloc_counter~0.offset)} is VALID [2020-07-08 12:24:03,913 INFO L275 TraceCheckUtils]: 7: Hoare quadruple {1094#(<= (+ |old(~guard_malloc_counter~0.offset)| 1) ~guard_malloc_counter~0.offset)} {1087#(= ~guard_malloc_counter~0.offset |old(~guard_malloc_counter~0.offset)|)} #69#return; {1094#(<= (+ |old(~guard_malloc_counter~0.offset)| 1) ~guard_malloc_counter~0.offset)} is VALID [2020-07-08 12:24:03,914 INFO L280 TraceCheckUtils]: 8: Hoare triple {1094#(<= (+ |old(~guard_malloc_counter~0.offset)| 1) ~guard_malloc_counter~0.offset)} #res.base, #res.offset := #t~ret30.base, #t~ret30.offset;havoc #t~ret30.base, #t~ret30.offset; {1094#(<= (+ |old(~guard_malloc_counter~0.offset)| 1) ~guard_malloc_counter~0.offset)} is VALID [2020-07-08 12:24:03,915 INFO L280 TraceCheckUtils]: 9: Hoare triple {1094#(<= (+ |old(~guard_malloc_counter~0.offset)| 1) ~guard_malloc_counter~0.offset)} assume true; {1094#(<= (+ |old(~guard_malloc_counter~0.offset)| 1) ~guard_malloc_counter~0.offset)} is VALID [2020-07-08 12:24:03,916 INFO L275 TraceCheckUtils]: 10: Hoare quadruple {1094#(<= (+ |old(~guard_malloc_counter~0.offset)| 1) ~guard_malloc_counter~0.offset)} {1057#(and (= 0 ~elem~0.offset) (<= 0 ~guard_malloc_counter~0.offset))} #71#return; {1069#(and (= 0 ~elem~0.offset) (<= 1 ~guard_malloc_counter~0.offset))} is VALID [2020-07-08 12:24:03,921 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2020-07-08 12:24:03,968 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2020-07-08 12:24:04,003 INFO L280 TraceCheckUtils]: 0: Hoare triple {1086#(and (= ~guard_malloc_counter~0.offset |old(~guard_malloc_counter~0.offset)|) (= ~guard_malloc_counter~0.base |old(~guard_malloc_counter~0.base)|))} ~size := #in~size; {1087#(= ~guard_malloc_counter~0.offset |old(~guard_malloc_counter~0.offset)|)} is VALID [2020-07-08 12:24:04,004 INFO L280 TraceCheckUtils]: 1: Hoare triple {1087#(= ~guard_malloc_counter~0.offset |old(~guard_malloc_counter~0.offset)|)} assume ~size > 0; {1087#(= ~guard_malloc_counter~0.offset |old(~guard_malloc_counter~0.offset)|)} is VALID [2020-07-08 12:24:04,005 INFO L280 TraceCheckUtils]: 2: Hoare triple {1087#(= ~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;~guard_malloc_counter~0.base, ~guard_malloc_counter~0.offset := #t~post28.base, 1 + #t~post28.offset;havoc #t~post28.base, #t~post28.offset;assume -2147483648 <= #t~nondet29 && #t~nondet29 <= 2147483647; {1094#(<= (+ |old(~guard_malloc_counter~0.offset)| 1) ~guard_malloc_counter~0.offset)} is VALID [2020-07-08 12:24:04,006 INFO L280 TraceCheckUtils]: 3: Hoare triple {1094#(<= (+ |old(~guard_malloc_counter~0.offset)| 1) ~guard_malloc_counter~0.offset)} assume !(0 == #t~nondet29);havoc #t~nondet29;#res.base, #res.offset := ~guard_malloc_counter~0.base, ~guard_malloc_counter~0.offset; {1103#(<= (+ |old(~guard_malloc_counter~0.offset)| 1) |__getMemory_#res.offset|)} is VALID [2020-07-08 12:24:04,007 INFO L280 TraceCheckUtils]: 4: Hoare triple {1103#(<= (+ |old(~guard_malloc_counter~0.offset)| 1) |__getMemory_#res.offset|)} assume true; {1103#(<= (+ |old(~guard_malloc_counter~0.offset)| 1) |__getMemory_#res.offset|)} is VALID [2020-07-08 12:24:04,008 INFO L275 TraceCheckUtils]: 5: Hoare quadruple {1103#(<= (+ |old(~guard_malloc_counter~0.offset)| 1) |__getMemory_#res.offset|)} {1087#(= ~guard_malloc_counter~0.offset |old(~guard_malloc_counter~0.offset)|)} #69#return; {1101#(<= (+ |old(~guard_malloc_counter~0.offset)| 1) |my_malloc_#t~ret30.offset|)} is VALID [2020-07-08 12:24:04,009 INFO L280 TraceCheckUtils]: 0: Hoare triple {1086#(and (= ~guard_malloc_counter~0.offset |old(~guard_malloc_counter~0.offset)|) (= ~guard_malloc_counter~0.base |old(~guard_malloc_counter~0.base)|))} ~size := #in~size; {1087#(= ~guard_malloc_counter~0.offset |old(~guard_malloc_counter~0.offset)|)} is VALID [2020-07-08 12:24:04,010 INFO L263 TraceCheckUtils]: 1: Hoare triple {1087#(= ~guard_malloc_counter~0.offset |old(~guard_malloc_counter~0.offset)|)} call #t~ret30.base, #t~ret30.offset := __getMemory(~size); {1086#(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-08 12:24:04,011 INFO L280 TraceCheckUtils]: 2: Hoare triple {1086#(and (= ~guard_malloc_counter~0.offset |old(~guard_malloc_counter~0.offset)|) (= ~guard_malloc_counter~0.base |old(~guard_malloc_counter~0.base)|))} ~size := #in~size; {1087#(= ~guard_malloc_counter~0.offset |old(~guard_malloc_counter~0.offset)|)} is VALID [2020-07-08 12:24:04,012 INFO L280 TraceCheckUtils]: 3: Hoare triple {1087#(= ~guard_malloc_counter~0.offset |old(~guard_malloc_counter~0.offset)|)} assume ~size > 0; {1087#(= ~guard_malloc_counter~0.offset |old(~guard_malloc_counter~0.offset)|)} is VALID [2020-07-08 12:24:04,013 INFO L280 TraceCheckUtils]: 4: Hoare triple {1087#(= ~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;~guard_malloc_counter~0.base, ~guard_malloc_counter~0.offset := #t~post28.base, 1 + #t~post28.offset;havoc #t~post28.base, #t~post28.offset;assume -2147483648 <= #t~nondet29 && #t~nondet29 <= 2147483647; {1094#(<= (+ |old(~guard_malloc_counter~0.offset)| 1) ~guard_malloc_counter~0.offset)} is VALID [2020-07-08 12:24:04,014 INFO L280 TraceCheckUtils]: 5: Hoare triple {1094#(<= (+ |old(~guard_malloc_counter~0.offset)| 1) ~guard_malloc_counter~0.offset)} assume !(0 == #t~nondet29);havoc #t~nondet29;#res.base, #res.offset := ~guard_malloc_counter~0.base, ~guard_malloc_counter~0.offset; {1103#(<= (+ |old(~guard_malloc_counter~0.offset)| 1) |__getMemory_#res.offset|)} is VALID [2020-07-08 12:24:04,014 INFO L280 TraceCheckUtils]: 6: Hoare triple {1103#(<= (+ |old(~guard_malloc_counter~0.offset)| 1) |__getMemory_#res.offset|)} assume true; {1103#(<= (+ |old(~guard_malloc_counter~0.offset)| 1) |__getMemory_#res.offset|)} is VALID [2020-07-08 12:24:04,016 INFO L275 TraceCheckUtils]: 7: Hoare quadruple {1103#(<= (+ |old(~guard_malloc_counter~0.offset)| 1) |__getMemory_#res.offset|)} {1087#(= ~guard_malloc_counter~0.offset |old(~guard_malloc_counter~0.offset)|)} #69#return; {1101#(<= (+ |old(~guard_malloc_counter~0.offset)| 1) |my_malloc_#t~ret30.offset|)} is VALID [2020-07-08 12:24:04,017 INFO L280 TraceCheckUtils]: 8: Hoare triple {1101#(<= (+ |old(~guard_malloc_counter~0.offset)| 1) |my_malloc_#t~ret30.offset|)} #res.base, #res.offset := #t~ret30.base, #t~ret30.offset;havoc #t~ret30.base, #t~ret30.offset; {1102#(<= (+ |old(~guard_malloc_counter~0.offset)| 1) |my_malloc_#res.offset|)} is VALID [2020-07-08 12:24:04,017 INFO L280 TraceCheckUtils]: 9: Hoare triple {1102#(<= (+ |old(~guard_malloc_counter~0.offset)| 1) |my_malloc_#res.offset|)} assume true; {1102#(<= (+ |old(~guard_malloc_counter~0.offset)| 1) |my_malloc_#res.offset|)} is VALID [2020-07-08 12:24:04,019 INFO L275 TraceCheckUtils]: 10: Hoare quadruple {1102#(<= (+ |old(~guard_malloc_counter~0.offset)| 1) |my_malloc_#res.offset|)} {1069#(and (= 0 ~elem~0.offset) (<= 1 ~guard_malloc_counter~0.offset))} #73#return; {1081#(and (= 0 ~elem~0.offset) (<= 2 |main_#t~ret33.offset|))} is VALID [2020-07-08 12:24:04,021 INFO L263 TraceCheckUtils]: 0: Hoare triple {1052#true} call ULTIMATE.init(); {1085#(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-08 12:24:04,022 INFO L280 TraceCheckUtils]: 1: Hoare triple {1085#(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;#valid := #valid[0 := 0];assume 0 < #StackHeapBarrier;~guard_malloc_counter~0.base, ~guard_malloc_counter~0.offset := 0, 0;~elem~0.base, ~elem~0.offset := 0, 0;call ~#head~0.base, ~#head~0.offset := #Ultimate.allocOnStack(8);call write~init~$Pointer$(0, 0, ~#head~0.base, ~#head~0.offset, 4);call write~init~$Pointer$(0, 0, ~#head~0.base, 4 + ~#head~0.offset, 4); {1057#(and (= 0 ~elem~0.offset) (<= 0 ~guard_malloc_counter~0.offset))} is VALID [2020-07-08 12:24:04,023 INFO L280 TraceCheckUtils]: 2: Hoare triple {1057#(and (= 0 ~elem~0.offset) (<= 0 ~guard_malloc_counter~0.offset))} assume true; {1057#(and (= 0 ~elem~0.offset) (<= 0 ~guard_malloc_counter~0.offset))} is VALID [2020-07-08 12:24:04,024 INFO L275 TraceCheckUtils]: 3: Hoare quadruple {1057#(and (= 0 ~elem~0.offset) (<= 0 ~guard_malloc_counter~0.offset))} {1052#true} #89#return; {1057#(and (= 0 ~elem~0.offset) (<= 0 ~guard_malloc_counter~0.offset))} is VALID [2020-07-08 12:24:04,025 INFO L263 TraceCheckUtils]: 4: Hoare triple {1057#(and (= 0 ~elem~0.offset) (<= 0 ~guard_malloc_counter~0.offset))} call #t~ret34 := main(); {1057#(and (= 0 ~elem~0.offset) (<= 0 ~guard_malloc_counter~0.offset))} is VALID [2020-07-08 12:24:04,026 INFO L280 TraceCheckUtils]: 5: Hoare triple {1057#(and (= 0 ~elem~0.offset) (<= 0 ~guard_malloc_counter~0.offset))} havoc ~dev1~0.base, ~dev1~0.offset;havoc ~dev2~0.base, ~dev2~0.offset; {1057#(and (= 0 ~elem~0.offset) (<= 0 ~guard_malloc_counter~0.offset))} is VALID [2020-07-08 12:24:04,027 INFO L263 TraceCheckUtils]: 6: Hoare triple {1057#(and (= 0 ~elem~0.offset) (<= 0 ~guard_malloc_counter~0.offset))} call #t~ret32.base, #t~ret32.offset := my_malloc(8); {1086#(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-08 12:24:04,028 INFO L280 TraceCheckUtils]: 7: Hoare triple {1086#(and (= ~guard_malloc_counter~0.offset |old(~guard_malloc_counter~0.offset)|) (= ~guard_malloc_counter~0.base |old(~guard_malloc_counter~0.base)|))} ~size := #in~size; {1087#(= ~guard_malloc_counter~0.offset |old(~guard_malloc_counter~0.offset)|)} is VALID [2020-07-08 12:24:04,029 INFO L263 TraceCheckUtils]: 8: Hoare triple {1087#(= ~guard_malloc_counter~0.offset |old(~guard_malloc_counter~0.offset)|)} call #t~ret30.base, #t~ret30.offset := __getMemory(~size); {1086#(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-08 12:24:04,029 INFO L280 TraceCheckUtils]: 9: Hoare triple {1086#(and (= ~guard_malloc_counter~0.offset |old(~guard_malloc_counter~0.offset)|) (= ~guard_malloc_counter~0.base |old(~guard_malloc_counter~0.base)|))} ~size := #in~size; {1087#(= ~guard_malloc_counter~0.offset |old(~guard_malloc_counter~0.offset)|)} is VALID [2020-07-08 12:24:04,030 INFO L280 TraceCheckUtils]: 10: Hoare triple {1087#(= ~guard_malloc_counter~0.offset |old(~guard_malloc_counter~0.offset)|)} assume ~size > 0; {1087#(= ~guard_malloc_counter~0.offset |old(~guard_malloc_counter~0.offset)|)} is VALID [2020-07-08 12:24:04,031 INFO L280 TraceCheckUtils]: 11: Hoare triple {1087#(= ~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;~guard_malloc_counter~0.base, ~guard_malloc_counter~0.offset := #t~post28.base, 1 + #t~post28.offset;havoc #t~post28.base, #t~post28.offset;assume -2147483648 <= #t~nondet29 && #t~nondet29 <= 2147483647; {1094#(<= (+ |old(~guard_malloc_counter~0.offset)| 1) ~guard_malloc_counter~0.offset)} is VALID [2020-07-08 12:24:04,031 INFO L280 TraceCheckUtils]: 12: Hoare triple {1094#(<= (+ |old(~guard_malloc_counter~0.offset)| 1) ~guard_malloc_counter~0.offset)} assume !(0 == #t~nondet29);havoc #t~nondet29;#res.base, #res.offset := ~guard_malloc_counter~0.base, ~guard_malloc_counter~0.offset; {1094#(<= (+ |old(~guard_malloc_counter~0.offset)| 1) ~guard_malloc_counter~0.offset)} is VALID [2020-07-08 12:24:04,032 INFO L280 TraceCheckUtils]: 13: Hoare triple {1094#(<= (+ |old(~guard_malloc_counter~0.offset)| 1) ~guard_malloc_counter~0.offset)} assume true; {1094#(<= (+ |old(~guard_malloc_counter~0.offset)| 1) ~guard_malloc_counter~0.offset)} is VALID [2020-07-08 12:24:04,034 INFO L275 TraceCheckUtils]: 14: Hoare quadruple {1094#(<= (+ |old(~guard_malloc_counter~0.offset)| 1) ~guard_malloc_counter~0.offset)} {1087#(= ~guard_malloc_counter~0.offset |old(~guard_malloc_counter~0.offset)|)} #69#return; {1094#(<= (+ |old(~guard_malloc_counter~0.offset)| 1) ~guard_malloc_counter~0.offset)} is VALID [2020-07-08 12:24:04,034 INFO L280 TraceCheckUtils]: 15: Hoare triple {1094#(<= (+ |old(~guard_malloc_counter~0.offset)| 1) ~guard_malloc_counter~0.offset)} #res.base, #res.offset := #t~ret30.base, #t~ret30.offset;havoc #t~ret30.base, #t~ret30.offset; {1094#(<= (+ |old(~guard_malloc_counter~0.offset)| 1) ~guard_malloc_counter~0.offset)} is VALID [2020-07-08 12:24:04,035 INFO L280 TraceCheckUtils]: 16: Hoare triple {1094#(<= (+ |old(~guard_malloc_counter~0.offset)| 1) ~guard_malloc_counter~0.offset)} assume true; {1094#(<= (+ |old(~guard_malloc_counter~0.offset)| 1) ~guard_malloc_counter~0.offset)} is VALID [2020-07-08 12:24:04,036 INFO L275 TraceCheckUtils]: 17: Hoare quadruple {1094#(<= (+ |old(~guard_malloc_counter~0.offset)| 1) ~guard_malloc_counter~0.offset)} {1057#(and (= 0 ~elem~0.offset) (<= 0 ~guard_malloc_counter~0.offset))} #71#return; {1069#(and (= 0 ~elem~0.offset) (<= 1 ~guard_malloc_counter~0.offset))} is VALID [2020-07-08 12:24:04,037 INFO L280 TraceCheckUtils]: 18: Hoare triple {1069#(and (= 0 ~elem~0.offset) (<= 1 ~guard_malloc_counter~0.offset))} ~dev1~0.base, ~dev1~0.offset := #t~ret32.base, #t~ret32.offset;havoc #t~ret32.base, #t~ret32.offset; {1069#(and (= 0 ~elem~0.offset) (<= 1 ~guard_malloc_counter~0.offset))} is VALID [2020-07-08 12:24:04,038 INFO L263 TraceCheckUtils]: 19: Hoare triple {1069#(and (= 0 ~elem~0.offset) (<= 1 ~guard_malloc_counter~0.offset))} call #t~ret33.base, #t~ret33.offset := my_malloc(8); {1086#(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-08 12:24:04,039 INFO L280 TraceCheckUtils]: 20: Hoare triple {1086#(and (= ~guard_malloc_counter~0.offset |old(~guard_malloc_counter~0.offset)|) (= ~guard_malloc_counter~0.base |old(~guard_malloc_counter~0.base)|))} ~size := #in~size; {1087#(= ~guard_malloc_counter~0.offset |old(~guard_malloc_counter~0.offset)|)} is VALID [2020-07-08 12:24:04,040 INFO L263 TraceCheckUtils]: 21: Hoare triple {1087#(= ~guard_malloc_counter~0.offset |old(~guard_malloc_counter~0.offset)|)} call #t~ret30.base, #t~ret30.offset := __getMemory(~size); {1086#(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-08 12:24:04,041 INFO L280 TraceCheckUtils]: 22: Hoare triple {1086#(and (= ~guard_malloc_counter~0.offset |old(~guard_malloc_counter~0.offset)|) (= ~guard_malloc_counter~0.base |old(~guard_malloc_counter~0.base)|))} ~size := #in~size; {1087#(= ~guard_malloc_counter~0.offset |old(~guard_malloc_counter~0.offset)|)} is VALID [2020-07-08 12:24:04,042 INFO L280 TraceCheckUtils]: 23: Hoare triple {1087#(= ~guard_malloc_counter~0.offset |old(~guard_malloc_counter~0.offset)|)} assume ~size > 0; {1087#(= ~guard_malloc_counter~0.offset |old(~guard_malloc_counter~0.offset)|)} is VALID [2020-07-08 12:24:04,042 INFO L280 TraceCheckUtils]: 24: Hoare triple {1087#(= ~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;~guard_malloc_counter~0.base, ~guard_malloc_counter~0.offset := #t~post28.base, 1 + #t~post28.offset;havoc #t~post28.base, #t~post28.offset;assume -2147483648 <= #t~nondet29 && #t~nondet29 <= 2147483647; {1094#(<= (+ |old(~guard_malloc_counter~0.offset)| 1) ~guard_malloc_counter~0.offset)} is VALID [2020-07-08 12:24:04,043 INFO L280 TraceCheckUtils]: 25: Hoare triple {1094#(<= (+ |old(~guard_malloc_counter~0.offset)| 1) ~guard_malloc_counter~0.offset)} assume !(0 == #t~nondet29);havoc #t~nondet29;#res.base, #res.offset := ~guard_malloc_counter~0.base, ~guard_malloc_counter~0.offset; {1103#(<= (+ |old(~guard_malloc_counter~0.offset)| 1) |__getMemory_#res.offset|)} is VALID [2020-07-08 12:24:04,044 INFO L280 TraceCheckUtils]: 26: Hoare triple {1103#(<= (+ |old(~guard_malloc_counter~0.offset)| 1) |__getMemory_#res.offset|)} assume true; {1103#(<= (+ |old(~guard_malloc_counter~0.offset)| 1) |__getMemory_#res.offset|)} is VALID [2020-07-08 12:24:04,045 INFO L275 TraceCheckUtils]: 27: Hoare quadruple {1103#(<= (+ |old(~guard_malloc_counter~0.offset)| 1) |__getMemory_#res.offset|)} {1087#(= ~guard_malloc_counter~0.offset |old(~guard_malloc_counter~0.offset)|)} #69#return; {1101#(<= (+ |old(~guard_malloc_counter~0.offset)| 1) |my_malloc_#t~ret30.offset|)} is VALID [2020-07-08 12:24:04,046 INFO L280 TraceCheckUtils]: 28: Hoare triple {1101#(<= (+ |old(~guard_malloc_counter~0.offset)| 1) |my_malloc_#t~ret30.offset|)} #res.base, #res.offset := #t~ret30.base, #t~ret30.offset;havoc #t~ret30.base, #t~ret30.offset; {1102#(<= (+ |old(~guard_malloc_counter~0.offset)| 1) |my_malloc_#res.offset|)} is VALID [2020-07-08 12:24:04,047 INFO L280 TraceCheckUtils]: 29: Hoare triple {1102#(<= (+ |old(~guard_malloc_counter~0.offset)| 1) |my_malloc_#res.offset|)} assume true; {1102#(<= (+ |old(~guard_malloc_counter~0.offset)| 1) |my_malloc_#res.offset|)} is VALID [2020-07-08 12:24:04,048 INFO L275 TraceCheckUtils]: 30: Hoare quadruple {1102#(<= (+ |old(~guard_malloc_counter~0.offset)| 1) |my_malloc_#res.offset|)} {1069#(and (= 0 ~elem~0.offset) (<= 1 ~guard_malloc_counter~0.offset))} #73#return; {1081#(and (= 0 ~elem~0.offset) (<= 2 |main_#t~ret33.offset|))} is VALID [2020-07-08 12:24:04,049 INFO L280 TraceCheckUtils]: 31: Hoare triple {1081#(and (= 0 ~elem~0.offset) (<= 2 |main_#t~ret33.offset|))} ~dev2~0.base, ~dev2~0.offset := #t~ret33.base, #t~ret33.offset;havoc #t~ret33.base, #t~ret33.offset; {1082#(and (= 0 ~elem~0.offset) (<= 2 main_~dev2~0.offset))} is VALID [2020-07-08 12:24:04,050 INFO L280 TraceCheckUtils]: 32: Hoare triple {1082#(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); {1082#(and (= 0 ~elem~0.offset) (<= 2 main_~dev2~0.offset))} is VALID [2020-07-08 12:24:04,051 INFO L263 TraceCheckUtils]: 33: Hoare triple {1082#(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); {1083#(and (= 0 ~elem~0.offset) (<= 2 |list_add_#in~new.offset|))} is VALID [2020-07-08 12:24:04,052 INFO L280 TraceCheckUtils]: 34: Hoare triple {1083#(and (= 0 ~elem~0.offset) (<= 2 |list_add_#in~new.offset|))} ~new.base, ~new.offset := #in~new.base, #in~new.offset;~head.base, ~head.offset := #in~head.base, #in~head.offset; {1084#(and (= 0 ~elem~0.offset) (not (= 0 list_add_~new.offset)))} is VALID [2020-07-08 12:24:04,053 INFO L280 TraceCheckUtils]: 35: Hoare triple {1084#(and (= 0 ~elem~0.offset) (not (= 0 list_add_~new.offset)))} assume !(~new.base != ~elem~0.base || ~new.offset != ~elem~0.offset); {1053#false} is VALID [2020-07-08 12:24:04,053 INFO L263 TraceCheckUtils]: 36: Hoare triple {1053#false} call __blast_assert(); {1053#false} is VALID [2020-07-08 12:24:04,054 INFO L280 TraceCheckUtils]: 37: Hoare triple {1053#false} assume !false; {1053#false} is VALID [2020-07-08 12:24:04,057 INFO L134 CoverageAnalysis]: Checked inductivity of 11 backedges. 0 proven. 5 refuted. 0 times theorem prover too weak. 6 trivial. 0 not checked. [2020-07-08 12:24:04,058 INFO L354 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleSmtInterpolCraig [1950518329] [2020-07-08 12:24:04,058 INFO L354 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleZ3 [1196950096] [2020-07-08 12:24:04,058 INFO L94 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 Starting monitored process 3 with z3 -smt2 -in SMTLIB2_COMPLIANT=true (exit command is (exit), workingDir is null) Waiting until toolchain timeout for monitored process 3 with z3 -smt2 -in SMTLIB2_COMPLIANT=true [2020-07-08 12:24:04,159 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2020-07-08 12:24:04,160 INFO L264 TraceCheckSpWp]: Trace formula consists of 230 conjuncts, 26 conjunts are in the unsatisfiable core [2020-07-08 12:24:04,177 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2020-07-08 12:24:04,181 INFO L287 TraceCheckSpWp]: Computing forward predicates... [2020-07-08 12:24:04,821 INFO L263 TraceCheckUtils]: 0: Hoare triple {1052#true} call ULTIMATE.init(); {1052#true} is VALID [2020-07-08 12:24:04,822 INFO L280 TraceCheckUtils]: 1: Hoare triple {1052#true} #NULL.base, #NULL.offset := 0, 0;#valid := #valid[0 := 0];assume 0 < #StackHeapBarrier;~guard_malloc_counter~0.base, ~guard_malloc_counter~0.offset := 0, 0;~elem~0.base, ~elem~0.offset := 0, 0;call ~#head~0.base, ~#head~0.offset := #Ultimate.allocOnStack(8);call write~init~$Pointer$(0, 0, ~#head~0.base, ~#head~0.offset, 4);call write~init~$Pointer$(0, 0, ~#head~0.base, 4 + ~#head~0.offset, 4); {1110#(and (<= 0 ~guard_malloc_counter~0.offset) (<= ~elem~0.offset 0))} is VALID [2020-07-08 12:24:04,823 INFO L280 TraceCheckUtils]: 2: Hoare triple {1110#(and (<= 0 ~guard_malloc_counter~0.offset) (<= ~elem~0.offset 0))} assume true; {1110#(and (<= 0 ~guard_malloc_counter~0.offset) (<= ~elem~0.offset 0))} is VALID [2020-07-08 12:24:04,823 INFO L275 TraceCheckUtils]: 3: Hoare quadruple {1110#(and (<= 0 ~guard_malloc_counter~0.offset) (<= ~elem~0.offset 0))} {1052#true} #89#return; {1110#(and (<= 0 ~guard_malloc_counter~0.offset) (<= ~elem~0.offset 0))} is VALID [2020-07-08 12:24:04,824 INFO L263 TraceCheckUtils]: 4: Hoare triple {1110#(and (<= 0 ~guard_malloc_counter~0.offset) (<= ~elem~0.offset 0))} call #t~ret34 := main(); {1110#(and (<= 0 ~guard_malloc_counter~0.offset) (<= ~elem~0.offset 0))} is VALID [2020-07-08 12:24:04,824 INFO L280 TraceCheckUtils]: 5: Hoare triple {1110#(and (<= 0 ~guard_malloc_counter~0.offset) (<= ~elem~0.offset 0))} havoc ~dev1~0.base, ~dev1~0.offset;havoc ~dev2~0.base, ~dev2~0.offset; {1110#(and (<= 0 ~guard_malloc_counter~0.offset) (<= ~elem~0.offset 0))} is VALID [2020-07-08 12:24:04,825 INFO L263 TraceCheckUtils]: 6: Hoare triple {1110#(and (<= 0 ~guard_malloc_counter~0.offset) (<= ~elem~0.offset 0))} call #t~ret32.base, #t~ret32.offset := my_malloc(8); {1126#(and (<= |old(~guard_malloc_counter~0.offset)| ~guard_malloc_counter~0.offset) (<= ~elem~0.offset 0))} is VALID [2020-07-08 12:24:04,825 INFO L280 TraceCheckUtils]: 7: Hoare triple {1126#(and (<= |old(~guard_malloc_counter~0.offset)| ~guard_malloc_counter~0.offset) (<= ~elem~0.offset 0))} ~size := #in~size; {1126#(and (<= |old(~guard_malloc_counter~0.offset)| ~guard_malloc_counter~0.offset) (<= ~elem~0.offset 0))} is VALID [2020-07-08 12:24:04,826 INFO L263 TraceCheckUtils]: 8: Hoare triple {1126#(and (<= |old(~guard_malloc_counter~0.offset)| ~guard_malloc_counter~0.offset) (<= ~elem~0.offset 0))} call #t~ret30.base, #t~ret30.offset := __getMemory(~size); {1126#(and (<= |old(~guard_malloc_counter~0.offset)| ~guard_malloc_counter~0.offset) (<= ~elem~0.offset 0))} is VALID [2020-07-08 12:24:04,827 INFO L280 TraceCheckUtils]: 9: Hoare triple {1126#(and (<= |old(~guard_malloc_counter~0.offset)| ~guard_malloc_counter~0.offset) (<= ~elem~0.offset 0))} ~size := #in~size; {1126#(and (<= |old(~guard_malloc_counter~0.offset)| ~guard_malloc_counter~0.offset) (<= ~elem~0.offset 0))} is VALID [2020-07-08 12:24:04,828 INFO L280 TraceCheckUtils]: 10: Hoare triple {1126#(and (<= |old(~guard_malloc_counter~0.offset)| ~guard_malloc_counter~0.offset) (<= ~elem~0.offset 0))} assume ~size > 0; {1126#(and (<= |old(~guard_malloc_counter~0.offset)| ~guard_malloc_counter~0.offset) (<= ~elem~0.offset 0))} is VALID [2020-07-08 12:24:04,829 INFO L280 TraceCheckUtils]: 11: Hoare triple {1126#(and (<= |old(~guard_malloc_counter~0.offset)| ~guard_malloc_counter~0.offset) (<= ~elem~0.offset 0))} #t~post28.base, #t~post28.offset := ~guard_malloc_counter~0.base, ~guard_malloc_counter~0.offset;~guard_malloc_counter~0.base, ~guard_malloc_counter~0.offset := #t~post28.base, 1 + #t~post28.offset;havoc #t~post28.base, #t~post28.offset;assume -2147483648 <= #t~nondet29 && #t~nondet29 <= 2147483647; {1142#(and (<= (+ |old(~guard_malloc_counter~0.offset)| 1) ~guard_malloc_counter~0.offset) (<= ~elem~0.offset 0))} is VALID [2020-07-08 12:24:04,829 INFO L280 TraceCheckUtils]: 12: Hoare triple {1142#(and (<= (+ |old(~guard_malloc_counter~0.offset)| 1) ~guard_malloc_counter~0.offset) (<= ~elem~0.offset 0))} assume !(0 == #t~nondet29);havoc #t~nondet29;#res.base, #res.offset := ~guard_malloc_counter~0.base, ~guard_malloc_counter~0.offset; {1142#(and (<= (+ |old(~guard_malloc_counter~0.offset)| 1) ~guard_malloc_counter~0.offset) (<= ~elem~0.offset 0))} is VALID [2020-07-08 12:24:04,830 INFO L280 TraceCheckUtils]: 13: Hoare triple {1142#(and (<= (+ |old(~guard_malloc_counter~0.offset)| 1) ~guard_malloc_counter~0.offset) (<= ~elem~0.offset 0))} assume true; {1142#(and (<= (+ |old(~guard_malloc_counter~0.offset)| 1) ~guard_malloc_counter~0.offset) (<= ~elem~0.offset 0))} is VALID [2020-07-08 12:24:04,832 INFO L275 TraceCheckUtils]: 14: Hoare quadruple {1142#(and (<= (+ |old(~guard_malloc_counter~0.offset)| 1) ~guard_malloc_counter~0.offset) (<= ~elem~0.offset 0))} {1126#(and (<= |old(~guard_malloc_counter~0.offset)| ~guard_malloc_counter~0.offset) (<= ~elem~0.offset 0))} #69#return; {1142#(and (<= (+ |old(~guard_malloc_counter~0.offset)| 1) ~guard_malloc_counter~0.offset) (<= ~elem~0.offset 0))} is VALID [2020-07-08 12:24:04,832 INFO L280 TraceCheckUtils]: 15: Hoare triple {1142#(and (<= (+ |old(~guard_malloc_counter~0.offset)| 1) ~guard_malloc_counter~0.offset) (<= ~elem~0.offset 0))} #res.base, #res.offset := #t~ret30.base, #t~ret30.offset;havoc #t~ret30.base, #t~ret30.offset; {1142#(and (<= (+ |old(~guard_malloc_counter~0.offset)| 1) ~guard_malloc_counter~0.offset) (<= ~elem~0.offset 0))} is VALID [2020-07-08 12:24:04,833 INFO L280 TraceCheckUtils]: 16: Hoare triple {1142#(and (<= (+ |old(~guard_malloc_counter~0.offset)| 1) ~guard_malloc_counter~0.offset) (<= ~elem~0.offset 0))} assume true; {1142#(and (<= (+ |old(~guard_malloc_counter~0.offset)| 1) ~guard_malloc_counter~0.offset) (<= ~elem~0.offset 0))} is VALID [2020-07-08 12:24:04,834 INFO L275 TraceCheckUtils]: 17: Hoare quadruple {1142#(and (<= (+ |old(~guard_malloc_counter~0.offset)| 1) ~guard_malloc_counter~0.offset) (<= ~elem~0.offset 0))} {1110#(and (<= 0 ~guard_malloc_counter~0.offset) (<= ~elem~0.offset 0))} #71#return; {1161#(and (<= ~elem~0.offset 0) (<= 1 ~guard_malloc_counter~0.offset))} is VALID [2020-07-08 12:24:04,835 INFO L280 TraceCheckUtils]: 18: Hoare triple {1161#(and (<= ~elem~0.offset 0) (<= 1 ~guard_malloc_counter~0.offset))} ~dev1~0.base, ~dev1~0.offset := #t~ret32.base, #t~ret32.offset;havoc #t~ret32.base, #t~ret32.offset; {1161#(and (<= ~elem~0.offset 0) (<= 1 ~guard_malloc_counter~0.offset))} is VALID [2020-07-08 12:24:04,835 INFO L263 TraceCheckUtils]: 19: Hoare triple {1161#(and (<= ~elem~0.offset 0) (<= 1 ~guard_malloc_counter~0.offset))} call #t~ret33.base, #t~ret33.offset := my_malloc(8); {1126#(and (<= |old(~guard_malloc_counter~0.offset)| ~guard_malloc_counter~0.offset) (<= ~elem~0.offset 0))} is VALID [2020-07-08 12:24:04,837 INFO L280 TraceCheckUtils]: 20: Hoare triple {1126#(and (<= |old(~guard_malloc_counter~0.offset)| ~guard_malloc_counter~0.offset) (<= ~elem~0.offset 0))} ~size := #in~size; {1126#(and (<= |old(~guard_malloc_counter~0.offset)| ~guard_malloc_counter~0.offset) (<= ~elem~0.offset 0))} is VALID [2020-07-08 12:24:04,838 INFO L263 TraceCheckUtils]: 21: Hoare triple {1126#(and (<= |old(~guard_malloc_counter~0.offset)| ~guard_malloc_counter~0.offset) (<= ~elem~0.offset 0))} call #t~ret30.base, #t~ret30.offset := __getMemory(~size); {1126#(and (<= |old(~guard_malloc_counter~0.offset)| ~guard_malloc_counter~0.offset) (<= ~elem~0.offset 0))} is VALID [2020-07-08 12:24:04,839 INFO L280 TraceCheckUtils]: 22: Hoare triple {1126#(and (<= |old(~guard_malloc_counter~0.offset)| ~guard_malloc_counter~0.offset) (<= ~elem~0.offset 0))} ~size := #in~size; {1126#(and (<= |old(~guard_malloc_counter~0.offset)| ~guard_malloc_counter~0.offset) (<= ~elem~0.offset 0))} is VALID [2020-07-08 12:24:04,839 INFO L280 TraceCheckUtils]: 23: Hoare triple {1126#(and (<= |old(~guard_malloc_counter~0.offset)| ~guard_malloc_counter~0.offset) (<= ~elem~0.offset 0))} assume ~size > 0; {1126#(and (<= |old(~guard_malloc_counter~0.offset)| ~guard_malloc_counter~0.offset) (<= ~elem~0.offset 0))} is VALID [2020-07-08 12:24:04,841 INFO L280 TraceCheckUtils]: 24: Hoare triple {1126#(and (<= |old(~guard_malloc_counter~0.offset)| ~guard_malloc_counter~0.offset) (<= ~elem~0.offset 0))} #t~post28.base, #t~post28.offset := ~guard_malloc_counter~0.base, ~guard_malloc_counter~0.offset;~guard_malloc_counter~0.base, ~guard_malloc_counter~0.offset := #t~post28.base, 1 + #t~post28.offset;havoc #t~post28.base, #t~post28.offset;assume -2147483648 <= #t~nondet29 && #t~nondet29 <= 2147483647; {1142#(and (<= (+ |old(~guard_malloc_counter~0.offset)| 1) ~guard_malloc_counter~0.offset) (<= ~elem~0.offset 0))} is VALID [2020-07-08 12:24:04,843 INFO L280 TraceCheckUtils]: 25: Hoare triple {1142#(and (<= (+ |old(~guard_malloc_counter~0.offset)| 1) ~guard_malloc_counter~0.offset) (<= ~elem~0.offset 0))} assume !(0 == #t~nondet29);havoc #t~nondet29;#res.base, #res.offset := ~guard_malloc_counter~0.base, ~guard_malloc_counter~0.offset; {1186#(and (<= (+ |old(~guard_malloc_counter~0.offset)| 1) ~guard_malloc_counter~0.offset) (<= ~guard_malloc_counter~0.offset |__getMemory_#res.offset|) (<= ~elem~0.offset 0))} is VALID [2020-07-08 12:24:04,844 INFO L280 TraceCheckUtils]: 26: Hoare triple {1186#(and (<= (+ |old(~guard_malloc_counter~0.offset)| 1) ~guard_malloc_counter~0.offset) (<= ~guard_malloc_counter~0.offset |__getMemory_#res.offset|) (<= ~elem~0.offset 0))} assume true; {1186#(and (<= (+ |old(~guard_malloc_counter~0.offset)| 1) ~guard_malloc_counter~0.offset) (<= ~guard_malloc_counter~0.offset |__getMemory_#res.offset|) (<= ~elem~0.offset 0))} is VALID [2020-07-08 12:24:04,846 INFO L275 TraceCheckUtils]: 27: Hoare quadruple {1186#(and (<= (+ |old(~guard_malloc_counter~0.offset)| 1) ~guard_malloc_counter~0.offset) (<= ~guard_malloc_counter~0.offset |__getMemory_#res.offset|) (<= ~elem~0.offset 0))} {1126#(and (<= |old(~guard_malloc_counter~0.offset)| ~guard_malloc_counter~0.offset) (<= ~elem~0.offset 0))} #69#return; {1193#(and (<= (+ |old(~guard_malloc_counter~0.offset)| 1) ~guard_malloc_counter~0.offset) (<= ~guard_malloc_counter~0.offset |my_malloc_#t~ret30.offset|) (<= ~elem~0.offset 0))} is VALID [2020-07-08 12:24:04,847 INFO L280 TraceCheckUtils]: 28: Hoare triple {1193#(and (<= (+ |old(~guard_malloc_counter~0.offset)| 1) ~guard_malloc_counter~0.offset) (<= ~guard_malloc_counter~0.offset |my_malloc_#t~ret30.offset|) (<= ~elem~0.offset 0))} #res.base, #res.offset := #t~ret30.base, #t~ret30.offset;havoc #t~ret30.base, #t~ret30.offset; {1197#(and (<= (+ |old(~guard_malloc_counter~0.offset)| 1) ~guard_malloc_counter~0.offset) (<= ~guard_malloc_counter~0.offset |my_malloc_#res.offset|) (<= ~elem~0.offset 0))} is VALID [2020-07-08 12:24:04,848 INFO L280 TraceCheckUtils]: 29: Hoare triple {1197#(and (<= (+ |old(~guard_malloc_counter~0.offset)| 1) ~guard_malloc_counter~0.offset) (<= ~guard_malloc_counter~0.offset |my_malloc_#res.offset|) (<= ~elem~0.offset 0))} assume true; {1197#(and (<= (+ |old(~guard_malloc_counter~0.offset)| 1) ~guard_malloc_counter~0.offset) (<= ~guard_malloc_counter~0.offset |my_malloc_#res.offset|) (<= ~elem~0.offset 0))} is VALID [2020-07-08 12:24:04,849 INFO L275 TraceCheckUtils]: 30: Hoare quadruple {1197#(and (<= (+ |old(~guard_malloc_counter~0.offset)| 1) ~guard_malloc_counter~0.offset) (<= ~guard_malloc_counter~0.offset |my_malloc_#res.offset|) (<= ~elem~0.offset 0))} {1161#(and (<= ~elem~0.offset 0) (<= 1 ~guard_malloc_counter~0.offset))} #73#return; {1204#(and (<= 2 |main_#t~ret33.offset|) (<= ~elem~0.offset 0))} is VALID [2020-07-08 12:24:04,850 INFO L280 TraceCheckUtils]: 31: Hoare triple {1204#(and (<= 2 |main_#t~ret33.offset|) (<= ~elem~0.offset 0))} ~dev2~0.base, ~dev2~0.offset := #t~ret33.base, #t~ret33.offset;havoc #t~ret33.base, #t~ret33.offset; {1208#(and (<= 2 main_~dev2~0.offset) (<= ~elem~0.offset 0))} is VALID [2020-07-08 12:24:04,850 INFO L280 TraceCheckUtils]: 32: Hoare triple {1208#(and (<= 2 main_~dev2~0.offset) (<= ~elem~0.offset 0))} assume (~dev1~0.base != 0 || ~dev1~0.offset != 0) && (~dev2~0.base != 0 || ~dev2~0.offset != 0); {1208#(and (<= 2 main_~dev2~0.offset) (<= ~elem~0.offset 0))} is VALID [2020-07-08 12:24:04,855 INFO L263 TraceCheckUtils]: 33: Hoare triple {1208#(and (<= 2 main_~dev2~0.offset) (<= ~elem~0.offset 0))} call list_add(~dev2~0.base, ~dev2~0.offset, ~#head~0.base, ~#head~0.offset); {1215#(and (<= 2 |list_add_#in~new.offset|) (<= ~elem~0.offset 0))} is VALID [2020-07-08 12:24:04,856 INFO L280 TraceCheckUtils]: 34: Hoare triple {1215#(and (<= 2 |list_add_#in~new.offset|) (<= ~elem~0.offset 0))} ~new.base, ~new.offset := #in~new.base, #in~new.offset;~head.base, ~head.offset := #in~head.base, #in~head.offset; {1219#(and (<= 2 list_add_~new.offset) (<= ~elem~0.offset 0))} is VALID [2020-07-08 12:24:04,857 INFO L280 TraceCheckUtils]: 35: Hoare triple {1219#(and (<= 2 list_add_~new.offset) (<= ~elem~0.offset 0))} assume !(~new.base != ~elem~0.base || ~new.offset != ~elem~0.offset); {1053#false} is VALID [2020-07-08 12:24:04,857 INFO L263 TraceCheckUtils]: 36: Hoare triple {1053#false} call __blast_assert(); {1053#false} is VALID [2020-07-08 12:24:04,857 INFO L280 TraceCheckUtils]: 37: Hoare triple {1053#false} assume !false; {1053#false} is VALID [2020-07-08 12:24:04,861 INFO L134 CoverageAnalysis]: Checked inductivity of 11 backedges. 5 proven. 0 refuted. 0 times theorem prover too weak. 6 trivial. 0 not checked. [2020-07-08 12:24:04,862 INFO L220 FreeRefinementEngine]: Constructing automaton from 1 perfect and 1 imperfect interpolant sequences. [2020-07-08 12:24:04,862 INFO L233 FreeRefinementEngine]: Number of different interpolants: perfect sequences [13] imperfect sequences [14] total 26 [2020-07-08 12:24:04,862 INFO L156 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [925771785] [2020-07-08 12:24:04,862 INFO L78 Accepts]: Start accepts. Automaton has 13 states. Word has length 38 [2020-07-08 12:24:04,863 INFO L84 Accepts]: Finished accepts. word is accepted. [2020-07-08 12:24:04,863 INFO L86 InductivityCheck]: Starting indutivity check of a Floyd-Hoare automaton with 13 states. [2020-07-08 12:24:04,911 INFO L119 InductivityCheck]: Floyd-Hoare automaton has 33 edges. 33 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2020-07-08 12:24:04,911 INFO L459 AbstractCegarLoop]: Interpolant automaton has 13 states [2020-07-08 12:24:04,911 INFO L143 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy CAMEL [2020-07-08 12:24:04,911 INFO L142 InterpolantAutomaton]: Constructing interpolant automaton starting with 13 interpolants. [2020-07-08 12:24:04,912 INFO L144 InterpolantAutomaton]: CoverageRelationStatistics Valid=74, Invalid=576, Unknown=0, NotChecked=0, Total=650 [2020-07-08 12:24:04,913 INFO L87 Difference]: Start difference. First operand 40 states and 45 transitions. Second operand 13 states. [2020-07-08 12:24:06,745 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2020-07-08 12:24:06,745 INFO L93 Difference]: Finished difference Result 73 states and 85 transitions. [2020-07-08 12:24:06,745 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 14 states. [2020-07-08 12:24:06,745 INFO L78 Accepts]: Start accepts. Automaton has 13 states. Word has length 38 [2020-07-08 12:24:06,746 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2020-07-08 12:24:06,746 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 13 states. [2020-07-08 12:24:06,749 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 14 states to 14 states and 85 transitions. [2020-07-08 12:24:06,750 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 13 states. [2020-07-08 12:24:06,753 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 14 states to 14 states and 85 transitions. [2020-07-08 12:24:06,753 INFO L86 InductivityCheck]: Starting indutivity check of a Floyd-Hoare automaton with 14 states and 85 transitions. [2020-07-08 12:24:06,888 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-08 12:24:06,892 INFO L225 Difference]: With dead ends: 73 [2020-07-08 12:24:06,892 INFO L226 Difference]: Without dead ends: 70 [2020-07-08 12:24:06,894 INFO L675 BasicCegarLoop]: 0 DeclaredPredicates, 71 GetRequests, 37 SyntacticMatches, 0 SemanticMatches, 34 ConstructedPredicates, 0 IntricatePredicates, 0 DeprecatedPredicates, 175 ImplicationChecksByTransitivity, 0.8s TimeCoverageRelationStatistics Valid=169, Invalid=1091, Unknown=0, NotChecked=0, Total=1260 [2020-07-08 12:24:06,894 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 70 states. [2020-07-08 12:24:07,001 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 70 to 60. [2020-07-08 12:24:07,002 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2020-07-08 12:24:07,002 INFO L82 GeneralOperation]: Start isEquivalent. First operand 70 states. Second operand 60 states. [2020-07-08 12:24:07,002 INFO L74 IsIncluded]: Start isIncluded. First operand 70 states. Second operand 60 states. [2020-07-08 12:24:07,002 INFO L87 Difference]: Start difference. First operand 70 states. Second operand 60 states. [2020-07-08 12:24:07,007 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2020-07-08 12:24:07,008 INFO L93 Difference]: Finished difference Result 70 states and 82 transitions. [2020-07-08 12:24:07,008 INFO L276 IsEmpty]: Start isEmpty. Operand 70 states and 82 transitions. [2020-07-08 12:24:07,009 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2020-07-08 12:24:07,009 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2020-07-08 12:24:07,009 INFO L74 IsIncluded]: Start isIncluded. First operand 60 states. Second operand 70 states. [2020-07-08 12:24:07,009 INFO L87 Difference]: Start difference. First operand 60 states. Second operand 70 states. [2020-07-08 12:24:07,013 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2020-07-08 12:24:07,014 INFO L93 Difference]: Finished difference Result 70 states and 82 transitions. [2020-07-08 12:24:07,014 INFO L276 IsEmpty]: Start isEmpty. Operand 70 states and 82 transitions. [2020-07-08 12:24:07,015 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2020-07-08 12:24:07,015 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2020-07-08 12:24:07,015 INFO L88 GeneralOperation]: Finished isEquivalent. [2020-07-08 12:24:07,015 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2020-07-08 12:24:07,015 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 60 states. [2020-07-08 12:24:07,018 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 60 states to 60 states and 72 transitions. [2020-07-08 12:24:07,019 INFO L78 Accepts]: Start accepts. Automaton has 60 states and 72 transitions. Word has length 38 [2020-07-08 12:24:07,019 INFO L84 Accepts]: Finished accepts. word is rejected. [2020-07-08 12:24:07,019 INFO L479 AbstractCegarLoop]: Abstraction has 60 states and 72 transitions. [2020-07-08 12:24:07,019 INFO L480 AbstractCegarLoop]: Interpolant automaton has 13 states. [2020-07-08 12:24:07,019 INFO L276 IsEmpty]: Start isEmpty. Operand 60 states and 72 transitions. [2020-07-08 12:24:07,020 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 46 [2020-07-08 12:24:07,020 INFO L414 BasicCegarLoop]: Found error trace [2020-07-08 12:24:07,021 INFO L422 BasicCegarLoop]: trace histogram [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] [2020-07-08 12:24:07,234 WARN L516 AbstractCegarLoop]: Destroyed unattended storables created during the last iteration: SelfDestructingSolverStorable3,3 z3 -smt2 -in SMTLIB2_COMPLIANT=true [2020-07-08 12:24:07,235 INFO L427 AbstractCegarLoop]: === Iteration 5 === [__blast_assertErr0ASSERT_VIOLATIONERROR_FUNCTION]=== [2020-07-08 12:24:07,235 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2020-07-08 12:24:07,236 INFO L82 PathProgramCache]: Analyzing trace with hash 1321471087, now seen corresponding path program 1 times [2020-07-08 12:24:07,236 INFO L163 FreeRefinementEngine]: Executing refinement strategy CAMEL [2020-07-08 12:24:07,237 INFO L354 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [1783326046] [2020-07-08 12:24:07,237 INFO L94 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2020-07-08 12:24:07,268 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2020-07-08 12:24:07,426 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2020-07-08 12:24:07,432 INFO L280 TraceCheckUtils]: 0: Hoare triple {1618#(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;#valid := #valid[0 := 0];assume 0 < #StackHeapBarrier;~guard_malloc_counter~0.base, ~guard_malloc_counter~0.offset := 0, 0;~elem~0.base, ~elem~0.offset := 0, 0;call ~#head~0.base, ~#head~0.offset := #Ultimate.allocOnStack(8);call write~init~$Pointer$(0, 0, ~#head~0.base, ~#head~0.offset, 4);call write~init~$Pointer$(0, 0, ~#head~0.base, 4 + ~#head~0.offset, 4); {1578#true} is VALID [2020-07-08 12:24:07,432 INFO L280 TraceCheckUtils]: 1: Hoare triple {1578#true} assume true; {1578#true} is VALID [2020-07-08 12:24:07,432 INFO L275 TraceCheckUtils]: 2: Hoare quadruple {1578#true} {1578#true} #89#return; {1578#true} is VALID [2020-07-08 12:24:07,458 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2020-07-08 12:24:07,512 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2020-07-08 12:24:07,539 INFO L280 TraceCheckUtils]: 0: Hoare triple {1619#(and (= ~guard_malloc_counter~0.offset |old(~guard_malloc_counter~0.offset)|) (= ~guard_malloc_counter~0.base |old(~guard_malloc_counter~0.base)|))} ~size := #in~size; {1578#true} is VALID [2020-07-08 12:24:07,539 INFO L280 TraceCheckUtils]: 1: Hoare triple {1578#true} assume ~size > 0; {1578#true} is VALID [2020-07-08 12:24:07,539 INFO L280 TraceCheckUtils]: 2: Hoare triple {1578#true} #t~post28.base, #t~post28.offset := ~guard_malloc_counter~0.base, ~guard_malloc_counter~0.offset;~guard_malloc_counter~0.base, ~guard_malloc_counter~0.offset := #t~post28.base, 1 + #t~post28.offset;havoc #t~post28.base, #t~post28.offset;assume -2147483648 <= #t~nondet29 && #t~nondet29 <= 2147483647; {1578#true} is VALID [2020-07-08 12:24:07,540 INFO L280 TraceCheckUtils]: 3: Hoare triple {1578#true} assume !(0 == #t~nondet29);havoc #t~nondet29;#res.base, #res.offset := ~guard_malloc_counter~0.base, ~guard_malloc_counter~0.offset; {1628#(<= |__getMemory_#res.offset| ~guard_malloc_counter~0.offset)} is VALID [2020-07-08 12:24:07,541 INFO L280 TraceCheckUtils]: 4: Hoare triple {1628#(<= |__getMemory_#res.offset| ~guard_malloc_counter~0.offset)} assume true; {1628#(<= |__getMemory_#res.offset| ~guard_malloc_counter~0.offset)} is VALID [2020-07-08 12:24:07,543 INFO L275 TraceCheckUtils]: 5: Hoare quadruple {1628#(<= |__getMemory_#res.offset| ~guard_malloc_counter~0.offset)} {1578#true} #69#return; {1626#(<= |my_malloc_#t~ret30.offset| ~guard_malloc_counter~0.offset)} is VALID [2020-07-08 12:24:07,543 INFO L280 TraceCheckUtils]: 0: Hoare triple {1619#(and (= ~guard_malloc_counter~0.offset |old(~guard_malloc_counter~0.offset)|) (= ~guard_malloc_counter~0.base |old(~guard_malloc_counter~0.base)|))} ~size := #in~size; {1578#true} is VALID [2020-07-08 12:24:07,544 INFO L263 TraceCheckUtils]: 1: Hoare triple {1578#true} call #t~ret30.base, #t~ret30.offset := __getMemory(~size); {1619#(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-08 12:24:07,545 INFO L280 TraceCheckUtils]: 2: Hoare triple {1619#(and (= ~guard_malloc_counter~0.offset |old(~guard_malloc_counter~0.offset)|) (= ~guard_malloc_counter~0.base |old(~guard_malloc_counter~0.base)|))} ~size := #in~size; {1578#true} is VALID [2020-07-08 12:24:07,545 INFO L280 TraceCheckUtils]: 3: Hoare triple {1578#true} assume ~size > 0; {1578#true} is VALID [2020-07-08 12:24:07,545 INFO L280 TraceCheckUtils]: 4: Hoare triple {1578#true} #t~post28.base, #t~post28.offset := ~guard_malloc_counter~0.base, ~guard_malloc_counter~0.offset;~guard_malloc_counter~0.base, ~guard_malloc_counter~0.offset := #t~post28.base, 1 + #t~post28.offset;havoc #t~post28.base, #t~post28.offset;assume -2147483648 <= #t~nondet29 && #t~nondet29 <= 2147483647; {1578#true} is VALID [2020-07-08 12:24:07,546 INFO L280 TraceCheckUtils]: 5: Hoare triple {1578#true} assume !(0 == #t~nondet29);havoc #t~nondet29;#res.base, #res.offset := ~guard_malloc_counter~0.base, ~guard_malloc_counter~0.offset; {1628#(<= |__getMemory_#res.offset| ~guard_malloc_counter~0.offset)} is VALID [2020-07-08 12:24:07,547 INFO L280 TraceCheckUtils]: 6: Hoare triple {1628#(<= |__getMemory_#res.offset| ~guard_malloc_counter~0.offset)} assume true; {1628#(<= |__getMemory_#res.offset| ~guard_malloc_counter~0.offset)} is VALID [2020-07-08 12:24:07,548 INFO L275 TraceCheckUtils]: 7: Hoare quadruple {1628#(<= |__getMemory_#res.offset| ~guard_malloc_counter~0.offset)} {1578#true} #69#return; {1626#(<= |my_malloc_#t~ret30.offset| ~guard_malloc_counter~0.offset)} is VALID [2020-07-08 12:24:07,549 INFO L280 TraceCheckUtils]: 8: Hoare triple {1626#(<= |my_malloc_#t~ret30.offset| ~guard_malloc_counter~0.offset)} #res.base, #res.offset := #t~ret30.base, #t~ret30.offset;havoc #t~ret30.base, #t~ret30.offset; {1627#(<= |my_malloc_#res.offset| ~guard_malloc_counter~0.offset)} is VALID [2020-07-08 12:24:07,550 INFO L280 TraceCheckUtils]: 9: Hoare triple {1627#(<= |my_malloc_#res.offset| ~guard_malloc_counter~0.offset)} assume true; {1627#(<= |my_malloc_#res.offset| ~guard_malloc_counter~0.offset)} is VALID [2020-07-08 12:24:07,551 INFO L275 TraceCheckUtils]: 10: Hoare quadruple {1627#(<= |my_malloc_#res.offset| ~guard_malloc_counter~0.offset)} {1578#true} #71#return; {1594#(<= |main_#t~ret32.offset| ~guard_malloc_counter~0.offset)} is VALID [2020-07-08 12:24:07,555 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2020-07-08 12:24:07,659 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2020-07-08 12:24:07,715 INFO L280 TraceCheckUtils]: 0: Hoare triple {1619#(and (= ~guard_malloc_counter~0.offset |old(~guard_malloc_counter~0.offset)|) (= ~guard_malloc_counter~0.base |old(~guard_malloc_counter~0.base)|))} ~size := #in~size; {1629#(= ~guard_malloc_counter~0.offset |old(~guard_malloc_counter~0.offset)|)} is VALID [2020-07-08 12:24:07,716 INFO L280 TraceCheckUtils]: 1: Hoare triple {1629#(= ~guard_malloc_counter~0.offset |old(~guard_malloc_counter~0.offset)|)} assume ~size > 0; {1629#(= ~guard_malloc_counter~0.offset |old(~guard_malloc_counter~0.offset)|)} is VALID [2020-07-08 12:24:07,716 INFO L280 TraceCheckUtils]: 2: Hoare triple {1629#(= ~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;~guard_malloc_counter~0.base, ~guard_malloc_counter~0.offset := #t~post28.base, 1 + #t~post28.offset;havoc #t~post28.base, #t~post28.offset;assume -2147483648 <= #t~nondet29 && #t~nondet29 <= 2147483647; {1638#(<= (+ |old(~guard_malloc_counter~0.offset)| 1) ~guard_malloc_counter~0.offset)} is VALID [2020-07-08 12:24:07,717 INFO L280 TraceCheckUtils]: 3: Hoare triple {1638#(<= (+ |old(~guard_malloc_counter~0.offset)| 1) ~guard_malloc_counter~0.offset)} assume !(0 == #t~nondet29);havoc #t~nondet29;#res.base, #res.offset := ~guard_malloc_counter~0.base, ~guard_malloc_counter~0.offset; {1639#(<= (+ |old(~guard_malloc_counter~0.offset)| 1) |__getMemory_#res.offset|)} is VALID [2020-07-08 12:24:07,718 INFO L280 TraceCheckUtils]: 4: Hoare triple {1639#(<= (+ |old(~guard_malloc_counter~0.offset)| 1) |__getMemory_#res.offset|)} assume true; {1639#(<= (+ |old(~guard_malloc_counter~0.offset)| 1) |__getMemory_#res.offset|)} is VALID [2020-07-08 12:24:07,719 INFO L275 TraceCheckUtils]: 5: Hoare quadruple {1639#(<= (+ |old(~guard_malloc_counter~0.offset)| 1) |__getMemory_#res.offset|)} {1629#(= ~guard_malloc_counter~0.offset |old(~guard_malloc_counter~0.offset)|)} #69#return; {1636#(<= (+ |old(~guard_malloc_counter~0.offset)| 1) |my_malloc_#t~ret30.offset|)} is VALID [2020-07-08 12:24:07,720 INFO L280 TraceCheckUtils]: 0: Hoare triple {1619#(and (= ~guard_malloc_counter~0.offset |old(~guard_malloc_counter~0.offset)|) (= ~guard_malloc_counter~0.base |old(~guard_malloc_counter~0.base)|))} ~size := #in~size; {1629#(= ~guard_malloc_counter~0.offset |old(~guard_malloc_counter~0.offset)|)} is VALID [2020-07-08 12:24:07,721 INFO L263 TraceCheckUtils]: 1: Hoare triple {1629#(= ~guard_malloc_counter~0.offset |old(~guard_malloc_counter~0.offset)|)} call #t~ret30.base, #t~ret30.offset := __getMemory(~size); {1619#(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-08 12:24:07,722 INFO L280 TraceCheckUtils]: 2: Hoare triple {1619#(and (= ~guard_malloc_counter~0.offset |old(~guard_malloc_counter~0.offset)|) (= ~guard_malloc_counter~0.base |old(~guard_malloc_counter~0.base)|))} ~size := #in~size; {1629#(= ~guard_malloc_counter~0.offset |old(~guard_malloc_counter~0.offset)|)} is VALID [2020-07-08 12:24:07,722 INFO L280 TraceCheckUtils]: 3: Hoare triple {1629#(= ~guard_malloc_counter~0.offset |old(~guard_malloc_counter~0.offset)|)} assume ~size > 0; {1629#(= ~guard_malloc_counter~0.offset |old(~guard_malloc_counter~0.offset)|)} is VALID [2020-07-08 12:24:07,723 INFO L280 TraceCheckUtils]: 4: Hoare triple {1629#(= ~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;~guard_malloc_counter~0.base, ~guard_malloc_counter~0.offset := #t~post28.base, 1 + #t~post28.offset;havoc #t~post28.base, #t~post28.offset;assume -2147483648 <= #t~nondet29 && #t~nondet29 <= 2147483647; {1638#(<= (+ |old(~guard_malloc_counter~0.offset)| 1) ~guard_malloc_counter~0.offset)} is VALID [2020-07-08 12:24:07,724 INFO L280 TraceCheckUtils]: 5: Hoare triple {1638#(<= (+ |old(~guard_malloc_counter~0.offset)| 1) ~guard_malloc_counter~0.offset)} assume !(0 == #t~nondet29);havoc #t~nondet29;#res.base, #res.offset := ~guard_malloc_counter~0.base, ~guard_malloc_counter~0.offset; {1639#(<= (+ |old(~guard_malloc_counter~0.offset)| 1) |__getMemory_#res.offset|)} is VALID [2020-07-08 12:24:07,725 INFO L280 TraceCheckUtils]: 6: Hoare triple {1639#(<= (+ |old(~guard_malloc_counter~0.offset)| 1) |__getMemory_#res.offset|)} assume true; {1639#(<= (+ |old(~guard_malloc_counter~0.offset)| 1) |__getMemory_#res.offset|)} is VALID [2020-07-08 12:24:07,727 INFO L275 TraceCheckUtils]: 7: Hoare quadruple {1639#(<= (+ |old(~guard_malloc_counter~0.offset)| 1) |__getMemory_#res.offset|)} {1629#(= ~guard_malloc_counter~0.offset |old(~guard_malloc_counter~0.offset)|)} #69#return; {1636#(<= (+ |old(~guard_malloc_counter~0.offset)| 1) |my_malloc_#t~ret30.offset|)} is VALID [2020-07-08 12:24:07,728 INFO L280 TraceCheckUtils]: 8: Hoare triple {1636#(<= (+ |old(~guard_malloc_counter~0.offset)| 1) |my_malloc_#t~ret30.offset|)} #res.base, #res.offset := #t~ret30.base, #t~ret30.offset;havoc #t~ret30.base, #t~ret30.offset; {1637#(<= (+ |old(~guard_malloc_counter~0.offset)| 1) |my_malloc_#res.offset|)} is VALID [2020-07-08 12:24:07,729 INFO L280 TraceCheckUtils]: 9: Hoare triple {1637#(<= (+ |old(~guard_malloc_counter~0.offset)| 1) |my_malloc_#res.offset|)} assume true; {1637#(<= (+ |old(~guard_malloc_counter~0.offset)| 1) |my_malloc_#res.offset|)} is VALID [2020-07-08 12:24:07,731 INFO L275 TraceCheckUtils]: 10: Hoare quadruple {1637#(<= (+ |old(~guard_malloc_counter~0.offset)| 1) |my_malloc_#res.offset|)} {1595#(<= main_~dev1~0.offset ~guard_malloc_counter~0.offset)} #73#return; {1607#(<= (+ main_~dev1~0.offset 1) |main_#t~ret33.offset|)} is VALID [2020-07-08 12:24:07,772 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2020-07-08 12:24:07,839 INFO L280 TraceCheckUtils]: 0: Hoare triple {1640#(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;~head.base, ~head.offset := #in~head.base, #in~head.offset; {1641#(= |list_add_#in~new.offset| list_add_~new.offset)} is VALID [2020-07-08 12:24:07,840 INFO L280 TraceCheckUtils]: 1: Hoare triple {1641#(= |list_add_#in~new.offset| list_add_~new.offset)} assume ~new.base != ~elem~0.base || ~new.offset != ~elem~0.offset; {1641#(= |list_add_#in~new.offset| list_add_~new.offset)} is VALID [2020-07-08 12:24:07,841 INFO L280 TraceCheckUtils]: 2: Hoare triple {1641#(= |list_add_#in~new.offset| list_add_~new.offset)} assume -2147483648 <= #t~nondet31 && #t~nondet31 <= 2147483647; {1641#(= |list_add_#in~new.offset| list_add_~new.offset)} is VALID [2020-07-08 12:24:07,842 INFO L280 TraceCheckUtils]: 3: Hoare triple {1641#(= |list_add_#in~new.offset| list_add_~new.offset)} assume 0 != #t~nondet31;havoc #t~nondet31;~elem~0.base, ~elem~0.offset := ~new.base, ~new.offset; {1642#(= ~elem~0.offset |list_add_#in~new.offset|)} is VALID [2020-07-08 12:24:07,842 INFO L280 TraceCheckUtils]: 4: Hoare triple {1642#(= ~elem~0.offset |list_add_#in~new.offset|)} assume true; {1642#(= ~elem~0.offset |list_add_#in~new.offset|)} is VALID [2020-07-08 12:24:07,844 INFO L275 TraceCheckUtils]: 5: Hoare quadruple {1642#(= ~elem~0.offset |list_add_#in~new.offset|)} {1608#(<= (+ main_~dev1~0.offset 1) main_~dev2~0.offset)} #75#return; {1615#(<= (+ main_~dev1~0.offset 1) ~elem~0.offset)} is VALID [2020-07-08 12:24:07,846 INFO L263 TraceCheckUtils]: 0: Hoare triple {1578#true} call ULTIMATE.init(); {1618#(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-08 12:24:07,846 INFO L280 TraceCheckUtils]: 1: Hoare triple {1618#(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;#valid := #valid[0 := 0];assume 0 < #StackHeapBarrier;~guard_malloc_counter~0.base, ~guard_malloc_counter~0.offset := 0, 0;~elem~0.base, ~elem~0.offset := 0, 0;call ~#head~0.base, ~#head~0.offset := #Ultimate.allocOnStack(8);call write~init~$Pointer$(0, 0, ~#head~0.base, ~#head~0.offset, 4);call write~init~$Pointer$(0, 0, ~#head~0.base, 4 + ~#head~0.offset, 4); {1578#true} is VALID [2020-07-08 12:24:07,846 INFO L280 TraceCheckUtils]: 2: Hoare triple {1578#true} assume true; {1578#true} is VALID [2020-07-08 12:24:07,847 INFO L275 TraceCheckUtils]: 3: Hoare quadruple {1578#true} {1578#true} #89#return; {1578#true} is VALID [2020-07-08 12:24:07,847 INFO L263 TraceCheckUtils]: 4: Hoare triple {1578#true} call #t~ret34 := main(); {1578#true} is VALID [2020-07-08 12:24:07,847 INFO L280 TraceCheckUtils]: 5: Hoare triple {1578#true} havoc ~dev1~0.base, ~dev1~0.offset;havoc ~dev2~0.base, ~dev2~0.offset; {1578#true} is VALID [2020-07-08 12:24:07,849 INFO L263 TraceCheckUtils]: 6: Hoare triple {1578#true} call #t~ret32.base, #t~ret32.offset := my_malloc(8); {1619#(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-08 12:24:07,849 INFO L280 TraceCheckUtils]: 7: Hoare triple {1619#(and (= ~guard_malloc_counter~0.offset |old(~guard_malloc_counter~0.offset)|) (= ~guard_malloc_counter~0.base |old(~guard_malloc_counter~0.base)|))} ~size := #in~size; {1578#true} is VALID [2020-07-08 12:24:07,851 INFO L263 TraceCheckUtils]: 8: Hoare triple {1578#true} call #t~ret30.base, #t~ret30.offset := __getMemory(~size); {1619#(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-08 12:24:07,851 INFO L280 TraceCheckUtils]: 9: Hoare triple {1619#(and (= ~guard_malloc_counter~0.offset |old(~guard_malloc_counter~0.offset)|) (= ~guard_malloc_counter~0.base |old(~guard_malloc_counter~0.base)|))} ~size := #in~size; {1578#true} is VALID [2020-07-08 12:24:07,851 INFO L280 TraceCheckUtils]: 10: Hoare triple {1578#true} assume ~size > 0; {1578#true} is VALID [2020-07-08 12:24:07,851 INFO L280 TraceCheckUtils]: 11: Hoare triple {1578#true} #t~post28.base, #t~post28.offset := ~guard_malloc_counter~0.base, ~guard_malloc_counter~0.offset;~guard_malloc_counter~0.base, ~guard_malloc_counter~0.offset := #t~post28.base, 1 + #t~post28.offset;havoc #t~post28.base, #t~post28.offset;assume -2147483648 <= #t~nondet29 && #t~nondet29 <= 2147483647; {1578#true} is VALID [2020-07-08 12:24:07,853 INFO L280 TraceCheckUtils]: 12: Hoare triple {1578#true} assume !(0 == #t~nondet29);havoc #t~nondet29;#res.base, #res.offset := ~guard_malloc_counter~0.base, ~guard_malloc_counter~0.offset; {1628#(<= |__getMemory_#res.offset| ~guard_malloc_counter~0.offset)} is VALID [2020-07-08 12:24:07,854 INFO L280 TraceCheckUtils]: 13: Hoare triple {1628#(<= |__getMemory_#res.offset| ~guard_malloc_counter~0.offset)} assume true; {1628#(<= |__getMemory_#res.offset| ~guard_malloc_counter~0.offset)} is VALID [2020-07-08 12:24:07,856 INFO L275 TraceCheckUtils]: 14: Hoare quadruple {1628#(<= |__getMemory_#res.offset| ~guard_malloc_counter~0.offset)} {1578#true} #69#return; {1626#(<= |my_malloc_#t~ret30.offset| ~guard_malloc_counter~0.offset)} is VALID [2020-07-08 12:24:07,857 INFO L280 TraceCheckUtils]: 15: Hoare triple {1626#(<= |my_malloc_#t~ret30.offset| ~guard_malloc_counter~0.offset)} #res.base, #res.offset := #t~ret30.base, #t~ret30.offset;havoc #t~ret30.base, #t~ret30.offset; {1627#(<= |my_malloc_#res.offset| ~guard_malloc_counter~0.offset)} is VALID [2020-07-08 12:24:07,858 INFO L280 TraceCheckUtils]: 16: Hoare triple {1627#(<= |my_malloc_#res.offset| ~guard_malloc_counter~0.offset)} assume true; {1627#(<= |my_malloc_#res.offset| ~guard_malloc_counter~0.offset)} is VALID [2020-07-08 12:24:07,859 INFO L275 TraceCheckUtils]: 17: Hoare quadruple {1627#(<= |my_malloc_#res.offset| ~guard_malloc_counter~0.offset)} {1578#true} #71#return; {1594#(<= |main_#t~ret32.offset| ~guard_malloc_counter~0.offset)} is VALID [2020-07-08 12:24:07,863 INFO L280 TraceCheckUtils]: 18: Hoare triple {1594#(<= |main_#t~ret32.offset| ~guard_malloc_counter~0.offset)} ~dev1~0.base, ~dev1~0.offset := #t~ret32.base, #t~ret32.offset;havoc #t~ret32.base, #t~ret32.offset; {1595#(<= main_~dev1~0.offset ~guard_malloc_counter~0.offset)} is VALID [2020-07-08 12:24:07,864 INFO L263 TraceCheckUtils]: 19: Hoare triple {1595#(<= main_~dev1~0.offset ~guard_malloc_counter~0.offset)} call #t~ret33.base, #t~ret33.offset := my_malloc(8); {1619#(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-08 12:24:07,865 INFO L280 TraceCheckUtils]: 20: Hoare triple {1619#(and (= ~guard_malloc_counter~0.offset |old(~guard_malloc_counter~0.offset)|) (= ~guard_malloc_counter~0.base |old(~guard_malloc_counter~0.base)|))} ~size := #in~size; {1629#(= ~guard_malloc_counter~0.offset |old(~guard_malloc_counter~0.offset)|)} is VALID [2020-07-08 12:24:07,867 INFO L263 TraceCheckUtils]: 21: Hoare triple {1629#(= ~guard_malloc_counter~0.offset |old(~guard_malloc_counter~0.offset)|)} call #t~ret30.base, #t~ret30.offset := __getMemory(~size); {1619#(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-08 12:24:07,868 INFO L280 TraceCheckUtils]: 22: Hoare triple {1619#(and (= ~guard_malloc_counter~0.offset |old(~guard_malloc_counter~0.offset)|) (= ~guard_malloc_counter~0.base |old(~guard_malloc_counter~0.base)|))} ~size := #in~size; {1629#(= ~guard_malloc_counter~0.offset |old(~guard_malloc_counter~0.offset)|)} is VALID [2020-07-08 12:24:07,869 INFO L280 TraceCheckUtils]: 23: Hoare triple {1629#(= ~guard_malloc_counter~0.offset |old(~guard_malloc_counter~0.offset)|)} assume ~size > 0; {1629#(= ~guard_malloc_counter~0.offset |old(~guard_malloc_counter~0.offset)|)} is VALID [2020-07-08 12:24:07,873 INFO L280 TraceCheckUtils]: 24: Hoare triple {1629#(= ~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;~guard_malloc_counter~0.base, ~guard_malloc_counter~0.offset := #t~post28.base, 1 + #t~post28.offset;havoc #t~post28.base, #t~post28.offset;assume -2147483648 <= #t~nondet29 && #t~nondet29 <= 2147483647; {1638#(<= (+ |old(~guard_malloc_counter~0.offset)| 1) ~guard_malloc_counter~0.offset)} is VALID [2020-07-08 12:24:07,874 INFO L280 TraceCheckUtils]: 25: Hoare triple {1638#(<= (+ |old(~guard_malloc_counter~0.offset)| 1) ~guard_malloc_counter~0.offset)} assume !(0 == #t~nondet29);havoc #t~nondet29;#res.base, #res.offset := ~guard_malloc_counter~0.base, ~guard_malloc_counter~0.offset; {1639#(<= (+ |old(~guard_malloc_counter~0.offset)| 1) |__getMemory_#res.offset|)} is VALID [2020-07-08 12:24:07,875 INFO L280 TraceCheckUtils]: 26: Hoare triple {1639#(<= (+ |old(~guard_malloc_counter~0.offset)| 1) |__getMemory_#res.offset|)} assume true; {1639#(<= (+ |old(~guard_malloc_counter~0.offset)| 1) |__getMemory_#res.offset|)} is VALID [2020-07-08 12:24:07,876 INFO L275 TraceCheckUtils]: 27: Hoare quadruple {1639#(<= (+ |old(~guard_malloc_counter~0.offset)| 1) |__getMemory_#res.offset|)} {1629#(= ~guard_malloc_counter~0.offset |old(~guard_malloc_counter~0.offset)|)} #69#return; {1636#(<= (+ |old(~guard_malloc_counter~0.offset)| 1) |my_malloc_#t~ret30.offset|)} is VALID [2020-07-08 12:24:07,877 INFO L280 TraceCheckUtils]: 28: Hoare triple {1636#(<= (+ |old(~guard_malloc_counter~0.offset)| 1) |my_malloc_#t~ret30.offset|)} #res.base, #res.offset := #t~ret30.base, #t~ret30.offset;havoc #t~ret30.base, #t~ret30.offset; {1637#(<= (+ |old(~guard_malloc_counter~0.offset)| 1) |my_malloc_#res.offset|)} is VALID [2020-07-08 12:24:07,878 INFO L280 TraceCheckUtils]: 29: Hoare triple {1637#(<= (+ |old(~guard_malloc_counter~0.offset)| 1) |my_malloc_#res.offset|)} assume true; {1637#(<= (+ |old(~guard_malloc_counter~0.offset)| 1) |my_malloc_#res.offset|)} is VALID [2020-07-08 12:24:07,880 INFO L275 TraceCheckUtils]: 30: Hoare quadruple {1637#(<= (+ |old(~guard_malloc_counter~0.offset)| 1) |my_malloc_#res.offset|)} {1595#(<= main_~dev1~0.offset ~guard_malloc_counter~0.offset)} #73#return; {1607#(<= (+ main_~dev1~0.offset 1) |main_#t~ret33.offset|)} is VALID [2020-07-08 12:24:07,881 INFO L280 TraceCheckUtils]: 31: Hoare triple {1607#(<= (+ main_~dev1~0.offset 1) |main_#t~ret33.offset|)} ~dev2~0.base, ~dev2~0.offset := #t~ret33.base, #t~ret33.offset;havoc #t~ret33.base, #t~ret33.offset; {1608#(<= (+ main_~dev1~0.offset 1) main_~dev2~0.offset)} is VALID [2020-07-08 12:24:07,882 INFO L280 TraceCheckUtils]: 32: Hoare triple {1608#(<= (+ 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); {1608#(<= (+ main_~dev1~0.offset 1) main_~dev2~0.offset)} is VALID [2020-07-08 12:24:07,884 INFO L263 TraceCheckUtils]: 33: Hoare triple {1608#(<= (+ main_~dev1~0.offset 1) main_~dev2~0.offset)} call list_add(~dev2~0.base, ~dev2~0.offset, ~#head~0.base, ~#head~0.offset); {1640#(and (= ~elem~0.base |old(~elem~0.base)|) (= ~elem~0.offset |old(~elem~0.offset)|))} is VALID [2020-07-08 12:24:07,885 INFO L280 TraceCheckUtils]: 34: Hoare triple {1640#(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;~head.base, ~head.offset := #in~head.base, #in~head.offset; {1641#(= |list_add_#in~new.offset| list_add_~new.offset)} is VALID [2020-07-08 12:24:07,886 INFO L280 TraceCheckUtils]: 35: Hoare triple {1641#(= |list_add_#in~new.offset| list_add_~new.offset)} assume ~new.base != ~elem~0.base || ~new.offset != ~elem~0.offset; {1641#(= |list_add_#in~new.offset| list_add_~new.offset)} is VALID [2020-07-08 12:24:07,887 INFO L280 TraceCheckUtils]: 36: Hoare triple {1641#(= |list_add_#in~new.offset| list_add_~new.offset)} assume -2147483648 <= #t~nondet31 && #t~nondet31 <= 2147483647; {1641#(= |list_add_#in~new.offset| list_add_~new.offset)} is VALID [2020-07-08 12:24:07,888 INFO L280 TraceCheckUtils]: 37: Hoare triple {1641#(= |list_add_#in~new.offset| list_add_~new.offset)} assume 0 != #t~nondet31;havoc #t~nondet31;~elem~0.base, ~elem~0.offset := ~new.base, ~new.offset; {1642#(= ~elem~0.offset |list_add_#in~new.offset|)} is VALID [2020-07-08 12:24:07,888 INFO L280 TraceCheckUtils]: 38: Hoare triple {1642#(= ~elem~0.offset |list_add_#in~new.offset|)} assume true; {1642#(= ~elem~0.offset |list_add_#in~new.offset|)} is VALID [2020-07-08 12:24:07,890 INFO L275 TraceCheckUtils]: 39: Hoare quadruple {1642#(= ~elem~0.offset |list_add_#in~new.offset|)} {1608#(<= (+ main_~dev1~0.offset 1) main_~dev2~0.offset)} #75#return; {1615#(<= (+ main_~dev1~0.offset 1) ~elem~0.offset)} is VALID [2020-07-08 12:24:07,899 INFO L263 TraceCheckUtils]: 40: Hoare triple {1615#(<= (+ main_~dev1~0.offset 1) ~elem~0.offset)} call list_add(~dev1~0.base, ~dev1~0.offset, ~#head~0.base, ~#head~0.offset); {1616#(<= (+ |list_add_#in~new.offset| 1) ~elem~0.offset)} is VALID [2020-07-08 12:24:07,900 INFO L280 TraceCheckUtils]: 41: Hoare triple {1616#(<= (+ |list_add_#in~new.offset| 1) ~elem~0.offset)} ~new.base, ~new.offset := #in~new.base, #in~new.offset;~head.base, ~head.offset := #in~head.base, #in~head.offset; {1617#(not (= ~elem~0.offset list_add_~new.offset))} is VALID [2020-07-08 12:24:07,901 INFO L280 TraceCheckUtils]: 42: Hoare triple {1617#(not (= ~elem~0.offset list_add_~new.offset))} assume !(~new.base != ~elem~0.base || ~new.offset != ~elem~0.offset); {1579#false} is VALID [2020-07-08 12:24:07,901 INFO L263 TraceCheckUtils]: 43: Hoare triple {1579#false} call __blast_assert(); {1579#false} is VALID [2020-07-08 12:24:07,902 INFO L280 TraceCheckUtils]: 44: Hoare triple {1579#false} assume !false; {1579#false} is VALID [2020-07-08 12:24:07,905 INFO L134 CoverageAnalysis]: Checked inductivity of 13 backedges. 4 proven. 7 refuted. 0 times theorem prover too weak. 2 trivial. 0 not checked. [2020-07-08 12:24:07,906 INFO L354 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleSmtInterpolCraig [1783326046] [2020-07-08 12:24:07,906 INFO L354 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleZ3 [2042585461] [2020-07-08 12:24:07,906 INFO L94 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 Starting monitored process 4 with z3 -smt2 -in SMTLIB2_COMPLIANT=true (exit command is (exit), workingDir is null) Waiting until toolchain timeout for monitored process 4 with z3 -smt2 -in SMTLIB2_COMPLIANT=true [2020-07-08 12:24:08,061 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2020-07-08 12:24:08,063 INFO L264 TraceCheckSpWp]: Trace formula consists of 264 conjuncts, 23 conjunts are in the unsatisfiable core [2020-07-08 12:24:08,082 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2020-07-08 12:24:08,084 INFO L287 TraceCheckSpWp]: Computing forward predicates... [2020-07-08 12:24:08,480 INFO L263 TraceCheckUtils]: 0: Hoare triple {1578#true} call ULTIMATE.init(); {1578#true} is VALID [2020-07-08 12:24:08,480 INFO L280 TraceCheckUtils]: 1: Hoare triple {1578#true} #NULL.base, #NULL.offset := 0, 0;#valid := #valid[0 := 0];assume 0 < #StackHeapBarrier;~guard_malloc_counter~0.base, ~guard_malloc_counter~0.offset := 0, 0;~elem~0.base, ~elem~0.offset := 0, 0;call ~#head~0.base, ~#head~0.offset := #Ultimate.allocOnStack(8);call write~init~$Pointer$(0, 0, ~#head~0.base, ~#head~0.offset, 4);call write~init~$Pointer$(0, 0, ~#head~0.base, 4 + ~#head~0.offset, 4); {1578#true} is VALID [2020-07-08 12:24:08,481 INFO L280 TraceCheckUtils]: 2: Hoare triple {1578#true} assume true; {1578#true} is VALID [2020-07-08 12:24:08,481 INFO L275 TraceCheckUtils]: 3: Hoare quadruple {1578#true} {1578#true} #89#return; {1578#true} is VALID [2020-07-08 12:24:08,481 INFO L263 TraceCheckUtils]: 4: Hoare triple {1578#true} call #t~ret34 := main(); {1578#true} is VALID [2020-07-08 12:24:08,481 INFO L280 TraceCheckUtils]: 5: Hoare triple {1578#true} havoc ~dev1~0.base, ~dev1~0.offset;havoc ~dev2~0.base, ~dev2~0.offset; {1578#true} is VALID [2020-07-08 12:24:08,481 INFO L263 TraceCheckUtils]: 6: Hoare triple {1578#true} call #t~ret32.base, #t~ret32.offset := my_malloc(8); {1578#true} is VALID [2020-07-08 12:24:08,482 INFO L280 TraceCheckUtils]: 7: Hoare triple {1578#true} ~size := #in~size; {1578#true} is VALID [2020-07-08 12:24:08,482 INFO L263 TraceCheckUtils]: 8: Hoare triple {1578#true} call #t~ret30.base, #t~ret30.offset := __getMemory(~size); {1578#true} is VALID [2020-07-08 12:24:08,482 INFO L280 TraceCheckUtils]: 9: Hoare triple {1578#true} ~size := #in~size; {1578#true} is VALID [2020-07-08 12:24:08,482 INFO L280 TraceCheckUtils]: 10: Hoare triple {1578#true} assume ~size > 0; {1578#true} is VALID [2020-07-08 12:24:08,482 INFO L280 TraceCheckUtils]: 11: Hoare triple {1578#true} #t~post28.base, #t~post28.offset := ~guard_malloc_counter~0.base, ~guard_malloc_counter~0.offset;~guard_malloc_counter~0.base, ~guard_malloc_counter~0.offset := #t~post28.base, 1 + #t~post28.offset;havoc #t~post28.base, #t~post28.offset;assume -2147483648 <= #t~nondet29 && #t~nondet29 <= 2147483647; {1578#true} is VALID [2020-07-08 12:24:08,483 INFO L280 TraceCheckUtils]: 12: Hoare triple {1578#true} assume !(0 == #t~nondet29);havoc #t~nondet29;#res.base, #res.offset := ~guard_malloc_counter~0.base, ~guard_malloc_counter~0.offset; {1628#(<= |__getMemory_#res.offset| ~guard_malloc_counter~0.offset)} is VALID [2020-07-08 12:24:08,484 INFO L280 TraceCheckUtils]: 13: Hoare triple {1628#(<= |__getMemory_#res.offset| ~guard_malloc_counter~0.offset)} assume true; {1628#(<= |__getMemory_#res.offset| ~guard_malloc_counter~0.offset)} is VALID [2020-07-08 12:24:08,485 INFO L275 TraceCheckUtils]: 14: Hoare quadruple {1628#(<= |__getMemory_#res.offset| ~guard_malloc_counter~0.offset)} {1578#true} #69#return; {1626#(<= |my_malloc_#t~ret30.offset| ~guard_malloc_counter~0.offset)} is VALID [2020-07-08 12:24:08,486 INFO L280 TraceCheckUtils]: 15: Hoare triple {1626#(<= |my_malloc_#t~ret30.offset| ~guard_malloc_counter~0.offset)} #res.base, #res.offset := #t~ret30.base, #t~ret30.offset;havoc #t~ret30.base, #t~ret30.offset; {1627#(<= |my_malloc_#res.offset| ~guard_malloc_counter~0.offset)} is VALID [2020-07-08 12:24:08,486 INFO L280 TraceCheckUtils]: 16: Hoare triple {1627#(<= |my_malloc_#res.offset| ~guard_malloc_counter~0.offset)} assume true; {1627#(<= |my_malloc_#res.offset| ~guard_malloc_counter~0.offset)} is VALID [2020-07-08 12:24:08,487 INFO L275 TraceCheckUtils]: 17: Hoare quadruple {1627#(<= |my_malloc_#res.offset| ~guard_malloc_counter~0.offset)} {1578#true} #71#return; {1594#(<= |main_#t~ret32.offset| ~guard_malloc_counter~0.offset)} is VALID [2020-07-08 12:24:08,488 INFO L280 TraceCheckUtils]: 18: Hoare triple {1594#(<= |main_#t~ret32.offset| ~guard_malloc_counter~0.offset)} ~dev1~0.base, ~dev1~0.offset := #t~ret32.base, #t~ret32.offset;havoc #t~ret32.base, #t~ret32.offset; {1595#(<= main_~dev1~0.offset ~guard_malloc_counter~0.offset)} is VALID [2020-07-08 12:24:08,489 INFO L263 TraceCheckUtils]: 19: Hoare triple {1595#(<= main_~dev1~0.offset ~guard_malloc_counter~0.offset)} call #t~ret33.base, #t~ret33.offset := my_malloc(8); {1703#(<= |old(~guard_malloc_counter~0.offset)| ~guard_malloc_counter~0.offset)} is VALID [2020-07-08 12:24:08,489 INFO L280 TraceCheckUtils]: 20: Hoare triple {1703#(<= |old(~guard_malloc_counter~0.offset)| ~guard_malloc_counter~0.offset)} ~size := #in~size; {1703#(<= |old(~guard_malloc_counter~0.offset)| ~guard_malloc_counter~0.offset)} is VALID [2020-07-08 12:24:08,490 INFO L263 TraceCheckUtils]: 21: Hoare triple {1703#(<= |old(~guard_malloc_counter~0.offset)| ~guard_malloc_counter~0.offset)} call #t~ret30.base, #t~ret30.offset := __getMemory(~size); {1703#(<= |old(~guard_malloc_counter~0.offset)| ~guard_malloc_counter~0.offset)} is VALID [2020-07-08 12:24:08,490 INFO L280 TraceCheckUtils]: 22: Hoare triple {1703#(<= |old(~guard_malloc_counter~0.offset)| ~guard_malloc_counter~0.offset)} ~size := #in~size; {1703#(<= |old(~guard_malloc_counter~0.offset)| ~guard_malloc_counter~0.offset)} is VALID [2020-07-08 12:24:08,491 INFO L280 TraceCheckUtils]: 23: Hoare triple {1703#(<= |old(~guard_malloc_counter~0.offset)| ~guard_malloc_counter~0.offset)} assume ~size > 0; {1703#(<= |old(~guard_malloc_counter~0.offset)| ~guard_malloc_counter~0.offset)} is VALID [2020-07-08 12:24:08,492 INFO L280 TraceCheckUtils]: 24: Hoare triple {1703#(<= |old(~guard_malloc_counter~0.offset)| ~guard_malloc_counter~0.offset)} #t~post28.base, #t~post28.offset := ~guard_malloc_counter~0.base, ~guard_malloc_counter~0.offset;~guard_malloc_counter~0.base, ~guard_malloc_counter~0.offset := #t~post28.base, 1 + #t~post28.offset;havoc #t~post28.base, #t~post28.offset;assume -2147483648 <= #t~nondet29 && #t~nondet29 <= 2147483647; {1638#(<= (+ |old(~guard_malloc_counter~0.offset)| 1) ~guard_malloc_counter~0.offset)} is VALID [2020-07-08 12:24:08,493 INFO L280 TraceCheckUtils]: 25: Hoare triple {1638#(<= (+ |old(~guard_malloc_counter~0.offset)| 1) ~guard_malloc_counter~0.offset)} assume !(0 == #t~nondet29);havoc #t~nondet29;#res.base, #res.offset := ~guard_malloc_counter~0.base, ~guard_malloc_counter~0.offset; {1722#(and (<= (+ |old(~guard_malloc_counter~0.offset)| 1) ~guard_malloc_counter~0.offset) (<= ~guard_malloc_counter~0.offset |__getMemory_#res.offset|))} is VALID [2020-07-08 12:24:08,493 INFO L280 TraceCheckUtils]: 26: Hoare triple {1722#(and (<= (+ |old(~guard_malloc_counter~0.offset)| 1) ~guard_malloc_counter~0.offset) (<= ~guard_malloc_counter~0.offset |__getMemory_#res.offset|))} assume true; {1722#(and (<= (+ |old(~guard_malloc_counter~0.offset)| 1) ~guard_malloc_counter~0.offset) (<= ~guard_malloc_counter~0.offset |__getMemory_#res.offset|))} is VALID [2020-07-08 12:24:08,495 INFO L275 TraceCheckUtils]: 27: Hoare quadruple {1722#(and (<= (+ |old(~guard_malloc_counter~0.offset)| 1) ~guard_malloc_counter~0.offset) (<= ~guard_malloc_counter~0.offset |__getMemory_#res.offset|))} {1703#(<= |old(~guard_malloc_counter~0.offset)| ~guard_malloc_counter~0.offset)} #69#return; {1729#(and (<= (+ |old(~guard_malloc_counter~0.offset)| 1) ~guard_malloc_counter~0.offset) (<= ~guard_malloc_counter~0.offset |my_malloc_#t~ret30.offset|))} is VALID [2020-07-08 12:24:08,496 INFO L280 TraceCheckUtils]: 28: Hoare triple {1729#(and (<= (+ |old(~guard_malloc_counter~0.offset)| 1) ~guard_malloc_counter~0.offset) (<= ~guard_malloc_counter~0.offset |my_malloc_#t~ret30.offset|))} #res.base, #res.offset := #t~ret30.base, #t~ret30.offset;havoc #t~ret30.base, #t~ret30.offset; {1733#(and (<= (+ |old(~guard_malloc_counter~0.offset)| 1) ~guard_malloc_counter~0.offset) (<= ~guard_malloc_counter~0.offset |my_malloc_#res.offset|))} is VALID [2020-07-08 12:24:08,497 INFO L280 TraceCheckUtils]: 29: Hoare triple {1733#(and (<= (+ |old(~guard_malloc_counter~0.offset)| 1) ~guard_malloc_counter~0.offset) (<= ~guard_malloc_counter~0.offset |my_malloc_#res.offset|))} assume true; {1733#(and (<= (+ |old(~guard_malloc_counter~0.offset)| 1) ~guard_malloc_counter~0.offset) (<= ~guard_malloc_counter~0.offset |my_malloc_#res.offset|))} is VALID [2020-07-08 12:24:08,498 INFO L275 TraceCheckUtils]: 30: Hoare quadruple {1733#(and (<= (+ |old(~guard_malloc_counter~0.offset)| 1) ~guard_malloc_counter~0.offset) (<= ~guard_malloc_counter~0.offset |my_malloc_#res.offset|))} {1595#(<= main_~dev1~0.offset ~guard_malloc_counter~0.offset)} #73#return; {1607#(<= (+ main_~dev1~0.offset 1) |main_#t~ret33.offset|)} is VALID [2020-07-08 12:24:08,499 INFO L280 TraceCheckUtils]: 31: Hoare triple {1607#(<= (+ main_~dev1~0.offset 1) |main_#t~ret33.offset|)} ~dev2~0.base, ~dev2~0.offset := #t~ret33.base, #t~ret33.offset;havoc #t~ret33.base, #t~ret33.offset; {1608#(<= (+ main_~dev1~0.offset 1) main_~dev2~0.offset)} is VALID [2020-07-08 12:24:08,500 INFO L280 TraceCheckUtils]: 32: Hoare triple {1608#(<= (+ 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); {1608#(<= (+ main_~dev1~0.offset 1) main_~dev2~0.offset)} is VALID [2020-07-08 12:24:08,500 INFO L263 TraceCheckUtils]: 33: Hoare triple {1608#(<= (+ main_~dev1~0.offset 1) main_~dev2~0.offset)} call list_add(~dev2~0.base, ~dev2~0.offset, ~#head~0.base, ~#head~0.offset); {1578#true} is VALID [2020-07-08 12:24:08,501 INFO L280 TraceCheckUtils]: 34: Hoare triple {1578#true} ~new.base, ~new.offset := #in~new.base, #in~new.offset;~head.base, ~head.offset := #in~head.base, #in~head.offset; {1752#(<= |list_add_#in~new.offset| list_add_~new.offset)} is VALID [2020-07-08 12:24:08,501 INFO L280 TraceCheckUtils]: 35: Hoare triple {1752#(<= |list_add_#in~new.offset| list_add_~new.offset)} assume ~new.base != ~elem~0.base || ~new.offset != ~elem~0.offset; {1752#(<= |list_add_#in~new.offset| list_add_~new.offset)} is VALID [2020-07-08 12:24:08,502 INFO L280 TraceCheckUtils]: 36: Hoare triple {1752#(<= |list_add_#in~new.offset| list_add_~new.offset)} assume -2147483648 <= #t~nondet31 && #t~nondet31 <= 2147483647; {1752#(<= |list_add_#in~new.offset| list_add_~new.offset)} is VALID [2020-07-08 12:24:08,503 INFO L280 TraceCheckUtils]: 37: Hoare triple {1752#(<= |list_add_#in~new.offset| list_add_~new.offset)} assume 0 != #t~nondet31;havoc #t~nondet31;~elem~0.base, ~elem~0.offset := ~new.base, ~new.offset; {1762#(<= |list_add_#in~new.offset| ~elem~0.offset)} is VALID [2020-07-08 12:24:08,503 INFO L280 TraceCheckUtils]: 38: Hoare triple {1762#(<= |list_add_#in~new.offset| ~elem~0.offset)} assume true; {1762#(<= |list_add_#in~new.offset| ~elem~0.offset)} is VALID [2020-07-08 12:24:08,505 INFO L275 TraceCheckUtils]: 39: Hoare quadruple {1762#(<= |list_add_#in~new.offset| ~elem~0.offset)} {1608#(<= (+ main_~dev1~0.offset 1) main_~dev2~0.offset)} #75#return; {1615#(<= (+ main_~dev1~0.offset 1) ~elem~0.offset)} is VALID [2020-07-08 12:24:08,506 INFO L263 TraceCheckUtils]: 40: Hoare triple {1615#(<= (+ main_~dev1~0.offset 1) ~elem~0.offset)} call list_add(~dev1~0.base, ~dev1~0.offset, ~#head~0.base, ~#head~0.offset); {1616#(<= (+ |list_add_#in~new.offset| 1) ~elem~0.offset)} is VALID [2020-07-08 12:24:08,507 INFO L280 TraceCheckUtils]: 41: Hoare triple {1616#(<= (+ |list_add_#in~new.offset| 1) ~elem~0.offset)} ~new.base, ~new.offset := #in~new.base, #in~new.offset;~head.base, ~head.offset := #in~head.base, #in~head.offset; {1775#(<= (+ list_add_~new.offset 1) ~elem~0.offset)} is VALID [2020-07-08 12:24:08,508 INFO L280 TraceCheckUtils]: 42: Hoare triple {1775#(<= (+ list_add_~new.offset 1) ~elem~0.offset)} assume !(~new.base != ~elem~0.base || ~new.offset != ~elem~0.offset); {1579#false} is VALID [2020-07-08 12:24:08,508 INFO L263 TraceCheckUtils]: 43: Hoare triple {1579#false} call __blast_assert(); {1579#false} is VALID [2020-07-08 12:24:08,508 INFO L280 TraceCheckUtils]: 44: Hoare triple {1579#false} assume !false; {1579#false} is VALID [2020-07-08 12:24:08,511 INFO L134 CoverageAnalysis]: Checked inductivity of 13 backedges. 7 proven. 6 refuted. 0 times theorem prover too weak. 0 trivial. 0 not checked. [2020-07-08 12:24:08,511 INFO L220 FreeRefinementEngine]: Constructing automaton from 0 perfect and 2 imperfect interpolant sequences. [2020-07-08 12:24:08,512 INFO L233 FreeRefinementEngine]: Number of different interpolants: perfect sequences [] imperfect sequences [22, 19] total 29 [2020-07-08 12:24:08,512 INFO L156 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [1404367050] [2020-07-08 12:24:08,513 INFO L78 Accepts]: Start accepts. Automaton has 29 states. Word has length 45 [2020-07-08 12:24:08,518 INFO L84 Accepts]: Finished accepts. word is accepted. [2020-07-08 12:24:08,518 INFO L86 InductivityCheck]: Starting indutivity check of a Floyd-Hoare automaton with 29 states. [2020-07-08 12:24:08,599 INFO L119 InductivityCheck]: Floyd-Hoare automaton has 72 edges. 72 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2020-07-08 12:24:08,599 INFO L459 AbstractCegarLoop]: Interpolant automaton has 29 states [2020-07-08 12:24:08,599 INFO L143 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy CAMEL [2020-07-08 12:24:08,600 INFO L142 InterpolantAutomaton]: Constructing interpolant automaton starting with 29 interpolants. [2020-07-08 12:24:08,600 INFO L144 InterpolantAutomaton]: CoverageRelationStatistics Valid=76, Invalid=736, Unknown=0, NotChecked=0, Total=812 [2020-07-08 12:24:08,600 INFO L87 Difference]: Start difference. First operand 60 states and 72 transitions. Second operand 29 states. [2020-07-08 12:24:14,594 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2020-07-08 12:24:14,594 INFO L93 Difference]: Finished difference Result 80 states and 99 transitions. [2020-07-08 12:24:14,594 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 19 states. [2020-07-08 12:24:14,594 INFO L78 Accepts]: Start accepts. Automaton has 29 states. Word has length 45 [2020-07-08 12:24:14,595 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2020-07-08 12:24:14,595 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 29 states. [2020-07-08 12:24:14,599 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 19 states to 19 states and 77 transitions. [2020-07-08 12:24:14,599 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 29 states. [2020-07-08 12:24:14,602 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 19 states to 19 states and 77 transitions. [2020-07-08 12:24:14,603 INFO L86 InductivityCheck]: Starting indutivity check of a Floyd-Hoare automaton with 19 states and 77 transitions. [2020-07-08 12:24:14,759 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-08 12:24:14,763 INFO L225 Difference]: With dead ends: 80 [2020-07-08 12:24:14,763 INFO L226 Difference]: Without dead ends: 76 [2020-07-08 12:24:14,765 INFO L675 BasicCegarLoop]: 0 DeclaredPredicates, 88 GetRequests, 46 SyntacticMatches, 0 SemanticMatches, 42 ConstructedPredicates, 0 IntricatePredicates, 0 DeprecatedPredicates, 208 ImplicationChecksByTransitivity, 1.1s TimeCoverageRelationStatistics Valid=210, Invalid=1682, Unknown=0, NotChecked=0, Total=1892 [2020-07-08 12:24:14,765 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 76 states. [2020-07-08 12:24:14,894 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 76 to 72. [2020-07-08 12:24:14,894 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2020-07-08 12:24:14,894 INFO L82 GeneralOperation]: Start isEquivalent. First operand 76 states. Second operand 72 states. [2020-07-08 12:24:14,895 INFO L74 IsIncluded]: Start isIncluded. First operand 76 states. Second operand 72 states. [2020-07-08 12:24:14,895 INFO L87 Difference]: Start difference. First operand 76 states. Second operand 72 states. [2020-07-08 12:24:14,899 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2020-07-08 12:24:14,900 INFO L93 Difference]: Finished difference Result 76 states and 90 transitions. [2020-07-08 12:24:14,900 INFO L276 IsEmpty]: Start isEmpty. Operand 76 states and 90 transitions. [2020-07-08 12:24:14,901 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2020-07-08 12:24:14,901 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2020-07-08 12:24:14,901 INFO L74 IsIncluded]: Start isIncluded. First operand 72 states. Second operand 76 states. [2020-07-08 12:24:14,901 INFO L87 Difference]: Start difference. First operand 72 states. Second operand 76 states. [2020-07-08 12:24:14,906 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2020-07-08 12:24:14,906 INFO L93 Difference]: Finished difference Result 76 states and 90 transitions. [2020-07-08 12:24:14,906 INFO L276 IsEmpty]: Start isEmpty. Operand 76 states and 90 transitions. [2020-07-08 12:24:14,907 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2020-07-08 12:24:14,907 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2020-07-08 12:24:14,907 INFO L88 GeneralOperation]: Finished isEquivalent. [2020-07-08 12:24:14,907 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2020-07-08 12:24:14,908 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 72 states. [2020-07-08 12:24:14,912 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 72 states to 72 states and 85 transitions. [2020-07-08 12:24:14,912 INFO L78 Accepts]: Start accepts. Automaton has 72 states and 85 transitions. Word has length 45 [2020-07-08 12:24:14,912 INFO L84 Accepts]: Finished accepts. word is rejected. [2020-07-08 12:24:14,912 INFO L479 AbstractCegarLoop]: Abstraction has 72 states and 85 transitions. [2020-07-08 12:24:14,913 INFO L480 AbstractCegarLoop]: Interpolant automaton has 29 states. [2020-07-08 12:24:14,913 INFO L276 IsEmpty]: Start isEmpty. Operand 72 states and 85 transitions. [2020-07-08 12:24:14,914 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 46 [2020-07-08 12:24:14,914 INFO L414 BasicCegarLoop]: Found error trace [2020-07-08 12:24:14,914 INFO L422 BasicCegarLoop]: trace histogram [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] [2020-07-08 12:24:15,128 WARN L516 AbstractCegarLoop]: Destroyed unattended storables created during the last iteration: SelfDestructingSolverStorable4,4 z3 -smt2 -in SMTLIB2_COMPLIANT=true [2020-07-08 12:24:15,129 INFO L427 AbstractCegarLoop]: === Iteration 6 === [__blast_assertErr0ASSERT_VIOLATIONERROR_FUNCTION]=== [2020-07-08 12:24:15,129 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2020-07-08 12:24:15,130 INFO L82 PathProgramCache]: Analyzing trace with hash 512124461, now seen corresponding path program 1 times [2020-07-08 12:24:15,130 INFO L163 FreeRefinementEngine]: Executing refinement strategy CAMEL [2020-07-08 12:24:15,131 INFO L354 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [1831197385] [2020-07-08 12:24:15,131 INFO L94 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2020-07-08 12:24:15,155 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2020-07-08 12:24:15,305 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2020-07-08 12:24:15,314 INFO L280 TraceCheckUtils]: 0: Hoare triple {2217#(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;#valid := #valid[0 := 0];assume 0 < #StackHeapBarrier;~guard_malloc_counter~0.base, ~guard_malloc_counter~0.offset := 0, 0;~elem~0.base, ~elem~0.offset := 0, 0;call ~#head~0.base, ~#head~0.offset := #Ultimate.allocOnStack(8);call write~init~$Pointer$(0, 0, ~#head~0.base, ~#head~0.offset, 4);call write~init~$Pointer$(0, 0, ~#head~0.base, 4 + ~#head~0.offset, 4); {2184#(and (= 0 ~elem~0.offset) (<= 0 ~guard_malloc_counter~0.offset))} is VALID [2020-07-08 12:24:15,315 INFO L280 TraceCheckUtils]: 1: Hoare triple {2184#(and (= 0 ~elem~0.offset) (<= 0 ~guard_malloc_counter~0.offset))} assume true; {2184#(and (= 0 ~elem~0.offset) (<= 0 ~guard_malloc_counter~0.offset))} is VALID [2020-07-08 12:24:15,316 INFO L275 TraceCheckUtils]: 2: Hoare quadruple {2184#(and (= 0 ~elem~0.offset) (<= 0 ~guard_malloc_counter~0.offset))} {2179#true} #89#return; {2184#(and (= 0 ~elem~0.offset) (<= 0 ~guard_malloc_counter~0.offset))} is VALID [2020-07-08 12:24:15,335 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2020-07-08 12:24:15,414 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2020-07-08 12:24:15,476 INFO L280 TraceCheckUtils]: 0: Hoare triple {2218#(and (= ~guard_malloc_counter~0.offset |old(~guard_malloc_counter~0.offset)|) (= ~guard_malloc_counter~0.base |old(~guard_malloc_counter~0.base)|))} ~size := #in~size; {2219#(= ~guard_malloc_counter~0.offset |old(~guard_malloc_counter~0.offset)|)} is VALID [2020-07-08 12:24:15,477 INFO L280 TraceCheckUtils]: 1: Hoare triple {2219#(= ~guard_malloc_counter~0.offset |old(~guard_malloc_counter~0.offset)|)} assume ~size > 0; {2219#(= ~guard_malloc_counter~0.offset |old(~guard_malloc_counter~0.offset)|)} is VALID [2020-07-08 12:24:15,478 INFO L280 TraceCheckUtils]: 2: Hoare triple {2219#(= ~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;~guard_malloc_counter~0.base, ~guard_malloc_counter~0.offset := #t~post28.base, 1 + #t~post28.offset;havoc #t~post28.base, #t~post28.offset;assume -2147483648 <= #t~nondet29 && #t~nondet29 <= 2147483647; {2228#(<= (+ |old(~guard_malloc_counter~0.offset)| 1) ~guard_malloc_counter~0.offset)} is VALID [2020-07-08 12:24:15,479 INFO L280 TraceCheckUtils]: 3: Hoare triple {2228#(<= (+ |old(~guard_malloc_counter~0.offset)| 1) ~guard_malloc_counter~0.offset)} assume !(0 == #t~nondet29);havoc #t~nondet29;#res.base, #res.offset := ~guard_malloc_counter~0.base, ~guard_malloc_counter~0.offset; {2229#(<= (+ |old(~guard_malloc_counter~0.offset)| 1) |__getMemory_#res.offset|)} is VALID [2020-07-08 12:24:15,479 INFO L280 TraceCheckUtils]: 4: Hoare triple {2229#(<= (+ |old(~guard_malloc_counter~0.offset)| 1) |__getMemory_#res.offset|)} assume true; {2229#(<= (+ |old(~guard_malloc_counter~0.offset)| 1) |__getMemory_#res.offset|)} is VALID [2020-07-08 12:24:15,480 INFO L275 TraceCheckUtils]: 5: Hoare quadruple {2229#(<= (+ |old(~guard_malloc_counter~0.offset)| 1) |__getMemory_#res.offset|)} {2219#(= ~guard_malloc_counter~0.offset |old(~guard_malloc_counter~0.offset)|)} #69#return; {2226#(<= (+ |old(~guard_malloc_counter~0.offset)| 1) |my_malloc_#t~ret30.offset|)} is VALID [2020-07-08 12:24:15,481 INFO L280 TraceCheckUtils]: 0: Hoare triple {2218#(and (= ~guard_malloc_counter~0.offset |old(~guard_malloc_counter~0.offset)|) (= ~guard_malloc_counter~0.base |old(~guard_malloc_counter~0.base)|))} ~size := #in~size; {2219#(= ~guard_malloc_counter~0.offset |old(~guard_malloc_counter~0.offset)|)} is VALID [2020-07-08 12:24:15,485 INFO L263 TraceCheckUtils]: 1: Hoare triple {2219#(= ~guard_malloc_counter~0.offset |old(~guard_malloc_counter~0.offset)|)} call #t~ret30.base, #t~ret30.offset := __getMemory(~size); {2218#(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-08 12:24:15,489 INFO L280 TraceCheckUtils]: 2: Hoare triple {2218#(and (= ~guard_malloc_counter~0.offset |old(~guard_malloc_counter~0.offset)|) (= ~guard_malloc_counter~0.base |old(~guard_malloc_counter~0.base)|))} ~size := #in~size; {2219#(= ~guard_malloc_counter~0.offset |old(~guard_malloc_counter~0.offset)|)} is VALID [2020-07-08 12:24:15,490 INFO L280 TraceCheckUtils]: 3: Hoare triple {2219#(= ~guard_malloc_counter~0.offset |old(~guard_malloc_counter~0.offset)|)} assume ~size > 0; {2219#(= ~guard_malloc_counter~0.offset |old(~guard_malloc_counter~0.offset)|)} is VALID [2020-07-08 12:24:15,491 INFO L280 TraceCheckUtils]: 4: Hoare triple {2219#(= ~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;~guard_malloc_counter~0.base, ~guard_malloc_counter~0.offset := #t~post28.base, 1 + #t~post28.offset;havoc #t~post28.base, #t~post28.offset;assume -2147483648 <= #t~nondet29 && #t~nondet29 <= 2147483647; {2228#(<= (+ |old(~guard_malloc_counter~0.offset)| 1) ~guard_malloc_counter~0.offset)} is VALID [2020-07-08 12:24:15,492 INFO L280 TraceCheckUtils]: 5: Hoare triple {2228#(<= (+ |old(~guard_malloc_counter~0.offset)| 1) ~guard_malloc_counter~0.offset)} assume !(0 == #t~nondet29);havoc #t~nondet29;#res.base, #res.offset := ~guard_malloc_counter~0.base, ~guard_malloc_counter~0.offset; {2229#(<= (+ |old(~guard_malloc_counter~0.offset)| 1) |__getMemory_#res.offset|)} is VALID [2020-07-08 12:24:15,493 INFO L280 TraceCheckUtils]: 6: Hoare triple {2229#(<= (+ |old(~guard_malloc_counter~0.offset)| 1) |__getMemory_#res.offset|)} assume true; {2229#(<= (+ |old(~guard_malloc_counter~0.offset)| 1) |__getMemory_#res.offset|)} is VALID [2020-07-08 12:24:15,494 INFO L275 TraceCheckUtils]: 7: Hoare quadruple {2229#(<= (+ |old(~guard_malloc_counter~0.offset)| 1) |__getMemory_#res.offset|)} {2219#(= ~guard_malloc_counter~0.offset |old(~guard_malloc_counter~0.offset)|)} #69#return; {2226#(<= (+ |old(~guard_malloc_counter~0.offset)| 1) |my_malloc_#t~ret30.offset|)} is VALID [2020-07-08 12:24:15,495 INFO L280 TraceCheckUtils]: 8: Hoare triple {2226#(<= (+ |old(~guard_malloc_counter~0.offset)| 1) |my_malloc_#t~ret30.offset|)} #res.base, #res.offset := #t~ret30.base, #t~ret30.offset;havoc #t~ret30.base, #t~ret30.offset; {2227#(<= (+ |old(~guard_malloc_counter~0.offset)| 1) |my_malloc_#res.offset|)} is VALID [2020-07-08 12:24:15,495 INFO L280 TraceCheckUtils]: 9: Hoare triple {2227#(<= (+ |old(~guard_malloc_counter~0.offset)| 1) |my_malloc_#res.offset|)} assume true; {2227#(<= (+ |old(~guard_malloc_counter~0.offset)| 1) |my_malloc_#res.offset|)} is VALID [2020-07-08 12:24:15,497 INFO L275 TraceCheckUtils]: 10: Hoare quadruple {2227#(<= (+ |old(~guard_malloc_counter~0.offset)| 1) |my_malloc_#res.offset|)} {2184#(and (= 0 ~elem~0.offset) (<= 0 ~guard_malloc_counter~0.offset))} #71#return; {2196#(and (= 0 ~elem~0.offset) (<= 1 |main_#t~ret32.offset|))} is VALID [2020-07-08 12:24:15,500 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2020-07-08 12:24:15,507 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2020-07-08 12:24:15,511 INFO L280 TraceCheckUtils]: 0: Hoare triple {2218#(and (= ~guard_malloc_counter~0.offset |old(~guard_malloc_counter~0.offset)|) (= ~guard_malloc_counter~0.base |old(~guard_malloc_counter~0.base)|))} ~size := #in~size; {2179#true} is VALID [2020-07-08 12:24:15,511 INFO L280 TraceCheckUtils]: 1: Hoare triple {2179#true} assume ~size > 0; {2179#true} is VALID [2020-07-08 12:24:15,511 INFO L280 TraceCheckUtils]: 2: Hoare triple {2179#true} #t~post28.base, #t~post28.offset := ~guard_malloc_counter~0.base, ~guard_malloc_counter~0.offset;~guard_malloc_counter~0.base, ~guard_malloc_counter~0.offset := #t~post28.base, 1 + #t~post28.offset;havoc #t~post28.base, #t~post28.offset;assume -2147483648 <= #t~nondet29 && #t~nondet29 <= 2147483647; {2179#true} is VALID [2020-07-08 12:24:15,511 INFO L280 TraceCheckUtils]: 3: Hoare triple {2179#true} assume !(0 == #t~nondet29);havoc #t~nondet29;#res.base, #res.offset := ~guard_malloc_counter~0.base, ~guard_malloc_counter~0.offset; {2179#true} is VALID [2020-07-08 12:24:15,512 INFO L280 TraceCheckUtils]: 4: Hoare triple {2179#true} assume true; {2179#true} is VALID [2020-07-08 12:24:15,512 INFO L275 TraceCheckUtils]: 5: Hoare quadruple {2179#true} {2179#true} #69#return; {2179#true} is VALID [2020-07-08 12:24:15,512 INFO L280 TraceCheckUtils]: 0: Hoare triple {2218#(and (= ~guard_malloc_counter~0.offset |old(~guard_malloc_counter~0.offset)|) (= ~guard_malloc_counter~0.base |old(~guard_malloc_counter~0.base)|))} ~size := #in~size; {2179#true} is VALID [2020-07-08 12:24:15,513 INFO L263 TraceCheckUtils]: 1: Hoare triple {2179#true} call #t~ret30.base, #t~ret30.offset := __getMemory(~size); {2218#(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-08 12:24:15,513 INFO L280 TraceCheckUtils]: 2: Hoare triple {2218#(and (= ~guard_malloc_counter~0.offset |old(~guard_malloc_counter~0.offset)|) (= ~guard_malloc_counter~0.base |old(~guard_malloc_counter~0.base)|))} ~size := #in~size; {2179#true} is VALID [2020-07-08 12:24:15,514 INFO L280 TraceCheckUtils]: 3: Hoare triple {2179#true} assume ~size > 0; {2179#true} is VALID [2020-07-08 12:24:15,514 INFO L280 TraceCheckUtils]: 4: Hoare triple {2179#true} #t~post28.base, #t~post28.offset := ~guard_malloc_counter~0.base, ~guard_malloc_counter~0.offset;~guard_malloc_counter~0.base, ~guard_malloc_counter~0.offset := #t~post28.base, 1 + #t~post28.offset;havoc #t~post28.base, #t~post28.offset;assume -2147483648 <= #t~nondet29 && #t~nondet29 <= 2147483647; {2179#true} is VALID [2020-07-08 12:24:15,514 INFO L280 TraceCheckUtils]: 5: Hoare triple {2179#true} assume !(0 == #t~nondet29);havoc #t~nondet29;#res.base, #res.offset := ~guard_malloc_counter~0.base, ~guard_malloc_counter~0.offset; {2179#true} is VALID [2020-07-08 12:24:15,514 INFO L280 TraceCheckUtils]: 6: Hoare triple {2179#true} assume true; {2179#true} is VALID [2020-07-08 12:24:15,515 INFO L275 TraceCheckUtils]: 7: Hoare quadruple {2179#true} {2179#true} #69#return; {2179#true} is VALID [2020-07-08 12:24:15,515 INFO L280 TraceCheckUtils]: 8: Hoare triple {2179#true} #res.base, #res.offset := #t~ret30.base, #t~ret30.offset;havoc #t~ret30.base, #t~ret30.offset; {2179#true} is VALID [2020-07-08 12:24:15,515 INFO L280 TraceCheckUtils]: 9: Hoare triple {2179#true} assume true; {2179#true} is VALID [2020-07-08 12:24:15,516 INFO L275 TraceCheckUtils]: 10: Hoare quadruple {2179#true} {2197#(and (<= 1 main_~dev1~0.offset) (= 0 ~elem~0.offset))} #73#return; {2197#(and (<= 1 main_~dev1~0.offset) (= 0 ~elem~0.offset))} is VALID [2020-07-08 12:24:15,541 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2020-07-08 12:24:15,565 INFO L280 TraceCheckUtils]: 0: Hoare triple {2236#(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;~head.base, ~head.offset := #in~head.base, #in~head.offset; {2237#(= |old(~elem~0.offset)| ~elem~0.offset)} is VALID [2020-07-08 12:24:15,566 INFO L280 TraceCheckUtils]: 1: Hoare triple {2237#(= |old(~elem~0.offset)| ~elem~0.offset)} assume ~new.base != ~elem~0.base || ~new.offset != ~elem~0.offset; {2237#(= |old(~elem~0.offset)| ~elem~0.offset)} is VALID [2020-07-08 12:24:15,566 INFO L280 TraceCheckUtils]: 2: Hoare triple {2237#(= |old(~elem~0.offset)| ~elem~0.offset)} assume -2147483648 <= #t~nondet31 && #t~nondet31 <= 2147483647; {2237#(= |old(~elem~0.offset)| ~elem~0.offset)} is VALID [2020-07-08 12:24:15,567 INFO L280 TraceCheckUtils]: 3: Hoare triple {2237#(= |old(~elem~0.offset)| ~elem~0.offset)} assume !(0 != #t~nondet31);havoc #t~nondet31; {2237#(= |old(~elem~0.offset)| ~elem~0.offset)} is VALID [2020-07-08 12:24:15,567 INFO L280 TraceCheckUtils]: 4: Hoare triple {2237#(= |old(~elem~0.offset)| ~elem~0.offset)} assume true; {2237#(= |old(~elem~0.offset)| ~elem~0.offset)} is VALID [2020-07-08 12:24:15,569 INFO L275 TraceCheckUtils]: 5: Hoare quadruple {2237#(= |old(~elem~0.offset)| ~elem~0.offset)} {2197#(and (<= 1 main_~dev1~0.offset) (= 0 ~elem~0.offset))} #75#return; {2197#(and (<= 1 main_~dev1~0.offset) (= 0 ~elem~0.offset))} is VALID [2020-07-08 12:24:15,571 INFO L263 TraceCheckUtils]: 0: Hoare triple {2179#true} call ULTIMATE.init(); {2217#(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-08 12:24:15,572 INFO L280 TraceCheckUtils]: 1: Hoare triple {2217#(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;#valid := #valid[0 := 0];assume 0 < #StackHeapBarrier;~guard_malloc_counter~0.base, ~guard_malloc_counter~0.offset := 0, 0;~elem~0.base, ~elem~0.offset := 0, 0;call ~#head~0.base, ~#head~0.offset := #Ultimate.allocOnStack(8);call write~init~$Pointer$(0, 0, ~#head~0.base, ~#head~0.offset, 4);call write~init~$Pointer$(0, 0, ~#head~0.base, 4 + ~#head~0.offset, 4); {2184#(and (= 0 ~elem~0.offset) (<= 0 ~guard_malloc_counter~0.offset))} is VALID [2020-07-08 12:24:15,573 INFO L280 TraceCheckUtils]: 2: Hoare triple {2184#(and (= 0 ~elem~0.offset) (<= 0 ~guard_malloc_counter~0.offset))} assume true; {2184#(and (= 0 ~elem~0.offset) (<= 0 ~guard_malloc_counter~0.offset))} is VALID [2020-07-08 12:24:15,574 INFO L275 TraceCheckUtils]: 3: Hoare quadruple {2184#(and (= 0 ~elem~0.offset) (<= 0 ~guard_malloc_counter~0.offset))} {2179#true} #89#return; {2184#(and (= 0 ~elem~0.offset) (<= 0 ~guard_malloc_counter~0.offset))} is VALID [2020-07-08 12:24:15,575 INFO L263 TraceCheckUtils]: 4: Hoare triple {2184#(and (= 0 ~elem~0.offset) (<= 0 ~guard_malloc_counter~0.offset))} call #t~ret34 := main(); {2184#(and (= 0 ~elem~0.offset) (<= 0 ~guard_malloc_counter~0.offset))} is VALID [2020-07-08 12:24:15,575 INFO L280 TraceCheckUtils]: 5: Hoare triple {2184#(and (= 0 ~elem~0.offset) (<= 0 ~guard_malloc_counter~0.offset))} havoc ~dev1~0.base, ~dev1~0.offset;havoc ~dev2~0.base, ~dev2~0.offset; {2184#(and (= 0 ~elem~0.offset) (<= 0 ~guard_malloc_counter~0.offset))} is VALID [2020-07-08 12:24:15,577 INFO L263 TraceCheckUtils]: 6: Hoare triple {2184#(and (= 0 ~elem~0.offset) (<= 0 ~guard_malloc_counter~0.offset))} call #t~ret32.base, #t~ret32.offset := my_malloc(8); {2218#(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-08 12:24:15,577 INFO L280 TraceCheckUtils]: 7: Hoare triple {2218#(and (= ~guard_malloc_counter~0.offset |old(~guard_malloc_counter~0.offset)|) (= ~guard_malloc_counter~0.base |old(~guard_malloc_counter~0.base)|))} ~size := #in~size; {2219#(= ~guard_malloc_counter~0.offset |old(~guard_malloc_counter~0.offset)|)} is VALID [2020-07-08 12:24:15,578 INFO L263 TraceCheckUtils]: 8: Hoare triple {2219#(= ~guard_malloc_counter~0.offset |old(~guard_malloc_counter~0.offset)|)} call #t~ret30.base, #t~ret30.offset := __getMemory(~size); {2218#(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-08 12:24:15,579 INFO L280 TraceCheckUtils]: 9: Hoare triple {2218#(and (= ~guard_malloc_counter~0.offset |old(~guard_malloc_counter~0.offset)|) (= ~guard_malloc_counter~0.base |old(~guard_malloc_counter~0.base)|))} ~size := #in~size; {2219#(= ~guard_malloc_counter~0.offset |old(~guard_malloc_counter~0.offset)|)} is VALID [2020-07-08 12:24:15,580 INFO L280 TraceCheckUtils]: 10: Hoare triple {2219#(= ~guard_malloc_counter~0.offset |old(~guard_malloc_counter~0.offset)|)} assume ~size > 0; {2219#(= ~guard_malloc_counter~0.offset |old(~guard_malloc_counter~0.offset)|)} is VALID [2020-07-08 12:24:15,580 INFO L280 TraceCheckUtils]: 11: Hoare triple {2219#(= ~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;~guard_malloc_counter~0.base, ~guard_malloc_counter~0.offset := #t~post28.base, 1 + #t~post28.offset;havoc #t~post28.base, #t~post28.offset;assume -2147483648 <= #t~nondet29 && #t~nondet29 <= 2147483647; {2228#(<= (+ |old(~guard_malloc_counter~0.offset)| 1) ~guard_malloc_counter~0.offset)} is VALID [2020-07-08 12:24:15,581 INFO L280 TraceCheckUtils]: 12: Hoare triple {2228#(<= (+ |old(~guard_malloc_counter~0.offset)| 1) ~guard_malloc_counter~0.offset)} assume !(0 == #t~nondet29);havoc #t~nondet29;#res.base, #res.offset := ~guard_malloc_counter~0.base, ~guard_malloc_counter~0.offset; {2229#(<= (+ |old(~guard_malloc_counter~0.offset)| 1) |__getMemory_#res.offset|)} is VALID [2020-07-08 12:24:15,582 INFO L280 TraceCheckUtils]: 13: Hoare triple {2229#(<= (+ |old(~guard_malloc_counter~0.offset)| 1) |__getMemory_#res.offset|)} assume true; {2229#(<= (+ |old(~guard_malloc_counter~0.offset)| 1) |__getMemory_#res.offset|)} is VALID [2020-07-08 12:24:15,583 INFO L275 TraceCheckUtils]: 14: Hoare quadruple {2229#(<= (+ |old(~guard_malloc_counter~0.offset)| 1) |__getMemory_#res.offset|)} {2219#(= ~guard_malloc_counter~0.offset |old(~guard_malloc_counter~0.offset)|)} #69#return; {2226#(<= (+ |old(~guard_malloc_counter~0.offset)| 1) |my_malloc_#t~ret30.offset|)} is VALID [2020-07-08 12:24:15,584 INFO L280 TraceCheckUtils]: 15: Hoare triple {2226#(<= (+ |old(~guard_malloc_counter~0.offset)| 1) |my_malloc_#t~ret30.offset|)} #res.base, #res.offset := #t~ret30.base, #t~ret30.offset;havoc #t~ret30.base, #t~ret30.offset; {2227#(<= (+ |old(~guard_malloc_counter~0.offset)| 1) |my_malloc_#res.offset|)} is VALID [2020-07-08 12:24:15,585 INFO L280 TraceCheckUtils]: 16: Hoare triple {2227#(<= (+ |old(~guard_malloc_counter~0.offset)| 1) |my_malloc_#res.offset|)} assume true; {2227#(<= (+ |old(~guard_malloc_counter~0.offset)| 1) |my_malloc_#res.offset|)} is VALID [2020-07-08 12:24:15,586 INFO L275 TraceCheckUtils]: 17: Hoare quadruple {2227#(<= (+ |old(~guard_malloc_counter~0.offset)| 1) |my_malloc_#res.offset|)} {2184#(and (= 0 ~elem~0.offset) (<= 0 ~guard_malloc_counter~0.offset))} #71#return; {2196#(and (= 0 ~elem~0.offset) (<= 1 |main_#t~ret32.offset|))} is VALID [2020-07-08 12:24:15,587 INFO L280 TraceCheckUtils]: 18: Hoare triple {2196#(and (= 0 ~elem~0.offset) (<= 1 |main_#t~ret32.offset|))} ~dev1~0.base, ~dev1~0.offset := #t~ret32.base, #t~ret32.offset;havoc #t~ret32.base, #t~ret32.offset; {2197#(and (<= 1 main_~dev1~0.offset) (= 0 ~elem~0.offset))} is VALID [2020-07-08 12:24:15,588 INFO L263 TraceCheckUtils]: 19: Hoare triple {2197#(and (<= 1 main_~dev1~0.offset) (= 0 ~elem~0.offset))} call #t~ret33.base, #t~ret33.offset := my_malloc(8); {2218#(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-08 12:24:15,588 INFO L280 TraceCheckUtils]: 20: Hoare triple {2218#(and (= ~guard_malloc_counter~0.offset |old(~guard_malloc_counter~0.offset)|) (= ~guard_malloc_counter~0.base |old(~guard_malloc_counter~0.base)|))} ~size := #in~size; {2179#true} is VALID [2020-07-08 12:24:15,589 INFO L263 TraceCheckUtils]: 21: Hoare triple {2179#true} call #t~ret30.base, #t~ret30.offset := __getMemory(~size); {2218#(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-08 12:24:15,590 INFO L280 TraceCheckUtils]: 22: Hoare triple {2218#(and (= ~guard_malloc_counter~0.offset |old(~guard_malloc_counter~0.offset)|) (= ~guard_malloc_counter~0.base |old(~guard_malloc_counter~0.base)|))} ~size := #in~size; {2179#true} is VALID [2020-07-08 12:24:15,590 INFO L280 TraceCheckUtils]: 23: Hoare triple {2179#true} assume ~size > 0; {2179#true} is VALID [2020-07-08 12:24:15,590 INFO L280 TraceCheckUtils]: 24: Hoare triple {2179#true} #t~post28.base, #t~post28.offset := ~guard_malloc_counter~0.base, ~guard_malloc_counter~0.offset;~guard_malloc_counter~0.base, ~guard_malloc_counter~0.offset := #t~post28.base, 1 + #t~post28.offset;havoc #t~post28.base, #t~post28.offset;assume -2147483648 <= #t~nondet29 && #t~nondet29 <= 2147483647; {2179#true} is VALID [2020-07-08 12:24:15,590 INFO L280 TraceCheckUtils]: 25: Hoare triple {2179#true} assume !(0 == #t~nondet29);havoc #t~nondet29;#res.base, #res.offset := ~guard_malloc_counter~0.base, ~guard_malloc_counter~0.offset; {2179#true} is VALID [2020-07-08 12:24:15,590 INFO L280 TraceCheckUtils]: 26: Hoare triple {2179#true} assume true; {2179#true} is VALID [2020-07-08 12:24:15,591 INFO L275 TraceCheckUtils]: 27: Hoare quadruple {2179#true} {2179#true} #69#return; {2179#true} is VALID [2020-07-08 12:24:15,591 INFO L280 TraceCheckUtils]: 28: Hoare triple {2179#true} #res.base, #res.offset := #t~ret30.base, #t~ret30.offset;havoc #t~ret30.base, #t~ret30.offset; {2179#true} is VALID [2020-07-08 12:24:15,591 INFO L280 TraceCheckUtils]: 29: Hoare triple {2179#true} assume true; {2179#true} is VALID [2020-07-08 12:24:15,592 INFO L275 TraceCheckUtils]: 30: Hoare quadruple {2179#true} {2197#(and (<= 1 main_~dev1~0.offset) (= 0 ~elem~0.offset))} #73#return; {2197#(and (<= 1 main_~dev1~0.offset) (= 0 ~elem~0.offset))} is VALID [2020-07-08 12:24:15,593 INFO L280 TraceCheckUtils]: 31: Hoare triple {2197#(and (<= 1 main_~dev1~0.offset) (= 0 ~elem~0.offset))} ~dev2~0.base, ~dev2~0.offset := #t~ret33.base, #t~ret33.offset;havoc #t~ret33.base, #t~ret33.offset; {2197#(and (<= 1 main_~dev1~0.offset) (= 0 ~elem~0.offset))} is VALID [2020-07-08 12:24:15,594 INFO L280 TraceCheckUtils]: 32: Hoare triple {2197#(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); {2197#(and (<= 1 main_~dev1~0.offset) (= 0 ~elem~0.offset))} is VALID [2020-07-08 12:24:15,595 INFO L263 TraceCheckUtils]: 33: Hoare triple {2197#(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); {2236#(and (= ~elem~0.base |old(~elem~0.base)|) (= ~elem~0.offset |old(~elem~0.offset)|))} is VALID [2020-07-08 12:24:15,596 INFO L280 TraceCheckUtils]: 34: Hoare triple {2236#(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;~head.base, ~head.offset := #in~head.base, #in~head.offset; {2237#(= |old(~elem~0.offset)| ~elem~0.offset)} is VALID [2020-07-08 12:24:15,597 INFO L280 TraceCheckUtils]: 35: Hoare triple {2237#(= |old(~elem~0.offset)| ~elem~0.offset)} assume ~new.base != ~elem~0.base || ~new.offset != ~elem~0.offset; {2237#(= |old(~elem~0.offset)| ~elem~0.offset)} is VALID [2020-07-08 12:24:15,598 INFO L280 TraceCheckUtils]: 36: Hoare triple {2237#(= |old(~elem~0.offset)| ~elem~0.offset)} assume -2147483648 <= #t~nondet31 && #t~nondet31 <= 2147483647; {2237#(= |old(~elem~0.offset)| ~elem~0.offset)} is VALID [2020-07-08 12:24:15,599 INFO L280 TraceCheckUtils]: 37: Hoare triple {2237#(= |old(~elem~0.offset)| ~elem~0.offset)} assume !(0 != #t~nondet31);havoc #t~nondet31; {2237#(= |old(~elem~0.offset)| ~elem~0.offset)} is VALID [2020-07-08 12:24:15,599 INFO L280 TraceCheckUtils]: 38: Hoare triple {2237#(= |old(~elem~0.offset)| ~elem~0.offset)} assume true; {2237#(= |old(~elem~0.offset)| ~elem~0.offset)} is VALID [2020-07-08 12:24:15,601 INFO L275 TraceCheckUtils]: 39: Hoare quadruple {2237#(= |old(~elem~0.offset)| ~elem~0.offset)} {2197#(and (<= 1 main_~dev1~0.offset) (= 0 ~elem~0.offset))} #75#return; {2197#(and (<= 1 main_~dev1~0.offset) (= 0 ~elem~0.offset))} is VALID [2020-07-08 12:24:15,602 INFO L263 TraceCheckUtils]: 40: Hoare triple {2197#(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); {2215#(and (= 0 ~elem~0.offset) (<= 1 |list_add_#in~new.offset|))} is VALID [2020-07-08 12:24:15,604 INFO L280 TraceCheckUtils]: 41: Hoare triple {2215#(and (= 0 ~elem~0.offset) (<= 1 |list_add_#in~new.offset|))} ~new.base, ~new.offset := #in~new.base, #in~new.offset;~head.base, ~head.offset := #in~head.base, #in~head.offset; {2216#(and (= 0 ~elem~0.offset) (not (= 0 list_add_~new.offset)))} is VALID [2020-07-08 12:24:15,604 INFO L280 TraceCheckUtils]: 42: Hoare triple {2216#(and (= 0 ~elem~0.offset) (not (= 0 list_add_~new.offset)))} assume !(~new.base != ~elem~0.base || ~new.offset != ~elem~0.offset); {2180#false} is VALID [2020-07-08 12:24:15,605 INFO L263 TraceCheckUtils]: 43: Hoare triple {2180#false} call __blast_assert(); {2180#false} is VALID [2020-07-08 12:24:15,605 INFO L280 TraceCheckUtils]: 44: Hoare triple {2180#false} assume !false; {2180#false} is VALID [2020-07-08 12:24:15,609 INFO L134 CoverageAnalysis]: Checked inductivity of 13 backedges. 0 proven. 11 refuted. 0 times theorem prover too weak. 2 trivial. 0 not checked. [2020-07-08 12:24:15,609 INFO L354 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleSmtInterpolCraig [1831197385] [2020-07-08 12:24:15,609 INFO L354 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleZ3 [188824111] [2020-07-08 12:24:15,609 INFO L94 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 Starting monitored process 5 with z3 -smt2 -in SMTLIB2_COMPLIANT=true (exit command is (exit), workingDir is null) Waiting until toolchain timeout for monitored process 5 with z3 -smt2 -in SMTLIB2_COMPLIANT=true [2020-07-08 12:24:15,741 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2020-07-08 12:24:15,743 INFO L264 TraceCheckSpWp]: Trace formula consists of 261 conjuncts, 23 conjunts are in the unsatisfiable core [2020-07-08 12:24:15,790 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2020-07-08 12:24:15,794 INFO L287 TraceCheckSpWp]: Computing forward predicates... [2020-07-08 12:24:16,430 INFO L263 TraceCheckUtils]: 0: Hoare triple {2179#true} call ULTIMATE.init(); {2179#true} is VALID [2020-07-08 12:24:16,431 INFO L280 TraceCheckUtils]: 1: Hoare triple {2179#true} #NULL.base, #NULL.offset := 0, 0;#valid := #valid[0 := 0];assume 0 < #StackHeapBarrier;~guard_malloc_counter~0.base, ~guard_malloc_counter~0.offset := 0, 0;~elem~0.base, ~elem~0.offset := 0, 0;call ~#head~0.base, ~#head~0.offset := #Ultimate.allocOnStack(8);call write~init~$Pointer$(0, 0, ~#head~0.base, ~#head~0.offset, 4);call write~init~$Pointer$(0, 0, ~#head~0.base, 4 + ~#head~0.offset, 4); {2244#(and (<= 0 ~guard_malloc_counter~0.offset) (<= ~elem~0.offset 0))} is VALID [2020-07-08 12:24:16,432 INFO L280 TraceCheckUtils]: 2: Hoare triple {2244#(and (<= 0 ~guard_malloc_counter~0.offset) (<= ~elem~0.offset 0))} assume true; {2244#(and (<= 0 ~guard_malloc_counter~0.offset) (<= ~elem~0.offset 0))} is VALID [2020-07-08 12:24:16,432 INFO L275 TraceCheckUtils]: 3: Hoare quadruple {2244#(and (<= 0 ~guard_malloc_counter~0.offset) (<= ~elem~0.offset 0))} {2179#true} #89#return; {2244#(and (<= 0 ~guard_malloc_counter~0.offset) (<= ~elem~0.offset 0))} is VALID [2020-07-08 12:24:16,433 INFO L263 TraceCheckUtils]: 4: Hoare triple {2244#(and (<= 0 ~guard_malloc_counter~0.offset) (<= ~elem~0.offset 0))} call #t~ret34 := main(); {2244#(and (<= 0 ~guard_malloc_counter~0.offset) (<= ~elem~0.offset 0))} is VALID [2020-07-08 12:24:16,433 INFO L280 TraceCheckUtils]: 5: Hoare triple {2244#(and (<= 0 ~guard_malloc_counter~0.offset) (<= ~elem~0.offset 0))} havoc ~dev1~0.base, ~dev1~0.offset;havoc ~dev2~0.base, ~dev2~0.offset; {2244#(and (<= 0 ~guard_malloc_counter~0.offset) (<= ~elem~0.offset 0))} is VALID [2020-07-08 12:24:16,434 INFO L263 TraceCheckUtils]: 6: Hoare triple {2244#(and (<= 0 ~guard_malloc_counter~0.offset) (<= ~elem~0.offset 0))} call #t~ret32.base, #t~ret32.offset := my_malloc(8); {2260#(and (<= |old(~guard_malloc_counter~0.offset)| ~guard_malloc_counter~0.offset) (<= ~elem~0.offset 0))} is VALID [2020-07-08 12:24:16,435 INFO L280 TraceCheckUtils]: 7: Hoare triple {2260#(and (<= |old(~guard_malloc_counter~0.offset)| ~guard_malloc_counter~0.offset) (<= ~elem~0.offset 0))} ~size := #in~size; {2260#(and (<= |old(~guard_malloc_counter~0.offset)| ~guard_malloc_counter~0.offset) (<= ~elem~0.offset 0))} is VALID [2020-07-08 12:24:16,436 INFO L263 TraceCheckUtils]: 8: Hoare triple {2260#(and (<= |old(~guard_malloc_counter~0.offset)| ~guard_malloc_counter~0.offset) (<= ~elem~0.offset 0))} call #t~ret30.base, #t~ret30.offset := __getMemory(~size); {2260#(and (<= |old(~guard_malloc_counter~0.offset)| ~guard_malloc_counter~0.offset) (<= ~elem~0.offset 0))} is VALID [2020-07-08 12:24:16,437 INFO L280 TraceCheckUtils]: 9: Hoare triple {2260#(and (<= |old(~guard_malloc_counter~0.offset)| ~guard_malloc_counter~0.offset) (<= ~elem~0.offset 0))} ~size := #in~size; {2260#(and (<= |old(~guard_malloc_counter~0.offset)| ~guard_malloc_counter~0.offset) (<= ~elem~0.offset 0))} is VALID [2020-07-08 12:24:16,438 INFO L280 TraceCheckUtils]: 10: Hoare triple {2260#(and (<= |old(~guard_malloc_counter~0.offset)| ~guard_malloc_counter~0.offset) (<= ~elem~0.offset 0))} assume ~size > 0; {2260#(and (<= |old(~guard_malloc_counter~0.offset)| ~guard_malloc_counter~0.offset) (<= ~elem~0.offset 0))} is VALID [2020-07-08 12:24:16,440 INFO L280 TraceCheckUtils]: 11: Hoare triple {2260#(and (<= |old(~guard_malloc_counter~0.offset)| ~guard_malloc_counter~0.offset) (<= ~elem~0.offset 0))} #t~post28.base, #t~post28.offset := ~guard_malloc_counter~0.base, ~guard_malloc_counter~0.offset;~guard_malloc_counter~0.base, ~guard_malloc_counter~0.offset := #t~post28.base, 1 + #t~post28.offset;havoc #t~post28.base, #t~post28.offset;assume -2147483648 <= #t~nondet29 && #t~nondet29 <= 2147483647; {2276#(and (<= (+ |old(~guard_malloc_counter~0.offset)| 1) ~guard_malloc_counter~0.offset) (<= ~elem~0.offset 0))} is VALID [2020-07-08 12:24:16,441 INFO L280 TraceCheckUtils]: 12: Hoare triple {2276#(and (<= (+ |old(~guard_malloc_counter~0.offset)| 1) ~guard_malloc_counter~0.offset) (<= ~elem~0.offset 0))} assume !(0 == #t~nondet29);havoc #t~nondet29;#res.base, #res.offset := ~guard_malloc_counter~0.base, ~guard_malloc_counter~0.offset; {2280#(and (<= (+ |old(~guard_malloc_counter~0.offset)| 1) ~guard_malloc_counter~0.offset) (<= ~guard_malloc_counter~0.offset |__getMemory_#res.offset|) (<= ~elem~0.offset 0))} is VALID [2020-07-08 12:24:16,441 INFO L280 TraceCheckUtils]: 13: Hoare triple {2280#(and (<= (+ |old(~guard_malloc_counter~0.offset)| 1) ~guard_malloc_counter~0.offset) (<= ~guard_malloc_counter~0.offset |__getMemory_#res.offset|) (<= ~elem~0.offset 0))} assume true; {2280#(and (<= (+ |old(~guard_malloc_counter~0.offset)| 1) ~guard_malloc_counter~0.offset) (<= ~guard_malloc_counter~0.offset |__getMemory_#res.offset|) (<= ~elem~0.offset 0))} is VALID [2020-07-08 12:24:16,444 INFO L275 TraceCheckUtils]: 14: Hoare quadruple {2280#(and (<= (+ |old(~guard_malloc_counter~0.offset)| 1) ~guard_malloc_counter~0.offset) (<= ~guard_malloc_counter~0.offset |__getMemory_#res.offset|) (<= ~elem~0.offset 0))} {2260#(and (<= |old(~guard_malloc_counter~0.offset)| ~guard_malloc_counter~0.offset) (<= ~elem~0.offset 0))} #69#return; {2287#(and (<= (+ |old(~guard_malloc_counter~0.offset)| 1) ~guard_malloc_counter~0.offset) (<= ~guard_malloc_counter~0.offset |my_malloc_#t~ret30.offset|) (<= ~elem~0.offset 0))} is VALID [2020-07-08 12:24:16,445 INFO L280 TraceCheckUtils]: 15: Hoare triple {2287#(and (<= (+ |old(~guard_malloc_counter~0.offset)| 1) ~guard_malloc_counter~0.offset) (<= ~guard_malloc_counter~0.offset |my_malloc_#t~ret30.offset|) (<= ~elem~0.offset 0))} #res.base, #res.offset := #t~ret30.base, #t~ret30.offset;havoc #t~ret30.base, #t~ret30.offset; {2291#(and (<= (+ |old(~guard_malloc_counter~0.offset)| 1) ~guard_malloc_counter~0.offset) (<= ~guard_malloc_counter~0.offset |my_malloc_#res.offset|) (<= ~elem~0.offset 0))} is VALID [2020-07-08 12:24:16,445 INFO L280 TraceCheckUtils]: 16: Hoare triple {2291#(and (<= (+ |old(~guard_malloc_counter~0.offset)| 1) ~guard_malloc_counter~0.offset) (<= ~guard_malloc_counter~0.offset |my_malloc_#res.offset|) (<= ~elem~0.offset 0))} assume true; {2291#(and (<= (+ |old(~guard_malloc_counter~0.offset)| 1) ~guard_malloc_counter~0.offset) (<= ~guard_malloc_counter~0.offset |my_malloc_#res.offset|) (<= ~elem~0.offset 0))} is VALID [2020-07-08 12:24:16,447 INFO L275 TraceCheckUtils]: 17: Hoare quadruple {2291#(and (<= (+ |old(~guard_malloc_counter~0.offset)| 1) ~guard_malloc_counter~0.offset) (<= ~guard_malloc_counter~0.offset |my_malloc_#res.offset|) (<= ~elem~0.offset 0))} {2244#(and (<= 0 ~guard_malloc_counter~0.offset) (<= ~elem~0.offset 0))} #71#return; {2298#(and (<= 1 |main_#t~ret32.offset|) (<= ~elem~0.offset 0))} is VALID [2020-07-08 12:24:16,447 INFO L280 TraceCheckUtils]: 18: Hoare triple {2298#(and (<= 1 |main_#t~ret32.offset|) (<= ~elem~0.offset 0))} ~dev1~0.base, ~dev1~0.offset := #t~ret32.base, #t~ret32.offset;havoc #t~ret32.base, #t~ret32.offset; {2302#(and (<= 1 main_~dev1~0.offset) (<= ~elem~0.offset 0))} is VALID [2020-07-08 12:24:16,448 INFO L263 TraceCheckUtils]: 19: Hoare triple {2302#(and (<= 1 main_~dev1~0.offset) (<= ~elem~0.offset 0))} call #t~ret33.base, #t~ret33.offset := my_malloc(8); {2306#(<= ~elem~0.offset 0)} is VALID [2020-07-08 12:24:16,449 INFO L280 TraceCheckUtils]: 20: Hoare triple {2306#(<= ~elem~0.offset 0)} ~size := #in~size; {2306#(<= ~elem~0.offset 0)} is VALID [2020-07-08 12:24:16,450 INFO L263 TraceCheckUtils]: 21: Hoare triple {2306#(<= ~elem~0.offset 0)} call #t~ret30.base, #t~ret30.offset := __getMemory(~size); {2306#(<= ~elem~0.offset 0)} is VALID [2020-07-08 12:24:16,452 INFO L280 TraceCheckUtils]: 22: Hoare triple {2306#(<= ~elem~0.offset 0)} ~size := #in~size; {2306#(<= ~elem~0.offset 0)} is VALID [2020-07-08 12:24:16,452 INFO L280 TraceCheckUtils]: 23: Hoare triple {2306#(<= ~elem~0.offset 0)} assume ~size > 0; {2306#(<= ~elem~0.offset 0)} is VALID [2020-07-08 12:24:16,453 INFO L280 TraceCheckUtils]: 24: Hoare triple {2306#(<= ~elem~0.offset 0)} #t~post28.base, #t~post28.offset := ~guard_malloc_counter~0.base, ~guard_malloc_counter~0.offset;~guard_malloc_counter~0.base, ~guard_malloc_counter~0.offset := #t~post28.base, 1 + #t~post28.offset;havoc #t~post28.base, #t~post28.offset;assume -2147483648 <= #t~nondet29 && #t~nondet29 <= 2147483647; {2306#(<= ~elem~0.offset 0)} is VALID [2020-07-08 12:24:16,454 INFO L280 TraceCheckUtils]: 25: Hoare triple {2306#(<= ~elem~0.offset 0)} assume !(0 == #t~nondet29);havoc #t~nondet29;#res.base, #res.offset := ~guard_malloc_counter~0.base, ~guard_malloc_counter~0.offset; {2306#(<= ~elem~0.offset 0)} is VALID [2020-07-08 12:24:16,454 INFO L280 TraceCheckUtils]: 26: Hoare triple {2306#(<= ~elem~0.offset 0)} assume true; {2306#(<= ~elem~0.offset 0)} is VALID [2020-07-08 12:24:16,455 INFO L275 TraceCheckUtils]: 27: Hoare quadruple {2306#(<= ~elem~0.offset 0)} {2306#(<= ~elem~0.offset 0)} #69#return; {2306#(<= ~elem~0.offset 0)} is VALID [2020-07-08 12:24:16,457 INFO L280 TraceCheckUtils]: 28: Hoare triple {2306#(<= ~elem~0.offset 0)} #res.base, #res.offset := #t~ret30.base, #t~ret30.offset;havoc #t~ret30.base, #t~ret30.offset; {2306#(<= ~elem~0.offset 0)} is VALID [2020-07-08 12:24:16,458 INFO L280 TraceCheckUtils]: 29: Hoare triple {2306#(<= ~elem~0.offset 0)} assume true; {2306#(<= ~elem~0.offset 0)} is VALID [2020-07-08 12:24:16,458 INFO L275 TraceCheckUtils]: 30: Hoare quadruple {2306#(<= ~elem~0.offset 0)} {2302#(and (<= 1 main_~dev1~0.offset) (<= ~elem~0.offset 0))} #73#return; {2302#(and (<= 1 main_~dev1~0.offset) (<= ~elem~0.offset 0))} is VALID [2020-07-08 12:24:16,459 INFO L280 TraceCheckUtils]: 31: Hoare triple {2302#(and (<= 1 main_~dev1~0.offset) (<= ~elem~0.offset 0))} ~dev2~0.base, ~dev2~0.offset := #t~ret33.base, #t~ret33.offset;havoc #t~ret33.base, #t~ret33.offset; {2302#(and (<= 1 main_~dev1~0.offset) (<= ~elem~0.offset 0))} is VALID [2020-07-08 12:24:16,459 INFO L280 TraceCheckUtils]: 32: Hoare triple {2302#(and (<= 1 main_~dev1~0.offset) (<= ~elem~0.offset 0))} assume (~dev1~0.base != 0 || ~dev1~0.offset != 0) && (~dev2~0.base != 0 || ~dev2~0.offset != 0); {2302#(and (<= 1 main_~dev1~0.offset) (<= ~elem~0.offset 0))} is VALID [2020-07-08 12:24:16,460 INFO L263 TraceCheckUtils]: 33: Hoare triple {2302#(and (<= 1 main_~dev1~0.offset) (<= ~elem~0.offset 0))} call list_add(~dev2~0.base, ~dev2~0.offset, ~#head~0.base, ~#head~0.offset); {2349#(<= ~elem~0.offset |old(~elem~0.offset)|)} is VALID [2020-07-08 12:24:16,461 INFO L280 TraceCheckUtils]: 34: Hoare triple {2349#(<= ~elem~0.offset |old(~elem~0.offset)|)} ~new.base, ~new.offset := #in~new.base, #in~new.offset;~head.base, ~head.offset := #in~head.base, #in~head.offset; {2349#(<= ~elem~0.offset |old(~elem~0.offset)|)} is VALID [2020-07-08 12:24:16,461 INFO L280 TraceCheckUtils]: 35: Hoare triple {2349#(<= ~elem~0.offset |old(~elem~0.offset)|)} assume ~new.base != ~elem~0.base || ~new.offset != ~elem~0.offset; {2349#(<= ~elem~0.offset |old(~elem~0.offset)|)} is VALID [2020-07-08 12:24:16,462 INFO L280 TraceCheckUtils]: 36: Hoare triple {2349#(<= ~elem~0.offset |old(~elem~0.offset)|)} assume -2147483648 <= #t~nondet31 && #t~nondet31 <= 2147483647; {2349#(<= ~elem~0.offset |old(~elem~0.offset)|)} is VALID [2020-07-08 12:24:16,462 INFO L280 TraceCheckUtils]: 37: Hoare triple {2349#(<= ~elem~0.offset |old(~elem~0.offset)|)} assume !(0 != #t~nondet31);havoc #t~nondet31; {2349#(<= ~elem~0.offset |old(~elem~0.offset)|)} is VALID [2020-07-08 12:24:16,463 INFO L280 TraceCheckUtils]: 38: Hoare triple {2349#(<= ~elem~0.offset |old(~elem~0.offset)|)} assume true; {2349#(<= ~elem~0.offset |old(~elem~0.offset)|)} is VALID [2020-07-08 12:24:16,464 INFO L275 TraceCheckUtils]: 39: Hoare quadruple {2349#(<= ~elem~0.offset |old(~elem~0.offset)|)} {2302#(and (<= 1 main_~dev1~0.offset) (<= ~elem~0.offset 0))} #75#return; {2302#(and (<= 1 main_~dev1~0.offset) (<= ~elem~0.offset 0))} is VALID [2020-07-08 12:24:16,465 INFO L263 TraceCheckUtils]: 40: Hoare triple {2302#(and (<= 1 main_~dev1~0.offset) (<= ~elem~0.offset 0))} call list_add(~dev1~0.base, ~dev1~0.offset, ~#head~0.base, ~#head~0.offset); {2371#(and (<= 1 |list_add_#in~new.offset|) (<= ~elem~0.offset 0))} is VALID [2020-07-08 12:24:16,466 INFO L280 TraceCheckUtils]: 41: Hoare triple {2371#(and (<= 1 |list_add_#in~new.offset|) (<= ~elem~0.offset 0))} ~new.base, ~new.offset := #in~new.base, #in~new.offset;~head.base, ~head.offset := #in~head.base, #in~head.offset; {2375#(and (<= 1 list_add_~new.offset) (<= ~elem~0.offset 0))} is VALID [2020-07-08 12:24:16,467 INFO L280 TraceCheckUtils]: 42: Hoare triple {2375#(and (<= 1 list_add_~new.offset) (<= ~elem~0.offset 0))} assume !(~new.base != ~elem~0.base || ~new.offset != ~elem~0.offset); {2180#false} is VALID [2020-07-08 12:24:16,467 INFO L263 TraceCheckUtils]: 43: Hoare triple {2180#false} call __blast_assert(); {2180#false} is VALID [2020-07-08 12:24:16,467 INFO L280 TraceCheckUtils]: 44: Hoare triple {2180#false} assume !false; {2180#false} is VALID [2020-07-08 12:24:16,470 INFO L134 CoverageAnalysis]: Checked inductivity of 13 backedges. 0 proven. 13 refuted. 0 times theorem prover too weak. 0 trivial. 0 not checked. [2020-07-08 12:24:16,470 INFO L220 FreeRefinementEngine]: Constructing automaton from 0 perfect and 2 imperfect interpolant sequences. [2020-07-08 12:24:16,471 INFO L233 FreeRefinementEngine]: Number of different interpolants: perfect sequences [] imperfect sequences [16, 14] total 28 [2020-07-08 12:24:16,471 INFO L156 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [722580851] [2020-07-08 12:24:16,471 INFO L78 Accepts]: Start accepts. Automaton has 28 states. Word has length 45 [2020-07-08 12:24:16,472 INFO L84 Accepts]: Finished accepts. word is accepted. [2020-07-08 12:24:16,472 INFO L86 InductivityCheck]: Starting indutivity check of a Floyd-Hoare automaton with 28 states. [2020-07-08 12:24:16,588 INFO L119 InductivityCheck]: Floyd-Hoare automaton has 88 edges. 88 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2020-07-08 12:24:16,589 INFO L459 AbstractCegarLoop]: Interpolant automaton has 28 states [2020-07-08 12:24:16,589 INFO L143 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy CAMEL [2020-07-08 12:24:16,589 INFO L142 InterpolantAutomaton]: Constructing interpolant automaton starting with 28 interpolants. [2020-07-08 12:24:16,590 INFO L144 InterpolantAutomaton]: CoverageRelationStatistics Valid=95, Invalid=661, Unknown=0, NotChecked=0, Total=756 [2020-07-08 12:24:16,590 INFO L87 Difference]: Start difference. First operand 72 states and 85 transitions. Second operand 28 states. [2020-07-08 12:24:21,285 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2020-07-08 12:24:21,285 INFO L93 Difference]: Finished difference Result 90 states and 104 transitions. [2020-07-08 12:24:21,285 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 20 states. [2020-07-08 12:24:21,286 INFO L78 Accepts]: Start accepts. Automaton has 28 states. Word has length 45 [2020-07-08 12:24:21,286 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2020-07-08 12:24:21,286 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 28 states. [2020-07-08 12:24:21,289 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 20 states to 20 states and 94 transitions. [2020-07-08 12:24:21,289 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 28 states. [2020-07-08 12:24:21,293 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 20 states to 20 states and 94 transitions. [2020-07-08 12:24:21,293 INFO L86 InductivityCheck]: Starting indutivity check of a Floyd-Hoare automaton with 20 states and 94 transitions. [2020-07-08 12:24:21,491 INFO L119 InductivityCheck]: Floyd-Hoare automaton has 94 edges. 94 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2020-07-08 12:24:21,495 INFO L225 Difference]: With dead ends: 90 [2020-07-08 12:24:21,495 INFO L226 Difference]: Without dead ends: 74 [2020-07-08 12:24:21,497 INFO L675 BasicCegarLoop]: 0 DeclaredPredicates, 82 GetRequests, 43 SyntacticMatches, 0 SemanticMatches, 39 ConstructedPredicates, 0 IntricatePredicates, 0 DeprecatedPredicates, 225 ImplicationChecksByTransitivity, 1.2s TimeCoverageRelationStatistics Valid=271, Invalid=1369, Unknown=0, NotChecked=0, Total=1640 [2020-07-08 12:24:21,497 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 74 states. [2020-07-08 12:24:21,652 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 74 to 63. [2020-07-08 12:24:21,652 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2020-07-08 12:24:21,652 INFO L82 GeneralOperation]: Start isEquivalent. First operand 74 states. Second operand 63 states. [2020-07-08 12:24:21,653 INFO L74 IsIncluded]: Start isIncluded. First operand 74 states. Second operand 63 states. [2020-07-08 12:24:21,653 INFO L87 Difference]: Start difference. First operand 74 states. Second operand 63 states. [2020-07-08 12:24:21,657 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2020-07-08 12:24:21,657 INFO L93 Difference]: Finished difference Result 74 states and 84 transitions. [2020-07-08 12:24:21,658 INFO L276 IsEmpty]: Start isEmpty. Operand 74 states and 84 transitions. [2020-07-08 12:24:21,658 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2020-07-08 12:24:21,658 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2020-07-08 12:24:21,658 INFO L74 IsIncluded]: Start isIncluded. First operand 63 states. Second operand 74 states. [2020-07-08 12:24:21,659 INFO L87 Difference]: Start difference. First operand 63 states. Second operand 74 states. [2020-07-08 12:24:21,663 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2020-07-08 12:24:21,663 INFO L93 Difference]: Finished difference Result 74 states and 84 transitions. [2020-07-08 12:24:21,663 INFO L276 IsEmpty]: Start isEmpty. Operand 74 states and 84 transitions. [2020-07-08 12:24:21,664 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2020-07-08 12:24:21,664 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2020-07-08 12:24:21,664 INFO L88 GeneralOperation]: Finished isEquivalent. [2020-07-08 12:24:21,664 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2020-07-08 12:24:21,664 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 63 states. [2020-07-08 12:24:21,667 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 63 states to 63 states and 72 transitions. [2020-07-08 12:24:21,667 INFO L78 Accepts]: Start accepts. Automaton has 63 states and 72 transitions. Word has length 45 [2020-07-08 12:24:21,668 INFO L84 Accepts]: Finished accepts. word is rejected. [2020-07-08 12:24:21,668 INFO L479 AbstractCegarLoop]: Abstraction has 63 states and 72 transitions. [2020-07-08 12:24:21,668 INFO L480 AbstractCegarLoop]: Interpolant automaton has 28 states. [2020-07-08 12:24:21,668 INFO L276 IsEmpty]: Start isEmpty. Operand 63 states and 72 transitions. [2020-07-08 12:24:21,669 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 58 [2020-07-08 12:24:21,669 INFO L414 BasicCegarLoop]: Found error trace [2020-07-08 12:24:21,669 INFO L422 BasicCegarLoop]: trace histogram [3, 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] [2020-07-08 12:24:21,883 WARN L516 AbstractCegarLoop]: Destroyed unattended storables created during the last iteration: SelfDestructingSolverStorable5,5 z3 -smt2 -in SMTLIB2_COMPLIANT=true [2020-07-08 12:24:21,884 INFO L427 AbstractCegarLoop]: === Iteration 7 === [__blast_assertErr0ASSERT_VIOLATIONERROR_FUNCTION]=== [2020-07-08 12:24:21,885 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2020-07-08 12:24:21,885 INFO L82 PathProgramCache]: Analyzing trace with hash 1069126843, now seen corresponding path program 1 times [2020-07-08 12:24:21,885 INFO L163 FreeRefinementEngine]: Executing refinement strategy CAMEL [2020-07-08 12:24:21,886 INFO L354 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [972391581] [2020-07-08 12:24:21,886 INFO L94 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2020-07-08 12:24:21,910 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2020-07-08 12:24:22,074 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2020-07-08 12:24:22,082 INFO L280 TraceCheckUtils]: 0: Hoare triple {2823#(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;#valid := #valid[0 := 0];assume 0 < #StackHeapBarrier;~guard_malloc_counter~0.base, ~guard_malloc_counter~0.offset := 0, 0;~elem~0.base, ~elem~0.offset := 0, 0;call ~#head~0.base, ~#head~0.offset := #Ultimate.allocOnStack(8);call write~init~$Pointer$(0, 0, ~#head~0.base, ~#head~0.offset, 4);call write~init~$Pointer$(0, 0, ~#head~0.base, 4 + ~#head~0.offset, 4); {2773#true} is VALID [2020-07-08 12:24:22,082 INFO L280 TraceCheckUtils]: 1: Hoare triple {2773#true} assume true; {2773#true} is VALID [2020-07-08 12:24:22,083 INFO L275 TraceCheckUtils]: 2: Hoare quadruple {2773#true} {2773#true} #89#return; {2773#true} is VALID [2020-07-08 12:24:22,103 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2020-07-08 12:24:22,145 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2020-07-08 12:24:22,169 INFO L280 TraceCheckUtils]: 0: Hoare triple {2824#(and (= ~guard_malloc_counter~0.offset |old(~guard_malloc_counter~0.offset)|) (= ~guard_malloc_counter~0.base |old(~guard_malloc_counter~0.base)|))} ~size := #in~size; {2773#true} is VALID [2020-07-08 12:24:22,169 INFO L280 TraceCheckUtils]: 1: Hoare triple {2773#true} assume ~size > 0; {2773#true} is VALID [2020-07-08 12:24:22,170 INFO L280 TraceCheckUtils]: 2: Hoare triple {2773#true} #t~post28.base, #t~post28.offset := ~guard_malloc_counter~0.base, ~guard_malloc_counter~0.offset;~guard_malloc_counter~0.base, ~guard_malloc_counter~0.offset := #t~post28.base, 1 + #t~post28.offset;havoc #t~post28.base, #t~post28.offset;assume -2147483648 <= #t~nondet29 && #t~nondet29 <= 2147483647; {2773#true} is VALID [2020-07-08 12:24:22,170 INFO L280 TraceCheckUtils]: 3: Hoare triple {2773#true} assume !(0 == #t~nondet29);havoc #t~nondet29;#res.base, #res.offset := ~guard_malloc_counter~0.base, ~guard_malloc_counter~0.offset; {2833#(<= |__getMemory_#res.offset| ~guard_malloc_counter~0.offset)} is VALID [2020-07-08 12:24:22,171 INFO L280 TraceCheckUtils]: 4: Hoare triple {2833#(<= |__getMemory_#res.offset| ~guard_malloc_counter~0.offset)} assume true; {2833#(<= |__getMemory_#res.offset| ~guard_malloc_counter~0.offset)} is VALID [2020-07-08 12:24:22,171 INFO L275 TraceCheckUtils]: 5: Hoare quadruple {2833#(<= |__getMemory_#res.offset| ~guard_malloc_counter~0.offset)} {2773#true} #69#return; {2831#(<= |my_malloc_#t~ret30.offset| ~guard_malloc_counter~0.offset)} is VALID [2020-07-08 12:24:22,172 INFO L280 TraceCheckUtils]: 0: Hoare triple {2824#(and (= ~guard_malloc_counter~0.offset |old(~guard_malloc_counter~0.offset)|) (= ~guard_malloc_counter~0.base |old(~guard_malloc_counter~0.base)|))} ~size := #in~size; {2773#true} is VALID [2020-07-08 12:24:22,172 INFO L263 TraceCheckUtils]: 1: Hoare triple {2773#true} call #t~ret30.base, #t~ret30.offset := __getMemory(~size); {2824#(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-08 12:24:22,172 INFO L280 TraceCheckUtils]: 2: Hoare triple {2824#(and (= ~guard_malloc_counter~0.offset |old(~guard_malloc_counter~0.offset)|) (= ~guard_malloc_counter~0.base |old(~guard_malloc_counter~0.base)|))} ~size := #in~size; {2773#true} is VALID [2020-07-08 12:24:22,173 INFO L280 TraceCheckUtils]: 3: Hoare triple {2773#true} assume ~size > 0; {2773#true} is VALID [2020-07-08 12:24:22,173 INFO L280 TraceCheckUtils]: 4: Hoare triple {2773#true} #t~post28.base, #t~post28.offset := ~guard_malloc_counter~0.base, ~guard_malloc_counter~0.offset;~guard_malloc_counter~0.base, ~guard_malloc_counter~0.offset := #t~post28.base, 1 + #t~post28.offset;havoc #t~post28.base, #t~post28.offset;assume -2147483648 <= #t~nondet29 && #t~nondet29 <= 2147483647; {2773#true} is VALID [2020-07-08 12:24:22,174 INFO L280 TraceCheckUtils]: 5: Hoare triple {2773#true} assume !(0 == #t~nondet29);havoc #t~nondet29;#res.base, #res.offset := ~guard_malloc_counter~0.base, ~guard_malloc_counter~0.offset; {2833#(<= |__getMemory_#res.offset| ~guard_malloc_counter~0.offset)} is VALID [2020-07-08 12:24:22,174 INFO L280 TraceCheckUtils]: 6: Hoare triple {2833#(<= |__getMemory_#res.offset| ~guard_malloc_counter~0.offset)} assume true; {2833#(<= |__getMemory_#res.offset| ~guard_malloc_counter~0.offset)} is VALID [2020-07-08 12:24:22,175 INFO L275 TraceCheckUtils]: 7: Hoare quadruple {2833#(<= |__getMemory_#res.offset| ~guard_malloc_counter~0.offset)} {2773#true} #69#return; {2831#(<= |my_malloc_#t~ret30.offset| ~guard_malloc_counter~0.offset)} is VALID [2020-07-08 12:24:22,176 INFO L280 TraceCheckUtils]: 8: Hoare triple {2831#(<= |my_malloc_#t~ret30.offset| ~guard_malloc_counter~0.offset)} #res.base, #res.offset := #t~ret30.base, #t~ret30.offset;havoc #t~ret30.base, #t~ret30.offset; {2832#(<= |my_malloc_#res.offset| ~guard_malloc_counter~0.offset)} is VALID [2020-07-08 12:24:22,176 INFO L280 TraceCheckUtils]: 9: Hoare triple {2832#(<= |my_malloc_#res.offset| ~guard_malloc_counter~0.offset)} assume true; {2832#(<= |my_malloc_#res.offset| ~guard_malloc_counter~0.offset)} is VALID [2020-07-08 12:24:22,177 INFO L275 TraceCheckUtils]: 10: Hoare quadruple {2832#(<= |my_malloc_#res.offset| ~guard_malloc_counter~0.offset)} {2773#true} #71#return; {2789#(<= |main_#t~ret32.offset| ~guard_malloc_counter~0.offset)} is VALID [2020-07-08 12:24:22,184 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2020-07-08 12:24:22,267 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2020-07-08 12:24:22,323 INFO L280 TraceCheckUtils]: 0: Hoare triple {2824#(and (= ~guard_malloc_counter~0.offset |old(~guard_malloc_counter~0.offset)|) (= ~guard_malloc_counter~0.base |old(~guard_malloc_counter~0.base)|))} ~size := #in~size; {2834#(= ~guard_malloc_counter~0.offset |old(~guard_malloc_counter~0.offset)|)} is VALID [2020-07-08 12:24:22,324 INFO L280 TraceCheckUtils]: 1: Hoare triple {2834#(= ~guard_malloc_counter~0.offset |old(~guard_malloc_counter~0.offset)|)} assume ~size > 0; {2834#(= ~guard_malloc_counter~0.offset |old(~guard_malloc_counter~0.offset)|)} is VALID [2020-07-08 12:24:22,325 INFO L280 TraceCheckUtils]: 2: Hoare triple {2834#(= ~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;~guard_malloc_counter~0.base, ~guard_malloc_counter~0.offset := #t~post28.base, 1 + #t~post28.offset;havoc #t~post28.base, #t~post28.offset;assume -2147483648 <= #t~nondet29 && #t~nondet29 <= 2147483647; {2843#(<= (+ |old(~guard_malloc_counter~0.offset)| 1) ~guard_malloc_counter~0.offset)} is VALID [2020-07-08 12:24:22,325 INFO L280 TraceCheckUtils]: 3: Hoare triple {2843#(<= (+ |old(~guard_malloc_counter~0.offset)| 1) ~guard_malloc_counter~0.offset)} assume !(0 == #t~nondet29);havoc #t~nondet29;#res.base, #res.offset := ~guard_malloc_counter~0.base, ~guard_malloc_counter~0.offset; {2844#(<= (+ |old(~guard_malloc_counter~0.offset)| 1) |__getMemory_#res.offset|)} is VALID [2020-07-08 12:24:22,326 INFO L280 TraceCheckUtils]: 4: Hoare triple {2844#(<= (+ |old(~guard_malloc_counter~0.offset)| 1) |__getMemory_#res.offset|)} assume true; {2844#(<= (+ |old(~guard_malloc_counter~0.offset)| 1) |__getMemory_#res.offset|)} is VALID [2020-07-08 12:24:22,327 INFO L275 TraceCheckUtils]: 5: Hoare quadruple {2844#(<= (+ |old(~guard_malloc_counter~0.offset)| 1) |__getMemory_#res.offset|)} {2834#(= ~guard_malloc_counter~0.offset |old(~guard_malloc_counter~0.offset)|)} #69#return; {2841#(<= (+ |old(~guard_malloc_counter~0.offset)| 1) |my_malloc_#t~ret30.offset|)} is VALID [2020-07-08 12:24:22,327 INFO L280 TraceCheckUtils]: 0: Hoare triple {2824#(and (= ~guard_malloc_counter~0.offset |old(~guard_malloc_counter~0.offset)|) (= ~guard_malloc_counter~0.base |old(~guard_malloc_counter~0.base)|))} ~size := #in~size; {2834#(= ~guard_malloc_counter~0.offset |old(~guard_malloc_counter~0.offset)|)} is VALID [2020-07-08 12:24:22,328 INFO L263 TraceCheckUtils]: 1: Hoare triple {2834#(= ~guard_malloc_counter~0.offset |old(~guard_malloc_counter~0.offset)|)} call #t~ret30.base, #t~ret30.offset := __getMemory(~size); {2824#(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-08 12:24:22,328 INFO L280 TraceCheckUtils]: 2: Hoare triple {2824#(and (= ~guard_malloc_counter~0.offset |old(~guard_malloc_counter~0.offset)|) (= ~guard_malloc_counter~0.base |old(~guard_malloc_counter~0.base)|))} ~size := #in~size; {2834#(= ~guard_malloc_counter~0.offset |old(~guard_malloc_counter~0.offset)|)} is VALID [2020-07-08 12:24:22,329 INFO L280 TraceCheckUtils]: 3: Hoare triple {2834#(= ~guard_malloc_counter~0.offset |old(~guard_malloc_counter~0.offset)|)} assume ~size > 0; {2834#(= ~guard_malloc_counter~0.offset |old(~guard_malloc_counter~0.offset)|)} is VALID [2020-07-08 12:24:22,329 INFO L280 TraceCheckUtils]: 4: Hoare triple {2834#(= ~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;~guard_malloc_counter~0.base, ~guard_malloc_counter~0.offset := #t~post28.base, 1 + #t~post28.offset;havoc #t~post28.base, #t~post28.offset;assume -2147483648 <= #t~nondet29 && #t~nondet29 <= 2147483647; {2843#(<= (+ |old(~guard_malloc_counter~0.offset)| 1) ~guard_malloc_counter~0.offset)} is VALID [2020-07-08 12:24:22,330 INFO L280 TraceCheckUtils]: 5: Hoare triple {2843#(<= (+ |old(~guard_malloc_counter~0.offset)| 1) ~guard_malloc_counter~0.offset)} assume !(0 == #t~nondet29);havoc #t~nondet29;#res.base, #res.offset := ~guard_malloc_counter~0.base, ~guard_malloc_counter~0.offset; {2844#(<= (+ |old(~guard_malloc_counter~0.offset)| 1) |__getMemory_#res.offset|)} is VALID [2020-07-08 12:24:22,330 INFO L280 TraceCheckUtils]: 6: Hoare triple {2844#(<= (+ |old(~guard_malloc_counter~0.offset)| 1) |__getMemory_#res.offset|)} assume true; {2844#(<= (+ |old(~guard_malloc_counter~0.offset)| 1) |__getMemory_#res.offset|)} is VALID [2020-07-08 12:24:22,331 INFO L275 TraceCheckUtils]: 7: Hoare quadruple {2844#(<= (+ |old(~guard_malloc_counter~0.offset)| 1) |__getMemory_#res.offset|)} {2834#(= ~guard_malloc_counter~0.offset |old(~guard_malloc_counter~0.offset)|)} #69#return; {2841#(<= (+ |old(~guard_malloc_counter~0.offset)| 1) |my_malloc_#t~ret30.offset|)} is VALID [2020-07-08 12:24:22,331 INFO L280 TraceCheckUtils]: 8: Hoare triple {2841#(<= (+ |old(~guard_malloc_counter~0.offset)| 1) |my_malloc_#t~ret30.offset|)} #res.base, #res.offset := #t~ret30.base, #t~ret30.offset;havoc #t~ret30.base, #t~ret30.offset; {2842#(<= (+ |old(~guard_malloc_counter~0.offset)| 1) |my_malloc_#res.offset|)} is VALID [2020-07-08 12:24:22,332 INFO L280 TraceCheckUtils]: 9: Hoare triple {2842#(<= (+ |old(~guard_malloc_counter~0.offset)| 1) |my_malloc_#res.offset|)} assume true; {2842#(<= (+ |old(~guard_malloc_counter~0.offset)| 1) |my_malloc_#res.offset|)} is VALID [2020-07-08 12:24:22,333 INFO L275 TraceCheckUtils]: 10: Hoare quadruple {2842#(<= (+ |old(~guard_malloc_counter~0.offset)| 1) |my_malloc_#res.offset|)} {2790#(<= main_~dev1~0.offset ~guard_malloc_counter~0.offset)} #73#return; {2802#(<= (+ main_~dev1~0.offset 1) |main_#t~ret33.offset|)} is VALID [2020-07-08 12:24:22,360 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2020-07-08 12:24:22,366 INFO L280 TraceCheckUtils]: 0: Hoare triple {2845#(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;~head.base, ~head.offset := #in~head.base, #in~head.offset; {2773#true} is VALID [2020-07-08 12:24:22,366 INFO L280 TraceCheckUtils]: 1: Hoare triple {2773#true} assume ~new.base != ~elem~0.base || ~new.offset != ~elem~0.offset; {2773#true} is VALID [2020-07-08 12:24:22,366 INFO L280 TraceCheckUtils]: 2: Hoare triple {2773#true} assume -2147483648 <= #t~nondet31 && #t~nondet31 <= 2147483647; {2773#true} is VALID [2020-07-08 12:24:22,366 INFO L280 TraceCheckUtils]: 3: Hoare triple {2773#true} assume 0 != #t~nondet31;havoc #t~nondet31;~elem~0.base, ~elem~0.offset := ~new.base, ~new.offset; {2773#true} is VALID [2020-07-08 12:24:22,367 INFO L280 TraceCheckUtils]: 4: Hoare triple {2773#true} assume true; {2773#true} is VALID [2020-07-08 12:24:22,367 INFO L275 TraceCheckUtils]: 5: Hoare quadruple {2773#true} {2803#(<= (+ main_~dev1~0.offset 1) main_~dev2~0.offset)} #75#return; {2803#(<= (+ main_~dev1~0.offset 1) main_~dev2~0.offset)} is VALID [2020-07-08 12:24:22,370 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2020-07-08 12:24:22,427 INFO L280 TraceCheckUtils]: 0: Hoare triple {2845#(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;~head.base, ~head.offset := #in~head.base, #in~head.offset; {2846#(= |list_add_#in~new.offset| list_add_~new.offset)} is VALID [2020-07-08 12:24:22,428 INFO L280 TraceCheckUtils]: 1: Hoare triple {2846#(= |list_add_#in~new.offset| list_add_~new.offset)} assume ~new.base != ~elem~0.base || ~new.offset != ~elem~0.offset; {2846#(= |list_add_#in~new.offset| list_add_~new.offset)} is VALID [2020-07-08 12:24:22,429 INFO L280 TraceCheckUtils]: 2: Hoare triple {2846#(= |list_add_#in~new.offset| list_add_~new.offset)} assume -2147483648 <= #t~nondet31 && #t~nondet31 <= 2147483647; {2846#(= |list_add_#in~new.offset| list_add_~new.offset)} is VALID [2020-07-08 12:24:22,430 INFO L280 TraceCheckUtils]: 3: Hoare triple {2846#(= |list_add_#in~new.offset| list_add_~new.offset)} assume 0 != #t~nondet31;havoc #t~nondet31;~elem~0.base, ~elem~0.offset := ~new.base, ~new.offset; {2847#(= ~elem~0.offset |list_add_#in~new.offset|)} is VALID [2020-07-08 12:24:22,431 INFO L280 TraceCheckUtils]: 4: Hoare triple {2847#(= ~elem~0.offset |list_add_#in~new.offset|)} assume true; {2847#(= ~elem~0.offset |list_add_#in~new.offset|)} is VALID [2020-07-08 12:24:22,432 INFO L275 TraceCheckUtils]: 5: Hoare quadruple {2847#(= ~elem~0.offset |list_add_#in~new.offset|)} {2803#(<= (+ main_~dev1~0.offset 1) main_~dev2~0.offset)} #77#return; {2816#(<= (+ ~elem~0.offset 1) main_~dev2~0.offset)} is VALID [2020-07-08 12:24:22,434 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2020-07-08 12:24:22,474 INFO L280 TraceCheckUtils]: 0: Hoare triple {2845#(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; {2848#(= |old(~elem~0.offset)| ~elem~0.offset)} is VALID [2020-07-08 12:24:22,474 INFO L280 TraceCheckUtils]: 1: Hoare triple {2848#(= |old(~elem~0.offset)| ~elem~0.offset)} assume !(~entry.base == ~elem~0.base && ~entry.offset == ~elem~0.offset); {2848#(= |old(~elem~0.offset)| ~elem~0.offset)} is VALID [2020-07-08 12:24:22,475 INFO L280 TraceCheckUtils]: 2: Hoare triple {2848#(= |old(~elem~0.offset)| ~elem~0.offset)} assume true; {2848#(= |old(~elem~0.offset)| ~elem~0.offset)} is VALID [2020-07-08 12:24:22,475 INFO L275 TraceCheckUtils]: 3: Hoare quadruple {2848#(= |old(~elem~0.offset)| ~elem~0.offset)} {2816#(<= (+ ~elem~0.offset 1) main_~dev2~0.offset)} #79#return; {2816#(<= (+ ~elem~0.offset 1) main_~dev2~0.offset)} is VALID [2020-07-08 12:24:22,477 INFO L263 TraceCheckUtils]: 0: Hoare triple {2773#true} call ULTIMATE.init(); {2823#(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-08 12:24:22,477 INFO L280 TraceCheckUtils]: 1: Hoare triple {2823#(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;#valid := #valid[0 := 0];assume 0 < #StackHeapBarrier;~guard_malloc_counter~0.base, ~guard_malloc_counter~0.offset := 0, 0;~elem~0.base, ~elem~0.offset := 0, 0;call ~#head~0.base, ~#head~0.offset := #Ultimate.allocOnStack(8);call write~init~$Pointer$(0, 0, ~#head~0.base, ~#head~0.offset, 4);call write~init~$Pointer$(0, 0, ~#head~0.base, 4 + ~#head~0.offset, 4); {2773#true} is VALID [2020-07-08 12:24:22,477 INFO L280 TraceCheckUtils]: 2: Hoare triple {2773#true} assume true; {2773#true} is VALID [2020-07-08 12:24:22,478 INFO L275 TraceCheckUtils]: 3: Hoare quadruple {2773#true} {2773#true} #89#return; {2773#true} is VALID [2020-07-08 12:24:22,478 INFO L263 TraceCheckUtils]: 4: Hoare triple {2773#true} call #t~ret34 := main(); {2773#true} is VALID [2020-07-08 12:24:22,478 INFO L280 TraceCheckUtils]: 5: Hoare triple {2773#true} havoc ~dev1~0.base, ~dev1~0.offset;havoc ~dev2~0.base, ~dev2~0.offset; {2773#true} is VALID [2020-07-08 12:24:22,479 INFO L263 TraceCheckUtils]: 6: Hoare triple {2773#true} call #t~ret32.base, #t~ret32.offset := my_malloc(8); {2824#(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-08 12:24:22,479 INFO L280 TraceCheckUtils]: 7: Hoare triple {2824#(and (= ~guard_malloc_counter~0.offset |old(~guard_malloc_counter~0.offset)|) (= ~guard_malloc_counter~0.base |old(~guard_malloc_counter~0.base)|))} ~size := #in~size; {2773#true} is VALID [2020-07-08 12:24:22,480 INFO L263 TraceCheckUtils]: 8: Hoare triple {2773#true} call #t~ret30.base, #t~ret30.offset := __getMemory(~size); {2824#(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-08 12:24:22,480 INFO L280 TraceCheckUtils]: 9: Hoare triple {2824#(and (= ~guard_malloc_counter~0.offset |old(~guard_malloc_counter~0.offset)|) (= ~guard_malloc_counter~0.base |old(~guard_malloc_counter~0.base)|))} ~size := #in~size; {2773#true} is VALID [2020-07-08 12:24:22,480 INFO L280 TraceCheckUtils]: 10: Hoare triple {2773#true} assume ~size > 0; {2773#true} is VALID [2020-07-08 12:24:22,480 INFO L280 TraceCheckUtils]: 11: Hoare triple {2773#true} #t~post28.base, #t~post28.offset := ~guard_malloc_counter~0.base, ~guard_malloc_counter~0.offset;~guard_malloc_counter~0.base, ~guard_malloc_counter~0.offset := #t~post28.base, 1 + #t~post28.offset;havoc #t~post28.base, #t~post28.offset;assume -2147483648 <= #t~nondet29 && #t~nondet29 <= 2147483647; {2773#true} is VALID [2020-07-08 12:24:22,481 INFO L280 TraceCheckUtils]: 12: Hoare triple {2773#true} assume !(0 == #t~nondet29);havoc #t~nondet29;#res.base, #res.offset := ~guard_malloc_counter~0.base, ~guard_malloc_counter~0.offset; {2833#(<= |__getMemory_#res.offset| ~guard_malloc_counter~0.offset)} is VALID [2020-07-08 12:24:22,481 INFO L280 TraceCheckUtils]: 13: Hoare triple {2833#(<= |__getMemory_#res.offset| ~guard_malloc_counter~0.offset)} assume true; {2833#(<= |__getMemory_#res.offset| ~guard_malloc_counter~0.offset)} is VALID [2020-07-08 12:24:22,483 INFO L275 TraceCheckUtils]: 14: Hoare quadruple {2833#(<= |__getMemory_#res.offset| ~guard_malloc_counter~0.offset)} {2773#true} #69#return; {2831#(<= |my_malloc_#t~ret30.offset| ~guard_malloc_counter~0.offset)} is VALID [2020-07-08 12:24:22,483 INFO L280 TraceCheckUtils]: 15: Hoare triple {2831#(<= |my_malloc_#t~ret30.offset| ~guard_malloc_counter~0.offset)} #res.base, #res.offset := #t~ret30.base, #t~ret30.offset;havoc #t~ret30.base, #t~ret30.offset; {2832#(<= |my_malloc_#res.offset| ~guard_malloc_counter~0.offset)} is VALID [2020-07-08 12:24:22,486 INFO L280 TraceCheckUtils]: 16: Hoare triple {2832#(<= |my_malloc_#res.offset| ~guard_malloc_counter~0.offset)} assume true; {2832#(<= |my_malloc_#res.offset| ~guard_malloc_counter~0.offset)} is VALID [2020-07-08 12:24:22,489 INFO L275 TraceCheckUtils]: 17: Hoare quadruple {2832#(<= |my_malloc_#res.offset| ~guard_malloc_counter~0.offset)} {2773#true} #71#return; {2789#(<= |main_#t~ret32.offset| ~guard_malloc_counter~0.offset)} is VALID [2020-07-08 12:24:22,490 INFO L280 TraceCheckUtils]: 18: Hoare triple {2789#(<= |main_#t~ret32.offset| ~guard_malloc_counter~0.offset)} ~dev1~0.base, ~dev1~0.offset := #t~ret32.base, #t~ret32.offset;havoc #t~ret32.base, #t~ret32.offset; {2790#(<= main_~dev1~0.offset ~guard_malloc_counter~0.offset)} is VALID [2020-07-08 12:24:22,491 INFO L263 TraceCheckUtils]: 19: Hoare triple {2790#(<= main_~dev1~0.offset ~guard_malloc_counter~0.offset)} call #t~ret33.base, #t~ret33.offset := my_malloc(8); {2824#(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-08 12:24:22,494 INFO L280 TraceCheckUtils]: 20: Hoare triple {2824#(and (= ~guard_malloc_counter~0.offset |old(~guard_malloc_counter~0.offset)|) (= ~guard_malloc_counter~0.base |old(~guard_malloc_counter~0.base)|))} ~size := #in~size; {2834#(= ~guard_malloc_counter~0.offset |old(~guard_malloc_counter~0.offset)|)} is VALID [2020-07-08 12:24:22,496 INFO L263 TraceCheckUtils]: 21: Hoare triple {2834#(= ~guard_malloc_counter~0.offset |old(~guard_malloc_counter~0.offset)|)} call #t~ret30.base, #t~ret30.offset := __getMemory(~size); {2824#(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-08 12:24:22,496 INFO L280 TraceCheckUtils]: 22: Hoare triple {2824#(and (= ~guard_malloc_counter~0.offset |old(~guard_malloc_counter~0.offset)|) (= ~guard_malloc_counter~0.base |old(~guard_malloc_counter~0.base)|))} ~size := #in~size; {2834#(= ~guard_malloc_counter~0.offset |old(~guard_malloc_counter~0.offset)|)} is VALID [2020-07-08 12:24:22,497 INFO L280 TraceCheckUtils]: 23: Hoare triple {2834#(= ~guard_malloc_counter~0.offset |old(~guard_malloc_counter~0.offset)|)} assume ~size > 0; {2834#(= ~guard_malloc_counter~0.offset |old(~guard_malloc_counter~0.offset)|)} is VALID [2020-07-08 12:24:22,497 INFO L280 TraceCheckUtils]: 24: Hoare triple {2834#(= ~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;~guard_malloc_counter~0.base, ~guard_malloc_counter~0.offset := #t~post28.base, 1 + #t~post28.offset;havoc #t~post28.base, #t~post28.offset;assume -2147483648 <= #t~nondet29 && #t~nondet29 <= 2147483647; {2843#(<= (+ |old(~guard_malloc_counter~0.offset)| 1) ~guard_malloc_counter~0.offset)} is VALID [2020-07-08 12:24:22,498 INFO L280 TraceCheckUtils]: 25: Hoare triple {2843#(<= (+ |old(~guard_malloc_counter~0.offset)| 1) ~guard_malloc_counter~0.offset)} assume !(0 == #t~nondet29);havoc #t~nondet29;#res.base, #res.offset := ~guard_malloc_counter~0.base, ~guard_malloc_counter~0.offset; {2844#(<= (+ |old(~guard_malloc_counter~0.offset)| 1) |__getMemory_#res.offset|)} is VALID [2020-07-08 12:24:22,501 INFO L280 TraceCheckUtils]: 26: Hoare triple {2844#(<= (+ |old(~guard_malloc_counter~0.offset)| 1) |__getMemory_#res.offset|)} assume true; {2844#(<= (+ |old(~guard_malloc_counter~0.offset)| 1) |__getMemory_#res.offset|)} is VALID [2020-07-08 12:24:22,502 INFO L275 TraceCheckUtils]: 27: Hoare quadruple {2844#(<= (+ |old(~guard_malloc_counter~0.offset)| 1) |__getMemory_#res.offset|)} {2834#(= ~guard_malloc_counter~0.offset |old(~guard_malloc_counter~0.offset)|)} #69#return; {2841#(<= (+ |old(~guard_malloc_counter~0.offset)| 1) |my_malloc_#t~ret30.offset|)} is VALID [2020-07-08 12:24:22,505 INFO L280 TraceCheckUtils]: 28: Hoare triple {2841#(<= (+ |old(~guard_malloc_counter~0.offset)| 1) |my_malloc_#t~ret30.offset|)} #res.base, #res.offset := #t~ret30.base, #t~ret30.offset;havoc #t~ret30.base, #t~ret30.offset; {2842#(<= (+ |old(~guard_malloc_counter~0.offset)| 1) |my_malloc_#res.offset|)} is VALID [2020-07-08 12:24:22,508 INFO L280 TraceCheckUtils]: 29: Hoare triple {2842#(<= (+ |old(~guard_malloc_counter~0.offset)| 1) |my_malloc_#res.offset|)} assume true; {2842#(<= (+ |old(~guard_malloc_counter~0.offset)| 1) |my_malloc_#res.offset|)} is VALID [2020-07-08 12:24:22,509 INFO L275 TraceCheckUtils]: 30: Hoare quadruple {2842#(<= (+ |old(~guard_malloc_counter~0.offset)| 1) |my_malloc_#res.offset|)} {2790#(<= main_~dev1~0.offset ~guard_malloc_counter~0.offset)} #73#return; {2802#(<= (+ main_~dev1~0.offset 1) |main_#t~ret33.offset|)} is VALID [2020-07-08 12:24:22,510 INFO L280 TraceCheckUtils]: 31: Hoare triple {2802#(<= (+ main_~dev1~0.offset 1) |main_#t~ret33.offset|)} ~dev2~0.base, ~dev2~0.offset := #t~ret33.base, #t~ret33.offset;havoc #t~ret33.base, #t~ret33.offset; {2803#(<= (+ main_~dev1~0.offset 1) main_~dev2~0.offset)} is VALID [2020-07-08 12:24:22,511 INFO L280 TraceCheckUtils]: 32: Hoare triple {2803#(<= (+ 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); {2803#(<= (+ main_~dev1~0.offset 1) main_~dev2~0.offset)} is VALID [2020-07-08 12:24:22,512 INFO L263 TraceCheckUtils]: 33: Hoare triple {2803#(<= (+ main_~dev1~0.offset 1) main_~dev2~0.offset)} call list_add(~dev2~0.base, ~dev2~0.offset, ~#head~0.base, ~#head~0.offset); {2845#(and (= ~elem~0.base |old(~elem~0.base)|) (= ~elem~0.offset |old(~elem~0.offset)|))} is VALID [2020-07-08 12:24:22,513 INFO L280 TraceCheckUtils]: 34: Hoare triple {2845#(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;~head.base, ~head.offset := #in~head.base, #in~head.offset; {2773#true} is VALID [2020-07-08 12:24:22,513 INFO L280 TraceCheckUtils]: 35: Hoare triple {2773#true} assume ~new.base != ~elem~0.base || ~new.offset != ~elem~0.offset; {2773#true} is VALID [2020-07-08 12:24:22,513 INFO L280 TraceCheckUtils]: 36: Hoare triple {2773#true} assume -2147483648 <= #t~nondet31 && #t~nondet31 <= 2147483647; {2773#true} is VALID [2020-07-08 12:24:22,513 INFO L280 TraceCheckUtils]: 37: Hoare triple {2773#true} assume 0 != #t~nondet31;havoc #t~nondet31;~elem~0.base, ~elem~0.offset := ~new.base, ~new.offset; {2773#true} is VALID [2020-07-08 12:24:22,513 INFO L280 TraceCheckUtils]: 38: Hoare triple {2773#true} assume true; {2773#true} is VALID [2020-07-08 12:24:22,515 INFO L275 TraceCheckUtils]: 39: Hoare quadruple {2773#true} {2803#(<= (+ main_~dev1~0.offset 1) main_~dev2~0.offset)} #75#return; {2803#(<= (+ main_~dev1~0.offset 1) main_~dev2~0.offset)} is VALID [2020-07-08 12:24:22,516 INFO L263 TraceCheckUtils]: 40: Hoare triple {2803#(<= (+ main_~dev1~0.offset 1) main_~dev2~0.offset)} call list_add(~dev1~0.base, ~dev1~0.offset, ~#head~0.base, ~#head~0.offset); {2845#(and (= ~elem~0.base |old(~elem~0.base)|) (= ~elem~0.offset |old(~elem~0.offset)|))} is VALID [2020-07-08 12:24:22,517 INFO L280 TraceCheckUtils]: 41: Hoare triple {2845#(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;~head.base, ~head.offset := #in~head.base, #in~head.offset; {2846#(= |list_add_#in~new.offset| list_add_~new.offset)} is VALID [2020-07-08 12:24:22,518 INFO L280 TraceCheckUtils]: 42: Hoare triple {2846#(= |list_add_#in~new.offset| list_add_~new.offset)} assume ~new.base != ~elem~0.base || ~new.offset != ~elem~0.offset; {2846#(= |list_add_#in~new.offset| list_add_~new.offset)} is VALID [2020-07-08 12:24:22,518 INFO L280 TraceCheckUtils]: 43: Hoare triple {2846#(= |list_add_#in~new.offset| list_add_~new.offset)} assume -2147483648 <= #t~nondet31 && #t~nondet31 <= 2147483647; {2846#(= |list_add_#in~new.offset| list_add_~new.offset)} is VALID [2020-07-08 12:24:22,519 INFO L280 TraceCheckUtils]: 44: Hoare triple {2846#(= |list_add_#in~new.offset| list_add_~new.offset)} assume 0 != #t~nondet31;havoc #t~nondet31;~elem~0.base, ~elem~0.offset := ~new.base, ~new.offset; {2847#(= ~elem~0.offset |list_add_#in~new.offset|)} is VALID [2020-07-08 12:24:22,520 INFO L280 TraceCheckUtils]: 45: Hoare triple {2847#(= ~elem~0.offset |list_add_#in~new.offset|)} assume true; {2847#(= ~elem~0.offset |list_add_#in~new.offset|)} is VALID [2020-07-08 12:24:22,521 INFO L275 TraceCheckUtils]: 46: Hoare quadruple {2847#(= ~elem~0.offset |list_add_#in~new.offset|)} {2803#(<= (+ main_~dev1~0.offset 1) main_~dev2~0.offset)} #77#return; {2816#(<= (+ ~elem~0.offset 1) main_~dev2~0.offset)} is VALID [2020-07-08 12:24:22,522 INFO L263 TraceCheckUtils]: 47: Hoare triple {2816#(<= (+ ~elem~0.offset 1) main_~dev2~0.offset)} call list_del(~dev2~0.base, ~dev2~0.offset); {2845#(and (= ~elem~0.base |old(~elem~0.base)|) (= ~elem~0.offset |old(~elem~0.offset)|))} is VALID [2020-07-08 12:24:22,522 INFO L280 TraceCheckUtils]: 48: Hoare triple {2845#(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; {2848#(= |old(~elem~0.offset)| ~elem~0.offset)} is VALID [2020-07-08 12:24:22,523 INFO L280 TraceCheckUtils]: 49: Hoare triple {2848#(= |old(~elem~0.offset)| ~elem~0.offset)} assume !(~entry.base == ~elem~0.base && ~entry.offset == ~elem~0.offset); {2848#(= |old(~elem~0.offset)| ~elem~0.offset)} is VALID [2020-07-08 12:24:22,523 INFO L280 TraceCheckUtils]: 50: Hoare triple {2848#(= |old(~elem~0.offset)| ~elem~0.offset)} assume true; {2848#(= |old(~elem~0.offset)| ~elem~0.offset)} is VALID [2020-07-08 12:24:22,524 INFO L275 TraceCheckUtils]: 51: Hoare quadruple {2848#(= |old(~elem~0.offset)| ~elem~0.offset)} {2816#(<= (+ ~elem~0.offset 1) main_~dev2~0.offset)} #79#return; {2816#(<= (+ ~elem~0.offset 1) main_~dev2~0.offset)} is VALID [2020-07-08 12:24:22,526 INFO L263 TraceCheckUtils]: 52: Hoare triple {2816#(<= (+ ~elem~0.offset 1) main_~dev2~0.offset)} call list_add(~dev2~0.base, ~dev2~0.offset, ~#head~0.base, ~#head~0.offset); {2821#(<= (+ ~elem~0.offset 1) |list_add_#in~new.offset|)} is VALID [2020-07-08 12:24:22,527 INFO L280 TraceCheckUtils]: 53: Hoare triple {2821#(<= (+ ~elem~0.offset 1) |list_add_#in~new.offset|)} ~new.base, ~new.offset := #in~new.base, #in~new.offset;~head.base, ~head.offset := #in~head.base, #in~head.offset; {2822#(not (= ~elem~0.offset list_add_~new.offset))} is VALID [2020-07-08 12:24:22,527 INFO L280 TraceCheckUtils]: 54: Hoare triple {2822#(not (= ~elem~0.offset list_add_~new.offset))} assume !(~new.base != ~elem~0.base || ~new.offset != ~elem~0.offset); {2774#false} is VALID [2020-07-08 12:24:22,528 INFO L263 TraceCheckUtils]: 55: Hoare triple {2774#false} call __blast_assert(); {2774#false} is VALID [2020-07-08 12:24:22,528 INFO L280 TraceCheckUtils]: 56: Hoare triple {2774#false} assume !false; {2774#false} is VALID [2020-07-08 12:24:22,532 INFO L134 CoverageAnalysis]: Checked inductivity of 21 backedges. 10 proven. 8 refuted. 0 times theorem prover too weak. 3 trivial. 0 not checked. [2020-07-08 12:24:22,532 INFO L354 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleSmtInterpolCraig [972391581] [2020-07-08 12:24:22,532 INFO L354 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleZ3 [1256824502] [2020-07-08 12:24:22,532 INFO L94 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 Starting monitored process 6 with z3 -smt2 -in SMTLIB2_COMPLIANT=true (exit command is (exit), workingDir is null) Waiting until toolchain timeout for monitored process 6 with z3 -smt2 -in SMTLIB2_COMPLIANT=true [2020-07-08 12:24:22,655 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2020-07-08 12:24:22,657 INFO L264 TraceCheckSpWp]: Trace formula consists of 317 conjuncts, 25 conjunts are in the unsatisfiable core [2020-07-08 12:24:22,698 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2020-07-08 12:24:22,702 INFO L287 TraceCheckSpWp]: Computing forward predicates... [2020-07-08 12:24:23,210 INFO L263 TraceCheckUtils]: 0: Hoare triple {2773#true} call ULTIMATE.init(); {2773#true} is VALID [2020-07-08 12:24:23,210 INFO L280 TraceCheckUtils]: 1: Hoare triple {2773#true} #NULL.base, #NULL.offset := 0, 0;#valid := #valid[0 := 0];assume 0 < #StackHeapBarrier;~guard_malloc_counter~0.base, ~guard_malloc_counter~0.offset := 0, 0;~elem~0.base, ~elem~0.offset := 0, 0;call ~#head~0.base, ~#head~0.offset := #Ultimate.allocOnStack(8);call write~init~$Pointer$(0, 0, ~#head~0.base, ~#head~0.offset, 4);call write~init~$Pointer$(0, 0, ~#head~0.base, 4 + ~#head~0.offset, 4); {2773#true} is VALID [2020-07-08 12:24:23,210 INFO L280 TraceCheckUtils]: 2: Hoare triple {2773#true} assume true; {2773#true} is VALID [2020-07-08 12:24:23,211 INFO L275 TraceCheckUtils]: 3: Hoare quadruple {2773#true} {2773#true} #89#return; {2773#true} is VALID [2020-07-08 12:24:23,211 INFO L263 TraceCheckUtils]: 4: Hoare triple {2773#true} call #t~ret34 := main(); {2773#true} is VALID [2020-07-08 12:24:23,211 INFO L280 TraceCheckUtils]: 5: Hoare triple {2773#true} havoc ~dev1~0.base, ~dev1~0.offset;havoc ~dev2~0.base, ~dev2~0.offset; {2773#true} is VALID [2020-07-08 12:24:23,211 INFO L263 TraceCheckUtils]: 6: Hoare triple {2773#true} call #t~ret32.base, #t~ret32.offset := my_malloc(8); {2773#true} is VALID [2020-07-08 12:24:23,211 INFO L280 TraceCheckUtils]: 7: Hoare triple {2773#true} ~size := #in~size; {2773#true} is VALID [2020-07-08 12:24:23,212 INFO L263 TraceCheckUtils]: 8: Hoare triple {2773#true} call #t~ret30.base, #t~ret30.offset := __getMemory(~size); {2773#true} is VALID [2020-07-08 12:24:23,212 INFO L280 TraceCheckUtils]: 9: Hoare triple {2773#true} ~size := #in~size; {2773#true} is VALID [2020-07-08 12:24:23,212 INFO L280 TraceCheckUtils]: 10: Hoare triple {2773#true} assume ~size > 0; {2773#true} is VALID [2020-07-08 12:24:23,212 INFO L280 TraceCheckUtils]: 11: Hoare triple {2773#true} #t~post28.base, #t~post28.offset := ~guard_malloc_counter~0.base, ~guard_malloc_counter~0.offset;~guard_malloc_counter~0.base, ~guard_malloc_counter~0.offset := #t~post28.base, 1 + #t~post28.offset;havoc #t~post28.base, #t~post28.offset;assume -2147483648 <= #t~nondet29 && #t~nondet29 <= 2147483647; {2773#true} is VALID [2020-07-08 12:24:23,213 INFO L280 TraceCheckUtils]: 12: Hoare triple {2773#true} assume !(0 == #t~nondet29);havoc #t~nondet29;#res.base, #res.offset := ~guard_malloc_counter~0.base, ~guard_malloc_counter~0.offset; {2833#(<= |__getMemory_#res.offset| ~guard_malloc_counter~0.offset)} is VALID [2020-07-08 12:24:23,214 INFO L280 TraceCheckUtils]: 13: Hoare triple {2833#(<= |__getMemory_#res.offset| ~guard_malloc_counter~0.offset)} assume true; {2833#(<= |__getMemory_#res.offset| ~guard_malloc_counter~0.offset)} is VALID [2020-07-08 12:24:23,215 INFO L275 TraceCheckUtils]: 14: Hoare quadruple {2833#(<= |__getMemory_#res.offset| ~guard_malloc_counter~0.offset)} {2773#true} #69#return; {2831#(<= |my_malloc_#t~ret30.offset| ~guard_malloc_counter~0.offset)} is VALID [2020-07-08 12:24:23,215 INFO L280 TraceCheckUtils]: 15: Hoare triple {2831#(<= |my_malloc_#t~ret30.offset| ~guard_malloc_counter~0.offset)} #res.base, #res.offset := #t~ret30.base, #t~ret30.offset;havoc #t~ret30.base, #t~ret30.offset; {2832#(<= |my_malloc_#res.offset| ~guard_malloc_counter~0.offset)} is VALID [2020-07-08 12:24:23,216 INFO L280 TraceCheckUtils]: 16: Hoare triple {2832#(<= |my_malloc_#res.offset| ~guard_malloc_counter~0.offset)} assume true; {2832#(<= |my_malloc_#res.offset| ~guard_malloc_counter~0.offset)} is VALID [2020-07-08 12:24:23,216 INFO L275 TraceCheckUtils]: 17: Hoare quadruple {2832#(<= |my_malloc_#res.offset| ~guard_malloc_counter~0.offset)} {2773#true} #71#return; {2789#(<= |main_#t~ret32.offset| ~guard_malloc_counter~0.offset)} is VALID [2020-07-08 12:24:23,217 INFO L280 TraceCheckUtils]: 18: Hoare triple {2789#(<= |main_#t~ret32.offset| ~guard_malloc_counter~0.offset)} ~dev1~0.base, ~dev1~0.offset := #t~ret32.base, #t~ret32.offset;havoc #t~ret32.base, #t~ret32.offset; {2790#(<= main_~dev1~0.offset ~guard_malloc_counter~0.offset)} is VALID [2020-07-08 12:24:23,217 INFO L263 TraceCheckUtils]: 19: Hoare triple {2790#(<= main_~dev1~0.offset ~guard_malloc_counter~0.offset)} call #t~ret33.base, #t~ret33.offset := my_malloc(8); {2909#(<= |old(~guard_malloc_counter~0.offset)| ~guard_malloc_counter~0.offset)} is VALID [2020-07-08 12:24:23,218 INFO L280 TraceCheckUtils]: 20: Hoare triple {2909#(<= |old(~guard_malloc_counter~0.offset)| ~guard_malloc_counter~0.offset)} ~size := #in~size; {2909#(<= |old(~guard_malloc_counter~0.offset)| ~guard_malloc_counter~0.offset)} is VALID [2020-07-08 12:24:23,218 INFO L263 TraceCheckUtils]: 21: Hoare triple {2909#(<= |old(~guard_malloc_counter~0.offset)| ~guard_malloc_counter~0.offset)} call #t~ret30.base, #t~ret30.offset := __getMemory(~size); {2909#(<= |old(~guard_malloc_counter~0.offset)| ~guard_malloc_counter~0.offset)} is VALID [2020-07-08 12:24:23,219 INFO L280 TraceCheckUtils]: 22: Hoare triple {2909#(<= |old(~guard_malloc_counter~0.offset)| ~guard_malloc_counter~0.offset)} ~size := #in~size; {2909#(<= |old(~guard_malloc_counter~0.offset)| ~guard_malloc_counter~0.offset)} is VALID [2020-07-08 12:24:23,219 INFO L280 TraceCheckUtils]: 23: Hoare triple {2909#(<= |old(~guard_malloc_counter~0.offset)| ~guard_malloc_counter~0.offset)} assume ~size > 0; {2909#(<= |old(~guard_malloc_counter~0.offset)| ~guard_malloc_counter~0.offset)} is VALID [2020-07-08 12:24:23,220 INFO L280 TraceCheckUtils]: 24: Hoare triple {2909#(<= |old(~guard_malloc_counter~0.offset)| ~guard_malloc_counter~0.offset)} #t~post28.base, #t~post28.offset := ~guard_malloc_counter~0.base, ~guard_malloc_counter~0.offset;~guard_malloc_counter~0.base, ~guard_malloc_counter~0.offset := #t~post28.base, 1 + #t~post28.offset;havoc #t~post28.base, #t~post28.offset;assume -2147483648 <= #t~nondet29 && #t~nondet29 <= 2147483647; {2843#(<= (+ |old(~guard_malloc_counter~0.offset)| 1) ~guard_malloc_counter~0.offset)} is VALID [2020-07-08 12:24:23,221 INFO L280 TraceCheckUtils]: 25: Hoare triple {2843#(<= (+ |old(~guard_malloc_counter~0.offset)| 1) ~guard_malloc_counter~0.offset)} assume !(0 == #t~nondet29);havoc #t~nondet29;#res.base, #res.offset := ~guard_malloc_counter~0.base, ~guard_malloc_counter~0.offset; {2928#(and (<= (+ |old(~guard_malloc_counter~0.offset)| 1) ~guard_malloc_counter~0.offset) (<= ~guard_malloc_counter~0.offset |__getMemory_#res.offset|))} is VALID [2020-07-08 12:24:23,222 INFO L280 TraceCheckUtils]: 26: Hoare triple {2928#(and (<= (+ |old(~guard_malloc_counter~0.offset)| 1) ~guard_malloc_counter~0.offset) (<= ~guard_malloc_counter~0.offset |__getMemory_#res.offset|))} assume true; {2928#(and (<= (+ |old(~guard_malloc_counter~0.offset)| 1) ~guard_malloc_counter~0.offset) (<= ~guard_malloc_counter~0.offset |__getMemory_#res.offset|))} is VALID [2020-07-08 12:24:23,224 INFO L275 TraceCheckUtils]: 27: Hoare quadruple {2928#(and (<= (+ |old(~guard_malloc_counter~0.offset)| 1) ~guard_malloc_counter~0.offset) (<= ~guard_malloc_counter~0.offset |__getMemory_#res.offset|))} {2909#(<= |old(~guard_malloc_counter~0.offset)| ~guard_malloc_counter~0.offset)} #69#return; {2935#(and (<= (+ |old(~guard_malloc_counter~0.offset)| 1) ~guard_malloc_counter~0.offset) (<= ~guard_malloc_counter~0.offset |my_malloc_#t~ret30.offset|))} is VALID [2020-07-08 12:24:23,225 INFO L280 TraceCheckUtils]: 28: Hoare triple {2935#(and (<= (+ |old(~guard_malloc_counter~0.offset)| 1) ~guard_malloc_counter~0.offset) (<= ~guard_malloc_counter~0.offset |my_malloc_#t~ret30.offset|))} #res.base, #res.offset := #t~ret30.base, #t~ret30.offset;havoc #t~ret30.base, #t~ret30.offset; {2939#(and (<= (+ |old(~guard_malloc_counter~0.offset)| 1) ~guard_malloc_counter~0.offset) (<= ~guard_malloc_counter~0.offset |my_malloc_#res.offset|))} is VALID [2020-07-08 12:24:23,225 INFO L280 TraceCheckUtils]: 29: Hoare triple {2939#(and (<= (+ |old(~guard_malloc_counter~0.offset)| 1) ~guard_malloc_counter~0.offset) (<= ~guard_malloc_counter~0.offset |my_malloc_#res.offset|))} assume true; {2939#(and (<= (+ |old(~guard_malloc_counter~0.offset)| 1) ~guard_malloc_counter~0.offset) (<= ~guard_malloc_counter~0.offset |my_malloc_#res.offset|))} is VALID [2020-07-08 12:24:23,227 INFO L275 TraceCheckUtils]: 30: Hoare quadruple {2939#(and (<= (+ |old(~guard_malloc_counter~0.offset)| 1) ~guard_malloc_counter~0.offset) (<= ~guard_malloc_counter~0.offset |my_malloc_#res.offset|))} {2790#(<= main_~dev1~0.offset ~guard_malloc_counter~0.offset)} #73#return; {2802#(<= (+ main_~dev1~0.offset 1) |main_#t~ret33.offset|)} is VALID [2020-07-08 12:24:23,227 INFO L280 TraceCheckUtils]: 31: Hoare triple {2802#(<= (+ main_~dev1~0.offset 1) |main_#t~ret33.offset|)} ~dev2~0.base, ~dev2~0.offset := #t~ret33.base, #t~ret33.offset;havoc #t~ret33.base, #t~ret33.offset; {2803#(<= (+ main_~dev1~0.offset 1) main_~dev2~0.offset)} is VALID [2020-07-08 12:24:23,228 INFO L280 TraceCheckUtils]: 32: Hoare triple {2803#(<= (+ 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); {2803#(<= (+ main_~dev1~0.offset 1) main_~dev2~0.offset)} is VALID [2020-07-08 12:24:23,228 INFO L263 TraceCheckUtils]: 33: Hoare triple {2803#(<= (+ main_~dev1~0.offset 1) main_~dev2~0.offset)} call list_add(~dev2~0.base, ~dev2~0.offset, ~#head~0.base, ~#head~0.offset); {2773#true} is VALID [2020-07-08 12:24:23,228 INFO L280 TraceCheckUtils]: 34: Hoare triple {2773#true} ~new.base, ~new.offset := #in~new.base, #in~new.offset;~head.base, ~head.offset := #in~head.base, #in~head.offset; {2773#true} is VALID [2020-07-08 12:24:23,228 INFO L280 TraceCheckUtils]: 35: Hoare triple {2773#true} assume ~new.base != ~elem~0.base || ~new.offset != ~elem~0.offset; {2773#true} is VALID [2020-07-08 12:24:23,228 INFO L280 TraceCheckUtils]: 36: Hoare triple {2773#true} assume -2147483648 <= #t~nondet31 && #t~nondet31 <= 2147483647; {2773#true} is VALID [2020-07-08 12:24:23,229 INFO L280 TraceCheckUtils]: 37: Hoare triple {2773#true} assume 0 != #t~nondet31;havoc #t~nondet31;~elem~0.base, ~elem~0.offset := ~new.base, ~new.offset; {2773#true} is VALID [2020-07-08 12:24:23,229 INFO L280 TraceCheckUtils]: 38: Hoare triple {2773#true} assume true; {2773#true} is VALID [2020-07-08 12:24:23,229 INFO L275 TraceCheckUtils]: 39: Hoare quadruple {2773#true} {2803#(<= (+ main_~dev1~0.offset 1) main_~dev2~0.offset)} #75#return; {2803#(<= (+ main_~dev1~0.offset 1) main_~dev2~0.offset)} is VALID [2020-07-08 12:24:23,230 INFO L263 TraceCheckUtils]: 40: Hoare triple {2803#(<= (+ main_~dev1~0.offset 1) main_~dev2~0.offset)} call list_add(~dev1~0.base, ~dev1~0.offset, ~#head~0.base, ~#head~0.offset); {2773#true} is VALID [2020-07-08 12:24:23,230 INFO L280 TraceCheckUtils]: 41: Hoare triple {2773#true} ~new.base, ~new.offset := #in~new.base, #in~new.offset;~head.base, ~head.offset := #in~head.base, #in~head.offset; {2979#(<= list_add_~new.offset |list_add_#in~new.offset|)} is VALID [2020-07-08 12:24:23,230 INFO L280 TraceCheckUtils]: 42: Hoare triple {2979#(<= list_add_~new.offset |list_add_#in~new.offset|)} assume ~new.base != ~elem~0.base || ~new.offset != ~elem~0.offset; {2979#(<= list_add_~new.offset |list_add_#in~new.offset|)} is VALID [2020-07-08 12:24:23,231 INFO L280 TraceCheckUtils]: 43: Hoare triple {2979#(<= list_add_~new.offset |list_add_#in~new.offset|)} assume -2147483648 <= #t~nondet31 && #t~nondet31 <= 2147483647; {2979#(<= list_add_~new.offset |list_add_#in~new.offset|)} is VALID [2020-07-08 12:24:23,231 INFO L280 TraceCheckUtils]: 44: Hoare triple {2979#(<= list_add_~new.offset |list_add_#in~new.offset|)} assume 0 != #t~nondet31;havoc #t~nondet31;~elem~0.base, ~elem~0.offset := ~new.base, ~new.offset; {2989#(<= ~elem~0.offset |list_add_#in~new.offset|)} is VALID [2020-07-08 12:24:23,232 INFO L280 TraceCheckUtils]: 45: Hoare triple {2989#(<= ~elem~0.offset |list_add_#in~new.offset|)} assume true; {2989#(<= ~elem~0.offset |list_add_#in~new.offset|)} is VALID [2020-07-08 12:24:23,233 INFO L275 TraceCheckUtils]: 46: Hoare quadruple {2989#(<= ~elem~0.offset |list_add_#in~new.offset|)} {2803#(<= (+ main_~dev1~0.offset 1) main_~dev2~0.offset)} #77#return; {2816#(<= (+ ~elem~0.offset 1) main_~dev2~0.offset)} is VALID [2020-07-08 12:24:23,234 INFO L263 TraceCheckUtils]: 47: Hoare triple {2816#(<= (+ ~elem~0.offset 1) main_~dev2~0.offset)} call list_del(~dev2~0.base, ~dev2~0.offset); {2999#(<= ~elem~0.offset |old(~elem~0.offset)|)} is VALID [2020-07-08 12:24:23,235 INFO L280 TraceCheckUtils]: 48: Hoare triple {2999#(<= ~elem~0.offset |old(~elem~0.offset)|)} ~entry.base, ~entry.offset := #in~entry.base, #in~entry.offset; {2999#(<= ~elem~0.offset |old(~elem~0.offset)|)} is VALID [2020-07-08 12:24:23,235 INFO L280 TraceCheckUtils]: 49: Hoare triple {2999#(<= ~elem~0.offset |old(~elem~0.offset)|)} assume !(~entry.base == ~elem~0.base && ~entry.offset == ~elem~0.offset); {2999#(<= ~elem~0.offset |old(~elem~0.offset)|)} is VALID [2020-07-08 12:24:23,236 INFO L280 TraceCheckUtils]: 50: Hoare triple {2999#(<= ~elem~0.offset |old(~elem~0.offset)|)} assume true; {2999#(<= ~elem~0.offset |old(~elem~0.offset)|)} is VALID [2020-07-08 12:24:23,237 INFO L275 TraceCheckUtils]: 51: Hoare quadruple {2999#(<= ~elem~0.offset |old(~elem~0.offset)|)} {2816#(<= (+ ~elem~0.offset 1) main_~dev2~0.offset)} #79#return; {2816#(<= (+ ~elem~0.offset 1) main_~dev2~0.offset)} is VALID [2020-07-08 12:24:23,238 INFO L263 TraceCheckUtils]: 52: Hoare triple {2816#(<= (+ ~elem~0.offset 1) main_~dev2~0.offset)} call list_add(~dev2~0.base, ~dev2~0.offset, ~#head~0.base, ~#head~0.offset); {2821#(<= (+ ~elem~0.offset 1) |list_add_#in~new.offset|)} is VALID [2020-07-08 12:24:23,238 INFO L280 TraceCheckUtils]: 53: Hoare triple {2821#(<= (+ ~elem~0.offset 1) |list_add_#in~new.offset|)} ~new.base, ~new.offset := #in~new.base, #in~new.offset;~head.base, ~head.offset := #in~head.base, #in~head.offset; {3018#(<= (+ ~elem~0.offset 1) list_add_~new.offset)} is VALID [2020-07-08 12:24:23,239 INFO L280 TraceCheckUtils]: 54: Hoare triple {3018#(<= (+ ~elem~0.offset 1) list_add_~new.offset)} assume !(~new.base != ~elem~0.base || ~new.offset != ~elem~0.offset); {2774#false} is VALID [2020-07-08 12:24:23,239 INFO L263 TraceCheckUtils]: 55: Hoare triple {2774#false} call __blast_assert(); {2774#false} is VALID [2020-07-08 12:24:23,239 INFO L280 TraceCheckUtils]: 56: Hoare triple {2774#false} assume !false; {2774#false} is VALID [2020-07-08 12:24:23,242 INFO L134 CoverageAnalysis]: Checked inductivity of 21 backedges. 14 proven. 6 refuted. 0 times theorem prover too weak. 1 trivial. 0 not checked. [2020-07-08 12:24:23,243 INFO L220 FreeRefinementEngine]: Constructing automaton from 0 perfect and 2 imperfect interpolant sequences. [2020-07-08 12:24:23,243 INFO L233 FreeRefinementEngine]: Number of different interpolants: perfect sequences [] imperfect sequences [23, 20] total 31 [2020-07-08 12:24:23,243 INFO L156 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [898873519] [2020-07-08 12:24:23,244 INFO L78 Accepts]: Start accepts. Automaton has 31 states. Word has length 57 [2020-07-08 12:24:23,247 INFO L84 Accepts]: Finished accepts. word is accepted. [2020-07-08 12:24:23,247 INFO L86 InductivityCheck]: Starting indutivity check of a Floyd-Hoare automaton with 31 states. [2020-07-08 12:24:23,359 INFO L119 InductivityCheck]: Floyd-Hoare automaton has 91 edges. 91 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2020-07-08 12:24:23,360 INFO L459 AbstractCegarLoop]: Interpolant automaton has 31 states [2020-07-08 12:24:23,360 INFO L143 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy CAMEL [2020-07-08 12:24:23,360 INFO L142 InterpolantAutomaton]: Constructing interpolant automaton starting with 31 interpolants. [2020-07-08 12:24:23,361 INFO L144 InterpolantAutomaton]: CoverageRelationStatistics Valid=85, Invalid=845, Unknown=0, NotChecked=0, Total=930 [2020-07-08 12:24:23,361 INFO L87 Difference]: Start difference. First operand 63 states and 72 transitions. Second operand 31 states. [2020-07-08 12:24:28,389 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2020-07-08 12:24:28,389 INFO L93 Difference]: Finished difference Result 74 states and 84 transitions. [2020-07-08 12:24:28,389 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 19 states. [2020-07-08 12:24:28,389 INFO L78 Accepts]: Start accepts. Automaton has 31 states. Word has length 57 [2020-07-08 12:24:28,391 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2020-07-08 12:24:28,391 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 31 states. [2020-07-08 12:24:28,395 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 19 states to 19 states and 67 transitions. [2020-07-08 12:24:28,396 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 31 states. [2020-07-08 12:24:28,398 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 19 states to 19 states and 67 transitions. [2020-07-08 12:24:28,399 INFO L86 InductivityCheck]: Starting indutivity check of a Floyd-Hoare automaton with 19 states and 67 transitions. [2020-07-08 12:24:28,537 INFO L119 InductivityCheck]: Floyd-Hoare automaton has 67 edges. 67 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2020-07-08 12:24:28,539 INFO L225 Difference]: With dead ends: 74 [2020-07-08 12:24:28,540 INFO L226 Difference]: Without dead ends: 71 [2020-07-08 12:24:28,544 INFO L675 BasicCegarLoop]: 0 DeclaredPredicates, 107 GetRequests, 63 SyntacticMatches, 0 SemanticMatches, 44 ConstructedPredicates, 0 IntricatePredicates, 0 DeprecatedPredicates, 223 ImplicationChecksByTransitivity, 1.2s TimeCoverageRelationStatistics Valid=243, Invalid=1827, Unknown=0, NotChecked=0, Total=2070 [2020-07-08 12:24:28,544 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 71 states. [2020-07-08 12:24:28,686 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 71 to 70. [2020-07-08 12:24:28,686 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2020-07-08 12:24:28,687 INFO L82 GeneralOperation]: Start isEquivalent. First operand 71 states. Second operand 70 states. [2020-07-08 12:24:28,687 INFO L74 IsIncluded]: Start isIncluded. First operand 71 states. Second operand 70 states. [2020-07-08 12:24:28,687 INFO L87 Difference]: Start difference. First operand 71 states. Second operand 70 states. [2020-07-08 12:24:28,690 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2020-07-08 12:24:28,690 INFO L93 Difference]: Finished difference Result 71 states and 81 transitions. [2020-07-08 12:24:28,690 INFO L276 IsEmpty]: Start isEmpty. Operand 71 states and 81 transitions. [2020-07-08 12:24:28,690 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2020-07-08 12:24:28,691 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2020-07-08 12:24:28,691 INFO L74 IsIncluded]: Start isIncluded. First operand 70 states. Second operand 71 states. [2020-07-08 12:24:28,691 INFO L87 Difference]: Start difference. First operand 70 states. Second operand 71 states. [2020-07-08 12:24:28,694 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2020-07-08 12:24:28,694 INFO L93 Difference]: Finished difference Result 71 states and 81 transitions. [2020-07-08 12:24:28,695 INFO L276 IsEmpty]: Start isEmpty. Operand 71 states and 81 transitions. [2020-07-08 12:24:28,695 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2020-07-08 12:24:28,695 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2020-07-08 12:24:28,695 INFO L88 GeneralOperation]: Finished isEquivalent. [2020-07-08 12:24:28,696 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2020-07-08 12:24:28,696 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 70 states. [2020-07-08 12:24:28,698 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 70 states to 70 states and 80 transitions. [2020-07-08 12:24:28,699 INFO L78 Accepts]: Start accepts. Automaton has 70 states and 80 transitions. Word has length 57 [2020-07-08 12:24:28,699 INFO L84 Accepts]: Finished accepts. word is rejected. [2020-07-08 12:24:28,699 INFO L479 AbstractCegarLoop]: Abstraction has 70 states and 80 transitions. [2020-07-08 12:24:28,699 INFO L480 AbstractCegarLoop]: Interpolant automaton has 31 states. [2020-07-08 12:24:28,699 INFO L276 IsEmpty]: Start isEmpty. Operand 70 states and 80 transitions. [2020-07-08 12:24:28,700 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 58 [2020-07-08 12:24:28,700 INFO L414 BasicCegarLoop]: Found error trace [2020-07-08 12:24:28,700 INFO L422 BasicCegarLoop]: trace histogram [3, 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] [2020-07-08 12:24:28,917 WARN L516 AbstractCegarLoop]: Destroyed unattended storables created during the last iteration: 6 z3 -smt2 -in SMTLIB2_COMPLIANT=true,SelfDestructingSolverStorable6 [2020-07-08 12:24:28,919 INFO L427 AbstractCegarLoop]: === Iteration 8 === [__blast_assertErr0ASSERT_VIOLATIONERROR_FUNCTION]=== [2020-07-08 12:24:28,919 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2020-07-08 12:24:28,919 INFO L82 PathProgramCache]: Analyzing trace with hash 1878473469, now seen corresponding path program 1 times [2020-07-08 12:24:28,919 INFO L163 FreeRefinementEngine]: Executing refinement strategy CAMEL [2020-07-08 12:24:28,919 INFO L354 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [867561513] [2020-07-08 12:24:28,919 INFO L94 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2020-07-08 12:24:28,934 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2020-07-08 12:24:29,069 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2020-07-08 12:24:29,078 INFO L280 TraceCheckUtils]: 0: Hoare triple {3448#(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;#valid := #valid[0 := 0];assume 0 < #StackHeapBarrier;~guard_malloc_counter~0.base, ~guard_malloc_counter~0.offset := 0, 0;~elem~0.base, ~elem~0.offset := 0, 0;call ~#head~0.base, ~#head~0.offset := #Ultimate.allocOnStack(8);call write~init~$Pointer$(0, 0, ~#head~0.base, ~#head~0.offset, 4);call write~init~$Pointer$(0, 0, ~#head~0.base, 4 + ~#head~0.offset, 4); {3400#true} is VALID [2020-07-08 12:24:29,078 INFO L280 TraceCheckUtils]: 1: Hoare triple {3400#true} assume true; {3400#true} is VALID [2020-07-08 12:24:29,078 INFO L275 TraceCheckUtils]: 2: Hoare quadruple {3400#true} {3400#true} #89#return; {3400#true} is VALID [2020-07-08 12:24:29,097 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2020-07-08 12:24:29,138 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2020-07-08 12:24:29,163 INFO L280 TraceCheckUtils]: 0: Hoare triple {3449#(and (= ~guard_malloc_counter~0.offset |old(~guard_malloc_counter~0.offset)|) (= ~guard_malloc_counter~0.base |old(~guard_malloc_counter~0.base)|))} ~size := #in~size; {3400#true} is VALID [2020-07-08 12:24:29,164 INFO L280 TraceCheckUtils]: 1: Hoare triple {3400#true} assume ~size > 0; {3400#true} is VALID [2020-07-08 12:24:29,164 INFO L280 TraceCheckUtils]: 2: Hoare triple {3400#true} #t~post28.base, #t~post28.offset := ~guard_malloc_counter~0.base, ~guard_malloc_counter~0.offset;~guard_malloc_counter~0.base, ~guard_malloc_counter~0.offset := #t~post28.base, 1 + #t~post28.offset;havoc #t~post28.base, #t~post28.offset;assume -2147483648 <= #t~nondet29 && #t~nondet29 <= 2147483647; {3400#true} is VALID [2020-07-08 12:24:29,165 INFO L280 TraceCheckUtils]: 3: Hoare triple {3400#true} assume !(0 == #t~nondet29);havoc #t~nondet29;#res.base, #res.offset := ~guard_malloc_counter~0.base, ~guard_malloc_counter~0.offset; {3458#(<= |__getMemory_#res.offset| ~guard_malloc_counter~0.offset)} is VALID [2020-07-08 12:24:29,165 INFO L280 TraceCheckUtils]: 4: Hoare triple {3458#(<= |__getMemory_#res.offset| ~guard_malloc_counter~0.offset)} assume true; {3458#(<= |__getMemory_#res.offset| ~guard_malloc_counter~0.offset)} is VALID [2020-07-08 12:24:29,167 INFO L275 TraceCheckUtils]: 5: Hoare quadruple {3458#(<= |__getMemory_#res.offset| ~guard_malloc_counter~0.offset)} {3400#true} #69#return; {3456#(<= |my_malloc_#t~ret30.offset| ~guard_malloc_counter~0.offset)} is VALID [2020-07-08 12:24:29,167 INFO L280 TraceCheckUtils]: 0: Hoare triple {3449#(and (= ~guard_malloc_counter~0.offset |old(~guard_malloc_counter~0.offset)|) (= ~guard_malloc_counter~0.base |old(~guard_malloc_counter~0.base)|))} ~size := #in~size; {3400#true} is VALID [2020-07-08 12:24:29,168 INFO L263 TraceCheckUtils]: 1: Hoare triple {3400#true} call #t~ret30.base, #t~ret30.offset := __getMemory(~size); {3449#(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-08 12:24:29,168 INFO L280 TraceCheckUtils]: 2: Hoare triple {3449#(and (= ~guard_malloc_counter~0.offset |old(~guard_malloc_counter~0.offset)|) (= ~guard_malloc_counter~0.base |old(~guard_malloc_counter~0.base)|))} ~size := #in~size; {3400#true} is VALID [2020-07-08 12:24:29,168 INFO L280 TraceCheckUtils]: 3: Hoare triple {3400#true} assume ~size > 0; {3400#true} is VALID [2020-07-08 12:24:29,168 INFO L280 TraceCheckUtils]: 4: Hoare triple {3400#true} #t~post28.base, #t~post28.offset := ~guard_malloc_counter~0.base, ~guard_malloc_counter~0.offset;~guard_malloc_counter~0.base, ~guard_malloc_counter~0.offset := #t~post28.base, 1 + #t~post28.offset;havoc #t~post28.base, #t~post28.offset;assume -2147483648 <= #t~nondet29 && #t~nondet29 <= 2147483647; {3400#true} is VALID [2020-07-08 12:24:29,172 INFO L280 TraceCheckUtils]: 5: Hoare triple {3400#true} assume !(0 == #t~nondet29);havoc #t~nondet29;#res.base, #res.offset := ~guard_malloc_counter~0.base, ~guard_malloc_counter~0.offset; {3458#(<= |__getMemory_#res.offset| ~guard_malloc_counter~0.offset)} is VALID [2020-07-08 12:24:29,172 INFO L280 TraceCheckUtils]: 6: Hoare triple {3458#(<= |__getMemory_#res.offset| ~guard_malloc_counter~0.offset)} assume true; {3458#(<= |__getMemory_#res.offset| ~guard_malloc_counter~0.offset)} is VALID [2020-07-08 12:24:29,173 INFO L275 TraceCheckUtils]: 7: Hoare quadruple {3458#(<= |__getMemory_#res.offset| ~guard_malloc_counter~0.offset)} {3400#true} #69#return; {3456#(<= |my_malloc_#t~ret30.offset| ~guard_malloc_counter~0.offset)} is VALID [2020-07-08 12:24:29,174 INFO L280 TraceCheckUtils]: 8: Hoare triple {3456#(<= |my_malloc_#t~ret30.offset| ~guard_malloc_counter~0.offset)} #res.base, #res.offset := #t~ret30.base, #t~ret30.offset;havoc #t~ret30.base, #t~ret30.offset; {3457#(<= |my_malloc_#res.offset| ~guard_malloc_counter~0.offset)} is VALID [2020-07-08 12:24:29,175 INFO L280 TraceCheckUtils]: 9: Hoare triple {3457#(<= |my_malloc_#res.offset| ~guard_malloc_counter~0.offset)} assume true; {3457#(<= |my_malloc_#res.offset| ~guard_malloc_counter~0.offset)} is VALID [2020-07-08 12:24:29,176 INFO L275 TraceCheckUtils]: 10: Hoare quadruple {3457#(<= |my_malloc_#res.offset| ~guard_malloc_counter~0.offset)} {3400#true} #71#return; {3416#(<= |main_#t~ret32.offset| ~guard_malloc_counter~0.offset)} is VALID [2020-07-08 12:24:29,179 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2020-07-08 12:24:29,256 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2020-07-08 12:24:29,309 INFO L280 TraceCheckUtils]: 0: Hoare triple {3449#(and (= ~guard_malloc_counter~0.offset |old(~guard_malloc_counter~0.offset)|) (= ~guard_malloc_counter~0.base |old(~guard_malloc_counter~0.base)|))} ~size := #in~size; {3459#(= ~guard_malloc_counter~0.offset |old(~guard_malloc_counter~0.offset)|)} is VALID [2020-07-08 12:24:29,309 INFO L280 TraceCheckUtils]: 1: Hoare triple {3459#(= ~guard_malloc_counter~0.offset |old(~guard_malloc_counter~0.offset)|)} assume ~size > 0; {3459#(= ~guard_malloc_counter~0.offset |old(~guard_malloc_counter~0.offset)|)} is VALID [2020-07-08 12:24:29,310 INFO L280 TraceCheckUtils]: 2: Hoare triple {3459#(= ~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;~guard_malloc_counter~0.base, ~guard_malloc_counter~0.offset := #t~post28.base, 1 + #t~post28.offset;havoc #t~post28.base, #t~post28.offset;assume -2147483648 <= #t~nondet29 && #t~nondet29 <= 2147483647; {3468#(<= (+ |old(~guard_malloc_counter~0.offset)| 1) ~guard_malloc_counter~0.offset)} is VALID [2020-07-08 12:24:29,311 INFO L280 TraceCheckUtils]: 3: Hoare triple {3468#(<= (+ |old(~guard_malloc_counter~0.offset)| 1) ~guard_malloc_counter~0.offset)} assume !(0 == #t~nondet29);havoc #t~nondet29;#res.base, #res.offset := ~guard_malloc_counter~0.base, ~guard_malloc_counter~0.offset; {3469#(<= (+ |old(~guard_malloc_counter~0.offset)| 1) |__getMemory_#res.offset|)} is VALID [2020-07-08 12:24:29,312 INFO L280 TraceCheckUtils]: 4: Hoare triple {3469#(<= (+ |old(~guard_malloc_counter~0.offset)| 1) |__getMemory_#res.offset|)} assume true; {3469#(<= (+ |old(~guard_malloc_counter~0.offset)| 1) |__getMemory_#res.offset|)} is VALID [2020-07-08 12:24:29,313 INFO L275 TraceCheckUtils]: 5: Hoare quadruple {3469#(<= (+ |old(~guard_malloc_counter~0.offset)| 1) |__getMemory_#res.offset|)} {3459#(= ~guard_malloc_counter~0.offset |old(~guard_malloc_counter~0.offset)|)} #69#return; {3466#(<= (+ |old(~guard_malloc_counter~0.offset)| 1) |my_malloc_#t~ret30.offset|)} is VALID [2020-07-08 12:24:29,313 INFO L280 TraceCheckUtils]: 0: Hoare triple {3449#(and (= ~guard_malloc_counter~0.offset |old(~guard_malloc_counter~0.offset)|) (= ~guard_malloc_counter~0.base |old(~guard_malloc_counter~0.base)|))} ~size := #in~size; {3459#(= ~guard_malloc_counter~0.offset |old(~guard_malloc_counter~0.offset)|)} is VALID [2020-07-08 12:24:29,314 INFO L263 TraceCheckUtils]: 1: Hoare triple {3459#(= ~guard_malloc_counter~0.offset |old(~guard_malloc_counter~0.offset)|)} call #t~ret30.base, #t~ret30.offset := __getMemory(~size); {3449#(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-08 12:24:29,315 INFO L280 TraceCheckUtils]: 2: Hoare triple {3449#(and (= ~guard_malloc_counter~0.offset |old(~guard_malloc_counter~0.offset)|) (= ~guard_malloc_counter~0.base |old(~guard_malloc_counter~0.base)|))} ~size := #in~size; {3459#(= ~guard_malloc_counter~0.offset |old(~guard_malloc_counter~0.offset)|)} is VALID [2020-07-08 12:24:29,318 INFO L280 TraceCheckUtils]: 3: Hoare triple {3459#(= ~guard_malloc_counter~0.offset |old(~guard_malloc_counter~0.offset)|)} assume ~size > 0; {3459#(= ~guard_malloc_counter~0.offset |old(~guard_malloc_counter~0.offset)|)} is VALID [2020-07-08 12:24:29,318 INFO L280 TraceCheckUtils]: 4: Hoare triple {3459#(= ~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;~guard_malloc_counter~0.base, ~guard_malloc_counter~0.offset := #t~post28.base, 1 + #t~post28.offset;havoc #t~post28.base, #t~post28.offset;assume -2147483648 <= #t~nondet29 && #t~nondet29 <= 2147483647; {3468#(<= (+ |old(~guard_malloc_counter~0.offset)| 1) ~guard_malloc_counter~0.offset)} is VALID [2020-07-08 12:24:29,319 INFO L280 TraceCheckUtils]: 5: Hoare triple {3468#(<= (+ |old(~guard_malloc_counter~0.offset)| 1) ~guard_malloc_counter~0.offset)} assume !(0 == #t~nondet29);havoc #t~nondet29;#res.base, #res.offset := ~guard_malloc_counter~0.base, ~guard_malloc_counter~0.offset; {3469#(<= (+ |old(~guard_malloc_counter~0.offset)| 1) |__getMemory_#res.offset|)} is VALID [2020-07-08 12:24:29,320 INFO L280 TraceCheckUtils]: 6: Hoare triple {3469#(<= (+ |old(~guard_malloc_counter~0.offset)| 1) |__getMemory_#res.offset|)} assume true; {3469#(<= (+ |old(~guard_malloc_counter~0.offset)| 1) |__getMemory_#res.offset|)} is VALID [2020-07-08 12:24:29,321 INFO L275 TraceCheckUtils]: 7: Hoare quadruple {3469#(<= (+ |old(~guard_malloc_counter~0.offset)| 1) |__getMemory_#res.offset|)} {3459#(= ~guard_malloc_counter~0.offset |old(~guard_malloc_counter~0.offset)|)} #69#return; {3466#(<= (+ |old(~guard_malloc_counter~0.offset)| 1) |my_malloc_#t~ret30.offset|)} is VALID [2020-07-08 12:24:29,322 INFO L280 TraceCheckUtils]: 8: Hoare triple {3466#(<= (+ |old(~guard_malloc_counter~0.offset)| 1) |my_malloc_#t~ret30.offset|)} #res.base, #res.offset := #t~ret30.base, #t~ret30.offset;havoc #t~ret30.base, #t~ret30.offset; {3467#(<= (+ |old(~guard_malloc_counter~0.offset)| 1) |my_malloc_#res.offset|)} is VALID [2020-07-08 12:24:29,323 INFO L280 TraceCheckUtils]: 9: Hoare triple {3467#(<= (+ |old(~guard_malloc_counter~0.offset)| 1) |my_malloc_#res.offset|)} assume true; {3467#(<= (+ |old(~guard_malloc_counter~0.offset)| 1) |my_malloc_#res.offset|)} is VALID [2020-07-08 12:24:29,324 INFO L275 TraceCheckUtils]: 10: Hoare quadruple {3467#(<= (+ |old(~guard_malloc_counter~0.offset)| 1) |my_malloc_#res.offset|)} {3417#(<= main_~dev1~0.offset ~guard_malloc_counter~0.offset)} #73#return; {3429#(<= (+ main_~dev1~0.offset 1) |main_#t~ret33.offset|)} is VALID [2020-07-08 12:24:29,350 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2020-07-08 12:24:29,359 INFO L280 TraceCheckUtils]: 0: Hoare triple {3470#(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;~head.base, ~head.offset := #in~head.base, #in~head.offset; {3400#true} is VALID [2020-07-08 12:24:29,360 INFO L280 TraceCheckUtils]: 1: Hoare triple {3400#true} assume ~new.base != ~elem~0.base || ~new.offset != ~elem~0.offset; {3400#true} is VALID [2020-07-08 12:24:29,360 INFO L280 TraceCheckUtils]: 2: Hoare triple {3400#true} assume -2147483648 <= #t~nondet31 && #t~nondet31 <= 2147483647; {3400#true} is VALID [2020-07-08 12:24:29,360 INFO L280 TraceCheckUtils]: 3: Hoare triple {3400#true} assume 0 != #t~nondet31;havoc #t~nondet31;~elem~0.base, ~elem~0.offset := ~new.base, ~new.offset; {3400#true} is VALID [2020-07-08 12:24:29,360 INFO L280 TraceCheckUtils]: 4: Hoare triple {3400#true} assume true; {3400#true} is VALID [2020-07-08 12:24:29,362 INFO L275 TraceCheckUtils]: 5: Hoare quadruple {3400#true} {3430#(<= (+ main_~dev1~0.offset 1) main_~dev2~0.offset)} #75#return; {3430#(<= (+ main_~dev1~0.offset 1) main_~dev2~0.offset)} is VALID [2020-07-08 12:24:29,368 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2020-07-08 12:24:29,425 INFO L280 TraceCheckUtils]: 0: Hoare triple {3470#(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;~head.base, ~head.offset := #in~head.base, #in~head.offset; {3471#(= |list_add_#in~new.offset| list_add_~new.offset)} is VALID [2020-07-08 12:24:29,426 INFO L280 TraceCheckUtils]: 1: Hoare triple {3471#(= |list_add_#in~new.offset| list_add_~new.offset)} assume ~new.base != ~elem~0.base || ~new.offset != ~elem~0.offset; {3471#(= |list_add_#in~new.offset| list_add_~new.offset)} is VALID [2020-07-08 12:24:29,427 INFO L280 TraceCheckUtils]: 2: Hoare triple {3471#(= |list_add_#in~new.offset| list_add_~new.offset)} assume -2147483648 <= #t~nondet31 && #t~nondet31 <= 2147483647; {3471#(= |list_add_#in~new.offset| list_add_~new.offset)} is VALID [2020-07-08 12:24:29,427 INFO L280 TraceCheckUtils]: 3: Hoare triple {3471#(= |list_add_#in~new.offset| list_add_~new.offset)} assume 0 != #t~nondet31;havoc #t~nondet31;~elem~0.base, ~elem~0.offset := ~new.base, ~new.offset; {3472#(= ~elem~0.offset |list_add_#in~new.offset|)} is VALID [2020-07-08 12:24:29,428 INFO L280 TraceCheckUtils]: 4: Hoare triple {3472#(= ~elem~0.offset |list_add_#in~new.offset|)} assume true; {3472#(= ~elem~0.offset |list_add_#in~new.offset|)} is VALID [2020-07-08 12:24:29,429 INFO L275 TraceCheckUtils]: 5: Hoare quadruple {3472#(= ~elem~0.offset |list_add_#in~new.offset|)} {3430#(<= (+ main_~dev1~0.offset 1) main_~dev2~0.offset)} #77#return; {3443#(<= (+ ~elem~0.offset 1) main_~dev2~0.offset)} is VALID [2020-07-08 12:24:29,432 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2020-07-08 12:24:29,510 INFO L280 TraceCheckUtils]: 0: Hoare triple {3470#(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; {3473#(and (= |old(~elem~0.offset)| ~elem~0.offset) (= |list_del_#in~entry.offset| list_del_~entry.offset))} is VALID [2020-07-08 12:24:29,511 INFO L280 TraceCheckUtils]: 1: Hoare triple {3473#(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;~elem~0.base, ~elem~0.offset := 0, 0; {3474#(= |old(~elem~0.offset)| |list_del_#in~entry.offset|)} is VALID [2020-07-08 12:24:29,512 INFO L280 TraceCheckUtils]: 2: Hoare triple {3474#(= |old(~elem~0.offset)| |list_del_#in~entry.offset|)} assume true; {3474#(= |old(~elem~0.offset)| |list_del_#in~entry.offset|)} is VALID [2020-07-08 12:24:29,513 INFO L275 TraceCheckUtils]: 3: Hoare quadruple {3474#(= |old(~elem~0.offset)| |list_del_#in~entry.offset|)} {3443#(<= (+ ~elem~0.offset 1) main_~dev2~0.offset)} #79#return; {3401#false} is VALID [2020-07-08 12:24:29,520 INFO L263 TraceCheckUtils]: 0: Hoare triple {3400#true} call ULTIMATE.init(); {3448#(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-08 12:24:29,520 INFO L280 TraceCheckUtils]: 1: Hoare triple {3448#(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;#valid := #valid[0 := 0];assume 0 < #StackHeapBarrier;~guard_malloc_counter~0.base, ~guard_malloc_counter~0.offset := 0, 0;~elem~0.base, ~elem~0.offset := 0, 0;call ~#head~0.base, ~#head~0.offset := #Ultimate.allocOnStack(8);call write~init~$Pointer$(0, 0, ~#head~0.base, ~#head~0.offset, 4);call write~init~$Pointer$(0, 0, ~#head~0.base, 4 + ~#head~0.offset, 4); {3400#true} is VALID [2020-07-08 12:24:29,520 INFO L280 TraceCheckUtils]: 2: Hoare triple {3400#true} assume true; {3400#true} is VALID [2020-07-08 12:24:29,521 INFO L275 TraceCheckUtils]: 3: Hoare quadruple {3400#true} {3400#true} #89#return; {3400#true} is VALID [2020-07-08 12:24:29,521 INFO L263 TraceCheckUtils]: 4: Hoare triple {3400#true} call #t~ret34 := main(); {3400#true} is VALID [2020-07-08 12:24:29,521 INFO L280 TraceCheckUtils]: 5: Hoare triple {3400#true} havoc ~dev1~0.base, ~dev1~0.offset;havoc ~dev2~0.base, ~dev2~0.offset; {3400#true} is VALID [2020-07-08 12:24:29,522 INFO L263 TraceCheckUtils]: 6: Hoare triple {3400#true} call #t~ret32.base, #t~ret32.offset := my_malloc(8); {3449#(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-08 12:24:29,522 INFO L280 TraceCheckUtils]: 7: Hoare triple {3449#(and (= ~guard_malloc_counter~0.offset |old(~guard_malloc_counter~0.offset)|) (= ~guard_malloc_counter~0.base |old(~guard_malloc_counter~0.base)|))} ~size := #in~size; {3400#true} is VALID [2020-07-08 12:24:29,523 INFO L263 TraceCheckUtils]: 8: Hoare triple {3400#true} call #t~ret30.base, #t~ret30.offset := __getMemory(~size); {3449#(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-08 12:24:29,523 INFO L280 TraceCheckUtils]: 9: Hoare triple {3449#(and (= ~guard_malloc_counter~0.offset |old(~guard_malloc_counter~0.offset)|) (= ~guard_malloc_counter~0.base |old(~guard_malloc_counter~0.base)|))} ~size := #in~size; {3400#true} is VALID [2020-07-08 12:24:29,524 INFO L280 TraceCheckUtils]: 10: Hoare triple {3400#true} assume ~size > 0; {3400#true} is VALID [2020-07-08 12:24:29,524 INFO L280 TraceCheckUtils]: 11: Hoare triple {3400#true} #t~post28.base, #t~post28.offset := ~guard_malloc_counter~0.base, ~guard_malloc_counter~0.offset;~guard_malloc_counter~0.base, ~guard_malloc_counter~0.offset := #t~post28.base, 1 + #t~post28.offset;havoc #t~post28.base, #t~post28.offset;assume -2147483648 <= #t~nondet29 && #t~nondet29 <= 2147483647; {3400#true} is VALID [2020-07-08 12:24:29,525 INFO L280 TraceCheckUtils]: 12: Hoare triple {3400#true} assume !(0 == #t~nondet29);havoc #t~nondet29;#res.base, #res.offset := ~guard_malloc_counter~0.base, ~guard_malloc_counter~0.offset; {3458#(<= |__getMemory_#res.offset| ~guard_malloc_counter~0.offset)} is VALID [2020-07-08 12:24:29,525 INFO L280 TraceCheckUtils]: 13: Hoare triple {3458#(<= |__getMemory_#res.offset| ~guard_malloc_counter~0.offset)} assume true; {3458#(<= |__getMemory_#res.offset| ~guard_malloc_counter~0.offset)} is VALID [2020-07-08 12:24:29,526 INFO L275 TraceCheckUtils]: 14: Hoare quadruple {3458#(<= |__getMemory_#res.offset| ~guard_malloc_counter~0.offset)} {3400#true} #69#return; {3456#(<= |my_malloc_#t~ret30.offset| ~guard_malloc_counter~0.offset)} is VALID [2020-07-08 12:24:29,527 INFO L280 TraceCheckUtils]: 15: Hoare triple {3456#(<= |my_malloc_#t~ret30.offset| ~guard_malloc_counter~0.offset)} #res.base, #res.offset := #t~ret30.base, #t~ret30.offset;havoc #t~ret30.base, #t~ret30.offset; {3457#(<= |my_malloc_#res.offset| ~guard_malloc_counter~0.offset)} is VALID [2020-07-08 12:24:29,528 INFO L280 TraceCheckUtils]: 16: Hoare triple {3457#(<= |my_malloc_#res.offset| ~guard_malloc_counter~0.offset)} assume true; {3457#(<= |my_malloc_#res.offset| ~guard_malloc_counter~0.offset)} is VALID [2020-07-08 12:24:29,529 INFO L275 TraceCheckUtils]: 17: Hoare quadruple {3457#(<= |my_malloc_#res.offset| ~guard_malloc_counter~0.offset)} {3400#true} #71#return; {3416#(<= |main_#t~ret32.offset| ~guard_malloc_counter~0.offset)} is VALID [2020-07-08 12:24:29,530 INFO L280 TraceCheckUtils]: 18: Hoare triple {3416#(<= |main_#t~ret32.offset| ~guard_malloc_counter~0.offset)} ~dev1~0.base, ~dev1~0.offset := #t~ret32.base, #t~ret32.offset;havoc #t~ret32.base, #t~ret32.offset; {3417#(<= main_~dev1~0.offset ~guard_malloc_counter~0.offset)} is VALID [2020-07-08 12:24:29,531 INFO L263 TraceCheckUtils]: 19: Hoare triple {3417#(<= main_~dev1~0.offset ~guard_malloc_counter~0.offset)} call #t~ret33.base, #t~ret33.offset := my_malloc(8); {3449#(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-08 12:24:29,531 INFO L280 TraceCheckUtils]: 20: Hoare triple {3449#(and (= ~guard_malloc_counter~0.offset |old(~guard_malloc_counter~0.offset)|) (= ~guard_malloc_counter~0.base |old(~guard_malloc_counter~0.base)|))} ~size := #in~size; {3459#(= ~guard_malloc_counter~0.offset |old(~guard_malloc_counter~0.offset)|)} is VALID [2020-07-08 12:24:29,532 INFO L263 TraceCheckUtils]: 21: Hoare triple {3459#(= ~guard_malloc_counter~0.offset |old(~guard_malloc_counter~0.offset)|)} call #t~ret30.base, #t~ret30.offset := __getMemory(~size); {3449#(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-08 12:24:29,533 INFO L280 TraceCheckUtils]: 22: Hoare triple {3449#(and (= ~guard_malloc_counter~0.offset |old(~guard_malloc_counter~0.offset)|) (= ~guard_malloc_counter~0.base |old(~guard_malloc_counter~0.base)|))} ~size := #in~size; {3459#(= ~guard_malloc_counter~0.offset |old(~guard_malloc_counter~0.offset)|)} is VALID [2020-07-08 12:24:29,534 INFO L280 TraceCheckUtils]: 23: Hoare triple {3459#(= ~guard_malloc_counter~0.offset |old(~guard_malloc_counter~0.offset)|)} assume ~size > 0; {3459#(= ~guard_malloc_counter~0.offset |old(~guard_malloc_counter~0.offset)|)} is VALID [2020-07-08 12:24:29,535 INFO L280 TraceCheckUtils]: 24: Hoare triple {3459#(= ~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;~guard_malloc_counter~0.base, ~guard_malloc_counter~0.offset := #t~post28.base, 1 + #t~post28.offset;havoc #t~post28.base, #t~post28.offset;assume -2147483648 <= #t~nondet29 && #t~nondet29 <= 2147483647; {3468#(<= (+ |old(~guard_malloc_counter~0.offset)| 1) ~guard_malloc_counter~0.offset)} is VALID [2020-07-08 12:24:29,536 INFO L280 TraceCheckUtils]: 25: Hoare triple {3468#(<= (+ |old(~guard_malloc_counter~0.offset)| 1) ~guard_malloc_counter~0.offset)} assume !(0 == #t~nondet29);havoc #t~nondet29;#res.base, #res.offset := ~guard_malloc_counter~0.base, ~guard_malloc_counter~0.offset; {3469#(<= (+ |old(~guard_malloc_counter~0.offset)| 1) |__getMemory_#res.offset|)} is VALID [2020-07-08 12:24:29,537 INFO L280 TraceCheckUtils]: 26: Hoare triple {3469#(<= (+ |old(~guard_malloc_counter~0.offset)| 1) |__getMemory_#res.offset|)} assume true; {3469#(<= (+ |old(~guard_malloc_counter~0.offset)| 1) |__getMemory_#res.offset|)} is VALID [2020-07-08 12:24:29,538 INFO L275 TraceCheckUtils]: 27: Hoare quadruple {3469#(<= (+ |old(~guard_malloc_counter~0.offset)| 1) |__getMemory_#res.offset|)} {3459#(= ~guard_malloc_counter~0.offset |old(~guard_malloc_counter~0.offset)|)} #69#return; {3466#(<= (+ |old(~guard_malloc_counter~0.offset)| 1) |my_malloc_#t~ret30.offset|)} is VALID [2020-07-08 12:24:29,539 INFO L280 TraceCheckUtils]: 28: Hoare triple {3466#(<= (+ |old(~guard_malloc_counter~0.offset)| 1) |my_malloc_#t~ret30.offset|)} #res.base, #res.offset := #t~ret30.base, #t~ret30.offset;havoc #t~ret30.base, #t~ret30.offset; {3467#(<= (+ |old(~guard_malloc_counter~0.offset)| 1) |my_malloc_#res.offset|)} is VALID [2020-07-08 12:24:29,540 INFO L280 TraceCheckUtils]: 29: Hoare triple {3467#(<= (+ |old(~guard_malloc_counter~0.offset)| 1) |my_malloc_#res.offset|)} assume true; {3467#(<= (+ |old(~guard_malloc_counter~0.offset)| 1) |my_malloc_#res.offset|)} is VALID [2020-07-08 12:24:29,542 INFO L275 TraceCheckUtils]: 30: Hoare quadruple {3467#(<= (+ |old(~guard_malloc_counter~0.offset)| 1) |my_malloc_#res.offset|)} {3417#(<= main_~dev1~0.offset ~guard_malloc_counter~0.offset)} #73#return; {3429#(<= (+ main_~dev1~0.offset 1) |main_#t~ret33.offset|)} is VALID [2020-07-08 12:24:29,543 INFO L280 TraceCheckUtils]: 31: Hoare triple {3429#(<= (+ main_~dev1~0.offset 1) |main_#t~ret33.offset|)} ~dev2~0.base, ~dev2~0.offset := #t~ret33.base, #t~ret33.offset;havoc #t~ret33.base, #t~ret33.offset; {3430#(<= (+ main_~dev1~0.offset 1) main_~dev2~0.offset)} is VALID [2020-07-08 12:24:29,544 INFO L280 TraceCheckUtils]: 32: Hoare triple {3430#(<= (+ 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); {3430#(<= (+ main_~dev1~0.offset 1) main_~dev2~0.offset)} is VALID [2020-07-08 12:24:29,546 INFO L263 TraceCheckUtils]: 33: Hoare triple {3430#(<= (+ main_~dev1~0.offset 1) main_~dev2~0.offset)} call list_add(~dev2~0.base, ~dev2~0.offset, ~#head~0.base, ~#head~0.offset); {3470#(and (= ~elem~0.base |old(~elem~0.base)|) (= ~elem~0.offset |old(~elem~0.offset)|))} is VALID [2020-07-08 12:24:29,547 INFO L280 TraceCheckUtils]: 34: Hoare triple {3470#(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;~head.base, ~head.offset := #in~head.base, #in~head.offset; {3400#true} is VALID [2020-07-08 12:24:29,547 INFO L280 TraceCheckUtils]: 35: Hoare triple {3400#true} assume ~new.base != ~elem~0.base || ~new.offset != ~elem~0.offset; {3400#true} is VALID [2020-07-08 12:24:29,547 INFO L280 TraceCheckUtils]: 36: Hoare triple {3400#true} assume -2147483648 <= #t~nondet31 && #t~nondet31 <= 2147483647; {3400#true} is VALID [2020-07-08 12:24:29,547 INFO L280 TraceCheckUtils]: 37: Hoare triple {3400#true} assume 0 != #t~nondet31;havoc #t~nondet31;~elem~0.base, ~elem~0.offset := ~new.base, ~new.offset; {3400#true} is VALID [2020-07-08 12:24:29,548 INFO L280 TraceCheckUtils]: 38: Hoare triple {3400#true} assume true; {3400#true} is VALID [2020-07-08 12:24:29,550 INFO L275 TraceCheckUtils]: 39: Hoare quadruple {3400#true} {3430#(<= (+ main_~dev1~0.offset 1) main_~dev2~0.offset)} #75#return; {3430#(<= (+ main_~dev1~0.offset 1) main_~dev2~0.offset)} is VALID [2020-07-08 12:24:29,553 INFO L263 TraceCheckUtils]: 40: Hoare triple {3430#(<= (+ main_~dev1~0.offset 1) main_~dev2~0.offset)} call list_add(~dev1~0.base, ~dev1~0.offset, ~#head~0.base, ~#head~0.offset); {3470#(and (= ~elem~0.base |old(~elem~0.base)|) (= ~elem~0.offset |old(~elem~0.offset)|))} is VALID [2020-07-08 12:24:29,555 INFO L280 TraceCheckUtils]: 41: Hoare triple {3470#(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;~head.base, ~head.offset := #in~head.base, #in~head.offset; {3471#(= |list_add_#in~new.offset| list_add_~new.offset)} is VALID [2020-07-08 12:24:29,556 INFO L280 TraceCheckUtils]: 42: Hoare triple {3471#(= |list_add_#in~new.offset| list_add_~new.offset)} assume ~new.base != ~elem~0.base || ~new.offset != ~elem~0.offset; {3471#(= |list_add_#in~new.offset| list_add_~new.offset)} is VALID [2020-07-08 12:24:29,557 INFO L280 TraceCheckUtils]: 43: Hoare triple {3471#(= |list_add_#in~new.offset| list_add_~new.offset)} assume -2147483648 <= #t~nondet31 && #t~nondet31 <= 2147483647; {3471#(= |list_add_#in~new.offset| list_add_~new.offset)} is VALID [2020-07-08 12:24:29,558 INFO L280 TraceCheckUtils]: 44: Hoare triple {3471#(= |list_add_#in~new.offset| list_add_~new.offset)} assume 0 != #t~nondet31;havoc #t~nondet31;~elem~0.base, ~elem~0.offset := ~new.base, ~new.offset; {3472#(= ~elem~0.offset |list_add_#in~new.offset|)} is VALID [2020-07-08 12:24:29,558 INFO L280 TraceCheckUtils]: 45: Hoare triple {3472#(= ~elem~0.offset |list_add_#in~new.offset|)} assume true; {3472#(= ~elem~0.offset |list_add_#in~new.offset|)} is VALID [2020-07-08 12:24:29,560 INFO L275 TraceCheckUtils]: 46: Hoare quadruple {3472#(= ~elem~0.offset |list_add_#in~new.offset|)} {3430#(<= (+ main_~dev1~0.offset 1) main_~dev2~0.offset)} #77#return; {3443#(<= (+ ~elem~0.offset 1) main_~dev2~0.offset)} is VALID [2020-07-08 12:24:29,561 INFO L263 TraceCheckUtils]: 47: Hoare triple {3443#(<= (+ ~elem~0.offset 1) main_~dev2~0.offset)} call list_del(~dev2~0.base, ~dev2~0.offset); {3470#(and (= ~elem~0.base |old(~elem~0.base)|) (= ~elem~0.offset |old(~elem~0.offset)|))} is VALID [2020-07-08 12:24:29,563 INFO L280 TraceCheckUtils]: 48: Hoare triple {3470#(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; {3473#(and (= |old(~elem~0.offset)| ~elem~0.offset) (= |list_del_#in~entry.offset| list_del_~entry.offset))} is VALID [2020-07-08 12:24:29,564 INFO L280 TraceCheckUtils]: 49: Hoare triple {3473#(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;~elem~0.base, ~elem~0.offset := 0, 0; {3474#(= |old(~elem~0.offset)| |list_del_#in~entry.offset|)} is VALID [2020-07-08 12:24:29,564 INFO L280 TraceCheckUtils]: 50: Hoare triple {3474#(= |old(~elem~0.offset)| |list_del_#in~entry.offset|)} assume true; {3474#(= |old(~elem~0.offset)| |list_del_#in~entry.offset|)} is VALID [2020-07-08 12:24:29,565 INFO L275 TraceCheckUtils]: 51: Hoare quadruple {3474#(= |old(~elem~0.offset)| |list_del_#in~entry.offset|)} {3443#(<= (+ ~elem~0.offset 1) main_~dev2~0.offset)} #79#return; {3401#false} is VALID [2020-07-08 12:24:29,566 INFO L263 TraceCheckUtils]: 52: Hoare triple {3401#false} call list_add(~dev2~0.base, ~dev2~0.offset, ~#head~0.base, ~#head~0.offset); {3401#false} is VALID [2020-07-08 12:24:29,566 INFO L280 TraceCheckUtils]: 53: Hoare triple {3401#false} ~new.base, ~new.offset := #in~new.base, #in~new.offset;~head.base, ~head.offset := #in~head.base, #in~head.offset; {3401#false} is VALID [2020-07-08 12:24:29,566 INFO L280 TraceCheckUtils]: 54: Hoare triple {3401#false} assume !(~new.base != ~elem~0.base || ~new.offset != ~elem~0.offset); {3401#false} is VALID [2020-07-08 12:24:29,566 INFO L263 TraceCheckUtils]: 55: Hoare triple {3401#false} call __blast_assert(); {3401#false} is VALID [2020-07-08 12:24:29,567 INFO L280 TraceCheckUtils]: 56: Hoare triple {3401#false} assume !false; {3401#false} is VALID [2020-07-08 12:24:29,574 INFO L134 CoverageAnalysis]: Checked inductivity of 21 backedges. 13 proven. 5 refuted. 0 times theorem prover too weak. 3 trivial. 0 not checked. [2020-07-08 12:24:29,574 INFO L354 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleSmtInterpolCraig [867561513] [2020-07-08 12:24:29,575 INFO L354 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleZ3 [1196139199] [2020-07-08 12:24:29,575 INFO L94 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 Starting monitored process 7 with z3 -smt2 -in SMTLIB2_COMPLIANT=true (exit command is (exit), workingDir is null) Waiting until toolchain timeout for monitored process 7 with z3 -smt2 -in SMTLIB2_COMPLIANT=true [2020-07-08 12:24:29,720 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2020-07-08 12:24:29,723 INFO L264 TraceCheckSpWp]: Trace formula consists of 324 conjuncts, 23 conjunts are in the unsatisfiable core [2020-07-08 12:24:29,744 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2020-07-08 12:24:29,752 INFO L287 TraceCheckSpWp]: Computing forward predicates... [2020-07-08 12:24:30,306 INFO L263 TraceCheckUtils]: 0: Hoare triple {3400#true} call ULTIMATE.init(); {3400#true} is VALID [2020-07-08 12:24:30,306 INFO L280 TraceCheckUtils]: 1: Hoare triple {3400#true} #NULL.base, #NULL.offset := 0, 0;#valid := #valid[0 := 0];assume 0 < #StackHeapBarrier;~guard_malloc_counter~0.base, ~guard_malloc_counter~0.offset := 0, 0;~elem~0.base, ~elem~0.offset := 0, 0;call ~#head~0.base, ~#head~0.offset := #Ultimate.allocOnStack(8);call write~init~$Pointer$(0, 0, ~#head~0.base, ~#head~0.offset, 4);call write~init~$Pointer$(0, 0, ~#head~0.base, 4 + ~#head~0.offset, 4); {3400#true} is VALID [2020-07-08 12:24:30,307 INFO L280 TraceCheckUtils]: 2: Hoare triple {3400#true} assume true; {3400#true} is VALID [2020-07-08 12:24:30,307 INFO L275 TraceCheckUtils]: 3: Hoare quadruple {3400#true} {3400#true} #89#return; {3400#true} is VALID [2020-07-08 12:24:30,307 INFO L263 TraceCheckUtils]: 4: Hoare triple {3400#true} call #t~ret34 := main(); {3400#true} is VALID [2020-07-08 12:24:30,307 INFO L280 TraceCheckUtils]: 5: Hoare triple {3400#true} havoc ~dev1~0.base, ~dev1~0.offset;havoc ~dev2~0.base, ~dev2~0.offset; {3400#true} is VALID [2020-07-08 12:24:30,307 INFO L263 TraceCheckUtils]: 6: Hoare triple {3400#true} call #t~ret32.base, #t~ret32.offset := my_malloc(8); {3400#true} is VALID [2020-07-08 12:24:30,307 INFO L280 TraceCheckUtils]: 7: Hoare triple {3400#true} ~size := #in~size; {3400#true} is VALID [2020-07-08 12:24:30,307 INFO L263 TraceCheckUtils]: 8: Hoare triple {3400#true} call #t~ret30.base, #t~ret30.offset := __getMemory(~size); {3400#true} is VALID [2020-07-08 12:24:30,308 INFO L280 TraceCheckUtils]: 9: Hoare triple {3400#true} ~size := #in~size; {3400#true} is VALID [2020-07-08 12:24:30,308 INFO L280 TraceCheckUtils]: 10: Hoare triple {3400#true} assume ~size > 0; {3400#true} is VALID [2020-07-08 12:24:30,308 INFO L280 TraceCheckUtils]: 11: Hoare triple {3400#true} #t~post28.base, #t~post28.offset := ~guard_malloc_counter~0.base, ~guard_malloc_counter~0.offset;~guard_malloc_counter~0.base, ~guard_malloc_counter~0.offset := #t~post28.base, 1 + #t~post28.offset;havoc #t~post28.base, #t~post28.offset;assume -2147483648 <= #t~nondet29 && #t~nondet29 <= 2147483647; {3400#true} is VALID [2020-07-08 12:24:30,308 INFO L280 TraceCheckUtils]: 12: Hoare triple {3400#true} assume !(0 == #t~nondet29);havoc #t~nondet29;#res.base, #res.offset := ~guard_malloc_counter~0.base, ~guard_malloc_counter~0.offset; {3458#(<= |__getMemory_#res.offset| ~guard_malloc_counter~0.offset)} is VALID [2020-07-08 12:24:30,309 INFO L280 TraceCheckUtils]: 13: Hoare triple {3458#(<= |__getMemory_#res.offset| ~guard_malloc_counter~0.offset)} assume true; {3458#(<= |__getMemory_#res.offset| ~guard_malloc_counter~0.offset)} is VALID [2020-07-08 12:24:30,310 INFO L275 TraceCheckUtils]: 14: Hoare quadruple {3458#(<= |__getMemory_#res.offset| ~guard_malloc_counter~0.offset)} {3400#true} #69#return; {3456#(<= |my_malloc_#t~ret30.offset| ~guard_malloc_counter~0.offset)} is VALID [2020-07-08 12:24:30,310 INFO L280 TraceCheckUtils]: 15: Hoare triple {3456#(<= |my_malloc_#t~ret30.offset| ~guard_malloc_counter~0.offset)} #res.base, #res.offset := #t~ret30.base, #t~ret30.offset;havoc #t~ret30.base, #t~ret30.offset; {3457#(<= |my_malloc_#res.offset| ~guard_malloc_counter~0.offset)} is VALID [2020-07-08 12:24:30,310 INFO L280 TraceCheckUtils]: 16: Hoare triple {3457#(<= |my_malloc_#res.offset| ~guard_malloc_counter~0.offset)} assume true; {3457#(<= |my_malloc_#res.offset| ~guard_malloc_counter~0.offset)} is VALID [2020-07-08 12:24:30,311 INFO L275 TraceCheckUtils]: 17: Hoare quadruple {3457#(<= |my_malloc_#res.offset| ~guard_malloc_counter~0.offset)} {3400#true} #71#return; {3416#(<= |main_#t~ret32.offset| ~guard_malloc_counter~0.offset)} is VALID [2020-07-08 12:24:30,312 INFO L280 TraceCheckUtils]: 18: Hoare triple {3416#(<= |main_#t~ret32.offset| ~guard_malloc_counter~0.offset)} ~dev1~0.base, ~dev1~0.offset := #t~ret32.base, #t~ret32.offset;havoc #t~ret32.base, #t~ret32.offset; {3417#(<= main_~dev1~0.offset ~guard_malloc_counter~0.offset)} is VALID [2020-07-08 12:24:30,313 INFO L263 TraceCheckUtils]: 19: Hoare triple {3417#(<= main_~dev1~0.offset ~guard_malloc_counter~0.offset)} call #t~ret33.base, #t~ret33.offset := my_malloc(8); {3535#(<= |old(~guard_malloc_counter~0.offset)| ~guard_malloc_counter~0.offset)} is VALID [2020-07-08 12:24:30,313 INFO L280 TraceCheckUtils]: 20: Hoare triple {3535#(<= |old(~guard_malloc_counter~0.offset)| ~guard_malloc_counter~0.offset)} ~size := #in~size; {3535#(<= |old(~guard_malloc_counter~0.offset)| ~guard_malloc_counter~0.offset)} is VALID [2020-07-08 12:24:30,314 INFO L263 TraceCheckUtils]: 21: Hoare triple {3535#(<= |old(~guard_malloc_counter~0.offset)| ~guard_malloc_counter~0.offset)} call #t~ret30.base, #t~ret30.offset := __getMemory(~size); {3535#(<= |old(~guard_malloc_counter~0.offset)| ~guard_malloc_counter~0.offset)} is VALID [2020-07-08 12:24:30,314 INFO L280 TraceCheckUtils]: 22: Hoare triple {3535#(<= |old(~guard_malloc_counter~0.offset)| ~guard_malloc_counter~0.offset)} ~size := #in~size; {3535#(<= |old(~guard_malloc_counter~0.offset)| ~guard_malloc_counter~0.offset)} is VALID [2020-07-08 12:24:30,315 INFO L280 TraceCheckUtils]: 23: Hoare triple {3535#(<= |old(~guard_malloc_counter~0.offset)| ~guard_malloc_counter~0.offset)} assume ~size > 0; {3535#(<= |old(~guard_malloc_counter~0.offset)| ~guard_malloc_counter~0.offset)} is VALID [2020-07-08 12:24:30,316 INFO L280 TraceCheckUtils]: 24: Hoare triple {3535#(<= |old(~guard_malloc_counter~0.offset)| ~guard_malloc_counter~0.offset)} #t~post28.base, #t~post28.offset := ~guard_malloc_counter~0.base, ~guard_malloc_counter~0.offset;~guard_malloc_counter~0.base, ~guard_malloc_counter~0.offset := #t~post28.base, 1 + #t~post28.offset;havoc #t~post28.base, #t~post28.offset;assume -2147483648 <= #t~nondet29 && #t~nondet29 <= 2147483647; {3468#(<= (+ |old(~guard_malloc_counter~0.offset)| 1) ~guard_malloc_counter~0.offset)} is VALID [2020-07-08 12:24:30,317 INFO L280 TraceCheckUtils]: 25: Hoare triple {3468#(<= (+ |old(~guard_malloc_counter~0.offset)| 1) ~guard_malloc_counter~0.offset)} assume !(0 == #t~nondet29);havoc #t~nondet29;#res.base, #res.offset := ~guard_malloc_counter~0.base, ~guard_malloc_counter~0.offset; {3554#(and (<= (+ |old(~guard_malloc_counter~0.offset)| 1) ~guard_malloc_counter~0.offset) (<= ~guard_malloc_counter~0.offset |__getMemory_#res.offset|))} is VALID [2020-07-08 12:24:30,317 INFO L280 TraceCheckUtils]: 26: Hoare triple {3554#(and (<= (+ |old(~guard_malloc_counter~0.offset)| 1) ~guard_malloc_counter~0.offset) (<= ~guard_malloc_counter~0.offset |__getMemory_#res.offset|))} assume true; {3554#(and (<= (+ |old(~guard_malloc_counter~0.offset)| 1) ~guard_malloc_counter~0.offset) (<= ~guard_malloc_counter~0.offset |__getMemory_#res.offset|))} is VALID [2020-07-08 12:24:30,319 INFO L275 TraceCheckUtils]: 27: Hoare quadruple {3554#(and (<= (+ |old(~guard_malloc_counter~0.offset)| 1) ~guard_malloc_counter~0.offset) (<= ~guard_malloc_counter~0.offset |__getMemory_#res.offset|))} {3535#(<= |old(~guard_malloc_counter~0.offset)| ~guard_malloc_counter~0.offset)} #69#return; {3561#(and (<= (+ |old(~guard_malloc_counter~0.offset)| 1) ~guard_malloc_counter~0.offset) (<= ~guard_malloc_counter~0.offset |my_malloc_#t~ret30.offset|))} is VALID [2020-07-08 12:24:30,320 INFO L280 TraceCheckUtils]: 28: Hoare triple {3561#(and (<= (+ |old(~guard_malloc_counter~0.offset)| 1) ~guard_malloc_counter~0.offset) (<= ~guard_malloc_counter~0.offset |my_malloc_#t~ret30.offset|))} #res.base, #res.offset := #t~ret30.base, #t~ret30.offset;havoc #t~ret30.base, #t~ret30.offset; {3565#(and (<= (+ |old(~guard_malloc_counter~0.offset)| 1) ~guard_malloc_counter~0.offset) (<= ~guard_malloc_counter~0.offset |my_malloc_#res.offset|))} is VALID [2020-07-08 12:24:30,321 INFO L280 TraceCheckUtils]: 29: Hoare triple {3565#(and (<= (+ |old(~guard_malloc_counter~0.offset)| 1) ~guard_malloc_counter~0.offset) (<= ~guard_malloc_counter~0.offset |my_malloc_#res.offset|))} assume true; {3565#(and (<= (+ |old(~guard_malloc_counter~0.offset)| 1) ~guard_malloc_counter~0.offset) (<= ~guard_malloc_counter~0.offset |my_malloc_#res.offset|))} is VALID [2020-07-08 12:24:30,322 INFO L275 TraceCheckUtils]: 30: Hoare quadruple {3565#(and (<= (+ |old(~guard_malloc_counter~0.offset)| 1) ~guard_malloc_counter~0.offset) (<= ~guard_malloc_counter~0.offset |my_malloc_#res.offset|))} {3417#(<= main_~dev1~0.offset ~guard_malloc_counter~0.offset)} #73#return; {3429#(<= (+ main_~dev1~0.offset 1) |main_#t~ret33.offset|)} is VALID [2020-07-08 12:24:30,323 INFO L280 TraceCheckUtils]: 31: Hoare triple {3429#(<= (+ main_~dev1~0.offset 1) |main_#t~ret33.offset|)} ~dev2~0.base, ~dev2~0.offset := #t~ret33.base, #t~ret33.offset;havoc #t~ret33.base, #t~ret33.offset; {3430#(<= (+ main_~dev1~0.offset 1) main_~dev2~0.offset)} is VALID [2020-07-08 12:24:30,323 INFO L280 TraceCheckUtils]: 32: Hoare triple {3430#(<= (+ 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); {3430#(<= (+ main_~dev1~0.offset 1) main_~dev2~0.offset)} is VALID [2020-07-08 12:24:30,324 INFO L263 TraceCheckUtils]: 33: Hoare triple {3430#(<= (+ main_~dev1~0.offset 1) main_~dev2~0.offset)} call list_add(~dev2~0.base, ~dev2~0.offset, ~#head~0.base, ~#head~0.offset); {3400#true} is VALID [2020-07-08 12:24:30,324 INFO L280 TraceCheckUtils]: 34: Hoare triple {3400#true} ~new.base, ~new.offset := #in~new.base, #in~new.offset;~head.base, ~head.offset := #in~head.base, #in~head.offset; {3400#true} is VALID [2020-07-08 12:24:30,324 INFO L280 TraceCheckUtils]: 35: Hoare triple {3400#true} assume ~new.base != ~elem~0.base || ~new.offset != ~elem~0.offset; {3400#true} is VALID [2020-07-08 12:24:30,324 INFO L280 TraceCheckUtils]: 36: Hoare triple {3400#true} assume -2147483648 <= #t~nondet31 && #t~nondet31 <= 2147483647; {3400#true} is VALID [2020-07-08 12:24:30,324 INFO L280 TraceCheckUtils]: 37: Hoare triple {3400#true} assume 0 != #t~nondet31;havoc #t~nondet31;~elem~0.base, ~elem~0.offset := ~new.base, ~new.offset; {3400#true} is VALID [2020-07-08 12:24:30,324 INFO L280 TraceCheckUtils]: 38: Hoare triple {3400#true} assume true; {3400#true} is VALID [2020-07-08 12:24:30,325 INFO L275 TraceCheckUtils]: 39: Hoare quadruple {3400#true} {3430#(<= (+ main_~dev1~0.offset 1) main_~dev2~0.offset)} #75#return; {3430#(<= (+ main_~dev1~0.offset 1) main_~dev2~0.offset)} is VALID [2020-07-08 12:24:30,325 INFO L263 TraceCheckUtils]: 40: Hoare triple {3430#(<= (+ main_~dev1~0.offset 1) main_~dev2~0.offset)} call list_add(~dev1~0.base, ~dev1~0.offset, ~#head~0.base, ~#head~0.offset); {3400#true} is VALID [2020-07-08 12:24:30,326 INFO L280 TraceCheckUtils]: 41: Hoare triple {3400#true} ~new.base, ~new.offset := #in~new.base, #in~new.offset;~head.base, ~head.offset := #in~head.base, #in~head.offset; {3605#(<= list_add_~new.offset |list_add_#in~new.offset|)} is VALID [2020-07-08 12:24:30,326 INFO L280 TraceCheckUtils]: 42: Hoare triple {3605#(<= list_add_~new.offset |list_add_#in~new.offset|)} assume ~new.base != ~elem~0.base || ~new.offset != ~elem~0.offset; {3605#(<= list_add_~new.offset |list_add_#in~new.offset|)} is VALID [2020-07-08 12:24:30,326 INFO L280 TraceCheckUtils]: 43: Hoare triple {3605#(<= list_add_~new.offset |list_add_#in~new.offset|)} assume -2147483648 <= #t~nondet31 && #t~nondet31 <= 2147483647; {3605#(<= list_add_~new.offset |list_add_#in~new.offset|)} is VALID [2020-07-08 12:24:30,334 INFO L280 TraceCheckUtils]: 44: Hoare triple {3605#(<= list_add_~new.offset |list_add_#in~new.offset|)} assume 0 != #t~nondet31;havoc #t~nondet31;~elem~0.base, ~elem~0.offset := ~new.base, ~new.offset; {3615#(<= ~elem~0.offset |list_add_#in~new.offset|)} is VALID [2020-07-08 12:24:30,334 INFO L280 TraceCheckUtils]: 45: Hoare triple {3615#(<= ~elem~0.offset |list_add_#in~new.offset|)} assume true; {3615#(<= ~elem~0.offset |list_add_#in~new.offset|)} is VALID [2020-07-08 12:24:30,336 INFO L275 TraceCheckUtils]: 46: Hoare quadruple {3615#(<= ~elem~0.offset |list_add_#in~new.offset|)} {3430#(<= (+ main_~dev1~0.offset 1) main_~dev2~0.offset)} #77#return; {3443#(<= (+ ~elem~0.offset 1) main_~dev2~0.offset)} is VALID [2020-07-08 12:24:30,336 INFO L263 TraceCheckUtils]: 47: Hoare triple {3443#(<= (+ ~elem~0.offset 1) main_~dev2~0.offset)} call list_del(~dev2~0.base, ~dev2~0.offset); {3625#(<= ~elem~0.offset |old(~elem~0.offset)|)} is VALID [2020-07-08 12:24:30,337 INFO L280 TraceCheckUtils]: 48: Hoare triple {3625#(<= ~elem~0.offset |old(~elem~0.offset)|)} ~entry.base, ~entry.offset := #in~entry.base, #in~entry.offset; {3629#(and (<= ~elem~0.offset |old(~elem~0.offset)|) (<= |list_del_#in~entry.offset| list_del_~entry.offset))} is VALID [2020-07-08 12:24:30,338 INFO L280 TraceCheckUtils]: 49: Hoare triple {3629#(and (<= ~elem~0.offset |old(~elem~0.offset)|) (<= |list_del_#in~entry.offset| list_del_~entry.offset))} assume ~entry.base == ~elem~0.base && ~entry.offset == ~elem~0.offset;~elem~0.base, ~elem~0.offset := 0, 0; {3633#(<= |list_del_#in~entry.offset| |old(~elem~0.offset)|)} is VALID [2020-07-08 12:24:30,338 INFO L280 TraceCheckUtils]: 50: Hoare triple {3633#(<= |list_del_#in~entry.offset| |old(~elem~0.offset)|)} assume true; {3633#(<= |list_del_#in~entry.offset| |old(~elem~0.offset)|)} is VALID [2020-07-08 12:24:30,339 INFO L275 TraceCheckUtils]: 51: Hoare quadruple {3633#(<= |list_del_#in~entry.offset| |old(~elem~0.offset)|)} {3443#(<= (+ ~elem~0.offset 1) main_~dev2~0.offset)} #79#return; {3401#false} is VALID [2020-07-08 12:24:30,340 INFO L263 TraceCheckUtils]: 52: Hoare triple {3401#false} call list_add(~dev2~0.base, ~dev2~0.offset, ~#head~0.base, ~#head~0.offset); {3401#false} is VALID [2020-07-08 12:24:30,340 INFO L280 TraceCheckUtils]: 53: Hoare triple {3401#false} ~new.base, ~new.offset := #in~new.base, #in~new.offset;~head.base, ~head.offset := #in~head.base, #in~head.offset; {3401#false} is VALID [2020-07-08 12:24:30,340 INFO L280 TraceCheckUtils]: 54: Hoare triple {3401#false} assume !(~new.base != ~elem~0.base || ~new.offset != ~elem~0.offset); {3401#false} is VALID [2020-07-08 12:24:30,340 INFO L263 TraceCheckUtils]: 55: Hoare triple {3401#false} call __blast_assert(); {3401#false} is VALID [2020-07-08 12:24:30,340 INFO L280 TraceCheckUtils]: 56: Hoare triple {3401#false} assume !false; {3401#false} is VALID [2020-07-08 12:24:30,344 INFO L134 CoverageAnalysis]: Checked inductivity of 21 backedges. 15 proven. 5 refuted. 0 times theorem prover too weak. 1 trivial. 0 not checked. [2020-07-08 12:24:30,345 INFO L220 FreeRefinementEngine]: Constructing automaton from 0 perfect and 2 imperfect interpolant sequences. [2020-07-08 12:24:30,345 INFO L233 FreeRefinementEngine]: Number of different interpolants: perfect sequences [] imperfect sequences [22, 20] total 31 [2020-07-08 12:24:30,345 INFO L156 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [255925669] [2020-07-08 12:24:30,346 INFO L78 Accepts]: Start accepts. Automaton has 31 states. Word has length 57 [2020-07-08 12:24:30,349 INFO L84 Accepts]: Finished accepts. word is accepted. [2020-07-08 12:24:30,349 INFO L86 InductivityCheck]: Starting indutivity check of a Floyd-Hoare automaton with 31 states. [2020-07-08 12:24:30,469 INFO L119 InductivityCheck]: Floyd-Hoare automaton has 89 edges. 89 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2020-07-08 12:24:30,469 INFO L459 AbstractCegarLoop]: Interpolant automaton has 31 states [2020-07-08 12:24:30,470 INFO L143 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy CAMEL [2020-07-08 12:24:30,470 INFO L142 InterpolantAutomaton]: Constructing interpolant automaton starting with 31 interpolants. [2020-07-08 12:24:30,471 INFO L144 InterpolantAutomaton]: CoverageRelationStatistics Valid=84, Invalid=846, Unknown=0, NotChecked=0, Total=930 [2020-07-08 12:24:30,471 INFO L87 Difference]: Start difference. First operand 70 states and 80 transitions. Second operand 31 states. [2020-07-08 12:24:36,468 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2020-07-08 12:24:36,468 INFO L93 Difference]: Finished difference Result 84 states and 94 transitions. [2020-07-08 12:24:36,468 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 20 states. [2020-07-08 12:24:36,468 INFO L78 Accepts]: Start accepts. Automaton has 31 states. Word has length 57 [2020-07-08 12:24:36,469 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2020-07-08 12:24:36,469 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 31 states. [2020-07-08 12:24:36,474 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 20 states to 20 states and 76 transitions. [2020-07-08 12:24:36,474 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 31 states. [2020-07-08 12:24:36,482 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 20 states to 20 states and 76 transitions. [2020-07-08 12:24:36,482 INFO L86 InductivityCheck]: Starting indutivity check of a Floyd-Hoare automaton with 20 states and 76 transitions. [2020-07-08 12:24:36,611 INFO L119 InductivityCheck]: Floyd-Hoare automaton has 76 edges. 76 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2020-07-08 12:24:36,614 INFO L225 Difference]: With dead ends: 84 [2020-07-08 12:24:36,614 INFO L226 Difference]: Without dead ends: 71 [2020-07-08 12:24:36,616 INFO L675 BasicCegarLoop]: 0 DeclaredPredicates, 107 GetRequests, 61 SyntacticMatches, 0 SemanticMatches, 46 ConstructedPredicates, 0 IntricatePredicates, 0 DeprecatedPredicates, 260 ImplicationChecksByTransitivity, 1.4s TimeCoverageRelationStatistics Valid=245, Invalid=2011, Unknown=0, NotChecked=0, Total=2256 [2020-07-08 12:24:36,616 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 71 states. [2020-07-08 12:24:36,744 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 71 to 70. [2020-07-08 12:24:36,744 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2020-07-08 12:24:36,744 INFO L82 GeneralOperation]: Start isEquivalent. First operand 71 states. Second operand 70 states. [2020-07-08 12:24:36,744 INFO L74 IsIncluded]: Start isIncluded. First operand 71 states. Second operand 70 states. [2020-07-08 12:24:36,744 INFO L87 Difference]: Start difference. First operand 71 states. Second operand 70 states. [2020-07-08 12:24:36,747 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2020-07-08 12:24:36,748 INFO L93 Difference]: Finished difference Result 71 states and 80 transitions. [2020-07-08 12:24:36,748 INFO L276 IsEmpty]: Start isEmpty. Operand 71 states and 80 transitions. [2020-07-08 12:24:36,749 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2020-07-08 12:24:36,749 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2020-07-08 12:24:36,749 INFO L74 IsIncluded]: Start isIncluded. First operand 70 states. Second operand 71 states. [2020-07-08 12:24:36,749 INFO L87 Difference]: Start difference. First operand 70 states. Second operand 71 states. [2020-07-08 12:24:36,752 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2020-07-08 12:24:36,753 INFO L93 Difference]: Finished difference Result 71 states and 80 transitions. [2020-07-08 12:24:36,753 INFO L276 IsEmpty]: Start isEmpty. Operand 71 states and 80 transitions. [2020-07-08 12:24:36,753 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2020-07-08 12:24:36,753 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2020-07-08 12:24:36,754 INFO L88 GeneralOperation]: Finished isEquivalent. [2020-07-08 12:24:36,754 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2020-07-08 12:24:36,754 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 70 states. [2020-07-08 12:24:36,757 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 70 states to 70 states and 79 transitions. [2020-07-08 12:24:36,757 INFO L78 Accepts]: Start accepts. Automaton has 70 states and 79 transitions. Word has length 57 [2020-07-08 12:24:36,757 INFO L84 Accepts]: Finished accepts. word is rejected. [2020-07-08 12:24:36,757 INFO L479 AbstractCegarLoop]: Abstraction has 70 states and 79 transitions. [2020-07-08 12:24:36,757 INFO L480 AbstractCegarLoop]: Interpolant automaton has 31 states. [2020-07-08 12:24:36,758 INFO L276 IsEmpty]: Start isEmpty. Operand 70 states and 79 transitions. [2020-07-08 12:24:36,758 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 58 [2020-07-08 12:24:36,758 INFO L414 BasicCegarLoop]: Found error trace [2020-07-08 12:24:36,759 INFO L422 BasicCegarLoop]: trace histogram [3, 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] [2020-07-08 12:24:36,973 WARN L516 AbstractCegarLoop]: Destroyed unattended storables created during the last iteration: SelfDestructingSolverStorable7,7 z3 -smt2 -in SMTLIB2_COMPLIANT=true [2020-07-08 12:24:36,973 INFO L427 AbstractCegarLoop]: === Iteration 9 === [__blast_assertErr0ASSERT_VIOLATIONERROR_FUNCTION]=== [2020-07-08 12:24:36,974 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2020-07-08 12:24:36,974 INFO L82 PathProgramCache]: Analyzing trace with hash 482320829, now seen corresponding path program 1 times [2020-07-08 12:24:36,975 INFO L163 FreeRefinementEngine]: Executing refinement strategy CAMEL [2020-07-08 12:24:36,975 INFO L354 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [2015499411] [2020-07-08 12:24:36,976 INFO L94 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2020-07-08 12:24:37,005 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2020-07-08 12:24:37,086 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2020-07-08 12:24:37,094 INFO L280 TraceCheckUtils]: 0: Hoare triple {4088#(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;#valid := #valid[0 := 0];assume 0 < #StackHeapBarrier;~guard_malloc_counter~0.base, ~guard_malloc_counter~0.offset := 0, 0;~elem~0.base, ~elem~0.offset := 0, 0;call ~#head~0.base, ~#head~0.offset := #Ultimate.allocOnStack(8);call write~init~$Pointer$(0, 0, ~#head~0.base, ~#head~0.offset, 4);call write~init~$Pointer$(0, 0, ~#head~0.base, 4 + ~#head~0.offset, 4); {4044#true} is VALID [2020-07-08 12:24:37,094 INFO L280 TraceCheckUtils]: 1: Hoare triple {4044#true} assume true; {4044#true} is VALID [2020-07-08 12:24:37,094 INFO L275 TraceCheckUtils]: 2: Hoare quadruple {4044#true} {4044#true} #89#return; {4044#true} is VALID [2020-07-08 12:24:37,105 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2020-07-08 12:24:37,111 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2020-07-08 12:24:37,115 INFO L280 TraceCheckUtils]: 0: Hoare triple {4089#(and (= ~guard_malloc_counter~0.offset |old(~guard_malloc_counter~0.offset)|) (= ~guard_malloc_counter~0.base |old(~guard_malloc_counter~0.base)|))} ~size := #in~size; {4044#true} is VALID [2020-07-08 12:24:37,115 INFO L280 TraceCheckUtils]: 1: Hoare triple {4044#true} assume ~size > 0; {4044#true} is VALID [2020-07-08 12:24:37,116 INFO L280 TraceCheckUtils]: 2: Hoare triple {4044#true} #t~post28.base, #t~post28.offset := ~guard_malloc_counter~0.base, ~guard_malloc_counter~0.offset;~guard_malloc_counter~0.base, ~guard_malloc_counter~0.offset := #t~post28.base, 1 + #t~post28.offset;havoc #t~post28.base, #t~post28.offset;assume -2147483648 <= #t~nondet29 && #t~nondet29 <= 2147483647; {4044#true} is VALID [2020-07-08 12:24:37,116 INFO L280 TraceCheckUtils]: 3: Hoare triple {4044#true} assume !(0 == #t~nondet29);havoc #t~nondet29;#res.base, #res.offset := ~guard_malloc_counter~0.base, ~guard_malloc_counter~0.offset; {4044#true} is VALID [2020-07-08 12:24:37,116 INFO L280 TraceCheckUtils]: 4: Hoare triple {4044#true} assume true; {4044#true} is VALID [2020-07-08 12:24:37,116 INFO L275 TraceCheckUtils]: 5: Hoare quadruple {4044#true} {4044#true} #69#return; {4044#true} is VALID [2020-07-08 12:24:37,116 INFO L280 TraceCheckUtils]: 0: Hoare triple {4089#(and (= ~guard_malloc_counter~0.offset |old(~guard_malloc_counter~0.offset)|) (= ~guard_malloc_counter~0.base |old(~guard_malloc_counter~0.base)|))} ~size := #in~size; {4044#true} is VALID [2020-07-08 12:24:37,117 INFO L263 TraceCheckUtils]: 1: Hoare triple {4044#true} call #t~ret30.base, #t~ret30.offset := __getMemory(~size); {4089#(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-08 12:24:37,118 INFO L280 TraceCheckUtils]: 2: Hoare triple {4089#(and (= ~guard_malloc_counter~0.offset |old(~guard_malloc_counter~0.offset)|) (= ~guard_malloc_counter~0.base |old(~guard_malloc_counter~0.base)|))} ~size := #in~size; {4044#true} is VALID [2020-07-08 12:24:37,118 INFO L280 TraceCheckUtils]: 3: Hoare triple {4044#true} assume ~size > 0; {4044#true} is VALID [2020-07-08 12:24:37,118 INFO L280 TraceCheckUtils]: 4: Hoare triple {4044#true} #t~post28.base, #t~post28.offset := ~guard_malloc_counter~0.base, ~guard_malloc_counter~0.offset;~guard_malloc_counter~0.base, ~guard_malloc_counter~0.offset := #t~post28.base, 1 + #t~post28.offset;havoc #t~post28.base, #t~post28.offset;assume -2147483648 <= #t~nondet29 && #t~nondet29 <= 2147483647; {4044#true} is VALID [2020-07-08 12:24:37,118 INFO L280 TraceCheckUtils]: 5: Hoare triple {4044#true} assume !(0 == #t~nondet29);havoc #t~nondet29;#res.base, #res.offset := ~guard_malloc_counter~0.base, ~guard_malloc_counter~0.offset; {4044#true} is VALID [2020-07-08 12:24:37,119 INFO L280 TraceCheckUtils]: 6: Hoare triple {4044#true} assume true; {4044#true} is VALID [2020-07-08 12:24:37,119 INFO L275 TraceCheckUtils]: 7: Hoare quadruple {4044#true} {4044#true} #69#return; {4044#true} is VALID [2020-07-08 12:24:37,119 INFO L280 TraceCheckUtils]: 8: Hoare triple {4044#true} #res.base, #res.offset := #t~ret30.base, #t~ret30.offset;havoc #t~ret30.base, #t~ret30.offset; {4044#true} is VALID [2020-07-08 12:24:37,119 INFO L280 TraceCheckUtils]: 9: Hoare triple {4044#true} assume true; {4044#true} is VALID [2020-07-08 12:24:37,119 INFO L275 TraceCheckUtils]: 10: Hoare quadruple {4044#true} {4044#true} #71#return; {4044#true} is VALID [2020-07-08 12:24:37,120 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2020-07-08 12:24:37,129 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2020-07-08 12:24:37,133 INFO L280 TraceCheckUtils]: 0: Hoare triple {4089#(and (= ~guard_malloc_counter~0.offset |old(~guard_malloc_counter~0.offset)|) (= ~guard_malloc_counter~0.base |old(~guard_malloc_counter~0.base)|))} ~size := #in~size; {4044#true} is VALID [2020-07-08 12:24:37,134 INFO L280 TraceCheckUtils]: 1: Hoare triple {4044#true} assume ~size > 0; {4044#true} is VALID [2020-07-08 12:24:37,134 INFO L280 TraceCheckUtils]: 2: Hoare triple {4044#true} #t~post28.base, #t~post28.offset := ~guard_malloc_counter~0.base, ~guard_malloc_counter~0.offset;~guard_malloc_counter~0.base, ~guard_malloc_counter~0.offset := #t~post28.base, 1 + #t~post28.offset;havoc #t~post28.base, #t~post28.offset;assume -2147483648 <= #t~nondet29 && #t~nondet29 <= 2147483647; {4044#true} is VALID [2020-07-08 12:24:37,134 INFO L280 TraceCheckUtils]: 3: Hoare triple {4044#true} assume !(0 == #t~nondet29);havoc #t~nondet29;#res.base, #res.offset := ~guard_malloc_counter~0.base, ~guard_malloc_counter~0.offset; {4044#true} is VALID [2020-07-08 12:24:37,134 INFO L280 TraceCheckUtils]: 4: Hoare triple {4044#true} assume true; {4044#true} is VALID [2020-07-08 12:24:37,135 INFO L275 TraceCheckUtils]: 5: Hoare quadruple {4044#true} {4044#true} #69#return; {4044#true} is VALID [2020-07-08 12:24:37,135 INFO L280 TraceCheckUtils]: 0: Hoare triple {4089#(and (= ~guard_malloc_counter~0.offset |old(~guard_malloc_counter~0.offset)|) (= ~guard_malloc_counter~0.base |old(~guard_malloc_counter~0.base)|))} ~size := #in~size; {4044#true} is VALID [2020-07-08 12:24:37,136 INFO L263 TraceCheckUtils]: 1: Hoare triple {4044#true} call #t~ret30.base, #t~ret30.offset := __getMemory(~size); {4089#(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-08 12:24:37,136 INFO L280 TraceCheckUtils]: 2: Hoare triple {4089#(and (= ~guard_malloc_counter~0.offset |old(~guard_malloc_counter~0.offset)|) (= ~guard_malloc_counter~0.base |old(~guard_malloc_counter~0.base)|))} ~size := #in~size; {4044#true} is VALID [2020-07-08 12:24:37,136 INFO L280 TraceCheckUtils]: 3: Hoare triple {4044#true} assume ~size > 0; {4044#true} is VALID [2020-07-08 12:24:37,137 INFO L280 TraceCheckUtils]: 4: Hoare triple {4044#true} #t~post28.base, #t~post28.offset := ~guard_malloc_counter~0.base, ~guard_malloc_counter~0.offset;~guard_malloc_counter~0.base, ~guard_malloc_counter~0.offset := #t~post28.base, 1 + #t~post28.offset;havoc #t~post28.base, #t~post28.offset;assume -2147483648 <= #t~nondet29 && #t~nondet29 <= 2147483647; {4044#true} is VALID [2020-07-08 12:24:37,137 INFO L280 TraceCheckUtils]: 5: Hoare triple {4044#true} assume !(0 == #t~nondet29);havoc #t~nondet29;#res.base, #res.offset := ~guard_malloc_counter~0.base, ~guard_malloc_counter~0.offset; {4044#true} is VALID [2020-07-08 12:24:37,137 INFO L280 TraceCheckUtils]: 6: Hoare triple {4044#true} assume true; {4044#true} is VALID [2020-07-08 12:24:37,137 INFO L275 TraceCheckUtils]: 7: Hoare quadruple {4044#true} {4044#true} #69#return; {4044#true} is VALID [2020-07-08 12:24:37,137 INFO L280 TraceCheckUtils]: 8: Hoare triple {4044#true} #res.base, #res.offset := #t~ret30.base, #t~ret30.offset;havoc #t~ret30.base, #t~ret30.offset; {4044#true} is VALID [2020-07-08 12:24:37,137 INFO L280 TraceCheckUtils]: 9: Hoare triple {4044#true} assume true; {4044#true} is VALID [2020-07-08 12:24:37,138 INFO L275 TraceCheckUtils]: 10: Hoare quadruple {4044#true} {4044#true} #73#return; {4044#true} is VALID [2020-07-08 12:24:37,151 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2020-07-08 12:24:37,197 INFO L280 TraceCheckUtils]: 0: Hoare triple {4102#(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;~head.base, ~head.offset := #in~head.base, #in~head.offset; {4103#(and (= list_add_~new.base |list_add_#in~new.base|) (= |list_add_#in~new.offset| list_add_~new.offset))} is VALID [2020-07-08 12:24:37,198 INFO L280 TraceCheckUtils]: 1: Hoare triple {4103#(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; {4103#(and (= list_add_~new.base |list_add_#in~new.base|) (= |list_add_#in~new.offset| list_add_~new.offset))} is VALID [2020-07-08 12:24:37,199 INFO L280 TraceCheckUtils]: 2: Hoare triple {4103#(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; {4103#(and (= list_add_~new.base |list_add_#in~new.base|) (= |list_add_#in~new.offset| list_add_~new.offset))} is VALID [2020-07-08 12:24:37,201 INFO L280 TraceCheckUtils]: 3: Hoare triple {4103#(and (= list_add_~new.base |list_add_#in~new.base|) (= |list_add_#in~new.offset| list_add_~new.offset))} assume 0 != #t~nondet31;havoc #t~nondet31;~elem~0.base, ~elem~0.offset := ~new.base, ~new.offset; {4104#(and (= ~elem~0.base |list_add_#in~new.base|) (= ~elem~0.offset |list_add_#in~new.offset|))} is VALID [2020-07-08 12:24:37,202 INFO L280 TraceCheckUtils]: 4: Hoare triple {4104#(and (= ~elem~0.base |list_add_#in~new.base|) (= ~elem~0.offset |list_add_#in~new.offset|))} assume true; {4104#(and (= ~elem~0.base |list_add_#in~new.base|) (= ~elem~0.offset |list_add_#in~new.offset|))} is VALID [2020-07-08 12:24:37,204 INFO L275 TraceCheckUtils]: 5: Hoare quadruple {4104#(and (= ~elem~0.base |list_add_#in~new.base|) (= ~elem~0.offset |list_add_#in~new.offset|))} {4044#true} #75#return; {4077#(and (= main_~dev2~0.base ~elem~0.base) (= main_~dev2~0.offset ~elem~0.offset))} is VALID [2020-07-08 12:24:37,206 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2020-07-08 12:24:37,223 INFO L280 TraceCheckUtils]: 0: Hoare triple {4102#(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;~head.base, ~head.offset := #in~head.base, #in~head.offset; {4102#(and (= ~elem~0.base |old(~elem~0.base)|) (= ~elem~0.offset |old(~elem~0.offset)|))} is VALID [2020-07-08 12:24:37,224 INFO L280 TraceCheckUtils]: 1: Hoare triple {4102#(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; {4102#(and (= ~elem~0.base |old(~elem~0.base)|) (= ~elem~0.offset |old(~elem~0.offset)|))} is VALID [2020-07-08 12:24:37,225 INFO L280 TraceCheckUtils]: 2: Hoare triple {4102#(and (= ~elem~0.base |old(~elem~0.base)|) (= ~elem~0.offset |old(~elem~0.offset)|))} assume -2147483648 <= #t~nondet31 && #t~nondet31 <= 2147483647; {4102#(and (= ~elem~0.base |old(~elem~0.base)|) (= ~elem~0.offset |old(~elem~0.offset)|))} is VALID [2020-07-08 12:24:37,226 INFO L280 TraceCheckUtils]: 3: Hoare triple {4102#(and (= ~elem~0.base |old(~elem~0.base)|) (= ~elem~0.offset |old(~elem~0.offset)|))} assume !(0 != #t~nondet31);havoc #t~nondet31; {4102#(and (= ~elem~0.base |old(~elem~0.base)|) (= ~elem~0.offset |old(~elem~0.offset)|))} is VALID [2020-07-08 12:24:37,227 INFO L280 TraceCheckUtils]: 4: Hoare triple {4102#(and (= ~elem~0.base |old(~elem~0.base)|) (= ~elem~0.offset |old(~elem~0.offset)|))} assume true; {4102#(and (= ~elem~0.base |old(~elem~0.base)|) (= ~elem~0.offset |old(~elem~0.offset)|))} is VALID [2020-07-08 12:24:37,229 INFO L275 TraceCheckUtils]: 5: Hoare quadruple {4102#(and (= ~elem~0.base |old(~elem~0.base)|) (= ~elem~0.offset |old(~elem~0.offset)|))} {4077#(and (= main_~dev2~0.base ~elem~0.base) (= main_~dev2~0.offset ~elem~0.offset))} #77#return; {4077#(and (= main_~dev2~0.base ~elem~0.base) (= main_~dev2~0.offset ~elem~0.offset))} is VALID [2020-07-08 12:24:37,230 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2020-07-08 12:24:37,280 INFO L280 TraceCheckUtils]: 0: Hoare triple {4102#(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; {4105#(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-08 12:24:37,282 INFO L280 TraceCheckUtils]: 1: Hoare triple {4105#(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); {4106#(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-08 12:24:37,282 INFO L280 TraceCheckUtils]: 2: Hoare triple {4106#(or (not (= |old(~elem~0.base)| |list_del_#in~entry.base|)) (not (= |old(~elem~0.offset)| |list_del_#in~entry.offset|)))} assume true; {4106#(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-08 12:24:37,284 INFO L275 TraceCheckUtils]: 3: Hoare quadruple {4106#(or (not (= |old(~elem~0.base)| |list_del_#in~entry.base|)) (not (= |old(~elem~0.offset)| |list_del_#in~entry.offset|)))} {4077#(and (= main_~dev2~0.base ~elem~0.base) (= main_~dev2~0.offset ~elem~0.offset))} #79#return; {4045#false} is VALID [2020-07-08 12:24:37,285 INFO L263 TraceCheckUtils]: 0: Hoare triple {4044#true} call ULTIMATE.init(); {4088#(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-08 12:24:37,286 INFO L280 TraceCheckUtils]: 1: Hoare triple {4088#(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;#valid := #valid[0 := 0];assume 0 < #StackHeapBarrier;~guard_malloc_counter~0.base, ~guard_malloc_counter~0.offset := 0, 0;~elem~0.base, ~elem~0.offset := 0, 0;call ~#head~0.base, ~#head~0.offset := #Ultimate.allocOnStack(8);call write~init~$Pointer$(0, 0, ~#head~0.base, ~#head~0.offset, 4);call write~init~$Pointer$(0, 0, ~#head~0.base, 4 + ~#head~0.offset, 4); {4044#true} is VALID [2020-07-08 12:24:37,286 INFO L280 TraceCheckUtils]: 2: Hoare triple {4044#true} assume true; {4044#true} is VALID [2020-07-08 12:24:37,286 INFO L275 TraceCheckUtils]: 3: Hoare quadruple {4044#true} {4044#true} #89#return; {4044#true} is VALID [2020-07-08 12:24:37,286 INFO L263 TraceCheckUtils]: 4: Hoare triple {4044#true} call #t~ret34 := main(); {4044#true} is VALID [2020-07-08 12:24:37,286 INFO L280 TraceCheckUtils]: 5: Hoare triple {4044#true} havoc ~dev1~0.base, ~dev1~0.offset;havoc ~dev2~0.base, ~dev2~0.offset; {4044#true} is VALID [2020-07-08 12:24:37,288 INFO L263 TraceCheckUtils]: 6: Hoare triple {4044#true} call #t~ret32.base, #t~ret32.offset := my_malloc(8); {4089#(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-08 12:24:37,288 INFO L280 TraceCheckUtils]: 7: Hoare triple {4089#(and (= ~guard_malloc_counter~0.offset |old(~guard_malloc_counter~0.offset)|) (= ~guard_malloc_counter~0.base |old(~guard_malloc_counter~0.base)|))} ~size := #in~size; {4044#true} is VALID [2020-07-08 12:24:37,289 INFO L263 TraceCheckUtils]: 8: Hoare triple {4044#true} call #t~ret30.base, #t~ret30.offset := __getMemory(~size); {4089#(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-08 12:24:37,289 INFO L280 TraceCheckUtils]: 9: Hoare triple {4089#(and (= ~guard_malloc_counter~0.offset |old(~guard_malloc_counter~0.offset)|) (= ~guard_malloc_counter~0.base |old(~guard_malloc_counter~0.base)|))} ~size := #in~size; {4044#true} is VALID [2020-07-08 12:24:37,289 INFO L280 TraceCheckUtils]: 10: Hoare triple {4044#true} assume ~size > 0; {4044#true} is VALID [2020-07-08 12:24:37,290 INFO L280 TraceCheckUtils]: 11: Hoare triple {4044#true} #t~post28.base, #t~post28.offset := ~guard_malloc_counter~0.base, ~guard_malloc_counter~0.offset;~guard_malloc_counter~0.base, ~guard_malloc_counter~0.offset := #t~post28.base, 1 + #t~post28.offset;havoc #t~post28.base, #t~post28.offset;assume -2147483648 <= #t~nondet29 && #t~nondet29 <= 2147483647; {4044#true} is VALID [2020-07-08 12:24:37,290 INFO L280 TraceCheckUtils]: 12: Hoare triple {4044#true} assume !(0 == #t~nondet29);havoc #t~nondet29;#res.base, #res.offset := ~guard_malloc_counter~0.base, ~guard_malloc_counter~0.offset; {4044#true} is VALID [2020-07-08 12:24:37,290 INFO L280 TraceCheckUtils]: 13: Hoare triple {4044#true} assume true; {4044#true} is VALID [2020-07-08 12:24:37,290 INFO L275 TraceCheckUtils]: 14: Hoare quadruple {4044#true} {4044#true} #69#return; {4044#true} is VALID [2020-07-08 12:24:37,290 INFO L280 TraceCheckUtils]: 15: Hoare triple {4044#true} #res.base, #res.offset := #t~ret30.base, #t~ret30.offset;havoc #t~ret30.base, #t~ret30.offset; {4044#true} is VALID [2020-07-08 12:24:37,291 INFO L280 TraceCheckUtils]: 16: Hoare triple {4044#true} assume true; {4044#true} is VALID [2020-07-08 12:24:37,291 INFO L275 TraceCheckUtils]: 17: Hoare quadruple {4044#true} {4044#true} #71#return; {4044#true} is VALID [2020-07-08 12:24:37,291 INFO L280 TraceCheckUtils]: 18: Hoare triple {4044#true} ~dev1~0.base, ~dev1~0.offset := #t~ret32.base, #t~ret32.offset;havoc #t~ret32.base, #t~ret32.offset; {4044#true} is VALID [2020-07-08 12:24:37,292 INFO L263 TraceCheckUtils]: 19: Hoare triple {4044#true} call #t~ret33.base, #t~ret33.offset := my_malloc(8); {4089#(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-08 12:24:37,293 INFO L280 TraceCheckUtils]: 20: Hoare triple {4089#(and (= ~guard_malloc_counter~0.offset |old(~guard_malloc_counter~0.offset)|) (= ~guard_malloc_counter~0.base |old(~guard_malloc_counter~0.base)|))} ~size := #in~size; {4044#true} is VALID [2020-07-08 12:24:37,294 INFO L263 TraceCheckUtils]: 21: Hoare triple {4044#true} call #t~ret30.base, #t~ret30.offset := __getMemory(~size); {4089#(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-08 12:24:37,294 INFO L280 TraceCheckUtils]: 22: Hoare triple {4089#(and (= ~guard_malloc_counter~0.offset |old(~guard_malloc_counter~0.offset)|) (= ~guard_malloc_counter~0.base |old(~guard_malloc_counter~0.base)|))} ~size := #in~size; {4044#true} is VALID [2020-07-08 12:24:37,294 INFO L280 TraceCheckUtils]: 23: Hoare triple {4044#true} assume ~size > 0; {4044#true} is VALID [2020-07-08 12:24:37,295 INFO L280 TraceCheckUtils]: 24: Hoare triple {4044#true} #t~post28.base, #t~post28.offset := ~guard_malloc_counter~0.base, ~guard_malloc_counter~0.offset;~guard_malloc_counter~0.base, ~guard_malloc_counter~0.offset := #t~post28.base, 1 + #t~post28.offset;havoc #t~post28.base, #t~post28.offset;assume -2147483648 <= #t~nondet29 && #t~nondet29 <= 2147483647; {4044#true} is VALID [2020-07-08 12:24:37,295 INFO L280 TraceCheckUtils]: 25: Hoare triple {4044#true} assume !(0 == #t~nondet29);havoc #t~nondet29;#res.base, #res.offset := ~guard_malloc_counter~0.base, ~guard_malloc_counter~0.offset; {4044#true} is VALID [2020-07-08 12:24:37,295 INFO L280 TraceCheckUtils]: 26: Hoare triple {4044#true} assume true; {4044#true} is VALID [2020-07-08 12:24:37,295 INFO L275 TraceCheckUtils]: 27: Hoare quadruple {4044#true} {4044#true} #69#return; {4044#true} is VALID [2020-07-08 12:24:37,295 INFO L280 TraceCheckUtils]: 28: Hoare triple {4044#true} #res.base, #res.offset := #t~ret30.base, #t~ret30.offset;havoc #t~ret30.base, #t~ret30.offset; {4044#true} is VALID [2020-07-08 12:24:37,295 INFO L280 TraceCheckUtils]: 29: Hoare triple {4044#true} assume true; {4044#true} is VALID [2020-07-08 12:24:37,296 INFO L275 TraceCheckUtils]: 30: Hoare quadruple {4044#true} {4044#true} #73#return; {4044#true} is VALID [2020-07-08 12:24:37,296 INFO L280 TraceCheckUtils]: 31: Hoare triple {4044#true} ~dev2~0.base, ~dev2~0.offset := #t~ret33.base, #t~ret33.offset;havoc #t~ret33.base, #t~ret33.offset; {4044#true} is VALID [2020-07-08 12:24:37,296 INFO L280 TraceCheckUtils]: 32: Hoare triple {4044#true} assume (~dev1~0.base != 0 || ~dev1~0.offset != 0) && (~dev2~0.base != 0 || ~dev2~0.offset != 0); {4044#true} is VALID [2020-07-08 12:24:37,298 INFO L263 TraceCheckUtils]: 33: Hoare triple {4044#true} call list_add(~dev2~0.base, ~dev2~0.offset, ~#head~0.base, ~#head~0.offset); {4102#(and (= ~elem~0.base |old(~elem~0.base)|) (= ~elem~0.offset |old(~elem~0.offset)|))} is VALID [2020-07-08 12:24:37,299 INFO L280 TraceCheckUtils]: 34: Hoare triple {4102#(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;~head.base, ~head.offset := #in~head.base, #in~head.offset; {4103#(and (= list_add_~new.base |list_add_#in~new.base|) (= |list_add_#in~new.offset| list_add_~new.offset))} is VALID [2020-07-08 12:24:37,300 INFO L280 TraceCheckUtils]: 35: Hoare triple {4103#(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; {4103#(and (= list_add_~new.base |list_add_#in~new.base|) (= |list_add_#in~new.offset| list_add_~new.offset))} is VALID [2020-07-08 12:24:37,301 INFO L280 TraceCheckUtils]: 36: Hoare triple {4103#(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; {4103#(and (= list_add_~new.base |list_add_#in~new.base|) (= |list_add_#in~new.offset| list_add_~new.offset))} is VALID [2020-07-08 12:24:37,301 INFO L280 TraceCheckUtils]: 37: Hoare triple {4103#(and (= list_add_~new.base |list_add_#in~new.base|) (= |list_add_#in~new.offset| list_add_~new.offset))} assume 0 != #t~nondet31;havoc #t~nondet31;~elem~0.base, ~elem~0.offset := ~new.base, ~new.offset; {4104#(and (= ~elem~0.base |list_add_#in~new.base|) (= ~elem~0.offset |list_add_#in~new.offset|))} is VALID [2020-07-08 12:24:37,302 INFO L280 TraceCheckUtils]: 38: Hoare triple {4104#(and (= ~elem~0.base |list_add_#in~new.base|) (= ~elem~0.offset |list_add_#in~new.offset|))} assume true; {4104#(and (= ~elem~0.base |list_add_#in~new.base|) (= ~elem~0.offset |list_add_#in~new.offset|))} is VALID [2020-07-08 12:24:37,304 INFO L275 TraceCheckUtils]: 39: Hoare quadruple {4104#(and (= ~elem~0.base |list_add_#in~new.base|) (= ~elem~0.offset |list_add_#in~new.offset|))} {4044#true} #75#return; {4077#(and (= main_~dev2~0.base ~elem~0.base) (= main_~dev2~0.offset ~elem~0.offset))} is VALID [2020-07-08 12:24:37,305 INFO L263 TraceCheckUtils]: 40: Hoare triple {4077#(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); {4102#(and (= ~elem~0.base |old(~elem~0.base)|) (= ~elem~0.offset |old(~elem~0.offset)|))} is VALID [2020-07-08 12:24:37,306 INFO L280 TraceCheckUtils]: 41: Hoare triple {4102#(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;~head.base, ~head.offset := #in~head.base, #in~head.offset; {4102#(and (= ~elem~0.base |old(~elem~0.base)|) (= ~elem~0.offset |old(~elem~0.offset)|))} is VALID [2020-07-08 12:24:37,307 INFO L280 TraceCheckUtils]: 42: Hoare triple {4102#(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; {4102#(and (= ~elem~0.base |old(~elem~0.base)|) (= ~elem~0.offset |old(~elem~0.offset)|))} is VALID [2020-07-08 12:24:37,308 INFO L280 TraceCheckUtils]: 43: Hoare triple {4102#(and (= ~elem~0.base |old(~elem~0.base)|) (= ~elem~0.offset |old(~elem~0.offset)|))} assume -2147483648 <= #t~nondet31 && #t~nondet31 <= 2147483647; {4102#(and (= ~elem~0.base |old(~elem~0.base)|) (= ~elem~0.offset |old(~elem~0.offset)|))} is VALID [2020-07-08 12:24:37,309 INFO L280 TraceCheckUtils]: 44: Hoare triple {4102#(and (= ~elem~0.base |old(~elem~0.base)|) (= ~elem~0.offset |old(~elem~0.offset)|))} assume !(0 != #t~nondet31);havoc #t~nondet31; {4102#(and (= ~elem~0.base |old(~elem~0.base)|) (= ~elem~0.offset |old(~elem~0.offset)|))} is VALID [2020-07-08 12:24:37,309 INFO L280 TraceCheckUtils]: 45: Hoare triple {4102#(and (= ~elem~0.base |old(~elem~0.base)|) (= ~elem~0.offset |old(~elem~0.offset)|))} assume true; {4102#(and (= ~elem~0.base |old(~elem~0.base)|) (= ~elem~0.offset |old(~elem~0.offset)|))} is VALID [2020-07-08 12:24:37,311 INFO L275 TraceCheckUtils]: 46: Hoare quadruple {4102#(and (= ~elem~0.base |old(~elem~0.base)|) (= ~elem~0.offset |old(~elem~0.offset)|))} {4077#(and (= main_~dev2~0.base ~elem~0.base) (= main_~dev2~0.offset ~elem~0.offset))} #77#return; {4077#(and (= main_~dev2~0.base ~elem~0.base) (= main_~dev2~0.offset ~elem~0.offset))} is VALID [2020-07-08 12:24:37,312 INFO L263 TraceCheckUtils]: 47: Hoare triple {4077#(and (= main_~dev2~0.base ~elem~0.base) (= main_~dev2~0.offset ~elem~0.offset))} call list_del(~dev2~0.base, ~dev2~0.offset); {4102#(and (= ~elem~0.base |old(~elem~0.base)|) (= ~elem~0.offset |old(~elem~0.offset)|))} is VALID [2020-07-08 12:24:37,313 INFO L280 TraceCheckUtils]: 48: Hoare triple {4102#(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; {4105#(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-08 12:24:37,314 INFO L280 TraceCheckUtils]: 49: Hoare triple {4105#(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); {4106#(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-08 12:24:37,315 INFO L280 TraceCheckUtils]: 50: Hoare triple {4106#(or (not (= |old(~elem~0.base)| |list_del_#in~entry.base|)) (not (= |old(~elem~0.offset)| |list_del_#in~entry.offset|)))} assume true; {4106#(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-08 12:24:37,316 INFO L275 TraceCheckUtils]: 51: Hoare quadruple {4106#(or (not (= |old(~elem~0.base)| |list_del_#in~entry.base|)) (not (= |old(~elem~0.offset)| |list_del_#in~entry.offset|)))} {4077#(and (= main_~dev2~0.base ~elem~0.base) (= main_~dev2~0.offset ~elem~0.offset))} #79#return; {4045#false} is VALID [2020-07-08 12:24:37,317 INFO L263 TraceCheckUtils]: 52: Hoare triple {4045#false} call list_add(~dev2~0.base, ~dev2~0.offset, ~#head~0.base, ~#head~0.offset); {4045#false} is VALID [2020-07-08 12:24:37,317 INFO L280 TraceCheckUtils]: 53: Hoare triple {4045#false} ~new.base, ~new.offset := #in~new.base, #in~new.offset;~head.base, ~head.offset := #in~head.base, #in~head.offset; {4045#false} is VALID [2020-07-08 12:24:37,317 INFO L280 TraceCheckUtils]: 54: Hoare triple {4045#false} assume !(~new.base != ~elem~0.base || ~new.offset != ~elem~0.offset); {4045#false} is VALID [2020-07-08 12:24:37,317 INFO L263 TraceCheckUtils]: 55: Hoare triple {4045#false} call __blast_assert(); {4045#false} is VALID [2020-07-08 12:24:37,318 INFO L280 TraceCheckUtils]: 56: Hoare triple {4045#false} assume !false; {4045#false} is VALID [2020-07-08 12:24:37,328 INFO L134 CoverageAnalysis]: Checked inductivity of 21 backedges. 4 proven. 5 refuted. 0 times theorem prover too weak. 12 trivial. 0 not checked. [2020-07-08 12:24:37,328 INFO L354 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleSmtInterpolCraig [2015499411] [2020-07-08 12:24:37,328 INFO L354 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleZ3 [1831367309] [2020-07-08 12:24:37,329 INFO L94 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 Starting monitored process 8 with z3 -smt2 -in SMTLIB2_COMPLIANT=true (exit command is (exit), workingDir is null) Waiting until toolchain timeout for monitored process 8 with z3 -smt2 -in SMTLIB2_COMPLIANT=true [2020-07-08 12:24:37,483 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2020-07-08 12:24:37,486 INFO L264 TraceCheckSpWp]: Trace formula consists of 314 conjuncts, 37 conjunts are in the unsatisfiable core [2020-07-08 12:24:37,509 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2020-07-08 12:24:37,513 INFO L287 TraceCheckSpWp]: Computing forward predicates... [2020-07-08 12:24:37,695 INFO L263 TraceCheckUtils]: 0: Hoare triple {4044#true} call ULTIMATE.init(); {4044#true} is VALID [2020-07-08 12:24:37,695 INFO L280 TraceCheckUtils]: 1: Hoare triple {4044#true} #NULL.base, #NULL.offset := 0, 0;#valid := #valid[0 := 0];assume 0 < #StackHeapBarrier;~guard_malloc_counter~0.base, ~guard_malloc_counter~0.offset := 0, 0;~elem~0.base, ~elem~0.offset := 0, 0;call ~#head~0.base, ~#head~0.offset := #Ultimate.allocOnStack(8);call write~init~$Pointer$(0, 0, ~#head~0.base, ~#head~0.offset, 4);call write~init~$Pointer$(0, 0, ~#head~0.base, 4 + ~#head~0.offset, 4); {4044#true} is VALID [2020-07-08 12:24:37,695 INFO L280 TraceCheckUtils]: 2: Hoare triple {4044#true} assume true; {4044#true} is VALID [2020-07-08 12:24:37,695 INFO L275 TraceCheckUtils]: 3: Hoare quadruple {4044#true} {4044#true} #89#return; {4044#true} is VALID [2020-07-08 12:24:37,696 INFO L263 TraceCheckUtils]: 4: Hoare triple {4044#true} call #t~ret34 := main(); {4044#true} is VALID [2020-07-08 12:24:37,696 INFO L280 TraceCheckUtils]: 5: Hoare triple {4044#true} havoc ~dev1~0.base, ~dev1~0.offset;havoc ~dev2~0.base, ~dev2~0.offset; {4044#true} is VALID [2020-07-08 12:24:37,696 INFO L263 TraceCheckUtils]: 6: Hoare triple {4044#true} call #t~ret32.base, #t~ret32.offset := my_malloc(8); {4044#true} is VALID [2020-07-08 12:24:37,696 INFO L280 TraceCheckUtils]: 7: Hoare triple {4044#true} ~size := #in~size; {4044#true} is VALID [2020-07-08 12:24:37,697 INFO L263 TraceCheckUtils]: 8: Hoare triple {4044#true} call #t~ret30.base, #t~ret30.offset := __getMemory(~size); {4044#true} is VALID [2020-07-08 12:24:37,697 INFO L280 TraceCheckUtils]: 9: Hoare triple {4044#true} ~size := #in~size; {4044#true} is VALID [2020-07-08 12:24:37,697 INFO L280 TraceCheckUtils]: 10: Hoare triple {4044#true} assume ~size > 0; {4044#true} is VALID [2020-07-08 12:24:37,697 INFO L280 TraceCheckUtils]: 11: Hoare triple {4044#true} #t~post28.base, #t~post28.offset := ~guard_malloc_counter~0.base, ~guard_malloc_counter~0.offset;~guard_malloc_counter~0.base, ~guard_malloc_counter~0.offset := #t~post28.base, 1 + #t~post28.offset;havoc #t~post28.base, #t~post28.offset;assume -2147483648 <= #t~nondet29 && #t~nondet29 <= 2147483647; {4044#true} is VALID [2020-07-08 12:24:37,697 INFO L280 TraceCheckUtils]: 12: Hoare triple {4044#true} assume !(0 == #t~nondet29);havoc #t~nondet29;#res.base, #res.offset := ~guard_malloc_counter~0.base, ~guard_malloc_counter~0.offset; {4044#true} is VALID [2020-07-08 12:24:37,697 INFO L280 TraceCheckUtils]: 13: Hoare triple {4044#true} assume true; {4044#true} is VALID [2020-07-08 12:24:37,698 INFO L275 TraceCheckUtils]: 14: Hoare quadruple {4044#true} {4044#true} #69#return; {4044#true} is VALID [2020-07-08 12:24:37,698 INFO L280 TraceCheckUtils]: 15: Hoare triple {4044#true} #res.base, #res.offset := #t~ret30.base, #t~ret30.offset;havoc #t~ret30.base, #t~ret30.offset; {4044#true} is VALID [2020-07-08 12:24:37,698 INFO L280 TraceCheckUtils]: 16: Hoare triple {4044#true} assume true; {4044#true} is VALID [2020-07-08 12:24:37,698 INFO L275 TraceCheckUtils]: 17: Hoare quadruple {4044#true} {4044#true} #71#return; {4044#true} is VALID [2020-07-08 12:24:37,699 INFO L280 TraceCheckUtils]: 18: Hoare triple {4044#true} ~dev1~0.base, ~dev1~0.offset := #t~ret32.base, #t~ret32.offset;havoc #t~ret32.base, #t~ret32.offset; {4044#true} is VALID [2020-07-08 12:24:37,699 INFO L263 TraceCheckUtils]: 19: Hoare triple {4044#true} call #t~ret33.base, #t~ret33.offset := my_malloc(8); {4044#true} is VALID [2020-07-08 12:24:37,699 INFO L280 TraceCheckUtils]: 20: Hoare triple {4044#true} ~size := #in~size; {4044#true} is VALID [2020-07-08 12:24:37,699 INFO L263 TraceCheckUtils]: 21: Hoare triple {4044#true} call #t~ret30.base, #t~ret30.offset := __getMemory(~size); {4044#true} is VALID [2020-07-08 12:24:37,699 INFO L280 TraceCheckUtils]: 22: Hoare triple {4044#true} ~size := #in~size; {4044#true} is VALID [2020-07-08 12:24:37,699 INFO L280 TraceCheckUtils]: 23: Hoare triple {4044#true} assume ~size > 0; {4044#true} is VALID [2020-07-08 12:24:37,700 INFO L280 TraceCheckUtils]: 24: Hoare triple {4044#true} #t~post28.base, #t~post28.offset := ~guard_malloc_counter~0.base, ~guard_malloc_counter~0.offset;~guard_malloc_counter~0.base, ~guard_malloc_counter~0.offset := #t~post28.base, 1 + #t~post28.offset;havoc #t~post28.base, #t~post28.offset;assume -2147483648 <= #t~nondet29 && #t~nondet29 <= 2147483647; {4044#true} is VALID [2020-07-08 12:24:37,700 INFO L280 TraceCheckUtils]: 25: Hoare triple {4044#true} assume !(0 == #t~nondet29);havoc #t~nondet29;#res.base, #res.offset := ~guard_malloc_counter~0.base, ~guard_malloc_counter~0.offset; {4044#true} is VALID [2020-07-08 12:24:37,700 INFO L280 TraceCheckUtils]: 26: Hoare triple {4044#true} assume true; {4044#true} is VALID [2020-07-08 12:24:37,700 INFO L275 TraceCheckUtils]: 27: Hoare quadruple {4044#true} {4044#true} #69#return; {4044#true} is VALID [2020-07-08 12:24:37,700 INFO L280 TraceCheckUtils]: 28: Hoare triple {4044#true} #res.base, #res.offset := #t~ret30.base, #t~ret30.offset;havoc #t~ret30.base, #t~ret30.offset; {4044#true} is VALID [2020-07-08 12:24:37,701 INFO L280 TraceCheckUtils]: 29: Hoare triple {4044#true} assume true; {4044#true} is VALID [2020-07-08 12:24:37,701 INFO L275 TraceCheckUtils]: 30: Hoare quadruple {4044#true} {4044#true} #73#return; {4044#true} is VALID [2020-07-08 12:24:37,701 INFO L280 TraceCheckUtils]: 31: Hoare triple {4044#true} ~dev2~0.base, ~dev2~0.offset := #t~ret33.base, #t~ret33.offset;havoc #t~ret33.base, #t~ret33.offset; {4044#true} is VALID [2020-07-08 12:24:37,701 INFO L280 TraceCheckUtils]: 32: Hoare triple {4044#true} assume (~dev1~0.base != 0 || ~dev1~0.offset != 0) && (~dev2~0.base != 0 || ~dev2~0.offset != 0); {4044#true} is VALID [2020-07-08 12:24:37,701 INFO L263 TraceCheckUtils]: 33: Hoare triple {4044#true} call list_add(~dev2~0.base, ~dev2~0.offset, ~#head~0.base, ~#head~0.offset); {4044#true} is VALID [2020-07-08 12:24:37,703 INFO L280 TraceCheckUtils]: 34: Hoare triple {4044#true} ~new.base, ~new.offset := #in~new.base, #in~new.offset;~head.base, ~head.offset := #in~head.base, #in~head.offset; {4103#(and (= list_add_~new.base |list_add_#in~new.base|) (= |list_add_#in~new.offset| list_add_~new.offset))} is VALID [2020-07-08 12:24:37,704 INFO L280 TraceCheckUtils]: 35: Hoare triple {4103#(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; {4103#(and (= list_add_~new.base |list_add_#in~new.base|) (= |list_add_#in~new.offset| list_add_~new.offset))} is VALID [2020-07-08 12:24:37,705 INFO L280 TraceCheckUtils]: 36: Hoare triple {4103#(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; {4103#(and (= list_add_~new.base |list_add_#in~new.base|) (= |list_add_#in~new.offset| list_add_~new.offset))} is VALID [2020-07-08 12:24:37,706 INFO L280 TraceCheckUtils]: 37: Hoare triple {4103#(and (= list_add_~new.base |list_add_#in~new.base|) (= |list_add_#in~new.offset| list_add_~new.offset))} assume 0 != #t~nondet31;havoc #t~nondet31;~elem~0.base, ~elem~0.offset := ~new.base, ~new.offset; {4104#(and (= ~elem~0.base |list_add_#in~new.base|) (= ~elem~0.offset |list_add_#in~new.offset|))} is VALID [2020-07-08 12:24:37,707 INFO L280 TraceCheckUtils]: 38: Hoare triple {4104#(and (= ~elem~0.base |list_add_#in~new.base|) (= ~elem~0.offset |list_add_#in~new.offset|))} assume true; {4104#(and (= ~elem~0.base |list_add_#in~new.base|) (= ~elem~0.offset |list_add_#in~new.offset|))} is VALID [2020-07-08 12:24:37,709 INFO L275 TraceCheckUtils]: 39: Hoare quadruple {4104#(and (= ~elem~0.base |list_add_#in~new.base|) (= ~elem~0.offset |list_add_#in~new.offset|))} {4044#true} #75#return; {4077#(and (= main_~dev2~0.base ~elem~0.base) (= main_~dev2~0.offset ~elem~0.offset))} is VALID [2020-07-08 12:24:37,712 INFO L263 TraceCheckUtils]: 40: Hoare triple {4077#(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); {4102#(and (= ~elem~0.base |old(~elem~0.base)|) (= ~elem~0.offset |old(~elem~0.offset)|))} is VALID [2020-07-08 12:24:37,713 INFO L280 TraceCheckUtils]: 41: Hoare triple {4102#(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;~head.base, ~head.offset := #in~head.base, #in~head.offset; {4102#(and (= ~elem~0.base |old(~elem~0.base)|) (= ~elem~0.offset |old(~elem~0.offset)|))} is VALID [2020-07-08 12:24:37,714 INFO L280 TraceCheckUtils]: 42: Hoare triple {4102#(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; {4102#(and (= ~elem~0.base |old(~elem~0.base)|) (= ~elem~0.offset |old(~elem~0.offset)|))} is VALID [2020-07-08 12:24:37,716 INFO L280 TraceCheckUtils]: 43: Hoare triple {4102#(and (= ~elem~0.base |old(~elem~0.base)|) (= ~elem~0.offset |old(~elem~0.offset)|))} assume -2147483648 <= #t~nondet31 && #t~nondet31 <= 2147483647; {4102#(and (= ~elem~0.base |old(~elem~0.base)|) (= ~elem~0.offset |old(~elem~0.offset)|))} is VALID [2020-07-08 12:24:37,717 INFO L280 TraceCheckUtils]: 44: Hoare triple {4102#(and (= ~elem~0.base |old(~elem~0.base)|) (= ~elem~0.offset |old(~elem~0.offset)|))} assume !(0 != #t~nondet31);havoc #t~nondet31; {4102#(and (= ~elem~0.base |old(~elem~0.base)|) (= ~elem~0.offset |old(~elem~0.offset)|))} is VALID [2020-07-08 12:24:37,718 INFO L280 TraceCheckUtils]: 45: Hoare triple {4102#(and (= ~elem~0.base |old(~elem~0.base)|) (= ~elem~0.offset |old(~elem~0.offset)|))} assume true; {4102#(and (= ~elem~0.base |old(~elem~0.base)|) (= ~elem~0.offset |old(~elem~0.offset)|))} is VALID [2020-07-08 12:24:37,720 INFO L275 TraceCheckUtils]: 46: Hoare quadruple {4102#(and (= ~elem~0.base |old(~elem~0.base)|) (= ~elem~0.offset |old(~elem~0.offset)|))} {4077#(and (= main_~dev2~0.base ~elem~0.base) (= main_~dev2~0.offset ~elem~0.offset))} #77#return; {4077#(and (= main_~dev2~0.base ~elem~0.base) (= main_~dev2~0.offset ~elem~0.offset))} is VALID [2020-07-08 12:24:37,722 INFO L263 TraceCheckUtils]: 47: Hoare triple {4077#(and (= main_~dev2~0.base ~elem~0.base) (= main_~dev2~0.offset ~elem~0.offset))} call list_del(~dev2~0.base, ~dev2~0.offset); {4102#(and (= ~elem~0.base |old(~elem~0.base)|) (= ~elem~0.offset |old(~elem~0.offset)|))} is VALID [2020-07-08 12:24:37,723 INFO L280 TraceCheckUtils]: 48: Hoare triple {4102#(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; {4105#(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-08 12:24:37,725 INFO L280 TraceCheckUtils]: 49: Hoare triple {4105#(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); {4257#(and (= |old(~elem~0.offset)| ~elem~0.offset) (= |old(~elem~0.base)| ~elem~0.base) (or (not (= ~elem~0.base |list_del_#in~entry.base|)) (not (= |list_del_#in~entry.offset| ~elem~0.offset))))} is VALID [2020-07-08 12:24:37,726 INFO L280 TraceCheckUtils]: 50: Hoare triple {4257#(and (= |old(~elem~0.offset)| ~elem~0.offset) (= |old(~elem~0.base)| ~elem~0.base) (or (not (= ~elem~0.base |list_del_#in~entry.base|)) (not (= |list_del_#in~entry.offset| ~elem~0.offset))))} assume true; {4257#(and (= |old(~elem~0.offset)| ~elem~0.offset) (= |old(~elem~0.base)| ~elem~0.base) (or (not (= ~elem~0.base |list_del_#in~entry.base|)) (not (= |list_del_#in~entry.offset| ~elem~0.offset))))} is VALID [2020-07-08 12:24:37,728 INFO L275 TraceCheckUtils]: 51: Hoare quadruple {4257#(and (= |old(~elem~0.offset)| ~elem~0.offset) (= |old(~elem~0.base)| ~elem~0.base) (or (not (= ~elem~0.base |list_del_#in~entry.base|)) (not (= |list_del_#in~entry.offset| ~elem~0.offset))))} {4077#(and (= main_~dev2~0.base ~elem~0.base) (= main_~dev2~0.offset ~elem~0.offset))} #79#return; {4045#false} is VALID [2020-07-08 12:24:37,728 INFO L263 TraceCheckUtils]: 52: Hoare triple {4045#false} call list_add(~dev2~0.base, ~dev2~0.offset, ~#head~0.base, ~#head~0.offset); {4045#false} is VALID [2020-07-08 12:24:37,729 INFO L280 TraceCheckUtils]: 53: Hoare triple {4045#false} ~new.base, ~new.offset := #in~new.base, #in~new.offset;~head.base, ~head.offset := #in~head.base, #in~head.offset; {4045#false} is VALID [2020-07-08 12:24:37,729 INFO L280 TraceCheckUtils]: 54: Hoare triple {4045#false} assume !(~new.base != ~elem~0.base || ~new.offset != ~elem~0.offset); {4045#false} is VALID [2020-07-08 12:24:37,729 INFO L263 TraceCheckUtils]: 55: Hoare triple {4045#false} call __blast_assert(); {4045#false} is VALID [2020-07-08 12:24:37,730 INFO L280 TraceCheckUtils]: 56: Hoare triple {4045#false} assume !false; {4045#false} is VALID [2020-07-08 12:24:37,737 INFO L134 CoverageAnalysis]: Checked inductivity of 21 backedges. 5 proven. 5 refuted. 0 times theorem prover too weak. 11 trivial. 0 not checked. [2020-07-08 12:24:37,739 INFO L220 FreeRefinementEngine]: Constructing automaton from 0 perfect and 2 imperfect interpolant sequences. [2020-07-08 12:24:37,739 INFO L233 FreeRefinementEngine]: Number of different interpolants: perfect sequences [] imperfect sequences [10, 8] total 11 [2020-07-08 12:24:37,745 INFO L156 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [412373069] [2020-07-08 12:24:37,747 INFO L78 Accepts]: Start accepts. Automaton has 11 states. Word has length 57 [2020-07-08 12:24:37,752 INFO L84 Accepts]: Finished accepts. word is accepted. [2020-07-08 12:24:37,753 INFO L86 InductivityCheck]: Starting indutivity check of a Floyd-Hoare automaton with 11 states. [2020-07-08 12:24:37,851 INFO L119 InductivityCheck]: Floyd-Hoare automaton has 59 edges. 59 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2020-07-08 12:24:37,851 INFO L459 AbstractCegarLoop]: Interpolant automaton has 11 states [2020-07-08 12:24:37,851 INFO L143 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy CAMEL [2020-07-08 12:24:37,852 INFO L142 InterpolantAutomaton]: Constructing interpolant automaton starting with 11 interpolants. [2020-07-08 12:24:37,852 INFO L144 InterpolantAutomaton]: CoverageRelationStatistics Valid=24, Invalid=86, Unknown=0, NotChecked=0, Total=110 [2020-07-08 12:24:37,852 INFO L87 Difference]: Start difference. First operand 70 states and 79 transitions. Second operand 11 states. [2020-07-08 12:24:39,530 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2020-07-08 12:24:39,530 INFO L93 Difference]: Finished difference Result 81 states and 89 transitions. [2020-07-08 12:24:39,530 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 11 states. [2020-07-08 12:24:39,530 INFO L78 Accepts]: Start accepts. Automaton has 11 states. Word has length 57 [2020-07-08 12:24:39,530 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2020-07-08 12:24:39,530 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 11 states. [2020-07-08 12:24:39,532 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 11 states to 11 states and 64 transitions. [2020-07-08 12:24:39,533 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 11 states. [2020-07-08 12:24:39,535 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 11 states to 11 states and 64 transitions. [2020-07-08 12:24:39,535 INFO L86 InductivityCheck]: Starting indutivity check of a Floyd-Hoare automaton with 11 states and 64 transitions. [2020-07-08 12:24:39,654 INFO L119 InductivityCheck]: Floyd-Hoare automaton has 64 edges. 64 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2020-07-08 12:24:39,657 INFO L225 Difference]: With dead ends: 81 [2020-07-08 12:24:39,657 INFO L226 Difference]: Without dead ends: 69 [2020-07-08 12:24:39,658 INFO L675 BasicCegarLoop]: 0 DeclaredPredicates, 83 GetRequests, 65 SyntacticMatches, 4 SemanticMatches, 14 ConstructedPredicates, 0 IntricatePredicates, 0 DeprecatedPredicates, 27 ImplicationChecksByTransitivity, 0.4s TimeCoverageRelationStatistics Valid=59, Invalid=181, Unknown=0, NotChecked=0, Total=240 [2020-07-08 12:24:39,658 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 69 states. [2020-07-08 12:24:39,831 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 69 to 69. [2020-07-08 12:24:39,831 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2020-07-08 12:24:39,832 INFO L82 GeneralOperation]: Start isEquivalent. First operand 69 states. Second operand 69 states. [2020-07-08 12:24:39,832 INFO L74 IsIncluded]: Start isIncluded. First operand 69 states. Second operand 69 states. [2020-07-08 12:24:39,832 INFO L87 Difference]: Start difference. First operand 69 states. Second operand 69 states. [2020-07-08 12:24:39,837 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2020-07-08 12:24:39,838 INFO L93 Difference]: Finished difference Result 69 states and 77 transitions. [2020-07-08 12:24:39,838 INFO L276 IsEmpty]: Start isEmpty. Operand 69 states and 77 transitions. [2020-07-08 12:24:39,838 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2020-07-08 12:24:39,839 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2020-07-08 12:24:39,839 INFO L74 IsIncluded]: Start isIncluded. First operand 69 states. Second operand 69 states. [2020-07-08 12:24:39,839 INFO L87 Difference]: Start difference. First operand 69 states. Second operand 69 states. [2020-07-08 12:24:39,848 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2020-07-08 12:24:39,848 INFO L93 Difference]: Finished difference Result 69 states and 77 transitions. [2020-07-08 12:24:39,848 INFO L276 IsEmpty]: Start isEmpty. Operand 69 states and 77 transitions. [2020-07-08 12:24:39,849 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2020-07-08 12:24:39,849 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2020-07-08 12:24:39,853 INFO L88 GeneralOperation]: Finished isEquivalent. [2020-07-08 12:24:39,854 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2020-07-08 12:24:39,854 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 69 states. [2020-07-08 12:24:39,862 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 69 states to 69 states and 77 transitions. [2020-07-08 12:24:39,863 INFO L78 Accepts]: Start accepts. Automaton has 69 states and 77 transitions. Word has length 57 [2020-07-08 12:24:39,863 INFO L84 Accepts]: Finished accepts. word is rejected. [2020-07-08 12:24:39,867 INFO L479 AbstractCegarLoop]: Abstraction has 69 states and 77 transitions. [2020-07-08 12:24:39,867 INFO L480 AbstractCegarLoop]: Interpolant automaton has 11 states. [2020-07-08 12:24:39,868 INFO L276 IsEmpty]: Start isEmpty. Operand 69 states and 77 transitions. [2020-07-08 12:24:39,868 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 58 [2020-07-08 12:24:39,868 INFO L414 BasicCegarLoop]: Found error trace [2020-07-08 12:24:39,869 INFO L422 BasicCegarLoop]: trace histogram [3, 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] [2020-07-08 12:24:40,084 WARN L516 AbstractCegarLoop]: Destroyed unattended storables created during the last iteration: SelfDestructingSolverStorable8,8 z3 -smt2 -in SMTLIB2_COMPLIANT=true [2020-07-08 12:24:40,085 INFO L427 AbstractCegarLoop]: === Iteration 10 === [__blast_assertErr0ASSERT_VIOLATIONERROR_FUNCTION]=== [2020-07-08 12:24:40,086 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2020-07-08 12:24:40,086 INFO L82 PathProgramCache]: Analyzing trace with hash 1291667455, now seen corresponding path program 1 times [2020-07-08 12:24:40,086 INFO L163 FreeRefinementEngine]: Executing refinement strategy CAMEL [2020-07-08 12:24:40,087 INFO L354 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [1951481411] [2020-07-08 12:24:40,087 INFO L94 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2020-07-08 12:24:40,118 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2020-07-08 12:24:40,284 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2020-07-08 12:24:40,292 INFO L280 TraceCheckUtils]: 0: Hoare triple {4680#(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;#valid := #valid[0 := 0];assume 0 < #StackHeapBarrier;~guard_malloc_counter~0.base, ~guard_malloc_counter~0.offset := 0, 0;~elem~0.base, ~elem~0.offset := 0, 0;call ~#head~0.base, ~#head~0.offset := #Ultimate.allocOnStack(8);call write~init~$Pointer$(0, 0, ~#head~0.base, ~#head~0.offset, 4);call write~init~$Pointer$(0, 0, ~#head~0.base, 4 + ~#head~0.offset, 4); {4635#(<= 0 ~guard_malloc_counter~0.offset)} is VALID [2020-07-08 12:24:40,293 INFO L280 TraceCheckUtils]: 1: Hoare triple {4635#(<= 0 ~guard_malloc_counter~0.offset)} assume true; {4635#(<= 0 ~guard_malloc_counter~0.offset)} is VALID [2020-07-08 12:24:40,294 INFO L275 TraceCheckUtils]: 2: Hoare quadruple {4635#(<= 0 ~guard_malloc_counter~0.offset)} {4630#true} #89#return; {4635#(<= 0 ~guard_malloc_counter~0.offset)} is VALID [2020-07-08 12:24:40,315 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2020-07-08 12:24:40,363 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2020-07-08 12:24:40,377 INFO L280 TraceCheckUtils]: 0: Hoare triple {4681#(and (= ~guard_malloc_counter~0.offset |old(~guard_malloc_counter~0.offset)|) (= ~guard_malloc_counter~0.base |old(~guard_malloc_counter~0.base)|))} ~size := #in~size; {4682#(= ~guard_malloc_counter~0.offset |old(~guard_malloc_counter~0.offset)|)} is VALID [2020-07-08 12:24:40,378 INFO L280 TraceCheckUtils]: 1: Hoare triple {4682#(= ~guard_malloc_counter~0.offset |old(~guard_malloc_counter~0.offset)|)} assume ~size > 0; {4682#(= ~guard_malloc_counter~0.offset |old(~guard_malloc_counter~0.offset)|)} is VALID [2020-07-08 12:24:40,379 INFO L280 TraceCheckUtils]: 2: Hoare triple {4682#(= ~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;~guard_malloc_counter~0.base, ~guard_malloc_counter~0.offset := #t~post28.base, 1 + #t~post28.offset;havoc #t~post28.base, #t~post28.offset;assume -2147483648 <= #t~nondet29 && #t~nondet29 <= 2147483647; {4689#(<= (+ |old(~guard_malloc_counter~0.offset)| 1) ~guard_malloc_counter~0.offset)} is VALID [2020-07-08 12:24:40,380 INFO L280 TraceCheckUtils]: 3: Hoare triple {4689#(<= (+ |old(~guard_malloc_counter~0.offset)| 1) ~guard_malloc_counter~0.offset)} assume !(0 == #t~nondet29);havoc #t~nondet29;#res.base, #res.offset := ~guard_malloc_counter~0.base, ~guard_malloc_counter~0.offset; {4689#(<= (+ |old(~guard_malloc_counter~0.offset)| 1) ~guard_malloc_counter~0.offset)} is VALID [2020-07-08 12:24:40,380 INFO L280 TraceCheckUtils]: 4: Hoare triple {4689#(<= (+ |old(~guard_malloc_counter~0.offset)| 1) ~guard_malloc_counter~0.offset)} assume true; {4689#(<= (+ |old(~guard_malloc_counter~0.offset)| 1) ~guard_malloc_counter~0.offset)} is VALID [2020-07-08 12:24:40,382 INFO L275 TraceCheckUtils]: 5: Hoare quadruple {4689#(<= (+ |old(~guard_malloc_counter~0.offset)| 1) ~guard_malloc_counter~0.offset)} {4682#(= ~guard_malloc_counter~0.offset |old(~guard_malloc_counter~0.offset)|)} #69#return; {4689#(<= (+ |old(~guard_malloc_counter~0.offset)| 1) ~guard_malloc_counter~0.offset)} is VALID [2020-07-08 12:24:40,383 INFO L280 TraceCheckUtils]: 0: Hoare triple {4681#(and (= ~guard_malloc_counter~0.offset |old(~guard_malloc_counter~0.offset)|) (= ~guard_malloc_counter~0.base |old(~guard_malloc_counter~0.base)|))} ~size := #in~size; {4682#(= ~guard_malloc_counter~0.offset |old(~guard_malloc_counter~0.offset)|)} is VALID [2020-07-08 12:24:40,384 INFO L263 TraceCheckUtils]: 1: Hoare triple {4682#(= ~guard_malloc_counter~0.offset |old(~guard_malloc_counter~0.offset)|)} call #t~ret30.base, #t~ret30.offset := __getMemory(~size); {4681#(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-08 12:24:40,384 INFO L280 TraceCheckUtils]: 2: Hoare triple {4681#(and (= ~guard_malloc_counter~0.offset |old(~guard_malloc_counter~0.offset)|) (= ~guard_malloc_counter~0.base |old(~guard_malloc_counter~0.base)|))} ~size := #in~size; {4682#(= ~guard_malloc_counter~0.offset |old(~guard_malloc_counter~0.offset)|)} is VALID [2020-07-08 12:24:40,385 INFO L280 TraceCheckUtils]: 3: Hoare triple {4682#(= ~guard_malloc_counter~0.offset |old(~guard_malloc_counter~0.offset)|)} assume ~size > 0; {4682#(= ~guard_malloc_counter~0.offset |old(~guard_malloc_counter~0.offset)|)} is VALID [2020-07-08 12:24:40,386 INFO L280 TraceCheckUtils]: 4: Hoare triple {4682#(= ~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;~guard_malloc_counter~0.base, ~guard_malloc_counter~0.offset := #t~post28.base, 1 + #t~post28.offset;havoc #t~post28.base, #t~post28.offset;assume -2147483648 <= #t~nondet29 && #t~nondet29 <= 2147483647; {4689#(<= (+ |old(~guard_malloc_counter~0.offset)| 1) ~guard_malloc_counter~0.offset)} is VALID [2020-07-08 12:24:40,386 INFO L280 TraceCheckUtils]: 5: Hoare triple {4689#(<= (+ |old(~guard_malloc_counter~0.offset)| 1) ~guard_malloc_counter~0.offset)} assume !(0 == #t~nondet29);havoc #t~nondet29;#res.base, #res.offset := ~guard_malloc_counter~0.base, ~guard_malloc_counter~0.offset; {4689#(<= (+ |old(~guard_malloc_counter~0.offset)| 1) ~guard_malloc_counter~0.offset)} is VALID [2020-07-08 12:24:40,387 INFO L280 TraceCheckUtils]: 6: Hoare triple {4689#(<= (+ |old(~guard_malloc_counter~0.offset)| 1) ~guard_malloc_counter~0.offset)} assume true; {4689#(<= (+ |old(~guard_malloc_counter~0.offset)| 1) ~guard_malloc_counter~0.offset)} is VALID [2020-07-08 12:24:40,388 INFO L275 TraceCheckUtils]: 7: Hoare quadruple {4689#(<= (+ |old(~guard_malloc_counter~0.offset)| 1) ~guard_malloc_counter~0.offset)} {4682#(= ~guard_malloc_counter~0.offset |old(~guard_malloc_counter~0.offset)|)} #69#return; {4689#(<= (+ |old(~guard_malloc_counter~0.offset)| 1) ~guard_malloc_counter~0.offset)} is VALID [2020-07-08 12:24:40,389 INFO L280 TraceCheckUtils]: 8: Hoare triple {4689#(<= (+ |old(~guard_malloc_counter~0.offset)| 1) ~guard_malloc_counter~0.offset)} #res.base, #res.offset := #t~ret30.base, #t~ret30.offset;havoc #t~ret30.base, #t~ret30.offset; {4689#(<= (+ |old(~guard_malloc_counter~0.offset)| 1) ~guard_malloc_counter~0.offset)} is VALID [2020-07-08 12:24:40,390 INFO L280 TraceCheckUtils]: 9: Hoare triple {4689#(<= (+ |old(~guard_malloc_counter~0.offset)| 1) ~guard_malloc_counter~0.offset)} assume true; {4689#(<= (+ |old(~guard_malloc_counter~0.offset)| 1) ~guard_malloc_counter~0.offset)} is VALID [2020-07-08 12:24:40,391 INFO L275 TraceCheckUtils]: 10: Hoare quadruple {4689#(<= (+ |old(~guard_malloc_counter~0.offset)| 1) ~guard_malloc_counter~0.offset)} {4635#(<= 0 ~guard_malloc_counter~0.offset)} #71#return; {4647#(<= 1 ~guard_malloc_counter~0.offset)} is VALID [2020-07-08 12:24:40,394 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2020-07-08 12:24:40,441 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2020-07-08 12:24:40,471 INFO L280 TraceCheckUtils]: 0: Hoare triple {4681#(and (= ~guard_malloc_counter~0.offset |old(~guard_malloc_counter~0.offset)|) (= ~guard_malloc_counter~0.base |old(~guard_malloc_counter~0.base)|))} ~size := #in~size; {4682#(= ~guard_malloc_counter~0.offset |old(~guard_malloc_counter~0.offset)|)} is VALID [2020-07-08 12:24:40,472 INFO L280 TraceCheckUtils]: 1: Hoare triple {4682#(= ~guard_malloc_counter~0.offset |old(~guard_malloc_counter~0.offset)|)} assume ~size > 0; {4682#(= ~guard_malloc_counter~0.offset |old(~guard_malloc_counter~0.offset)|)} is VALID [2020-07-08 12:24:40,473 INFO L280 TraceCheckUtils]: 2: Hoare triple {4682#(= ~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;~guard_malloc_counter~0.base, ~guard_malloc_counter~0.offset := #t~post28.base, 1 + #t~post28.offset;havoc #t~post28.base, #t~post28.offset;assume -2147483648 <= #t~nondet29 && #t~nondet29 <= 2147483647; {4689#(<= (+ |old(~guard_malloc_counter~0.offset)| 1) ~guard_malloc_counter~0.offset)} is VALID [2020-07-08 12:24:40,474 INFO L280 TraceCheckUtils]: 3: Hoare triple {4689#(<= (+ |old(~guard_malloc_counter~0.offset)| 1) ~guard_malloc_counter~0.offset)} assume !(0 == #t~nondet29);havoc #t~nondet29;#res.base, #res.offset := ~guard_malloc_counter~0.base, ~guard_malloc_counter~0.offset; {4698#(<= (+ |old(~guard_malloc_counter~0.offset)| 1) |__getMemory_#res.offset|)} is VALID [2020-07-08 12:24:40,474 INFO L280 TraceCheckUtils]: 4: Hoare triple {4698#(<= (+ |old(~guard_malloc_counter~0.offset)| 1) |__getMemory_#res.offset|)} assume true; {4698#(<= (+ |old(~guard_malloc_counter~0.offset)| 1) |__getMemory_#res.offset|)} is VALID [2020-07-08 12:24:40,475 INFO L275 TraceCheckUtils]: 5: Hoare quadruple {4698#(<= (+ |old(~guard_malloc_counter~0.offset)| 1) |__getMemory_#res.offset|)} {4682#(= ~guard_malloc_counter~0.offset |old(~guard_malloc_counter~0.offset)|)} #69#return; {4696#(<= (+ |old(~guard_malloc_counter~0.offset)| 1) |my_malloc_#t~ret30.offset|)} is VALID [2020-07-08 12:24:40,476 INFO L280 TraceCheckUtils]: 0: Hoare triple {4681#(and (= ~guard_malloc_counter~0.offset |old(~guard_malloc_counter~0.offset)|) (= ~guard_malloc_counter~0.base |old(~guard_malloc_counter~0.base)|))} ~size := #in~size; {4682#(= ~guard_malloc_counter~0.offset |old(~guard_malloc_counter~0.offset)|)} is VALID [2020-07-08 12:24:40,476 INFO L263 TraceCheckUtils]: 1: Hoare triple {4682#(= ~guard_malloc_counter~0.offset |old(~guard_malloc_counter~0.offset)|)} call #t~ret30.base, #t~ret30.offset := __getMemory(~size); {4681#(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-08 12:24:40,477 INFO L280 TraceCheckUtils]: 2: Hoare triple {4681#(and (= ~guard_malloc_counter~0.offset |old(~guard_malloc_counter~0.offset)|) (= ~guard_malloc_counter~0.base |old(~guard_malloc_counter~0.base)|))} ~size := #in~size; {4682#(= ~guard_malloc_counter~0.offset |old(~guard_malloc_counter~0.offset)|)} is VALID [2020-07-08 12:24:40,477 INFO L280 TraceCheckUtils]: 3: Hoare triple {4682#(= ~guard_malloc_counter~0.offset |old(~guard_malloc_counter~0.offset)|)} assume ~size > 0; {4682#(= ~guard_malloc_counter~0.offset |old(~guard_malloc_counter~0.offset)|)} is VALID [2020-07-08 12:24:40,478 INFO L280 TraceCheckUtils]: 4: Hoare triple {4682#(= ~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;~guard_malloc_counter~0.base, ~guard_malloc_counter~0.offset := #t~post28.base, 1 + #t~post28.offset;havoc #t~post28.base, #t~post28.offset;assume -2147483648 <= #t~nondet29 && #t~nondet29 <= 2147483647; {4689#(<= (+ |old(~guard_malloc_counter~0.offset)| 1) ~guard_malloc_counter~0.offset)} is VALID [2020-07-08 12:24:40,479 INFO L280 TraceCheckUtils]: 5: Hoare triple {4689#(<= (+ |old(~guard_malloc_counter~0.offset)| 1) ~guard_malloc_counter~0.offset)} assume !(0 == #t~nondet29);havoc #t~nondet29;#res.base, #res.offset := ~guard_malloc_counter~0.base, ~guard_malloc_counter~0.offset; {4698#(<= (+ |old(~guard_malloc_counter~0.offset)| 1) |__getMemory_#res.offset|)} is VALID [2020-07-08 12:24:40,479 INFO L280 TraceCheckUtils]: 6: Hoare triple {4698#(<= (+ |old(~guard_malloc_counter~0.offset)| 1) |__getMemory_#res.offset|)} assume true; {4698#(<= (+ |old(~guard_malloc_counter~0.offset)| 1) |__getMemory_#res.offset|)} is VALID [2020-07-08 12:24:40,480 INFO L275 TraceCheckUtils]: 7: Hoare quadruple {4698#(<= (+ |old(~guard_malloc_counter~0.offset)| 1) |__getMemory_#res.offset|)} {4682#(= ~guard_malloc_counter~0.offset |old(~guard_malloc_counter~0.offset)|)} #69#return; {4696#(<= (+ |old(~guard_malloc_counter~0.offset)| 1) |my_malloc_#t~ret30.offset|)} is VALID [2020-07-08 12:24:40,481 INFO L280 TraceCheckUtils]: 8: Hoare triple {4696#(<= (+ |old(~guard_malloc_counter~0.offset)| 1) |my_malloc_#t~ret30.offset|)} #res.base, #res.offset := #t~ret30.base, #t~ret30.offset;havoc #t~ret30.base, #t~ret30.offset; {4697#(<= (+ |old(~guard_malloc_counter~0.offset)| 1) |my_malloc_#res.offset|)} is VALID [2020-07-08 12:24:40,481 INFO L280 TraceCheckUtils]: 9: Hoare triple {4697#(<= (+ |old(~guard_malloc_counter~0.offset)| 1) |my_malloc_#res.offset|)} assume true; {4697#(<= (+ |old(~guard_malloc_counter~0.offset)| 1) |my_malloc_#res.offset|)} is VALID [2020-07-08 12:24:40,483 INFO L275 TraceCheckUtils]: 10: Hoare quadruple {4697#(<= (+ |old(~guard_malloc_counter~0.offset)| 1) |my_malloc_#res.offset|)} {4647#(<= 1 ~guard_malloc_counter~0.offset)} #73#return; {4659#(<= 2 |main_#t~ret33.offset|)} is VALID [2020-07-08 12:24:40,510 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2020-07-08 12:24:40,525 INFO L280 TraceCheckUtils]: 0: Hoare triple {4699#(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;~head.base, ~head.offset := #in~head.base, #in~head.offset; {4630#true} is VALID [2020-07-08 12:24:40,525 INFO L280 TraceCheckUtils]: 1: Hoare triple {4630#true} assume ~new.base != ~elem~0.base || ~new.offset != ~elem~0.offset; {4630#true} is VALID [2020-07-08 12:24:40,525 INFO L280 TraceCheckUtils]: 2: Hoare triple {4630#true} assume -2147483648 <= #t~nondet31 && #t~nondet31 <= 2147483647; {4630#true} is VALID [2020-07-08 12:24:40,525 INFO L280 TraceCheckUtils]: 3: Hoare triple {4630#true} assume 0 != #t~nondet31;havoc #t~nondet31;~elem~0.base, ~elem~0.offset := ~new.base, ~new.offset; {4630#true} is VALID [2020-07-08 12:24:40,525 INFO L280 TraceCheckUtils]: 4: Hoare triple {4630#true} assume true; {4630#true} is VALID [2020-07-08 12:24:40,526 INFO L275 TraceCheckUtils]: 5: Hoare quadruple {4630#true} {4660#(<= 2 main_~dev2~0.offset)} #75#return; {4660#(<= 2 main_~dev2~0.offset)} is VALID [2020-07-08 12:24:40,529 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2020-07-08 12:24:40,539 INFO L280 TraceCheckUtils]: 0: Hoare triple {4699#(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;~head.base, ~head.offset := #in~head.base, #in~head.offset; {4630#true} is VALID [2020-07-08 12:24:40,539 INFO L280 TraceCheckUtils]: 1: Hoare triple {4630#true} assume ~new.base != ~elem~0.base || ~new.offset != ~elem~0.offset; {4630#true} is VALID [2020-07-08 12:24:40,539 INFO L280 TraceCheckUtils]: 2: Hoare triple {4630#true} assume -2147483648 <= #t~nondet31 && #t~nondet31 <= 2147483647; {4630#true} is VALID [2020-07-08 12:24:40,539 INFO L280 TraceCheckUtils]: 3: Hoare triple {4630#true} assume !(0 != #t~nondet31);havoc #t~nondet31; {4630#true} is VALID [2020-07-08 12:24:40,540 INFO L280 TraceCheckUtils]: 4: Hoare triple {4630#true} assume true; {4630#true} is VALID [2020-07-08 12:24:40,541 INFO L275 TraceCheckUtils]: 5: Hoare quadruple {4630#true} {4660#(<= 2 main_~dev2~0.offset)} #77#return; {4660#(<= 2 main_~dev2~0.offset)} is VALID [2020-07-08 12:24:40,543 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2020-07-08 12:24:40,574 INFO L280 TraceCheckUtils]: 0: Hoare triple {4699#(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; {4630#true} is VALID [2020-07-08 12:24:40,575 INFO L280 TraceCheckUtils]: 1: Hoare triple {4630#true} assume ~entry.base == ~elem~0.base && ~entry.offset == ~elem~0.offset;~elem~0.base, ~elem~0.offset := 0, 0; {4700#(= 0 ~elem~0.offset)} is VALID [2020-07-08 12:24:40,575 INFO L280 TraceCheckUtils]: 2: Hoare triple {4700#(= 0 ~elem~0.offset)} assume true; {4700#(= 0 ~elem~0.offset)} is VALID [2020-07-08 12:24:40,577 INFO L275 TraceCheckUtils]: 3: Hoare quadruple {4700#(= 0 ~elem~0.offset)} {4660#(<= 2 main_~dev2~0.offset)} #79#return; {4677#(and (= 0 ~elem~0.offset) (<= 2 main_~dev2~0.offset))} is VALID [2020-07-08 12:24:40,579 INFO L263 TraceCheckUtils]: 0: Hoare triple {4630#true} call ULTIMATE.init(); {4680#(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-08 12:24:40,580 INFO L280 TraceCheckUtils]: 1: Hoare triple {4680#(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;#valid := #valid[0 := 0];assume 0 < #StackHeapBarrier;~guard_malloc_counter~0.base, ~guard_malloc_counter~0.offset := 0, 0;~elem~0.base, ~elem~0.offset := 0, 0;call ~#head~0.base, ~#head~0.offset := #Ultimate.allocOnStack(8);call write~init~$Pointer$(0, 0, ~#head~0.base, ~#head~0.offset, 4);call write~init~$Pointer$(0, 0, ~#head~0.base, 4 + ~#head~0.offset, 4); {4635#(<= 0 ~guard_malloc_counter~0.offset)} is VALID [2020-07-08 12:24:40,581 INFO L280 TraceCheckUtils]: 2: Hoare triple {4635#(<= 0 ~guard_malloc_counter~0.offset)} assume true; {4635#(<= 0 ~guard_malloc_counter~0.offset)} is VALID [2020-07-08 12:24:40,581 INFO L275 TraceCheckUtils]: 3: Hoare quadruple {4635#(<= 0 ~guard_malloc_counter~0.offset)} {4630#true} #89#return; {4635#(<= 0 ~guard_malloc_counter~0.offset)} is VALID [2020-07-08 12:24:40,582 INFO L263 TraceCheckUtils]: 4: Hoare triple {4635#(<= 0 ~guard_malloc_counter~0.offset)} call #t~ret34 := main(); {4635#(<= 0 ~guard_malloc_counter~0.offset)} is VALID [2020-07-08 12:24:40,583 INFO L280 TraceCheckUtils]: 5: Hoare triple {4635#(<= 0 ~guard_malloc_counter~0.offset)} havoc ~dev1~0.base, ~dev1~0.offset;havoc ~dev2~0.base, ~dev2~0.offset; {4635#(<= 0 ~guard_malloc_counter~0.offset)} is VALID [2020-07-08 12:24:40,583 INFO L263 TraceCheckUtils]: 6: Hoare triple {4635#(<= 0 ~guard_malloc_counter~0.offset)} call #t~ret32.base, #t~ret32.offset := my_malloc(8); {4681#(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-08 12:24:40,584 INFO L280 TraceCheckUtils]: 7: Hoare triple {4681#(and (= ~guard_malloc_counter~0.offset |old(~guard_malloc_counter~0.offset)|) (= ~guard_malloc_counter~0.base |old(~guard_malloc_counter~0.base)|))} ~size := #in~size; {4682#(= ~guard_malloc_counter~0.offset |old(~guard_malloc_counter~0.offset)|)} is VALID [2020-07-08 12:24:40,584 INFO L263 TraceCheckUtils]: 8: Hoare triple {4682#(= ~guard_malloc_counter~0.offset |old(~guard_malloc_counter~0.offset)|)} call #t~ret30.base, #t~ret30.offset := __getMemory(~size); {4681#(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-08 12:24:40,585 INFO L280 TraceCheckUtils]: 9: Hoare triple {4681#(and (= ~guard_malloc_counter~0.offset |old(~guard_malloc_counter~0.offset)|) (= ~guard_malloc_counter~0.base |old(~guard_malloc_counter~0.base)|))} ~size := #in~size; {4682#(= ~guard_malloc_counter~0.offset |old(~guard_malloc_counter~0.offset)|)} is VALID [2020-07-08 12:24:40,585 INFO L280 TraceCheckUtils]: 10: Hoare triple {4682#(= ~guard_malloc_counter~0.offset |old(~guard_malloc_counter~0.offset)|)} assume ~size > 0; {4682#(= ~guard_malloc_counter~0.offset |old(~guard_malloc_counter~0.offset)|)} is VALID [2020-07-08 12:24:40,586 INFO L280 TraceCheckUtils]: 11: Hoare triple {4682#(= ~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;~guard_malloc_counter~0.base, ~guard_malloc_counter~0.offset := #t~post28.base, 1 + #t~post28.offset;havoc #t~post28.base, #t~post28.offset;assume -2147483648 <= #t~nondet29 && #t~nondet29 <= 2147483647; {4689#(<= (+ |old(~guard_malloc_counter~0.offset)| 1) ~guard_malloc_counter~0.offset)} is VALID [2020-07-08 12:24:40,586 INFO L280 TraceCheckUtils]: 12: Hoare triple {4689#(<= (+ |old(~guard_malloc_counter~0.offset)| 1) ~guard_malloc_counter~0.offset)} assume !(0 == #t~nondet29);havoc #t~nondet29;#res.base, #res.offset := ~guard_malloc_counter~0.base, ~guard_malloc_counter~0.offset; {4689#(<= (+ |old(~guard_malloc_counter~0.offset)| 1) ~guard_malloc_counter~0.offset)} is VALID [2020-07-08 12:24:40,587 INFO L280 TraceCheckUtils]: 13: Hoare triple {4689#(<= (+ |old(~guard_malloc_counter~0.offset)| 1) ~guard_malloc_counter~0.offset)} assume true; {4689#(<= (+ |old(~guard_malloc_counter~0.offset)| 1) ~guard_malloc_counter~0.offset)} is VALID [2020-07-08 12:24:40,588 INFO L275 TraceCheckUtils]: 14: Hoare quadruple {4689#(<= (+ |old(~guard_malloc_counter~0.offset)| 1) ~guard_malloc_counter~0.offset)} {4682#(= ~guard_malloc_counter~0.offset |old(~guard_malloc_counter~0.offset)|)} #69#return; {4689#(<= (+ |old(~guard_malloc_counter~0.offset)| 1) ~guard_malloc_counter~0.offset)} is VALID [2020-07-08 12:24:40,588 INFO L280 TraceCheckUtils]: 15: Hoare triple {4689#(<= (+ |old(~guard_malloc_counter~0.offset)| 1) ~guard_malloc_counter~0.offset)} #res.base, #res.offset := #t~ret30.base, #t~ret30.offset;havoc #t~ret30.base, #t~ret30.offset; {4689#(<= (+ |old(~guard_malloc_counter~0.offset)| 1) ~guard_malloc_counter~0.offset)} is VALID [2020-07-08 12:24:40,589 INFO L280 TraceCheckUtils]: 16: Hoare triple {4689#(<= (+ |old(~guard_malloc_counter~0.offset)| 1) ~guard_malloc_counter~0.offset)} assume true; {4689#(<= (+ |old(~guard_malloc_counter~0.offset)| 1) ~guard_malloc_counter~0.offset)} is VALID [2020-07-08 12:24:40,590 INFO L275 TraceCheckUtils]: 17: Hoare quadruple {4689#(<= (+ |old(~guard_malloc_counter~0.offset)| 1) ~guard_malloc_counter~0.offset)} {4635#(<= 0 ~guard_malloc_counter~0.offset)} #71#return; {4647#(<= 1 ~guard_malloc_counter~0.offset)} is VALID [2020-07-08 12:24:40,590 INFO L280 TraceCheckUtils]: 18: Hoare triple {4647#(<= 1 ~guard_malloc_counter~0.offset)} ~dev1~0.base, ~dev1~0.offset := #t~ret32.base, #t~ret32.offset;havoc #t~ret32.base, #t~ret32.offset; {4647#(<= 1 ~guard_malloc_counter~0.offset)} is VALID [2020-07-08 12:24:40,591 INFO L263 TraceCheckUtils]: 19: Hoare triple {4647#(<= 1 ~guard_malloc_counter~0.offset)} call #t~ret33.base, #t~ret33.offset := my_malloc(8); {4681#(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-08 12:24:40,591 INFO L280 TraceCheckUtils]: 20: Hoare triple {4681#(and (= ~guard_malloc_counter~0.offset |old(~guard_malloc_counter~0.offset)|) (= ~guard_malloc_counter~0.base |old(~guard_malloc_counter~0.base)|))} ~size := #in~size; {4682#(= ~guard_malloc_counter~0.offset |old(~guard_malloc_counter~0.offset)|)} is VALID [2020-07-08 12:24:40,593 INFO L263 TraceCheckUtils]: 21: Hoare triple {4682#(= ~guard_malloc_counter~0.offset |old(~guard_malloc_counter~0.offset)|)} call #t~ret30.base, #t~ret30.offset := __getMemory(~size); {4681#(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-08 12:24:40,594 INFO L280 TraceCheckUtils]: 22: Hoare triple {4681#(and (= ~guard_malloc_counter~0.offset |old(~guard_malloc_counter~0.offset)|) (= ~guard_malloc_counter~0.base |old(~guard_malloc_counter~0.base)|))} ~size := #in~size; {4682#(= ~guard_malloc_counter~0.offset |old(~guard_malloc_counter~0.offset)|)} is VALID [2020-07-08 12:24:40,594 INFO L280 TraceCheckUtils]: 23: Hoare triple {4682#(= ~guard_malloc_counter~0.offset |old(~guard_malloc_counter~0.offset)|)} assume ~size > 0; {4682#(= ~guard_malloc_counter~0.offset |old(~guard_malloc_counter~0.offset)|)} is VALID [2020-07-08 12:24:40,595 INFO L280 TraceCheckUtils]: 24: Hoare triple {4682#(= ~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;~guard_malloc_counter~0.base, ~guard_malloc_counter~0.offset := #t~post28.base, 1 + #t~post28.offset;havoc #t~post28.base, #t~post28.offset;assume -2147483648 <= #t~nondet29 && #t~nondet29 <= 2147483647; {4689#(<= (+ |old(~guard_malloc_counter~0.offset)| 1) ~guard_malloc_counter~0.offset)} is VALID [2020-07-08 12:24:40,596 INFO L280 TraceCheckUtils]: 25: Hoare triple {4689#(<= (+ |old(~guard_malloc_counter~0.offset)| 1) ~guard_malloc_counter~0.offset)} assume !(0 == #t~nondet29);havoc #t~nondet29;#res.base, #res.offset := ~guard_malloc_counter~0.base, ~guard_malloc_counter~0.offset; {4698#(<= (+ |old(~guard_malloc_counter~0.offset)| 1) |__getMemory_#res.offset|)} is VALID [2020-07-08 12:24:40,596 INFO L280 TraceCheckUtils]: 26: Hoare triple {4698#(<= (+ |old(~guard_malloc_counter~0.offset)| 1) |__getMemory_#res.offset|)} assume true; {4698#(<= (+ |old(~guard_malloc_counter~0.offset)| 1) |__getMemory_#res.offset|)} is VALID [2020-07-08 12:24:40,597 INFO L275 TraceCheckUtils]: 27: Hoare quadruple {4698#(<= (+ |old(~guard_malloc_counter~0.offset)| 1) |__getMemory_#res.offset|)} {4682#(= ~guard_malloc_counter~0.offset |old(~guard_malloc_counter~0.offset)|)} #69#return; {4696#(<= (+ |old(~guard_malloc_counter~0.offset)| 1) |my_malloc_#t~ret30.offset|)} is VALID [2020-07-08 12:24:40,598 INFO L280 TraceCheckUtils]: 28: Hoare triple {4696#(<= (+ |old(~guard_malloc_counter~0.offset)| 1) |my_malloc_#t~ret30.offset|)} #res.base, #res.offset := #t~ret30.base, #t~ret30.offset;havoc #t~ret30.base, #t~ret30.offset; {4697#(<= (+ |old(~guard_malloc_counter~0.offset)| 1) |my_malloc_#res.offset|)} is VALID [2020-07-08 12:24:40,598 INFO L280 TraceCheckUtils]: 29: Hoare triple {4697#(<= (+ |old(~guard_malloc_counter~0.offset)| 1) |my_malloc_#res.offset|)} assume true; {4697#(<= (+ |old(~guard_malloc_counter~0.offset)| 1) |my_malloc_#res.offset|)} is VALID [2020-07-08 12:24:40,600 INFO L275 TraceCheckUtils]: 30: Hoare quadruple {4697#(<= (+ |old(~guard_malloc_counter~0.offset)| 1) |my_malloc_#res.offset|)} {4647#(<= 1 ~guard_malloc_counter~0.offset)} #73#return; {4659#(<= 2 |main_#t~ret33.offset|)} is VALID [2020-07-08 12:24:40,601 INFO L280 TraceCheckUtils]: 31: Hoare triple {4659#(<= 2 |main_#t~ret33.offset|)} ~dev2~0.base, ~dev2~0.offset := #t~ret33.base, #t~ret33.offset;havoc #t~ret33.base, #t~ret33.offset; {4660#(<= 2 main_~dev2~0.offset)} is VALID [2020-07-08 12:24:40,602 INFO L280 TraceCheckUtils]: 32: Hoare triple {4660#(<= 2 main_~dev2~0.offset)} assume (~dev1~0.base != 0 || ~dev1~0.offset != 0) && (~dev2~0.base != 0 || ~dev2~0.offset != 0); {4660#(<= 2 main_~dev2~0.offset)} is VALID [2020-07-08 12:24:40,603 INFO L263 TraceCheckUtils]: 33: Hoare triple {4660#(<= 2 main_~dev2~0.offset)} call list_add(~dev2~0.base, ~dev2~0.offset, ~#head~0.base, ~#head~0.offset); {4699#(and (= ~elem~0.base |old(~elem~0.base)|) (= ~elem~0.offset |old(~elem~0.offset)|))} is VALID [2020-07-08 12:24:40,603 INFO L280 TraceCheckUtils]: 34: Hoare triple {4699#(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;~head.base, ~head.offset := #in~head.base, #in~head.offset; {4630#true} is VALID [2020-07-08 12:24:40,603 INFO L280 TraceCheckUtils]: 35: Hoare triple {4630#true} assume ~new.base != ~elem~0.base || ~new.offset != ~elem~0.offset; {4630#true} is VALID [2020-07-08 12:24:40,604 INFO L280 TraceCheckUtils]: 36: Hoare triple {4630#true} assume -2147483648 <= #t~nondet31 && #t~nondet31 <= 2147483647; {4630#true} is VALID [2020-07-08 12:24:40,604 INFO L280 TraceCheckUtils]: 37: Hoare triple {4630#true} assume 0 != #t~nondet31;havoc #t~nondet31;~elem~0.base, ~elem~0.offset := ~new.base, ~new.offset; {4630#true} is VALID [2020-07-08 12:24:40,604 INFO L280 TraceCheckUtils]: 38: Hoare triple {4630#true} assume true; {4630#true} is VALID [2020-07-08 12:24:40,605 INFO L275 TraceCheckUtils]: 39: Hoare quadruple {4630#true} {4660#(<= 2 main_~dev2~0.offset)} #75#return; {4660#(<= 2 main_~dev2~0.offset)} is VALID [2020-07-08 12:24:40,606 INFO L263 TraceCheckUtils]: 40: Hoare triple {4660#(<= 2 main_~dev2~0.offset)} call list_add(~dev1~0.base, ~dev1~0.offset, ~#head~0.base, ~#head~0.offset); {4699#(and (= ~elem~0.base |old(~elem~0.base)|) (= ~elem~0.offset |old(~elem~0.offset)|))} is VALID [2020-07-08 12:24:40,606 INFO L280 TraceCheckUtils]: 41: Hoare triple {4699#(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;~head.base, ~head.offset := #in~head.base, #in~head.offset; {4630#true} is VALID [2020-07-08 12:24:40,606 INFO L280 TraceCheckUtils]: 42: Hoare triple {4630#true} assume ~new.base != ~elem~0.base || ~new.offset != ~elem~0.offset; {4630#true} is VALID [2020-07-08 12:24:40,606 INFO L280 TraceCheckUtils]: 43: Hoare triple {4630#true} assume -2147483648 <= #t~nondet31 && #t~nondet31 <= 2147483647; {4630#true} is VALID [2020-07-08 12:24:40,606 INFO L280 TraceCheckUtils]: 44: Hoare triple {4630#true} assume !(0 != #t~nondet31);havoc #t~nondet31; {4630#true} is VALID [2020-07-08 12:24:40,607 INFO L280 TraceCheckUtils]: 45: Hoare triple {4630#true} assume true; {4630#true} is VALID [2020-07-08 12:24:40,608 INFO L275 TraceCheckUtils]: 46: Hoare quadruple {4630#true} {4660#(<= 2 main_~dev2~0.offset)} #77#return; {4660#(<= 2 main_~dev2~0.offset)} is VALID [2020-07-08 12:24:40,609 INFO L263 TraceCheckUtils]: 47: Hoare triple {4660#(<= 2 main_~dev2~0.offset)} call list_del(~dev2~0.base, ~dev2~0.offset); {4699#(and (= ~elem~0.base |old(~elem~0.base)|) (= ~elem~0.offset |old(~elem~0.offset)|))} is VALID [2020-07-08 12:24:40,609 INFO L280 TraceCheckUtils]: 48: Hoare triple {4699#(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; {4630#true} is VALID [2020-07-08 12:24:40,610 INFO L280 TraceCheckUtils]: 49: Hoare triple {4630#true} assume ~entry.base == ~elem~0.base && ~entry.offset == ~elem~0.offset;~elem~0.base, ~elem~0.offset := 0, 0; {4700#(= 0 ~elem~0.offset)} is VALID [2020-07-08 12:24:40,612 INFO L280 TraceCheckUtils]: 50: Hoare triple {4700#(= 0 ~elem~0.offset)} assume true; {4700#(= 0 ~elem~0.offset)} is VALID [2020-07-08 12:24:40,613 INFO L275 TraceCheckUtils]: 51: Hoare quadruple {4700#(= 0 ~elem~0.offset)} {4660#(<= 2 main_~dev2~0.offset)} #79#return; {4677#(and (= 0 ~elem~0.offset) (<= 2 main_~dev2~0.offset))} is VALID [2020-07-08 12:24:40,618 INFO L263 TraceCheckUtils]: 52: Hoare triple {4677#(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); {4678#(and (= 0 ~elem~0.offset) (<= 2 |list_add_#in~new.offset|))} is VALID [2020-07-08 12:24:40,619 INFO L280 TraceCheckUtils]: 53: Hoare triple {4678#(and (= 0 ~elem~0.offset) (<= 2 |list_add_#in~new.offset|))} ~new.base, ~new.offset := #in~new.base, #in~new.offset;~head.base, ~head.offset := #in~head.base, #in~head.offset; {4679#(and (= 0 ~elem~0.offset) (not (= 0 list_add_~new.offset)))} is VALID [2020-07-08 12:24:40,620 INFO L280 TraceCheckUtils]: 54: Hoare triple {4679#(and (= 0 ~elem~0.offset) (not (= 0 list_add_~new.offset)))} assume !(~new.base != ~elem~0.base || ~new.offset != ~elem~0.offset); {4631#false} is VALID [2020-07-08 12:24:40,620 INFO L263 TraceCheckUtils]: 55: Hoare triple {4631#false} call __blast_assert(); {4631#false} is VALID [2020-07-08 12:24:40,620 INFO L280 TraceCheckUtils]: 56: Hoare triple {4631#false} assume !false; {4631#false} is VALID [2020-07-08 12:24:40,624 INFO L134 CoverageAnalysis]: Checked inductivity of 21 backedges. 2 proven. 7 refuted. 0 times theorem prover too weak. 12 trivial. 0 not checked. [2020-07-08 12:24:40,625 INFO L354 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleSmtInterpolCraig [1951481411] [2020-07-08 12:24:40,625 INFO L354 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleZ3 [1249317953] [2020-07-08 12:24:40,625 INFO L94 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 Starting monitored process 9 with z3 -smt2 -in SMTLIB2_COMPLIANT=true (exit command is (exit), workingDir is null) Waiting until toolchain timeout for monitored process 9 with z3 -smt2 -in SMTLIB2_COMPLIANT=true [2020-07-08 12:24:40,749 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2020-07-08 12:24:40,750 INFO L264 TraceCheckSpWp]: Trace formula consists of 321 conjuncts, 24 conjunts are in the unsatisfiable core [2020-07-08 12:24:40,766 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2020-07-08 12:24:40,768 INFO L287 TraceCheckSpWp]: Computing forward predicates... [2020-07-08 12:24:41,212 INFO L263 TraceCheckUtils]: 0: Hoare triple {4630#true} call ULTIMATE.init(); {4630#true} is VALID [2020-07-08 12:24:41,213 INFO L280 TraceCheckUtils]: 1: Hoare triple {4630#true} #NULL.base, #NULL.offset := 0, 0;#valid := #valid[0 := 0];assume 0 < #StackHeapBarrier;~guard_malloc_counter~0.base, ~guard_malloc_counter~0.offset := 0, 0;~elem~0.base, ~elem~0.offset := 0, 0;call ~#head~0.base, ~#head~0.offset := #Ultimate.allocOnStack(8);call write~init~$Pointer$(0, 0, ~#head~0.base, ~#head~0.offset, 4);call write~init~$Pointer$(0, 0, ~#head~0.base, 4 + ~#head~0.offset, 4); {4635#(<= 0 ~guard_malloc_counter~0.offset)} is VALID [2020-07-08 12:24:41,214 INFO L280 TraceCheckUtils]: 2: Hoare triple {4635#(<= 0 ~guard_malloc_counter~0.offset)} assume true; {4635#(<= 0 ~guard_malloc_counter~0.offset)} is VALID [2020-07-08 12:24:41,215 INFO L275 TraceCheckUtils]: 3: Hoare quadruple {4635#(<= 0 ~guard_malloc_counter~0.offset)} {4630#true} #89#return; {4635#(<= 0 ~guard_malloc_counter~0.offset)} is VALID [2020-07-08 12:24:41,216 INFO L263 TraceCheckUtils]: 4: Hoare triple {4635#(<= 0 ~guard_malloc_counter~0.offset)} call #t~ret34 := main(); {4635#(<= 0 ~guard_malloc_counter~0.offset)} is VALID [2020-07-08 12:24:41,216 INFO L280 TraceCheckUtils]: 5: Hoare triple {4635#(<= 0 ~guard_malloc_counter~0.offset)} havoc ~dev1~0.base, ~dev1~0.offset;havoc ~dev2~0.base, ~dev2~0.offset; {4635#(<= 0 ~guard_malloc_counter~0.offset)} is VALID [2020-07-08 12:24:41,217 INFO L263 TraceCheckUtils]: 6: Hoare triple {4635#(<= 0 ~guard_malloc_counter~0.offset)} call #t~ret32.base, #t~ret32.offset := my_malloc(8); {4722#(<= |old(~guard_malloc_counter~0.offset)| ~guard_malloc_counter~0.offset)} is VALID [2020-07-08 12:24:41,218 INFO L280 TraceCheckUtils]: 7: Hoare triple {4722#(<= |old(~guard_malloc_counter~0.offset)| ~guard_malloc_counter~0.offset)} ~size := #in~size; {4722#(<= |old(~guard_malloc_counter~0.offset)| ~guard_malloc_counter~0.offset)} is VALID [2020-07-08 12:24:41,218 INFO L263 TraceCheckUtils]: 8: Hoare triple {4722#(<= |old(~guard_malloc_counter~0.offset)| ~guard_malloc_counter~0.offset)} call #t~ret30.base, #t~ret30.offset := __getMemory(~size); {4722#(<= |old(~guard_malloc_counter~0.offset)| ~guard_malloc_counter~0.offset)} is VALID [2020-07-08 12:24:41,219 INFO L280 TraceCheckUtils]: 9: Hoare triple {4722#(<= |old(~guard_malloc_counter~0.offset)| ~guard_malloc_counter~0.offset)} ~size := #in~size; {4722#(<= |old(~guard_malloc_counter~0.offset)| ~guard_malloc_counter~0.offset)} is VALID [2020-07-08 12:24:41,219 INFO L280 TraceCheckUtils]: 10: Hoare triple {4722#(<= |old(~guard_malloc_counter~0.offset)| ~guard_malloc_counter~0.offset)} assume ~size > 0; {4722#(<= |old(~guard_malloc_counter~0.offset)| ~guard_malloc_counter~0.offset)} is VALID [2020-07-08 12:24:41,220 INFO L280 TraceCheckUtils]: 11: Hoare triple {4722#(<= |old(~guard_malloc_counter~0.offset)| ~guard_malloc_counter~0.offset)} #t~post28.base, #t~post28.offset := ~guard_malloc_counter~0.base, ~guard_malloc_counter~0.offset;~guard_malloc_counter~0.base, ~guard_malloc_counter~0.offset := #t~post28.base, 1 + #t~post28.offset;havoc #t~post28.base, #t~post28.offset;assume -2147483648 <= #t~nondet29 && #t~nondet29 <= 2147483647; {4689#(<= (+ |old(~guard_malloc_counter~0.offset)| 1) ~guard_malloc_counter~0.offset)} is VALID [2020-07-08 12:24:41,221 INFO L280 TraceCheckUtils]: 12: Hoare triple {4689#(<= (+ |old(~guard_malloc_counter~0.offset)| 1) ~guard_malloc_counter~0.offset)} assume !(0 == #t~nondet29);havoc #t~nondet29;#res.base, #res.offset := ~guard_malloc_counter~0.base, ~guard_malloc_counter~0.offset; {4689#(<= (+ |old(~guard_malloc_counter~0.offset)| 1) ~guard_malloc_counter~0.offset)} is VALID [2020-07-08 12:24:41,222 INFO L280 TraceCheckUtils]: 13: Hoare triple {4689#(<= (+ |old(~guard_malloc_counter~0.offset)| 1) ~guard_malloc_counter~0.offset)} assume true; {4689#(<= (+ |old(~guard_malloc_counter~0.offset)| 1) ~guard_malloc_counter~0.offset)} is VALID [2020-07-08 12:24:41,223 INFO L275 TraceCheckUtils]: 14: Hoare quadruple {4689#(<= (+ |old(~guard_malloc_counter~0.offset)| 1) ~guard_malloc_counter~0.offset)} {4722#(<= |old(~guard_malloc_counter~0.offset)| ~guard_malloc_counter~0.offset)} #69#return; {4689#(<= (+ |old(~guard_malloc_counter~0.offset)| 1) ~guard_malloc_counter~0.offset)} is VALID [2020-07-08 12:24:41,229 INFO L280 TraceCheckUtils]: 15: Hoare triple {4689#(<= (+ |old(~guard_malloc_counter~0.offset)| 1) ~guard_malloc_counter~0.offset)} #res.base, #res.offset := #t~ret30.base, #t~ret30.offset;havoc #t~ret30.base, #t~ret30.offset; {4689#(<= (+ |old(~guard_malloc_counter~0.offset)| 1) ~guard_malloc_counter~0.offset)} is VALID [2020-07-08 12:24:41,229 INFO L280 TraceCheckUtils]: 16: Hoare triple {4689#(<= (+ |old(~guard_malloc_counter~0.offset)| 1) ~guard_malloc_counter~0.offset)} assume true; {4689#(<= (+ |old(~guard_malloc_counter~0.offset)| 1) ~guard_malloc_counter~0.offset)} is VALID [2020-07-08 12:24:41,231 INFO L275 TraceCheckUtils]: 17: Hoare quadruple {4689#(<= (+ |old(~guard_malloc_counter~0.offset)| 1) ~guard_malloc_counter~0.offset)} {4635#(<= 0 ~guard_malloc_counter~0.offset)} #71#return; {4647#(<= 1 ~guard_malloc_counter~0.offset)} is VALID [2020-07-08 12:24:41,231 INFO L280 TraceCheckUtils]: 18: Hoare triple {4647#(<= 1 ~guard_malloc_counter~0.offset)} ~dev1~0.base, ~dev1~0.offset := #t~ret32.base, #t~ret32.offset;havoc #t~ret32.base, #t~ret32.offset; {4647#(<= 1 ~guard_malloc_counter~0.offset)} is VALID [2020-07-08 12:24:41,232 INFO L263 TraceCheckUtils]: 19: Hoare triple {4647#(<= 1 ~guard_malloc_counter~0.offset)} call #t~ret33.base, #t~ret33.offset := my_malloc(8); {4722#(<= |old(~guard_malloc_counter~0.offset)| ~guard_malloc_counter~0.offset)} is VALID [2020-07-08 12:24:41,233 INFO L280 TraceCheckUtils]: 20: Hoare triple {4722#(<= |old(~guard_malloc_counter~0.offset)| ~guard_malloc_counter~0.offset)} ~size := #in~size; {4722#(<= |old(~guard_malloc_counter~0.offset)| ~guard_malloc_counter~0.offset)} is VALID [2020-07-08 12:24:41,234 INFO L263 TraceCheckUtils]: 21: Hoare triple {4722#(<= |old(~guard_malloc_counter~0.offset)| ~guard_malloc_counter~0.offset)} call #t~ret30.base, #t~ret30.offset := __getMemory(~size); {4722#(<= |old(~guard_malloc_counter~0.offset)| ~guard_malloc_counter~0.offset)} is VALID [2020-07-08 12:24:41,234 INFO L280 TraceCheckUtils]: 22: Hoare triple {4722#(<= |old(~guard_malloc_counter~0.offset)| ~guard_malloc_counter~0.offset)} ~size := #in~size; {4722#(<= |old(~guard_malloc_counter~0.offset)| ~guard_malloc_counter~0.offset)} is VALID [2020-07-08 12:24:41,235 INFO L280 TraceCheckUtils]: 23: Hoare triple {4722#(<= |old(~guard_malloc_counter~0.offset)| ~guard_malloc_counter~0.offset)} assume ~size > 0; {4722#(<= |old(~guard_malloc_counter~0.offset)| ~guard_malloc_counter~0.offset)} is VALID [2020-07-08 12:24:41,236 INFO L280 TraceCheckUtils]: 24: Hoare triple {4722#(<= |old(~guard_malloc_counter~0.offset)| ~guard_malloc_counter~0.offset)} #t~post28.base, #t~post28.offset := ~guard_malloc_counter~0.base, ~guard_malloc_counter~0.offset;~guard_malloc_counter~0.base, ~guard_malloc_counter~0.offset := #t~post28.base, 1 + #t~post28.offset;havoc #t~post28.base, #t~post28.offset;assume -2147483648 <= #t~nondet29 && #t~nondet29 <= 2147483647; {4689#(<= (+ |old(~guard_malloc_counter~0.offset)| 1) ~guard_malloc_counter~0.offset)} is VALID [2020-07-08 12:24:41,237 INFO L280 TraceCheckUtils]: 25: Hoare triple {4689#(<= (+ |old(~guard_malloc_counter~0.offset)| 1) ~guard_malloc_counter~0.offset)} assume !(0 == #t~nondet29);havoc #t~nondet29;#res.base, #res.offset := ~guard_malloc_counter~0.base, ~guard_malloc_counter~0.offset; {4780#(and (<= (+ |old(~guard_malloc_counter~0.offset)| 1) ~guard_malloc_counter~0.offset) (<= ~guard_malloc_counter~0.offset |__getMemory_#res.offset|))} is VALID [2020-07-08 12:24:41,237 INFO L280 TraceCheckUtils]: 26: Hoare triple {4780#(and (<= (+ |old(~guard_malloc_counter~0.offset)| 1) ~guard_malloc_counter~0.offset) (<= ~guard_malloc_counter~0.offset |__getMemory_#res.offset|))} assume true; {4780#(and (<= (+ |old(~guard_malloc_counter~0.offset)| 1) ~guard_malloc_counter~0.offset) (<= ~guard_malloc_counter~0.offset |__getMemory_#res.offset|))} is VALID [2020-07-08 12:24:41,238 INFO L275 TraceCheckUtils]: 27: Hoare quadruple {4780#(and (<= (+ |old(~guard_malloc_counter~0.offset)| 1) ~guard_malloc_counter~0.offset) (<= ~guard_malloc_counter~0.offset |__getMemory_#res.offset|))} {4722#(<= |old(~guard_malloc_counter~0.offset)| ~guard_malloc_counter~0.offset)} #69#return; {4787#(and (<= (+ |old(~guard_malloc_counter~0.offset)| 1) ~guard_malloc_counter~0.offset) (<= ~guard_malloc_counter~0.offset |my_malloc_#t~ret30.offset|))} is VALID [2020-07-08 12:24:41,239 INFO L280 TraceCheckUtils]: 28: Hoare triple {4787#(and (<= (+ |old(~guard_malloc_counter~0.offset)| 1) ~guard_malloc_counter~0.offset) (<= ~guard_malloc_counter~0.offset |my_malloc_#t~ret30.offset|))} #res.base, #res.offset := #t~ret30.base, #t~ret30.offset;havoc #t~ret30.base, #t~ret30.offset; {4791#(and (<= (+ |old(~guard_malloc_counter~0.offset)| 1) ~guard_malloc_counter~0.offset) (<= ~guard_malloc_counter~0.offset |my_malloc_#res.offset|))} is VALID [2020-07-08 12:24:41,239 INFO L280 TraceCheckUtils]: 29: Hoare triple {4791#(and (<= (+ |old(~guard_malloc_counter~0.offset)| 1) ~guard_malloc_counter~0.offset) (<= ~guard_malloc_counter~0.offset |my_malloc_#res.offset|))} assume true; {4791#(and (<= (+ |old(~guard_malloc_counter~0.offset)| 1) ~guard_malloc_counter~0.offset) (<= ~guard_malloc_counter~0.offset |my_malloc_#res.offset|))} is VALID [2020-07-08 12:24:41,240 INFO L275 TraceCheckUtils]: 30: Hoare quadruple {4791#(and (<= (+ |old(~guard_malloc_counter~0.offset)| 1) ~guard_malloc_counter~0.offset) (<= ~guard_malloc_counter~0.offset |my_malloc_#res.offset|))} {4647#(<= 1 ~guard_malloc_counter~0.offset)} #73#return; {4659#(<= 2 |main_#t~ret33.offset|)} is VALID [2020-07-08 12:24:41,241 INFO L280 TraceCheckUtils]: 31: Hoare triple {4659#(<= 2 |main_#t~ret33.offset|)} ~dev2~0.base, ~dev2~0.offset := #t~ret33.base, #t~ret33.offset;havoc #t~ret33.base, #t~ret33.offset; {4660#(<= 2 main_~dev2~0.offset)} is VALID [2020-07-08 12:24:41,241 INFO L280 TraceCheckUtils]: 32: Hoare triple {4660#(<= 2 main_~dev2~0.offset)} assume (~dev1~0.base != 0 || ~dev1~0.offset != 0) && (~dev2~0.base != 0 || ~dev2~0.offset != 0); {4660#(<= 2 main_~dev2~0.offset)} is VALID [2020-07-08 12:24:41,242 INFO L263 TraceCheckUtils]: 33: Hoare triple {4660#(<= 2 main_~dev2~0.offset)} call list_add(~dev2~0.base, ~dev2~0.offset, ~#head~0.base, ~#head~0.offset); {4630#true} is VALID [2020-07-08 12:24:41,242 INFO L280 TraceCheckUtils]: 34: Hoare triple {4630#true} ~new.base, ~new.offset := #in~new.base, #in~new.offset;~head.base, ~head.offset := #in~head.base, #in~head.offset; {4630#true} is VALID [2020-07-08 12:24:41,242 INFO L280 TraceCheckUtils]: 35: Hoare triple {4630#true} assume ~new.base != ~elem~0.base || ~new.offset != ~elem~0.offset; {4630#true} is VALID [2020-07-08 12:24:41,242 INFO L280 TraceCheckUtils]: 36: Hoare triple {4630#true} assume -2147483648 <= #t~nondet31 && #t~nondet31 <= 2147483647; {4630#true} is VALID [2020-07-08 12:24:41,242 INFO L280 TraceCheckUtils]: 37: Hoare triple {4630#true} assume 0 != #t~nondet31;havoc #t~nondet31;~elem~0.base, ~elem~0.offset := ~new.base, ~new.offset; {4630#true} is VALID [2020-07-08 12:24:41,243 INFO L280 TraceCheckUtils]: 38: Hoare triple {4630#true} assume true; {4630#true} is VALID [2020-07-08 12:24:41,244 INFO L275 TraceCheckUtils]: 39: Hoare quadruple {4630#true} {4660#(<= 2 main_~dev2~0.offset)} #75#return; {4660#(<= 2 main_~dev2~0.offset)} is VALID [2020-07-08 12:24:41,244 INFO L263 TraceCheckUtils]: 40: Hoare triple {4660#(<= 2 main_~dev2~0.offset)} call list_add(~dev1~0.base, ~dev1~0.offset, ~#head~0.base, ~#head~0.offset); {4630#true} is VALID [2020-07-08 12:24:41,244 INFO L280 TraceCheckUtils]: 41: Hoare triple {4630#true} ~new.base, ~new.offset := #in~new.base, #in~new.offset;~head.base, ~head.offset := #in~head.base, #in~head.offset; {4630#true} is VALID [2020-07-08 12:24:41,244 INFO L280 TraceCheckUtils]: 42: Hoare triple {4630#true} assume ~new.base != ~elem~0.base || ~new.offset != ~elem~0.offset; {4630#true} is VALID [2020-07-08 12:24:41,244 INFO L280 TraceCheckUtils]: 43: Hoare triple {4630#true} assume -2147483648 <= #t~nondet31 && #t~nondet31 <= 2147483647; {4630#true} is VALID [2020-07-08 12:24:41,244 INFO L280 TraceCheckUtils]: 44: Hoare triple {4630#true} assume !(0 != #t~nondet31);havoc #t~nondet31; {4630#true} is VALID [2020-07-08 12:24:41,245 INFO L280 TraceCheckUtils]: 45: Hoare triple {4630#true} assume true; {4630#true} is VALID [2020-07-08 12:24:41,245 INFO L275 TraceCheckUtils]: 46: Hoare quadruple {4630#true} {4660#(<= 2 main_~dev2~0.offset)} #77#return; {4660#(<= 2 main_~dev2~0.offset)} is VALID [2020-07-08 12:24:41,246 INFO L263 TraceCheckUtils]: 47: Hoare triple {4660#(<= 2 main_~dev2~0.offset)} call list_del(~dev2~0.base, ~dev2~0.offset); {4630#true} is VALID [2020-07-08 12:24:41,246 INFO L280 TraceCheckUtils]: 48: Hoare triple {4630#true} ~entry.base, ~entry.offset := #in~entry.base, #in~entry.offset; {4630#true} is VALID [2020-07-08 12:24:41,246 INFO L280 TraceCheckUtils]: 49: Hoare triple {4630#true} assume ~entry.base == ~elem~0.base && ~entry.offset == ~elem~0.offset;~elem~0.base, ~elem~0.offset := 0, 0; {4855#(<= ~elem~0.offset 0)} is VALID [2020-07-08 12:24:41,247 INFO L280 TraceCheckUtils]: 50: Hoare triple {4855#(<= ~elem~0.offset 0)} assume true; {4855#(<= ~elem~0.offset 0)} is VALID [2020-07-08 12:24:41,247 INFO L275 TraceCheckUtils]: 51: Hoare quadruple {4855#(<= ~elem~0.offset 0)} {4660#(<= 2 main_~dev2~0.offset)} #79#return; {4862#(and (<= 2 main_~dev2~0.offset) (<= ~elem~0.offset 0))} is VALID [2020-07-08 12:24:41,248 INFO L263 TraceCheckUtils]: 52: Hoare triple {4862#(and (<= 2 main_~dev2~0.offset) (<= ~elem~0.offset 0))} call list_add(~dev2~0.base, ~dev2~0.offset, ~#head~0.base, ~#head~0.offset); {4866#(and (<= 2 |list_add_#in~new.offset|) (<= ~elem~0.offset 0))} is VALID [2020-07-08 12:24:41,254 INFO L280 TraceCheckUtils]: 53: Hoare triple {4866#(and (<= 2 |list_add_#in~new.offset|) (<= ~elem~0.offset 0))} ~new.base, ~new.offset := #in~new.base, #in~new.offset;~head.base, ~head.offset := #in~head.base, #in~head.offset; {4870#(and (<= 2 list_add_~new.offset) (<= ~elem~0.offset 0))} is VALID [2020-07-08 12:24:41,255 INFO L280 TraceCheckUtils]: 54: Hoare triple {4870#(and (<= 2 list_add_~new.offset) (<= ~elem~0.offset 0))} assume !(~new.base != ~elem~0.base || ~new.offset != ~elem~0.offset); {4631#false} is VALID [2020-07-08 12:24:41,256 INFO L263 TraceCheckUtils]: 55: Hoare triple {4631#false} call __blast_assert(); {4631#false} is VALID [2020-07-08 12:24:41,256 INFO L280 TraceCheckUtils]: 56: Hoare triple {4631#false} assume !false; {4631#false} is VALID [2020-07-08 12:24:41,259 INFO L134 CoverageAnalysis]: Checked inductivity of 21 backedges. 9 proven. 0 refuted. 0 times theorem prover too weak. 12 trivial. 0 not checked. [2020-07-08 12:24:41,260 INFO L220 FreeRefinementEngine]: Constructing automaton from 1 perfect and 1 imperfect interpolant sequences. [2020-07-08 12:24:41,260 INFO L233 FreeRefinementEngine]: Number of different interpolants: perfect sequences [15] imperfect sequences [18] total 26 [2020-07-08 12:24:41,260 INFO L156 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [1976661860] [2020-07-08 12:24:41,261 INFO L78 Accepts]: Start accepts. Automaton has 15 states. Word has length 57 [2020-07-08 12:24:41,261 INFO L84 Accepts]: Finished accepts. word is accepted. [2020-07-08 12:24:41,261 INFO L86 InductivityCheck]: Starting indutivity check of a Floyd-Hoare automaton with 15 states. [2020-07-08 12:24:41,327 INFO L119 InductivityCheck]: Floyd-Hoare automaton has 48 edges. 48 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2020-07-08 12:24:41,328 INFO L459 AbstractCegarLoop]: Interpolant automaton has 15 states [2020-07-08 12:24:41,328 INFO L143 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy CAMEL [2020-07-08 12:24:41,328 INFO L142 InterpolantAutomaton]: Constructing interpolant automaton starting with 15 interpolants. [2020-07-08 12:24:41,328 INFO L144 InterpolantAutomaton]: CoverageRelationStatistics Valid=81, Invalid=569, Unknown=0, NotChecked=0, Total=650 [2020-07-08 12:24:41,329 INFO L87 Difference]: Start difference. First operand 69 states and 77 transitions. Second operand 15 states. [2020-07-08 12:24:43,330 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2020-07-08 12:24:43,331 INFO L93 Difference]: Finished difference Result 93 states and 102 transitions. [2020-07-08 12:24:43,331 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 16 states. [2020-07-08 12:24:43,331 INFO L78 Accepts]: Start accepts. Automaton has 15 states. Word has length 57 [2020-07-08 12:24:43,332 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2020-07-08 12:24:43,332 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 15 states. [2020-07-08 12:24:43,334 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 16 states to 16 states and 77 transitions. [2020-07-08 12:24:43,334 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 15 states. [2020-07-08 12:24:43,336 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 16 states to 16 states and 77 transitions. [2020-07-08 12:24:43,336 INFO L86 InductivityCheck]: Starting indutivity check of a Floyd-Hoare automaton with 16 states and 77 transitions. [2020-07-08 12:24:43,521 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-08 12:24:43,525 INFO L225 Difference]: With dead ends: 93 [2020-07-08 12:24:43,526 INFO L226 Difference]: Without dead ends: 82 [2020-07-08 12:24:43,527 INFO L675 BasicCegarLoop]: 0 DeclaredPredicates, 104 GetRequests, 67 SyntacticMatches, 0 SemanticMatches, 37 ConstructedPredicates, 0 IntricatePredicates, 0 DeprecatedPredicates, 236 ImplicationChecksByTransitivity, 0.8s TimeCoverageRelationStatistics Valid=218, Invalid=1264, Unknown=0, NotChecked=0, Total=1482 [2020-07-08 12:24:43,528 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 82 states. [2020-07-08 12:24:43,797 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 82 to 64. [2020-07-08 12:24:43,798 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2020-07-08 12:24:43,798 INFO L82 GeneralOperation]: Start isEquivalent. First operand 82 states. Second operand 64 states. [2020-07-08 12:24:43,798 INFO L74 IsIncluded]: Start isIncluded. First operand 82 states. Second operand 64 states. [2020-07-08 12:24:43,798 INFO L87 Difference]: Start difference. First operand 82 states. Second operand 64 states. [2020-07-08 12:24:43,802 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2020-07-08 12:24:43,803 INFO L93 Difference]: Finished difference Result 82 states and 89 transitions. [2020-07-08 12:24:43,803 INFO L276 IsEmpty]: Start isEmpty. Operand 82 states and 89 transitions. [2020-07-08 12:24:43,804 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2020-07-08 12:24:43,804 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2020-07-08 12:24:43,804 INFO L74 IsIncluded]: Start isIncluded. First operand 64 states. Second operand 82 states. [2020-07-08 12:24:43,805 INFO L87 Difference]: Start difference. First operand 64 states. Second operand 82 states. [2020-07-08 12:24:43,810 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2020-07-08 12:24:43,810 INFO L93 Difference]: Finished difference Result 82 states and 89 transitions. [2020-07-08 12:24:43,811 INFO L276 IsEmpty]: Start isEmpty. Operand 82 states and 89 transitions. [2020-07-08 12:24:43,813 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2020-07-08 12:24:43,814 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2020-07-08 12:24:43,814 INFO L88 GeneralOperation]: Finished isEquivalent. [2020-07-08 12:24:43,814 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2020-07-08 12:24:43,814 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 64 states. [2020-07-08 12:24:43,817 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 64 states to 64 states and 70 transitions. [2020-07-08 12:24:43,817 INFO L78 Accepts]: Start accepts. Automaton has 64 states and 70 transitions. Word has length 57 [2020-07-08 12:24:43,818 INFO L84 Accepts]: Finished accepts. word is rejected. [2020-07-08 12:24:43,818 INFO L479 AbstractCegarLoop]: Abstraction has 64 states and 70 transitions. [2020-07-08 12:24:43,818 INFO L480 AbstractCegarLoop]: Interpolant automaton has 15 states. [2020-07-08 12:24:43,818 INFO L276 IsEmpty]: Start isEmpty. Operand 64 states and 70 transitions. [2020-07-08 12:24:43,820 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 65 [2020-07-08 12:24:43,820 INFO L414 BasicCegarLoop]: Found error trace [2020-07-08 12:24:43,820 INFO L422 BasicCegarLoop]: trace histogram [4, 3, 3, 3, 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-08 12:24:44,035 WARN L516 AbstractCegarLoop]: Destroyed unattended storables created during the last iteration: 9 z3 -smt2 -in SMTLIB2_COMPLIANT=true,SelfDestructingSolverStorable9 [2020-07-08 12:24:44,036 INFO L427 AbstractCegarLoop]: === Iteration 11 === [__blast_assertErr0ASSERT_VIOLATIONERROR_FUNCTION]=== [2020-07-08 12:24:44,036 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2020-07-08 12:24:44,036 INFO L82 PathProgramCache]: Analyzing trace with hash -1118751113, now seen corresponding path program 1 times [2020-07-08 12:24:44,037 INFO L163 FreeRefinementEngine]: Executing refinement strategy CAMEL [2020-07-08 12:24:44,037 INFO L354 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [1507002947] [2020-07-08 12:24:44,037 INFO L94 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2020-07-08 12:24:44,083 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is sat [2020-07-08 12:24:44,131 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is sat [2020-07-08 12:24:44,207 INFO L174 FreeRefinementEngine]: Strategy CAMEL found a feasible trace [2020-07-08 12:24:44,208 INFO L520 BasicCegarLoop]: Counterexample might be feasible [2020-07-08 12:24:44,209 WARN L516 AbstractCegarLoop]: Destroyed unattended storables created during the last iteration: SelfDestructingSolverStorable10 [2020-07-08 12:24:44,301 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-08 12:24:44,303 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-08 12:24:44,371 WARN L170 areAnnotationChecker]: my_mallocENTRY has no Hoare annotation [2020-07-08 12:24:44,371 WARN L170 areAnnotationChecker]: ULTIMATE.initENTRY has no Hoare annotation [2020-07-08 12:24:44,372 WARN L170 areAnnotationChecker]: list_delENTRY has no Hoare annotation [2020-07-08 12:24:44,372 WARN L170 areAnnotationChecker]: ULTIMATE.startENTRY has no Hoare annotation [2020-07-08 12:24:44,372 WARN L170 areAnnotationChecker]: ULTIMATE.startENTRY has no Hoare annotation [2020-07-08 12:24:44,372 WARN L170 areAnnotationChecker]: __blast_assertENTRY has no Hoare annotation [2020-07-08 12:24:44,372 WARN L170 areAnnotationChecker]: __blast_assertENTRY has no Hoare annotation [2020-07-08 12:24:44,373 WARN L170 areAnnotationChecker]: list_addENTRY has no Hoare annotation [2020-07-08 12:24:44,373 WARN L170 areAnnotationChecker]: mainENTRY has no Hoare annotation [2020-07-08 12:24:44,373 WARN L170 areAnnotationChecker]: __getMemoryENTRY has no Hoare annotation [2020-07-08 12:24:44,373 WARN L170 areAnnotationChecker]: L879 has no Hoare annotation [2020-07-08 12:24:44,373 WARN L170 areAnnotationChecker]: L879 has no Hoare annotation [2020-07-08 12:24:44,373 WARN L170 areAnnotationChecker]: ULTIMATE.initFINAL has no Hoare annotation [2020-07-08 12:24:44,374 WARN L170 areAnnotationChecker]: L896 has no Hoare annotation [2020-07-08 12:24:44,374 WARN L170 areAnnotationChecker]: L896 has no Hoare annotation [2020-07-08 12:24:44,374 WARN L170 areAnnotationChecker]: L-1 has no Hoare annotation [2020-07-08 12:24:44,374 WARN L170 areAnnotationChecker]: L-1 has no Hoare annotation [2020-07-08 12:24:44,374 WARN L170 areAnnotationChecker]: __blast_assertFINAL has no Hoare annotation [2020-07-08 12:24:44,375 WARN L170 areAnnotationChecker]: L890 has no Hoare annotation [2020-07-08 12:24:44,375 WARN L170 areAnnotationChecker]: L890 has no Hoare annotation [2020-07-08 12:24:44,375 WARN L170 areAnnotationChecker]: L904 has no Hoare annotation [2020-07-08 12:24:44,375 WARN L170 areAnnotationChecker]: L904 has no Hoare annotation [2020-07-08 12:24:44,375 WARN L170 areAnnotationChecker]: L871 has no Hoare annotation [2020-07-08 12:24:44,375 WARN L170 areAnnotationChecker]: L871 has no Hoare annotation [2020-07-08 12:24:44,376 WARN L170 areAnnotationChecker]: L879-1 has no Hoare annotation [2020-07-08 12:24:44,376 WARN L170 areAnnotationChecker]: ULTIMATE.initEXIT has no Hoare annotation [2020-07-08 12:24:44,376 WARN L170 areAnnotationChecker]: L896-2 has no Hoare annotation [2020-07-08 12:24:44,376 WARN L170 areAnnotationChecker]: ULTIMATE.startFINAL has no Hoare annotation [2020-07-08 12:24:44,376 WARN L170 areAnnotationChecker]: __blast_assertEXIT has no Hoare annotation [2020-07-08 12:24:44,377 WARN L170 areAnnotationChecker]: __blast_assertEXIT has no Hoare annotation [2020-07-08 12:24:44,377 WARN L170 areAnnotationChecker]: L890-3 has no Hoare annotation [2020-07-08 12:24:44,377 WARN L170 areAnnotationChecker]: L890-2 has no Hoare annotation [2020-07-08 12:24:44,377 WARN L170 areAnnotationChecker]: L890-2 has no Hoare annotation [2020-07-08 12:24:44,377 WARN L170 areAnnotationChecker]: L904-1 has no Hoare annotation [2020-07-08 12:24:44,377 WARN L170 areAnnotationChecker]: L871-3 has no Hoare annotation [2020-07-08 12:24:44,378 WARN L170 areAnnotationChecker]: L871-2 has no Hoare annotation [2020-07-08 12:24:44,378 WARN L170 areAnnotationChecker]: L871-2 has no Hoare annotation [2020-07-08 12:24:44,378 WARN L170 areAnnotationChecker]: my_mallocFINAL has no Hoare annotation [2020-07-08 12:24:44,378 WARN L170 areAnnotationChecker]: list_delEXIT has no Hoare annotation [2020-07-08 12:24:44,378 WARN L170 areAnnotationChecker]: L891 has no Hoare annotation [2020-07-08 12:24:44,378 WARN L170 areAnnotationChecker]: L891 has no Hoare annotation [2020-07-08 12:24:44,378 WARN L170 areAnnotationChecker]: L905 has no Hoare annotation [2020-07-08 12:24:44,378 WARN L170 areAnnotationChecker]: L905 has no Hoare annotation [2020-07-08 12:24:44,379 WARN L170 areAnnotationChecker]: L873 has no Hoare annotation [2020-07-08 12:24:44,379 WARN L170 areAnnotationChecker]: L873 has no Hoare annotation [2020-07-08 12:24:44,379 WARN L170 areAnnotationChecker]: my_mallocEXIT has no Hoare annotation [2020-07-08 12:24:44,379 WARN L170 areAnnotationChecker]: my_mallocEXIT has no Hoare annotation [2020-07-08 12:24:44,379 WARN L170 areAnnotationChecker]: L909 has no Hoare annotation [2020-07-08 12:24:44,379 WARN L170 areAnnotationChecker]: L909 has no Hoare annotation [2020-07-08 12:24:44,379 WARN L170 areAnnotationChecker]: L891-2 has no Hoare annotation [2020-07-08 12:24:44,379 WARN L170 areAnnotationChecker]: L905-1 has no Hoare annotation [2020-07-08 12:24:44,379 WARN L170 areAnnotationChecker]: __getMemoryFINAL has no Hoare annotation [2020-07-08 12:24:44,380 WARN L170 areAnnotationChecker]: L910 has no Hoare annotation [2020-07-08 12:24:44,380 WARN L170 areAnnotationChecker]: L910 has no Hoare annotation [2020-07-08 12:24:44,380 WARN L170 areAnnotationChecker]: list_addEXIT has no Hoare annotation [2020-07-08 12:24:44,380 WARN L170 areAnnotationChecker]: list_addEXIT has no Hoare annotation [2020-07-08 12:24:44,380 WARN L170 areAnnotationChecker]: list_addEXIT has no Hoare annotation [2020-07-08 12:24:44,380 WARN L170 areAnnotationChecker]: list_addEXIT has no Hoare annotation [2020-07-08 12:24:44,380 WARN L170 areAnnotationChecker]: L906 has no Hoare annotation [2020-07-08 12:24:44,380 WARN L170 areAnnotationChecker]: L906 has no Hoare annotation [2020-07-08 12:24:44,380 WARN L170 areAnnotationChecker]: __getMemoryEXIT has no Hoare annotation [2020-07-08 12:24:44,381 WARN L170 areAnnotationChecker]: L906-1 has no Hoare annotation [2020-07-08 12:24:44,381 WARN L170 areAnnotationChecker]: L907-1 has no Hoare annotation [2020-07-08 12:24:44,381 WARN L170 areAnnotationChecker]: L907-1 has no Hoare annotation [2020-07-08 12:24:44,381 WARN L170 areAnnotationChecker]: L908 has no Hoare annotation [2020-07-08 12:24:44,381 WARN L170 areAnnotationChecker]: L908 has no Hoare annotation [2020-07-08 12:24:44,381 WARN L170 areAnnotationChecker]: L907 has no Hoare annotation [2020-07-08 12:24:44,381 WARN L170 areAnnotationChecker]: L907 has no Hoare annotation [2020-07-08 12:24:44,381 WARN L170 areAnnotationChecker]: mainFINAL has no Hoare annotation [2020-07-08 12:24:44,381 WARN L170 areAnnotationChecker]: mainEXIT has no Hoare annotation [2020-07-08 12:24:44,382 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-08 12:24:44,386 INFO L202 PluginConnector]: Adding new model de.uni_freiburg.informatik.ultimate.plugins.generator.traceabstraction CFG 08.07 12:24:44 BoogieIcfgContainer [2020-07-08 12:24:44,387 INFO L132 PluginConnector]: ------------------------ END TraceAbstraction---------------------------- [2020-07-08 12:24:44,391 INFO L168 Benchmark]: Toolchain (without parser) took 48384.77 ms. Allocated memory was 144.2 MB in the beginning and 561.5 MB in the end (delta: 417.3 MB). Free memory was 101.3 MB in the beginning and 466.3 MB in the end (delta: -364.9 MB). Peak memory consumption was 52.4 MB. Max. memory is 7.1 GB. [2020-07-08 12:24:44,391 INFO L168 Benchmark]: CDTParser took 0.22 ms. Allocated memory is still 144.2 MB. Free memory was 120.4 MB in the beginning and 120.2 MB in the end (delta: 210.0 kB). Peak memory consumption was 210.0 kB. Max. memory is 7.1 GB. [2020-07-08 12:24:44,392 INFO L168 Benchmark]: CACSL2BoogieTranslator took 673.24 ms. Allocated memory was 144.2 MB in the beginning and 201.9 MB in the end (delta: 57.7 MB). Free memory was 101.1 MB in the beginning and 166.7 MB in the end (delta: -65.6 MB). Peak memory consumption was 23.9 MB. Max. memory is 7.1 GB. [2020-07-08 12:24:44,393 INFO L168 Benchmark]: Boogie Preprocessor took 114.25 ms. Allocated memory is still 201.9 MB. Free memory was 166.0 MB in the beginning and 163.2 MB in the end (delta: 2.8 MB). Peak memory consumption was 2.8 MB. Max. memory is 7.1 GB. [2020-07-08 12:24:44,399 INFO L168 Benchmark]: RCFGBuilder took 719.78 ms. Allocated memory is still 201.9 MB. Free memory was 163.2 MB in the beginning and 106.9 MB in the end (delta: 56.4 MB). Peak memory consumption was 56.4 MB. Max. memory is 7.1 GB. [2020-07-08 12:24:44,399 INFO L168 Benchmark]: TraceAbstraction took 46872.52 ms. Allocated memory was 201.9 MB in the beginning and 561.5 MB in the end (delta: 359.7 MB). Free memory was 106.9 MB in the beginning and 466.3 MB in the end (delta: -359.4 MB). Peak memory consumption was 284.8 kB. Max. memory is 7.1 GB. [2020-07-08 12:24:44,408 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 144.2 MB. Free memory was 120.4 MB in the beginning and 120.2 MB in the end (delta: 210.0 kB). Peak memory consumption was 210.0 kB. Max. memory is 7.1 GB. * CACSL2BoogieTranslator took 673.24 ms. Allocated memory was 144.2 MB in the beginning and 201.9 MB in the end (delta: 57.7 MB). Free memory was 101.1 MB in the beginning and 166.7 MB in the end (delta: -65.6 MB). Peak memory consumption was 23.9 MB. Max. memory is 7.1 GB. * Boogie Preprocessor took 114.25 ms. Allocated memory is still 201.9 MB. Free memory was 166.0 MB in the beginning and 163.2 MB in the end (delta: 2.8 MB). Peak memory consumption was 2.8 MB. Max. memory is 7.1 GB. * RCFGBuilder took 719.78 ms. Allocated memory is still 201.9 MB. Free memory was 163.2 MB in the beginning and 106.9 MB in the end (delta: 56.4 MB). Peak memory consumption was 56.4 MB. Max. memory is 7.1 GB. * TraceAbstraction took 46872.52 ms. Allocated memory was 201.9 MB in the beginning and 561.5 MB in the end (delta: 359.7 MB). Free memory was 106.9 MB in the beginning and 466.3 MB in the end (delta: -359.4 MB). Peak memory consumption was 284.8 kB. 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# * 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; [L887] struct list_head *elem = ((void *)0); [L900] static struct list_head head; 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={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++ [L873] COND FALSE !(!__VERIFIER_nondet_int()) [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); [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)) [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++ [L873] COND FALSE !(!__VERIFIER_nondet_int()) [L875] return (void *) guard_malloc_counter; VAL [\old(elem)=0, \old(elem)=0, \old(guard_malloc_counter)=1, \old(guard_malloc_counter)=0, \old(size)=8, \result={0:2}, elem={0:0}, guard_malloc_counter={0:2}, head={3:0}, size=8] [L879] RET, EXPR __getMemory(size) VAL [\old(elem)=0, \old(elem)=0, \old(guard_malloc_counter)=0, \old(guard_malloc_counter)=1, \old(size)=8, __getMemory(size)={0:2}, elem={0:0}, guard_malloc_counter={0:2}, head={3:0}, size=8] [L879] return __getMemory(size); [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)) [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 TRUE __VERIFIER_nondet_int() [L892] elem = new VAL [\old(elem)=0, \old(elem)=0, \old(guard_malloc_counter)=0, \old(guard_malloc_counter)=0, elem={0:2}, 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:2}, guard_malloc_counter={0:2}, head={3:0}] [L908] CALL list_add(dev1, &head) VAL [\old(elem)=0, \old(elem)=2, \old(guard_malloc_counter)=0, \old(guard_malloc_counter)=0, elem={0:2}, 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)=2, \old(guard_malloc_counter)=0, \old(guard_malloc_counter)=0, elem={0:2}, 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() [L892] elem = new VAL [\old(elem)=2, \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)=0, \old(elem)=1, \old(guard_malloc_counter)=0, \old(guard_malloc_counter)=0, elem={0:1}, entry={0:2}, guard_malloc_counter={0:2}, head={3:0}] [L896] COND FALSE !(entry==elem) VAL [\old(elem)=1, \old(elem)=0, \old(guard_malloc_counter)=0, \old(guard_malloc_counter)=0, elem={0:1}, entry={0:2}, entry={0:2}, guard_malloc_counter={0:2}, head={3:0}] [L909] RET list_del(dev2) VAL [\old(elem)=0, \old(elem)=0, \old(guard_malloc_counter)=0, \old(guard_malloc_counter)=0, dev1={0:1}, dev2={0:2}, elem={0:1}, guard_malloc_counter={0:2}, head={3:0}] [L910] CALL list_add(dev2, &head) VAL [\old(elem)=0, \old(elem)=1, \old(guard_malloc_counter)=0, \old(guard_malloc_counter)=0, elem={0:1}, guard_malloc_counter={0:2}, head={3:0}, head={3:0}, new={0:2}] [L890] (new!=elem) ? (0) : __blast_assert () VAL [\old(elem)=1, \old(elem)=0, \old(guard_malloc_counter)=0, \old(guard_malloc_counter)=0, elem={0:1}, guard_malloc_counter={0:2}, head={3:0}, head={3:0}, head={3:0}, new={0:2}, new={0:2}] [L891] COND FALSE !(__VERIFIER_nondet_int()) [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)=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:1}, new={0:1}] [L890] CALL __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}] [L6] __VERIFIER_error() 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}] - StatisticsResult: Ultimate Automizer benchmark data CFG has 8 procedures, 48 locations, 1 error locations. Started 1 CEGAR loops. VerificationResult: UNSAFE, OverallTime: 46.6s, OverallIterations: 11, TraceHistogramMax: 4, AutomataDifference: 32.0s, DeadEndRemovalTime: 0.0s, HoareAnnotationTime: 0.0s, InitialAbstractionConstructionTime: 0.0s, HoareTripleCheckerStatistics: 391 SDtfs, 540 SDslu, 1143 SDs, 0 SdLazy, 5399 SolverSat, 635 SolverUnsat, 0 SolverUnknown, 0 SolverNotchecked, 11.3s Time, PredicateUnifierStatistics: 0 DeclaredPredicates, 727 GetRequests, 440 SyntacticMatches, 6 SemanticMatches, 281 ConstructedPredicates, 0 IntricatePredicates, 0 DeprecatedPredicates, 1374 ImplicationChecksByTransitivity, 7.9s Time, 0.0s BasicInterpolantAutomatonTime, BiggestAbstraction: size=72occurred in iteration=5, traceCheckStatistics: No data available, InterpolantConsolidationStatistics: No data available, PathInvariantsStatistics: No data available, 0/0 InterpolantCoveringCapability, TotalInterpolationStatistics: No data available, 0.0s DumpTime, AutomataMinimizationStatistics: 1.4s AutomataMinimizationTime, 10 MinimizatonAttempts, 57 StatesRemovedByMinimization, 9 NontrivialMinimizations, HoareAnnotationStatistics: No data available, RefinementEngineStatistics: TRACE_CHECK: 0.1s SsaConstructionTime, 0.5s SatisfiabilityAnalysisTime, 8.6s InterpolantComputationTime, 903 NumberOfCodeBlocks, 903 NumberOfCodeBlocksAsserted, 19 NumberOfCheckSat, 821 ConstructedInterpolants, 0 QuantifiedInterpolants, 161323 SizeOfPredicates, 49 NumberOfNonLiveVariables, 2263 ConjunctsInSsa, 202 ConjunctsInUnsatCore, 18 InterpolantComputations, 4 PerfectInterpolantSequences, 182/275 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...