/usr/bin/java -ea -Xmx8000000000 -Xss4m -jar ./plugins/org.eclipse.equinox.launcher_1.3.100.v20150511-1540.jar -data @noDefault -ultimatedata ./data -tc ../../../trunk/examples/toolchains/AutomizerC.xml --traceabstraction.compute.interpolants.along.a.counterexample Craig_NestedInterpolation --traceabstraction.use.separate.solver.for.trace.checks true -s ../../../trunk/examples/settings/automizer/acceleratedInterpolation/acceleratedInterpolationFastUPR_32.epf -i ../../../trunk/examples/svcomp/ldv-regression/rule60_list2.i -------------------------------------------------------------------------------- This is Ultimate 0.1.25-8fc6572 [2020-07-11 01:05:05,645 INFO L177 SettingsManager]: Resetting all preferences to default values... [2020-07-11 01:05:05,647 INFO L181 SettingsManager]: Resetting UltimateCore preferences to default values [2020-07-11 01:05:05,665 INFO L184 SettingsManager]: Ultimate Commandline Interface provides no preferences, ignoring... [2020-07-11 01:05:05,666 INFO L181 SettingsManager]: Resetting Boogie Preprocessor preferences to default values [2020-07-11 01:05:05,668 INFO L181 SettingsManager]: Resetting Boogie Procedure Inliner preferences to default values [2020-07-11 01:05:05,670 INFO L181 SettingsManager]: Resetting Abstract Interpretation preferences to default values [2020-07-11 01:05:05,683 INFO L181 SettingsManager]: Resetting LassoRanker preferences to default values [2020-07-11 01:05:05,685 INFO L181 SettingsManager]: Resetting Reaching Definitions preferences to default values [2020-07-11 01:05:05,686 INFO L181 SettingsManager]: Resetting SyntaxChecker preferences to default values [2020-07-11 01:05:05,687 INFO L181 SettingsManager]: Resetting Sifa preferences to default values [2020-07-11 01:05:05,690 INFO L184 SettingsManager]: Büchi Program Product provides no preferences, ignoring... [2020-07-11 01:05:05,691 INFO L181 SettingsManager]: Resetting LTL2Aut preferences to default values [2020-07-11 01:05:05,694 INFO L181 SettingsManager]: Resetting PEA to Boogie preferences to default values [2020-07-11 01:05:05,696 INFO L181 SettingsManager]: Resetting BlockEncodingV2 preferences to default values [2020-07-11 01:05:05,697 INFO L181 SettingsManager]: Resetting ChcToBoogie preferences to default values [2020-07-11 01:05:05,701 INFO L181 SettingsManager]: Resetting AutomataScriptInterpreter preferences to default values [2020-07-11 01:05:05,702 INFO L181 SettingsManager]: Resetting BuchiAutomizer preferences to default values [2020-07-11 01:05:05,703 INFO L181 SettingsManager]: Resetting CACSL2BoogieTranslator preferences to default values [2020-07-11 01:05:05,707 INFO L181 SettingsManager]: Resetting CodeCheck preferences to default values [2020-07-11 01:05:05,708 INFO L181 SettingsManager]: Resetting InvariantSynthesis preferences to default values [2020-07-11 01:05:05,709 INFO L181 SettingsManager]: Resetting RCFGBuilder preferences to default values [2020-07-11 01:05:05,713 INFO L181 SettingsManager]: Resetting Referee preferences to default values [2020-07-11 01:05:05,714 INFO L181 SettingsManager]: Resetting TraceAbstraction preferences to default values [2020-07-11 01:05:05,716 INFO L184 SettingsManager]: TraceAbstractionConcurrent provides no preferences, ignoring... [2020-07-11 01:05:05,716 INFO L184 SettingsManager]: TraceAbstractionWithAFAs provides no preferences, ignoring... [2020-07-11 01:05:05,716 INFO L181 SettingsManager]: Resetting TreeAutomizer preferences to default values [2020-07-11 01:05:05,717 INFO L181 SettingsManager]: Resetting IcfgToChc preferences to default values [2020-07-11 01:05:05,718 INFO L181 SettingsManager]: Resetting IcfgTransformer preferences to default values [2020-07-11 01:05:05,718 INFO L184 SettingsManager]: ReqToTest provides no preferences, ignoring... [2020-07-11 01:05:05,719 INFO L181 SettingsManager]: Resetting Boogie Printer preferences to default values [2020-07-11 01:05:05,719 INFO L181 SettingsManager]: Resetting ChcSmtPrinter preferences to default values [2020-07-11 01:05:05,720 INFO L181 SettingsManager]: Resetting ReqPrinter preferences to default values [2020-07-11 01:05:05,721 INFO L181 SettingsManager]: Resetting Witness Printer preferences to default values [2020-07-11 01:05:05,722 INFO L184 SettingsManager]: Boogie PL CUP Parser provides no preferences, ignoring... [2020-07-11 01:05:05,722 INFO L181 SettingsManager]: Resetting CDTParser preferences to default values [2020-07-11 01:05:05,723 INFO L184 SettingsManager]: AutomataScriptParser provides no preferences, ignoring... [2020-07-11 01:05:05,723 INFO L184 SettingsManager]: ReqParser provides no preferences, ignoring... [2020-07-11 01:05:05,723 INFO L181 SettingsManager]: Resetting SmtParser preferences to default values [2020-07-11 01:05:05,724 INFO L181 SettingsManager]: Resetting Witness Parser preferences to default values [2020-07-11 01:05:05,725 INFO L188 SettingsManager]: Finished resetting all preferences to default values... [2020-07-11 01:05:05,725 INFO L101 SettingsManager]: Beginning loading settings from /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/../../../trunk/examples/settings/automizer/acceleratedInterpolation/acceleratedInterpolationFastUPR_32.epf [2020-07-11 01:05:05,734 INFO L113 SettingsManager]: Loading preferences was successful [2020-07-11 01:05:05,735 INFO L115 SettingsManager]: Preferences different from defaults after loading the file: [2020-07-11 01:05:05,736 INFO L136 SettingsManager]: Preferences of CACSL2BoogieTranslator differ from their defaults: [2020-07-11 01:05:05,736 INFO L138 SettingsManager]: * sizeof long=4 [2020-07-11 01:05:05,736 INFO L138 SettingsManager]: * Overapproximate operations on floating types=true [2020-07-11 01:05:05,736 INFO L138 SettingsManager]: * sizeof POINTER=4 [2020-07-11 01:05:05,737 INFO L138 SettingsManager]: * Check division by zero=IGNORE [2020-07-11 01:05:05,737 INFO L138 SettingsManager]: * Pointer to allocated memory at dereference=IGNORE [2020-07-11 01:05:05,737 INFO L138 SettingsManager]: * If two pointers are subtracted or compared they have the same base address=IGNORE [2020-07-11 01:05:05,737 INFO L138 SettingsManager]: * Check array bounds for arrays that are off heap=IGNORE [2020-07-11 01:05:05,737 INFO L138 SettingsManager]: * sizeof long double=12 [2020-07-11 01:05:05,738 INFO L138 SettingsManager]: * Check if freed pointer was valid=false [2020-07-11 01:05:05,738 INFO L138 SettingsManager]: * Use constant arrays=true [2020-07-11 01:05:05,738 INFO L138 SettingsManager]: * Pointer base address is valid at dereference=IGNORE [2020-07-11 01:05:05,738 INFO L136 SettingsManager]: Preferences of RCFGBuilder differ from their defaults: [2020-07-11 01:05:05,738 INFO L138 SettingsManager]: * Size of a code block=SingleStatement [2020-07-11 01:05:05,738 INFO L138 SettingsManager]: * To the following directory=./dump/ [2020-07-11 01:05:05,739 INFO L138 SettingsManager]: * SMT solver=External_DefaultMode [2020-07-11 01:05:05,739 INFO L138 SettingsManager]: * Command for external solver=z3 SMTLIB2_COMPLIANT=true -memory:2024 -smt2 -in -t:2000 [2020-07-11 01:05:05,739 INFO L136 SettingsManager]: Preferences of TraceAbstraction differ from their defaults: [2020-07-11 01:05:05,739 INFO L138 SettingsManager]: * Compute Interpolants along a Counterexample=AcceleratedInterpolation [2020-07-11 01:05:05,740 INFO L138 SettingsManager]: * Compute Hoare Annotation of negated interpolant automaton, abstraction and CFG=true [2020-07-11 01:05:05,740 INFO L138 SettingsManager]: * Use separate solver for trace checks=false Applying setting for plugin de.uni_freiburg.informatik.ultimate.plugins.generator.traceabstraction: Compute Interpolants along a Counterexample -> Craig_NestedInterpolation Applying setting for plugin de.uni_freiburg.informatik.ultimate.plugins.generator.traceabstraction: Use separate solver for trace checks -> true [2020-07-11 01:05:06,018 INFO L81 nceAwareModelManager]: Repository-Root is: /tmp [2020-07-11 01:05:06,039 INFO L258 ainManager$Toolchain]: [Toolchain 1]: Applicable parser(s) successfully (re)initialized [2020-07-11 01:05:06,043 INFO L214 ainManager$Toolchain]: [Toolchain 1]: Toolchain selected. [2020-07-11 01:05:06,044 INFO L271 PluginConnector]: Initializing CDTParser... [2020-07-11 01:05:06,045 INFO L275 PluginConnector]: CDTParser initialized [2020-07-11 01:05:06,045 INFO L429 ainManager$Toolchain]: [Toolchain 1]: Parsing single file: /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/../../../trunk/examples/svcomp/ldv-regression/rule60_list2.i [2020-07-11 01:05:06,119 INFO L220 CDTParser]: Created temporary CDT project at /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/data/3a8865c68/d1ca2dd9212b47839b240e8231900ce9/FLAG3b6aae69b [2020-07-11 01:05:06,706 INFO L306 CDTParser]: Found 1 translation units. [2020-07-11 01:05:06,707 INFO L160 CDTParser]: Scanning /storage/repos/ultimate/trunk/examples/svcomp/ldv-regression/rule60_list2.i [2020-07-11 01:05:06,720 INFO L349 CDTParser]: About to delete temporary CDT project at /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/data/3a8865c68/d1ca2dd9212b47839b240e8231900ce9/FLAG3b6aae69b [2020-07-11 01:05:07,018 INFO L357 CDTParser]: Successfully deleted /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/data/3a8865c68/d1ca2dd9212b47839b240e8231900ce9 [2020-07-11 01:05:07,028 INFO L296 ainManager$Toolchain]: ####################### [Toolchain 1] ####################### [2020-07-11 01:05:07,030 INFO L131 ToolchainWalker]: Walking toolchain with 4 elements. [2020-07-11 01:05:07,031 INFO L113 PluginConnector]: ------------------------CACSL2BoogieTranslator---------------------------- [2020-07-11 01:05:07,032 INFO L271 PluginConnector]: Initializing CACSL2BoogieTranslator... [2020-07-11 01:05:07,035 INFO L275 PluginConnector]: CACSL2BoogieTranslator initialized [2020-07-11 01:05:07,037 INFO L185 PluginConnector]: Executing the observer ACSLObjectContainerObserver from plugin CACSL2BoogieTranslator for "CDTParser AST 11.07 01:05:07" (1/1) ... [2020-07-11 01:05:07,040 INFO L205 PluginConnector]: Invalid model from CACSL2BoogieTranslator for observer de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator.ACSLObjectContainerObserver@6ba92de and model type de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 11.07 01:05:07, skipping insertion in model container [2020-07-11 01:05:07,040 INFO L185 PluginConnector]: Executing the observer CACSL2BoogieTranslatorObserver from plugin CACSL2BoogieTranslator for "CDTParser AST 11.07 01:05:07" (1/1) ... [2020-07-11 01:05:07,048 INFO L145 MainTranslator]: Starting translation in SV-COMP mode [2020-07-11 01:05:07,104 INFO L178 MainTranslator]: Built tables and reachable declarations [2020-07-11 01:05:07,545 INFO L206 PostProcessor]: Analyzing one entry point: main [2020-07-11 01:05:07,551 INFO L203 MainTranslator]: Completed pre-run [2020-07-11 01:05:07,600 INFO L206 PostProcessor]: Analyzing one entry point: main [2020-07-11 01:05:07,667 INFO L208 MainTranslator]: Completed translation [2020-07-11 01:05:07,668 INFO L202 PluginConnector]: Adding new model de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 11.07 01:05:07 WrapperNode [2020-07-11 01:05:07,668 INFO L132 PluginConnector]: ------------------------ END CACSL2BoogieTranslator---------------------------- [2020-07-11 01:05:07,669 INFO L113 PluginConnector]: ------------------------Boogie Preprocessor---------------------------- [2020-07-11 01:05:07,669 INFO L271 PluginConnector]: Initializing Boogie Preprocessor... [2020-07-11 01:05:07,669 INFO L275 PluginConnector]: Boogie Preprocessor initialized [2020-07-11 01:05:07,684 INFO L185 PluginConnector]: Executing the observer EnsureBoogieModelObserver from plugin Boogie Preprocessor for "de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 11.07 01:05:07" (1/1) ... [2020-07-11 01:05:07,684 INFO L185 PluginConnector]: Executing the observer TypeChecker from plugin Boogie Preprocessor for "de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 11.07 01:05:07" (1/1) ... [2020-07-11 01:05:07,700 INFO L185 PluginConnector]: Executing the observer ConstExpander from plugin Boogie Preprocessor for "de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 11.07 01:05:07" (1/1) ... [2020-07-11 01:05:07,700 INFO L185 PluginConnector]: Executing the observer StructExpander from plugin Boogie Preprocessor for "de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 11.07 01:05:07" (1/1) ... [2020-07-11 01:05:07,722 INFO L185 PluginConnector]: Executing the observer UnstructureCode from plugin Boogie Preprocessor for "de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 11.07 01:05:07" (1/1) ... [2020-07-11 01:05:07,724 INFO L185 PluginConnector]: Executing the observer FunctionInliner from plugin Boogie Preprocessor for "de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 11.07 01:05:07" (1/1) ... [2020-07-11 01:05:07,728 INFO L185 PluginConnector]: Executing the observer BoogieSymbolTableConstructor from plugin Boogie Preprocessor for "de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 11.07 01:05:07" (1/1) ... [2020-07-11 01:05:07,735 INFO L132 PluginConnector]: ------------------------ END Boogie Preprocessor---------------------------- [2020-07-11 01:05:07,735 INFO L113 PluginConnector]: ------------------------RCFGBuilder---------------------------- [2020-07-11 01:05:07,735 INFO L271 PluginConnector]: Initializing RCFGBuilder... [2020-07-11 01:05:07,735 INFO L275 PluginConnector]: RCFGBuilder initialized [2020-07-11 01:05:07,736 INFO L185 PluginConnector]: Executing the observer RCFGBuilderObserver from plugin RCFGBuilder for "de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 11.07 01:05:07" (1/1) ... No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 Starting monitored process 1 with z3 SMTLIB2_COMPLIANT=true -memory:2024 -smt2 -in -t:2000 (exit command is (exit), workingDir is null) Waiting until toolchain timeout for monitored process 1 with z3 SMTLIB2_COMPLIANT=true -memory:2024 -smt2 -in -t:2000 [2020-07-11 01:05:07,808 INFO L138 BoogieDeclarations]: Found implementation of procedure ULTIMATE.init [2020-07-11 01:05:07,808 INFO L138 BoogieDeclarations]: Found implementation of procedure ULTIMATE.start [2020-07-11 01:05:07,808 INFO L138 BoogieDeclarations]: Found implementation of procedure __blast_assert [2020-07-11 01:05:07,808 INFO L138 BoogieDeclarations]: Found implementation of procedure __getMemory [2020-07-11 01:05:07,808 INFO L138 BoogieDeclarations]: Found implementation of procedure my_malloc [2020-07-11 01:05:07,809 INFO L138 BoogieDeclarations]: Found implementation of procedure list_add [2020-07-11 01:05:07,809 INFO L138 BoogieDeclarations]: Found implementation of procedure list_del [2020-07-11 01:05:07,809 INFO L138 BoogieDeclarations]: Found implementation of procedure main [2020-07-11 01:05:07,809 INFO L130 BoogieDeclarations]: Found specification of procedure __VERIFIER_error [2020-07-11 01:05:07,809 INFO L130 BoogieDeclarations]: Found specification of procedure __blast_assert [2020-07-11 01:05:07,809 INFO L130 BoogieDeclarations]: Found specification of procedure __underflow [2020-07-11 01:05:07,809 INFO L130 BoogieDeclarations]: Found specification of procedure __uflow [2020-07-11 01:05:07,809 INFO L130 BoogieDeclarations]: Found specification of procedure __overflow [2020-07-11 01:05:07,810 INFO L130 BoogieDeclarations]: Found specification of procedure _IO_getc [2020-07-11 01:05:07,810 INFO L130 BoogieDeclarations]: Found specification of procedure _IO_putc [2020-07-11 01:05:07,810 INFO L130 BoogieDeclarations]: Found specification of procedure _IO_feof [2020-07-11 01:05:07,810 INFO L130 BoogieDeclarations]: Found specification of procedure _IO_ferror [2020-07-11 01:05:07,810 INFO L130 BoogieDeclarations]: Found specification of procedure _IO_peekc_locked [2020-07-11 01:05:07,811 INFO L130 BoogieDeclarations]: Found specification of procedure _IO_flockfile [2020-07-11 01:05:07,811 INFO L130 BoogieDeclarations]: Found specification of procedure _IO_funlockfile [2020-07-11 01:05:07,811 INFO L130 BoogieDeclarations]: Found specification of procedure _IO_ftrylockfile [2020-07-11 01:05:07,811 INFO L130 BoogieDeclarations]: Found specification of procedure _IO_vfscanf [2020-07-11 01:05:07,812 INFO L130 BoogieDeclarations]: Found specification of procedure _IO_vfprintf [2020-07-11 01:05:07,812 INFO L130 BoogieDeclarations]: Found specification of procedure _IO_padn [2020-07-11 01:05:07,813 INFO L130 BoogieDeclarations]: Found specification of procedure _IO_sgetn [2020-07-11 01:05:07,813 INFO L130 BoogieDeclarations]: Found specification of procedure _IO_seekoff [2020-07-11 01:05:07,813 INFO L130 BoogieDeclarations]: Found specification of procedure _IO_seekpos [2020-07-11 01:05:07,813 INFO L130 BoogieDeclarations]: Found specification of procedure _IO_free_backup_area [2020-07-11 01:05:07,813 INFO L130 BoogieDeclarations]: Found specification of procedure remove [2020-07-11 01:05:07,813 INFO L130 BoogieDeclarations]: Found specification of procedure rename [2020-07-11 01:05:07,814 INFO L130 BoogieDeclarations]: Found specification of procedure renameat [2020-07-11 01:05:07,814 INFO L130 BoogieDeclarations]: Found specification of procedure tmpfile [2020-07-11 01:05:07,815 INFO L130 BoogieDeclarations]: Found specification of procedure tmpnam [2020-07-11 01:05:07,816 INFO L130 BoogieDeclarations]: Found specification of procedure tmpnam_r [2020-07-11 01:05:07,816 INFO L130 BoogieDeclarations]: Found specification of procedure tempnam [2020-07-11 01:05:07,816 INFO L130 BoogieDeclarations]: Found specification of procedure fclose [2020-07-11 01:05:07,816 INFO L130 BoogieDeclarations]: Found specification of procedure fflush [2020-07-11 01:05:07,816 INFO L130 BoogieDeclarations]: Found specification of procedure fflush_unlocked [2020-07-11 01:05:07,816 INFO L130 BoogieDeclarations]: Found specification of procedure fopen [2020-07-11 01:05:07,817 INFO L130 BoogieDeclarations]: Found specification of procedure freopen [2020-07-11 01:05:07,817 INFO L130 BoogieDeclarations]: Found specification of procedure fdopen [2020-07-11 01:05:07,817 INFO L130 BoogieDeclarations]: Found specification of procedure fmemopen [2020-07-11 01:05:07,817 INFO L130 BoogieDeclarations]: Found specification of procedure open_memstream [2020-07-11 01:05:07,817 INFO L130 BoogieDeclarations]: Found specification of procedure setbuf [2020-07-11 01:05:07,817 INFO L130 BoogieDeclarations]: Found specification of procedure setvbuf [2020-07-11 01:05:07,817 INFO L130 BoogieDeclarations]: Found specification of procedure setbuffer [2020-07-11 01:05:07,818 INFO L130 BoogieDeclarations]: Found specification of procedure setlinebuf [2020-07-11 01:05:07,818 INFO L130 BoogieDeclarations]: Found specification of procedure fprintf [2020-07-11 01:05:07,818 INFO L130 BoogieDeclarations]: Found specification of procedure printf [2020-07-11 01:05:07,818 INFO L130 BoogieDeclarations]: Found specification of procedure sprintf [2020-07-11 01:05:07,818 INFO L130 BoogieDeclarations]: Found specification of procedure vfprintf [2020-07-11 01:05:07,819 INFO L130 BoogieDeclarations]: Found specification of procedure vprintf [2020-07-11 01:05:07,819 INFO L130 BoogieDeclarations]: Found specification of procedure vsprintf [2020-07-11 01:05:07,819 INFO L130 BoogieDeclarations]: Found specification of procedure snprintf [2020-07-11 01:05:07,819 INFO L130 BoogieDeclarations]: Found specification of procedure vsnprintf [2020-07-11 01:05:07,820 INFO L130 BoogieDeclarations]: Found specification of procedure vdprintf [2020-07-11 01:05:07,820 INFO L130 BoogieDeclarations]: Found specification of procedure dprintf [2020-07-11 01:05:07,820 INFO L130 BoogieDeclarations]: Found specification of procedure fscanf [2020-07-11 01:05:07,820 INFO L130 BoogieDeclarations]: Found specification of procedure scanf [2020-07-11 01:05:07,821 INFO L130 BoogieDeclarations]: Found specification of procedure sscanf [2020-07-11 01:05:07,821 INFO L130 BoogieDeclarations]: Found specification of procedure vfscanf [2020-07-11 01:05:07,821 INFO L130 BoogieDeclarations]: Found specification of procedure vscanf [2020-07-11 01:05:07,821 INFO L130 BoogieDeclarations]: Found specification of procedure vsscanf [2020-07-11 01:05:07,821 INFO L130 BoogieDeclarations]: Found specification of procedure fgetc [2020-07-11 01:05:07,821 INFO L130 BoogieDeclarations]: Found specification of procedure getc [2020-07-11 01:05:07,822 INFO L130 BoogieDeclarations]: Found specification of procedure getchar [2020-07-11 01:05:07,822 INFO L130 BoogieDeclarations]: Found specification of procedure getc_unlocked [2020-07-11 01:05:07,822 INFO L130 BoogieDeclarations]: Found specification of procedure getchar_unlocked [2020-07-11 01:05:07,822 INFO L130 BoogieDeclarations]: Found specification of procedure fgetc_unlocked [2020-07-11 01:05:07,822 INFO L130 BoogieDeclarations]: Found specification of procedure fputc [2020-07-11 01:05:07,822 INFO L130 BoogieDeclarations]: Found specification of procedure putc [2020-07-11 01:05:07,823 INFO L130 BoogieDeclarations]: Found specification of procedure putchar [2020-07-11 01:05:07,823 INFO L130 BoogieDeclarations]: Found specification of procedure fputc_unlocked [2020-07-11 01:05:07,823 INFO L130 BoogieDeclarations]: Found specification of procedure putc_unlocked [2020-07-11 01:05:07,823 INFO L130 BoogieDeclarations]: Found specification of procedure putchar_unlocked [2020-07-11 01:05:07,823 INFO L130 BoogieDeclarations]: Found specification of procedure getw [2020-07-11 01:05:07,824 INFO L130 BoogieDeclarations]: Found specification of procedure putw [2020-07-11 01:05:07,824 INFO L130 BoogieDeclarations]: Found specification of procedure fgets [2020-07-11 01:05:07,824 INFO L130 BoogieDeclarations]: Found specification of procedure gets [2020-07-11 01:05:07,824 INFO L130 BoogieDeclarations]: Found specification of procedure __getdelim [2020-07-11 01:05:07,825 INFO L130 BoogieDeclarations]: Found specification of procedure getdelim [2020-07-11 01:05:07,825 INFO L130 BoogieDeclarations]: Found specification of procedure getline [2020-07-11 01:05:07,825 INFO L130 BoogieDeclarations]: Found specification of procedure fputs [2020-07-11 01:05:07,825 INFO L130 BoogieDeclarations]: Found specification of procedure puts [2020-07-11 01:05:07,825 INFO L130 BoogieDeclarations]: Found specification of procedure ungetc [2020-07-11 01:05:07,826 INFO L130 BoogieDeclarations]: Found specification of procedure fread [2020-07-11 01:05:07,826 INFO L130 BoogieDeclarations]: Found specification of procedure fwrite [2020-07-11 01:05:07,827 INFO L130 BoogieDeclarations]: Found specification of procedure fread_unlocked [2020-07-11 01:05:07,827 INFO L130 BoogieDeclarations]: Found specification of procedure fwrite_unlocked [2020-07-11 01:05:07,827 INFO L130 BoogieDeclarations]: Found specification of procedure fseek [2020-07-11 01:05:07,828 INFO L130 BoogieDeclarations]: Found specification of procedure ftell [2020-07-11 01:05:07,828 INFO L130 BoogieDeclarations]: Found specification of procedure rewind [2020-07-11 01:05:07,828 INFO L130 BoogieDeclarations]: Found specification of procedure fseeko [2020-07-11 01:05:07,828 INFO L130 BoogieDeclarations]: Found specification of procedure ftello [2020-07-11 01:05:07,829 INFO L130 BoogieDeclarations]: Found specification of procedure fgetpos [2020-07-11 01:05:07,829 INFO L130 BoogieDeclarations]: Found specification of procedure fsetpos [2020-07-11 01:05:07,829 INFO L130 BoogieDeclarations]: Found specification of procedure clearerr [2020-07-11 01:05:07,829 INFO L130 BoogieDeclarations]: Found specification of procedure feof [2020-07-11 01:05:07,829 INFO L130 BoogieDeclarations]: Found specification of procedure ferror [2020-07-11 01:05:07,830 INFO L130 BoogieDeclarations]: Found specification of procedure clearerr_unlocked [2020-07-11 01:05:07,830 INFO L130 BoogieDeclarations]: Found specification of procedure feof_unlocked [2020-07-11 01:05:07,830 INFO L130 BoogieDeclarations]: Found specification of procedure ferror_unlocked [2020-07-11 01:05:07,830 INFO L130 BoogieDeclarations]: Found specification of procedure perror [2020-07-11 01:05:07,830 INFO L130 BoogieDeclarations]: Found specification of procedure fileno [2020-07-11 01:05:07,830 INFO L130 BoogieDeclarations]: Found specification of procedure fileno_unlocked [2020-07-11 01:05:07,830 INFO L130 BoogieDeclarations]: Found specification of procedure popen [2020-07-11 01:05:07,831 INFO L130 BoogieDeclarations]: Found specification of procedure pclose [2020-07-11 01:05:07,831 INFO L130 BoogieDeclarations]: Found specification of procedure ctermid [2020-07-11 01:05:07,831 INFO L130 BoogieDeclarations]: Found specification of procedure flockfile [2020-07-11 01:05:07,831 INFO L130 BoogieDeclarations]: Found specification of procedure ftrylockfile [2020-07-11 01:05:07,831 INFO L130 BoogieDeclarations]: Found specification of procedure funlockfile [2020-07-11 01:05:07,831 INFO L130 BoogieDeclarations]: Found specification of procedure malloc [2020-07-11 01:05:07,831 INFO L130 BoogieDeclarations]: Found specification of procedure calloc [2020-07-11 01:05:07,832 INFO L130 BoogieDeclarations]: Found specification of procedure realloc [2020-07-11 01:05:07,832 INFO L130 BoogieDeclarations]: Found specification of procedure free [2020-07-11 01:05:07,832 INFO L130 BoogieDeclarations]: Found specification of procedure cfree [2020-07-11 01:05:07,832 INFO L130 BoogieDeclarations]: Found specification of procedure memalign [2020-07-11 01:05:07,832 INFO L130 BoogieDeclarations]: Found specification of procedure valloc [2020-07-11 01:05:07,832 INFO L130 BoogieDeclarations]: Found specification of procedure pvalloc [2020-07-11 01:05:07,832 INFO L130 BoogieDeclarations]: Found specification of procedure __default_morecore [2020-07-11 01:05:07,833 INFO L130 BoogieDeclarations]: Found specification of procedure mallinfo [2020-07-11 01:05:07,833 INFO L130 BoogieDeclarations]: Found specification of procedure mallopt [2020-07-11 01:05:07,833 INFO L130 BoogieDeclarations]: Found specification of procedure malloc_trim [2020-07-11 01:05:07,833 INFO L130 BoogieDeclarations]: Found specification of procedure malloc_usable_size [2020-07-11 01:05:07,833 INFO L130 BoogieDeclarations]: Found specification of procedure malloc_stats [2020-07-11 01:05:07,834 INFO L130 BoogieDeclarations]: Found specification of procedure malloc_info [2020-07-11 01:05:07,834 INFO L130 BoogieDeclarations]: Found specification of procedure malloc_get_state [2020-07-11 01:05:07,834 INFO L130 BoogieDeclarations]: Found specification of procedure malloc_set_state [2020-07-11 01:05:07,834 INFO L130 BoogieDeclarations]: Found specification of procedure __malloc_check_init [2020-07-11 01:05:07,835 INFO L130 BoogieDeclarations]: Found specification of procedure __VERIFIER_nondet_int [2020-07-11 01:05:07,836 INFO L130 BoogieDeclarations]: Found specification of procedure __getMemory [2020-07-11 01:05:07,836 INFO L130 BoogieDeclarations]: Found specification of procedure my_malloc [2020-07-11 01:05:07,836 INFO L130 BoogieDeclarations]: Found specification of procedure list_add [2020-07-11 01:05:07,836 INFO L130 BoogieDeclarations]: Found specification of procedure list_del [2020-07-11 01:05:07,837 INFO L130 BoogieDeclarations]: Found specification of procedure main [2020-07-11 01:05:07,837 INFO L130 BoogieDeclarations]: Found specification of procedure ULTIMATE.init [2020-07-11 01:05:07,837 INFO L130 BoogieDeclarations]: Found specification of procedure #Ultimate.allocOnStack [2020-07-11 01:05:07,837 INFO L130 BoogieDeclarations]: Found specification of procedure write~init~$Pointer$ [2020-07-11 01:05:07,838 INFO L130 BoogieDeclarations]: Found specification of procedure ULTIMATE.start [2020-07-11 01:05:07,838 INFO L130 BoogieDeclarations]: Found specification of procedure write~$Pointer$ [2020-07-11 01:05:07,838 INFO L130 BoogieDeclarations]: Found specification of procedure read~$Pointer$ [2020-07-11 01:05:07,838 INFO L130 BoogieDeclarations]: Found specification of procedure ULTIMATE.dealloc [2020-07-11 01:05:08,495 INFO L290 CfgBuilder]: Using the 1 location(s) as analysis (start of procedure ULTIMATE.start) [2020-07-11 01:05:08,495 INFO L295 CfgBuilder]: Removed 0 assume(true) statements. [2020-07-11 01:05:08,501 INFO L202 PluginConnector]: Adding new model de.uni_freiburg.informatik.ultimate.plugins.generator.rcfgbuilder CFG 11.07 01:05:08 BoogieIcfgContainer [2020-07-11 01:05:08,501 INFO L132 PluginConnector]: ------------------------ END RCFGBuilder---------------------------- [2020-07-11 01:05:08,503 INFO L113 PluginConnector]: ------------------------TraceAbstraction---------------------------- [2020-07-11 01:05:08,503 INFO L271 PluginConnector]: Initializing TraceAbstraction... [2020-07-11 01:05:08,506 INFO L275 PluginConnector]: TraceAbstraction initialized [2020-07-11 01:05:08,507 INFO L185 PluginConnector]: Executing the observer TraceAbstractionObserver from plugin TraceAbstraction for "CDTParser AST 11.07 01:05:07" (1/3) ... [2020-07-11 01:05:08,508 INFO L205 PluginConnector]: Invalid model from TraceAbstraction for observer de.uni_freiburg.informatik.ultimate.plugins.generator.traceabstraction.TraceAbstractionObserver@17adcc59 and model type de.uni_freiburg.informatik.ultimate.plugins.generator.traceabstraction AST 11.07 01:05:08, skipping insertion in model container [2020-07-11 01:05:08,508 INFO L185 PluginConnector]: Executing the observer TraceAbstractionObserver from plugin TraceAbstraction for "de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 11.07 01:05:07" (2/3) ... [2020-07-11 01:05:08,508 INFO L205 PluginConnector]: Invalid model from TraceAbstraction for observer de.uni_freiburg.informatik.ultimate.plugins.generator.traceabstraction.TraceAbstractionObserver@17adcc59 and model type de.uni_freiburg.informatik.ultimate.plugins.generator.traceabstraction AST 11.07 01:05:08, skipping insertion in model container [2020-07-11 01:05:08,509 INFO L185 PluginConnector]: Executing the observer TraceAbstractionObserver from plugin TraceAbstraction for "de.uni_freiburg.informatik.ultimate.plugins.generator.rcfgbuilder CFG 11.07 01:05:08" (3/3) ... [2020-07-11 01:05:08,510 INFO L109 eAbstractionObserver]: Analyzing ICFG rule60_list2.i [2020-07-11 01:05:08,521 INFO L157 ceAbstractionStarter]: Automizer settings: Hoare:true NWA Interpolation:Craig_NestedInterpolation Determinization: PREDICATE_ABSTRACTION [2020-07-11 01:05:08,530 INFO L169 ceAbstractionStarter]: Appying trace abstraction to program that has 1 error locations. [2020-07-11 01:05:08,541 INFO L251 AbstractCegarLoop]: Starting to check reachability of 1 error locations. [2020-07-11 01:05:08,561 INFO L375 AbstractCegarLoop]: Interprodecural is true [2020-07-11 01:05:08,561 INFO L376 AbstractCegarLoop]: Hoare is true [2020-07-11 01:05:08,562 INFO L377 AbstractCegarLoop]: Compute interpolants for Craig_NestedInterpolation [2020-07-11 01:05:08,562 INFO L378 AbstractCegarLoop]: Backedges is STRAIGHT_LINE [2020-07-11 01:05:08,562 INFO L379 AbstractCegarLoop]: Determinization is PREDICATE_ABSTRACTION [2020-07-11 01:05:08,562 INFO L380 AbstractCegarLoop]: Difference is false [2020-07-11 01:05:08,563 INFO L381 AbstractCegarLoop]: Minimize is MINIMIZE_SEVPA [2020-07-11 01:05:08,563 INFO L385 AbstractCegarLoop]: ======== Iteration 0==of CEGAR loop == AllErrorsAtOnce======== [2020-07-11 01:05:08,579 INFO L276 IsEmpty]: Start isEmpty. Operand 70 states. [2020-07-11 01:05:08,589 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 22 [2020-07-11 01:05:08,589 INFO L414 BasicCegarLoop]: Found error trace [2020-07-11 01:05:08,591 INFO L422 BasicCegarLoop]: trace histogram [1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1] [2020-07-11 01:05:08,591 INFO L427 AbstractCegarLoop]: === Iteration 1 === [__blast_assertErr0ASSERT_VIOLATIONERROR_FUNCTION]=== [2020-07-11 01:05:08,597 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2020-07-11 01:05:08,598 INFO L82 PathProgramCache]: Analyzing trace with hash 1653885127, now seen corresponding path program 1 times [2020-07-11 01:05:08,607 INFO L163 FreeRefinementEngine]: Executing refinement strategy FIXED_PREFERENCES [2020-07-11 01:05:08,608 INFO L354 FreeRefinementEngine]: Using trace check IpTcStrategyModulePreferences [490058928] [2020-07-11 01:05:08,608 INFO L94 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2020-07-11 01:05:08,737 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2020-07-11 01:05:08,952 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2020-07-11 01:05:08,978 INFO L280 TraceCheckUtils]: 0: Hoare triple {89#(and (= |#valid| |old(#valid)|) (= ~elem~0.base |old(~elem~0.base)|) (= |#NULL.base| |old(#NULL.base)|) (= |~#head~0.base| |old(~#head~0.base)|) (= ~guard_malloc_counter~0.offset |old(~guard_malloc_counter~0.offset)|) (= |#NULL.offset| |old(#NULL.offset)|) (= ~elem~0.offset |old(~elem~0.offset)|) (= |old(#length)| |#length|) (= |~#head~0.offset| |old(~#head~0.offset)|) (= ~guard_malloc_counter~0.base |old(~guard_malloc_counter~0.base)|))} #NULL.base, #NULL.offset := 0, 0; {73#true} is VALID [2020-07-11 01:05:08,978 INFO L280 TraceCheckUtils]: 1: Hoare triple {73#true} #valid := #valid[0 := 0]; {73#true} is VALID [2020-07-11 01:05:08,979 INFO L280 TraceCheckUtils]: 2: Hoare triple {73#true} assume 0 < #StackHeapBarrier; {73#true} is VALID [2020-07-11 01:05:08,979 INFO L280 TraceCheckUtils]: 3: Hoare triple {73#true} ~guard_malloc_counter~0.base, ~guard_malloc_counter~0.offset := 0, 0; {73#true} is VALID [2020-07-11 01:05:08,980 INFO L280 TraceCheckUtils]: 4: Hoare triple {73#true} ~elem~0.base, ~elem~0.offset := 0, 0; {73#true} is VALID [2020-07-11 01:05:08,980 INFO L280 TraceCheckUtils]: 5: Hoare triple {73#true} SUMMARY for call ~#head~0.base, ~#head~0.offset := #Ultimate.allocOnStack(8); srcloc: L900 {73#true} is VALID [2020-07-11 01:05:08,981 INFO L280 TraceCheckUtils]: 6: Hoare triple {73#true} SUMMARY for call write~init~$Pointer$(0, 0, ~#head~0.base, ~#head~0.offset, 4); srcloc: L900-1 {73#true} is VALID [2020-07-11 01:05:08,981 INFO L280 TraceCheckUtils]: 7: Hoare triple {73#true} SUMMARY for call write~init~$Pointer$(0, 0, ~#head~0.base, 4 + ~#head~0.offset, 4); srcloc: L900-2 {73#true} is VALID [2020-07-11 01:05:08,981 INFO L280 TraceCheckUtils]: 8: Hoare triple {73#true} assume true; {73#true} is VALID [2020-07-11 01:05:08,982 INFO L275 TraceCheckUtils]: 9: Hoare quadruple {73#true} {73#true} #109#return; {73#true} is VALID [2020-07-11 01:05:08,986 INFO L263 TraceCheckUtils]: 0: Hoare triple {73#true} call ULTIMATE.init(); {89#(and (= |#valid| |old(#valid)|) (= ~elem~0.base |old(~elem~0.base)|) (= |#NULL.base| |old(#NULL.base)|) (= |~#head~0.base| |old(~#head~0.base)|) (= ~guard_malloc_counter~0.offset |old(~guard_malloc_counter~0.offset)|) (= |#NULL.offset| |old(#NULL.offset)|) (= ~elem~0.offset |old(~elem~0.offset)|) (= |old(#length)| |#length|) (= |~#head~0.offset| |old(~#head~0.offset)|) (= ~guard_malloc_counter~0.base |old(~guard_malloc_counter~0.base)|))} is VALID [2020-07-11 01:05:08,987 INFO L280 TraceCheckUtils]: 1: Hoare triple {89#(and (= |#valid| |old(#valid)|) (= ~elem~0.base |old(~elem~0.base)|) (= |#NULL.base| |old(#NULL.base)|) (= |~#head~0.base| |old(~#head~0.base)|) (= ~guard_malloc_counter~0.offset |old(~guard_malloc_counter~0.offset)|) (= |#NULL.offset| |old(#NULL.offset)|) (= ~elem~0.offset |old(~elem~0.offset)|) (= |old(#length)| |#length|) (= |~#head~0.offset| |old(~#head~0.offset)|) (= ~guard_malloc_counter~0.base |old(~guard_malloc_counter~0.base)|))} #NULL.base, #NULL.offset := 0, 0; {73#true} is VALID [2020-07-11 01:05:08,987 INFO L280 TraceCheckUtils]: 2: Hoare triple {73#true} #valid := #valid[0 := 0]; {73#true} is VALID [2020-07-11 01:05:08,987 INFO L280 TraceCheckUtils]: 3: Hoare triple {73#true} assume 0 < #StackHeapBarrier; {73#true} is VALID [2020-07-11 01:05:08,988 INFO L280 TraceCheckUtils]: 4: Hoare triple {73#true} ~guard_malloc_counter~0.base, ~guard_malloc_counter~0.offset := 0, 0; {73#true} is VALID [2020-07-11 01:05:08,988 INFO L280 TraceCheckUtils]: 5: Hoare triple {73#true} ~elem~0.base, ~elem~0.offset := 0, 0; {73#true} is VALID [2020-07-11 01:05:08,988 INFO L280 TraceCheckUtils]: 6: Hoare triple {73#true} SUMMARY for call ~#head~0.base, ~#head~0.offset := #Ultimate.allocOnStack(8); srcloc: L900 {73#true} is VALID [2020-07-11 01:05:08,989 INFO L280 TraceCheckUtils]: 7: Hoare triple {73#true} SUMMARY for call write~init~$Pointer$(0, 0, ~#head~0.base, ~#head~0.offset, 4); srcloc: L900-1 {73#true} is VALID [2020-07-11 01:05:08,989 INFO L280 TraceCheckUtils]: 8: Hoare triple {73#true} SUMMARY for call write~init~$Pointer$(0, 0, ~#head~0.base, 4 + ~#head~0.offset, 4); srcloc: L900-2 {73#true} is VALID [2020-07-11 01:05:08,989 INFO L280 TraceCheckUtils]: 9: Hoare triple {73#true} assume true; {73#true} is VALID [2020-07-11 01:05:08,989 INFO L275 TraceCheckUtils]: 10: Hoare quadruple {73#true} {73#true} #109#return; {73#true} is VALID [2020-07-11 01:05:08,990 INFO L263 TraceCheckUtils]: 11: Hoare triple {73#true} call #t~ret34 := main(); {73#true} is VALID [2020-07-11 01:05:08,990 INFO L280 TraceCheckUtils]: 12: Hoare triple {73#true} havoc ~dev1~0.base, ~dev1~0.offset; {73#true} is VALID [2020-07-11 01:05:08,991 INFO L280 TraceCheckUtils]: 13: Hoare triple {73#true} havoc ~dev2~0.base, ~dev2~0.offset; {73#true} is VALID [2020-07-11 01:05:08,992 INFO L263 TraceCheckUtils]: 14: Hoare triple {73#true} call #t~ret32.base, #t~ret32.offset := my_malloc(8); {85#(= 8 |my_malloc_#in~size|)} is VALID [2020-07-11 01:05:08,993 INFO L280 TraceCheckUtils]: 15: Hoare triple {85#(= 8 |my_malloc_#in~size|)} ~size := #in~size; {86#(= 8 my_malloc_~size)} is VALID [2020-07-11 01:05:08,994 INFO L263 TraceCheckUtils]: 16: Hoare triple {86#(= 8 my_malloc_~size)} call #t~ret30.base, #t~ret30.offset := __getMemory(~size); {87#(= 8 |__getMemory_#in~size|)} is VALID [2020-07-11 01:05:08,995 INFO L280 TraceCheckUtils]: 17: Hoare triple {87#(= 8 |__getMemory_#in~size|)} ~size := #in~size; {88#(= 8 __getMemory_~size)} is VALID [2020-07-11 01:05:08,996 INFO L280 TraceCheckUtils]: 18: Hoare triple {88#(= 8 __getMemory_~size)} assume !(~size > 0); {74#false} is VALID [2020-07-11 01:05:08,997 INFO L263 TraceCheckUtils]: 19: Hoare triple {74#false} call __blast_assert(); {74#false} is VALID [2020-07-11 01:05:08,997 INFO L280 TraceCheckUtils]: 20: Hoare triple {74#false} assume !false; {74#false} is VALID [2020-07-11 01:05:09,000 INFO L134 CoverageAnalysis]: Checked inductivity of 0 backedges. 0 proven. 0 refuted. 0 times theorem prover too weak. 0 trivial. 0 not checked. [2020-07-11 01:05:09,001 INFO L354 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModulePreferences [490058928] [2020-07-11 01:05:09,003 INFO L220 FreeRefinementEngine]: Constructing automaton from 1 perfect and 0 imperfect interpolant sequences. [2020-07-11 01:05:09,003 INFO L233 FreeRefinementEngine]: Number of different interpolants: perfect sequences [7] imperfect sequences [] total 7 [2020-07-11 01:05:09,004 INFO L156 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [1661749060] [2020-07-11 01:05:09,011 INFO L78 Accepts]: Start accepts. Automaton has 7 states. Word has length 21 [2020-07-11 01:05:09,014 INFO L84 Accepts]: Finished accepts. word is accepted. [2020-07-11 01:05:09,018 INFO L86 InductivityCheck]: Starting indutivity check of a Floyd-Hoare automaton with 7 states. [2020-07-11 01:05:09,050 INFO L119 InductivityCheck]: Floyd-Hoare automaton has 21 edges. 21 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2020-07-11 01:05:09,050 INFO L459 AbstractCegarLoop]: Interpolant automaton has 7 states [2020-07-11 01:05:09,051 INFO L143 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy FIXED_PREFERENCES [2020-07-11 01:05:09,060 INFO L142 InterpolantAutomaton]: Constructing interpolant automaton starting with 7 interpolants. [2020-07-11 01:05:09,061 INFO L144 InterpolantAutomaton]: CoverageRelationStatistics Valid=11, Invalid=31, Unknown=0, NotChecked=0, Total=42 [2020-07-11 01:05:09,063 INFO L87 Difference]: Start difference. First operand 70 states. Second operand 7 states. [2020-07-11 01:05:10,351 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2020-07-11 01:05:10,351 INFO L93 Difference]: Finished difference Result 126 states and 151 transitions. [2020-07-11 01:05:10,352 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 9 states. [2020-07-11 01:05:10,352 INFO L78 Accepts]: Start accepts. Automaton has 7 states. Word has length 21 [2020-07-11 01:05:10,352 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2020-07-11 01:05:10,354 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 7 states. [2020-07-11 01:05:10,373 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 9 states to 9 states and 151 transitions. [2020-07-11 01:05:10,373 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 7 states. [2020-07-11 01:05:10,395 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 9 states to 9 states and 151 transitions. [2020-07-11 01:05:10,396 INFO L86 InductivityCheck]: Starting indutivity check of a Floyd-Hoare automaton with 9 states and 151 transitions. [2020-07-11 01:05:10,645 INFO L119 InductivityCheck]: Floyd-Hoare automaton has 151 edges. 151 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2020-07-11 01:05:10,662 INFO L225 Difference]: With dead ends: 126 [2020-07-11 01:05:10,662 INFO L226 Difference]: Without dead ends: 66 [2020-07-11 01:05:10,667 INFO L675 BasicCegarLoop]: 0 DeclaredPredicates, 14 GetRequests, 3 SyntacticMatches, 0 SemanticMatches, 11 ConstructedPredicates, 0 IntricatePredicates, 0 DeprecatedPredicates, 13 ImplicationChecksByTransitivity, 0.2s TimeCoverageRelationStatistics Valid=41, Invalid=115, Unknown=0, NotChecked=0, Total=156 [2020-07-11 01:05:10,684 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 66 states. [2020-07-11 01:05:10,872 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 66 to 62. [2020-07-11 01:05:10,872 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2020-07-11 01:05:10,873 INFO L82 GeneralOperation]: Start isEquivalent. First operand 66 states. Second operand 62 states. [2020-07-11 01:05:10,874 INFO L74 IsIncluded]: Start isIncluded. First operand 66 states. Second operand 62 states. [2020-07-11 01:05:10,874 INFO L87 Difference]: Start difference. First operand 66 states. Second operand 62 states. [2020-07-11 01:05:10,882 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2020-07-11 01:05:10,883 INFO L93 Difference]: Finished difference Result 66 states and 72 transitions. [2020-07-11 01:05:10,883 INFO L276 IsEmpty]: Start isEmpty. Operand 66 states and 72 transitions. [2020-07-11 01:05:10,884 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2020-07-11 01:05:10,885 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2020-07-11 01:05:10,885 INFO L74 IsIncluded]: Start isIncluded. First operand 62 states. Second operand 66 states. [2020-07-11 01:05:10,885 INFO L87 Difference]: Start difference. First operand 62 states. Second operand 66 states. [2020-07-11 01:05:10,892 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2020-07-11 01:05:10,892 INFO L93 Difference]: Finished difference Result 66 states and 72 transitions. [2020-07-11 01:05:10,892 INFO L276 IsEmpty]: Start isEmpty. Operand 66 states and 72 transitions. [2020-07-11 01:05:10,894 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2020-07-11 01:05:10,894 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2020-07-11 01:05:10,894 INFO L88 GeneralOperation]: Finished isEquivalent. [2020-07-11 01:05:10,894 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2020-07-11 01:05:10,894 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 62 states. [2020-07-11 01:05:10,900 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 62 states to 62 states and 67 transitions. [2020-07-11 01:05:10,902 INFO L78 Accepts]: Start accepts. Automaton has 62 states and 67 transitions. Word has length 21 [2020-07-11 01:05:10,902 INFO L84 Accepts]: Finished accepts. word is rejected. [2020-07-11 01:05:10,903 INFO L479 AbstractCegarLoop]: Abstraction has 62 states and 67 transitions. [2020-07-11 01:05:10,903 INFO L480 AbstractCegarLoop]: Interpolant automaton has 7 states. [2020-07-11 01:05:10,903 INFO L86 InductivityCheck]: Starting indutivity check of a Floyd-Hoare automaton with 62 states and 67 transitions. [2020-07-11 01:05:11,013 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-11 01:05:11,014 INFO L276 IsEmpty]: Start isEmpty. Operand 62 states and 67 transitions. [2020-07-11 01:05:11,016 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 62 [2020-07-11 01:05:11,016 INFO L414 BasicCegarLoop]: Found error trace [2020-07-11 01:05:11,017 INFO L422 BasicCegarLoop]: trace histogram [2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1] [2020-07-11 01:05:11,017 WARN L516 AbstractCegarLoop]: Destroyed unattended storables created during the last iteration: SelfDestructingSolverStorable0 [2020-07-11 01:05:11,017 INFO L427 AbstractCegarLoop]: === Iteration 2 === [__blast_assertErr0ASSERT_VIOLATIONERROR_FUNCTION]=== [2020-07-11 01:05:11,018 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2020-07-11 01:05:11,018 INFO L82 PathProgramCache]: Analyzing trace with hash -1154270079, now seen corresponding path program 1 times [2020-07-11 01:05:11,018 INFO L163 FreeRefinementEngine]: Executing refinement strategy FIXED_PREFERENCES [2020-07-11 01:05:11,018 INFO L354 FreeRefinementEngine]: Using trace check IpTcStrategyModulePreferences [1336123119] [2020-07-11 01:05:11,019 INFO L94 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2020-07-11 01:05:11,063 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2020-07-11 01:05:11,166 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2020-07-11 01:05:11,185 INFO L280 TraceCheckUtils]: 0: Hoare triple {660#(and (= |#valid| |old(#valid)|) (= ~elem~0.base |old(~elem~0.base)|) (= |#NULL.base| |old(#NULL.base)|) (= |~#head~0.base| |old(~#head~0.base)|) (= ~guard_malloc_counter~0.offset |old(~guard_malloc_counter~0.offset)|) (= |#NULL.offset| |old(#NULL.offset)|) (= ~elem~0.offset |old(~elem~0.offset)|) (= |old(#length)| |#length|) (= |~#head~0.offset| |old(~#head~0.offset)|) (= ~guard_malloc_counter~0.base |old(~guard_malloc_counter~0.base)|))} #NULL.base, #NULL.offset := 0, 0; {612#true} is VALID [2020-07-11 01:05:11,186 INFO L280 TraceCheckUtils]: 1: Hoare triple {612#true} #valid := #valid[0 := 0]; {612#true} is VALID [2020-07-11 01:05:11,186 INFO L280 TraceCheckUtils]: 2: Hoare triple {612#true} assume 0 < #StackHeapBarrier; {612#true} is VALID [2020-07-11 01:05:11,187 INFO L280 TraceCheckUtils]: 3: Hoare triple {612#true} ~guard_malloc_counter~0.base, ~guard_malloc_counter~0.offset := 0, 0; {612#true} is VALID [2020-07-11 01:05:11,187 INFO L280 TraceCheckUtils]: 4: Hoare triple {612#true} ~elem~0.base, ~elem~0.offset := 0, 0; {612#true} is VALID [2020-07-11 01:05:11,187 INFO L280 TraceCheckUtils]: 5: Hoare triple {612#true} SUMMARY for call ~#head~0.base, ~#head~0.offset := #Ultimate.allocOnStack(8); srcloc: L900 {612#true} is VALID [2020-07-11 01:05:11,187 INFO L280 TraceCheckUtils]: 6: Hoare triple {612#true} SUMMARY for call write~init~$Pointer$(0, 0, ~#head~0.base, ~#head~0.offset, 4); srcloc: L900-1 {612#true} is VALID [2020-07-11 01:05:11,188 INFO L280 TraceCheckUtils]: 7: Hoare triple {612#true} SUMMARY for call write~init~$Pointer$(0, 0, ~#head~0.base, 4 + ~#head~0.offset, 4); srcloc: L900-2 {612#true} is VALID [2020-07-11 01:05:11,188 INFO L280 TraceCheckUtils]: 8: Hoare triple {612#true} assume true; {612#true} is VALID [2020-07-11 01:05:11,188 INFO L275 TraceCheckUtils]: 9: Hoare quadruple {612#true} {612#true} #109#return; {612#true} is VALID [2020-07-11 01:05:11,232 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2020-07-11 01:05:11,347 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2020-07-11 01:05:11,394 INFO L280 TraceCheckUtils]: 0: Hoare triple {661#(and (= ~guard_malloc_counter~0.offset |old(~guard_malloc_counter~0.offset)|) (= ~guard_malloc_counter~0.base |old(~guard_malloc_counter~0.base)|))} ~size := #in~size; {612#true} is VALID [2020-07-11 01:05:11,394 INFO L280 TraceCheckUtils]: 1: Hoare triple {612#true} assume ~size > 0; {612#true} is VALID [2020-07-11 01:05:11,395 INFO L280 TraceCheckUtils]: 2: Hoare triple {612#true} #t~post28.base, #t~post28.offset := ~guard_malloc_counter~0.base, ~guard_malloc_counter~0.offset; {612#true} is VALID [2020-07-11 01:05:11,395 INFO L280 TraceCheckUtils]: 3: Hoare triple {612#true} ~guard_malloc_counter~0.base, ~guard_malloc_counter~0.offset := #t~post28.base, 1 + #t~post28.offset; {612#true} is VALID [2020-07-11 01:05:11,395 INFO L280 TraceCheckUtils]: 4: Hoare triple {612#true} havoc #t~post28.base, #t~post28.offset; {612#true} is VALID [2020-07-11 01:05:11,396 INFO L280 TraceCheckUtils]: 5: Hoare triple {612#true} assume -2147483648 <= #t~nondet29 && #t~nondet29 <= 2147483647; {612#true} is VALID [2020-07-11 01:05:11,396 INFO L280 TraceCheckUtils]: 6: Hoare triple {612#true} assume 0 == #t~nondet29; {612#true} is VALID [2020-07-11 01:05:11,396 INFO L280 TraceCheckUtils]: 7: Hoare triple {612#true} havoc #t~nondet29; {612#true} is VALID [2020-07-11 01:05:11,398 INFO L280 TraceCheckUtils]: 8: Hoare triple {612#true} #res.base, #res.offset := 0, 0; {675#(and (<= |__getMemory_#res.base| 0) (<= |__getMemory_#res.offset| 0) (<= 0 |__getMemory_#res.offset|) (<= 0 |__getMemory_#res.base|))} is VALID [2020-07-11 01:05:11,399 INFO L280 TraceCheckUtils]: 9: Hoare triple {675#(and (<= |__getMemory_#res.base| 0) (<= |__getMemory_#res.offset| 0) (<= 0 |__getMemory_#res.offset|) (<= 0 |__getMemory_#res.base|))} assume true; {675#(and (<= |__getMemory_#res.base| 0) (<= |__getMemory_#res.offset| 0) (<= 0 |__getMemory_#res.offset|) (<= 0 |__getMemory_#res.base|))} is VALID [2020-07-11 01:05:11,402 INFO L275 TraceCheckUtils]: 10: Hoare quadruple {675#(and (<= |__getMemory_#res.base| 0) (<= |__getMemory_#res.offset| 0) (<= 0 |__getMemory_#res.offset|) (<= 0 |__getMemory_#res.base|))} {612#true} #91#return; {673#(and (<= |my_malloc_#t~ret30.offset| 0) (<= 0 |my_malloc_#t~ret30.offset|) (<= 0 |my_malloc_#t~ret30.base|) (<= |my_malloc_#t~ret30.base| 0))} is VALID [2020-07-11 01:05:11,402 INFO L280 TraceCheckUtils]: 0: Hoare triple {661#(and (= ~guard_malloc_counter~0.offset |old(~guard_malloc_counter~0.offset)|) (= ~guard_malloc_counter~0.base |old(~guard_malloc_counter~0.base)|))} ~size := #in~size; {612#true} is VALID [2020-07-11 01:05:11,403 INFO L263 TraceCheckUtils]: 1: Hoare triple {612#true} call #t~ret30.base, #t~ret30.offset := __getMemory(~size); {661#(and (= ~guard_malloc_counter~0.offset |old(~guard_malloc_counter~0.offset)|) (= ~guard_malloc_counter~0.base |old(~guard_malloc_counter~0.base)|))} is VALID [2020-07-11 01:05:11,404 INFO L280 TraceCheckUtils]: 2: Hoare triple {661#(and (= ~guard_malloc_counter~0.offset |old(~guard_malloc_counter~0.offset)|) (= ~guard_malloc_counter~0.base |old(~guard_malloc_counter~0.base)|))} ~size := #in~size; {612#true} is VALID [2020-07-11 01:05:11,404 INFO L280 TraceCheckUtils]: 3: Hoare triple {612#true} assume ~size > 0; {612#true} is VALID [2020-07-11 01:05:11,404 INFO L280 TraceCheckUtils]: 4: Hoare triple {612#true} #t~post28.base, #t~post28.offset := ~guard_malloc_counter~0.base, ~guard_malloc_counter~0.offset; {612#true} is VALID [2020-07-11 01:05:11,405 INFO L280 TraceCheckUtils]: 5: Hoare triple {612#true} ~guard_malloc_counter~0.base, ~guard_malloc_counter~0.offset := #t~post28.base, 1 + #t~post28.offset; {612#true} is VALID [2020-07-11 01:05:11,405 INFO L280 TraceCheckUtils]: 6: Hoare triple {612#true} havoc #t~post28.base, #t~post28.offset; {612#true} is VALID [2020-07-11 01:05:11,405 INFO L280 TraceCheckUtils]: 7: Hoare triple {612#true} assume -2147483648 <= #t~nondet29 && #t~nondet29 <= 2147483647; {612#true} is VALID [2020-07-11 01:05:11,405 INFO L280 TraceCheckUtils]: 8: Hoare triple {612#true} assume 0 == #t~nondet29; {612#true} is VALID [2020-07-11 01:05:11,406 INFO L280 TraceCheckUtils]: 9: Hoare triple {612#true} havoc #t~nondet29; {612#true} is VALID [2020-07-11 01:05:11,406 INFO L280 TraceCheckUtils]: 10: Hoare triple {612#true} #res.base, #res.offset := 0, 0; {675#(and (<= |__getMemory_#res.base| 0) (<= |__getMemory_#res.offset| 0) (<= 0 |__getMemory_#res.offset|) (<= 0 |__getMemory_#res.base|))} is VALID [2020-07-11 01:05:11,407 INFO L280 TraceCheckUtils]: 11: Hoare triple {675#(and (<= |__getMemory_#res.base| 0) (<= |__getMemory_#res.offset| 0) (<= 0 |__getMemory_#res.offset|) (<= 0 |__getMemory_#res.base|))} assume true; {675#(and (<= |__getMemory_#res.base| 0) (<= |__getMemory_#res.offset| 0) (<= 0 |__getMemory_#res.offset|) (<= 0 |__getMemory_#res.base|))} is VALID [2020-07-11 01:05:11,409 INFO L275 TraceCheckUtils]: 12: Hoare quadruple {675#(and (<= |__getMemory_#res.base| 0) (<= |__getMemory_#res.offset| 0) (<= 0 |__getMemory_#res.offset|) (<= 0 |__getMemory_#res.base|))} {612#true} #91#return; {673#(and (<= |my_malloc_#t~ret30.offset| 0) (<= 0 |my_malloc_#t~ret30.offset|) (<= 0 |my_malloc_#t~ret30.base|) (<= |my_malloc_#t~ret30.base| 0))} is VALID [2020-07-11 01:05:11,409 INFO L280 TraceCheckUtils]: 13: Hoare triple {673#(and (<= |my_malloc_#t~ret30.offset| 0) (<= 0 |my_malloc_#t~ret30.offset|) (<= 0 |my_malloc_#t~ret30.base|) (<= |my_malloc_#t~ret30.base| 0))} #res.base, #res.offset := #t~ret30.base, #t~ret30.offset; {674#(and (<= |my_malloc_#res.base| 0) (<= |my_malloc_#res.offset| 0) (<= 0 |my_malloc_#res.base|) (<= 0 |my_malloc_#res.offset|))} is VALID [2020-07-11 01:05:11,410 INFO L280 TraceCheckUtils]: 14: Hoare triple {674#(and (<= |my_malloc_#res.base| 0) (<= |my_malloc_#res.offset| 0) (<= 0 |my_malloc_#res.base|) (<= 0 |my_malloc_#res.offset|))} havoc #t~ret30.base, #t~ret30.offset; {674#(and (<= |my_malloc_#res.base| 0) (<= |my_malloc_#res.offset| 0) (<= 0 |my_malloc_#res.base|) (<= 0 |my_malloc_#res.offset|))} is VALID [2020-07-11 01:05:11,411 INFO L280 TraceCheckUtils]: 15: Hoare triple {674#(and (<= |my_malloc_#res.base| 0) (<= |my_malloc_#res.offset| 0) (<= 0 |my_malloc_#res.base|) (<= 0 |my_malloc_#res.offset|))} assume true; {674#(and (<= |my_malloc_#res.base| 0) (<= |my_malloc_#res.offset| 0) (<= 0 |my_malloc_#res.base|) (<= 0 |my_malloc_#res.offset|))} is VALID [2020-07-11 01:05:11,412 INFO L275 TraceCheckUtils]: 16: Hoare quadruple {674#(and (<= |my_malloc_#res.base| 0) (<= |my_malloc_#res.offset| 0) (<= 0 |my_malloc_#res.base|) (<= 0 |my_malloc_#res.offset|))} {612#true} #93#return; {641#(and (= 0 |main_#t~ret32.base|) (= |main_#t~ret32.offset| 0))} is VALID [2020-07-11 01:05:11,420 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2020-07-11 01:05:11,429 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2020-07-11 01:05:11,434 INFO L280 TraceCheckUtils]: 0: Hoare triple {661#(and (= ~guard_malloc_counter~0.offset |old(~guard_malloc_counter~0.offset)|) (= ~guard_malloc_counter~0.base |old(~guard_malloc_counter~0.base)|))} ~size := #in~size; {612#true} is VALID [2020-07-11 01:05:11,435 INFO L280 TraceCheckUtils]: 1: Hoare triple {612#true} assume ~size > 0; {612#true} is VALID [2020-07-11 01:05:11,435 INFO L280 TraceCheckUtils]: 2: Hoare triple {612#true} #t~post28.base, #t~post28.offset := ~guard_malloc_counter~0.base, ~guard_malloc_counter~0.offset; {612#true} is VALID [2020-07-11 01:05:11,435 INFO L280 TraceCheckUtils]: 3: Hoare triple {612#true} ~guard_malloc_counter~0.base, ~guard_malloc_counter~0.offset := #t~post28.base, 1 + #t~post28.offset; {612#true} is VALID [2020-07-11 01:05:11,436 INFO L280 TraceCheckUtils]: 4: Hoare triple {612#true} havoc #t~post28.base, #t~post28.offset; {612#true} is VALID [2020-07-11 01:05:11,436 INFO L280 TraceCheckUtils]: 5: Hoare triple {612#true} assume -2147483648 <= #t~nondet29 && #t~nondet29 <= 2147483647; {612#true} is VALID [2020-07-11 01:05:11,436 INFO L280 TraceCheckUtils]: 6: Hoare triple {612#true} assume 0 == #t~nondet29; {612#true} is VALID [2020-07-11 01:05:11,436 INFO L280 TraceCheckUtils]: 7: Hoare triple {612#true} havoc #t~nondet29; {612#true} is VALID [2020-07-11 01:05:11,437 INFO L280 TraceCheckUtils]: 8: Hoare triple {612#true} #res.base, #res.offset := 0, 0; {612#true} is VALID [2020-07-11 01:05:11,437 INFO L280 TraceCheckUtils]: 9: Hoare triple {612#true} assume true; {612#true} is VALID [2020-07-11 01:05:11,437 INFO L275 TraceCheckUtils]: 10: Hoare quadruple {612#true} {612#true} #91#return; {612#true} is VALID [2020-07-11 01:05:11,438 INFO L280 TraceCheckUtils]: 0: Hoare triple {661#(and (= ~guard_malloc_counter~0.offset |old(~guard_malloc_counter~0.offset)|) (= ~guard_malloc_counter~0.base |old(~guard_malloc_counter~0.base)|))} ~size := #in~size; {612#true} is VALID [2020-07-11 01:05:11,439 INFO L263 TraceCheckUtils]: 1: Hoare triple {612#true} call #t~ret30.base, #t~ret30.offset := __getMemory(~size); {661#(and (= ~guard_malloc_counter~0.offset |old(~guard_malloc_counter~0.offset)|) (= ~guard_malloc_counter~0.base |old(~guard_malloc_counter~0.base)|))} is VALID [2020-07-11 01:05:11,439 INFO L280 TraceCheckUtils]: 2: Hoare triple {661#(and (= ~guard_malloc_counter~0.offset |old(~guard_malloc_counter~0.offset)|) (= ~guard_malloc_counter~0.base |old(~guard_malloc_counter~0.base)|))} ~size := #in~size; {612#true} is VALID [2020-07-11 01:05:11,439 INFO L280 TraceCheckUtils]: 3: Hoare triple {612#true} assume ~size > 0; {612#true} is VALID [2020-07-11 01:05:11,440 INFO L280 TraceCheckUtils]: 4: Hoare triple {612#true} #t~post28.base, #t~post28.offset := ~guard_malloc_counter~0.base, ~guard_malloc_counter~0.offset; {612#true} is VALID [2020-07-11 01:05:11,440 INFO L280 TraceCheckUtils]: 5: Hoare triple {612#true} ~guard_malloc_counter~0.base, ~guard_malloc_counter~0.offset := #t~post28.base, 1 + #t~post28.offset; {612#true} is VALID [2020-07-11 01:05:11,440 INFO L280 TraceCheckUtils]: 6: Hoare triple {612#true} havoc #t~post28.base, #t~post28.offset; {612#true} is VALID [2020-07-11 01:05:11,441 INFO L280 TraceCheckUtils]: 7: Hoare triple {612#true} assume -2147483648 <= #t~nondet29 && #t~nondet29 <= 2147483647; {612#true} is VALID [2020-07-11 01:05:11,442 INFO L280 TraceCheckUtils]: 8: Hoare triple {612#true} assume 0 == #t~nondet29; {612#true} is VALID [2020-07-11 01:05:11,442 INFO L280 TraceCheckUtils]: 9: Hoare triple {612#true} havoc #t~nondet29; {612#true} is VALID [2020-07-11 01:05:11,442 INFO L280 TraceCheckUtils]: 10: Hoare triple {612#true} #res.base, #res.offset := 0, 0; {612#true} is VALID [2020-07-11 01:05:11,443 INFO L280 TraceCheckUtils]: 11: Hoare triple {612#true} assume true; {612#true} is VALID [2020-07-11 01:05:11,443 INFO L275 TraceCheckUtils]: 12: Hoare quadruple {612#true} {612#true} #91#return; {612#true} is VALID [2020-07-11 01:05:11,443 INFO L280 TraceCheckUtils]: 13: Hoare triple {612#true} #res.base, #res.offset := #t~ret30.base, #t~ret30.offset; {612#true} is VALID [2020-07-11 01:05:11,443 INFO L280 TraceCheckUtils]: 14: Hoare triple {612#true} havoc #t~ret30.base, #t~ret30.offset; {612#true} is VALID [2020-07-11 01:05:11,443 INFO L280 TraceCheckUtils]: 15: Hoare triple {612#true} assume true; {612#true} is VALID [2020-07-11 01:05:11,445 INFO L275 TraceCheckUtils]: 16: Hoare quadruple {612#true} {642#(and (= 0 main_~dev1~0.base) (= 0 main_~dev1~0.offset))} #95#return; {642#(and (= 0 main_~dev1~0.base) (= 0 main_~dev1~0.offset))} is VALID [2020-07-11 01:05:11,447 INFO L263 TraceCheckUtils]: 0: Hoare triple {612#true} call ULTIMATE.init(); {660#(and (= |#valid| |old(#valid)|) (= ~elem~0.base |old(~elem~0.base)|) (= |#NULL.base| |old(#NULL.base)|) (= |~#head~0.base| |old(~#head~0.base)|) (= ~guard_malloc_counter~0.offset |old(~guard_malloc_counter~0.offset)|) (= |#NULL.offset| |old(#NULL.offset)|) (= ~elem~0.offset |old(~elem~0.offset)|) (= |old(#length)| |#length|) (= |~#head~0.offset| |old(~#head~0.offset)|) (= ~guard_malloc_counter~0.base |old(~guard_malloc_counter~0.base)|))} is VALID [2020-07-11 01:05:11,447 INFO L280 TraceCheckUtils]: 1: Hoare triple {660#(and (= |#valid| |old(#valid)|) (= ~elem~0.base |old(~elem~0.base)|) (= |#NULL.base| |old(#NULL.base)|) (= |~#head~0.base| |old(~#head~0.base)|) (= ~guard_malloc_counter~0.offset |old(~guard_malloc_counter~0.offset)|) (= |#NULL.offset| |old(#NULL.offset)|) (= ~elem~0.offset |old(~elem~0.offset)|) (= |old(#length)| |#length|) (= |~#head~0.offset| |old(~#head~0.offset)|) (= ~guard_malloc_counter~0.base |old(~guard_malloc_counter~0.base)|))} #NULL.base, #NULL.offset := 0, 0; {612#true} is VALID [2020-07-11 01:05:11,447 INFO L280 TraceCheckUtils]: 2: Hoare triple {612#true} #valid := #valid[0 := 0]; {612#true} is VALID [2020-07-11 01:05:11,448 INFO L280 TraceCheckUtils]: 3: Hoare triple {612#true} assume 0 < #StackHeapBarrier; {612#true} is VALID [2020-07-11 01:05:11,448 INFO L280 TraceCheckUtils]: 4: Hoare triple {612#true} ~guard_malloc_counter~0.base, ~guard_malloc_counter~0.offset := 0, 0; {612#true} is VALID [2020-07-11 01:05:11,448 INFO L280 TraceCheckUtils]: 5: Hoare triple {612#true} ~elem~0.base, ~elem~0.offset := 0, 0; {612#true} is VALID [2020-07-11 01:05:11,448 INFO L280 TraceCheckUtils]: 6: Hoare triple {612#true} SUMMARY for call ~#head~0.base, ~#head~0.offset := #Ultimate.allocOnStack(8); srcloc: L900 {612#true} is VALID [2020-07-11 01:05:11,449 INFO L280 TraceCheckUtils]: 7: Hoare triple {612#true} SUMMARY for call write~init~$Pointer$(0, 0, ~#head~0.base, ~#head~0.offset, 4); srcloc: L900-1 {612#true} is VALID [2020-07-11 01:05:11,449 INFO L280 TraceCheckUtils]: 8: Hoare triple {612#true} SUMMARY for call write~init~$Pointer$(0, 0, ~#head~0.base, 4 + ~#head~0.offset, 4); srcloc: L900-2 {612#true} is VALID [2020-07-11 01:05:11,449 INFO L280 TraceCheckUtils]: 9: Hoare triple {612#true} assume true; {612#true} is VALID [2020-07-11 01:05:11,449 INFO L275 TraceCheckUtils]: 10: Hoare quadruple {612#true} {612#true} #109#return; {612#true} is VALID [2020-07-11 01:05:11,450 INFO L263 TraceCheckUtils]: 11: Hoare triple {612#true} call #t~ret34 := main(); {612#true} is VALID [2020-07-11 01:05:11,450 INFO L280 TraceCheckUtils]: 12: Hoare triple {612#true} havoc ~dev1~0.base, ~dev1~0.offset; {612#true} is VALID [2020-07-11 01:05:11,450 INFO L280 TraceCheckUtils]: 13: Hoare triple {612#true} havoc ~dev2~0.base, ~dev2~0.offset; {612#true} is VALID [2020-07-11 01:05:11,452 INFO L263 TraceCheckUtils]: 14: Hoare triple {612#true} call #t~ret32.base, #t~ret32.offset := my_malloc(8); {661#(and (= ~guard_malloc_counter~0.offset |old(~guard_malloc_counter~0.offset)|) (= ~guard_malloc_counter~0.base |old(~guard_malloc_counter~0.base)|))} is VALID [2020-07-11 01:05:11,452 INFO L280 TraceCheckUtils]: 15: Hoare triple {661#(and (= ~guard_malloc_counter~0.offset |old(~guard_malloc_counter~0.offset)|) (= ~guard_malloc_counter~0.base |old(~guard_malloc_counter~0.base)|))} ~size := #in~size; {612#true} is VALID [2020-07-11 01:05:11,454 INFO L263 TraceCheckUtils]: 16: Hoare triple {612#true} call #t~ret30.base, #t~ret30.offset := __getMemory(~size); {661#(and (= ~guard_malloc_counter~0.offset |old(~guard_malloc_counter~0.offset)|) (= ~guard_malloc_counter~0.base |old(~guard_malloc_counter~0.base)|))} is VALID [2020-07-11 01:05:11,454 INFO L280 TraceCheckUtils]: 17: Hoare triple {661#(and (= ~guard_malloc_counter~0.offset |old(~guard_malloc_counter~0.offset)|) (= ~guard_malloc_counter~0.base |old(~guard_malloc_counter~0.base)|))} ~size := #in~size; {612#true} is VALID [2020-07-11 01:05:11,454 INFO L280 TraceCheckUtils]: 18: Hoare triple {612#true} assume ~size > 0; {612#true} is VALID [2020-07-11 01:05:11,454 INFO L280 TraceCheckUtils]: 19: Hoare triple {612#true} #t~post28.base, #t~post28.offset := ~guard_malloc_counter~0.base, ~guard_malloc_counter~0.offset; {612#true} is VALID [2020-07-11 01:05:11,455 INFO L280 TraceCheckUtils]: 20: Hoare triple {612#true} ~guard_malloc_counter~0.base, ~guard_malloc_counter~0.offset := #t~post28.base, 1 + #t~post28.offset; {612#true} is VALID [2020-07-11 01:05:11,455 INFO L280 TraceCheckUtils]: 21: Hoare triple {612#true} havoc #t~post28.base, #t~post28.offset; {612#true} is VALID [2020-07-11 01:05:11,455 INFO L280 TraceCheckUtils]: 22: Hoare triple {612#true} assume -2147483648 <= #t~nondet29 && #t~nondet29 <= 2147483647; {612#true} is VALID [2020-07-11 01:05:11,455 INFO L280 TraceCheckUtils]: 23: Hoare triple {612#true} assume 0 == #t~nondet29; {612#true} is VALID [2020-07-11 01:05:11,456 INFO L280 TraceCheckUtils]: 24: Hoare triple {612#true} havoc #t~nondet29; {612#true} is VALID [2020-07-11 01:05:11,457 INFO L280 TraceCheckUtils]: 25: Hoare triple {612#true} #res.base, #res.offset := 0, 0; {675#(and (<= |__getMemory_#res.base| 0) (<= |__getMemory_#res.offset| 0) (<= 0 |__getMemory_#res.offset|) (<= 0 |__getMemory_#res.base|))} is VALID [2020-07-11 01:05:11,459 INFO L280 TraceCheckUtils]: 26: Hoare triple {675#(and (<= |__getMemory_#res.base| 0) (<= |__getMemory_#res.offset| 0) (<= 0 |__getMemory_#res.offset|) (<= 0 |__getMemory_#res.base|))} assume true; {675#(and (<= |__getMemory_#res.base| 0) (<= |__getMemory_#res.offset| 0) (<= 0 |__getMemory_#res.offset|) (<= 0 |__getMemory_#res.base|))} is VALID [2020-07-11 01:05:11,461 INFO L275 TraceCheckUtils]: 27: Hoare quadruple {675#(and (<= |__getMemory_#res.base| 0) (<= |__getMemory_#res.offset| 0) (<= 0 |__getMemory_#res.offset|) (<= 0 |__getMemory_#res.base|))} {612#true} #91#return; {673#(and (<= |my_malloc_#t~ret30.offset| 0) (<= 0 |my_malloc_#t~ret30.offset|) (<= 0 |my_malloc_#t~ret30.base|) (<= |my_malloc_#t~ret30.base| 0))} is VALID [2020-07-11 01:05:11,463 INFO L280 TraceCheckUtils]: 28: Hoare triple {673#(and (<= |my_malloc_#t~ret30.offset| 0) (<= 0 |my_malloc_#t~ret30.offset|) (<= 0 |my_malloc_#t~ret30.base|) (<= |my_malloc_#t~ret30.base| 0))} #res.base, #res.offset := #t~ret30.base, #t~ret30.offset; {674#(and (<= |my_malloc_#res.base| 0) (<= |my_malloc_#res.offset| 0) (<= 0 |my_malloc_#res.base|) (<= 0 |my_malloc_#res.offset|))} is VALID [2020-07-11 01:05:11,465 INFO L280 TraceCheckUtils]: 29: Hoare triple {674#(and (<= |my_malloc_#res.base| 0) (<= |my_malloc_#res.offset| 0) (<= 0 |my_malloc_#res.base|) (<= 0 |my_malloc_#res.offset|))} havoc #t~ret30.base, #t~ret30.offset; {674#(and (<= |my_malloc_#res.base| 0) (<= |my_malloc_#res.offset| 0) (<= 0 |my_malloc_#res.base|) (<= 0 |my_malloc_#res.offset|))} is VALID [2020-07-11 01:05:11,468 INFO L280 TraceCheckUtils]: 30: Hoare triple {674#(and (<= |my_malloc_#res.base| 0) (<= |my_malloc_#res.offset| 0) (<= 0 |my_malloc_#res.base|) (<= 0 |my_malloc_#res.offset|))} assume true; {674#(and (<= |my_malloc_#res.base| 0) (<= |my_malloc_#res.offset| 0) (<= 0 |my_malloc_#res.base|) (<= 0 |my_malloc_#res.offset|))} is VALID [2020-07-11 01:05:11,469 INFO L275 TraceCheckUtils]: 31: Hoare quadruple {674#(and (<= |my_malloc_#res.base| 0) (<= |my_malloc_#res.offset| 0) (<= 0 |my_malloc_#res.base|) (<= 0 |my_malloc_#res.offset|))} {612#true} #93#return; {641#(and (= 0 |main_#t~ret32.base|) (= |main_#t~ret32.offset| 0))} is VALID [2020-07-11 01:05:11,470 INFO L280 TraceCheckUtils]: 32: Hoare triple {641#(and (= 0 |main_#t~ret32.base|) (= |main_#t~ret32.offset| 0))} ~dev1~0.base, ~dev1~0.offset := #t~ret32.base, #t~ret32.offset; {642#(and (= 0 main_~dev1~0.base) (= 0 main_~dev1~0.offset))} is VALID [2020-07-11 01:05:11,471 INFO L280 TraceCheckUtils]: 33: Hoare triple {642#(and (= 0 main_~dev1~0.base) (= 0 main_~dev1~0.offset))} havoc #t~ret32.base, #t~ret32.offset; {642#(and (= 0 main_~dev1~0.base) (= 0 main_~dev1~0.offset))} is VALID [2020-07-11 01:05:11,472 INFO L263 TraceCheckUtils]: 34: Hoare triple {642#(and (= 0 main_~dev1~0.base) (= 0 main_~dev1~0.offset))} call #t~ret33.base, #t~ret33.offset := my_malloc(8); {661#(and (= ~guard_malloc_counter~0.offset |old(~guard_malloc_counter~0.offset)|) (= ~guard_malloc_counter~0.base |old(~guard_malloc_counter~0.base)|))} is VALID [2020-07-11 01:05:11,472 INFO L280 TraceCheckUtils]: 35: Hoare triple {661#(and (= ~guard_malloc_counter~0.offset |old(~guard_malloc_counter~0.offset)|) (= ~guard_malloc_counter~0.base |old(~guard_malloc_counter~0.base)|))} ~size := #in~size; {612#true} is VALID [2020-07-11 01:05:11,473 INFO L263 TraceCheckUtils]: 36: Hoare triple {612#true} call #t~ret30.base, #t~ret30.offset := __getMemory(~size); {661#(and (= ~guard_malloc_counter~0.offset |old(~guard_malloc_counter~0.offset)|) (= ~guard_malloc_counter~0.base |old(~guard_malloc_counter~0.base)|))} is VALID [2020-07-11 01:05:11,474 INFO L280 TraceCheckUtils]: 37: Hoare triple {661#(and (= ~guard_malloc_counter~0.offset |old(~guard_malloc_counter~0.offset)|) (= ~guard_malloc_counter~0.base |old(~guard_malloc_counter~0.base)|))} ~size := #in~size; {612#true} is VALID [2020-07-11 01:05:11,474 INFO L280 TraceCheckUtils]: 38: Hoare triple {612#true} assume ~size > 0; {612#true} is VALID [2020-07-11 01:05:11,474 INFO L280 TraceCheckUtils]: 39: Hoare triple {612#true} #t~post28.base, #t~post28.offset := ~guard_malloc_counter~0.base, ~guard_malloc_counter~0.offset; {612#true} is VALID [2020-07-11 01:05:11,474 INFO L280 TraceCheckUtils]: 40: Hoare triple {612#true} ~guard_malloc_counter~0.base, ~guard_malloc_counter~0.offset := #t~post28.base, 1 + #t~post28.offset; {612#true} is VALID [2020-07-11 01:05:11,475 INFO L280 TraceCheckUtils]: 41: Hoare triple {612#true} havoc #t~post28.base, #t~post28.offset; {612#true} is VALID [2020-07-11 01:05:11,475 INFO L280 TraceCheckUtils]: 42: Hoare triple {612#true} assume -2147483648 <= #t~nondet29 && #t~nondet29 <= 2147483647; {612#true} is VALID [2020-07-11 01:05:11,475 INFO L280 TraceCheckUtils]: 43: Hoare triple {612#true} assume 0 == #t~nondet29; {612#true} is VALID [2020-07-11 01:05:11,475 INFO L280 TraceCheckUtils]: 44: Hoare triple {612#true} havoc #t~nondet29; {612#true} is VALID [2020-07-11 01:05:11,476 INFO L280 TraceCheckUtils]: 45: Hoare triple {612#true} #res.base, #res.offset := 0, 0; {612#true} is VALID [2020-07-11 01:05:11,476 INFO L280 TraceCheckUtils]: 46: Hoare triple {612#true} assume true; {612#true} is VALID [2020-07-11 01:05:11,476 INFO L275 TraceCheckUtils]: 47: Hoare quadruple {612#true} {612#true} #91#return; {612#true} is VALID [2020-07-11 01:05:11,476 INFO L280 TraceCheckUtils]: 48: Hoare triple {612#true} #res.base, #res.offset := #t~ret30.base, #t~ret30.offset; {612#true} is VALID [2020-07-11 01:05:11,477 INFO L280 TraceCheckUtils]: 49: Hoare triple {612#true} havoc #t~ret30.base, #t~ret30.offset; {612#true} is VALID [2020-07-11 01:05:11,477 INFO L280 TraceCheckUtils]: 50: Hoare triple {612#true} assume true; {612#true} is VALID [2020-07-11 01:05:11,478 INFO L275 TraceCheckUtils]: 51: Hoare quadruple {612#true} {642#(and (= 0 main_~dev1~0.base) (= 0 main_~dev1~0.offset))} #95#return; {642#(and (= 0 main_~dev1~0.base) (= 0 main_~dev1~0.offset))} is VALID [2020-07-11 01:05:11,479 INFO L280 TraceCheckUtils]: 52: Hoare triple {642#(and (= 0 main_~dev1~0.base) (= 0 main_~dev1~0.offset))} ~dev2~0.base, ~dev2~0.offset := #t~ret33.base, #t~ret33.offset; {642#(and (= 0 main_~dev1~0.base) (= 0 main_~dev1~0.offset))} is VALID [2020-07-11 01:05:11,480 INFO L280 TraceCheckUtils]: 53: Hoare triple {642#(and (= 0 main_~dev1~0.base) (= 0 main_~dev1~0.offset))} havoc #t~ret33.base, #t~ret33.offset; {642#(and (= 0 main_~dev1~0.base) (= 0 main_~dev1~0.offset))} is VALID [2020-07-11 01:05:11,481 INFO L280 TraceCheckUtils]: 54: Hoare triple {642#(and (= 0 main_~dev1~0.base) (= 0 main_~dev1~0.offset))} assume (~dev1~0.base != 0 || ~dev1~0.offset != 0) && (~dev2~0.base != 0 || ~dev2~0.offset != 0); {613#false} is VALID [2020-07-11 01:05:11,481 INFO L263 TraceCheckUtils]: 55: Hoare triple {613#false} call list_add(~dev2~0.base, ~dev2~0.offset, ~#head~0.base, ~#head~0.offset); {613#false} is VALID [2020-07-11 01:05:11,481 INFO L280 TraceCheckUtils]: 56: Hoare triple {613#false} ~new.base, ~new.offset := #in~new.base, #in~new.offset; {613#false} is VALID [2020-07-11 01:05:11,482 INFO L280 TraceCheckUtils]: 57: Hoare triple {613#false} ~head.base, ~head.offset := #in~head.base, #in~head.offset; {613#false} is VALID [2020-07-11 01:05:11,482 INFO L280 TraceCheckUtils]: 58: Hoare triple {613#false} assume !(~new.base != ~elem~0.base || ~new.offset != ~elem~0.offset); {613#false} is VALID [2020-07-11 01:05:11,482 INFO L263 TraceCheckUtils]: 59: Hoare triple {613#false} call __blast_assert(); {613#false} is VALID [2020-07-11 01:05:11,482 INFO L280 TraceCheckUtils]: 60: Hoare triple {613#false} assume !false; {613#false} is VALID [2020-07-11 01:05:11,502 INFO L134 CoverageAnalysis]: Checked inductivity of 17 backedges. 0 proven. 6 refuted. 0 times theorem prover too weak. 11 trivial. 0 not checked. [2020-07-11 01:05:11,503 INFO L354 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModulePreferences [1336123119] [2020-07-11 01:05:11,503 INFO L220 FreeRefinementEngine]: Constructing automaton from 0 perfect and 1 imperfect interpolant sequences. [2020-07-11 01:05:11,503 INFO L233 FreeRefinementEngine]: Number of different interpolants: perfect sequences [] imperfect sequences [9] total 9 [2020-07-11 01:05:11,503 INFO L156 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [1554900916] [2020-07-11 01:05:11,505 INFO L78 Accepts]: Start accepts. Automaton has 9 states. Word has length 61 [2020-07-11 01:05:11,506 INFO L84 Accepts]: Finished accepts. word is accepted. [2020-07-11 01:05:11,506 INFO L86 InductivityCheck]: Starting indutivity check of a Floyd-Hoare automaton with 9 states. [2020-07-11 01:05:11,575 INFO L119 InductivityCheck]: Floyd-Hoare automaton has 51 edges. 51 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2020-07-11 01:05:11,575 INFO L459 AbstractCegarLoop]: Interpolant automaton has 9 states [2020-07-11 01:05:11,576 INFO L143 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy FIXED_PREFERENCES [2020-07-11 01:05:11,576 INFO L142 InterpolantAutomaton]: Constructing interpolant automaton starting with 9 interpolants. [2020-07-11 01:05:11,577 INFO L144 InterpolantAutomaton]: CoverageRelationStatistics Valid=16, Invalid=56, Unknown=0, NotChecked=0, Total=72 [2020-07-11 01:05:11,577 INFO L87 Difference]: Start difference. First operand 62 states and 67 transitions. Second operand 9 states. [2020-07-11 01:05:12,733 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2020-07-11 01:05:12,733 INFO L93 Difference]: Finished difference Result 100 states and 112 transitions. [2020-07-11 01:05:12,733 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 11 states. [2020-07-11 01:05:12,734 INFO L78 Accepts]: Start accepts. Automaton has 9 states. Word has length 61 [2020-07-11 01:05:12,734 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2020-07-11 01:05:12,735 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 9 states. [2020-07-11 01:05:12,746 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 11 states to 11 states and 112 transitions. [2020-07-11 01:05:12,746 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 9 states. [2020-07-11 01:05:12,759 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 11 states to 11 states and 112 transitions. [2020-07-11 01:05:12,760 INFO L86 InductivityCheck]: Starting indutivity check of a Floyd-Hoare automaton with 11 states and 112 transitions. [2020-07-11 01:05:12,933 INFO L119 InductivityCheck]: Floyd-Hoare automaton has 112 edges. 112 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2020-07-11 01:05:12,937 INFO L225 Difference]: With dead ends: 100 [2020-07-11 01:05:12,937 INFO L226 Difference]: Without dead ends: 72 [2020-07-11 01:05:12,938 INFO L675 BasicCegarLoop]: 0 DeclaredPredicates, 19 GetRequests, 10 SyntacticMatches, 0 SemanticMatches, 9 ConstructedPredicates, 0 IntricatePredicates, 0 DeprecatedPredicates, 4 ImplicationChecksByTransitivity, 0.1s TimeCoverageRelationStatistics Valid=24, Invalid=86, Unknown=0, NotChecked=0, Total=110 [2020-07-11 01:05:12,939 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 72 states. [2020-07-11 01:05:13,113 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 72 to 68. [2020-07-11 01:05:13,114 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2020-07-11 01:05:13,114 INFO L82 GeneralOperation]: Start isEquivalent. First operand 72 states. Second operand 68 states. [2020-07-11 01:05:13,114 INFO L74 IsIncluded]: Start isIncluded. First operand 72 states. Second operand 68 states. [2020-07-11 01:05:13,114 INFO L87 Difference]: Start difference. First operand 72 states. Second operand 68 states. [2020-07-11 01:05:13,119 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2020-07-11 01:05:13,119 INFO L93 Difference]: Finished difference Result 72 states and 78 transitions. [2020-07-11 01:05:13,120 INFO L276 IsEmpty]: Start isEmpty. Operand 72 states and 78 transitions. [2020-07-11 01:05:13,121 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2020-07-11 01:05:13,121 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2020-07-11 01:05:13,121 INFO L74 IsIncluded]: Start isIncluded. First operand 68 states. Second operand 72 states. [2020-07-11 01:05:13,121 INFO L87 Difference]: Start difference. First operand 68 states. Second operand 72 states. [2020-07-11 01:05:13,126 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2020-07-11 01:05:13,127 INFO L93 Difference]: Finished difference Result 72 states and 78 transitions. [2020-07-11 01:05:13,127 INFO L276 IsEmpty]: Start isEmpty. Operand 72 states and 78 transitions. [2020-07-11 01:05:13,128 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2020-07-11 01:05:13,128 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2020-07-11 01:05:13,128 INFO L88 GeneralOperation]: Finished isEquivalent. [2020-07-11 01:05:13,128 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2020-07-11 01:05:13,129 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 68 states. [2020-07-11 01:05:13,132 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 68 states to 68 states and 73 transitions. [2020-07-11 01:05:13,132 INFO L78 Accepts]: Start accepts. Automaton has 68 states and 73 transitions. Word has length 61 [2020-07-11 01:05:13,133 INFO L84 Accepts]: Finished accepts. word is rejected. [2020-07-11 01:05:13,133 INFO L479 AbstractCegarLoop]: Abstraction has 68 states and 73 transitions. [2020-07-11 01:05:13,133 INFO L480 AbstractCegarLoop]: Interpolant automaton has 9 states. [2020-07-11 01:05:13,133 INFO L86 InductivityCheck]: Starting indutivity check of a Floyd-Hoare automaton with 68 states and 73 transitions. [2020-07-11 01:05:13,254 INFO L119 InductivityCheck]: Floyd-Hoare automaton has 73 edges. 73 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2020-07-11 01:05:13,255 INFO L276 IsEmpty]: Start isEmpty. Operand 68 states and 73 transitions. [2020-07-11 01:05:13,257 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 62 [2020-07-11 01:05:13,257 INFO L414 BasicCegarLoop]: Found error trace [2020-07-11 01:05:13,257 INFO L422 BasicCegarLoop]: trace histogram [2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1] [2020-07-11 01:05:13,257 WARN L516 AbstractCegarLoop]: Destroyed unattended storables created during the last iteration: SelfDestructingSolverStorable1 [2020-07-11 01:05:13,257 INFO L427 AbstractCegarLoop]: === Iteration 3 === [__blast_assertErr0ASSERT_VIOLATIONERROR_FUNCTION]=== [2020-07-11 01:05:13,258 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2020-07-11 01:05:13,258 INFO L82 PathProgramCache]: Analyzing trace with hash 1531514875, now seen corresponding path program 1 times [2020-07-11 01:05:13,258 INFO L163 FreeRefinementEngine]: Executing refinement strategy FIXED_PREFERENCES [2020-07-11 01:05:13,258 INFO L354 FreeRefinementEngine]: Using trace check IpTcStrategyModulePreferences [338887624] [2020-07-11 01:05:13,259 INFO L94 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2020-07-11 01:05:13,284 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2020-07-11 01:05:13,500 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2020-07-11 01:05:13,523 INFO L280 TraceCheckUtils]: 0: Hoare triple {1225#(and (= |#valid| |old(#valid)|) (= ~elem~0.base |old(~elem~0.base)|) (= |#NULL.base| |old(#NULL.base)|) (= |~#head~0.base| |old(~#head~0.base)|) (= ~guard_malloc_counter~0.offset |old(~guard_malloc_counter~0.offset)|) (= |#NULL.offset| |old(#NULL.offset)|) (= ~elem~0.offset |old(~elem~0.offset)|) (= |old(#length)| |#length|) (= |~#head~0.offset| |old(~#head~0.offset)|) (= ~guard_malloc_counter~0.base |old(~guard_malloc_counter~0.base)|))} #NULL.base, #NULL.offset := 0, 0; {1173#true} is VALID [2020-07-11 01:05:13,523 INFO L280 TraceCheckUtils]: 1: Hoare triple {1173#true} #valid := #valid[0 := 0]; {1173#true} is VALID [2020-07-11 01:05:13,524 INFO L280 TraceCheckUtils]: 2: Hoare triple {1173#true} assume 0 < #StackHeapBarrier; {1173#true} is VALID [2020-07-11 01:05:13,524 INFO L280 TraceCheckUtils]: 3: Hoare triple {1173#true} ~guard_malloc_counter~0.base, ~guard_malloc_counter~0.offset := 0, 0; {1226#(= 0 ~guard_malloc_counter~0.offset)} is VALID [2020-07-11 01:05:13,525 INFO L280 TraceCheckUtils]: 4: Hoare triple {1226#(= 0 ~guard_malloc_counter~0.offset)} ~elem~0.base, ~elem~0.offset := 0, 0; {1185#(and (= 0 ~elem~0.offset) (= 0 ~guard_malloc_counter~0.offset))} is VALID [2020-07-11 01:05:13,526 INFO L280 TraceCheckUtils]: 5: Hoare triple {1185#(and (= 0 ~elem~0.offset) (= 0 ~guard_malloc_counter~0.offset))} SUMMARY for call ~#head~0.base, ~#head~0.offset := #Ultimate.allocOnStack(8); srcloc: L900 {1185#(and (= 0 ~elem~0.offset) (= 0 ~guard_malloc_counter~0.offset))} is VALID [2020-07-11 01:05:13,527 INFO L280 TraceCheckUtils]: 6: Hoare triple {1185#(and (= 0 ~elem~0.offset) (= 0 ~guard_malloc_counter~0.offset))} SUMMARY for call write~init~$Pointer$(0, 0, ~#head~0.base, ~#head~0.offset, 4); srcloc: L900-1 {1185#(and (= 0 ~elem~0.offset) (= 0 ~guard_malloc_counter~0.offset))} is VALID [2020-07-11 01:05:13,527 INFO L280 TraceCheckUtils]: 7: Hoare triple {1185#(and (= 0 ~elem~0.offset) (= 0 ~guard_malloc_counter~0.offset))} SUMMARY for call write~init~$Pointer$(0, 0, ~#head~0.base, 4 + ~#head~0.offset, 4); srcloc: L900-2 {1185#(and (= 0 ~elem~0.offset) (= 0 ~guard_malloc_counter~0.offset))} is VALID [2020-07-11 01:05:13,528 INFO L280 TraceCheckUtils]: 8: Hoare triple {1185#(and (= 0 ~elem~0.offset) (= 0 ~guard_malloc_counter~0.offset))} assume true; {1185#(and (= 0 ~elem~0.offset) (= 0 ~guard_malloc_counter~0.offset))} is VALID [2020-07-11 01:05:13,529 INFO L275 TraceCheckUtils]: 9: Hoare quadruple {1185#(and (= 0 ~elem~0.offset) (= 0 ~guard_malloc_counter~0.offset))} {1173#true} #109#return; {1185#(and (= 0 ~elem~0.offset) (= 0 ~guard_malloc_counter~0.offset))} is VALID [2020-07-11 01:05:13,549 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2020-07-11 01:05:13,594 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2020-07-11 01:05:13,622 INFO L280 TraceCheckUtils]: 0: Hoare triple {1227#(and (= ~guard_malloc_counter~0.offset |old(~guard_malloc_counter~0.offset)|) (= ~guard_malloc_counter~0.base |old(~guard_malloc_counter~0.base)|))} ~size := #in~size; {1228#(= ~guard_malloc_counter~0.offset |old(~guard_malloc_counter~0.offset)|)} is VALID [2020-07-11 01:05:13,623 INFO L280 TraceCheckUtils]: 1: Hoare triple {1228#(= ~guard_malloc_counter~0.offset |old(~guard_malloc_counter~0.offset)|)} assume ~size > 0; {1228#(= ~guard_malloc_counter~0.offset |old(~guard_malloc_counter~0.offset)|)} is VALID [2020-07-11 01:05:13,624 INFO L280 TraceCheckUtils]: 2: Hoare triple {1228#(= ~guard_malloc_counter~0.offset |old(~guard_malloc_counter~0.offset)|)} #t~post28.base, #t~post28.offset := ~guard_malloc_counter~0.base, ~guard_malloc_counter~0.offset; {1241#(= |old(~guard_malloc_counter~0.offset)| |__getMemory_#t~post28.offset|)} is VALID [2020-07-11 01:05:13,625 INFO L280 TraceCheckUtils]: 3: Hoare triple {1241#(= |old(~guard_malloc_counter~0.offset)| |__getMemory_#t~post28.offset|)} ~guard_malloc_counter~0.base, ~guard_malloc_counter~0.offset := #t~post28.base, 1 + #t~post28.offset; {1240#(<= (+ |old(~guard_malloc_counter~0.offset)| 1) ~guard_malloc_counter~0.offset)} is VALID [2020-07-11 01:05:13,625 INFO L280 TraceCheckUtils]: 4: Hoare triple {1240#(<= (+ |old(~guard_malloc_counter~0.offset)| 1) ~guard_malloc_counter~0.offset)} havoc #t~post28.base, #t~post28.offset; {1240#(<= (+ |old(~guard_malloc_counter~0.offset)| 1) ~guard_malloc_counter~0.offset)} is VALID [2020-07-11 01:05:13,626 INFO L280 TraceCheckUtils]: 5: Hoare triple {1240#(<= (+ |old(~guard_malloc_counter~0.offset)| 1) ~guard_malloc_counter~0.offset)} assume -2147483648 <= #t~nondet29 && #t~nondet29 <= 2147483647; {1240#(<= (+ |old(~guard_malloc_counter~0.offset)| 1) ~guard_malloc_counter~0.offset)} is VALID [2020-07-11 01:05:13,627 INFO L280 TraceCheckUtils]: 6: Hoare triple {1240#(<= (+ |old(~guard_malloc_counter~0.offset)| 1) ~guard_malloc_counter~0.offset)} assume !(0 == #t~nondet29); {1240#(<= (+ |old(~guard_malloc_counter~0.offset)| 1) ~guard_malloc_counter~0.offset)} is VALID [2020-07-11 01:05:13,627 INFO L280 TraceCheckUtils]: 7: Hoare triple {1240#(<= (+ |old(~guard_malloc_counter~0.offset)| 1) ~guard_malloc_counter~0.offset)} havoc #t~nondet29; {1240#(<= (+ |old(~guard_malloc_counter~0.offset)| 1) ~guard_malloc_counter~0.offset)} is VALID [2020-07-11 01:05:13,628 INFO L280 TraceCheckUtils]: 8: Hoare triple {1240#(<= (+ |old(~guard_malloc_counter~0.offset)| 1) ~guard_malloc_counter~0.offset)} #res.base, #res.offset := ~guard_malloc_counter~0.base, ~guard_malloc_counter~0.offset; {1240#(<= (+ |old(~guard_malloc_counter~0.offset)| 1) ~guard_malloc_counter~0.offset)} is VALID [2020-07-11 01:05:13,628 INFO L280 TraceCheckUtils]: 9: Hoare triple {1240#(<= (+ |old(~guard_malloc_counter~0.offset)| 1) ~guard_malloc_counter~0.offset)} assume true; {1240#(<= (+ |old(~guard_malloc_counter~0.offset)| 1) ~guard_malloc_counter~0.offset)} is VALID [2020-07-11 01:05:13,630 INFO L275 TraceCheckUtils]: 10: Hoare quadruple {1240#(<= (+ |old(~guard_malloc_counter~0.offset)| 1) ~guard_malloc_counter~0.offset)} {1228#(= ~guard_malloc_counter~0.offset |old(~guard_malloc_counter~0.offset)|)} #91#return; {1240#(<= (+ |old(~guard_malloc_counter~0.offset)| 1) ~guard_malloc_counter~0.offset)} is VALID [2020-07-11 01:05:13,630 INFO L280 TraceCheckUtils]: 0: Hoare triple {1227#(and (= ~guard_malloc_counter~0.offset |old(~guard_malloc_counter~0.offset)|) (= ~guard_malloc_counter~0.base |old(~guard_malloc_counter~0.base)|))} ~size := #in~size; {1228#(= ~guard_malloc_counter~0.offset |old(~guard_malloc_counter~0.offset)|)} is VALID [2020-07-11 01:05:13,632 INFO L263 TraceCheckUtils]: 1: Hoare triple {1228#(= ~guard_malloc_counter~0.offset |old(~guard_malloc_counter~0.offset)|)} call #t~ret30.base, #t~ret30.offset := __getMemory(~size); {1227#(and (= ~guard_malloc_counter~0.offset |old(~guard_malloc_counter~0.offset)|) (= ~guard_malloc_counter~0.base |old(~guard_malloc_counter~0.base)|))} is VALID [2020-07-11 01:05:13,633 INFO L280 TraceCheckUtils]: 2: Hoare triple {1227#(and (= ~guard_malloc_counter~0.offset |old(~guard_malloc_counter~0.offset)|) (= ~guard_malloc_counter~0.base |old(~guard_malloc_counter~0.base)|))} ~size := #in~size; {1228#(= ~guard_malloc_counter~0.offset |old(~guard_malloc_counter~0.offset)|)} is VALID [2020-07-11 01:05:13,633 INFO L280 TraceCheckUtils]: 3: Hoare triple {1228#(= ~guard_malloc_counter~0.offset |old(~guard_malloc_counter~0.offset)|)} assume ~size > 0; {1228#(= ~guard_malloc_counter~0.offset |old(~guard_malloc_counter~0.offset)|)} is VALID [2020-07-11 01:05:13,634 INFO L280 TraceCheckUtils]: 4: Hoare triple {1228#(= ~guard_malloc_counter~0.offset |old(~guard_malloc_counter~0.offset)|)} #t~post28.base, #t~post28.offset := ~guard_malloc_counter~0.base, ~guard_malloc_counter~0.offset; {1241#(= |old(~guard_malloc_counter~0.offset)| |__getMemory_#t~post28.offset|)} is VALID [2020-07-11 01:05:13,635 INFO L280 TraceCheckUtils]: 5: Hoare triple {1241#(= |old(~guard_malloc_counter~0.offset)| |__getMemory_#t~post28.offset|)} ~guard_malloc_counter~0.base, ~guard_malloc_counter~0.offset := #t~post28.base, 1 + #t~post28.offset; {1240#(<= (+ |old(~guard_malloc_counter~0.offset)| 1) ~guard_malloc_counter~0.offset)} is VALID [2020-07-11 01:05:13,635 INFO L280 TraceCheckUtils]: 6: Hoare triple {1240#(<= (+ |old(~guard_malloc_counter~0.offset)| 1) ~guard_malloc_counter~0.offset)} havoc #t~post28.base, #t~post28.offset; {1240#(<= (+ |old(~guard_malloc_counter~0.offset)| 1) ~guard_malloc_counter~0.offset)} is VALID [2020-07-11 01:05:13,636 INFO L280 TraceCheckUtils]: 7: Hoare triple {1240#(<= (+ |old(~guard_malloc_counter~0.offset)| 1) ~guard_malloc_counter~0.offset)} assume -2147483648 <= #t~nondet29 && #t~nondet29 <= 2147483647; {1240#(<= (+ |old(~guard_malloc_counter~0.offset)| 1) ~guard_malloc_counter~0.offset)} is VALID [2020-07-11 01:05:13,637 INFO L280 TraceCheckUtils]: 8: Hoare triple {1240#(<= (+ |old(~guard_malloc_counter~0.offset)| 1) ~guard_malloc_counter~0.offset)} assume !(0 == #t~nondet29); {1240#(<= (+ |old(~guard_malloc_counter~0.offset)| 1) ~guard_malloc_counter~0.offset)} is VALID [2020-07-11 01:05:13,637 INFO L280 TraceCheckUtils]: 9: Hoare triple {1240#(<= (+ |old(~guard_malloc_counter~0.offset)| 1) ~guard_malloc_counter~0.offset)} havoc #t~nondet29; {1240#(<= (+ |old(~guard_malloc_counter~0.offset)| 1) ~guard_malloc_counter~0.offset)} is VALID [2020-07-11 01:05:13,638 INFO L280 TraceCheckUtils]: 10: Hoare triple {1240#(<= (+ |old(~guard_malloc_counter~0.offset)| 1) ~guard_malloc_counter~0.offset)} #res.base, #res.offset := ~guard_malloc_counter~0.base, ~guard_malloc_counter~0.offset; {1240#(<= (+ |old(~guard_malloc_counter~0.offset)| 1) ~guard_malloc_counter~0.offset)} is VALID [2020-07-11 01:05:13,638 INFO L280 TraceCheckUtils]: 11: Hoare triple {1240#(<= (+ |old(~guard_malloc_counter~0.offset)| 1) ~guard_malloc_counter~0.offset)} assume true; {1240#(<= (+ |old(~guard_malloc_counter~0.offset)| 1) ~guard_malloc_counter~0.offset)} is VALID [2020-07-11 01:05:13,639 INFO L275 TraceCheckUtils]: 12: Hoare quadruple {1240#(<= (+ |old(~guard_malloc_counter~0.offset)| 1) ~guard_malloc_counter~0.offset)} {1228#(= ~guard_malloc_counter~0.offset |old(~guard_malloc_counter~0.offset)|)} #91#return; {1240#(<= (+ |old(~guard_malloc_counter~0.offset)| 1) ~guard_malloc_counter~0.offset)} is VALID [2020-07-11 01:05:13,643 INFO L280 TraceCheckUtils]: 13: Hoare triple {1240#(<= (+ |old(~guard_malloc_counter~0.offset)| 1) ~guard_malloc_counter~0.offset)} #res.base, #res.offset := #t~ret30.base, #t~ret30.offset; {1240#(<= (+ |old(~guard_malloc_counter~0.offset)| 1) ~guard_malloc_counter~0.offset)} is VALID [2020-07-11 01:05:13,649 INFO L280 TraceCheckUtils]: 14: Hoare triple {1240#(<= (+ |old(~guard_malloc_counter~0.offset)| 1) ~guard_malloc_counter~0.offset)} havoc #t~ret30.base, #t~ret30.offset; {1240#(<= (+ |old(~guard_malloc_counter~0.offset)| 1) ~guard_malloc_counter~0.offset)} is VALID [2020-07-11 01:05:13,650 INFO L280 TraceCheckUtils]: 15: Hoare triple {1240#(<= (+ |old(~guard_malloc_counter~0.offset)| 1) ~guard_malloc_counter~0.offset)} assume true; {1240#(<= (+ |old(~guard_malloc_counter~0.offset)| 1) ~guard_malloc_counter~0.offset)} is VALID [2020-07-11 01:05:13,651 INFO L275 TraceCheckUtils]: 16: Hoare quadruple {1240#(<= (+ |old(~guard_malloc_counter~0.offset)| 1) ~guard_malloc_counter~0.offset)} {1185#(and (= 0 ~elem~0.offset) (= 0 ~guard_malloc_counter~0.offset))} #93#return; {1203#(and (= 0 ~elem~0.offset) (<= 1 ~guard_malloc_counter~0.offset))} is VALID [2020-07-11 01:05:13,656 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2020-07-11 01:05:13,705 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2020-07-11 01:05:13,739 INFO L280 TraceCheckUtils]: 0: Hoare triple {1227#(and (= ~guard_malloc_counter~0.offset |old(~guard_malloc_counter~0.offset)|) (= ~guard_malloc_counter~0.base |old(~guard_malloc_counter~0.base)|))} ~size := #in~size; {1228#(= ~guard_malloc_counter~0.offset |old(~guard_malloc_counter~0.offset)|)} is VALID [2020-07-11 01:05:13,739 INFO L280 TraceCheckUtils]: 1: Hoare triple {1228#(= ~guard_malloc_counter~0.offset |old(~guard_malloc_counter~0.offset)|)} assume ~size > 0; {1228#(= ~guard_malloc_counter~0.offset |old(~guard_malloc_counter~0.offset)|)} is VALID [2020-07-11 01:05:13,740 INFO L280 TraceCheckUtils]: 2: Hoare triple {1228#(= ~guard_malloc_counter~0.offset |old(~guard_malloc_counter~0.offset)|)} #t~post28.base, #t~post28.offset := ~guard_malloc_counter~0.base, ~guard_malloc_counter~0.offset; {1241#(= |old(~guard_malloc_counter~0.offset)| |__getMemory_#t~post28.offset|)} is VALID [2020-07-11 01:05:13,741 INFO L280 TraceCheckUtils]: 3: Hoare triple {1241#(= |old(~guard_malloc_counter~0.offset)| |__getMemory_#t~post28.offset|)} ~guard_malloc_counter~0.base, ~guard_malloc_counter~0.offset := #t~post28.base, 1 + #t~post28.offset; {1240#(<= (+ |old(~guard_malloc_counter~0.offset)| 1) ~guard_malloc_counter~0.offset)} is VALID [2020-07-11 01:05:13,741 INFO L280 TraceCheckUtils]: 4: Hoare triple {1240#(<= (+ |old(~guard_malloc_counter~0.offset)| 1) ~guard_malloc_counter~0.offset)} havoc #t~post28.base, #t~post28.offset; {1240#(<= (+ |old(~guard_malloc_counter~0.offset)| 1) ~guard_malloc_counter~0.offset)} is VALID [2020-07-11 01:05:13,742 INFO L280 TraceCheckUtils]: 5: Hoare triple {1240#(<= (+ |old(~guard_malloc_counter~0.offset)| 1) ~guard_malloc_counter~0.offset)} assume -2147483648 <= #t~nondet29 && #t~nondet29 <= 2147483647; {1240#(<= (+ |old(~guard_malloc_counter~0.offset)| 1) ~guard_malloc_counter~0.offset)} is VALID [2020-07-11 01:05:13,747 INFO L280 TraceCheckUtils]: 6: Hoare triple {1240#(<= (+ |old(~guard_malloc_counter~0.offset)| 1) ~guard_malloc_counter~0.offset)} assume !(0 == #t~nondet29); {1240#(<= (+ |old(~guard_malloc_counter~0.offset)| 1) ~guard_malloc_counter~0.offset)} is VALID [2020-07-11 01:05:13,747 INFO L280 TraceCheckUtils]: 7: Hoare triple {1240#(<= (+ |old(~guard_malloc_counter~0.offset)| 1) ~guard_malloc_counter~0.offset)} havoc #t~nondet29; {1240#(<= (+ |old(~guard_malloc_counter~0.offset)| 1) ~guard_malloc_counter~0.offset)} is VALID [2020-07-11 01:05:13,749 INFO L280 TraceCheckUtils]: 8: Hoare triple {1240#(<= (+ |old(~guard_malloc_counter~0.offset)| 1) ~guard_malloc_counter~0.offset)} #res.base, #res.offset := ~guard_malloc_counter~0.base, ~guard_malloc_counter~0.offset; {1255#(<= (+ |old(~guard_malloc_counter~0.offset)| 1) |__getMemory_#res.offset|)} is VALID [2020-07-11 01:05:13,749 INFO L280 TraceCheckUtils]: 9: Hoare triple {1255#(<= (+ |old(~guard_malloc_counter~0.offset)| 1) |__getMemory_#res.offset|)} assume true; {1255#(<= (+ |old(~guard_malloc_counter~0.offset)| 1) |__getMemory_#res.offset|)} is VALID [2020-07-11 01:05:13,750 INFO L275 TraceCheckUtils]: 10: Hoare quadruple {1255#(<= (+ |old(~guard_malloc_counter~0.offset)| 1) |__getMemory_#res.offset|)} {1228#(= ~guard_malloc_counter~0.offset |old(~guard_malloc_counter~0.offset)|)} #91#return; {1253#(<= (+ |old(~guard_malloc_counter~0.offset)| 1) |my_malloc_#t~ret30.offset|)} is VALID [2020-07-11 01:05:13,751 INFO L280 TraceCheckUtils]: 0: Hoare triple {1227#(and (= ~guard_malloc_counter~0.offset |old(~guard_malloc_counter~0.offset)|) (= ~guard_malloc_counter~0.base |old(~guard_malloc_counter~0.base)|))} ~size := #in~size; {1228#(= ~guard_malloc_counter~0.offset |old(~guard_malloc_counter~0.offset)|)} is VALID [2020-07-11 01:05:13,752 INFO L263 TraceCheckUtils]: 1: Hoare triple {1228#(= ~guard_malloc_counter~0.offset |old(~guard_malloc_counter~0.offset)|)} call #t~ret30.base, #t~ret30.offset := __getMemory(~size); {1227#(and (= ~guard_malloc_counter~0.offset |old(~guard_malloc_counter~0.offset)|) (= ~guard_malloc_counter~0.base |old(~guard_malloc_counter~0.base)|))} is VALID [2020-07-11 01:05:13,753 INFO L280 TraceCheckUtils]: 2: Hoare triple {1227#(and (= ~guard_malloc_counter~0.offset |old(~guard_malloc_counter~0.offset)|) (= ~guard_malloc_counter~0.base |old(~guard_malloc_counter~0.base)|))} ~size := #in~size; {1228#(= ~guard_malloc_counter~0.offset |old(~guard_malloc_counter~0.offset)|)} is VALID [2020-07-11 01:05:13,756 INFO L280 TraceCheckUtils]: 3: Hoare triple {1228#(= ~guard_malloc_counter~0.offset |old(~guard_malloc_counter~0.offset)|)} assume ~size > 0; {1228#(= ~guard_malloc_counter~0.offset |old(~guard_malloc_counter~0.offset)|)} is VALID [2020-07-11 01:05:13,757 INFO L280 TraceCheckUtils]: 4: Hoare triple {1228#(= ~guard_malloc_counter~0.offset |old(~guard_malloc_counter~0.offset)|)} #t~post28.base, #t~post28.offset := ~guard_malloc_counter~0.base, ~guard_malloc_counter~0.offset; {1241#(= |old(~guard_malloc_counter~0.offset)| |__getMemory_#t~post28.offset|)} is VALID [2020-07-11 01:05:13,757 INFO L280 TraceCheckUtils]: 5: Hoare triple {1241#(= |old(~guard_malloc_counter~0.offset)| |__getMemory_#t~post28.offset|)} ~guard_malloc_counter~0.base, ~guard_malloc_counter~0.offset := #t~post28.base, 1 + #t~post28.offset; {1240#(<= (+ |old(~guard_malloc_counter~0.offset)| 1) ~guard_malloc_counter~0.offset)} is VALID [2020-07-11 01:05:13,758 INFO L280 TraceCheckUtils]: 6: Hoare triple {1240#(<= (+ |old(~guard_malloc_counter~0.offset)| 1) ~guard_malloc_counter~0.offset)} havoc #t~post28.base, #t~post28.offset; {1240#(<= (+ |old(~guard_malloc_counter~0.offset)| 1) ~guard_malloc_counter~0.offset)} is VALID [2020-07-11 01:05:13,758 INFO L280 TraceCheckUtils]: 7: Hoare triple {1240#(<= (+ |old(~guard_malloc_counter~0.offset)| 1) ~guard_malloc_counter~0.offset)} assume -2147483648 <= #t~nondet29 && #t~nondet29 <= 2147483647; {1240#(<= (+ |old(~guard_malloc_counter~0.offset)| 1) ~guard_malloc_counter~0.offset)} is VALID [2020-07-11 01:05:13,759 INFO L280 TraceCheckUtils]: 8: Hoare triple {1240#(<= (+ |old(~guard_malloc_counter~0.offset)| 1) ~guard_malloc_counter~0.offset)} assume !(0 == #t~nondet29); {1240#(<= (+ |old(~guard_malloc_counter~0.offset)| 1) ~guard_malloc_counter~0.offset)} is VALID [2020-07-11 01:05:13,759 INFO L280 TraceCheckUtils]: 9: Hoare triple {1240#(<= (+ |old(~guard_malloc_counter~0.offset)| 1) ~guard_malloc_counter~0.offset)} havoc #t~nondet29; {1240#(<= (+ |old(~guard_malloc_counter~0.offset)| 1) ~guard_malloc_counter~0.offset)} is VALID [2020-07-11 01:05:13,760 INFO L280 TraceCheckUtils]: 10: Hoare triple {1240#(<= (+ |old(~guard_malloc_counter~0.offset)| 1) ~guard_malloc_counter~0.offset)} #res.base, #res.offset := ~guard_malloc_counter~0.base, ~guard_malloc_counter~0.offset; {1255#(<= (+ |old(~guard_malloc_counter~0.offset)| 1) |__getMemory_#res.offset|)} is VALID [2020-07-11 01:05:13,760 INFO L280 TraceCheckUtils]: 11: Hoare triple {1255#(<= (+ |old(~guard_malloc_counter~0.offset)| 1) |__getMemory_#res.offset|)} assume true; {1255#(<= (+ |old(~guard_malloc_counter~0.offset)| 1) |__getMemory_#res.offset|)} is VALID [2020-07-11 01:05:13,761 INFO L275 TraceCheckUtils]: 12: Hoare quadruple {1255#(<= (+ |old(~guard_malloc_counter~0.offset)| 1) |__getMemory_#res.offset|)} {1228#(= ~guard_malloc_counter~0.offset |old(~guard_malloc_counter~0.offset)|)} #91#return; {1253#(<= (+ |old(~guard_malloc_counter~0.offset)| 1) |my_malloc_#t~ret30.offset|)} is VALID [2020-07-11 01:05:13,762 INFO L280 TraceCheckUtils]: 13: Hoare triple {1253#(<= (+ |old(~guard_malloc_counter~0.offset)| 1) |my_malloc_#t~ret30.offset|)} #res.base, #res.offset := #t~ret30.base, #t~ret30.offset; {1254#(<= (+ |old(~guard_malloc_counter~0.offset)| 1) |my_malloc_#res.offset|)} is VALID [2020-07-11 01:05:13,763 INFO L280 TraceCheckUtils]: 14: Hoare triple {1254#(<= (+ |old(~guard_malloc_counter~0.offset)| 1) |my_malloc_#res.offset|)} havoc #t~ret30.base, #t~ret30.offset; {1254#(<= (+ |old(~guard_malloc_counter~0.offset)| 1) |my_malloc_#res.offset|)} is VALID [2020-07-11 01:05:13,769 INFO L280 TraceCheckUtils]: 15: Hoare triple {1254#(<= (+ |old(~guard_malloc_counter~0.offset)| 1) |my_malloc_#res.offset|)} assume true; {1254#(<= (+ |old(~guard_malloc_counter~0.offset)| 1) |my_malloc_#res.offset|)} is VALID [2020-07-11 01:05:13,775 INFO L275 TraceCheckUtils]: 16: Hoare quadruple {1254#(<= (+ |old(~guard_malloc_counter~0.offset)| 1) |my_malloc_#res.offset|)} {1203#(and (= 0 ~elem~0.offset) (<= 1 ~guard_malloc_counter~0.offset))} #95#return; {1221#(and (= 0 ~elem~0.offset) (<= 2 |main_#t~ret33.offset|))} is VALID [2020-07-11 01:05:13,778 INFO L263 TraceCheckUtils]: 0: Hoare triple {1173#true} call ULTIMATE.init(); {1225#(and (= |#valid| |old(#valid)|) (= ~elem~0.base |old(~elem~0.base)|) (= |#NULL.base| |old(#NULL.base)|) (= |~#head~0.base| |old(~#head~0.base)|) (= ~guard_malloc_counter~0.offset |old(~guard_malloc_counter~0.offset)|) (= |#NULL.offset| |old(#NULL.offset)|) (= ~elem~0.offset |old(~elem~0.offset)|) (= |old(#length)| |#length|) (= |~#head~0.offset| |old(~#head~0.offset)|) (= ~guard_malloc_counter~0.base |old(~guard_malloc_counter~0.base)|))} is VALID [2020-07-11 01:05:13,779 INFO L280 TraceCheckUtils]: 1: Hoare triple {1225#(and (= |#valid| |old(#valid)|) (= ~elem~0.base |old(~elem~0.base)|) (= |#NULL.base| |old(#NULL.base)|) (= |~#head~0.base| |old(~#head~0.base)|) (= ~guard_malloc_counter~0.offset |old(~guard_malloc_counter~0.offset)|) (= |#NULL.offset| |old(#NULL.offset)|) (= ~elem~0.offset |old(~elem~0.offset)|) (= |old(#length)| |#length|) (= |~#head~0.offset| |old(~#head~0.offset)|) (= ~guard_malloc_counter~0.base |old(~guard_malloc_counter~0.base)|))} #NULL.base, #NULL.offset := 0, 0; {1173#true} is VALID [2020-07-11 01:05:13,779 INFO L280 TraceCheckUtils]: 2: Hoare triple {1173#true} #valid := #valid[0 := 0]; {1173#true} is VALID [2020-07-11 01:05:13,779 INFO L280 TraceCheckUtils]: 3: Hoare triple {1173#true} assume 0 < #StackHeapBarrier; {1173#true} is VALID [2020-07-11 01:05:13,784 INFO L280 TraceCheckUtils]: 4: Hoare triple {1173#true} ~guard_malloc_counter~0.base, ~guard_malloc_counter~0.offset := 0, 0; {1226#(= 0 ~guard_malloc_counter~0.offset)} is VALID [2020-07-11 01:05:13,784 INFO L280 TraceCheckUtils]: 5: Hoare triple {1226#(= 0 ~guard_malloc_counter~0.offset)} ~elem~0.base, ~elem~0.offset := 0, 0; {1185#(and (= 0 ~elem~0.offset) (= 0 ~guard_malloc_counter~0.offset))} is VALID [2020-07-11 01:05:13,785 INFO L280 TraceCheckUtils]: 6: Hoare triple {1185#(and (= 0 ~elem~0.offset) (= 0 ~guard_malloc_counter~0.offset))} SUMMARY for call ~#head~0.base, ~#head~0.offset := #Ultimate.allocOnStack(8); srcloc: L900 {1185#(and (= 0 ~elem~0.offset) (= 0 ~guard_malloc_counter~0.offset))} is VALID [2020-07-11 01:05:13,786 INFO L280 TraceCheckUtils]: 7: Hoare triple {1185#(and (= 0 ~elem~0.offset) (= 0 ~guard_malloc_counter~0.offset))} SUMMARY for call write~init~$Pointer$(0, 0, ~#head~0.base, ~#head~0.offset, 4); srcloc: L900-1 {1185#(and (= 0 ~elem~0.offset) (= 0 ~guard_malloc_counter~0.offset))} is VALID [2020-07-11 01:05:13,787 INFO L280 TraceCheckUtils]: 8: Hoare triple {1185#(and (= 0 ~elem~0.offset) (= 0 ~guard_malloc_counter~0.offset))} SUMMARY for call write~init~$Pointer$(0, 0, ~#head~0.base, 4 + ~#head~0.offset, 4); srcloc: L900-2 {1185#(and (= 0 ~elem~0.offset) (= 0 ~guard_malloc_counter~0.offset))} is VALID [2020-07-11 01:05:13,788 INFO L280 TraceCheckUtils]: 9: Hoare triple {1185#(and (= 0 ~elem~0.offset) (= 0 ~guard_malloc_counter~0.offset))} assume true; {1185#(and (= 0 ~elem~0.offset) (= 0 ~guard_malloc_counter~0.offset))} is VALID [2020-07-11 01:05:13,789 INFO L275 TraceCheckUtils]: 10: Hoare quadruple {1185#(and (= 0 ~elem~0.offset) (= 0 ~guard_malloc_counter~0.offset))} {1173#true} #109#return; {1185#(and (= 0 ~elem~0.offset) (= 0 ~guard_malloc_counter~0.offset))} is VALID [2020-07-11 01:05:13,789 INFO L263 TraceCheckUtils]: 11: Hoare triple {1185#(and (= 0 ~elem~0.offset) (= 0 ~guard_malloc_counter~0.offset))} call #t~ret34 := main(); {1185#(and (= 0 ~elem~0.offset) (= 0 ~guard_malloc_counter~0.offset))} is VALID [2020-07-11 01:05:13,790 INFO L280 TraceCheckUtils]: 12: Hoare triple {1185#(and (= 0 ~elem~0.offset) (= 0 ~guard_malloc_counter~0.offset))} havoc ~dev1~0.base, ~dev1~0.offset; {1185#(and (= 0 ~elem~0.offset) (= 0 ~guard_malloc_counter~0.offset))} is VALID [2020-07-11 01:05:13,791 INFO L280 TraceCheckUtils]: 13: Hoare triple {1185#(and (= 0 ~elem~0.offset) (= 0 ~guard_malloc_counter~0.offset))} havoc ~dev2~0.base, ~dev2~0.offset; {1185#(and (= 0 ~elem~0.offset) (= 0 ~guard_malloc_counter~0.offset))} is VALID [2020-07-11 01:05:13,791 INFO L263 TraceCheckUtils]: 14: Hoare triple {1185#(and (= 0 ~elem~0.offset) (= 0 ~guard_malloc_counter~0.offset))} call #t~ret32.base, #t~ret32.offset := my_malloc(8); {1227#(and (= ~guard_malloc_counter~0.offset |old(~guard_malloc_counter~0.offset)|) (= ~guard_malloc_counter~0.base |old(~guard_malloc_counter~0.base)|))} is VALID [2020-07-11 01:05:13,792 INFO L280 TraceCheckUtils]: 15: Hoare triple {1227#(and (= ~guard_malloc_counter~0.offset |old(~guard_malloc_counter~0.offset)|) (= ~guard_malloc_counter~0.base |old(~guard_malloc_counter~0.base)|))} ~size := #in~size; {1228#(= ~guard_malloc_counter~0.offset |old(~guard_malloc_counter~0.offset)|)} is VALID [2020-07-11 01:05:13,793 INFO L263 TraceCheckUtils]: 16: Hoare triple {1228#(= ~guard_malloc_counter~0.offset |old(~guard_malloc_counter~0.offset)|)} call #t~ret30.base, #t~ret30.offset := __getMemory(~size); {1227#(and (= ~guard_malloc_counter~0.offset |old(~guard_malloc_counter~0.offset)|) (= ~guard_malloc_counter~0.base |old(~guard_malloc_counter~0.base)|))} is VALID [2020-07-11 01:05:13,793 INFO L280 TraceCheckUtils]: 17: Hoare triple {1227#(and (= ~guard_malloc_counter~0.offset |old(~guard_malloc_counter~0.offset)|) (= ~guard_malloc_counter~0.base |old(~guard_malloc_counter~0.base)|))} ~size := #in~size; {1228#(= ~guard_malloc_counter~0.offset |old(~guard_malloc_counter~0.offset)|)} is VALID [2020-07-11 01:05:13,794 INFO L280 TraceCheckUtils]: 18: Hoare triple {1228#(= ~guard_malloc_counter~0.offset |old(~guard_malloc_counter~0.offset)|)} assume ~size > 0; {1228#(= ~guard_malloc_counter~0.offset |old(~guard_malloc_counter~0.offset)|)} is VALID [2020-07-11 01:05:13,795 INFO L280 TraceCheckUtils]: 19: Hoare triple {1228#(= ~guard_malloc_counter~0.offset |old(~guard_malloc_counter~0.offset)|)} #t~post28.base, #t~post28.offset := ~guard_malloc_counter~0.base, ~guard_malloc_counter~0.offset; {1241#(= |old(~guard_malloc_counter~0.offset)| |__getMemory_#t~post28.offset|)} is VALID [2020-07-11 01:05:13,795 INFO L280 TraceCheckUtils]: 20: Hoare triple {1241#(= |old(~guard_malloc_counter~0.offset)| |__getMemory_#t~post28.offset|)} ~guard_malloc_counter~0.base, ~guard_malloc_counter~0.offset := #t~post28.base, 1 + #t~post28.offset; {1240#(<= (+ |old(~guard_malloc_counter~0.offset)| 1) ~guard_malloc_counter~0.offset)} is VALID [2020-07-11 01:05:13,796 INFO L280 TraceCheckUtils]: 21: Hoare triple {1240#(<= (+ |old(~guard_malloc_counter~0.offset)| 1) ~guard_malloc_counter~0.offset)} havoc #t~post28.base, #t~post28.offset; {1240#(<= (+ |old(~guard_malloc_counter~0.offset)| 1) ~guard_malloc_counter~0.offset)} is VALID [2020-07-11 01:05:13,796 INFO L280 TraceCheckUtils]: 22: Hoare triple {1240#(<= (+ |old(~guard_malloc_counter~0.offset)| 1) ~guard_malloc_counter~0.offset)} assume -2147483648 <= #t~nondet29 && #t~nondet29 <= 2147483647; {1240#(<= (+ |old(~guard_malloc_counter~0.offset)| 1) ~guard_malloc_counter~0.offset)} is VALID [2020-07-11 01:05:13,797 INFO L280 TraceCheckUtils]: 23: Hoare triple {1240#(<= (+ |old(~guard_malloc_counter~0.offset)| 1) ~guard_malloc_counter~0.offset)} assume !(0 == #t~nondet29); {1240#(<= (+ |old(~guard_malloc_counter~0.offset)| 1) ~guard_malloc_counter~0.offset)} is VALID [2020-07-11 01:05:13,797 INFO L280 TraceCheckUtils]: 24: Hoare triple {1240#(<= (+ |old(~guard_malloc_counter~0.offset)| 1) ~guard_malloc_counter~0.offset)} havoc #t~nondet29; {1240#(<= (+ |old(~guard_malloc_counter~0.offset)| 1) ~guard_malloc_counter~0.offset)} is VALID [2020-07-11 01:05:13,798 INFO L280 TraceCheckUtils]: 25: Hoare triple {1240#(<= (+ |old(~guard_malloc_counter~0.offset)| 1) ~guard_malloc_counter~0.offset)} #res.base, #res.offset := ~guard_malloc_counter~0.base, ~guard_malloc_counter~0.offset; {1240#(<= (+ |old(~guard_malloc_counter~0.offset)| 1) ~guard_malloc_counter~0.offset)} is VALID [2020-07-11 01:05:13,798 INFO L280 TraceCheckUtils]: 26: Hoare triple {1240#(<= (+ |old(~guard_malloc_counter~0.offset)| 1) ~guard_malloc_counter~0.offset)} assume true; {1240#(<= (+ |old(~guard_malloc_counter~0.offset)| 1) ~guard_malloc_counter~0.offset)} is VALID [2020-07-11 01:05:13,801 INFO L275 TraceCheckUtils]: 27: Hoare quadruple {1240#(<= (+ |old(~guard_malloc_counter~0.offset)| 1) ~guard_malloc_counter~0.offset)} {1228#(= ~guard_malloc_counter~0.offset |old(~guard_malloc_counter~0.offset)|)} #91#return; {1240#(<= (+ |old(~guard_malloc_counter~0.offset)| 1) ~guard_malloc_counter~0.offset)} is VALID [2020-07-11 01:05:13,801 INFO L280 TraceCheckUtils]: 28: Hoare triple {1240#(<= (+ |old(~guard_malloc_counter~0.offset)| 1) ~guard_malloc_counter~0.offset)} #res.base, #res.offset := #t~ret30.base, #t~ret30.offset; {1240#(<= (+ |old(~guard_malloc_counter~0.offset)| 1) ~guard_malloc_counter~0.offset)} is VALID [2020-07-11 01:05:13,803 INFO L280 TraceCheckUtils]: 29: Hoare triple {1240#(<= (+ |old(~guard_malloc_counter~0.offset)| 1) ~guard_malloc_counter~0.offset)} havoc #t~ret30.base, #t~ret30.offset; {1240#(<= (+ |old(~guard_malloc_counter~0.offset)| 1) ~guard_malloc_counter~0.offset)} is VALID [2020-07-11 01:05:13,806 INFO L280 TraceCheckUtils]: 30: Hoare triple {1240#(<= (+ |old(~guard_malloc_counter~0.offset)| 1) ~guard_malloc_counter~0.offset)} assume true; {1240#(<= (+ |old(~guard_malloc_counter~0.offset)| 1) ~guard_malloc_counter~0.offset)} is VALID [2020-07-11 01:05:13,808 INFO L275 TraceCheckUtils]: 31: Hoare quadruple {1240#(<= (+ |old(~guard_malloc_counter~0.offset)| 1) ~guard_malloc_counter~0.offset)} {1185#(and (= 0 ~elem~0.offset) (= 0 ~guard_malloc_counter~0.offset))} #93#return; {1203#(and (= 0 ~elem~0.offset) (<= 1 ~guard_malloc_counter~0.offset))} is VALID [2020-07-11 01:05:13,810 INFO L280 TraceCheckUtils]: 32: Hoare triple {1203#(and (= 0 ~elem~0.offset) (<= 1 ~guard_malloc_counter~0.offset))} ~dev1~0.base, ~dev1~0.offset := #t~ret32.base, #t~ret32.offset; {1203#(and (= 0 ~elem~0.offset) (<= 1 ~guard_malloc_counter~0.offset))} is VALID [2020-07-11 01:05:13,816 INFO L280 TraceCheckUtils]: 33: Hoare triple {1203#(and (= 0 ~elem~0.offset) (<= 1 ~guard_malloc_counter~0.offset))} havoc #t~ret32.base, #t~ret32.offset; {1203#(and (= 0 ~elem~0.offset) (<= 1 ~guard_malloc_counter~0.offset))} is VALID [2020-07-11 01:05:13,817 INFO L263 TraceCheckUtils]: 34: Hoare triple {1203#(and (= 0 ~elem~0.offset) (<= 1 ~guard_malloc_counter~0.offset))} call #t~ret33.base, #t~ret33.offset := my_malloc(8); {1227#(and (= ~guard_malloc_counter~0.offset |old(~guard_malloc_counter~0.offset)|) (= ~guard_malloc_counter~0.base |old(~guard_malloc_counter~0.base)|))} is VALID [2020-07-11 01:05:13,818 INFO L280 TraceCheckUtils]: 35: Hoare triple {1227#(and (= ~guard_malloc_counter~0.offset |old(~guard_malloc_counter~0.offset)|) (= ~guard_malloc_counter~0.base |old(~guard_malloc_counter~0.base)|))} ~size := #in~size; {1228#(= ~guard_malloc_counter~0.offset |old(~guard_malloc_counter~0.offset)|)} is VALID [2020-07-11 01:05:13,819 INFO L263 TraceCheckUtils]: 36: Hoare triple {1228#(= ~guard_malloc_counter~0.offset |old(~guard_malloc_counter~0.offset)|)} call #t~ret30.base, #t~ret30.offset := __getMemory(~size); {1227#(and (= ~guard_malloc_counter~0.offset |old(~guard_malloc_counter~0.offset)|) (= ~guard_malloc_counter~0.base |old(~guard_malloc_counter~0.base)|))} is VALID [2020-07-11 01:05:13,819 INFO L280 TraceCheckUtils]: 37: Hoare triple {1227#(and (= ~guard_malloc_counter~0.offset |old(~guard_malloc_counter~0.offset)|) (= ~guard_malloc_counter~0.base |old(~guard_malloc_counter~0.base)|))} ~size := #in~size; {1228#(= ~guard_malloc_counter~0.offset |old(~guard_malloc_counter~0.offset)|)} is VALID [2020-07-11 01:05:13,819 INFO L280 TraceCheckUtils]: 38: Hoare triple {1228#(= ~guard_malloc_counter~0.offset |old(~guard_malloc_counter~0.offset)|)} assume ~size > 0; {1228#(= ~guard_malloc_counter~0.offset |old(~guard_malloc_counter~0.offset)|)} is VALID [2020-07-11 01:05:13,820 INFO L280 TraceCheckUtils]: 39: Hoare triple {1228#(= ~guard_malloc_counter~0.offset |old(~guard_malloc_counter~0.offset)|)} #t~post28.base, #t~post28.offset := ~guard_malloc_counter~0.base, ~guard_malloc_counter~0.offset; {1241#(= |old(~guard_malloc_counter~0.offset)| |__getMemory_#t~post28.offset|)} is VALID [2020-07-11 01:05:13,821 INFO L280 TraceCheckUtils]: 40: Hoare triple {1241#(= |old(~guard_malloc_counter~0.offset)| |__getMemory_#t~post28.offset|)} ~guard_malloc_counter~0.base, ~guard_malloc_counter~0.offset := #t~post28.base, 1 + #t~post28.offset; {1240#(<= (+ |old(~guard_malloc_counter~0.offset)| 1) ~guard_malloc_counter~0.offset)} is VALID [2020-07-11 01:05:13,821 INFO L280 TraceCheckUtils]: 41: Hoare triple {1240#(<= (+ |old(~guard_malloc_counter~0.offset)| 1) ~guard_malloc_counter~0.offset)} havoc #t~post28.base, #t~post28.offset; {1240#(<= (+ |old(~guard_malloc_counter~0.offset)| 1) ~guard_malloc_counter~0.offset)} is VALID [2020-07-11 01:05:13,822 INFO L280 TraceCheckUtils]: 42: Hoare triple {1240#(<= (+ |old(~guard_malloc_counter~0.offset)| 1) ~guard_malloc_counter~0.offset)} assume -2147483648 <= #t~nondet29 && #t~nondet29 <= 2147483647; {1240#(<= (+ |old(~guard_malloc_counter~0.offset)| 1) ~guard_malloc_counter~0.offset)} is VALID [2020-07-11 01:05:13,823 INFO L280 TraceCheckUtils]: 43: Hoare triple {1240#(<= (+ |old(~guard_malloc_counter~0.offset)| 1) ~guard_malloc_counter~0.offset)} assume !(0 == #t~nondet29); {1240#(<= (+ |old(~guard_malloc_counter~0.offset)| 1) ~guard_malloc_counter~0.offset)} is VALID [2020-07-11 01:05:13,823 INFO L280 TraceCheckUtils]: 44: Hoare triple {1240#(<= (+ |old(~guard_malloc_counter~0.offset)| 1) ~guard_malloc_counter~0.offset)} havoc #t~nondet29; {1240#(<= (+ |old(~guard_malloc_counter~0.offset)| 1) ~guard_malloc_counter~0.offset)} is VALID [2020-07-11 01:05:13,824 INFO L280 TraceCheckUtils]: 45: Hoare triple {1240#(<= (+ |old(~guard_malloc_counter~0.offset)| 1) ~guard_malloc_counter~0.offset)} #res.base, #res.offset := ~guard_malloc_counter~0.base, ~guard_malloc_counter~0.offset; {1255#(<= (+ |old(~guard_malloc_counter~0.offset)| 1) |__getMemory_#res.offset|)} is VALID [2020-07-11 01:05:13,825 INFO L280 TraceCheckUtils]: 46: Hoare triple {1255#(<= (+ |old(~guard_malloc_counter~0.offset)| 1) |__getMemory_#res.offset|)} assume true; {1255#(<= (+ |old(~guard_malloc_counter~0.offset)| 1) |__getMemory_#res.offset|)} is VALID [2020-07-11 01:05:13,828 INFO L275 TraceCheckUtils]: 47: Hoare quadruple {1255#(<= (+ |old(~guard_malloc_counter~0.offset)| 1) |__getMemory_#res.offset|)} {1228#(= ~guard_malloc_counter~0.offset |old(~guard_malloc_counter~0.offset)|)} #91#return; {1253#(<= (+ |old(~guard_malloc_counter~0.offset)| 1) |my_malloc_#t~ret30.offset|)} is VALID [2020-07-11 01:05:13,832 INFO L280 TraceCheckUtils]: 48: Hoare triple {1253#(<= (+ |old(~guard_malloc_counter~0.offset)| 1) |my_malloc_#t~ret30.offset|)} #res.base, #res.offset := #t~ret30.base, #t~ret30.offset; {1254#(<= (+ |old(~guard_malloc_counter~0.offset)| 1) |my_malloc_#res.offset|)} is VALID [2020-07-11 01:05:13,832 INFO L280 TraceCheckUtils]: 49: Hoare triple {1254#(<= (+ |old(~guard_malloc_counter~0.offset)| 1) |my_malloc_#res.offset|)} havoc #t~ret30.base, #t~ret30.offset; {1254#(<= (+ |old(~guard_malloc_counter~0.offset)| 1) |my_malloc_#res.offset|)} is VALID [2020-07-11 01:05:13,833 INFO L280 TraceCheckUtils]: 50: Hoare triple {1254#(<= (+ |old(~guard_malloc_counter~0.offset)| 1) |my_malloc_#res.offset|)} assume true; {1254#(<= (+ |old(~guard_malloc_counter~0.offset)| 1) |my_malloc_#res.offset|)} is VALID [2020-07-11 01:05:13,834 INFO L275 TraceCheckUtils]: 51: Hoare quadruple {1254#(<= (+ |old(~guard_malloc_counter~0.offset)| 1) |my_malloc_#res.offset|)} {1203#(and (= 0 ~elem~0.offset) (<= 1 ~guard_malloc_counter~0.offset))} #95#return; {1221#(and (= 0 ~elem~0.offset) (<= 2 |main_#t~ret33.offset|))} is VALID [2020-07-11 01:05:13,834 INFO L280 TraceCheckUtils]: 52: Hoare triple {1221#(and (= 0 ~elem~0.offset) (<= 2 |main_#t~ret33.offset|))} ~dev2~0.base, ~dev2~0.offset := #t~ret33.base, #t~ret33.offset; {1222#(and (= 0 ~elem~0.offset) (<= 2 main_~dev2~0.offset))} is VALID [2020-07-11 01:05:13,839 INFO L280 TraceCheckUtils]: 53: Hoare triple {1222#(and (= 0 ~elem~0.offset) (<= 2 main_~dev2~0.offset))} havoc #t~ret33.base, #t~ret33.offset; {1222#(and (= 0 ~elem~0.offset) (<= 2 main_~dev2~0.offset))} is VALID [2020-07-11 01:05:13,839 INFO L280 TraceCheckUtils]: 54: Hoare triple {1222#(and (= 0 ~elem~0.offset) (<= 2 main_~dev2~0.offset))} assume (~dev1~0.base != 0 || ~dev1~0.offset != 0) && (~dev2~0.base != 0 || ~dev2~0.offset != 0); {1222#(and (= 0 ~elem~0.offset) (<= 2 main_~dev2~0.offset))} is VALID [2020-07-11 01:05:13,840 INFO L263 TraceCheckUtils]: 55: Hoare triple {1222#(and (= 0 ~elem~0.offset) (<= 2 main_~dev2~0.offset))} call list_add(~dev2~0.base, ~dev2~0.offset, ~#head~0.base, ~#head~0.offset); {1223#(and (= 0 ~elem~0.offset) (<= 2 |list_add_#in~new.offset|))} is VALID [2020-07-11 01:05:13,841 INFO L280 TraceCheckUtils]: 56: Hoare triple {1223#(and (= 0 ~elem~0.offset) (<= 2 |list_add_#in~new.offset|))} ~new.base, ~new.offset := #in~new.base, #in~new.offset; {1224#(and (= 0 ~elem~0.offset) (not (= 0 list_add_~new.offset)))} is VALID [2020-07-11 01:05:13,841 INFO L280 TraceCheckUtils]: 57: Hoare triple {1224#(and (= 0 ~elem~0.offset) (not (= 0 list_add_~new.offset)))} ~head.base, ~head.offset := #in~head.base, #in~head.offset; {1224#(and (= 0 ~elem~0.offset) (not (= 0 list_add_~new.offset)))} is VALID [2020-07-11 01:05:13,842 INFO L280 TraceCheckUtils]: 58: Hoare triple {1224#(and (= 0 ~elem~0.offset) (not (= 0 list_add_~new.offset)))} assume !(~new.base != ~elem~0.base || ~new.offset != ~elem~0.offset); {1174#false} is VALID [2020-07-11 01:05:13,842 INFO L263 TraceCheckUtils]: 59: Hoare triple {1174#false} call __blast_assert(); {1174#false} is VALID [2020-07-11 01:05:13,842 INFO L280 TraceCheckUtils]: 60: Hoare triple {1174#false} assume !false; {1174#false} is VALID [2020-07-11 01:05:13,848 INFO L134 CoverageAnalysis]: Checked inductivity of 17 backedges. 0 proven. 6 refuted. 0 times theorem prover too weak. 11 trivial. 0 not checked. [2020-07-11 01:05:13,849 INFO L354 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModulePreferences [338887624] [2020-07-11 01:05:13,849 INFO L220 FreeRefinementEngine]: Constructing automaton from 0 perfect and 1 imperfect interpolant sequences. [2020-07-11 01:05:13,849 INFO L233 FreeRefinementEngine]: Number of different interpolants: perfect sequences [] imperfect sequences [17] total 17 [2020-07-11 01:05:13,849 INFO L156 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [862419017] [2020-07-11 01:05:13,850 INFO L78 Accepts]: Start accepts. Automaton has 17 states. Word has length 61 [2020-07-11 01:05:13,850 INFO L84 Accepts]: Finished accepts. word is accepted. [2020-07-11 01:05:13,850 INFO L86 InductivityCheck]: Starting indutivity check of a Floyd-Hoare automaton with 17 states. [2020-07-11 01:05:13,910 INFO L119 InductivityCheck]: Floyd-Hoare automaton has 51 edges. 51 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2020-07-11 01:05:13,910 INFO L459 AbstractCegarLoop]: Interpolant automaton has 17 states [2020-07-11 01:05:13,911 INFO L143 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy FIXED_PREFERENCES [2020-07-11 01:05:13,911 INFO L142 InterpolantAutomaton]: Constructing interpolant automaton starting with 17 interpolants. [2020-07-11 01:05:13,911 INFO L144 InterpolantAutomaton]: CoverageRelationStatistics Valid=35, Invalid=237, Unknown=0, NotChecked=0, Total=272 [2020-07-11 01:05:13,912 INFO L87 Difference]: Start difference. First operand 68 states and 73 transitions. Second operand 17 states. [2020-07-11 01:05:18,807 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2020-07-11 01:05:18,807 INFO L93 Difference]: Finished difference Result 121 states and 138 transitions. [2020-07-11 01:05:18,807 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 23 states. [2020-07-11 01:05:18,807 INFO L78 Accepts]: Start accepts. Automaton has 17 states. Word has length 61 [2020-07-11 01:05:18,808 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2020-07-11 01:05:18,808 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 17 states. [2020-07-11 01:05:18,813 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 23 states to 23 states and 138 transitions. [2020-07-11 01:05:18,813 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 17 states. [2020-07-11 01:05:18,818 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 23 states to 23 states and 138 transitions. [2020-07-11 01:05:18,818 INFO L86 InductivityCheck]: Starting indutivity check of a Floyd-Hoare automaton with 23 states and 138 transitions. [2020-07-11 01:05:19,054 INFO L119 InductivityCheck]: Floyd-Hoare automaton has 138 edges. 138 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2020-07-11 01:05:19,059 INFO L225 Difference]: With dead ends: 121 [2020-07-11 01:05:19,059 INFO L226 Difference]: Without dead ends: 116 [2020-07-11 01:05:19,060 INFO L675 BasicCegarLoop]: 0 DeclaredPredicates, 44 GetRequests, 13 SyntacticMatches, 0 SemanticMatches, 31 ConstructedPredicates, 0 IntricatePredicates, 0 DeprecatedPredicates, 126 ImplicationChecksByTransitivity, 0.7s TimeCoverageRelationStatistics Valid=150, Invalid=906, Unknown=0, NotChecked=0, Total=1056 [2020-07-11 01:05:19,061 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 116 states. [2020-07-11 01:05:19,441 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 116 to 101. [2020-07-11 01:05:19,441 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2020-07-11 01:05:19,442 INFO L82 GeneralOperation]: Start isEquivalent. First operand 116 states. Second operand 101 states. [2020-07-11 01:05:19,442 INFO L74 IsIncluded]: Start isIncluded. First operand 116 states. Second operand 101 states. [2020-07-11 01:05:19,442 INFO L87 Difference]: Start difference. First operand 116 states. Second operand 101 states. [2020-07-11 01:05:19,450 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2020-07-11 01:05:19,451 INFO L93 Difference]: Finished difference Result 116 states and 129 transitions. [2020-07-11 01:05:19,451 INFO L276 IsEmpty]: Start isEmpty. Operand 116 states and 129 transitions. [2020-07-11 01:05:19,453 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2020-07-11 01:05:19,453 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2020-07-11 01:05:19,454 INFO L74 IsIncluded]: Start isIncluded. First operand 101 states. Second operand 116 states. [2020-07-11 01:05:19,454 INFO L87 Difference]: Start difference. First operand 101 states. Second operand 116 states. [2020-07-11 01:05:19,465 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2020-07-11 01:05:19,465 INFO L93 Difference]: Finished difference Result 116 states and 129 transitions. [2020-07-11 01:05:19,465 INFO L276 IsEmpty]: Start isEmpty. Operand 116 states and 129 transitions. [2020-07-11 01:05:19,466 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2020-07-11 01:05:19,466 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2020-07-11 01:05:19,466 INFO L88 GeneralOperation]: Finished isEquivalent. [2020-07-11 01:05:19,466 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2020-07-11 01:05:19,467 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 101 states. [2020-07-11 01:05:19,473 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 101 states to 101 states and 115 transitions. [2020-07-11 01:05:19,473 INFO L78 Accepts]: Start accepts. Automaton has 101 states and 115 transitions. Word has length 61 [2020-07-11 01:05:19,474 INFO L84 Accepts]: Finished accepts. word is rejected. [2020-07-11 01:05:19,474 INFO L479 AbstractCegarLoop]: Abstraction has 101 states and 115 transitions. [2020-07-11 01:05:19,475 INFO L480 AbstractCegarLoop]: Interpolant automaton has 17 states. [2020-07-11 01:05:19,475 INFO L86 InductivityCheck]: Starting indutivity check of a Floyd-Hoare automaton with 101 states and 115 transitions. [2020-07-11 01:05:19,666 INFO L119 InductivityCheck]: Floyd-Hoare automaton has 115 edges. 115 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2020-07-11 01:05:19,666 INFO L276 IsEmpty]: Start isEmpty. Operand 101 states and 115 transitions. [2020-07-11 01:05:19,669 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 62 [2020-07-11 01:05:19,669 INFO L414 BasicCegarLoop]: Found error trace [2020-07-11 01:05:19,669 INFO L422 BasicCegarLoop]: trace histogram [2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1] [2020-07-11 01:05:19,670 WARN L516 AbstractCegarLoop]: Destroyed unattended storables created during the last iteration: SelfDestructingSolverStorable2 [2020-07-11 01:05:19,670 INFO L427 AbstractCegarLoop]: === Iteration 4 === [__blast_assertErr0ASSERT_VIOLATIONERROR_FUNCTION]=== [2020-07-11 01:05:19,670 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2020-07-11 01:05:19,670 INFO L82 PathProgramCache]: Analyzing trace with hash 1994405374, now seen corresponding path program 1 times [2020-07-11 01:05:19,670 INFO L163 FreeRefinementEngine]: Executing refinement strategy FIXED_PREFERENCES [2020-07-11 01:05:19,671 INFO L354 FreeRefinementEngine]: Using trace check IpTcStrategyModulePreferences [1584547408] [2020-07-11 01:05:19,671 INFO L94 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2020-07-11 01:05:19,688 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2020-07-11 01:05:19,787 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2020-07-11 01:05:19,801 INFO L280 TraceCheckUtils]: 0: Hoare triple {2014#(and (= |#valid| |old(#valid)|) (= ~elem~0.base |old(~elem~0.base)|) (= |#NULL.base| |old(#NULL.base)|) (= |~#head~0.base| |old(~#head~0.base)|) (= ~guard_malloc_counter~0.offset |old(~guard_malloc_counter~0.offset)|) (= |#NULL.offset| |old(#NULL.offset)|) (= ~elem~0.offset |old(~elem~0.offset)|) (= |old(#length)| |#length|) (= |~#head~0.offset| |old(~#head~0.offset)|) (= ~guard_malloc_counter~0.base |old(~guard_malloc_counter~0.base)|))} #NULL.base, #NULL.offset := 0, 0; {1966#true} is VALID [2020-07-11 01:05:19,801 INFO L280 TraceCheckUtils]: 1: Hoare triple {1966#true} #valid := #valid[0 := 0]; {1966#true} is VALID [2020-07-11 01:05:19,802 INFO L280 TraceCheckUtils]: 2: Hoare triple {1966#true} assume 0 < #StackHeapBarrier; {1966#true} is VALID [2020-07-11 01:05:19,802 INFO L280 TraceCheckUtils]: 3: Hoare triple {1966#true} ~guard_malloc_counter~0.base, ~guard_malloc_counter~0.offset := 0, 0; {1966#true} is VALID [2020-07-11 01:05:19,802 INFO L280 TraceCheckUtils]: 4: Hoare triple {1966#true} ~elem~0.base, ~elem~0.offset := 0, 0; {1966#true} is VALID [2020-07-11 01:05:19,802 INFO L280 TraceCheckUtils]: 5: Hoare triple {1966#true} SUMMARY for call ~#head~0.base, ~#head~0.offset := #Ultimate.allocOnStack(8); srcloc: L900 {1966#true} is VALID [2020-07-11 01:05:19,802 INFO L280 TraceCheckUtils]: 6: Hoare triple {1966#true} SUMMARY for call write~init~$Pointer$(0, 0, ~#head~0.base, ~#head~0.offset, 4); srcloc: L900-1 {1966#true} is VALID [2020-07-11 01:05:19,803 INFO L280 TraceCheckUtils]: 7: Hoare triple {1966#true} SUMMARY for call write~init~$Pointer$(0, 0, ~#head~0.base, 4 + ~#head~0.offset, 4); srcloc: L900-2 {1966#true} is VALID [2020-07-11 01:05:19,803 INFO L280 TraceCheckUtils]: 8: Hoare triple {1966#true} assume true; {1966#true} is VALID [2020-07-11 01:05:19,804 INFO L275 TraceCheckUtils]: 9: Hoare quadruple {1966#true} {1966#true} #109#return; {1966#true} is VALID [2020-07-11 01:05:19,816 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2020-07-11 01:05:19,845 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2020-07-11 01:05:19,850 INFO L280 TraceCheckUtils]: 0: Hoare triple {2015#(and (= ~guard_malloc_counter~0.offset |old(~guard_malloc_counter~0.offset)|) (= ~guard_malloc_counter~0.base |old(~guard_malloc_counter~0.base)|))} ~size := #in~size; {1966#true} is VALID [2020-07-11 01:05:19,850 INFO L280 TraceCheckUtils]: 1: Hoare triple {1966#true} assume ~size > 0; {1966#true} is VALID [2020-07-11 01:05:19,850 INFO L280 TraceCheckUtils]: 2: Hoare triple {1966#true} #t~post28.base, #t~post28.offset := ~guard_malloc_counter~0.base, ~guard_malloc_counter~0.offset; {1966#true} is VALID [2020-07-11 01:05:19,850 INFO L280 TraceCheckUtils]: 3: Hoare triple {1966#true} ~guard_malloc_counter~0.base, ~guard_malloc_counter~0.offset := #t~post28.base, 1 + #t~post28.offset; {1966#true} is VALID [2020-07-11 01:05:19,851 INFO L280 TraceCheckUtils]: 4: Hoare triple {1966#true} havoc #t~post28.base, #t~post28.offset; {1966#true} is VALID [2020-07-11 01:05:19,851 INFO L280 TraceCheckUtils]: 5: Hoare triple {1966#true} assume -2147483648 <= #t~nondet29 && #t~nondet29 <= 2147483647; {1966#true} is VALID [2020-07-11 01:05:19,851 INFO L280 TraceCheckUtils]: 6: Hoare triple {1966#true} assume !(0 == #t~nondet29); {1966#true} is VALID [2020-07-11 01:05:19,851 INFO L280 TraceCheckUtils]: 7: Hoare triple {1966#true} havoc #t~nondet29; {1966#true} is VALID [2020-07-11 01:05:19,851 INFO L280 TraceCheckUtils]: 8: Hoare triple {1966#true} #res.base, #res.offset := ~guard_malloc_counter~0.base, ~guard_malloc_counter~0.offset; {1966#true} is VALID [2020-07-11 01:05:19,852 INFO L280 TraceCheckUtils]: 9: Hoare triple {1966#true} assume true; {1966#true} is VALID [2020-07-11 01:05:19,852 INFO L275 TraceCheckUtils]: 10: Hoare quadruple {1966#true} {1966#true} #91#return; {1966#true} is VALID [2020-07-11 01:05:19,852 INFO L280 TraceCheckUtils]: 0: Hoare triple {2015#(and (= ~guard_malloc_counter~0.offset |old(~guard_malloc_counter~0.offset)|) (= ~guard_malloc_counter~0.base |old(~guard_malloc_counter~0.base)|))} ~size := #in~size; {1966#true} is VALID [2020-07-11 01:05:19,853 INFO L263 TraceCheckUtils]: 1: Hoare triple {1966#true} call #t~ret30.base, #t~ret30.offset := __getMemory(~size); {2015#(and (= ~guard_malloc_counter~0.offset |old(~guard_malloc_counter~0.offset)|) (= ~guard_malloc_counter~0.base |old(~guard_malloc_counter~0.base)|))} is VALID [2020-07-11 01:05:19,854 INFO L280 TraceCheckUtils]: 2: Hoare triple {2015#(and (= ~guard_malloc_counter~0.offset |old(~guard_malloc_counter~0.offset)|) (= ~guard_malloc_counter~0.base |old(~guard_malloc_counter~0.base)|))} ~size := #in~size; {1966#true} is VALID [2020-07-11 01:05:19,854 INFO L280 TraceCheckUtils]: 3: Hoare triple {1966#true} assume ~size > 0; {1966#true} is VALID [2020-07-11 01:05:19,854 INFO L280 TraceCheckUtils]: 4: Hoare triple {1966#true} #t~post28.base, #t~post28.offset := ~guard_malloc_counter~0.base, ~guard_malloc_counter~0.offset; {1966#true} is VALID [2020-07-11 01:05:19,854 INFO L280 TraceCheckUtils]: 5: Hoare triple {1966#true} ~guard_malloc_counter~0.base, ~guard_malloc_counter~0.offset := #t~post28.base, 1 + #t~post28.offset; {1966#true} is VALID [2020-07-11 01:05:19,854 INFO L280 TraceCheckUtils]: 6: Hoare triple {1966#true} havoc #t~post28.base, #t~post28.offset; {1966#true} is VALID [2020-07-11 01:05:19,855 INFO L280 TraceCheckUtils]: 7: Hoare triple {1966#true} assume -2147483648 <= #t~nondet29 && #t~nondet29 <= 2147483647; {1966#true} is VALID [2020-07-11 01:05:19,855 INFO L280 TraceCheckUtils]: 8: Hoare triple {1966#true} assume !(0 == #t~nondet29); {1966#true} is VALID [2020-07-11 01:05:19,855 INFO L280 TraceCheckUtils]: 9: Hoare triple {1966#true} havoc #t~nondet29; {1966#true} is VALID [2020-07-11 01:05:19,855 INFO L280 TraceCheckUtils]: 10: Hoare triple {1966#true} #res.base, #res.offset := ~guard_malloc_counter~0.base, ~guard_malloc_counter~0.offset; {1966#true} is VALID [2020-07-11 01:05:19,856 INFO L280 TraceCheckUtils]: 11: Hoare triple {1966#true} assume true; {1966#true} is VALID [2020-07-11 01:05:19,856 INFO L275 TraceCheckUtils]: 12: Hoare quadruple {1966#true} {1966#true} #91#return; {1966#true} is VALID [2020-07-11 01:05:19,856 INFO L280 TraceCheckUtils]: 13: Hoare triple {1966#true} #res.base, #res.offset := #t~ret30.base, #t~ret30.offset; {1966#true} is VALID [2020-07-11 01:05:19,856 INFO L280 TraceCheckUtils]: 14: Hoare triple {1966#true} havoc #t~ret30.base, #t~ret30.offset; {1966#true} is VALID [2020-07-11 01:05:19,856 INFO L280 TraceCheckUtils]: 15: Hoare triple {1966#true} assume true; {1966#true} is VALID [2020-07-11 01:05:19,856 INFO L275 TraceCheckUtils]: 16: Hoare quadruple {1966#true} {1966#true} #93#return; {1966#true} is VALID [2020-07-11 01:05:19,861 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2020-07-11 01:05:19,917 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2020-07-11 01:05:19,953 INFO L280 TraceCheckUtils]: 0: Hoare triple {2015#(and (= ~guard_malloc_counter~0.offset |old(~guard_malloc_counter~0.offset)|) (= ~guard_malloc_counter~0.base |old(~guard_malloc_counter~0.base)|))} ~size := #in~size; {1966#true} is VALID [2020-07-11 01:05:19,953 INFO L280 TraceCheckUtils]: 1: Hoare triple {1966#true} assume ~size > 0; {1966#true} is VALID [2020-07-11 01:05:19,953 INFO L280 TraceCheckUtils]: 2: Hoare triple {1966#true} #t~post28.base, #t~post28.offset := ~guard_malloc_counter~0.base, ~guard_malloc_counter~0.offset; {1966#true} is VALID [2020-07-11 01:05:19,953 INFO L280 TraceCheckUtils]: 3: Hoare triple {1966#true} ~guard_malloc_counter~0.base, ~guard_malloc_counter~0.offset := #t~post28.base, 1 + #t~post28.offset; {1966#true} is VALID [2020-07-11 01:05:19,954 INFO L280 TraceCheckUtils]: 4: Hoare triple {1966#true} havoc #t~post28.base, #t~post28.offset; {1966#true} is VALID [2020-07-11 01:05:19,954 INFO L280 TraceCheckUtils]: 5: Hoare triple {1966#true} assume -2147483648 <= #t~nondet29 && #t~nondet29 <= 2147483647; {1966#true} is VALID [2020-07-11 01:05:19,954 INFO L280 TraceCheckUtils]: 6: Hoare triple {1966#true} assume 0 == #t~nondet29; {1966#true} is VALID [2020-07-11 01:05:19,954 INFO L280 TraceCheckUtils]: 7: Hoare triple {1966#true} havoc #t~nondet29; {1966#true} is VALID [2020-07-11 01:05:19,955 INFO L280 TraceCheckUtils]: 8: Hoare triple {1966#true} #res.base, #res.offset := 0, 0; {2040#(and (<= |__getMemory_#res.base| 0) (<= |__getMemory_#res.offset| 0) (<= 0 |__getMemory_#res.offset|) (<= 0 |__getMemory_#res.base|))} is VALID [2020-07-11 01:05:19,956 INFO L280 TraceCheckUtils]: 9: Hoare triple {2040#(and (<= |__getMemory_#res.base| 0) (<= |__getMemory_#res.offset| 0) (<= 0 |__getMemory_#res.offset|) (<= 0 |__getMemory_#res.base|))} assume true; {2040#(and (<= |__getMemory_#res.base| 0) (<= |__getMemory_#res.offset| 0) (<= 0 |__getMemory_#res.offset|) (<= 0 |__getMemory_#res.base|))} is VALID [2020-07-11 01:05:19,957 INFO L275 TraceCheckUtils]: 10: Hoare quadruple {2040#(and (<= |__getMemory_#res.base| 0) (<= |__getMemory_#res.offset| 0) (<= 0 |__getMemory_#res.offset|) (<= 0 |__getMemory_#res.base|))} {1966#true} #91#return; {2038#(and (<= |my_malloc_#t~ret30.offset| 0) (<= 0 |my_malloc_#t~ret30.offset|) (<= 0 |my_malloc_#t~ret30.base|) (<= |my_malloc_#t~ret30.base| 0))} is VALID [2020-07-11 01:05:19,958 INFO L280 TraceCheckUtils]: 0: Hoare triple {2015#(and (= ~guard_malloc_counter~0.offset |old(~guard_malloc_counter~0.offset)|) (= ~guard_malloc_counter~0.base |old(~guard_malloc_counter~0.base)|))} ~size := #in~size; {1966#true} is VALID [2020-07-11 01:05:19,958 INFO L263 TraceCheckUtils]: 1: Hoare triple {1966#true} call #t~ret30.base, #t~ret30.offset := __getMemory(~size); {2015#(and (= ~guard_malloc_counter~0.offset |old(~guard_malloc_counter~0.offset)|) (= ~guard_malloc_counter~0.base |old(~guard_malloc_counter~0.base)|))} is VALID [2020-07-11 01:05:19,959 INFO L280 TraceCheckUtils]: 2: Hoare triple {2015#(and (= ~guard_malloc_counter~0.offset |old(~guard_malloc_counter~0.offset)|) (= ~guard_malloc_counter~0.base |old(~guard_malloc_counter~0.base)|))} ~size := #in~size; {1966#true} is VALID [2020-07-11 01:05:19,959 INFO L280 TraceCheckUtils]: 3: Hoare triple {1966#true} assume ~size > 0; {1966#true} is VALID [2020-07-11 01:05:19,959 INFO L280 TraceCheckUtils]: 4: Hoare triple {1966#true} #t~post28.base, #t~post28.offset := ~guard_malloc_counter~0.base, ~guard_malloc_counter~0.offset; {1966#true} is VALID [2020-07-11 01:05:19,959 INFO L280 TraceCheckUtils]: 5: Hoare triple {1966#true} ~guard_malloc_counter~0.base, ~guard_malloc_counter~0.offset := #t~post28.base, 1 + #t~post28.offset; {1966#true} is VALID [2020-07-11 01:05:19,960 INFO L280 TraceCheckUtils]: 6: Hoare triple {1966#true} havoc #t~post28.base, #t~post28.offset; {1966#true} is VALID [2020-07-11 01:05:19,960 INFO L280 TraceCheckUtils]: 7: Hoare triple {1966#true} assume -2147483648 <= #t~nondet29 && #t~nondet29 <= 2147483647; {1966#true} is VALID [2020-07-11 01:05:19,960 INFO L280 TraceCheckUtils]: 8: Hoare triple {1966#true} assume 0 == #t~nondet29; {1966#true} is VALID [2020-07-11 01:05:19,960 INFO L280 TraceCheckUtils]: 9: Hoare triple {1966#true} havoc #t~nondet29; {1966#true} is VALID [2020-07-11 01:05:19,961 INFO L280 TraceCheckUtils]: 10: Hoare triple {1966#true} #res.base, #res.offset := 0, 0; {2040#(and (<= |__getMemory_#res.base| 0) (<= |__getMemory_#res.offset| 0) (<= 0 |__getMemory_#res.offset|) (<= 0 |__getMemory_#res.base|))} is VALID [2020-07-11 01:05:19,962 INFO L280 TraceCheckUtils]: 11: Hoare triple {2040#(and (<= |__getMemory_#res.base| 0) (<= |__getMemory_#res.offset| 0) (<= 0 |__getMemory_#res.offset|) (<= 0 |__getMemory_#res.base|))} assume true; {2040#(and (<= |__getMemory_#res.base| 0) (<= |__getMemory_#res.offset| 0) (<= 0 |__getMemory_#res.offset|) (<= 0 |__getMemory_#res.base|))} is VALID [2020-07-11 01:05:19,963 INFO L275 TraceCheckUtils]: 12: Hoare quadruple {2040#(and (<= |__getMemory_#res.base| 0) (<= |__getMemory_#res.offset| 0) (<= 0 |__getMemory_#res.offset|) (<= 0 |__getMemory_#res.base|))} {1966#true} #91#return; {2038#(and (<= |my_malloc_#t~ret30.offset| 0) (<= 0 |my_malloc_#t~ret30.offset|) (<= 0 |my_malloc_#t~ret30.base|) (<= |my_malloc_#t~ret30.base| 0))} is VALID [2020-07-11 01:05:19,964 INFO L280 TraceCheckUtils]: 13: Hoare triple {2038#(and (<= |my_malloc_#t~ret30.offset| 0) (<= 0 |my_malloc_#t~ret30.offset|) (<= 0 |my_malloc_#t~ret30.base|) (<= |my_malloc_#t~ret30.base| 0))} #res.base, #res.offset := #t~ret30.base, #t~ret30.offset; {2039#(and (<= |my_malloc_#res.base| 0) (<= |my_malloc_#res.offset| 0) (<= 0 |my_malloc_#res.base|) (<= 0 |my_malloc_#res.offset|))} is VALID [2020-07-11 01:05:19,964 INFO L280 TraceCheckUtils]: 14: Hoare triple {2039#(and (<= |my_malloc_#res.base| 0) (<= |my_malloc_#res.offset| 0) (<= 0 |my_malloc_#res.base|) (<= 0 |my_malloc_#res.offset|))} havoc #t~ret30.base, #t~ret30.offset; {2039#(and (<= |my_malloc_#res.base| 0) (<= |my_malloc_#res.offset| 0) (<= 0 |my_malloc_#res.base|) (<= 0 |my_malloc_#res.offset|))} is VALID [2020-07-11 01:05:19,965 INFO L280 TraceCheckUtils]: 15: Hoare triple {2039#(and (<= |my_malloc_#res.base| 0) (<= |my_malloc_#res.offset| 0) (<= 0 |my_malloc_#res.base|) (<= 0 |my_malloc_#res.offset|))} assume true; {2039#(and (<= |my_malloc_#res.base| 0) (<= |my_malloc_#res.offset| 0) (<= 0 |my_malloc_#res.base|) (<= 0 |my_malloc_#res.offset|))} is VALID [2020-07-11 01:05:19,966 INFO L275 TraceCheckUtils]: 16: Hoare quadruple {2039#(and (<= |my_malloc_#res.base| 0) (<= |my_malloc_#res.offset| 0) (<= 0 |my_malloc_#res.base|) (<= 0 |my_malloc_#res.offset|))} {1966#true} #95#return; {2012#(and (= 0 |main_#t~ret33.offset|) (= 0 |main_#t~ret33.base|))} is VALID [2020-07-11 01:05:19,968 INFO L263 TraceCheckUtils]: 0: Hoare triple {1966#true} call ULTIMATE.init(); {2014#(and (= |#valid| |old(#valid)|) (= ~elem~0.base |old(~elem~0.base)|) (= |#NULL.base| |old(#NULL.base)|) (= |~#head~0.base| |old(~#head~0.base)|) (= ~guard_malloc_counter~0.offset |old(~guard_malloc_counter~0.offset)|) (= |#NULL.offset| |old(#NULL.offset)|) (= ~elem~0.offset |old(~elem~0.offset)|) (= |old(#length)| |#length|) (= |~#head~0.offset| |old(~#head~0.offset)|) (= ~guard_malloc_counter~0.base |old(~guard_malloc_counter~0.base)|))} is VALID [2020-07-11 01:05:19,968 INFO L280 TraceCheckUtils]: 1: Hoare triple {2014#(and (= |#valid| |old(#valid)|) (= ~elem~0.base |old(~elem~0.base)|) (= |#NULL.base| |old(#NULL.base)|) (= |~#head~0.base| |old(~#head~0.base)|) (= ~guard_malloc_counter~0.offset |old(~guard_malloc_counter~0.offset)|) (= |#NULL.offset| |old(#NULL.offset)|) (= ~elem~0.offset |old(~elem~0.offset)|) (= |old(#length)| |#length|) (= |~#head~0.offset| |old(~#head~0.offset)|) (= ~guard_malloc_counter~0.base |old(~guard_malloc_counter~0.base)|))} #NULL.base, #NULL.offset := 0, 0; {1966#true} is VALID [2020-07-11 01:05:19,968 INFO L280 TraceCheckUtils]: 2: Hoare triple {1966#true} #valid := #valid[0 := 0]; {1966#true} is VALID [2020-07-11 01:05:19,969 INFO L280 TraceCheckUtils]: 3: Hoare triple {1966#true} assume 0 < #StackHeapBarrier; {1966#true} is VALID [2020-07-11 01:05:19,969 INFO L280 TraceCheckUtils]: 4: Hoare triple {1966#true} ~guard_malloc_counter~0.base, ~guard_malloc_counter~0.offset := 0, 0; {1966#true} is VALID [2020-07-11 01:05:19,969 INFO L280 TraceCheckUtils]: 5: Hoare triple {1966#true} ~elem~0.base, ~elem~0.offset := 0, 0; {1966#true} is VALID [2020-07-11 01:05:19,969 INFO L280 TraceCheckUtils]: 6: Hoare triple {1966#true} SUMMARY for call ~#head~0.base, ~#head~0.offset := #Ultimate.allocOnStack(8); srcloc: L900 {1966#true} is VALID [2020-07-11 01:05:19,969 INFO L280 TraceCheckUtils]: 7: Hoare triple {1966#true} SUMMARY for call write~init~$Pointer$(0, 0, ~#head~0.base, ~#head~0.offset, 4); srcloc: L900-1 {1966#true} is VALID [2020-07-11 01:05:19,970 INFO L280 TraceCheckUtils]: 8: Hoare triple {1966#true} SUMMARY for call write~init~$Pointer$(0, 0, ~#head~0.base, 4 + ~#head~0.offset, 4); srcloc: L900-2 {1966#true} is VALID [2020-07-11 01:05:19,970 INFO L280 TraceCheckUtils]: 9: Hoare triple {1966#true} assume true; {1966#true} is VALID [2020-07-11 01:05:19,970 INFO L275 TraceCheckUtils]: 10: Hoare quadruple {1966#true} {1966#true} #109#return; {1966#true} is VALID [2020-07-11 01:05:19,970 INFO L263 TraceCheckUtils]: 11: Hoare triple {1966#true} call #t~ret34 := main(); {1966#true} is VALID [2020-07-11 01:05:19,970 INFO L280 TraceCheckUtils]: 12: Hoare triple {1966#true} havoc ~dev1~0.base, ~dev1~0.offset; {1966#true} is VALID [2020-07-11 01:05:19,971 INFO L280 TraceCheckUtils]: 13: Hoare triple {1966#true} havoc ~dev2~0.base, ~dev2~0.offset; {1966#true} is VALID [2020-07-11 01:05:19,971 INFO L263 TraceCheckUtils]: 14: Hoare triple {1966#true} call #t~ret32.base, #t~ret32.offset := my_malloc(8); {2015#(and (= ~guard_malloc_counter~0.offset |old(~guard_malloc_counter~0.offset)|) (= ~guard_malloc_counter~0.base |old(~guard_malloc_counter~0.base)|))} is VALID [2020-07-11 01:05:19,972 INFO L280 TraceCheckUtils]: 15: Hoare triple {2015#(and (= ~guard_malloc_counter~0.offset |old(~guard_malloc_counter~0.offset)|) (= ~guard_malloc_counter~0.base |old(~guard_malloc_counter~0.base)|))} ~size := #in~size; {1966#true} is VALID [2020-07-11 01:05:19,972 INFO L263 TraceCheckUtils]: 16: Hoare triple {1966#true} call #t~ret30.base, #t~ret30.offset := __getMemory(~size); {2015#(and (= ~guard_malloc_counter~0.offset |old(~guard_malloc_counter~0.offset)|) (= ~guard_malloc_counter~0.base |old(~guard_malloc_counter~0.base)|))} is VALID [2020-07-11 01:05:19,973 INFO L280 TraceCheckUtils]: 17: Hoare triple {2015#(and (= ~guard_malloc_counter~0.offset |old(~guard_malloc_counter~0.offset)|) (= ~guard_malloc_counter~0.base |old(~guard_malloc_counter~0.base)|))} ~size := #in~size; {1966#true} is VALID [2020-07-11 01:05:19,973 INFO L280 TraceCheckUtils]: 18: Hoare triple {1966#true} assume ~size > 0; {1966#true} is VALID [2020-07-11 01:05:19,973 INFO L280 TraceCheckUtils]: 19: Hoare triple {1966#true} #t~post28.base, #t~post28.offset := ~guard_malloc_counter~0.base, ~guard_malloc_counter~0.offset; {1966#true} is VALID [2020-07-11 01:05:19,973 INFO L280 TraceCheckUtils]: 20: Hoare triple {1966#true} ~guard_malloc_counter~0.base, ~guard_malloc_counter~0.offset := #t~post28.base, 1 + #t~post28.offset; {1966#true} is VALID [2020-07-11 01:05:19,973 INFO L280 TraceCheckUtils]: 21: Hoare triple {1966#true} havoc #t~post28.base, #t~post28.offset; {1966#true} is VALID [2020-07-11 01:05:19,974 INFO L280 TraceCheckUtils]: 22: Hoare triple {1966#true} assume -2147483648 <= #t~nondet29 && #t~nondet29 <= 2147483647; {1966#true} is VALID [2020-07-11 01:05:19,974 INFO L280 TraceCheckUtils]: 23: Hoare triple {1966#true} assume !(0 == #t~nondet29); {1966#true} is VALID [2020-07-11 01:05:19,974 INFO L280 TraceCheckUtils]: 24: Hoare triple {1966#true} havoc #t~nondet29; {1966#true} is VALID [2020-07-11 01:05:19,974 INFO L280 TraceCheckUtils]: 25: Hoare triple {1966#true} #res.base, #res.offset := ~guard_malloc_counter~0.base, ~guard_malloc_counter~0.offset; {1966#true} is VALID [2020-07-11 01:05:19,974 INFO L280 TraceCheckUtils]: 26: Hoare triple {1966#true} assume true; {1966#true} is VALID [2020-07-11 01:05:19,975 INFO L275 TraceCheckUtils]: 27: Hoare quadruple {1966#true} {1966#true} #91#return; {1966#true} is VALID [2020-07-11 01:05:19,975 INFO L280 TraceCheckUtils]: 28: Hoare triple {1966#true} #res.base, #res.offset := #t~ret30.base, #t~ret30.offset; {1966#true} is VALID [2020-07-11 01:05:19,975 INFO L280 TraceCheckUtils]: 29: Hoare triple {1966#true} havoc #t~ret30.base, #t~ret30.offset; {1966#true} is VALID [2020-07-11 01:05:19,975 INFO L280 TraceCheckUtils]: 30: Hoare triple {1966#true} assume true; {1966#true} is VALID [2020-07-11 01:05:19,975 INFO L275 TraceCheckUtils]: 31: Hoare quadruple {1966#true} {1966#true} #93#return; {1966#true} is VALID [2020-07-11 01:05:19,976 INFO L280 TraceCheckUtils]: 32: Hoare triple {1966#true} ~dev1~0.base, ~dev1~0.offset := #t~ret32.base, #t~ret32.offset; {1966#true} is VALID [2020-07-11 01:05:19,976 INFO L280 TraceCheckUtils]: 33: Hoare triple {1966#true} havoc #t~ret32.base, #t~ret32.offset; {1966#true} is VALID [2020-07-11 01:05:19,977 INFO L263 TraceCheckUtils]: 34: Hoare triple {1966#true} call #t~ret33.base, #t~ret33.offset := my_malloc(8); {2015#(and (= ~guard_malloc_counter~0.offset |old(~guard_malloc_counter~0.offset)|) (= ~guard_malloc_counter~0.base |old(~guard_malloc_counter~0.base)|))} is VALID [2020-07-11 01:05:19,977 INFO L280 TraceCheckUtils]: 35: Hoare triple {2015#(and (= ~guard_malloc_counter~0.offset |old(~guard_malloc_counter~0.offset)|) (= ~guard_malloc_counter~0.base |old(~guard_malloc_counter~0.base)|))} ~size := #in~size; {1966#true} is VALID [2020-07-11 01:05:19,978 INFO L263 TraceCheckUtils]: 36: Hoare triple {1966#true} call #t~ret30.base, #t~ret30.offset := __getMemory(~size); {2015#(and (= ~guard_malloc_counter~0.offset |old(~guard_malloc_counter~0.offset)|) (= ~guard_malloc_counter~0.base |old(~guard_malloc_counter~0.base)|))} is VALID [2020-07-11 01:05:19,978 INFO L280 TraceCheckUtils]: 37: Hoare triple {2015#(and (= ~guard_malloc_counter~0.offset |old(~guard_malloc_counter~0.offset)|) (= ~guard_malloc_counter~0.base |old(~guard_malloc_counter~0.base)|))} ~size := #in~size; {1966#true} is VALID [2020-07-11 01:05:19,978 INFO L280 TraceCheckUtils]: 38: Hoare triple {1966#true} assume ~size > 0; {1966#true} is VALID [2020-07-11 01:05:19,978 INFO L280 TraceCheckUtils]: 39: Hoare triple {1966#true} #t~post28.base, #t~post28.offset := ~guard_malloc_counter~0.base, ~guard_malloc_counter~0.offset; {1966#true} is VALID [2020-07-11 01:05:19,979 INFO L280 TraceCheckUtils]: 40: Hoare triple {1966#true} ~guard_malloc_counter~0.base, ~guard_malloc_counter~0.offset := #t~post28.base, 1 + #t~post28.offset; {1966#true} is VALID [2020-07-11 01:05:19,979 INFO L280 TraceCheckUtils]: 41: Hoare triple {1966#true} havoc #t~post28.base, #t~post28.offset; {1966#true} is VALID [2020-07-11 01:05:19,979 INFO L280 TraceCheckUtils]: 42: Hoare triple {1966#true} assume -2147483648 <= #t~nondet29 && #t~nondet29 <= 2147483647; {1966#true} is VALID [2020-07-11 01:05:19,979 INFO L280 TraceCheckUtils]: 43: Hoare triple {1966#true} assume 0 == #t~nondet29; {1966#true} is VALID [2020-07-11 01:05:19,979 INFO L280 TraceCheckUtils]: 44: Hoare triple {1966#true} havoc #t~nondet29; {1966#true} is VALID [2020-07-11 01:05:19,980 INFO L280 TraceCheckUtils]: 45: Hoare triple {1966#true} #res.base, #res.offset := 0, 0; {2040#(and (<= |__getMemory_#res.base| 0) (<= |__getMemory_#res.offset| 0) (<= 0 |__getMemory_#res.offset|) (<= 0 |__getMemory_#res.base|))} is VALID [2020-07-11 01:05:19,981 INFO L280 TraceCheckUtils]: 46: Hoare triple {2040#(and (<= |__getMemory_#res.base| 0) (<= |__getMemory_#res.offset| 0) (<= 0 |__getMemory_#res.offset|) (<= 0 |__getMemory_#res.base|))} assume true; {2040#(and (<= |__getMemory_#res.base| 0) (<= |__getMemory_#res.offset| 0) (<= 0 |__getMemory_#res.offset|) (<= 0 |__getMemory_#res.base|))} is VALID [2020-07-11 01:05:19,982 INFO L275 TraceCheckUtils]: 47: Hoare quadruple {2040#(and (<= |__getMemory_#res.base| 0) (<= |__getMemory_#res.offset| 0) (<= 0 |__getMemory_#res.offset|) (<= 0 |__getMemory_#res.base|))} {1966#true} #91#return; {2038#(and (<= |my_malloc_#t~ret30.offset| 0) (<= 0 |my_malloc_#t~ret30.offset|) (<= 0 |my_malloc_#t~ret30.base|) (<= |my_malloc_#t~ret30.base| 0))} is VALID [2020-07-11 01:05:19,983 INFO L280 TraceCheckUtils]: 48: Hoare triple {2038#(and (<= |my_malloc_#t~ret30.offset| 0) (<= 0 |my_malloc_#t~ret30.offset|) (<= 0 |my_malloc_#t~ret30.base|) (<= |my_malloc_#t~ret30.base| 0))} #res.base, #res.offset := #t~ret30.base, #t~ret30.offset; {2039#(and (<= |my_malloc_#res.base| 0) (<= |my_malloc_#res.offset| 0) (<= 0 |my_malloc_#res.base|) (<= 0 |my_malloc_#res.offset|))} is VALID [2020-07-11 01:05:19,983 INFO L280 TraceCheckUtils]: 49: Hoare triple {2039#(and (<= |my_malloc_#res.base| 0) (<= |my_malloc_#res.offset| 0) (<= 0 |my_malloc_#res.base|) (<= 0 |my_malloc_#res.offset|))} havoc #t~ret30.base, #t~ret30.offset; {2039#(and (<= |my_malloc_#res.base| 0) (<= |my_malloc_#res.offset| 0) (<= 0 |my_malloc_#res.base|) (<= 0 |my_malloc_#res.offset|))} is VALID [2020-07-11 01:05:19,984 INFO L280 TraceCheckUtils]: 50: Hoare triple {2039#(and (<= |my_malloc_#res.base| 0) (<= |my_malloc_#res.offset| 0) (<= 0 |my_malloc_#res.base|) (<= 0 |my_malloc_#res.offset|))} assume true; {2039#(and (<= |my_malloc_#res.base| 0) (<= |my_malloc_#res.offset| 0) (<= 0 |my_malloc_#res.base|) (<= 0 |my_malloc_#res.offset|))} is VALID [2020-07-11 01:05:19,985 INFO L275 TraceCheckUtils]: 51: Hoare quadruple {2039#(and (<= |my_malloc_#res.base| 0) (<= |my_malloc_#res.offset| 0) (<= 0 |my_malloc_#res.base|) (<= 0 |my_malloc_#res.offset|))} {1966#true} #95#return; {2012#(and (= 0 |main_#t~ret33.offset|) (= 0 |main_#t~ret33.base|))} is VALID [2020-07-11 01:05:19,986 INFO L280 TraceCheckUtils]: 52: Hoare triple {2012#(and (= 0 |main_#t~ret33.offset|) (= 0 |main_#t~ret33.base|))} ~dev2~0.base, ~dev2~0.offset := #t~ret33.base, #t~ret33.offset; {2013#(and (= 0 main_~dev2~0.offset) (= main_~dev2~0.base 0))} is VALID [2020-07-11 01:05:19,986 INFO L280 TraceCheckUtils]: 53: Hoare triple {2013#(and (= 0 main_~dev2~0.offset) (= main_~dev2~0.base 0))} havoc #t~ret33.base, #t~ret33.offset; {2013#(and (= 0 main_~dev2~0.offset) (= main_~dev2~0.base 0))} is VALID [2020-07-11 01:05:19,987 INFO L280 TraceCheckUtils]: 54: Hoare triple {2013#(and (= 0 main_~dev2~0.offset) (= main_~dev2~0.base 0))} assume (~dev1~0.base != 0 || ~dev1~0.offset != 0) && (~dev2~0.base != 0 || ~dev2~0.offset != 0); {1967#false} is VALID [2020-07-11 01:05:19,987 INFO L263 TraceCheckUtils]: 55: Hoare triple {1967#false} call list_add(~dev2~0.base, ~dev2~0.offset, ~#head~0.base, ~#head~0.offset); {1967#false} is VALID [2020-07-11 01:05:19,988 INFO L280 TraceCheckUtils]: 56: Hoare triple {1967#false} ~new.base, ~new.offset := #in~new.base, #in~new.offset; {1967#false} is VALID [2020-07-11 01:05:19,988 INFO L280 TraceCheckUtils]: 57: Hoare triple {1967#false} ~head.base, ~head.offset := #in~head.base, #in~head.offset; {1967#false} is VALID [2020-07-11 01:05:19,988 INFO L280 TraceCheckUtils]: 58: Hoare triple {1967#false} assume !(~new.base != ~elem~0.base || ~new.offset != ~elem~0.offset); {1967#false} is VALID [2020-07-11 01:05:19,988 INFO L263 TraceCheckUtils]: 59: Hoare triple {1967#false} call __blast_assert(); {1967#false} is VALID [2020-07-11 01:05:19,988 INFO L280 TraceCheckUtils]: 60: Hoare triple {1967#false} assume !false; {1967#false} is VALID [2020-07-11 01:05:19,993 INFO L134 CoverageAnalysis]: Checked inductivity of 15 backedges. 6 proven. 0 refuted. 0 times theorem prover too weak. 9 trivial. 0 not checked. [2020-07-11 01:05:19,993 INFO L354 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModulePreferences [1584547408] [2020-07-11 01:05:19,993 INFO L220 FreeRefinementEngine]: Constructing automaton from 1 perfect and 0 imperfect interpolant sequences. [2020-07-11 01:05:19,994 INFO L233 FreeRefinementEngine]: Number of different interpolants: perfect sequences [9] imperfect sequences [] total 9 [2020-07-11 01:05:19,994 INFO L156 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [453464227] [2020-07-11 01:05:19,994 INFO L78 Accepts]: Start accepts. Automaton has 9 states. Word has length 61 [2020-07-11 01:05:19,995 INFO L84 Accepts]: Finished accepts. word is accepted. [2020-07-11 01:05:19,995 INFO L86 InductivityCheck]: Starting indutivity check of a Floyd-Hoare automaton with 9 states. [2020-07-11 01:05:20,046 INFO L119 InductivityCheck]: Floyd-Hoare automaton has 53 edges. 53 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2020-07-11 01:05:20,046 INFO L459 AbstractCegarLoop]: Interpolant automaton has 9 states [2020-07-11 01:05:20,046 INFO L143 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy FIXED_PREFERENCES [2020-07-11 01:05:20,047 INFO L142 InterpolantAutomaton]: Constructing interpolant automaton starting with 9 interpolants. [2020-07-11 01:05:20,047 INFO L144 InterpolantAutomaton]: CoverageRelationStatistics Valid=16, Invalid=56, Unknown=0, NotChecked=0, Total=72 [2020-07-11 01:05:20,047 INFO L87 Difference]: Start difference. First operand 101 states and 115 transitions. Second operand 9 states. [2020-07-11 01:05:21,281 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2020-07-11 01:05:21,281 INFO L93 Difference]: Finished difference Result 134 states and 151 transitions. [2020-07-11 01:05:21,282 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 11 states. [2020-07-11 01:05:21,282 INFO L78 Accepts]: Start accepts. Automaton has 9 states. Word has length 61 [2020-07-11 01:05:21,283 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2020-07-11 01:05:21,283 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 9 states. [2020-07-11 01:05:21,286 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 11 states to 11 states and 106 transitions. [2020-07-11 01:05:21,287 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 9 states. [2020-07-11 01:05:21,289 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 11 states to 11 states and 106 transitions. [2020-07-11 01:05:21,290 INFO L86 InductivityCheck]: Starting indutivity check of a Floyd-Hoare automaton with 11 states and 106 transitions. [2020-07-11 01:05:21,420 INFO L119 InductivityCheck]: Floyd-Hoare automaton has 106 edges. 106 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2020-07-11 01:05:21,423 INFO L225 Difference]: With dead ends: 134 [2020-07-11 01:05:21,423 INFO L226 Difference]: Without dead ends: 80 [2020-07-11 01:05:21,425 INFO L675 BasicCegarLoop]: 0 DeclaredPredicates, 19 GetRequests, 10 SyntacticMatches, 0 SemanticMatches, 9 ConstructedPredicates, 0 IntricatePredicates, 0 DeprecatedPredicates, 4 ImplicationChecksByTransitivity, 0.1s TimeCoverageRelationStatistics Valid=24, Invalid=86, Unknown=0, NotChecked=0, Total=110 [2020-07-11 01:05:21,425 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 80 states. [2020-07-11 01:05:21,726 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 80 to 76. [2020-07-11 01:05:21,726 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2020-07-11 01:05:21,727 INFO L82 GeneralOperation]: Start isEquivalent. First operand 80 states. Second operand 76 states. [2020-07-11 01:05:21,727 INFO L74 IsIncluded]: Start isIncluded. First operand 80 states. Second operand 76 states. [2020-07-11 01:05:21,727 INFO L87 Difference]: Start difference. First operand 80 states. Second operand 76 states. [2020-07-11 01:05:21,732 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2020-07-11 01:05:21,733 INFO L93 Difference]: Finished difference Result 80 states and 88 transitions. [2020-07-11 01:05:21,733 INFO L276 IsEmpty]: Start isEmpty. Operand 80 states and 88 transitions. [2020-07-11 01:05:21,733 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2020-07-11 01:05:21,733 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2020-07-11 01:05:21,734 INFO L74 IsIncluded]: Start isIncluded. First operand 76 states. Second operand 80 states. [2020-07-11 01:05:21,734 INFO L87 Difference]: Start difference. First operand 76 states. Second operand 80 states. [2020-07-11 01:05:21,738 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2020-07-11 01:05:21,738 INFO L93 Difference]: Finished difference Result 80 states and 88 transitions. [2020-07-11 01:05:21,738 INFO L276 IsEmpty]: Start isEmpty. Operand 80 states and 88 transitions. [2020-07-11 01:05:21,739 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2020-07-11 01:05:21,739 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2020-07-11 01:05:21,739 INFO L88 GeneralOperation]: Finished isEquivalent. [2020-07-11 01:05:21,739 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2020-07-11 01:05:21,740 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 76 states. [2020-07-11 01:05:21,743 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 76 states to 76 states and 83 transitions. [2020-07-11 01:05:21,744 INFO L78 Accepts]: Start accepts. Automaton has 76 states and 83 transitions. Word has length 61 [2020-07-11 01:05:21,744 INFO L84 Accepts]: Finished accepts. word is rejected. [2020-07-11 01:05:21,744 INFO L479 AbstractCegarLoop]: Abstraction has 76 states and 83 transitions. [2020-07-11 01:05:21,744 INFO L480 AbstractCegarLoop]: Interpolant automaton has 9 states. [2020-07-11 01:05:21,744 INFO L86 InductivityCheck]: Starting indutivity check of a Floyd-Hoare automaton with 76 states and 83 transitions. [2020-07-11 01:05:21,890 INFO L119 InductivityCheck]: Floyd-Hoare automaton has 83 edges. 83 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2020-07-11 01:05:21,890 INFO L276 IsEmpty]: Start isEmpty. Operand 76 states and 83 transitions. [2020-07-11 01:05:21,892 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 71 [2020-07-11 01:05:21,892 INFO L414 BasicCegarLoop]: Found error trace [2020-07-11 01:05:21,892 INFO L422 BasicCegarLoop]: trace histogram [2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1] [2020-07-11 01:05:21,894 WARN L516 AbstractCegarLoop]: Destroyed unattended storables created during the last iteration: SelfDestructingSolverStorable3 [2020-07-11 01:05:21,894 INFO L427 AbstractCegarLoop]: === Iteration 5 === [__blast_assertErr0ASSERT_VIOLATIONERROR_FUNCTION]=== [2020-07-11 01:05:21,895 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2020-07-11 01:05:21,895 INFO L82 PathProgramCache]: Analyzing trace with hash 2098824736, now seen corresponding path program 1 times [2020-07-11 01:05:21,895 INFO L163 FreeRefinementEngine]: Executing refinement strategy FIXED_PREFERENCES [2020-07-11 01:05:21,895 INFO L354 FreeRefinementEngine]: Using trace check IpTcStrategyModulePreferences [1673543187] [2020-07-11 01:05:21,895 INFO L94 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2020-07-11 01:05:21,915 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2020-07-11 01:05:22,077 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2020-07-11 01:05:22,098 INFO L280 TraceCheckUtils]: 0: Hoare triple {2686#(and (= |#valid| |old(#valid)|) (= ~elem~0.base |old(~elem~0.base)|) (= |#NULL.base| |old(#NULL.base)|) (= |~#head~0.base| |old(~#head~0.base)|) (= ~guard_malloc_counter~0.offset |old(~guard_malloc_counter~0.offset)|) (= |#NULL.offset| |old(#NULL.offset)|) (= ~elem~0.offset |old(~elem~0.offset)|) (= |old(#length)| |#length|) (= |~#head~0.offset| |old(~#head~0.offset)|) (= ~guard_malloc_counter~0.base |old(~guard_malloc_counter~0.base)|))} #NULL.base, #NULL.offset := 0, 0; {2627#true} is VALID [2020-07-11 01:05:22,098 INFO L280 TraceCheckUtils]: 1: Hoare triple {2627#true} #valid := #valid[0 := 0]; {2627#true} is VALID [2020-07-11 01:05:22,099 INFO L280 TraceCheckUtils]: 2: Hoare triple {2627#true} assume 0 < #StackHeapBarrier; {2627#true} is VALID [2020-07-11 01:05:22,099 INFO L280 TraceCheckUtils]: 3: Hoare triple {2627#true} ~guard_malloc_counter~0.base, ~guard_malloc_counter~0.offset := 0, 0; {2687#(= 0 ~guard_malloc_counter~0.offset)} is VALID [2020-07-11 01:05:22,100 INFO L280 TraceCheckUtils]: 4: Hoare triple {2687#(= 0 ~guard_malloc_counter~0.offset)} ~elem~0.base, ~elem~0.offset := 0, 0; {2639#(and (= 0 ~elem~0.offset) (= 0 ~guard_malloc_counter~0.offset))} is VALID [2020-07-11 01:05:22,101 INFO L280 TraceCheckUtils]: 5: Hoare triple {2639#(and (= 0 ~elem~0.offset) (= 0 ~guard_malloc_counter~0.offset))} SUMMARY for call ~#head~0.base, ~#head~0.offset := #Ultimate.allocOnStack(8); srcloc: L900 {2639#(and (= 0 ~elem~0.offset) (= 0 ~guard_malloc_counter~0.offset))} is VALID [2020-07-11 01:05:22,102 INFO L280 TraceCheckUtils]: 6: Hoare triple {2639#(and (= 0 ~elem~0.offset) (= 0 ~guard_malloc_counter~0.offset))} SUMMARY for call write~init~$Pointer$(0, 0, ~#head~0.base, ~#head~0.offset, 4); srcloc: L900-1 {2639#(and (= 0 ~elem~0.offset) (= 0 ~guard_malloc_counter~0.offset))} is VALID [2020-07-11 01:05:22,103 INFO L280 TraceCheckUtils]: 7: Hoare triple {2639#(and (= 0 ~elem~0.offset) (= 0 ~guard_malloc_counter~0.offset))} SUMMARY for call write~init~$Pointer$(0, 0, ~#head~0.base, 4 + ~#head~0.offset, 4); srcloc: L900-2 {2639#(and (= 0 ~elem~0.offset) (= 0 ~guard_malloc_counter~0.offset))} is VALID [2020-07-11 01:05:22,104 INFO L280 TraceCheckUtils]: 8: Hoare triple {2639#(and (= 0 ~elem~0.offset) (= 0 ~guard_malloc_counter~0.offset))} assume true; {2639#(and (= 0 ~elem~0.offset) (= 0 ~guard_malloc_counter~0.offset))} is VALID [2020-07-11 01:05:22,105 INFO L275 TraceCheckUtils]: 9: Hoare quadruple {2639#(and (= 0 ~elem~0.offset) (= 0 ~guard_malloc_counter~0.offset))} {2627#true} #109#return; {2639#(and (= 0 ~elem~0.offset) (= 0 ~guard_malloc_counter~0.offset))} is VALID [2020-07-11 01:05:22,139 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2020-07-11 01:05:22,205 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2020-07-11 01:05:22,283 INFO L280 TraceCheckUtils]: 0: Hoare triple {2688#(and (= ~guard_malloc_counter~0.offset |old(~guard_malloc_counter~0.offset)|) (= ~guard_malloc_counter~0.base |old(~guard_malloc_counter~0.base)|))} ~size := #in~size; {2689#(= ~guard_malloc_counter~0.offset |old(~guard_malloc_counter~0.offset)|)} is VALID [2020-07-11 01:05:22,283 INFO L280 TraceCheckUtils]: 1: Hoare triple {2689#(= ~guard_malloc_counter~0.offset |old(~guard_malloc_counter~0.offset)|)} assume ~size > 0; {2689#(= ~guard_malloc_counter~0.offset |old(~guard_malloc_counter~0.offset)|)} is VALID [2020-07-11 01:05:22,284 INFO L280 TraceCheckUtils]: 2: Hoare triple {2689#(= ~guard_malloc_counter~0.offset |old(~guard_malloc_counter~0.offset)|)} #t~post28.base, #t~post28.offset := ~guard_malloc_counter~0.base, ~guard_malloc_counter~0.offset; {2703#(= |old(~guard_malloc_counter~0.offset)| |__getMemory_#t~post28.offset|)} is VALID [2020-07-11 01:05:22,285 INFO L280 TraceCheckUtils]: 3: Hoare triple {2703#(= |old(~guard_malloc_counter~0.offset)| |__getMemory_#t~post28.offset|)} ~guard_malloc_counter~0.base, ~guard_malloc_counter~0.offset := #t~post28.base, 1 + #t~post28.offset; {2704#(<= (+ |old(~guard_malloc_counter~0.offset)| 1) ~guard_malloc_counter~0.offset)} is VALID [2020-07-11 01:05:22,286 INFO L280 TraceCheckUtils]: 4: Hoare triple {2704#(<= (+ |old(~guard_malloc_counter~0.offset)| 1) ~guard_malloc_counter~0.offset)} havoc #t~post28.base, #t~post28.offset; {2704#(<= (+ |old(~guard_malloc_counter~0.offset)| 1) ~guard_malloc_counter~0.offset)} is VALID [2020-07-11 01:05:22,286 INFO L280 TraceCheckUtils]: 5: Hoare triple {2704#(<= (+ |old(~guard_malloc_counter~0.offset)| 1) ~guard_malloc_counter~0.offset)} assume -2147483648 <= #t~nondet29 && #t~nondet29 <= 2147483647; {2704#(<= (+ |old(~guard_malloc_counter~0.offset)| 1) ~guard_malloc_counter~0.offset)} is VALID [2020-07-11 01:05:22,287 INFO L280 TraceCheckUtils]: 6: Hoare triple {2704#(<= (+ |old(~guard_malloc_counter~0.offset)| 1) ~guard_malloc_counter~0.offset)} assume !(0 == #t~nondet29); {2704#(<= (+ |old(~guard_malloc_counter~0.offset)| 1) ~guard_malloc_counter~0.offset)} is VALID [2020-07-11 01:05:22,287 INFO L280 TraceCheckUtils]: 7: Hoare triple {2704#(<= (+ |old(~guard_malloc_counter~0.offset)| 1) ~guard_malloc_counter~0.offset)} havoc #t~nondet29; {2704#(<= (+ |old(~guard_malloc_counter~0.offset)| 1) ~guard_malloc_counter~0.offset)} is VALID [2020-07-11 01:05:22,288 INFO L280 TraceCheckUtils]: 8: Hoare triple {2704#(<= (+ |old(~guard_malloc_counter~0.offset)| 1) ~guard_malloc_counter~0.offset)} #res.base, #res.offset := ~guard_malloc_counter~0.base, ~guard_malloc_counter~0.offset; {2705#(<= (+ |old(~guard_malloc_counter~0.offset)| 1) |__getMemory_#res.offset|)} is VALID [2020-07-11 01:05:22,289 INFO L280 TraceCheckUtils]: 9: Hoare triple {2705#(<= (+ |old(~guard_malloc_counter~0.offset)| 1) |__getMemory_#res.offset|)} assume true; {2705#(<= (+ |old(~guard_malloc_counter~0.offset)| 1) |__getMemory_#res.offset|)} is VALID [2020-07-11 01:05:22,290 INFO L275 TraceCheckUtils]: 10: Hoare quadruple {2705#(<= (+ |old(~guard_malloc_counter~0.offset)| 1) |__getMemory_#res.offset|)} {2689#(= ~guard_malloc_counter~0.offset |old(~guard_malloc_counter~0.offset)|)} #91#return; {2701#(<= (+ |old(~guard_malloc_counter~0.offset)| 1) |my_malloc_#t~ret30.offset|)} is VALID [2020-07-11 01:05:22,292 INFO L280 TraceCheckUtils]: 0: Hoare triple {2688#(and (= ~guard_malloc_counter~0.offset |old(~guard_malloc_counter~0.offset)|) (= ~guard_malloc_counter~0.base |old(~guard_malloc_counter~0.base)|))} ~size := #in~size; {2689#(= ~guard_malloc_counter~0.offset |old(~guard_malloc_counter~0.offset)|)} is VALID [2020-07-11 01:05:22,293 INFO L263 TraceCheckUtils]: 1: Hoare triple {2689#(= ~guard_malloc_counter~0.offset |old(~guard_malloc_counter~0.offset)|)} call #t~ret30.base, #t~ret30.offset := __getMemory(~size); {2688#(and (= ~guard_malloc_counter~0.offset |old(~guard_malloc_counter~0.offset)|) (= ~guard_malloc_counter~0.base |old(~guard_malloc_counter~0.base)|))} is VALID [2020-07-11 01:05:22,293 INFO L280 TraceCheckUtils]: 2: Hoare triple {2688#(and (= ~guard_malloc_counter~0.offset |old(~guard_malloc_counter~0.offset)|) (= ~guard_malloc_counter~0.base |old(~guard_malloc_counter~0.base)|))} ~size := #in~size; {2689#(= ~guard_malloc_counter~0.offset |old(~guard_malloc_counter~0.offset)|)} is VALID [2020-07-11 01:05:22,294 INFO L280 TraceCheckUtils]: 3: Hoare triple {2689#(= ~guard_malloc_counter~0.offset |old(~guard_malloc_counter~0.offset)|)} assume ~size > 0; {2689#(= ~guard_malloc_counter~0.offset |old(~guard_malloc_counter~0.offset)|)} is VALID [2020-07-11 01:05:22,295 INFO L280 TraceCheckUtils]: 4: Hoare triple {2689#(= ~guard_malloc_counter~0.offset |old(~guard_malloc_counter~0.offset)|)} #t~post28.base, #t~post28.offset := ~guard_malloc_counter~0.base, ~guard_malloc_counter~0.offset; {2703#(= |old(~guard_malloc_counter~0.offset)| |__getMemory_#t~post28.offset|)} is VALID [2020-07-11 01:05:22,295 INFO L280 TraceCheckUtils]: 5: Hoare triple {2703#(= |old(~guard_malloc_counter~0.offset)| |__getMemory_#t~post28.offset|)} ~guard_malloc_counter~0.base, ~guard_malloc_counter~0.offset := #t~post28.base, 1 + #t~post28.offset; {2704#(<= (+ |old(~guard_malloc_counter~0.offset)| 1) ~guard_malloc_counter~0.offset)} is VALID [2020-07-11 01:05:22,296 INFO L280 TraceCheckUtils]: 6: Hoare triple {2704#(<= (+ |old(~guard_malloc_counter~0.offset)| 1) ~guard_malloc_counter~0.offset)} havoc #t~post28.base, #t~post28.offset; {2704#(<= (+ |old(~guard_malloc_counter~0.offset)| 1) ~guard_malloc_counter~0.offset)} is VALID [2020-07-11 01:05:22,297 INFO L280 TraceCheckUtils]: 7: Hoare triple {2704#(<= (+ |old(~guard_malloc_counter~0.offset)| 1) ~guard_malloc_counter~0.offset)} assume -2147483648 <= #t~nondet29 && #t~nondet29 <= 2147483647; {2704#(<= (+ |old(~guard_malloc_counter~0.offset)| 1) ~guard_malloc_counter~0.offset)} is VALID [2020-07-11 01:05:22,298 INFO L280 TraceCheckUtils]: 8: Hoare triple {2704#(<= (+ |old(~guard_malloc_counter~0.offset)| 1) ~guard_malloc_counter~0.offset)} assume !(0 == #t~nondet29); {2704#(<= (+ |old(~guard_malloc_counter~0.offset)| 1) ~guard_malloc_counter~0.offset)} is VALID [2020-07-11 01:05:22,299 INFO L280 TraceCheckUtils]: 9: Hoare triple {2704#(<= (+ |old(~guard_malloc_counter~0.offset)| 1) ~guard_malloc_counter~0.offset)} havoc #t~nondet29; {2704#(<= (+ |old(~guard_malloc_counter~0.offset)| 1) ~guard_malloc_counter~0.offset)} is VALID [2020-07-11 01:05:22,300 INFO L280 TraceCheckUtils]: 10: Hoare triple {2704#(<= (+ |old(~guard_malloc_counter~0.offset)| 1) ~guard_malloc_counter~0.offset)} #res.base, #res.offset := ~guard_malloc_counter~0.base, ~guard_malloc_counter~0.offset; {2705#(<= (+ |old(~guard_malloc_counter~0.offset)| 1) |__getMemory_#res.offset|)} is VALID [2020-07-11 01:05:22,300 INFO L280 TraceCheckUtils]: 11: Hoare triple {2705#(<= (+ |old(~guard_malloc_counter~0.offset)| 1) |__getMemory_#res.offset|)} assume true; {2705#(<= (+ |old(~guard_malloc_counter~0.offset)| 1) |__getMemory_#res.offset|)} is VALID [2020-07-11 01:05:22,302 INFO L275 TraceCheckUtils]: 12: Hoare quadruple {2705#(<= (+ |old(~guard_malloc_counter~0.offset)| 1) |__getMemory_#res.offset|)} {2689#(= ~guard_malloc_counter~0.offset |old(~guard_malloc_counter~0.offset)|)} #91#return; {2701#(<= (+ |old(~guard_malloc_counter~0.offset)| 1) |my_malloc_#t~ret30.offset|)} is VALID [2020-07-11 01:05:22,303 INFO L280 TraceCheckUtils]: 13: Hoare triple {2701#(<= (+ |old(~guard_malloc_counter~0.offset)| 1) |my_malloc_#t~ret30.offset|)} #res.base, #res.offset := #t~ret30.base, #t~ret30.offset; {2702#(<= (+ |old(~guard_malloc_counter~0.offset)| 1) |my_malloc_#res.offset|)} is VALID [2020-07-11 01:05:22,304 INFO L280 TraceCheckUtils]: 14: Hoare triple {2702#(<= (+ |old(~guard_malloc_counter~0.offset)| 1) |my_malloc_#res.offset|)} havoc #t~ret30.base, #t~ret30.offset; {2702#(<= (+ |old(~guard_malloc_counter~0.offset)| 1) |my_malloc_#res.offset|)} is VALID [2020-07-11 01:05:22,305 INFO L280 TraceCheckUtils]: 15: Hoare triple {2702#(<= (+ |old(~guard_malloc_counter~0.offset)| 1) |my_malloc_#res.offset|)} assume true; {2702#(<= (+ |old(~guard_malloc_counter~0.offset)| 1) |my_malloc_#res.offset|)} is VALID [2020-07-11 01:05:22,306 INFO L275 TraceCheckUtils]: 16: Hoare quadruple {2702#(<= (+ |old(~guard_malloc_counter~0.offset)| 1) |my_malloc_#res.offset|)} {2639#(and (= 0 ~elem~0.offset) (= 0 ~guard_malloc_counter~0.offset))} #93#return; {2657#(and (= 0 ~elem~0.offset) (<= 1 |main_#t~ret32.offset|))} is VALID [2020-07-11 01:05:22,311 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2020-07-11 01:05:22,317 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2020-07-11 01:05:22,321 INFO L280 TraceCheckUtils]: 0: Hoare triple {2688#(and (= ~guard_malloc_counter~0.offset |old(~guard_malloc_counter~0.offset)|) (= ~guard_malloc_counter~0.base |old(~guard_malloc_counter~0.base)|))} ~size := #in~size; {2627#true} is VALID [2020-07-11 01:05:22,321 INFO L280 TraceCheckUtils]: 1: Hoare triple {2627#true} assume ~size > 0; {2627#true} is VALID [2020-07-11 01:05:22,321 INFO L280 TraceCheckUtils]: 2: Hoare triple {2627#true} #t~post28.base, #t~post28.offset := ~guard_malloc_counter~0.base, ~guard_malloc_counter~0.offset; {2627#true} is VALID [2020-07-11 01:05:22,322 INFO L280 TraceCheckUtils]: 3: Hoare triple {2627#true} ~guard_malloc_counter~0.base, ~guard_malloc_counter~0.offset := #t~post28.base, 1 + #t~post28.offset; {2627#true} is VALID [2020-07-11 01:05:22,322 INFO L280 TraceCheckUtils]: 4: Hoare triple {2627#true} havoc #t~post28.base, #t~post28.offset; {2627#true} is VALID [2020-07-11 01:05:22,322 INFO L280 TraceCheckUtils]: 5: Hoare triple {2627#true} assume -2147483648 <= #t~nondet29 && #t~nondet29 <= 2147483647; {2627#true} is VALID [2020-07-11 01:05:22,322 INFO L280 TraceCheckUtils]: 6: Hoare triple {2627#true} assume !(0 == #t~nondet29); {2627#true} is VALID [2020-07-11 01:05:22,322 INFO L280 TraceCheckUtils]: 7: Hoare triple {2627#true} havoc #t~nondet29; {2627#true} is VALID [2020-07-11 01:05:22,323 INFO L280 TraceCheckUtils]: 8: Hoare triple {2627#true} #res.base, #res.offset := ~guard_malloc_counter~0.base, ~guard_malloc_counter~0.offset; {2627#true} is VALID [2020-07-11 01:05:22,323 INFO L280 TraceCheckUtils]: 9: Hoare triple {2627#true} assume true; {2627#true} is VALID [2020-07-11 01:05:22,323 INFO L275 TraceCheckUtils]: 10: Hoare quadruple {2627#true} {2627#true} #91#return; {2627#true} is VALID [2020-07-11 01:05:22,323 INFO L280 TraceCheckUtils]: 0: Hoare triple {2688#(and (= ~guard_malloc_counter~0.offset |old(~guard_malloc_counter~0.offset)|) (= ~guard_malloc_counter~0.base |old(~guard_malloc_counter~0.base)|))} ~size := #in~size; {2627#true} is VALID [2020-07-11 01:05:22,324 INFO L263 TraceCheckUtils]: 1: Hoare triple {2627#true} call #t~ret30.base, #t~ret30.offset := __getMemory(~size); {2688#(and (= ~guard_malloc_counter~0.offset |old(~guard_malloc_counter~0.offset)|) (= ~guard_malloc_counter~0.base |old(~guard_malloc_counter~0.base)|))} is VALID [2020-07-11 01:05:22,325 INFO L280 TraceCheckUtils]: 2: Hoare triple {2688#(and (= ~guard_malloc_counter~0.offset |old(~guard_malloc_counter~0.offset)|) (= ~guard_malloc_counter~0.base |old(~guard_malloc_counter~0.base)|))} ~size := #in~size; {2627#true} is VALID [2020-07-11 01:05:22,325 INFO L280 TraceCheckUtils]: 3: Hoare triple {2627#true} assume ~size > 0; {2627#true} is VALID [2020-07-11 01:05:22,325 INFO L280 TraceCheckUtils]: 4: Hoare triple {2627#true} #t~post28.base, #t~post28.offset := ~guard_malloc_counter~0.base, ~guard_malloc_counter~0.offset; {2627#true} is VALID [2020-07-11 01:05:22,325 INFO L280 TraceCheckUtils]: 5: Hoare triple {2627#true} ~guard_malloc_counter~0.base, ~guard_malloc_counter~0.offset := #t~post28.base, 1 + #t~post28.offset; {2627#true} is VALID [2020-07-11 01:05:22,325 INFO L280 TraceCheckUtils]: 6: Hoare triple {2627#true} havoc #t~post28.base, #t~post28.offset; {2627#true} is VALID [2020-07-11 01:05:22,326 INFO L280 TraceCheckUtils]: 7: Hoare triple {2627#true} assume -2147483648 <= #t~nondet29 && #t~nondet29 <= 2147483647; {2627#true} is VALID [2020-07-11 01:05:22,326 INFO L280 TraceCheckUtils]: 8: Hoare triple {2627#true} assume !(0 == #t~nondet29); {2627#true} is VALID [2020-07-11 01:05:22,326 INFO L280 TraceCheckUtils]: 9: Hoare triple {2627#true} havoc #t~nondet29; {2627#true} is VALID [2020-07-11 01:05:22,327 INFO L280 TraceCheckUtils]: 10: Hoare triple {2627#true} #res.base, #res.offset := ~guard_malloc_counter~0.base, ~guard_malloc_counter~0.offset; {2627#true} is VALID [2020-07-11 01:05:22,327 INFO L280 TraceCheckUtils]: 11: Hoare triple {2627#true} assume true; {2627#true} is VALID [2020-07-11 01:05:22,327 INFO L275 TraceCheckUtils]: 12: Hoare quadruple {2627#true} {2627#true} #91#return; {2627#true} is VALID [2020-07-11 01:05:22,328 INFO L280 TraceCheckUtils]: 13: Hoare triple {2627#true} #res.base, #res.offset := #t~ret30.base, #t~ret30.offset; {2627#true} is VALID [2020-07-11 01:05:22,328 INFO L280 TraceCheckUtils]: 14: Hoare triple {2627#true} havoc #t~ret30.base, #t~ret30.offset; {2627#true} is VALID [2020-07-11 01:05:22,328 INFO L280 TraceCheckUtils]: 15: Hoare triple {2627#true} assume true; {2627#true} is VALID [2020-07-11 01:05:22,330 INFO L275 TraceCheckUtils]: 16: Hoare quadruple {2627#true} {2658#(and (<= 1 main_~dev1~0.offset) (= 0 ~elem~0.offset))} #95#return; {2658#(and (<= 1 main_~dev1~0.offset) (= 0 ~elem~0.offset))} is VALID [2020-07-11 01:05:22,357 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2020-07-11 01:05:22,384 INFO L280 TraceCheckUtils]: 0: Hoare triple {2717#(and (= ~elem~0.base |old(~elem~0.base)|) (= ~elem~0.offset |old(~elem~0.offset)|))} ~new.base, ~new.offset := #in~new.base, #in~new.offset; {2718#(= |old(~elem~0.offset)| ~elem~0.offset)} is VALID [2020-07-11 01:05:22,385 INFO L280 TraceCheckUtils]: 1: Hoare triple {2718#(= |old(~elem~0.offset)| ~elem~0.offset)} ~head.base, ~head.offset := #in~head.base, #in~head.offset; {2718#(= |old(~elem~0.offset)| ~elem~0.offset)} is VALID [2020-07-11 01:05:22,386 INFO L280 TraceCheckUtils]: 2: Hoare triple {2718#(= |old(~elem~0.offset)| ~elem~0.offset)} assume ~new.base != ~elem~0.base || ~new.offset != ~elem~0.offset; {2718#(= |old(~elem~0.offset)| ~elem~0.offset)} is VALID [2020-07-11 01:05:22,386 INFO L280 TraceCheckUtils]: 3: Hoare triple {2718#(= |old(~elem~0.offset)| ~elem~0.offset)} assume -2147483648 <= #t~nondet31 && #t~nondet31 <= 2147483647; {2718#(= |old(~elem~0.offset)| ~elem~0.offset)} is VALID [2020-07-11 01:05:22,387 INFO L280 TraceCheckUtils]: 4: Hoare triple {2718#(= |old(~elem~0.offset)| ~elem~0.offset)} assume !(0 != #t~nondet31); {2718#(= |old(~elem~0.offset)| ~elem~0.offset)} is VALID [2020-07-11 01:05:22,388 INFO L280 TraceCheckUtils]: 5: Hoare triple {2718#(= |old(~elem~0.offset)| ~elem~0.offset)} havoc #t~nondet31; {2718#(= |old(~elem~0.offset)| ~elem~0.offset)} is VALID [2020-07-11 01:05:22,389 INFO L280 TraceCheckUtils]: 6: Hoare triple {2718#(= |old(~elem~0.offset)| ~elem~0.offset)} assume true; {2718#(= |old(~elem~0.offset)| ~elem~0.offset)} is VALID [2020-07-11 01:05:22,390 INFO L275 TraceCheckUtils]: 7: Hoare quadruple {2718#(= |old(~elem~0.offset)| ~elem~0.offset)} {2658#(and (<= 1 main_~dev1~0.offset) (= 0 ~elem~0.offset))} #97#return; {2658#(and (<= 1 main_~dev1~0.offset) (= 0 ~elem~0.offset))} is VALID [2020-07-11 01:05:22,392 INFO L263 TraceCheckUtils]: 0: Hoare triple {2627#true} call ULTIMATE.init(); {2686#(and (= |#valid| |old(#valid)|) (= ~elem~0.base |old(~elem~0.base)|) (= |#NULL.base| |old(#NULL.base)|) (= |~#head~0.base| |old(~#head~0.base)|) (= ~guard_malloc_counter~0.offset |old(~guard_malloc_counter~0.offset)|) (= |#NULL.offset| |old(#NULL.offset)|) (= ~elem~0.offset |old(~elem~0.offset)|) (= |old(#length)| |#length|) (= |~#head~0.offset| |old(~#head~0.offset)|) (= ~guard_malloc_counter~0.base |old(~guard_malloc_counter~0.base)|))} is VALID [2020-07-11 01:05:22,393 INFO L280 TraceCheckUtils]: 1: Hoare triple {2686#(and (= |#valid| |old(#valid)|) (= ~elem~0.base |old(~elem~0.base)|) (= |#NULL.base| |old(#NULL.base)|) (= |~#head~0.base| |old(~#head~0.base)|) (= ~guard_malloc_counter~0.offset |old(~guard_malloc_counter~0.offset)|) (= |#NULL.offset| |old(#NULL.offset)|) (= ~elem~0.offset |old(~elem~0.offset)|) (= |old(#length)| |#length|) (= |~#head~0.offset| |old(~#head~0.offset)|) (= ~guard_malloc_counter~0.base |old(~guard_malloc_counter~0.base)|))} #NULL.base, #NULL.offset := 0, 0; {2627#true} is VALID [2020-07-11 01:05:22,393 INFO L280 TraceCheckUtils]: 2: Hoare triple {2627#true} #valid := #valid[0 := 0]; {2627#true} is VALID [2020-07-11 01:05:22,393 INFO L280 TraceCheckUtils]: 3: Hoare triple {2627#true} assume 0 < #StackHeapBarrier; {2627#true} is VALID [2020-07-11 01:05:22,394 INFO L280 TraceCheckUtils]: 4: Hoare triple {2627#true} ~guard_malloc_counter~0.base, ~guard_malloc_counter~0.offset := 0, 0; {2687#(= 0 ~guard_malloc_counter~0.offset)} is VALID [2020-07-11 01:05:22,395 INFO L280 TraceCheckUtils]: 5: Hoare triple {2687#(= 0 ~guard_malloc_counter~0.offset)} ~elem~0.base, ~elem~0.offset := 0, 0; {2639#(and (= 0 ~elem~0.offset) (= 0 ~guard_malloc_counter~0.offset))} is VALID [2020-07-11 01:05:22,396 INFO L280 TraceCheckUtils]: 6: Hoare triple {2639#(and (= 0 ~elem~0.offset) (= 0 ~guard_malloc_counter~0.offset))} SUMMARY for call ~#head~0.base, ~#head~0.offset := #Ultimate.allocOnStack(8); srcloc: L900 {2639#(and (= 0 ~elem~0.offset) (= 0 ~guard_malloc_counter~0.offset))} is VALID [2020-07-11 01:05:22,396 INFO L280 TraceCheckUtils]: 7: Hoare triple {2639#(and (= 0 ~elem~0.offset) (= 0 ~guard_malloc_counter~0.offset))} SUMMARY for call write~init~$Pointer$(0, 0, ~#head~0.base, ~#head~0.offset, 4); srcloc: L900-1 {2639#(and (= 0 ~elem~0.offset) (= 0 ~guard_malloc_counter~0.offset))} is VALID [2020-07-11 01:05:22,397 INFO L280 TraceCheckUtils]: 8: Hoare triple {2639#(and (= 0 ~elem~0.offset) (= 0 ~guard_malloc_counter~0.offset))} SUMMARY for call write~init~$Pointer$(0, 0, ~#head~0.base, 4 + ~#head~0.offset, 4); srcloc: L900-2 {2639#(and (= 0 ~elem~0.offset) (= 0 ~guard_malloc_counter~0.offset))} is VALID [2020-07-11 01:05:22,398 INFO L280 TraceCheckUtils]: 9: Hoare triple {2639#(and (= 0 ~elem~0.offset) (= 0 ~guard_malloc_counter~0.offset))} assume true; {2639#(and (= 0 ~elem~0.offset) (= 0 ~guard_malloc_counter~0.offset))} is VALID [2020-07-11 01:05:22,399 INFO L275 TraceCheckUtils]: 10: Hoare quadruple {2639#(and (= 0 ~elem~0.offset) (= 0 ~guard_malloc_counter~0.offset))} {2627#true} #109#return; {2639#(and (= 0 ~elem~0.offset) (= 0 ~guard_malloc_counter~0.offset))} is VALID [2020-07-11 01:05:22,399 INFO L263 TraceCheckUtils]: 11: Hoare triple {2639#(and (= 0 ~elem~0.offset) (= 0 ~guard_malloc_counter~0.offset))} call #t~ret34 := main(); {2639#(and (= 0 ~elem~0.offset) (= 0 ~guard_malloc_counter~0.offset))} is VALID [2020-07-11 01:05:22,400 INFO L280 TraceCheckUtils]: 12: Hoare triple {2639#(and (= 0 ~elem~0.offset) (= 0 ~guard_malloc_counter~0.offset))} havoc ~dev1~0.base, ~dev1~0.offset; {2639#(and (= 0 ~elem~0.offset) (= 0 ~guard_malloc_counter~0.offset))} is VALID [2020-07-11 01:05:22,401 INFO L280 TraceCheckUtils]: 13: Hoare triple {2639#(and (= 0 ~elem~0.offset) (= 0 ~guard_malloc_counter~0.offset))} havoc ~dev2~0.base, ~dev2~0.offset; {2639#(and (= 0 ~elem~0.offset) (= 0 ~guard_malloc_counter~0.offset))} is VALID [2020-07-11 01:05:22,401 INFO L263 TraceCheckUtils]: 14: Hoare triple {2639#(and (= 0 ~elem~0.offset) (= 0 ~guard_malloc_counter~0.offset))} call #t~ret32.base, #t~ret32.offset := my_malloc(8); {2688#(and (= ~guard_malloc_counter~0.offset |old(~guard_malloc_counter~0.offset)|) (= ~guard_malloc_counter~0.base |old(~guard_malloc_counter~0.base)|))} is VALID [2020-07-11 01:05:22,402 INFO L280 TraceCheckUtils]: 15: Hoare triple {2688#(and (= ~guard_malloc_counter~0.offset |old(~guard_malloc_counter~0.offset)|) (= ~guard_malloc_counter~0.base |old(~guard_malloc_counter~0.base)|))} ~size := #in~size; {2689#(= ~guard_malloc_counter~0.offset |old(~guard_malloc_counter~0.offset)|)} is VALID [2020-07-11 01:05:22,403 INFO L263 TraceCheckUtils]: 16: Hoare triple {2689#(= ~guard_malloc_counter~0.offset |old(~guard_malloc_counter~0.offset)|)} call #t~ret30.base, #t~ret30.offset := __getMemory(~size); {2688#(and (= ~guard_malloc_counter~0.offset |old(~guard_malloc_counter~0.offset)|) (= ~guard_malloc_counter~0.base |old(~guard_malloc_counter~0.base)|))} is VALID [2020-07-11 01:05:22,403 INFO L280 TraceCheckUtils]: 17: Hoare triple {2688#(and (= ~guard_malloc_counter~0.offset |old(~guard_malloc_counter~0.offset)|) (= ~guard_malloc_counter~0.base |old(~guard_malloc_counter~0.base)|))} ~size := #in~size; {2689#(= ~guard_malloc_counter~0.offset |old(~guard_malloc_counter~0.offset)|)} is VALID [2020-07-11 01:05:22,404 INFO L280 TraceCheckUtils]: 18: Hoare triple {2689#(= ~guard_malloc_counter~0.offset |old(~guard_malloc_counter~0.offset)|)} assume ~size > 0; {2689#(= ~guard_malloc_counter~0.offset |old(~guard_malloc_counter~0.offset)|)} is VALID [2020-07-11 01:05:22,405 INFO L280 TraceCheckUtils]: 19: Hoare triple {2689#(= ~guard_malloc_counter~0.offset |old(~guard_malloc_counter~0.offset)|)} #t~post28.base, #t~post28.offset := ~guard_malloc_counter~0.base, ~guard_malloc_counter~0.offset; {2703#(= |old(~guard_malloc_counter~0.offset)| |__getMemory_#t~post28.offset|)} is VALID [2020-07-11 01:05:22,405 INFO L280 TraceCheckUtils]: 20: Hoare triple {2703#(= |old(~guard_malloc_counter~0.offset)| |__getMemory_#t~post28.offset|)} ~guard_malloc_counter~0.base, ~guard_malloc_counter~0.offset := #t~post28.base, 1 + #t~post28.offset; {2704#(<= (+ |old(~guard_malloc_counter~0.offset)| 1) ~guard_malloc_counter~0.offset)} is VALID [2020-07-11 01:05:22,406 INFO L280 TraceCheckUtils]: 21: Hoare triple {2704#(<= (+ |old(~guard_malloc_counter~0.offset)| 1) ~guard_malloc_counter~0.offset)} havoc #t~post28.base, #t~post28.offset; {2704#(<= (+ |old(~guard_malloc_counter~0.offset)| 1) ~guard_malloc_counter~0.offset)} is VALID [2020-07-11 01:05:22,406 INFO L280 TraceCheckUtils]: 22: Hoare triple {2704#(<= (+ |old(~guard_malloc_counter~0.offset)| 1) ~guard_malloc_counter~0.offset)} assume -2147483648 <= #t~nondet29 && #t~nondet29 <= 2147483647; {2704#(<= (+ |old(~guard_malloc_counter~0.offset)| 1) ~guard_malloc_counter~0.offset)} is VALID [2020-07-11 01:05:22,407 INFO L280 TraceCheckUtils]: 23: Hoare triple {2704#(<= (+ |old(~guard_malloc_counter~0.offset)| 1) ~guard_malloc_counter~0.offset)} assume !(0 == #t~nondet29); {2704#(<= (+ |old(~guard_malloc_counter~0.offset)| 1) ~guard_malloc_counter~0.offset)} is VALID [2020-07-11 01:05:22,408 INFO L280 TraceCheckUtils]: 24: Hoare triple {2704#(<= (+ |old(~guard_malloc_counter~0.offset)| 1) ~guard_malloc_counter~0.offset)} havoc #t~nondet29; {2704#(<= (+ |old(~guard_malloc_counter~0.offset)| 1) ~guard_malloc_counter~0.offset)} is VALID [2020-07-11 01:05:22,408 INFO L280 TraceCheckUtils]: 25: Hoare triple {2704#(<= (+ |old(~guard_malloc_counter~0.offset)| 1) ~guard_malloc_counter~0.offset)} #res.base, #res.offset := ~guard_malloc_counter~0.base, ~guard_malloc_counter~0.offset; {2705#(<= (+ |old(~guard_malloc_counter~0.offset)| 1) |__getMemory_#res.offset|)} is VALID [2020-07-11 01:05:22,409 INFO L280 TraceCheckUtils]: 26: Hoare triple {2705#(<= (+ |old(~guard_malloc_counter~0.offset)| 1) |__getMemory_#res.offset|)} assume true; {2705#(<= (+ |old(~guard_malloc_counter~0.offset)| 1) |__getMemory_#res.offset|)} is VALID [2020-07-11 01:05:22,410 INFO L275 TraceCheckUtils]: 27: Hoare quadruple {2705#(<= (+ |old(~guard_malloc_counter~0.offset)| 1) |__getMemory_#res.offset|)} {2689#(= ~guard_malloc_counter~0.offset |old(~guard_malloc_counter~0.offset)|)} #91#return; {2701#(<= (+ |old(~guard_malloc_counter~0.offset)| 1) |my_malloc_#t~ret30.offset|)} is VALID [2020-07-11 01:05:22,411 INFO L280 TraceCheckUtils]: 28: Hoare triple {2701#(<= (+ |old(~guard_malloc_counter~0.offset)| 1) |my_malloc_#t~ret30.offset|)} #res.base, #res.offset := #t~ret30.base, #t~ret30.offset; {2702#(<= (+ |old(~guard_malloc_counter~0.offset)| 1) |my_malloc_#res.offset|)} is VALID [2020-07-11 01:05:22,412 INFO L280 TraceCheckUtils]: 29: Hoare triple {2702#(<= (+ |old(~guard_malloc_counter~0.offset)| 1) |my_malloc_#res.offset|)} havoc #t~ret30.base, #t~ret30.offset; {2702#(<= (+ |old(~guard_malloc_counter~0.offset)| 1) |my_malloc_#res.offset|)} is VALID [2020-07-11 01:05:22,412 INFO L280 TraceCheckUtils]: 30: Hoare triple {2702#(<= (+ |old(~guard_malloc_counter~0.offset)| 1) |my_malloc_#res.offset|)} assume true; {2702#(<= (+ |old(~guard_malloc_counter~0.offset)| 1) |my_malloc_#res.offset|)} is VALID [2020-07-11 01:05:22,413 INFO L275 TraceCheckUtils]: 31: Hoare quadruple {2702#(<= (+ |old(~guard_malloc_counter~0.offset)| 1) |my_malloc_#res.offset|)} {2639#(and (= 0 ~elem~0.offset) (= 0 ~guard_malloc_counter~0.offset))} #93#return; {2657#(and (= 0 ~elem~0.offset) (<= 1 |main_#t~ret32.offset|))} is VALID [2020-07-11 01:05:22,414 INFO L280 TraceCheckUtils]: 32: Hoare triple {2657#(and (= 0 ~elem~0.offset) (<= 1 |main_#t~ret32.offset|))} ~dev1~0.base, ~dev1~0.offset := #t~ret32.base, #t~ret32.offset; {2658#(and (<= 1 main_~dev1~0.offset) (= 0 ~elem~0.offset))} is VALID [2020-07-11 01:05:22,415 INFO L280 TraceCheckUtils]: 33: Hoare triple {2658#(and (<= 1 main_~dev1~0.offset) (= 0 ~elem~0.offset))} havoc #t~ret32.base, #t~ret32.offset; {2658#(and (<= 1 main_~dev1~0.offset) (= 0 ~elem~0.offset))} is VALID [2020-07-11 01:05:22,416 INFO L263 TraceCheckUtils]: 34: Hoare triple {2658#(and (<= 1 main_~dev1~0.offset) (= 0 ~elem~0.offset))} call #t~ret33.base, #t~ret33.offset := my_malloc(8); {2688#(and (= ~guard_malloc_counter~0.offset |old(~guard_malloc_counter~0.offset)|) (= ~guard_malloc_counter~0.base |old(~guard_malloc_counter~0.base)|))} is VALID [2020-07-11 01:05:22,416 INFO L280 TraceCheckUtils]: 35: Hoare triple {2688#(and (= ~guard_malloc_counter~0.offset |old(~guard_malloc_counter~0.offset)|) (= ~guard_malloc_counter~0.base |old(~guard_malloc_counter~0.base)|))} ~size := #in~size; {2627#true} is VALID [2020-07-11 01:05:22,417 INFO L263 TraceCheckUtils]: 36: Hoare triple {2627#true} call #t~ret30.base, #t~ret30.offset := __getMemory(~size); {2688#(and (= ~guard_malloc_counter~0.offset |old(~guard_malloc_counter~0.offset)|) (= ~guard_malloc_counter~0.base |old(~guard_malloc_counter~0.base)|))} is VALID [2020-07-11 01:05:22,417 INFO L280 TraceCheckUtils]: 37: Hoare triple {2688#(and (= ~guard_malloc_counter~0.offset |old(~guard_malloc_counter~0.offset)|) (= ~guard_malloc_counter~0.base |old(~guard_malloc_counter~0.base)|))} ~size := #in~size; {2627#true} is VALID [2020-07-11 01:05:22,417 INFO L280 TraceCheckUtils]: 38: Hoare triple {2627#true} assume ~size > 0; {2627#true} is VALID [2020-07-11 01:05:22,417 INFO L280 TraceCheckUtils]: 39: Hoare triple {2627#true} #t~post28.base, #t~post28.offset := ~guard_malloc_counter~0.base, ~guard_malloc_counter~0.offset; {2627#true} is VALID [2020-07-11 01:05:22,417 INFO L280 TraceCheckUtils]: 40: Hoare triple {2627#true} ~guard_malloc_counter~0.base, ~guard_malloc_counter~0.offset := #t~post28.base, 1 + #t~post28.offset; {2627#true} is VALID [2020-07-11 01:05:22,418 INFO L280 TraceCheckUtils]: 41: Hoare triple {2627#true} havoc #t~post28.base, #t~post28.offset; {2627#true} is VALID [2020-07-11 01:05:22,418 INFO L280 TraceCheckUtils]: 42: Hoare triple {2627#true} assume -2147483648 <= #t~nondet29 && #t~nondet29 <= 2147483647; {2627#true} is VALID [2020-07-11 01:05:22,418 INFO L280 TraceCheckUtils]: 43: Hoare triple {2627#true} assume !(0 == #t~nondet29); {2627#true} is VALID [2020-07-11 01:05:22,418 INFO L280 TraceCheckUtils]: 44: Hoare triple {2627#true} havoc #t~nondet29; {2627#true} is VALID [2020-07-11 01:05:22,418 INFO L280 TraceCheckUtils]: 45: Hoare triple {2627#true} #res.base, #res.offset := ~guard_malloc_counter~0.base, ~guard_malloc_counter~0.offset; {2627#true} is VALID [2020-07-11 01:05:22,419 INFO L280 TraceCheckUtils]: 46: Hoare triple {2627#true} assume true; {2627#true} is VALID [2020-07-11 01:05:22,419 INFO L275 TraceCheckUtils]: 47: Hoare quadruple {2627#true} {2627#true} #91#return; {2627#true} is VALID [2020-07-11 01:05:22,419 INFO L280 TraceCheckUtils]: 48: Hoare triple {2627#true} #res.base, #res.offset := #t~ret30.base, #t~ret30.offset; {2627#true} is VALID [2020-07-11 01:05:22,419 INFO L280 TraceCheckUtils]: 49: Hoare triple {2627#true} havoc #t~ret30.base, #t~ret30.offset; {2627#true} is VALID [2020-07-11 01:05:22,419 INFO L280 TraceCheckUtils]: 50: Hoare triple {2627#true} assume true; {2627#true} is VALID [2020-07-11 01:05:22,420 INFO L275 TraceCheckUtils]: 51: Hoare quadruple {2627#true} {2658#(and (<= 1 main_~dev1~0.offset) (= 0 ~elem~0.offset))} #95#return; {2658#(and (<= 1 main_~dev1~0.offset) (= 0 ~elem~0.offset))} is VALID [2020-07-11 01:05:22,421 INFO L280 TraceCheckUtils]: 52: Hoare triple {2658#(and (<= 1 main_~dev1~0.offset) (= 0 ~elem~0.offset))} ~dev2~0.base, ~dev2~0.offset := #t~ret33.base, #t~ret33.offset; {2658#(and (<= 1 main_~dev1~0.offset) (= 0 ~elem~0.offset))} is VALID [2020-07-11 01:05:22,422 INFO L280 TraceCheckUtils]: 53: Hoare triple {2658#(and (<= 1 main_~dev1~0.offset) (= 0 ~elem~0.offset))} havoc #t~ret33.base, #t~ret33.offset; {2658#(and (<= 1 main_~dev1~0.offset) (= 0 ~elem~0.offset))} is VALID [2020-07-11 01:05:22,422 INFO L280 TraceCheckUtils]: 54: Hoare triple {2658#(and (<= 1 main_~dev1~0.offset) (= 0 ~elem~0.offset))} assume (~dev1~0.base != 0 || ~dev1~0.offset != 0) && (~dev2~0.base != 0 || ~dev2~0.offset != 0); {2658#(and (<= 1 main_~dev1~0.offset) (= 0 ~elem~0.offset))} is VALID [2020-07-11 01:05:22,424 INFO L263 TraceCheckUtils]: 55: Hoare triple {2658#(and (<= 1 main_~dev1~0.offset) (= 0 ~elem~0.offset))} call list_add(~dev2~0.base, ~dev2~0.offset, ~#head~0.base, ~#head~0.offset); {2717#(and (= ~elem~0.base |old(~elem~0.base)|) (= ~elem~0.offset |old(~elem~0.offset)|))} is VALID [2020-07-11 01:05:22,425 INFO L280 TraceCheckUtils]: 56: Hoare triple {2717#(and (= ~elem~0.base |old(~elem~0.base)|) (= ~elem~0.offset |old(~elem~0.offset)|))} ~new.base, ~new.offset := #in~new.base, #in~new.offset; {2718#(= |old(~elem~0.offset)| ~elem~0.offset)} is VALID [2020-07-11 01:05:22,425 INFO L280 TraceCheckUtils]: 57: Hoare triple {2718#(= |old(~elem~0.offset)| ~elem~0.offset)} ~head.base, ~head.offset := #in~head.base, #in~head.offset; {2718#(= |old(~elem~0.offset)| ~elem~0.offset)} is VALID [2020-07-11 01:05:22,426 INFO L280 TraceCheckUtils]: 58: Hoare triple {2718#(= |old(~elem~0.offset)| ~elem~0.offset)} assume ~new.base != ~elem~0.base || ~new.offset != ~elem~0.offset; {2718#(= |old(~elem~0.offset)| ~elem~0.offset)} is VALID [2020-07-11 01:05:22,426 INFO L280 TraceCheckUtils]: 59: Hoare triple {2718#(= |old(~elem~0.offset)| ~elem~0.offset)} assume -2147483648 <= #t~nondet31 && #t~nondet31 <= 2147483647; {2718#(= |old(~elem~0.offset)| ~elem~0.offset)} is VALID [2020-07-11 01:05:22,427 INFO L280 TraceCheckUtils]: 60: Hoare triple {2718#(= |old(~elem~0.offset)| ~elem~0.offset)} assume !(0 != #t~nondet31); {2718#(= |old(~elem~0.offset)| ~elem~0.offset)} is VALID [2020-07-11 01:05:22,428 INFO L280 TraceCheckUtils]: 61: Hoare triple {2718#(= |old(~elem~0.offset)| ~elem~0.offset)} havoc #t~nondet31; {2718#(= |old(~elem~0.offset)| ~elem~0.offset)} is VALID [2020-07-11 01:05:22,429 INFO L280 TraceCheckUtils]: 62: Hoare triple {2718#(= |old(~elem~0.offset)| ~elem~0.offset)} assume true; {2718#(= |old(~elem~0.offset)| ~elem~0.offset)} is VALID [2020-07-11 01:05:22,431 INFO L275 TraceCheckUtils]: 63: Hoare quadruple {2718#(= |old(~elem~0.offset)| ~elem~0.offset)} {2658#(and (<= 1 main_~dev1~0.offset) (= 0 ~elem~0.offset))} #97#return; {2658#(and (<= 1 main_~dev1~0.offset) (= 0 ~elem~0.offset))} is VALID [2020-07-11 01:05:22,432 INFO L263 TraceCheckUtils]: 64: Hoare triple {2658#(and (<= 1 main_~dev1~0.offset) (= 0 ~elem~0.offset))} call list_add(~dev1~0.base, ~dev1~0.offset, ~#head~0.base, ~#head~0.offset); {2684#(and (= 0 ~elem~0.offset) (<= 1 |list_add_#in~new.offset|))} is VALID [2020-07-11 01:05:22,433 INFO L280 TraceCheckUtils]: 65: Hoare triple {2684#(and (= 0 ~elem~0.offset) (<= 1 |list_add_#in~new.offset|))} ~new.base, ~new.offset := #in~new.base, #in~new.offset; {2685#(and (= 0 ~elem~0.offset) (not (= 0 list_add_~new.offset)))} is VALID [2020-07-11 01:05:22,434 INFO L280 TraceCheckUtils]: 66: Hoare triple {2685#(and (= 0 ~elem~0.offset) (not (= 0 list_add_~new.offset)))} ~head.base, ~head.offset := #in~head.base, #in~head.offset; {2685#(and (= 0 ~elem~0.offset) (not (= 0 list_add_~new.offset)))} is VALID [2020-07-11 01:05:22,434 INFO L280 TraceCheckUtils]: 67: Hoare triple {2685#(and (= 0 ~elem~0.offset) (not (= 0 list_add_~new.offset)))} assume !(~new.base != ~elem~0.base || ~new.offset != ~elem~0.offset); {2628#false} is VALID [2020-07-11 01:05:22,435 INFO L263 TraceCheckUtils]: 68: Hoare triple {2628#false} call __blast_assert(); {2628#false} is VALID [2020-07-11 01:05:22,435 INFO L280 TraceCheckUtils]: 69: Hoare triple {2628#false} assume !false; {2628#false} is VALID [2020-07-11 01:05:22,444 INFO L134 CoverageAnalysis]: Checked inductivity of 20 backedges. 0 proven. 18 refuted. 0 times theorem prover too weak. 2 trivial. 0 not checked. [2020-07-11 01:05:22,445 INFO L354 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModulePreferences [1673543187] [2020-07-11 01:05:22,445 INFO L220 FreeRefinementEngine]: Constructing automaton from 0 perfect and 1 imperfect interpolant sequences. [2020-07-11 01:05:22,445 INFO L233 FreeRefinementEngine]: Number of different interpolants: perfect sequences [] imperfect sequences [18] total 18 [2020-07-11 01:05:22,445 INFO L156 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [1632791247] [2020-07-11 01:05:22,446 INFO L78 Accepts]: Start accepts. Automaton has 18 states. Word has length 70 [2020-07-11 01:05:22,446 INFO L84 Accepts]: Finished accepts. word is accepted. [2020-07-11 01:05:22,446 INFO L86 InductivityCheck]: Starting indutivity check of a Floyd-Hoare automaton with 18 states. [2020-07-11 01:05:22,524 INFO L119 InductivityCheck]: Floyd-Hoare automaton has 70 edges. 70 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2020-07-11 01:05:22,525 INFO L459 AbstractCegarLoop]: Interpolant automaton has 18 states [2020-07-11 01:05:22,525 INFO L143 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy FIXED_PREFERENCES [2020-07-11 01:05:22,525 INFO L142 InterpolantAutomaton]: Constructing interpolant automaton starting with 18 interpolants. [2020-07-11 01:05:22,526 INFO L144 InterpolantAutomaton]: CoverageRelationStatistics Valid=40, Invalid=266, Unknown=0, NotChecked=0, Total=306 [2020-07-11 01:05:22,526 INFO L87 Difference]: Start difference. First operand 76 states and 83 transitions. Second operand 18 states. [2020-07-11 01:05:26,002 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2020-07-11 01:05:26,002 INFO L93 Difference]: Finished difference Result 89 states and 96 transitions. [2020-07-11 01:05:26,003 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 22 states. [2020-07-11 01:05:26,003 INFO L78 Accepts]: Start accepts. Automaton has 18 states. Word has length 70 [2020-07-11 01:05:26,003 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2020-07-11 01:05:26,003 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 18 states. [2020-07-11 01:05:26,007 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 22 states to 22 states and 88 transitions. [2020-07-11 01:05:26,007 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 18 states. [2020-07-11 01:05:26,010 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 22 states to 22 states and 88 transitions. [2020-07-11 01:05:26,010 INFO L86 InductivityCheck]: Starting indutivity check of a Floyd-Hoare automaton with 22 states and 88 transitions. [2020-07-11 01:05:26,168 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-11 01:05:26,174 INFO L225 Difference]: With dead ends: 89 [2020-07-11 01:05:26,174 INFO L226 Difference]: Without dead ends: 86 [2020-07-11 01:05:26,175 INFO L675 BasicCegarLoop]: 0 DeclaredPredicates, 44 GetRequests, 12 SyntacticMatches, 0 SemanticMatches, 32 ConstructedPredicates, 0 IntricatePredicates, 0 DeprecatedPredicates, 123 ImplicationChecksByTransitivity, 0.7s TimeCoverageRelationStatistics Valid=173, Invalid=949, Unknown=0, NotChecked=0, Total=1122 [2020-07-11 01:05:26,176 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 86 states. [2020-07-11 01:05:26,521 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 86 to 76. [2020-07-11 01:05:26,521 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2020-07-11 01:05:26,521 INFO L82 GeneralOperation]: Start isEquivalent. First operand 86 states. Second operand 76 states. [2020-07-11 01:05:26,522 INFO L74 IsIncluded]: Start isIncluded. First operand 86 states. Second operand 76 states. [2020-07-11 01:05:26,522 INFO L87 Difference]: Start difference. First operand 86 states. Second operand 76 states. [2020-07-11 01:05:26,527 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2020-07-11 01:05:26,527 INFO L93 Difference]: Finished difference Result 86 states and 93 transitions. [2020-07-11 01:05:26,527 INFO L276 IsEmpty]: Start isEmpty. Operand 86 states and 93 transitions. [2020-07-11 01:05:26,528 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2020-07-11 01:05:26,528 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2020-07-11 01:05:26,528 INFO L74 IsIncluded]: Start isIncluded. First operand 76 states. Second operand 86 states. [2020-07-11 01:05:26,528 INFO L87 Difference]: Start difference. First operand 76 states. Second operand 86 states. [2020-07-11 01:05:26,532 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2020-07-11 01:05:26,532 INFO L93 Difference]: Finished difference Result 86 states and 93 transitions. [2020-07-11 01:05:26,532 INFO L276 IsEmpty]: Start isEmpty. Operand 86 states and 93 transitions. [2020-07-11 01:05:26,533 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2020-07-11 01:05:26,533 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2020-07-11 01:05:26,533 INFO L88 GeneralOperation]: Finished isEquivalent. [2020-07-11 01:05:26,533 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2020-07-11 01:05:26,533 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 76 states. [2020-07-11 01:05:26,536 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 76 states to 76 states and 82 transitions. [2020-07-11 01:05:26,537 INFO L78 Accepts]: Start accepts. Automaton has 76 states and 82 transitions. Word has length 70 [2020-07-11 01:05:26,537 INFO L84 Accepts]: Finished accepts. word is rejected. [2020-07-11 01:05:26,537 INFO L479 AbstractCegarLoop]: Abstraction has 76 states and 82 transitions. [2020-07-11 01:05:26,537 INFO L480 AbstractCegarLoop]: Interpolant automaton has 18 states. [2020-07-11 01:05:26,537 INFO L86 InductivityCheck]: Starting indutivity check of a Floyd-Hoare automaton with 76 states and 82 transitions. [2020-07-11 01:05:26,702 INFO L119 InductivityCheck]: Floyd-Hoare automaton has 82 edges. 82 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2020-07-11 01:05:26,703 INFO L276 IsEmpty]: Start isEmpty. Operand 76 states and 82 transitions. [2020-07-11 01:05:26,704 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 72 [2020-07-11 01:05:26,704 INFO L414 BasicCegarLoop]: Found error trace [2020-07-11 01:05:26,704 INFO L422 BasicCegarLoop]: trace histogram [2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1] [2020-07-11 01:05:26,705 WARN L516 AbstractCegarLoop]: Destroyed unattended storables created during the last iteration: SelfDestructingSolverStorable4 [2020-07-11 01:05:26,705 INFO L427 AbstractCegarLoop]: === Iteration 6 === [__blast_assertErr0ASSERT_VIOLATIONERROR_FUNCTION]=== [2020-07-11 01:05:26,705 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2020-07-11 01:05:26,705 INFO L82 PathProgramCache]: Analyzing trace with hash 2039706158, now seen corresponding path program 1 times [2020-07-11 01:05:26,705 INFO L163 FreeRefinementEngine]: Executing refinement strategy FIXED_PREFERENCES [2020-07-11 01:05:26,706 INFO L354 FreeRefinementEngine]: Using trace check IpTcStrategyModulePreferences [409345350] [2020-07-11 01:05:26,706 INFO L94 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2020-07-11 01:05:26,723 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2020-07-11 01:05:26,861 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2020-07-11 01:05:26,866 INFO L280 TraceCheckUtils]: 0: Hoare triple {3318#(and (= |#valid| |old(#valid)|) (= ~elem~0.base |old(~elem~0.base)|) (= |#NULL.base| |old(#NULL.base)|) (= |~#head~0.base| |old(~#head~0.base)|) (= ~guard_malloc_counter~0.offset |old(~guard_malloc_counter~0.offset)|) (= |#NULL.offset| |old(#NULL.offset)|) (= ~elem~0.offset |old(~elem~0.offset)|) (= |old(#length)| |#length|) (= |~#head~0.offset| |old(~#head~0.offset)|) (= ~guard_malloc_counter~0.base |old(~guard_malloc_counter~0.base)|))} #NULL.base, #NULL.offset := 0, 0; {3256#true} is VALID [2020-07-11 01:05:26,867 INFO L280 TraceCheckUtils]: 1: Hoare triple {3256#true} #valid := #valid[0 := 0]; {3256#true} is VALID [2020-07-11 01:05:26,867 INFO L280 TraceCheckUtils]: 2: Hoare triple {3256#true} assume 0 < #StackHeapBarrier; {3256#true} is VALID [2020-07-11 01:05:26,867 INFO L280 TraceCheckUtils]: 3: Hoare triple {3256#true} ~guard_malloc_counter~0.base, ~guard_malloc_counter~0.offset := 0, 0; {3256#true} is VALID [2020-07-11 01:05:26,867 INFO L280 TraceCheckUtils]: 4: Hoare triple {3256#true} ~elem~0.base, ~elem~0.offset := 0, 0; {3256#true} is VALID [2020-07-11 01:05:26,868 INFO L280 TraceCheckUtils]: 5: Hoare triple {3256#true} SUMMARY for call ~#head~0.base, ~#head~0.offset := #Ultimate.allocOnStack(8); srcloc: L900 {3256#true} is VALID [2020-07-11 01:05:26,868 INFO L280 TraceCheckUtils]: 6: Hoare triple {3256#true} SUMMARY for call write~init~$Pointer$(0, 0, ~#head~0.base, ~#head~0.offset, 4); srcloc: L900-1 {3256#true} is VALID [2020-07-11 01:05:26,868 INFO L280 TraceCheckUtils]: 7: Hoare triple {3256#true} SUMMARY for call write~init~$Pointer$(0, 0, ~#head~0.base, 4 + ~#head~0.offset, 4); srcloc: L900-2 {3256#true} is VALID [2020-07-11 01:05:26,868 INFO L280 TraceCheckUtils]: 8: Hoare triple {3256#true} assume true; {3256#true} is VALID [2020-07-11 01:05:26,868 INFO L275 TraceCheckUtils]: 9: Hoare quadruple {3256#true} {3256#true} #109#return; {3256#true} is VALID [2020-07-11 01:05:26,886 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2020-07-11 01:05:26,928 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2020-07-11 01:05:26,956 INFO L280 TraceCheckUtils]: 0: Hoare triple {3319#(and (= ~guard_malloc_counter~0.offset |old(~guard_malloc_counter~0.offset)|) (= ~guard_malloc_counter~0.base |old(~guard_malloc_counter~0.base)|))} ~size := #in~size; {3256#true} is VALID [2020-07-11 01:05:26,956 INFO L280 TraceCheckUtils]: 1: Hoare triple {3256#true} assume ~size > 0; {3256#true} is VALID [2020-07-11 01:05:26,957 INFO L280 TraceCheckUtils]: 2: Hoare triple {3256#true} #t~post28.base, #t~post28.offset := ~guard_malloc_counter~0.base, ~guard_malloc_counter~0.offset; {3256#true} is VALID [2020-07-11 01:05:26,957 INFO L280 TraceCheckUtils]: 3: Hoare triple {3256#true} ~guard_malloc_counter~0.base, ~guard_malloc_counter~0.offset := #t~post28.base, 1 + #t~post28.offset; {3256#true} is VALID [2020-07-11 01:05:26,957 INFO L280 TraceCheckUtils]: 4: Hoare triple {3256#true} havoc #t~post28.base, #t~post28.offset; {3256#true} is VALID [2020-07-11 01:05:26,957 INFO L280 TraceCheckUtils]: 5: Hoare triple {3256#true} assume -2147483648 <= #t~nondet29 && #t~nondet29 <= 2147483647; {3256#true} is VALID [2020-07-11 01:05:26,957 INFO L280 TraceCheckUtils]: 6: Hoare triple {3256#true} assume !(0 == #t~nondet29); {3256#true} is VALID [2020-07-11 01:05:26,958 INFO L280 TraceCheckUtils]: 7: Hoare triple {3256#true} havoc #t~nondet29; {3256#true} is VALID [2020-07-11 01:05:26,958 INFO L280 TraceCheckUtils]: 8: Hoare triple {3256#true} #res.base, #res.offset := ~guard_malloc_counter~0.base, ~guard_malloc_counter~0.offset; {3333#(<= |__getMemory_#res.offset| ~guard_malloc_counter~0.offset)} is VALID [2020-07-11 01:05:26,959 INFO L280 TraceCheckUtils]: 9: Hoare triple {3333#(<= |__getMemory_#res.offset| ~guard_malloc_counter~0.offset)} assume true; {3333#(<= |__getMemory_#res.offset| ~guard_malloc_counter~0.offset)} is VALID [2020-07-11 01:05:26,960 INFO L275 TraceCheckUtils]: 10: Hoare quadruple {3333#(<= |__getMemory_#res.offset| ~guard_malloc_counter~0.offset)} {3256#true} #91#return; {3331#(<= |my_malloc_#t~ret30.offset| ~guard_malloc_counter~0.offset)} is VALID [2020-07-11 01:05:26,960 INFO L280 TraceCheckUtils]: 0: Hoare triple {3319#(and (= ~guard_malloc_counter~0.offset |old(~guard_malloc_counter~0.offset)|) (= ~guard_malloc_counter~0.base |old(~guard_malloc_counter~0.base)|))} ~size := #in~size; {3256#true} is VALID [2020-07-11 01:05:26,961 INFO L263 TraceCheckUtils]: 1: Hoare triple {3256#true} call #t~ret30.base, #t~ret30.offset := __getMemory(~size); {3319#(and (= ~guard_malloc_counter~0.offset |old(~guard_malloc_counter~0.offset)|) (= ~guard_malloc_counter~0.base |old(~guard_malloc_counter~0.base)|))} is VALID [2020-07-11 01:05:26,961 INFO L280 TraceCheckUtils]: 2: Hoare triple {3319#(and (= ~guard_malloc_counter~0.offset |old(~guard_malloc_counter~0.offset)|) (= ~guard_malloc_counter~0.base |old(~guard_malloc_counter~0.base)|))} ~size := #in~size; {3256#true} is VALID [2020-07-11 01:05:26,961 INFO L280 TraceCheckUtils]: 3: Hoare triple {3256#true} assume ~size > 0; {3256#true} is VALID [2020-07-11 01:05:26,961 INFO L280 TraceCheckUtils]: 4: Hoare triple {3256#true} #t~post28.base, #t~post28.offset := ~guard_malloc_counter~0.base, ~guard_malloc_counter~0.offset; {3256#true} is VALID [2020-07-11 01:05:26,962 INFO L280 TraceCheckUtils]: 5: Hoare triple {3256#true} ~guard_malloc_counter~0.base, ~guard_malloc_counter~0.offset := #t~post28.base, 1 + #t~post28.offset; {3256#true} is VALID [2020-07-11 01:05:26,962 INFO L280 TraceCheckUtils]: 6: Hoare triple {3256#true} havoc #t~post28.base, #t~post28.offset; {3256#true} is VALID [2020-07-11 01:05:26,962 INFO L280 TraceCheckUtils]: 7: Hoare triple {3256#true} assume -2147483648 <= #t~nondet29 && #t~nondet29 <= 2147483647; {3256#true} is VALID [2020-07-11 01:05:26,962 INFO L280 TraceCheckUtils]: 8: Hoare triple {3256#true} assume !(0 == #t~nondet29); {3256#true} is VALID [2020-07-11 01:05:26,962 INFO L280 TraceCheckUtils]: 9: Hoare triple {3256#true} havoc #t~nondet29; {3256#true} is VALID [2020-07-11 01:05:26,963 INFO L280 TraceCheckUtils]: 10: Hoare triple {3256#true} #res.base, #res.offset := ~guard_malloc_counter~0.base, ~guard_malloc_counter~0.offset; {3333#(<= |__getMemory_#res.offset| ~guard_malloc_counter~0.offset)} is VALID [2020-07-11 01:05:26,964 INFO L280 TraceCheckUtils]: 11: Hoare triple {3333#(<= |__getMemory_#res.offset| ~guard_malloc_counter~0.offset)} assume true; {3333#(<= |__getMemory_#res.offset| ~guard_malloc_counter~0.offset)} is VALID [2020-07-11 01:05:26,965 INFO L275 TraceCheckUtils]: 12: Hoare quadruple {3333#(<= |__getMemory_#res.offset| ~guard_malloc_counter~0.offset)} {3256#true} #91#return; {3331#(<= |my_malloc_#t~ret30.offset| ~guard_malloc_counter~0.offset)} is VALID [2020-07-11 01:05:26,965 INFO L280 TraceCheckUtils]: 13: Hoare triple {3331#(<= |my_malloc_#t~ret30.offset| ~guard_malloc_counter~0.offset)} #res.base, #res.offset := #t~ret30.base, #t~ret30.offset; {3332#(<= |my_malloc_#res.offset| ~guard_malloc_counter~0.offset)} is VALID [2020-07-11 01:05:26,966 INFO L280 TraceCheckUtils]: 14: Hoare triple {3332#(<= |my_malloc_#res.offset| ~guard_malloc_counter~0.offset)} havoc #t~ret30.base, #t~ret30.offset; {3332#(<= |my_malloc_#res.offset| ~guard_malloc_counter~0.offset)} is VALID [2020-07-11 01:05:26,966 INFO L280 TraceCheckUtils]: 15: Hoare triple {3332#(<= |my_malloc_#res.offset| ~guard_malloc_counter~0.offset)} assume true; {3332#(<= |my_malloc_#res.offset| ~guard_malloc_counter~0.offset)} is VALID [2020-07-11 01:05:26,967 INFO L275 TraceCheckUtils]: 16: Hoare quadruple {3332#(<= |my_malloc_#res.offset| ~guard_malloc_counter~0.offset)} {3256#true} #93#return; {3285#(<= |main_#t~ret32.offset| ~guard_malloc_counter~0.offset)} is VALID [2020-07-11 01:05:26,971 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2020-07-11 01:05:27,072 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2020-07-11 01:05:27,176 INFO L280 TraceCheckUtils]: 0: Hoare triple {3319#(and (= ~guard_malloc_counter~0.offset |old(~guard_malloc_counter~0.offset)|) (= ~guard_malloc_counter~0.base |old(~guard_malloc_counter~0.base)|))} ~size := #in~size; {3334#(= ~guard_malloc_counter~0.offset |old(~guard_malloc_counter~0.offset)|)} is VALID [2020-07-11 01:05:27,177 INFO L280 TraceCheckUtils]: 1: Hoare triple {3334#(= ~guard_malloc_counter~0.offset |old(~guard_malloc_counter~0.offset)|)} assume ~size > 0; {3334#(= ~guard_malloc_counter~0.offset |old(~guard_malloc_counter~0.offset)|)} is VALID [2020-07-11 01:05:27,177 INFO L280 TraceCheckUtils]: 2: Hoare triple {3334#(= ~guard_malloc_counter~0.offset |old(~guard_malloc_counter~0.offset)|)} #t~post28.base, #t~post28.offset := ~guard_malloc_counter~0.base, ~guard_malloc_counter~0.offset; {3348#(= |old(~guard_malloc_counter~0.offset)| |__getMemory_#t~post28.offset|)} is VALID [2020-07-11 01:05:27,178 INFO L280 TraceCheckUtils]: 3: Hoare triple {3348#(= |old(~guard_malloc_counter~0.offset)| |__getMemory_#t~post28.offset|)} ~guard_malloc_counter~0.base, ~guard_malloc_counter~0.offset := #t~post28.base, 1 + #t~post28.offset; {3349#(<= (+ |old(~guard_malloc_counter~0.offset)| 1) ~guard_malloc_counter~0.offset)} is VALID [2020-07-11 01:05:27,178 INFO L280 TraceCheckUtils]: 4: Hoare triple {3349#(<= (+ |old(~guard_malloc_counter~0.offset)| 1) ~guard_malloc_counter~0.offset)} havoc #t~post28.base, #t~post28.offset; {3349#(<= (+ |old(~guard_malloc_counter~0.offset)| 1) ~guard_malloc_counter~0.offset)} is VALID [2020-07-11 01:05:27,179 INFO L280 TraceCheckUtils]: 5: Hoare triple {3349#(<= (+ |old(~guard_malloc_counter~0.offset)| 1) ~guard_malloc_counter~0.offset)} assume -2147483648 <= #t~nondet29 && #t~nondet29 <= 2147483647; {3349#(<= (+ |old(~guard_malloc_counter~0.offset)| 1) ~guard_malloc_counter~0.offset)} is VALID [2020-07-11 01:05:27,180 INFO L280 TraceCheckUtils]: 6: Hoare triple {3349#(<= (+ |old(~guard_malloc_counter~0.offset)| 1) ~guard_malloc_counter~0.offset)} assume !(0 == #t~nondet29); {3349#(<= (+ |old(~guard_malloc_counter~0.offset)| 1) ~guard_malloc_counter~0.offset)} is VALID [2020-07-11 01:05:27,180 INFO L280 TraceCheckUtils]: 7: Hoare triple {3349#(<= (+ |old(~guard_malloc_counter~0.offset)| 1) ~guard_malloc_counter~0.offset)} havoc #t~nondet29; {3349#(<= (+ |old(~guard_malloc_counter~0.offset)| 1) ~guard_malloc_counter~0.offset)} is VALID [2020-07-11 01:05:27,181 INFO L280 TraceCheckUtils]: 8: Hoare triple {3349#(<= (+ |old(~guard_malloc_counter~0.offset)| 1) ~guard_malloc_counter~0.offset)} #res.base, #res.offset := ~guard_malloc_counter~0.base, ~guard_malloc_counter~0.offset; {3350#(<= (+ |old(~guard_malloc_counter~0.offset)| 1) |__getMemory_#res.offset|)} is VALID [2020-07-11 01:05:27,181 INFO L280 TraceCheckUtils]: 9: Hoare triple {3350#(<= (+ |old(~guard_malloc_counter~0.offset)| 1) |__getMemory_#res.offset|)} assume true; {3350#(<= (+ |old(~guard_malloc_counter~0.offset)| 1) |__getMemory_#res.offset|)} is VALID [2020-07-11 01:05:27,182 INFO L275 TraceCheckUtils]: 10: Hoare quadruple {3350#(<= (+ |old(~guard_malloc_counter~0.offset)| 1) |__getMemory_#res.offset|)} {3334#(= ~guard_malloc_counter~0.offset |old(~guard_malloc_counter~0.offset)|)} #91#return; {3346#(<= (+ |old(~guard_malloc_counter~0.offset)| 1) |my_malloc_#t~ret30.offset|)} is VALID [2020-07-11 01:05:27,183 INFO L280 TraceCheckUtils]: 0: Hoare triple {3319#(and (= ~guard_malloc_counter~0.offset |old(~guard_malloc_counter~0.offset)|) (= ~guard_malloc_counter~0.base |old(~guard_malloc_counter~0.base)|))} ~size := #in~size; {3334#(= ~guard_malloc_counter~0.offset |old(~guard_malloc_counter~0.offset)|)} is VALID [2020-07-11 01:05:27,184 INFO L263 TraceCheckUtils]: 1: Hoare triple {3334#(= ~guard_malloc_counter~0.offset |old(~guard_malloc_counter~0.offset)|)} call #t~ret30.base, #t~ret30.offset := __getMemory(~size); {3319#(and (= ~guard_malloc_counter~0.offset |old(~guard_malloc_counter~0.offset)|) (= ~guard_malloc_counter~0.base |old(~guard_malloc_counter~0.base)|))} is VALID [2020-07-11 01:05:27,184 INFO L280 TraceCheckUtils]: 2: Hoare triple {3319#(and (= ~guard_malloc_counter~0.offset |old(~guard_malloc_counter~0.offset)|) (= ~guard_malloc_counter~0.base |old(~guard_malloc_counter~0.base)|))} ~size := #in~size; {3334#(= ~guard_malloc_counter~0.offset |old(~guard_malloc_counter~0.offset)|)} is VALID [2020-07-11 01:05:27,185 INFO L280 TraceCheckUtils]: 3: Hoare triple {3334#(= ~guard_malloc_counter~0.offset |old(~guard_malloc_counter~0.offset)|)} assume ~size > 0; {3334#(= ~guard_malloc_counter~0.offset |old(~guard_malloc_counter~0.offset)|)} is VALID [2020-07-11 01:05:27,186 INFO L280 TraceCheckUtils]: 4: Hoare triple {3334#(= ~guard_malloc_counter~0.offset |old(~guard_malloc_counter~0.offset)|)} #t~post28.base, #t~post28.offset := ~guard_malloc_counter~0.base, ~guard_malloc_counter~0.offset; {3348#(= |old(~guard_malloc_counter~0.offset)| |__getMemory_#t~post28.offset|)} is VALID [2020-07-11 01:05:27,187 INFO L280 TraceCheckUtils]: 5: Hoare triple {3348#(= |old(~guard_malloc_counter~0.offset)| |__getMemory_#t~post28.offset|)} ~guard_malloc_counter~0.base, ~guard_malloc_counter~0.offset := #t~post28.base, 1 + #t~post28.offset; {3349#(<= (+ |old(~guard_malloc_counter~0.offset)| 1) ~guard_malloc_counter~0.offset)} is VALID [2020-07-11 01:05:27,188 INFO L280 TraceCheckUtils]: 6: Hoare triple {3349#(<= (+ |old(~guard_malloc_counter~0.offset)| 1) ~guard_malloc_counter~0.offset)} havoc #t~post28.base, #t~post28.offset; {3349#(<= (+ |old(~guard_malloc_counter~0.offset)| 1) ~guard_malloc_counter~0.offset)} is VALID [2020-07-11 01:05:27,188 INFO L280 TraceCheckUtils]: 7: Hoare triple {3349#(<= (+ |old(~guard_malloc_counter~0.offset)| 1) ~guard_malloc_counter~0.offset)} assume -2147483648 <= #t~nondet29 && #t~nondet29 <= 2147483647; {3349#(<= (+ |old(~guard_malloc_counter~0.offset)| 1) ~guard_malloc_counter~0.offset)} is VALID [2020-07-11 01:05:27,189 INFO L280 TraceCheckUtils]: 8: Hoare triple {3349#(<= (+ |old(~guard_malloc_counter~0.offset)| 1) ~guard_malloc_counter~0.offset)} assume !(0 == #t~nondet29); {3349#(<= (+ |old(~guard_malloc_counter~0.offset)| 1) ~guard_malloc_counter~0.offset)} is VALID [2020-07-11 01:05:27,189 INFO L280 TraceCheckUtils]: 9: Hoare triple {3349#(<= (+ |old(~guard_malloc_counter~0.offset)| 1) ~guard_malloc_counter~0.offset)} havoc #t~nondet29; {3349#(<= (+ |old(~guard_malloc_counter~0.offset)| 1) ~guard_malloc_counter~0.offset)} is VALID [2020-07-11 01:05:27,190 INFO L280 TraceCheckUtils]: 10: Hoare triple {3349#(<= (+ |old(~guard_malloc_counter~0.offset)| 1) ~guard_malloc_counter~0.offset)} #res.base, #res.offset := ~guard_malloc_counter~0.base, ~guard_malloc_counter~0.offset; {3350#(<= (+ |old(~guard_malloc_counter~0.offset)| 1) |__getMemory_#res.offset|)} is VALID [2020-07-11 01:05:27,190 INFO L280 TraceCheckUtils]: 11: Hoare triple {3350#(<= (+ |old(~guard_malloc_counter~0.offset)| 1) |__getMemory_#res.offset|)} assume true; {3350#(<= (+ |old(~guard_malloc_counter~0.offset)| 1) |__getMemory_#res.offset|)} is VALID [2020-07-11 01:05:27,191 INFO L275 TraceCheckUtils]: 12: Hoare quadruple {3350#(<= (+ |old(~guard_malloc_counter~0.offset)| 1) |__getMemory_#res.offset|)} {3334#(= ~guard_malloc_counter~0.offset |old(~guard_malloc_counter~0.offset)|)} #91#return; {3346#(<= (+ |old(~guard_malloc_counter~0.offset)| 1) |my_malloc_#t~ret30.offset|)} is VALID [2020-07-11 01:05:27,192 INFO L280 TraceCheckUtils]: 13: Hoare triple {3346#(<= (+ |old(~guard_malloc_counter~0.offset)| 1) |my_malloc_#t~ret30.offset|)} #res.base, #res.offset := #t~ret30.base, #t~ret30.offset; {3347#(<= (+ |old(~guard_malloc_counter~0.offset)| 1) |my_malloc_#res.offset|)} is VALID [2020-07-11 01:05:27,193 INFO L280 TraceCheckUtils]: 14: Hoare triple {3347#(<= (+ |old(~guard_malloc_counter~0.offset)| 1) |my_malloc_#res.offset|)} havoc #t~ret30.base, #t~ret30.offset; {3347#(<= (+ |old(~guard_malloc_counter~0.offset)| 1) |my_malloc_#res.offset|)} is VALID [2020-07-11 01:05:27,193 INFO L280 TraceCheckUtils]: 15: Hoare triple {3347#(<= (+ |old(~guard_malloc_counter~0.offset)| 1) |my_malloc_#res.offset|)} assume true; {3347#(<= (+ |old(~guard_malloc_counter~0.offset)| 1) |my_malloc_#res.offset|)} is VALID [2020-07-11 01:05:27,194 INFO L275 TraceCheckUtils]: 16: Hoare quadruple {3347#(<= (+ |old(~guard_malloc_counter~0.offset)| 1) |my_malloc_#res.offset|)} {3286#(<= main_~dev1~0.offset ~guard_malloc_counter~0.offset)} #95#return; {3304#(<= (+ main_~dev1~0.offset 1) |main_#t~ret33.offset|)} is VALID [2020-07-11 01:05:27,222 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2020-07-11 01:05:27,282 INFO L280 TraceCheckUtils]: 0: Hoare triple {3351#(and (= ~elem~0.base |old(~elem~0.base)|) (= ~elem~0.offset |old(~elem~0.offset)|))} ~new.base, ~new.offset := #in~new.base, #in~new.offset; {3352#(= |list_add_#in~new.offset| list_add_~new.offset)} is VALID [2020-07-11 01:05:27,283 INFO L280 TraceCheckUtils]: 1: Hoare triple {3352#(= |list_add_#in~new.offset| list_add_~new.offset)} ~head.base, ~head.offset := #in~head.base, #in~head.offset; {3352#(= |list_add_#in~new.offset| list_add_~new.offset)} is VALID [2020-07-11 01:05:27,283 INFO L280 TraceCheckUtils]: 2: Hoare triple {3352#(= |list_add_#in~new.offset| list_add_~new.offset)} assume ~new.base != ~elem~0.base || ~new.offset != ~elem~0.offset; {3352#(= |list_add_#in~new.offset| list_add_~new.offset)} is VALID [2020-07-11 01:05:27,284 INFO L280 TraceCheckUtils]: 3: Hoare triple {3352#(= |list_add_#in~new.offset| list_add_~new.offset)} assume -2147483648 <= #t~nondet31 && #t~nondet31 <= 2147483647; {3352#(= |list_add_#in~new.offset| list_add_~new.offset)} is VALID [2020-07-11 01:05:27,284 INFO L280 TraceCheckUtils]: 4: Hoare triple {3352#(= |list_add_#in~new.offset| list_add_~new.offset)} assume 0 != #t~nondet31; {3352#(= |list_add_#in~new.offset| list_add_~new.offset)} is VALID [2020-07-11 01:05:27,285 INFO L280 TraceCheckUtils]: 5: Hoare triple {3352#(= |list_add_#in~new.offset| list_add_~new.offset)} havoc #t~nondet31; {3352#(= |list_add_#in~new.offset| list_add_~new.offset)} is VALID [2020-07-11 01:05:27,286 INFO L280 TraceCheckUtils]: 6: Hoare triple {3352#(= |list_add_#in~new.offset| list_add_~new.offset)} ~elem~0.base, ~elem~0.offset := ~new.base, ~new.offset; {3353#(= ~elem~0.offset |list_add_#in~new.offset|)} is VALID [2020-07-11 01:05:27,287 INFO L280 TraceCheckUtils]: 7: Hoare triple {3353#(= ~elem~0.offset |list_add_#in~new.offset|)} assume true; {3353#(= ~elem~0.offset |list_add_#in~new.offset|)} is VALID [2020-07-11 01:05:27,288 INFO L275 TraceCheckUtils]: 8: Hoare quadruple {3353#(= ~elem~0.offset |list_add_#in~new.offset|)} {3305#(<= (+ main_~dev1~0.offset 1) main_~dev2~0.offset)} #97#return; {3315#(<= (+ main_~dev1~0.offset 1) ~elem~0.offset)} is VALID [2020-07-11 01:05:27,290 INFO L263 TraceCheckUtils]: 0: Hoare triple {3256#true} call ULTIMATE.init(); {3318#(and (= |#valid| |old(#valid)|) (= ~elem~0.base |old(~elem~0.base)|) (= |#NULL.base| |old(#NULL.base)|) (= |~#head~0.base| |old(~#head~0.base)|) (= ~guard_malloc_counter~0.offset |old(~guard_malloc_counter~0.offset)|) (= |#NULL.offset| |old(#NULL.offset)|) (= ~elem~0.offset |old(~elem~0.offset)|) (= |old(#length)| |#length|) (= |~#head~0.offset| |old(~#head~0.offset)|) (= ~guard_malloc_counter~0.base |old(~guard_malloc_counter~0.base)|))} is VALID [2020-07-11 01:05:27,290 INFO L280 TraceCheckUtils]: 1: Hoare triple {3318#(and (= |#valid| |old(#valid)|) (= ~elem~0.base |old(~elem~0.base)|) (= |#NULL.base| |old(#NULL.base)|) (= |~#head~0.base| |old(~#head~0.base)|) (= ~guard_malloc_counter~0.offset |old(~guard_malloc_counter~0.offset)|) (= |#NULL.offset| |old(#NULL.offset)|) (= ~elem~0.offset |old(~elem~0.offset)|) (= |old(#length)| |#length|) (= |~#head~0.offset| |old(~#head~0.offset)|) (= ~guard_malloc_counter~0.base |old(~guard_malloc_counter~0.base)|))} #NULL.base, #NULL.offset := 0, 0; {3256#true} is VALID [2020-07-11 01:05:27,290 INFO L280 TraceCheckUtils]: 2: Hoare triple {3256#true} #valid := #valid[0 := 0]; {3256#true} is VALID [2020-07-11 01:05:27,291 INFO L280 TraceCheckUtils]: 3: Hoare triple {3256#true} assume 0 < #StackHeapBarrier; {3256#true} is VALID [2020-07-11 01:05:27,291 INFO L280 TraceCheckUtils]: 4: Hoare triple {3256#true} ~guard_malloc_counter~0.base, ~guard_malloc_counter~0.offset := 0, 0; {3256#true} is VALID [2020-07-11 01:05:27,291 INFO L280 TraceCheckUtils]: 5: Hoare triple {3256#true} ~elem~0.base, ~elem~0.offset := 0, 0; {3256#true} is VALID [2020-07-11 01:05:27,291 INFO L280 TraceCheckUtils]: 6: Hoare triple {3256#true} SUMMARY for call ~#head~0.base, ~#head~0.offset := #Ultimate.allocOnStack(8); srcloc: L900 {3256#true} is VALID [2020-07-11 01:05:27,292 INFO L280 TraceCheckUtils]: 7: Hoare triple {3256#true} SUMMARY for call write~init~$Pointer$(0, 0, ~#head~0.base, ~#head~0.offset, 4); srcloc: L900-1 {3256#true} is VALID [2020-07-11 01:05:27,292 INFO L280 TraceCheckUtils]: 8: Hoare triple {3256#true} SUMMARY for call write~init~$Pointer$(0, 0, ~#head~0.base, 4 + ~#head~0.offset, 4); srcloc: L900-2 {3256#true} is VALID [2020-07-11 01:05:27,292 INFO L280 TraceCheckUtils]: 9: Hoare triple {3256#true} assume true; {3256#true} is VALID [2020-07-11 01:05:27,292 INFO L275 TraceCheckUtils]: 10: Hoare quadruple {3256#true} {3256#true} #109#return; {3256#true} is VALID [2020-07-11 01:05:27,293 INFO L263 TraceCheckUtils]: 11: Hoare triple {3256#true} call #t~ret34 := main(); {3256#true} is VALID [2020-07-11 01:05:27,293 INFO L280 TraceCheckUtils]: 12: Hoare triple {3256#true} havoc ~dev1~0.base, ~dev1~0.offset; {3256#true} is VALID [2020-07-11 01:05:27,293 INFO L280 TraceCheckUtils]: 13: Hoare triple {3256#true} havoc ~dev2~0.base, ~dev2~0.offset; {3256#true} is VALID [2020-07-11 01:05:27,294 INFO L263 TraceCheckUtils]: 14: Hoare triple {3256#true} call #t~ret32.base, #t~ret32.offset := my_malloc(8); {3319#(and (= ~guard_malloc_counter~0.offset |old(~guard_malloc_counter~0.offset)|) (= ~guard_malloc_counter~0.base |old(~guard_malloc_counter~0.base)|))} is VALID [2020-07-11 01:05:27,294 INFO L280 TraceCheckUtils]: 15: Hoare triple {3319#(and (= ~guard_malloc_counter~0.offset |old(~guard_malloc_counter~0.offset)|) (= ~guard_malloc_counter~0.base |old(~guard_malloc_counter~0.base)|))} ~size := #in~size; {3256#true} is VALID [2020-07-11 01:05:27,295 INFO L263 TraceCheckUtils]: 16: Hoare triple {3256#true} call #t~ret30.base, #t~ret30.offset := __getMemory(~size); {3319#(and (= ~guard_malloc_counter~0.offset |old(~guard_malloc_counter~0.offset)|) (= ~guard_malloc_counter~0.base |old(~guard_malloc_counter~0.base)|))} is VALID [2020-07-11 01:05:27,295 INFO L280 TraceCheckUtils]: 17: Hoare triple {3319#(and (= ~guard_malloc_counter~0.offset |old(~guard_malloc_counter~0.offset)|) (= ~guard_malloc_counter~0.base |old(~guard_malloc_counter~0.base)|))} ~size := #in~size; {3256#true} is VALID [2020-07-11 01:05:27,295 INFO L280 TraceCheckUtils]: 18: Hoare triple {3256#true} assume ~size > 0; {3256#true} is VALID [2020-07-11 01:05:27,295 INFO L280 TraceCheckUtils]: 19: Hoare triple {3256#true} #t~post28.base, #t~post28.offset := ~guard_malloc_counter~0.base, ~guard_malloc_counter~0.offset; {3256#true} is VALID [2020-07-11 01:05:27,296 INFO L280 TraceCheckUtils]: 20: Hoare triple {3256#true} ~guard_malloc_counter~0.base, ~guard_malloc_counter~0.offset := #t~post28.base, 1 + #t~post28.offset; {3256#true} is VALID [2020-07-11 01:05:27,296 INFO L280 TraceCheckUtils]: 21: Hoare triple {3256#true} havoc #t~post28.base, #t~post28.offset; {3256#true} is VALID [2020-07-11 01:05:27,296 INFO L280 TraceCheckUtils]: 22: Hoare triple {3256#true} assume -2147483648 <= #t~nondet29 && #t~nondet29 <= 2147483647; {3256#true} is VALID [2020-07-11 01:05:27,296 INFO L280 TraceCheckUtils]: 23: Hoare triple {3256#true} assume !(0 == #t~nondet29); {3256#true} is VALID [2020-07-11 01:05:27,296 INFO L280 TraceCheckUtils]: 24: Hoare triple {3256#true} havoc #t~nondet29; {3256#true} is VALID [2020-07-11 01:05:27,297 INFO L280 TraceCheckUtils]: 25: Hoare triple {3256#true} #res.base, #res.offset := ~guard_malloc_counter~0.base, ~guard_malloc_counter~0.offset; {3333#(<= |__getMemory_#res.offset| ~guard_malloc_counter~0.offset)} is VALID [2020-07-11 01:05:27,298 INFO L280 TraceCheckUtils]: 26: Hoare triple {3333#(<= |__getMemory_#res.offset| ~guard_malloc_counter~0.offset)} assume true; {3333#(<= |__getMemory_#res.offset| ~guard_malloc_counter~0.offset)} is VALID [2020-07-11 01:05:27,299 INFO L275 TraceCheckUtils]: 27: Hoare quadruple {3333#(<= |__getMemory_#res.offset| ~guard_malloc_counter~0.offset)} {3256#true} #91#return; {3331#(<= |my_malloc_#t~ret30.offset| ~guard_malloc_counter~0.offset)} is VALID [2020-07-11 01:05:27,299 INFO L280 TraceCheckUtils]: 28: Hoare triple {3331#(<= |my_malloc_#t~ret30.offset| ~guard_malloc_counter~0.offset)} #res.base, #res.offset := #t~ret30.base, #t~ret30.offset; {3332#(<= |my_malloc_#res.offset| ~guard_malloc_counter~0.offset)} is VALID [2020-07-11 01:05:27,300 INFO L280 TraceCheckUtils]: 29: Hoare triple {3332#(<= |my_malloc_#res.offset| ~guard_malloc_counter~0.offset)} havoc #t~ret30.base, #t~ret30.offset; {3332#(<= |my_malloc_#res.offset| ~guard_malloc_counter~0.offset)} is VALID [2020-07-11 01:05:27,300 INFO L280 TraceCheckUtils]: 30: Hoare triple {3332#(<= |my_malloc_#res.offset| ~guard_malloc_counter~0.offset)} assume true; {3332#(<= |my_malloc_#res.offset| ~guard_malloc_counter~0.offset)} is VALID [2020-07-11 01:05:27,302 INFO L275 TraceCheckUtils]: 31: Hoare quadruple {3332#(<= |my_malloc_#res.offset| ~guard_malloc_counter~0.offset)} {3256#true} #93#return; {3285#(<= |main_#t~ret32.offset| ~guard_malloc_counter~0.offset)} is VALID [2020-07-11 01:05:27,302 INFO L280 TraceCheckUtils]: 32: Hoare triple {3285#(<= |main_#t~ret32.offset| ~guard_malloc_counter~0.offset)} ~dev1~0.base, ~dev1~0.offset := #t~ret32.base, #t~ret32.offset; {3286#(<= main_~dev1~0.offset ~guard_malloc_counter~0.offset)} is VALID [2020-07-11 01:05:27,303 INFO L280 TraceCheckUtils]: 33: Hoare triple {3286#(<= main_~dev1~0.offset ~guard_malloc_counter~0.offset)} havoc #t~ret32.base, #t~ret32.offset; {3286#(<= main_~dev1~0.offset ~guard_malloc_counter~0.offset)} is VALID [2020-07-11 01:05:27,304 INFO L263 TraceCheckUtils]: 34: Hoare triple {3286#(<= main_~dev1~0.offset ~guard_malloc_counter~0.offset)} call #t~ret33.base, #t~ret33.offset := my_malloc(8); {3319#(and (= ~guard_malloc_counter~0.offset |old(~guard_malloc_counter~0.offset)|) (= ~guard_malloc_counter~0.base |old(~guard_malloc_counter~0.base)|))} is VALID [2020-07-11 01:05:27,305 INFO L280 TraceCheckUtils]: 35: Hoare triple {3319#(and (= ~guard_malloc_counter~0.offset |old(~guard_malloc_counter~0.offset)|) (= ~guard_malloc_counter~0.base |old(~guard_malloc_counter~0.base)|))} ~size := #in~size; {3334#(= ~guard_malloc_counter~0.offset |old(~guard_malloc_counter~0.offset)|)} is VALID [2020-07-11 01:05:27,306 INFO L263 TraceCheckUtils]: 36: Hoare triple {3334#(= ~guard_malloc_counter~0.offset |old(~guard_malloc_counter~0.offset)|)} call #t~ret30.base, #t~ret30.offset := __getMemory(~size); {3319#(and (= ~guard_malloc_counter~0.offset |old(~guard_malloc_counter~0.offset)|) (= ~guard_malloc_counter~0.base |old(~guard_malloc_counter~0.base)|))} is VALID [2020-07-11 01:05:27,306 INFO L280 TraceCheckUtils]: 37: Hoare triple {3319#(and (= ~guard_malloc_counter~0.offset |old(~guard_malloc_counter~0.offset)|) (= ~guard_malloc_counter~0.base |old(~guard_malloc_counter~0.base)|))} ~size := #in~size; {3334#(= ~guard_malloc_counter~0.offset |old(~guard_malloc_counter~0.offset)|)} is VALID [2020-07-11 01:05:27,307 INFO L280 TraceCheckUtils]: 38: Hoare triple {3334#(= ~guard_malloc_counter~0.offset |old(~guard_malloc_counter~0.offset)|)} assume ~size > 0; {3334#(= ~guard_malloc_counter~0.offset |old(~guard_malloc_counter~0.offset)|)} is VALID [2020-07-11 01:05:27,308 INFO L280 TraceCheckUtils]: 39: Hoare triple {3334#(= ~guard_malloc_counter~0.offset |old(~guard_malloc_counter~0.offset)|)} #t~post28.base, #t~post28.offset := ~guard_malloc_counter~0.base, ~guard_malloc_counter~0.offset; {3348#(= |old(~guard_malloc_counter~0.offset)| |__getMemory_#t~post28.offset|)} is VALID [2020-07-11 01:05:27,309 INFO L280 TraceCheckUtils]: 40: Hoare triple {3348#(= |old(~guard_malloc_counter~0.offset)| |__getMemory_#t~post28.offset|)} ~guard_malloc_counter~0.base, ~guard_malloc_counter~0.offset := #t~post28.base, 1 + #t~post28.offset; {3349#(<= (+ |old(~guard_malloc_counter~0.offset)| 1) ~guard_malloc_counter~0.offset)} is VALID [2020-07-11 01:05:27,309 INFO L280 TraceCheckUtils]: 41: Hoare triple {3349#(<= (+ |old(~guard_malloc_counter~0.offset)| 1) ~guard_malloc_counter~0.offset)} havoc #t~post28.base, #t~post28.offset; {3349#(<= (+ |old(~guard_malloc_counter~0.offset)| 1) ~guard_malloc_counter~0.offset)} is VALID [2020-07-11 01:05:27,310 INFO L280 TraceCheckUtils]: 42: Hoare triple {3349#(<= (+ |old(~guard_malloc_counter~0.offset)| 1) ~guard_malloc_counter~0.offset)} assume -2147483648 <= #t~nondet29 && #t~nondet29 <= 2147483647; {3349#(<= (+ |old(~guard_malloc_counter~0.offset)| 1) ~guard_malloc_counter~0.offset)} is VALID [2020-07-11 01:05:27,311 INFO L280 TraceCheckUtils]: 43: Hoare triple {3349#(<= (+ |old(~guard_malloc_counter~0.offset)| 1) ~guard_malloc_counter~0.offset)} assume !(0 == #t~nondet29); {3349#(<= (+ |old(~guard_malloc_counter~0.offset)| 1) ~guard_malloc_counter~0.offset)} is VALID [2020-07-11 01:05:27,311 INFO L280 TraceCheckUtils]: 44: Hoare triple {3349#(<= (+ |old(~guard_malloc_counter~0.offset)| 1) ~guard_malloc_counter~0.offset)} havoc #t~nondet29; {3349#(<= (+ |old(~guard_malloc_counter~0.offset)| 1) ~guard_malloc_counter~0.offset)} is VALID [2020-07-11 01:05:27,312 INFO L280 TraceCheckUtils]: 45: Hoare triple {3349#(<= (+ |old(~guard_malloc_counter~0.offset)| 1) ~guard_malloc_counter~0.offset)} #res.base, #res.offset := ~guard_malloc_counter~0.base, ~guard_malloc_counter~0.offset; {3350#(<= (+ |old(~guard_malloc_counter~0.offset)| 1) |__getMemory_#res.offset|)} is VALID [2020-07-11 01:05:27,313 INFO L280 TraceCheckUtils]: 46: Hoare triple {3350#(<= (+ |old(~guard_malloc_counter~0.offset)| 1) |__getMemory_#res.offset|)} assume true; {3350#(<= (+ |old(~guard_malloc_counter~0.offset)| 1) |__getMemory_#res.offset|)} is VALID [2020-07-11 01:05:27,314 INFO L275 TraceCheckUtils]: 47: Hoare quadruple {3350#(<= (+ |old(~guard_malloc_counter~0.offset)| 1) |__getMemory_#res.offset|)} {3334#(= ~guard_malloc_counter~0.offset |old(~guard_malloc_counter~0.offset)|)} #91#return; {3346#(<= (+ |old(~guard_malloc_counter~0.offset)| 1) |my_malloc_#t~ret30.offset|)} is VALID [2020-07-11 01:05:27,314 INFO L280 TraceCheckUtils]: 48: Hoare triple {3346#(<= (+ |old(~guard_malloc_counter~0.offset)| 1) |my_malloc_#t~ret30.offset|)} #res.base, #res.offset := #t~ret30.base, #t~ret30.offset; {3347#(<= (+ |old(~guard_malloc_counter~0.offset)| 1) |my_malloc_#res.offset|)} is VALID [2020-07-11 01:05:27,315 INFO L280 TraceCheckUtils]: 49: Hoare triple {3347#(<= (+ |old(~guard_malloc_counter~0.offset)| 1) |my_malloc_#res.offset|)} havoc #t~ret30.base, #t~ret30.offset; {3347#(<= (+ |old(~guard_malloc_counter~0.offset)| 1) |my_malloc_#res.offset|)} is VALID [2020-07-11 01:05:27,315 INFO L280 TraceCheckUtils]: 50: Hoare triple {3347#(<= (+ |old(~guard_malloc_counter~0.offset)| 1) |my_malloc_#res.offset|)} assume true; {3347#(<= (+ |old(~guard_malloc_counter~0.offset)| 1) |my_malloc_#res.offset|)} is VALID [2020-07-11 01:05:27,317 INFO L275 TraceCheckUtils]: 51: Hoare quadruple {3347#(<= (+ |old(~guard_malloc_counter~0.offset)| 1) |my_malloc_#res.offset|)} {3286#(<= main_~dev1~0.offset ~guard_malloc_counter~0.offset)} #95#return; {3304#(<= (+ main_~dev1~0.offset 1) |main_#t~ret33.offset|)} is VALID [2020-07-11 01:05:27,318 INFO L280 TraceCheckUtils]: 52: Hoare triple {3304#(<= (+ main_~dev1~0.offset 1) |main_#t~ret33.offset|)} ~dev2~0.base, ~dev2~0.offset := #t~ret33.base, #t~ret33.offset; {3305#(<= (+ main_~dev1~0.offset 1) main_~dev2~0.offset)} is VALID [2020-07-11 01:05:27,318 INFO L280 TraceCheckUtils]: 53: Hoare triple {3305#(<= (+ main_~dev1~0.offset 1) main_~dev2~0.offset)} havoc #t~ret33.base, #t~ret33.offset; {3305#(<= (+ main_~dev1~0.offset 1) main_~dev2~0.offset)} is VALID [2020-07-11 01:05:27,319 INFO L280 TraceCheckUtils]: 54: Hoare triple {3305#(<= (+ main_~dev1~0.offset 1) main_~dev2~0.offset)} assume (~dev1~0.base != 0 || ~dev1~0.offset != 0) && (~dev2~0.base != 0 || ~dev2~0.offset != 0); {3305#(<= (+ main_~dev1~0.offset 1) main_~dev2~0.offset)} is VALID [2020-07-11 01:05:27,320 INFO L263 TraceCheckUtils]: 55: Hoare triple {3305#(<= (+ main_~dev1~0.offset 1) main_~dev2~0.offset)} call list_add(~dev2~0.base, ~dev2~0.offset, ~#head~0.base, ~#head~0.offset); {3351#(and (= ~elem~0.base |old(~elem~0.base)|) (= ~elem~0.offset |old(~elem~0.offset)|))} is VALID [2020-07-11 01:05:27,321 INFO L280 TraceCheckUtils]: 56: Hoare triple {3351#(and (= ~elem~0.base |old(~elem~0.base)|) (= ~elem~0.offset |old(~elem~0.offset)|))} ~new.base, ~new.offset := #in~new.base, #in~new.offset; {3352#(= |list_add_#in~new.offset| list_add_~new.offset)} is VALID [2020-07-11 01:05:27,322 INFO L280 TraceCheckUtils]: 57: Hoare triple {3352#(= |list_add_#in~new.offset| list_add_~new.offset)} ~head.base, ~head.offset := #in~head.base, #in~head.offset; {3352#(= |list_add_#in~new.offset| list_add_~new.offset)} is VALID [2020-07-11 01:05:27,323 INFO L280 TraceCheckUtils]: 58: Hoare triple {3352#(= |list_add_#in~new.offset| list_add_~new.offset)} assume ~new.base != ~elem~0.base || ~new.offset != ~elem~0.offset; {3352#(= |list_add_#in~new.offset| list_add_~new.offset)} is VALID [2020-07-11 01:05:27,323 INFO L280 TraceCheckUtils]: 59: Hoare triple {3352#(= |list_add_#in~new.offset| list_add_~new.offset)} assume -2147483648 <= #t~nondet31 && #t~nondet31 <= 2147483647; {3352#(= |list_add_#in~new.offset| list_add_~new.offset)} is VALID [2020-07-11 01:05:27,324 INFO L280 TraceCheckUtils]: 60: Hoare triple {3352#(= |list_add_#in~new.offset| list_add_~new.offset)} assume 0 != #t~nondet31; {3352#(= |list_add_#in~new.offset| list_add_~new.offset)} is VALID [2020-07-11 01:05:27,325 INFO L280 TraceCheckUtils]: 61: Hoare triple {3352#(= |list_add_#in~new.offset| list_add_~new.offset)} havoc #t~nondet31; {3352#(= |list_add_#in~new.offset| list_add_~new.offset)} is VALID [2020-07-11 01:05:27,325 INFO L280 TraceCheckUtils]: 62: Hoare triple {3352#(= |list_add_#in~new.offset| list_add_~new.offset)} ~elem~0.base, ~elem~0.offset := ~new.base, ~new.offset; {3353#(= ~elem~0.offset |list_add_#in~new.offset|)} is VALID [2020-07-11 01:05:27,326 INFO L280 TraceCheckUtils]: 63: Hoare triple {3353#(= ~elem~0.offset |list_add_#in~new.offset|)} assume true; {3353#(= ~elem~0.offset |list_add_#in~new.offset|)} is VALID [2020-07-11 01:05:27,327 INFO L275 TraceCheckUtils]: 64: Hoare quadruple {3353#(= ~elem~0.offset |list_add_#in~new.offset|)} {3305#(<= (+ main_~dev1~0.offset 1) main_~dev2~0.offset)} #97#return; {3315#(<= (+ main_~dev1~0.offset 1) ~elem~0.offset)} is VALID [2020-07-11 01:05:27,328 INFO L263 TraceCheckUtils]: 65: Hoare triple {3315#(<= (+ main_~dev1~0.offset 1) ~elem~0.offset)} call list_add(~dev1~0.base, ~dev1~0.offset, ~#head~0.base, ~#head~0.offset); {3316#(<= (+ |list_add_#in~new.offset| 1) ~elem~0.offset)} is VALID [2020-07-11 01:05:27,329 INFO L280 TraceCheckUtils]: 66: Hoare triple {3316#(<= (+ |list_add_#in~new.offset| 1) ~elem~0.offset)} ~new.base, ~new.offset := #in~new.base, #in~new.offset; {3317#(not (= ~elem~0.offset list_add_~new.offset))} is VALID [2020-07-11 01:05:27,330 INFO L280 TraceCheckUtils]: 67: Hoare triple {3317#(not (= ~elem~0.offset list_add_~new.offset))} ~head.base, ~head.offset := #in~head.base, #in~head.offset; {3317#(not (= ~elem~0.offset list_add_~new.offset))} is VALID [2020-07-11 01:05:27,330 INFO L280 TraceCheckUtils]: 68: Hoare triple {3317#(not (= ~elem~0.offset list_add_~new.offset))} assume !(~new.base != ~elem~0.base || ~new.offset != ~elem~0.offset); {3257#false} is VALID [2020-07-11 01:05:27,330 INFO L263 TraceCheckUtils]: 69: Hoare triple {3257#false} call __blast_assert(); {3257#false} is VALID [2020-07-11 01:05:27,331 INFO L280 TraceCheckUtils]: 70: Hoare triple {3257#false} assume !false; {3257#false} is VALID [2020-07-11 01:05:27,337 INFO L134 CoverageAnalysis]: Checked inductivity of 20 backedges. 9 proven. 9 refuted. 0 times theorem prover too weak. 2 trivial. 0 not checked. [2020-07-11 01:05:27,338 INFO L354 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModulePreferences [409345350] [2020-07-11 01:05:27,338 INFO L220 FreeRefinementEngine]: Constructing automaton from 0 perfect and 1 imperfect interpolant sequences. [2020-07-11 01:05:27,338 INFO L233 FreeRefinementEngine]: Number of different interpolants: perfect sequences [] imperfect sequences [23] total 23 [2020-07-11 01:05:27,338 INFO L156 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [1590322197] [2020-07-11 01:05:27,339 INFO L78 Accepts]: Start accepts. Automaton has 23 states. Word has length 71 [2020-07-11 01:05:27,340 INFO L84 Accepts]: Finished accepts. word is accepted. [2020-07-11 01:05:27,340 INFO L86 InductivityCheck]: Starting indutivity check of a Floyd-Hoare automaton with 23 states. [2020-07-11 01:05:27,417 INFO L119 InductivityCheck]: Floyd-Hoare automaton has 71 edges. 71 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2020-07-11 01:05:27,417 INFO L459 AbstractCegarLoop]: Interpolant automaton has 23 states [2020-07-11 01:05:27,418 INFO L143 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy FIXED_PREFERENCES [2020-07-11 01:05:27,418 INFO L142 InterpolantAutomaton]: Constructing interpolant automaton starting with 23 interpolants. [2020-07-11 01:05:27,418 INFO L144 InterpolantAutomaton]: CoverageRelationStatistics Valid=47, Invalid=459, Unknown=0, NotChecked=0, Total=506 [2020-07-11 01:05:27,419 INFO L87 Difference]: Start difference. First operand 76 states and 82 transitions. Second operand 23 states. [2020-07-11 01:05:32,469 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2020-07-11 01:05:32,470 INFO L93 Difference]: Finished difference Result 93 states and 101 transitions. [2020-07-11 01:05:32,470 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 26 states. [2020-07-11 01:05:32,470 INFO L78 Accepts]: Start accepts. Automaton has 23 states. Word has length 71 [2020-07-11 01:05:32,470 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2020-07-11 01:05:32,470 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 23 states. [2020-07-11 01:05:32,473 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 26 states to 26 states and 88 transitions. [2020-07-11 01:05:32,474 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 23 states. [2020-07-11 01:05:32,476 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 26 states to 26 states and 88 transitions. [2020-07-11 01:05:32,477 INFO L86 InductivityCheck]: Starting indutivity check of a Floyd-Hoare automaton with 26 states and 88 transitions. [2020-07-11 01:05:32,636 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-11 01:05:32,639 INFO L225 Difference]: With dead ends: 93 [2020-07-11 01:05:32,639 INFO L226 Difference]: Without dead ends: 85 [2020-07-11 01:05:32,640 INFO L675 BasicCegarLoop]: 0 DeclaredPredicates, 51 GetRequests, 9 SyntacticMatches, 0 SemanticMatches, 42 ConstructedPredicates, 0 IntricatePredicates, 0 DeprecatedPredicates, 205 ImplicationChecksByTransitivity, 1.1s TimeCoverageRelationStatistics Valid=210, Invalid=1682, Unknown=0, NotChecked=0, Total=1892 [2020-07-11 01:05:32,641 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 85 states. [2020-07-11 01:05:33,004 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 85 to 79. [2020-07-11 01:05:33,004 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2020-07-11 01:05:33,004 INFO L82 GeneralOperation]: Start isEquivalent. First operand 85 states. Second operand 79 states. [2020-07-11 01:05:33,004 INFO L74 IsIncluded]: Start isIncluded. First operand 85 states. Second operand 79 states. [2020-07-11 01:05:33,004 INFO L87 Difference]: Start difference. First operand 85 states. Second operand 79 states. [2020-07-11 01:05:33,009 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2020-07-11 01:05:33,009 INFO L93 Difference]: Finished difference Result 85 states and 92 transitions. [2020-07-11 01:05:33,009 INFO L276 IsEmpty]: Start isEmpty. Operand 85 states and 92 transitions. [2020-07-11 01:05:33,010 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2020-07-11 01:05:33,010 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2020-07-11 01:05:33,010 INFO L74 IsIncluded]: Start isIncluded. First operand 79 states. Second operand 85 states. [2020-07-11 01:05:33,010 INFO L87 Difference]: Start difference. First operand 79 states. Second operand 85 states. [2020-07-11 01:05:33,014 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2020-07-11 01:05:33,014 INFO L93 Difference]: Finished difference Result 85 states and 92 transitions. [2020-07-11 01:05:33,014 INFO L276 IsEmpty]: Start isEmpty. Operand 85 states and 92 transitions. [2020-07-11 01:05:33,015 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2020-07-11 01:05:33,015 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2020-07-11 01:05:33,015 INFO L88 GeneralOperation]: Finished isEquivalent. [2020-07-11 01:05:33,015 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2020-07-11 01:05:33,015 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 79 states. [2020-07-11 01:05:33,018 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 79 states to 79 states and 84 transitions. [2020-07-11 01:05:33,018 INFO L78 Accepts]: Start accepts. Automaton has 79 states and 84 transitions. Word has length 71 [2020-07-11 01:05:33,018 INFO L84 Accepts]: Finished accepts. word is rejected. [2020-07-11 01:05:33,019 INFO L479 AbstractCegarLoop]: Abstraction has 79 states and 84 transitions. [2020-07-11 01:05:33,019 INFO L480 AbstractCegarLoop]: Interpolant automaton has 23 states. [2020-07-11 01:05:33,019 INFO L86 InductivityCheck]: Starting indutivity check of a Floyd-Hoare automaton with 79 states and 84 transitions. [2020-07-11 01:05:33,201 INFO L119 InductivityCheck]: Floyd-Hoare automaton has 84 edges. 84 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2020-07-11 01:05:33,201 INFO L276 IsEmpty]: Start isEmpty. Operand 79 states and 84 transitions. [2020-07-11 01:05:33,203 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 86 [2020-07-11 01:05:33,203 INFO L414 BasicCegarLoop]: Found error trace [2020-07-11 01:05:33,203 INFO L422 BasicCegarLoop]: trace histogram [3, 3, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1] [2020-07-11 01:05:33,204 WARN L516 AbstractCegarLoop]: Destroyed unattended storables created during the last iteration: SelfDestructingSolverStorable5 [2020-07-11 01:05:33,205 INFO L427 AbstractCegarLoop]: === Iteration 7 === [__blast_assertErr0ASSERT_VIOLATIONERROR_FUNCTION]=== [2020-07-11 01:05:33,205 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2020-07-11 01:05:33,205 INFO L82 PathProgramCache]: Analyzing trace with hash 2033290459, now seen corresponding path program 1 times [2020-07-11 01:05:33,205 INFO L163 FreeRefinementEngine]: Executing refinement strategy FIXED_PREFERENCES [2020-07-11 01:05:33,205 INFO L354 FreeRefinementEngine]: Using trace check IpTcStrategyModulePreferences [1454711568] [2020-07-11 01:05:33,206 INFO L94 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2020-07-11 01:05:33,224 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2020-07-11 01:05:33,371 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2020-07-11 01:05:33,380 INFO L280 TraceCheckUtils]: 0: Hoare triple {3986#(and (= |#valid| |old(#valid)|) (= ~elem~0.base |old(~elem~0.base)|) (= |#NULL.base| |old(#NULL.base)|) (= |~#head~0.base| |old(~#head~0.base)|) (= ~guard_malloc_counter~0.offset |old(~guard_malloc_counter~0.offset)|) (= |#NULL.offset| |old(#NULL.offset)|) (= ~elem~0.offset |old(~elem~0.offset)|) (= |old(#length)| |#length|) (= |~#head~0.offset| |old(~#head~0.offset)|) (= ~guard_malloc_counter~0.base |old(~guard_malloc_counter~0.base)|))} #NULL.base, #NULL.offset := 0, 0; {3912#true} is VALID [2020-07-11 01:05:33,381 INFO L280 TraceCheckUtils]: 1: Hoare triple {3912#true} #valid := #valid[0 := 0]; {3912#true} is VALID [2020-07-11 01:05:33,381 INFO L280 TraceCheckUtils]: 2: Hoare triple {3912#true} assume 0 < #StackHeapBarrier; {3912#true} is VALID [2020-07-11 01:05:33,381 INFO L280 TraceCheckUtils]: 3: Hoare triple {3912#true} ~guard_malloc_counter~0.base, ~guard_malloc_counter~0.offset := 0, 0; {3912#true} is VALID [2020-07-11 01:05:33,381 INFO L280 TraceCheckUtils]: 4: Hoare triple {3912#true} ~elem~0.base, ~elem~0.offset := 0, 0; {3912#true} is VALID [2020-07-11 01:05:33,381 INFO L280 TraceCheckUtils]: 5: Hoare triple {3912#true} SUMMARY for call ~#head~0.base, ~#head~0.offset := #Ultimate.allocOnStack(8); srcloc: L900 {3912#true} is VALID [2020-07-11 01:05:33,382 INFO L280 TraceCheckUtils]: 6: Hoare triple {3912#true} SUMMARY for call write~init~$Pointer$(0, 0, ~#head~0.base, ~#head~0.offset, 4); srcloc: L900-1 {3912#true} is VALID [2020-07-11 01:05:33,382 INFO L280 TraceCheckUtils]: 7: Hoare triple {3912#true} SUMMARY for call write~init~$Pointer$(0, 0, ~#head~0.base, 4 + ~#head~0.offset, 4); srcloc: L900-2 {3912#true} is VALID [2020-07-11 01:05:33,382 INFO L280 TraceCheckUtils]: 8: Hoare triple {3912#true} assume true; {3912#true} is VALID [2020-07-11 01:05:33,382 INFO L275 TraceCheckUtils]: 9: Hoare quadruple {3912#true} {3912#true} #109#return; {3912#true} is VALID [2020-07-11 01:05:33,402 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2020-07-11 01:05:33,460 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2020-07-11 01:05:33,492 INFO L280 TraceCheckUtils]: 0: Hoare triple {3987#(and (= ~guard_malloc_counter~0.offset |old(~guard_malloc_counter~0.offset)|) (= ~guard_malloc_counter~0.base |old(~guard_malloc_counter~0.base)|))} ~size := #in~size; {3912#true} is VALID [2020-07-11 01:05:33,492 INFO L280 TraceCheckUtils]: 1: Hoare triple {3912#true} assume ~size > 0; {3912#true} is VALID [2020-07-11 01:05:33,492 INFO L280 TraceCheckUtils]: 2: Hoare triple {3912#true} #t~post28.base, #t~post28.offset := ~guard_malloc_counter~0.base, ~guard_malloc_counter~0.offset; {3912#true} is VALID [2020-07-11 01:05:33,492 INFO L280 TraceCheckUtils]: 3: Hoare triple {3912#true} ~guard_malloc_counter~0.base, ~guard_malloc_counter~0.offset := #t~post28.base, 1 + #t~post28.offset; {3912#true} is VALID [2020-07-11 01:05:33,493 INFO L280 TraceCheckUtils]: 4: Hoare triple {3912#true} havoc #t~post28.base, #t~post28.offset; {3912#true} is VALID [2020-07-11 01:05:33,493 INFO L280 TraceCheckUtils]: 5: Hoare triple {3912#true} assume -2147483648 <= #t~nondet29 && #t~nondet29 <= 2147483647; {3912#true} is VALID [2020-07-11 01:05:33,493 INFO L280 TraceCheckUtils]: 6: Hoare triple {3912#true} assume !(0 == #t~nondet29); {3912#true} is VALID [2020-07-11 01:05:33,493 INFO L280 TraceCheckUtils]: 7: Hoare triple {3912#true} havoc #t~nondet29; {3912#true} is VALID [2020-07-11 01:05:33,494 INFO L280 TraceCheckUtils]: 8: Hoare triple {3912#true} #res.base, #res.offset := ~guard_malloc_counter~0.base, ~guard_malloc_counter~0.offset; {4001#(<= |__getMemory_#res.offset| ~guard_malloc_counter~0.offset)} is VALID [2020-07-11 01:05:33,494 INFO L280 TraceCheckUtils]: 9: Hoare triple {4001#(<= |__getMemory_#res.offset| ~guard_malloc_counter~0.offset)} assume true; {4001#(<= |__getMemory_#res.offset| ~guard_malloc_counter~0.offset)} is VALID [2020-07-11 01:05:33,496 INFO L275 TraceCheckUtils]: 10: Hoare quadruple {4001#(<= |__getMemory_#res.offset| ~guard_malloc_counter~0.offset)} {3912#true} #91#return; {3999#(<= |my_malloc_#t~ret30.offset| ~guard_malloc_counter~0.offset)} is VALID [2020-07-11 01:05:33,496 INFO L280 TraceCheckUtils]: 0: Hoare triple {3987#(and (= ~guard_malloc_counter~0.offset |old(~guard_malloc_counter~0.offset)|) (= ~guard_malloc_counter~0.base |old(~guard_malloc_counter~0.base)|))} ~size := #in~size; {3912#true} is VALID [2020-07-11 01:05:33,497 INFO L263 TraceCheckUtils]: 1: Hoare triple {3912#true} call #t~ret30.base, #t~ret30.offset := __getMemory(~size); {3987#(and (= ~guard_malloc_counter~0.offset |old(~guard_malloc_counter~0.offset)|) (= ~guard_malloc_counter~0.base |old(~guard_malloc_counter~0.base)|))} is VALID [2020-07-11 01:05:33,497 INFO L280 TraceCheckUtils]: 2: Hoare triple {3987#(and (= ~guard_malloc_counter~0.offset |old(~guard_malloc_counter~0.offset)|) (= ~guard_malloc_counter~0.base |old(~guard_malloc_counter~0.base)|))} ~size := #in~size; {3912#true} is VALID [2020-07-11 01:05:33,497 INFO L280 TraceCheckUtils]: 3: Hoare triple {3912#true} assume ~size > 0; {3912#true} is VALID [2020-07-11 01:05:33,497 INFO L280 TraceCheckUtils]: 4: Hoare triple {3912#true} #t~post28.base, #t~post28.offset := ~guard_malloc_counter~0.base, ~guard_malloc_counter~0.offset; {3912#true} is VALID [2020-07-11 01:05:33,498 INFO L280 TraceCheckUtils]: 5: Hoare triple {3912#true} ~guard_malloc_counter~0.base, ~guard_malloc_counter~0.offset := #t~post28.base, 1 + #t~post28.offset; {3912#true} is VALID [2020-07-11 01:05:33,498 INFO L280 TraceCheckUtils]: 6: Hoare triple {3912#true} havoc #t~post28.base, #t~post28.offset; {3912#true} is VALID [2020-07-11 01:05:33,498 INFO L280 TraceCheckUtils]: 7: Hoare triple {3912#true} assume -2147483648 <= #t~nondet29 && #t~nondet29 <= 2147483647; {3912#true} is VALID [2020-07-11 01:05:33,498 INFO L280 TraceCheckUtils]: 8: Hoare triple {3912#true} assume !(0 == #t~nondet29); {3912#true} is VALID [2020-07-11 01:05:33,498 INFO L280 TraceCheckUtils]: 9: Hoare triple {3912#true} havoc #t~nondet29; {3912#true} is VALID [2020-07-11 01:05:33,499 INFO L280 TraceCheckUtils]: 10: Hoare triple {3912#true} #res.base, #res.offset := ~guard_malloc_counter~0.base, ~guard_malloc_counter~0.offset; {4001#(<= |__getMemory_#res.offset| ~guard_malloc_counter~0.offset)} is VALID [2020-07-11 01:05:33,499 INFO L280 TraceCheckUtils]: 11: Hoare triple {4001#(<= |__getMemory_#res.offset| ~guard_malloc_counter~0.offset)} assume true; {4001#(<= |__getMemory_#res.offset| ~guard_malloc_counter~0.offset)} is VALID [2020-07-11 01:05:33,500 INFO L275 TraceCheckUtils]: 12: Hoare quadruple {4001#(<= |__getMemory_#res.offset| ~guard_malloc_counter~0.offset)} {3912#true} #91#return; {3999#(<= |my_malloc_#t~ret30.offset| ~guard_malloc_counter~0.offset)} is VALID [2020-07-11 01:05:33,501 INFO L280 TraceCheckUtils]: 13: Hoare triple {3999#(<= |my_malloc_#t~ret30.offset| ~guard_malloc_counter~0.offset)} #res.base, #res.offset := #t~ret30.base, #t~ret30.offset; {4000#(<= |my_malloc_#res.offset| ~guard_malloc_counter~0.offset)} is VALID [2020-07-11 01:05:33,502 INFO L280 TraceCheckUtils]: 14: Hoare triple {4000#(<= |my_malloc_#res.offset| ~guard_malloc_counter~0.offset)} havoc #t~ret30.base, #t~ret30.offset; {4000#(<= |my_malloc_#res.offset| ~guard_malloc_counter~0.offset)} is VALID [2020-07-11 01:05:33,502 INFO L280 TraceCheckUtils]: 15: Hoare triple {4000#(<= |my_malloc_#res.offset| ~guard_malloc_counter~0.offset)} assume true; {4000#(<= |my_malloc_#res.offset| ~guard_malloc_counter~0.offset)} is VALID [2020-07-11 01:05:33,503 INFO L275 TraceCheckUtils]: 16: Hoare quadruple {4000#(<= |my_malloc_#res.offset| ~guard_malloc_counter~0.offset)} {3912#true} #93#return; {3941#(<= |main_#t~ret32.offset| ~guard_malloc_counter~0.offset)} is VALID [2020-07-11 01:05:33,507 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2020-07-11 01:05:33,588 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2020-07-11 01:05:33,679 INFO L280 TraceCheckUtils]: 0: Hoare triple {3987#(and (= ~guard_malloc_counter~0.offset |old(~guard_malloc_counter~0.offset)|) (= ~guard_malloc_counter~0.base |old(~guard_malloc_counter~0.base)|))} ~size := #in~size; {4002#(= ~guard_malloc_counter~0.offset |old(~guard_malloc_counter~0.offset)|)} is VALID [2020-07-11 01:05:33,680 INFO L280 TraceCheckUtils]: 1: Hoare triple {4002#(= ~guard_malloc_counter~0.offset |old(~guard_malloc_counter~0.offset)|)} assume ~size > 0; {4002#(= ~guard_malloc_counter~0.offset |old(~guard_malloc_counter~0.offset)|)} is VALID [2020-07-11 01:05:33,680 INFO L280 TraceCheckUtils]: 2: Hoare triple {4002#(= ~guard_malloc_counter~0.offset |old(~guard_malloc_counter~0.offset)|)} #t~post28.base, #t~post28.offset := ~guard_malloc_counter~0.base, ~guard_malloc_counter~0.offset; {4016#(= |old(~guard_malloc_counter~0.offset)| |__getMemory_#t~post28.offset|)} is VALID [2020-07-11 01:05:33,681 INFO L280 TraceCheckUtils]: 3: Hoare triple {4016#(= |old(~guard_malloc_counter~0.offset)| |__getMemory_#t~post28.offset|)} ~guard_malloc_counter~0.base, ~guard_malloc_counter~0.offset := #t~post28.base, 1 + #t~post28.offset; {4017#(<= (+ |old(~guard_malloc_counter~0.offset)| 1) ~guard_malloc_counter~0.offset)} is VALID [2020-07-11 01:05:33,682 INFO L280 TraceCheckUtils]: 4: Hoare triple {4017#(<= (+ |old(~guard_malloc_counter~0.offset)| 1) ~guard_malloc_counter~0.offset)} havoc #t~post28.base, #t~post28.offset; {4017#(<= (+ |old(~guard_malloc_counter~0.offset)| 1) ~guard_malloc_counter~0.offset)} is VALID [2020-07-11 01:05:33,682 INFO L280 TraceCheckUtils]: 5: Hoare triple {4017#(<= (+ |old(~guard_malloc_counter~0.offset)| 1) ~guard_malloc_counter~0.offset)} assume -2147483648 <= #t~nondet29 && #t~nondet29 <= 2147483647; {4017#(<= (+ |old(~guard_malloc_counter~0.offset)| 1) ~guard_malloc_counter~0.offset)} is VALID [2020-07-11 01:05:33,683 INFO L280 TraceCheckUtils]: 6: Hoare triple {4017#(<= (+ |old(~guard_malloc_counter~0.offset)| 1) ~guard_malloc_counter~0.offset)} assume !(0 == #t~nondet29); {4017#(<= (+ |old(~guard_malloc_counter~0.offset)| 1) ~guard_malloc_counter~0.offset)} is VALID [2020-07-11 01:05:33,683 INFO L280 TraceCheckUtils]: 7: Hoare triple {4017#(<= (+ |old(~guard_malloc_counter~0.offset)| 1) ~guard_malloc_counter~0.offset)} havoc #t~nondet29; {4017#(<= (+ |old(~guard_malloc_counter~0.offset)| 1) ~guard_malloc_counter~0.offset)} is VALID [2020-07-11 01:05:33,684 INFO L280 TraceCheckUtils]: 8: Hoare triple {4017#(<= (+ |old(~guard_malloc_counter~0.offset)| 1) ~guard_malloc_counter~0.offset)} #res.base, #res.offset := ~guard_malloc_counter~0.base, ~guard_malloc_counter~0.offset; {4018#(<= (+ |old(~guard_malloc_counter~0.offset)| 1) |__getMemory_#res.offset|)} is VALID [2020-07-11 01:05:33,685 INFO L280 TraceCheckUtils]: 9: Hoare triple {4018#(<= (+ |old(~guard_malloc_counter~0.offset)| 1) |__getMemory_#res.offset|)} assume true; {4018#(<= (+ |old(~guard_malloc_counter~0.offset)| 1) |__getMemory_#res.offset|)} is VALID [2020-07-11 01:05:33,686 INFO L275 TraceCheckUtils]: 10: Hoare quadruple {4018#(<= (+ |old(~guard_malloc_counter~0.offset)| 1) |__getMemory_#res.offset|)} {4002#(= ~guard_malloc_counter~0.offset |old(~guard_malloc_counter~0.offset)|)} #91#return; {4014#(<= (+ |old(~guard_malloc_counter~0.offset)| 1) |my_malloc_#t~ret30.offset|)} is VALID [2020-07-11 01:05:33,687 INFO L280 TraceCheckUtils]: 0: Hoare triple {3987#(and (= ~guard_malloc_counter~0.offset |old(~guard_malloc_counter~0.offset)|) (= ~guard_malloc_counter~0.base |old(~guard_malloc_counter~0.base)|))} ~size := #in~size; {4002#(= ~guard_malloc_counter~0.offset |old(~guard_malloc_counter~0.offset)|)} is VALID [2020-07-11 01:05:33,688 INFO L263 TraceCheckUtils]: 1: Hoare triple {4002#(= ~guard_malloc_counter~0.offset |old(~guard_malloc_counter~0.offset)|)} call #t~ret30.base, #t~ret30.offset := __getMemory(~size); {3987#(and (= ~guard_malloc_counter~0.offset |old(~guard_malloc_counter~0.offset)|) (= ~guard_malloc_counter~0.base |old(~guard_malloc_counter~0.base)|))} is VALID [2020-07-11 01:05:33,688 INFO L280 TraceCheckUtils]: 2: Hoare triple {3987#(and (= ~guard_malloc_counter~0.offset |old(~guard_malloc_counter~0.offset)|) (= ~guard_malloc_counter~0.base |old(~guard_malloc_counter~0.base)|))} ~size := #in~size; {4002#(= ~guard_malloc_counter~0.offset |old(~guard_malloc_counter~0.offset)|)} is VALID [2020-07-11 01:05:33,688 INFO L280 TraceCheckUtils]: 3: Hoare triple {4002#(= ~guard_malloc_counter~0.offset |old(~guard_malloc_counter~0.offset)|)} assume ~size > 0; {4002#(= ~guard_malloc_counter~0.offset |old(~guard_malloc_counter~0.offset)|)} is VALID [2020-07-11 01:05:33,689 INFO L280 TraceCheckUtils]: 4: Hoare triple {4002#(= ~guard_malloc_counter~0.offset |old(~guard_malloc_counter~0.offset)|)} #t~post28.base, #t~post28.offset := ~guard_malloc_counter~0.base, ~guard_malloc_counter~0.offset; {4016#(= |old(~guard_malloc_counter~0.offset)| |__getMemory_#t~post28.offset|)} is VALID [2020-07-11 01:05:33,690 INFO L280 TraceCheckUtils]: 5: Hoare triple {4016#(= |old(~guard_malloc_counter~0.offset)| |__getMemory_#t~post28.offset|)} ~guard_malloc_counter~0.base, ~guard_malloc_counter~0.offset := #t~post28.base, 1 + #t~post28.offset; {4017#(<= (+ |old(~guard_malloc_counter~0.offset)| 1) ~guard_malloc_counter~0.offset)} is VALID [2020-07-11 01:05:33,690 INFO L280 TraceCheckUtils]: 6: Hoare triple {4017#(<= (+ |old(~guard_malloc_counter~0.offset)| 1) ~guard_malloc_counter~0.offset)} havoc #t~post28.base, #t~post28.offset; {4017#(<= (+ |old(~guard_malloc_counter~0.offset)| 1) ~guard_malloc_counter~0.offset)} is VALID [2020-07-11 01:05:33,691 INFO L280 TraceCheckUtils]: 7: Hoare triple {4017#(<= (+ |old(~guard_malloc_counter~0.offset)| 1) ~guard_malloc_counter~0.offset)} assume -2147483648 <= #t~nondet29 && #t~nondet29 <= 2147483647; {4017#(<= (+ |old(~guard_malloc_counter~0.offset)| 1) ~guard_malloc_counter~0.offset)} is VALID [2020-07-11 01:05:33,691 INFO L280 TraceCheckUtils]: 8: Hoare triple {4017#(<= (+ |old(~guard_malloc_counter~0.offset)| 1) ~guard_malloc_counter~0.offset)} assume !(0 == #t~nondet29); {4017#(<= (+ |old(~guard_malloc_counter~0.offset)| 1) ~guard_malloc_counter~0.offset)} is VALID [2020-07-11 01:05:33,692 INFO L280 TraceCheckUtils]: 9: Hoare triple {4017#(<= (+ |old(~guard_malloc_counter~0.offset)| 1) ~guard_malloc_counter~0.offset)} havoc #t~nondet29; {4017#(<= (+ |old(~guard_malloc_counter~0.offset)| 1) ~guard_malloc_counter~0.offset)} is VALID [2020-07-11 01:05:33,693 INFO L280 TraceCheckUtils]: 10: Hoare triple {4017#(<= (+ |old(~guard_malloc_counter~0.offset)| 1) ~guard_malloc_counter~0.offset)} #res.base, #res.offset := ~guard_malloc_counter~0.base, ~guard_malloc_counter~0.offset; {4018#(<= (+ |old(~guard_malloc_counter~0.offset)| 1) |__getMemory_#res.offset|)} is VALID [2020-07-11 01:05:33,693 INFO L280 TraceCheckUtils]: 11: Hoare triple {4018#(<= (+ |old(~guard_malloc_counter~0.offset)| 1) |__getMemory_#res.offset|)} assume true; {4018#(<= (+ |old(~guard_malloc_counter~0.offset)| 1) |__getMemory_#res.offset|)} is VALID [2020-07-11 01:05:33,694 INFO L275 TraceCheckUtils]: 12: Hoare quadruple {4018#(<= (+ |old(~guard_malloc_counter~0.offset)| 1) |__getMemory_#res.offset|)} {4002#(= ~guard_malloc_counter~0.offset |old(~guard_malloc_counter~0.offset)|)} #91#return; {4014#(<= (+ |old(~guard_malloc_counter~0.offset)| 1) |my_malloc_#t~ret30.offset|)} is VALID [2020-07-11 01:05:33,695 INFO L280 TraceCheckUtils]: 13: Hoare triple {4014#(<= (+ |old(~guard_malloc_counter~0.offset)| 1) |my_malloc_#t~ret30.offset|)} #res.base, #res.offset := #t~ret30.base, #t~ret30.offset; {4015#(<= (+ |old(~guard_malloc_counter~0.offset)| 1) |my_malloc_#res.offset|)} is VALID [2020-07-11 01:05:33,695 INFO L280 TraceCheckUtils]: 14: Hoare triple {4015#(<= (+ |old(~guard_malloc_counter~0.offset)| 1) |my_malloc_#res.offset|)} havoc #t~ret30.base, #t~ret30.offset; {4015#(<= (+ |old(~guard_malloc_counter~0.offset)| 1) |my_malloc_#res.offset|)} is VALID [2020-07-11 01:05:33,696 INFO L280 TraceCheckUtils]: 15: Hoare triple {4015#(<= (+ |old(~guard_malloc_counter~0.offset)| 1) |my_malloc_#res.offset|)} assume true; {4015#(<= (+ |old(~guard_malloc_counter~0.offset)| 1) |my_malloc_#res.offset|)} is VALID [2020-07-11 01:05:33,697 INFO L275 TraceCheckUtils]: 16: Hoare quadruple {4015#(<= (+ |old(~guard_malloc_counter~0.offset)| 1) |my_malloc_#res.offset|)} {3942#(<= main_~dev1~0.offset ~guard_malloc_counter~0.offset)} #95#return; {3960#(<= (+ main_~dev1~0.offset 1) |main_#t~ret33.offset|)} is VALID [2020-07-11 01:05:33,724 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2020-07-11 01:05:33,729 INFO L280 TraceCheckUtils]: 0: Hoare triple {4019#(and (= ~elem~0.base |old(~elem~0.base)|) (= ~elem~0.offset |old(~elem~0.offset)|))} ~new.base, ~new.offset := #in~new.base, #in~new.offset; {3912#true} is VALID [2020-07-11 01:05:33,730 INFO L280 TraceCheckUtils]: 1: Hoare triple {3912#true} ~head.base, ~head.offset := #in~head.base, #in~head.offset; {3912#true} is VALID [2020-07-11 01:05:33,730 INFO L280 TraceCheckUtils]: 2: Hoare triple {3912#true} assume ~new.base != ~elem~0.base || ~new.offset != ~elem~0.offset; {3912#true} is VALID [2020-07-11 01:05:33,730 INFO L280 TraceCheckUtils]: 3: Hoare triple {3912#true} assume -2147483648 <= #t~nondet31 && #t~nondet31 <= 2147483647; {3912#true} is VALID [2020-07-11 01:05:33,730 INFO L280 TraceCheckUtils]: 4: Hoare triple {3912#true} assume !(0 != #t~nondet31); {3912#true} is VALID [2020-07-11 01:05:33,730 INFO L280 TraceCheckUtils]: 5: Hoare triple {3912#true} havoc #t~nondet31; {3912#true} is VALID [2020-07-11 01:05:33,731 INFO L280 TraceCheckUtils]: 6: Hoare triple {3912#true} assume true; {3912#true} is VALID [2020-07-11 01:05:33,732 INFO L275 TraceCheckUtils]: 7: Hoare quadruple {3912#true} {3961#(<= (+ main_~dev1~0.offset 1) main_~dev2~0.offset)} #97#return; {3961#(<= (+ main_~dev1~0.offset 1) main_~dev2~0.offset)} is VALID [2020-07-11 01:05:33,734 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2020-07-11 01:05:33,793 INFO L280 TraceCheckUtils]: 0: Hoare triple {4019#(and (= ~elem~0.base |old(~elem~0.base)|) (= ~elem~0.offset |old(~elem~0.offset)|))} ~new.base, ~new.offset := #in~new.base, #in~new.offset; {4020#(= |list_add_#in~new.offset| list_add_~new.offset)} is VALID [2020-07-11 01:05:33,794 INFO L280 TraceCheckUtils]: 1: Hoare triple {4020#(= |list_add_#in~new.offset| list_add_~new.offset)} ~head.base, ~head.offset := #in~head.base, #in~head.offset; {4020#(= |list_add_#in~new.offset| list_add_~new.offset)} is VALID [2020-07-11 01:05:33,794 INFO L280 TraceCheckUtils]: 2: Hoare triple {4020#(= |list_add_#in~new.offset| list_add_~new.offset)} assume ~new.base != ~elem~0.base || ~new.offset != ~elem~0.offset; {4020#(= |list_add_#in~new.offset| list_add_~new.offset)} is VALID [2020-07-11 01:05:33,799 INFO L280 TraceCheckUtils]: 3: Hoare triple {4020#(= |list_add_#in~new.offset| list_add_~new.offset)} assume -2147483648 <= #t~nondet31 && #t~nondet31 <= 2147483647; {4020#(= |list_add_#in~new.offset| list_add_~new.offset)} is VALID [2020-07-11 01:05:33,800 INFO L280 TraceCheckUtils]: 4: Hoare triple {4020#(= |list_add_#in~new.offset| list_add_~new.offset)} assume 0 != #t~nondet31; {4020#(= |list_add_#in~new.offset| list_add_~new.offset)} is VALID [2020-07-11 01:05:33,801 INFO L280 TraceCheckUtils]: 5: Hoare triple {4020#(= |list_add_#in~new.offset| list_add_~new.offset)} havoc #t~nondet31; {4020#(= |list_add_#in~new.offset| list_add_~new.offset)} is VALID [2020-07-11 01:05:33,801 INFO L280 TraceCheckUtils]: 6: Hoare triple {4020#(= |list_add_#in~new.offset| list_add_~new.offset)} ~elem~0.base, ~elem~0.offset := ~new.base, ~new.offset; {4021#(= ~elem~0.offset |list_add_#in~new.offset|)} is VALID [2020-07-11 01:05:33,802 INFO L280 TraceCheckUtils]: 7: Hoare triple {4021#(= ~elem~0.offset |list_add_#in~new.offset|)} assume true; {4021#(= ~elem~0.offset |list_add_#in~new.offset|)} is VALID [2020-07-11 01:05:33,803 INFO L275 TraceCheckUtils]: 8: Hoare quadruple {4021#(= ~elem~0.offset |list_add_#in~new.offset|)} {3961#(<= (+ main_~dev1~0.offset 1) main_~dev2~0.offset)} #99#return; {3979#(<= (+ ~elem~0.offset 1) main_~dev2~0.offset)} is VALID [2020-07-11 01:05:33,805 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2020-07-11 01:05:33,836 INFO L280 TraceCheckUtils]: 0: Hoare triple {4019#(and (= ~elem~0.base |old(~elem~0.base)|) (= ~elem~0.offset |old(~elem~0.offset)|))} ~entry.base, ~entry.offset := #in~entry.base, #in~entry.offset; {4022#(= |old(~elem~0.offset)| ~elem~0.offset)} is VALID [2020-07-11 01:05:33,837 INFO L280 TraceCheckUtils]: 1: Hoare triple {4022#(= |old(~elem~0.offset)| ~elem~0.offset)} assume !(~entry.base == ~elem~0.base && ~entry.offset == ~elem~0.offset); {4022#(= |old(~elem~0.offset)| ~elem~0.offset)} is VALID [2020-07-11 01:05:33,837 INFO L280 TraceCheckUtils]: 2: Hoare triple {4022#(= |old(~elem~0.offset)| ~elem~0.offset)} assume true; {4022#(= |old(~elem~0.offset)| ~elem~0.offset)} is VALID [2020-07-11 01:05:33,838 INFO L275 TraceCheckUtils]: 3: Hoare quadruple {4022#(= |old(~elem~0.offset)| ~elem~0.offset)} {3979#(<= (+ ~elem~0.offset 1) main_~dev2~0.offset)} #101#return; {3979#(<= (+ ~elem~0.offset 1) main_~dev2~0.offset)} is VALID [2020-07-11 01:05:33,840 INFO L263 TraceCheckUtils]: 0: Hoare triple {3912#true} call ULTIMATE.init(); {3986#(and (= |#valid| |old(#valid)|) (= ~elem~0.base |old(~elem~0.base)|) (= |#NULL.base| |old(#NULL.base)|) (= |~#head~0.base| |old(~#head~0.base)|) (= ~guard_malloc_counter~0.offset |old(~guard_malloc_counter~0.offset)|) (= |#NULL.offset| |old(#NULL.offset)|) (= ~elem~0.offset |old(~elem~0.offset)|) (= |old(#length)| |#length|) (= |~#head~0.offset| |old(~#head~0.offset)|) (= ~guard_malloc_counter~0.base |old(~guard_malloc_counter~0.base)|))} is VALID [2020-07-11 01:05:33,840 INFO L280 TraceCheckUtils]: 1: Hoare triple {3986#(and (= |#valid| |old(#valid)|) (= ~elem~0.base |old(~elem~0.base)|) (= |#NULL.base| |old(#NULL.base)|) (= |~#head~0.base| |old(~#head~0.base)|) (= ~guard_malloc_counter~0.offset |old(~guard_malloc_counter~0.offset)|) (= |#NULL.offset| |old(#NULL.offset)|) (= ~elem~0.offset |old(~elem~0.offset)|) (= |old(#length)| |#length|) (= |~#head~0.offset| |old(~#head~0.offset)|) (= ~guard_malloc_counter~0.base |old(~guard_malloc_counter~0.base)|))} #NULL.base, #NULL.offset := 0, 0; {3912#true} is VALID [2020-07-11 01:05:33,840 INFO L280 TraceCheckUtils]: 2: Hoare triple {3912#true} #valid := #valid[0 := 0]; {3912#true} is VALID [2020-07-11 01:05:33,840 INFO L280 TraceCheckUtils]: 3: Hoare triple {3912#true} assume 0 < #StackHeapBarrier; {3912#true} is VALID [2020-07-11 01:05:33,840 INFO L280 TraceCheckUtils]: 4: Hoare triple {3912#true} ~guard_malloc_counter~0.base, ~guard_malloc_counter~0.offset := 0, 0; {3912#true} is VALID [2020-07-11 01:05:33,841 INFO L280 TraceCheckUtils]: 5: Hoare triple {3912#true} ~elem~0.base, ~elem~0.offset := 0, 0; {3912#true} is VALID [2020-07-11 01:05:33,841 INFO L280 TraceCheckUtils]: 6: Hoare triple {3912#true} SUMMARY for call ~#head~0.base, ~#head~0.offset := #Ultimate.allocOnStack(8); srcloc: L900 {3912#true} is VALID [2020-07-11 01:05:33,841 INFO L280 TraceCheckUtils]: 7: Hoare triple {3912#true} SUMMARY for call write~init~$Pointer$(0, 0, ~#head~0.base, ~#head~0.offset, 4); srcloc: L900-1 {3912#true} is VALID [2020-07-11 01:05:33,841 INFO L280 TraceCheckUtils]: 8: Hoare triple {3912#true} SUMMARY for call write~init~$Pointer$(0, 0, ~#head~0.base, 4 + ~#head~0.offset, 4); srcloc: L900-2 {3912#true} is VALID [2020-07-11 01:05:33,841 INFO L280 TraceCheckUtils]: 9: Hoare triple {3912#true} assume true; {3912#true} is VALID [2020-07-11 01:05:33,842 INFO L275 TraceCheckUtils]: 10: Hoare quadruple {3912#true} {3912#true} #109#return; {3912#true} is VALID [2020-07-11 01:05:33,842 INFO L263 TraceCheckUtils]: 11: Hoare triple {3912#true} call #t~ret34 := main(); {3912#true} is VALID [2020-07-11 01:05:33,842 INFO L280 TraceCheckUtils]: 12: Hoare triple {3912#true} havoc ~dev1~0.base, ~dev1~0.offset; {3912#true} is VALID [2020-07-11 01:05:33,842 INFO L280 TraceCheckUtils]: 13: Hoare triple {3912#true} havoc ~dev2~0.base, ~dev2~0.offset; {3912#true} is VALID [2020-07-11 01:05:33,843 INFO L263 TraceCheckUtils]: 14: Hoare triple {3912#true} call #t~ret32.base, #t~ret32.offset := my_malloc(8); {3987#(and (= ~guard_malloc_counter~0.offset |old(~guard_malloc_counter~0.offset)|) (= ~guard_malloc_counter~0.base |old(~guard_malloc_counter~0.base)|))} is VALID [2020-07-11 01:05:33,843 INFO L280 TraceCheckUtils]: 15: Hoare triple {3987#(and (= ~guard_malloc_counter~0.offset |old(~guard_malloc_counter~0.offset)|) (= ~guard_malloc_counter~0.base |old(~guard_malloc_counter~0.base)|))} ~size := #in~size; {3912#true} is VALID [2020-07-11 01:05:33,844 INFO L263 TraceCheckUtils]: 16: Hoare triple {3912#true} call #t~ret30.base, #t~ret30.offset := __getMemory(~size); {3987#(and (= ~guard_malloc_counter~0.offset |old(~guard_malloc_counter~0.offset)|) (= ~guard_malloc_counter~0.base |old(~guard_malloc_counter~0.base)|))} is VALID [2020-07-11 01:05:33,844 INFO L280 TraceCheckUtils]: 17: Hoare triple {3987#(and (= ~guard_malloc_counter~0.offset |old(~guard_malloc_counter~0.offset)|) (= ~guard_malloc_counter~0.base |old(~guard_malloc_counter~0.base)|))} ~size := #in~size; {3912#true} is VALID [2020-07-11 01:05:33,844 INFO L280 TraceCheckUtils]: 18: Hoare triple {3912#true} assume ~size > 0; {3912#true} is VALID [2020-07-11 01:05:33,844 INFO L280 TraceCheckUtils]: 19: Hoare triple {3912#true} #t~post28.base, #t~post28.offset := ~guard_malloc_counter~0.base, ~guard_malloc_counter~0.offset; {3912#true} is VALID [2020-07-11 01:05:33,845 INFO L280 TraceCheckUtils]: 20: Hoare triple {3912#true} ~guard_malloc_counter~0.base, ~guard_malloc_counter~0.offset := #t~post28.base, 1 + #t~post28.offset; {3912#true} is VALID [2020-07-11 01:05:33,845 INFO L280 TraceCheckUtils]: 21: Hoare triple {3912#true} havoc #t~post28.base, #t~post28.offset; {3912#true} is VALID [2020-07-11 01:05:33,845 INFO L280 TraceCheckUtils]: 22: Hoare triple {3912#true} assume -2147483648 <= #t~nondet29 && #t~nondet29 <= 2147483647; {3912#true} is VALID [2020-07-11 01:05:33,845 INFO L280 TraceCheckUtils]: 23: Hoare triple {3912#true} assume !(0 == #t~nondet29); {3912#true} is VALID [2020-07-11 01:05:33,845 INFO L280 TraceCheckUtils]: 24: Hoare triple {3912#true} havoc #t~nondet29; {3912#true} is VALID [2020-07-11 01:05:33,846 INFO L280 TraceCheckUtils]: 25: Hoare triple {3912#true} #res.base, #res.offset := ~guard_malloc_counter~0.base, ~guard_malloc_counter~0.offset; {4001#(<= |__getMemory_#res.offset| ~guard_malloc_counter~0.offset)} is VALID [2020-07-11 01:05:33,847 INFO L280 TraceCheckUtils]: 26: Hoare triple {4001#(<= |__getMemory_#res.offset| ~guard_malloc_counter~0.offset)} assume true; {4001#(<= |__getMemory_#res.offset| ~guard_malloc_counter~0.offset)} is VALID [2020-07-11 01:05:33,848 INFO L275 TraceCheckUtils]: 27: Hoare quadruple {4001#(<= |__getMemory_#res.offset| ~guard_malloc_counter~0.offset)} {3912#true} #91#return; {3999#(<= |my_malloc_#t~ret30.offset| ~guard_malloc_counter~0.offset)} is VALID [2020-07-11 01:05:33,849 INFO L280 TraceCheckUtils]: 28: Hoare triple {3999#(<= |my_malloc_#t~ret30.offset| ~guard_malloc_counter~0.offset)} #res.base, #res.offset := #t~ret30.base, #t~ret30.offset; {4000#(<= |my_malloc_#res.offset| ~guard_malloc_counter~0.offset)} is VALID [2020-07-11 01:05:33,849 INFO L280 TraceCheckUtils]: 29: Hoare triple {4000#(<= |my_malloc_#res.offset| ~guard_malloc_counter~0.offset)} havoc #t~ret30.base, #t~ret30.offset; {4000#(<= |my_malloc_#res.offset| ~guard_malloc_counter~0.offset)} is VALID [2020-07-11 01:05:33,850 INFO L280 TraceCheckUtils]: 30: Hoare triple {4000#(<= |my_malloc_#res.offset| ~guard_malloc_counter~0.offset)} assume true; {4000#(<= |my_malloc_#res.offset| ~guard_malloc_counter~0.offset)} is VALID [2020-07-11 01:05:33,851 INFO L275 TraceCheckUtils]: 31: Hoare quadruple {4000#(<= |my_malloc_#res.offset| ~guard_malloc_counter~0.offset)} {3912#true} #93#return; {3941#(<= |main_#t~ret32.offset| ~guard_malloc_counter~0.offset)} is VALID [2020-07-11 01:05:33,851 INFO L280 TraceCheckUtils]: 32: Hoare triple {3941#(<= |main_#t~ret32.offset| ~guard_malloc_counter~0.offset)} ~dev1~0.base, ~dev1~0.offset := #t~ret32.base, #t~ret32.offset; {3942#(<= main_~dev1~0.offset ~guard_malloc_counter~0.offset)} is VALID [2020-07-11 01:05:33,852 INFO L280 TraceCheckUtils]: 33: Hoare triple {3942#(<= main_~dev1~0.offset ~guard_malloc_counter~0.offset)} havoc #t~ret32.base, #t~ret32.offset; {3942#(<= main_~dev1~0.offset ~guard_malloc_counter~0.offset)} is VALID [2020-07-11 01:05:33,853 INFO L263 TraceCheckUtils]: 34: Hoare triple {3942#(<= main_~dev1~0.offset ~guard_malloc_counter~0.offset)} call #t~ret33.base, #t~ret33.offset := my_malloc(8); {3987#(and (= ~guard_malloc_counter~0.offset |old(~guard_malloc_counter~0.offset)|) (= ~guard_malloc_counter~0.base |old(~guard_malloc_counter~0.base)|))} is VALID [2020-07-11 01:05:33,853 INFO L280 TraceCheckUtils]: 35: Hoare triple {3987#(and (= ~guard_malloc_counter~0.offset |old(~guard_malloc_counter~0.offset)|) (= ~guard_malloc_counter~0.base |old(~guard_malloc_counter~0.base)|))} ~size := #in~size; {4002#(= ~guard_malloc_counter~0.offset |old(~guard_malloc_counter~0.offset)|)} is VALID [2020-07-11 01:05:33,854 INFO L263 TraceCheckUtils]: 36: Hoare triple {4002#(= ~guard_malloc_counter~0.offset |old(~guard_malloc_counter~0.offset)|)} call #t~ret30.base, #t~ret30.offset := __getMemory(~size); {3987#(and (= ~guard_malloc_counter~0.offset |old(~guard_malloc_counter~0.offset)|) (= ~guard_malloc_counter~0.base |old(~guard_malloc_counter~0.base)|))} is VALID [2020-07-11 01:05:33,855 INFO L280 TraceCheckUtils]: 37: Hoare triple {3987#(and (= ~guard_malloc_counter~0.offset |old(~guard_malloc_counter~0.offset)|) (= ~guard_malloc_counter~0.base |old(~guard_malloc_counter~0.base)|))} ~size := #in~size; {4002#(= ~guard_malloc_counter~0.offset |old(~guard_malloc_counter~0.offset)|)} is VALID [2020-07-11 01:05:33,855 INFO L280 TraceCheckUtils]: 38: Hoare triple {4002#(= ~guard_malloc_counter~0.offset |old(~guard_malloc_counter~0.offset)|)} assume ~size > 0; {4002#(= ~guard_malloc_counter~0.offset |old(~guard_malloc_counter~0.offset)|)} is VALID [2020-07-11 01:05:33,856 INFO L280 TraceCheckUtils]: 39: Hoare triple {4002#(= ~guard_malloc_counter~0.offset |old(~guard_malloc_counter~0.offset)|)} #t~post28.base, #t~post28.offset := ~guard_malloc_counter~0.base, ~guard_malloc_counter~0.offset; {4016#(= |old(~guard_malloc_counter~0.offset)| |__getMemory_#t~post28.offset|)} is VALID [2020-07-11 01:05:33,857 INFO L280 TraceCheckUtils]: 40: Hoare triple {4016#(= |old(~guard_malloc_counter~0.offset)| |__getMemory_#t~post28.offset|)} ~guard_malloc_counter~0.base, ~guard_malloc_counter~0.offset := #t~post28.base, 1 + #t~post28.offset; {4017#(<= (+ |old(~guard_malloc_counter~0.offset)| 1) ~guard_malloc_counter~0.offset)} is VALID [2020-07-11 01:05:33,857 INFO L280 TraceCheckUtils]: 41: Hoare triple {4017#(<= (+ |old(~guard_malloc_counter~0.offset)| 1) ~guard_malloc_counter~0.offset)} havoc #t~post28.base, #t~post28.offset; {4017#(<= (+ |old(~guard_malloc_counter~0.offset)| 1) ~guard_malloc_counter~0.offset)} is VALID [2020-07-11 01:05:33,858 INFO L280 TraceCheckUtils]: 42: Hoare triple {4017#(<= (+ |old(~guard_malloc_counter~0.offset)| 1) ~guard_malloc_counter~0.offset)} assume -2147483648 <= #t~nondet29 && #t~nondet29 <= 2147483647; {4017#(<= (+ |old(~guard_malloc_counter~0.offset)| 1) ~guard_malloc_counter~0.offset)} is VALID [2020-07-11 01:05:33,858 INFO L280 TraceCheckUtils]: 43: Hoare triple {4017#(<= (+ |old(~guard_malloc_counter~0.offset)| 1) ~guard_malloc_counter~0.offset)} assume !(0 == #t~nondet29); {4017#(<= (+ |old(~guard_malloc_counter~0.offset)| 1) ~guard_malloc_counter~0.offset)} is VALID [2020-07-11 01:05:33,859 INFO L280 TraceCheckUtils]: 44: Hoare triple {4017#(<= (+ |old(~guard_malloc_counter~0.offset)| 1) ~guard_malloc_counter~0.offset)} havoc #t~nondet29; {4017#(<= (+ |old(~guard_malloc_counter~0.offset)| 1) ~guard_malloc_counter~0.offset)} is VALID [2020-07-11 01:05:33,859 INFO L280 TraceCheckUtils]: 45: Hoare triple {4017#(<= (+ |old(~guard_malloc_counter~0.offset)| 1) ~guard_malloc_counter~0.offset)} #res.base, #res.offset := ~guard_malloc_counter~0.base, ~guard_malloc_counter~0.offset; {4018#(<= (+ |old(~guard_malloc_counter~0.offset)| 1) |__getMemory_#res.offset|)} is VALID [2020-07-11 01:05:33,860 INFO L280 TraceCheckUtils]: 46: Hoare triple {4018#(<= (+ |old(~guard_malloc_counter~0.offset)| 1) |__getMemory_#res.offset|)} assume true; {4018#(<= (+ |old(~guard_malloc_counter~0.offset)| 1) |__getMemory_#res.offset|)} is VALID [2020-07-11 01:05:33,861 INFO L275 TraceCheckUtils]: 47: Hoare quadruple {4018#(<= (+ |old(~guard_malloc_counter~0.offset)| 1) |__getMemory_#res.offset|)} {4002#(= ~guard_malloc_counter~0.offset |old(~guard_malloc_counter~0.offset)|)} #91#return; {4014#(<= (+ |old(~guard_malloc_counter~0.offset)| 1) |my_malloc_#t~ret30.offset|)} is VALID [2020-07-11 01:05:33,862 INFO L280 TraceCheckUtils]: 48: Hoare triple {4014#(<= (+ |old(~guard_malloc_counter~0.offset)| 1) |my_malloc_#t~ret30.offset|)} #res.base, #res.offset := #t~ret30.base, #t~ret30.offset; {4015#(<= (+ |old(~guard_malloc_counter~0.offset)| 1) |my_malloc_#res.offset|)} is VALID [2020-07-11 01:05:33,862 INFO L280 TraceCheckUtils]: 49: Hoare triple {4015#(<= (+ |old(~guard_malloc_counter~0.offset)| 1) |my_malloc_#res.offset|)} havoc #t~ret30.base, #t~ret30.offset; {4015#(<= (+ |old(~guard_malloc_counter~0.offset)| 1) |my_malloc_#res.offset|)} is VALID [2020-07-11 01:05:33,863 INFO L280 TraceCheckUtils]: 50: Hoare triple {4015#(<= (+ |old(~guard_malloc_counter~0.offset)| 1) |my_malloc_#res.offset|)} assume true; {4015#(<= (+ |old(~guard_malloc_counter~0.offset)| 1) |my_malloc_#res.offset|)} is VALID [2020-07-11 01:05:33,864 INFO L275 TraceCheckUtils]: 51: Hoare quadruple {4015#(<= (+ |old(~guard_malloc_counter~0.offset)| 1) |my_malloc_#res.offset|)} {3942#(<= main_~dev1~0.offset ~guard_malloc_counter~0.offset)} #95#return; {3960#(<= (+ main_~dev1~0.offset 1) |main_#t~ret33.offset|)} is VALID [2020-07-11 01:05:33,865 INFO L280 TraceCheckUtils]: 52: Hoare triple {3960#(<= (+ main_~dev1~0.offset 1) |main_#t~ret33.offset|)} ~dev2~0.base, ~dev2~0.offset := #t~ret33.base, #t~ret33.offset; {3961#(<= (+ main_~dev1~0.offset 1) main_~dev2~0.offset)} is VALID [2020-07-11 01:05:33,866 INFO L280 TraceCheckUtils]: 53: Hoare triple {3961#(<= (+ main_~dev1~0.offset 1) main_~dev2~0.offset)} havoc #t~ret33.base, #t~ret33.offset; {3961#(<= (+ main_~dev1~0.offset 1) main_~dev2~0.offset)} is VALID [2020-07-11 01:05:33,866 INFO L280 TraceCheckUtils]: 54: Hoare triple {3961#(<= (+ main_~dev1~0.offset 1) main_~dev2~0.offset)} assume (~dev1~0.base != 0 || ~dev1~0.offset != 0) && (~dev2~0.base != 0 || ~dev2~0.offset != 0); {3961#(<= (+ main_~dev1~0.offset 1) main_~dev2~0.offset)} is VALID [2020-07-11 01:05:33,867 INFO L263 TraceCheckUtils]: 55: Hoare triple {3961#(<= (+ main_~dev1~0.offset 1) main_~dev2~0.offset)} call list_add(~dev2~0.base, ~dev2~0.offset, ~#head~0.base, ~#head~0.offset); {4019#(and (= ~elem~0.base |old(~elem~0.base)|) (= ~elem~0.offset |old(~elem~0.offset)|))} is VALID [2020-07-11 01:05:33,868 INFO L280 TraceCheckUtils]: 56: Hoare triple {4019#(and (= ~elem~0.base |old(~elem~0.base)|) (= ~elem~0.offset |old(~elem~0.offset)|))} ~new.base, ~new.offset := #in~new.base, #in~new.offset; {3912#true} is VALID [2020-07-11 01:05:33,868 INFO L280 TraceCheckUtils]: 57: Hoare triple {3912#true} ~head.base, ~head.offset := #in~head.base, #in~head.offset; {3912#true} is VALID [2020-07-11 01:05:33,868 INFO L280 TraceCheckUtils]: 58: Hoare triple {3912#true} assume ~new.base != ~elem~0.base || ~new.offset != ~elem~0.offset; {3912#true} is VALID [2020-07-11 01:05:33,868 INFO L280 TraceCheckUtils]: 59: Hoare triple {3912#true} assume -2147483648 <= #t~nondet31 && #t~nondet31 <= 2147483647; {3912#true} is VALID [2020-07-11 01:05:33,868 INFO L280 TraceCheckUtils]: 60: Hoare triple {3912#true} assume !(0 != #t~nondet31); {3912#true} is VALID [2020-07-11 01:05:33,869 INFO L280 TraceCheckUtils]: 61: Hoare triple {3912#true} havoc #t~nondet31; {3912#true} is VALID [2020-07-11 01:05:33,869 INFO L280 TraceCheckUtils]: 62: Hoare triple {3912#true} assume true; {3912#true} is VALID [2020-07-11 01:05:33,870 INFO L275 TraceCheckUtils]: 63: Hoare quadruple {3912#true} {3961#(<= (+ main_~dev1~0.offset 1) main_~dev2~0.offset)} #97#return; {3961#(<= (+ main_~dev1~0.offset 1) main_~dev2~0.offset)} is VALID [2020-07-11 01:05:33,871 INFO L263 TraceCheckUtils]: 64: Hoare triple {3961#(<= (+ main_~dev1~0.offset 1) main_~dev2~0.offset)} call list_add(~dev1~0.base, ~dev1~0.offset, ~#head~0.base, ~#head~0.offset); {4019#(and (= ~elem~0.base |old(~elem~0.base)|) (= ~elem~0.offset |old(~elem~0.offset)|))} is VALID [2020-07-11 01:05:33,872 INFO L280 TraceCheckUtils]: 65: Hoare triple {4019#(and (= ~elem~0.base |old(~elem~0.base)|) (= ~elem~0.offset |old(~elem~0.offset)|))} ~new.base, ~new.offset := #in~new.base, #in~new.offset; {4020#(= |list_add_#in~new.offset| list_add_~new.offset)} is VALID [2020-07-11 01:05:33,873 INFO L280 TraceCheckUtils]: 66: Hoare triple {4020#(= |list_add_#in~new.offset| list_add_~new.offset)} ~head.base, ~head.offset := #in~head.base, #in~head.offset; {4020#(= |list_add_#in~new.offset| list_add_~new.offset)} is VALID [2020-07-11 01:05:33,873 INFO L280 TraceCheckUtils]: 67: Hoare triple {4020#(= |list_add_#in~new.offset| list_add_~new.offset)} assume ~new.base != ~elem~0.base || ~new.offset != ~elem~0.offset; {4020#(= |list_add_#in~new.offset| list_add_~new.offset)} is VALID [2020-07-11 01:05:33,874 INFO L280 TraceCheckUtils]: 68: Hoare triple {4020#(= |list_add_#in~new.offset| list_add_~new.offset)} assume -2147483648 <= #t~nondet31 && #t~nondet31 <= 2147483647; {4020#(= |list_add_#in~new.offset| list_add_~new.offset)} is VALID [2020-07-11 01:05:33,874 INFO L280 TraceCheckUtils]: 69: Hoare triple {4020#(= |list_add_#in~new.offset| list_add_~new.offset)} assume 0 != #t~nondet31; {4020#(= |list_add_#in~new.offset| list_add_~new.offset)} is VALID [2020-07-11 01:05:33,875 INFO L280 TraceCheckUtils]: 70: Hoare triple {4020#(= |list_add_#in~new.offset| list_add_~new.offset)} havoc #t~nondet31; {4020#(= |list_add_#in~new.offset| list_add_~new.offset)} is VALID [2020-07-11 01:05:33,875 INFO L280 TraceCheckUtils]: 71: Hoare triple {4020#(= |list_add_#in~new.offset| list_add_~new.offset)} ~elem~0.base, ~elem~0.offset := ~new.base, ~new.offset; {4021#(= ~elem~0.offset |list_add_#in~new.offset|)} is VALID [2020-07-11 01:05:33,876 INFO L280 TraceCheckUtils]: 72: Hoare triple {4021#(= ~elem~0.offset |list_add_#in~new.offset|)} assume true; {4021#(= ~elem~0.offset |list_add_#in~new.offset|)} is VALID [2020-07-11 01:05:33,877 INFO L275 TraceCheckUtils]: 73: Hoare quadruple {4021#(= ~elem~0.offset |list_add_#in~new.offset|)} {3961#(<= (+ main_~dev1~0.offset 1) main_~dev2~0.offset)} #99#return; {3979#(<= (+ ~elem~0.offset 1) main_~dev2~0.offset)} is VALID [2020-07-11 01:05:33,878 INFO L263 TraceCheckUtils]: 74: Hoare triple {3979#(<= (+ ~elem~0.offset 1) main_~dev2~0.offset)} call list_del(~dev2~0.base, ~dev2~0.offset); {4019#(and (= ~elem~0.base |old(~elem~0.base)|) (= ~elem~0.offset |old(~elem~0.offset)|))} is VALID [2020-07-11 01:05:33,879 INFO L280 TraceCheckUtils]: 75: Hoare triple {4019#(and (= ~elem~0.base |old(~elem~0.base)|) (= ~elem~0.offset |old(~elem~0.offset)|))} ~entry.base, ~entry.offset := #in~entry.base, #in~entry.offset; {4022#(= |old(~elem~0.offset)| ~elem~0.offset)} is VALID [2020-07-11 01:05:33,880 INFO L280 TraceCheckUtils]: 76: Hoare triple {4022#(= |old(~elem~0.offset)| ~elem~0.offset)} assume !(~entry.base == ~elem~0.base && ~entry.offset == ~elem~0.offset); {4022#(= |old(~elem~0.offset)| ~elem~0.offset)} is VALID [2020-07-11 01:05:33,880 INFO L280 TraceCheckUtils]: 77: Hoare triple {4022#(= |old(~elem~0.offset)| ~elem~0.offset)} assume true; {4022#(= |old(~elem~0.offset)| ~elem~0.offset)} is VALID [2020-07-11 01:05:33,881 INFO L275 TraceCheckUtils]: 78: Hoare quadruple {4022#(= |old(~elem~0.offset)| ~elem~0.offset)} {3979#(<= (+ ~elem~0.offset 1) main_~dev2~0.offset)} #101#return; {3979#(<= (+ ~elem~0.offset 1) main_~dev2~0.offset)} is VALID [2020-07-11 01:05:33,882 INFO L263 TraceCheckUtils]: 79: Hoare triple {3979#(<= (+ ~elem~0.offset 1) main_~dev2~0.offset)} call list_add(~dev2~0.base, ~dev2~0.offset, ~#head~0.base, ~#head~0.offset); {3984#(<= (+ ~elem~0.offset 1) |list_add_#in~new.offset|)} is VALID [2020-07-11 01:05:33,883 INFO L280 TraceCheckUtils]: 80: Hoare triple {3984#(<= (+ ~elem~0.offset 1) |list_add_#in~new.offset|)} ~new.base, ~new.offset := #in~new.base, #in~new.offset; {3985#(not (= ~elem~0.offset list_add_~new.offset))} is VALID [2020-07-11 01:05:33,884 INFO L280 TraceCheckUtils]: 81: Hoare triple {3985#(not (= ~elem~0.offset list_add_~new.offset))} ~head.base, ~head.offset := #in~head.base, #in~head.offset; {3985#(not (= ~elem~0.offset list_add_~new.offset))} is VALID [2020-07-11 01:05:33,884 INFO L280 TraceCheckUtils]: 82: Hoare triple {3985#(not (= ~elem~0.offset list_add_~new.offset))} assume !(~new.base != ~elem~0.base || ~new.offset != ~elem~0.offset); {3913#false} is VALID [2020-07-11 01:05:33,884 INFO L263 TraceCheckUtils]: 83: Hoare triple {3913#false} call __blast_assert(); {3913#false} is VALID [2020-07-11 01:05:33,885 INFO L280 TraceCheckUtils]: 84: Hoare triple {3913#false} assume !false; {3913#false} is VALID [2020-07-11 01:05:33,893 INFO L134 CoverageAnalysis]: Checked inductivity of 30 backedges. 17 proven. 10 refuted. 0 times theorem prover too weak. 3 trivial. 0 not checked. [2020-07-11 01:05:33,893 INFO L354 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModulePreferences [1454711568] [2020-07-11 01:05:33,893 INFO L220 FreeRefinementEngine]: Constructing automaton from 0 perfect and 1 imperfect interpolant sequences. [2020-07-11 01:05:33,894 INFO L233 FreeRefinementEngine]: Number of different interpolants: perfect sequences [] imperfect sequences [24] total 24 [2020-07-11 01:05:33,894 INFO L156 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [239576401] [2020-07-11 01:05:33,894 INFO L78 Accepts]: Start accepts. Automaton has 24 states. Word has length 85 [2020-07-11 01:05:33,895 INFO L84 Accepts]: Finished accepts. word is accepted. [2020-07-11 01:05:33,895 INFO L86 InductivityCheck]: Starting indutivity check of a Floyd-Hoare automaton with 24 states. [2020-07-11 01:05:33,994 INFO L119 InductivityCheck]: Floyd-Hoare automaton has 85 edges. 85 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2020-07-11 01:05:33,994 INFO L459 AbstractCegarLoop]: Interpolant automaton has 24 states [2020-07-11 01:05:33,994 INFO L143 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy FIXED_PREFERENCES [2020-07-11 01:05:33,995 INFO L142 InterpolantAutomaton]: Constructing interpolant automaton starting with 24 interpolants. [2020-07-11 01:05:33,995 INFO L144 InterpolantAutomaton]: CoverageRelationStatistics Valid=51, Invalid=501, Unknown=0, NotChecked=0, Total=552 [2020-07-11 01:05:33,996 INFO L87 Difference]: Start difference. First operand 79 states and 84 transitions. Second operand 24 states. [2020-07-11 01:05:38,683 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2020-07-11 01:05:38,684 INFO L93 Difference]: Finished difference Result 89 states and 95 transitions. [2020-07-11 01:05:38,684 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 26 states. [2020-07-11 01:05:38,684 INFO L78 Accepts]: Start accepts. Automaton has 24 states. Word has length 85 [2020-07-11 01:05:38,684 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2020-07-11 01:05:38,684 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 24 states. [2020-07-11 01:05:38,688 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 26 states to 26 states and 80 transitions. [2020-07-11 01:05:38,689 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 24 states. [2020-07-11 01:05:38,691 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 26 states to 26 states and 80 transitions. [2020-07-11 01:05:38,692 INFO L86 InductivityCheck]: Starting indutivity check of a Floyd-Hoare automaton with 26 states and 80 transitions. [2020-07-11 01:05:38,837 INFO L119 InductivityCheck]: Floyd-Hoare automaton has 80 edges. 80 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2020-07-11 01:05:38,840 INFO L225 Difference]: With dead ends: 89 [2020-07-11 01:05:38,840 INFO L226 Difference]: Without dead ends: 82 [2020-07-11 01:05:38,842 INFO L675 BasicCegarLoop]: 0 DeclaredPredicates, 58 GetRequests, 15 SyntacticMatches, 0 SemanticMatches, 43 ConstructedPredicates, 0 IntricatePredicates, 0 DeprecatedPredicates, 205 ImplicationChecksByTransitivity, 1.1s TimeCoverageRelationStatistics Valid=232, Invalid=1748, Unknown=0, NotChecked=0, Total=1980 [2020-07-11 01:05:38,842 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 82 states. [2020-07-11 01:05:39,240 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 82 to 82. [2020-07-11 01:05:39,240 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2020-07-11 01:05:39,240 INFO L82 GeneralOperation]: Start isEquivalent. First operand 82 states. Second operand 82 states. [2020-07-11 01:05:39,241 INFO L74 IsIncluded]: Start isIncluded. First operand 82 states. Second operand 82 states. [2020-07-11 01:05:39,241 INFO L87 Difference]: Start difference. First operand 82 states. Second operand 82 states. [2020-07-11 01:05:39,245 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2020-07-11 01:05:39,245 INFO L93 Difference]: Finished difference Result 82 states and 88 transitions. [2020-07-11 01:05:39,245 INFO L276 IsEmpty]: Start isEmpty. Operand 82 states and 88 transitions. [2020-07-11 01:05:39,246 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2020-07-11 01:05:39,246 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2020-07-11 01:05:39,246 INFO L74 IsIncluded]: Start isIncluded. First operand 82 states. Second operand 82 states. [2020-07-11 01:05:39,246 INFO L87 Difference]: Start difference. First operand 82 states. Second operand 82 states. [2020-07-11 01:05:39,249 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2020-07-11 01:05:39,250 INFO L93 Difference]: Finished difference Result 82 states and 88 transitions. [2020-07-11 01:05:39,250 INFO L276 IsEmpty]: Start isEmpty. Operand 82 states and 88 transitions. [2020-07-11 01:05:39,250 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2020-07-11 01:05:39,250 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2020-07-11 01:05:39,250 INFO L88 GeneralOperation]: Finished isEquivalent. [2020-07-11 01:05:39,251 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2020-07-11 01:05:39,251 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 82 states. [2020-07-11 01:05:39,254 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 82 states to 82 states and 88 transitions. [2020-07-11 01:05:39,254 INFO L78 Accepts]: Start accepts. Automaton has 82 states and 88 transitions. Word has length 85 [2020-07-11 01:05:39,254 INFO L84 Accepts]: Finished accepts. word is rejected. [2020-07-11 01:05:39,254 INFO L479 AbstractCegarLoop]: Abstraction has 82 states and 88 transitions. [2020-07-11 01:05:39,254 INFO L480 AbstractCegarLoop]: Interpolant automaton has 24 states. [2020-07-11 01:05:39,255 INFO L86 InductivityCheck]: Starting indutivity check of a Floyd-Hoare automaton with 82 states and 88 transitions. [2020-07-11 01:05:39,439 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-11 01:05:39,439 INFO L276 IsEmpty]: Start isEmpty. Operand 82 states and 88 transitions. [2020-07-11 01:05:39,440 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 86 [2020-07-11 01:05:39,440 INFO L414 BasicCegarLoop]: Found error trace [2020-07-11 01:05:39,440 INFO L422 BasicCegarLoop]: trace histogram [3, 3, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1] [2020-07-11 01:05:39,441 WARN L516 AbstractCegarLoop]: Destroyed unattended storables created during the last iteration: SelfDestructingSolverStorable6 [2020-07-11 01:05:39,441 INFO L427 AbstractCegarLoop]: === Iteration 8 === [__blast_assertErr0ASSERT_VIOLATIONERROR_FUNCTION]=== [2020-07-11 01:05:39,441 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2020-07-11 01:05:39,441 INFO L82 PathProgramCache]: Analyzing trace with hash 571953633, now seen corresponding path program 2 times [2020-07-11 01:05:39,442 INFO L163 FreeRefinementEngine]: Executing refinement strategy FIXED_PREFERENCES [2020-07-11 01:05:39,442 INFO L354 FreeRefinementEngine]: Using trace check IpTcStrategyModulePreferences [425907316] [2020-07-11 01:05:39,442 INFO L94 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2020-07-11 01:05:39,458 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2020-07-11 01:05:39,533 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2020-07-11 01:05:39,537 INFO L280 TraceCheckUtils]: 0: Hoare triple {4643#(and (= |#valid| |old(#valid)|) (= ~elem~0.base |old(~elem~0.base)|) (= |#NULL.base| |old(#NULL.base)|) (= |~#head~0.base| |old(~#head~0.base)|) (= ~guard_malloc_counter~0.offset |old(~guard_malloc_counter~0.offset)|) (= |#NULL.offset| |old(#NULL.offset)|) (= ~elem~0.offset |old(~elem~0.offset)|) (= |old(#length)| |#length|) (= |~#head~0.offset| |old(~#head~0.offset)|) (= ~guard_malloc_counter~0.base |old(~guard_malloc_counter~0.base)|))} #NULL.base, #NULL.offset := 0, 0; {4575#true} is VALID [2020-07-11 01:05:39,538 INFO L280 TraceCheckUtils]: 1: Hoare triple {4575#true} #valid := #valid[0 := 0]; {4575#true} is VALID [2020-07-11 01:05:39,538 INFO L280 TraceCheckUtils]: 2: Hoare triple {4575#true} assume 0 < #StackHeapBarrier; {4575#true} is VALID [2020-07-11 01:05:39,538 INFO L280 TraceCheckUtils]: 3: Hoare triple {4575#true} ~guard_malloc_counter~0.base, ~guard_malloc_counter~0.offset := 0, 0; {4575#true} is VALID [2020-07-11 01:05:39,538 INFO L280 TraceCheckUtils]: 4: Hoare triple {4575#true} ~elem~0.base, ~elem~0.offset := 0, 0; {4575#true} is VALID [2020-07-11 01:05:39,538 INFO L280 TraceCheckUtils]: 5: Hoare triple {4575#true} SUMMARY for call ~#head~0.base, ~#head~0.offset := #Ultimate.allocOnStack(8); srcloc: L900 {4575#true} is VALID [2020-07-11 01:05:39,539 INFO L280 TraceCheckUtils]: 6: Hoare triple {4575#true} SUMMARY for call write~init~$Pointer$(0, 0, ~#head~0.base, ~#head~0.offset, 4); srcloc: L900-1 {4575#true} is VALID [2020-07-11 01:05:39,539 INFO L280 TraceCheckUtils]: 7: Hoare triple {4575#true} SUMMARY for call write~init~$Pointer$(0, 0, ~#head~0.base, 4 + ~#head~0.offset, 4); srcloc: L900-2 {4575#true} is VALID [2020-07-11 01:05:39,539 INFO L280 TraceCheckUtils]: 8: Hoare triple {4575#true} assume true; {4575#true} is VALID [2020-07-11 01:05:39,539 INFO L275 TraceCheckUtils]: 9: Hoare quadruple {4575#true} {4575#true} #109#return; {4575#true} is VALID [2020-07-11 01:05:39,556 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2020-07-11 01:05:39,564 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2020-07-11 01:05:39,580 INFO L280 TraceCheckUtils]: 0: Hoare triple {4644#(and (= ~guard_malloc_counter~0.offset |old(~guard_malloc_counter~0.offset)|) (= ~guard_malloc_counter~0.base |old(~guard_malloc_counter~0.base)|))} ~size := #in~size; {4575#true} is VALID [2020-07-11 01:05:39,580 INFO L280 TraceCheckUtils]: 1: Hoare triple {4575#true} assume ~size > 0; {4575#true} is VALID [2020-07-11 01:05:39,580 INFO L280 TraceCheckUtils]: 2: Hoare triple {4575#true} #t~post28.base, #t~post28.offset := ~guard_malloc_counter~0.base, ~guard_malloc_counter~0.offset; {4575#true} is VALID [2020-07-11 01:05:39,581 INFO L280 TraceCheckUtils]: 3: Hoare triple {4575#true} ~guard_malloc_counter~0.base, ~guard_malloc_counter~0.offset := #t~post28.base, 1 + #t~post28.offset; {4575#true} is VALID [2020-07-11 01:05:39,581 INFO L280 TraceCheckUtils]: 4: Hoare triple {4575#true} havoc #t~post28.base, #t~post28.offset; {4575#true} is VALID [2020-07-11 01:05:39,581 INFO L280 TraceCheckUtils]: 5: Hoare triple {4575#true} assume -2147483648 <= #t~nondet29 && #t~nondet29 <= 2147483647; {4575#true} is VALID [2020-07-11 01:05:39,581 INFO L280 TraceCheckUtils]: 6: Hoare triple {4575#true} assume !(0 == #t~nondet29); {4575#true} is VALID [2020-07-11 01:05:39,581 INFO L280 TraceCheckUtils]: 7: Hoare triple {4575#true} havoc #t~nondet29; {4575#true} is VALID [2020-07-11 01:05:39,582 INFO L280 TraceCheckUtils]: 8: Hoare triple {4575#true} #res.base, #res.offset := ~guard_malloc_counter~0.base, ~guard_malloc_counter~0.offset; {4575#true} is VALID [2020-07-11 01:05:39,582 INFO L280 TraceCheckUtils]: 9: Hoare triple {4575#true} assume true; {4575#true} is VALID [2020-07-11 01:05:39,582 INFO L275 TraceCheckUtils]: 10: Hoare quadruple {4575#true} {4575#true} #91#return; {4575#true} is VALID [2020-07-11 01:05:39,582 INFO L280 TraceCheckUtils]: 0: Hoare triple {4644#(and (= ~guard_malloc_counter~0.offset |old(~guard_malloc_counter~0.offset)|) (= ~guard_malloc_counter~0.base |old(~guard_malloc_counter~0.base)|))} ~size := #in~size; {4575#true} is VALID [2020-07-11 01:05:39,584 INFO L263 TraceCheckUtils]: 1: Hoare triple {4575#true} call #t~ret30.base, #t~ret30.offset := __getMemory(~size); {4644#(and (= ~guard_malloc_counter~0.offset |old(~guard_malloc_counter~0.offset)|) (= ~guard_malloc_counter~0.base |old(~guard_malloc_counter~0.base)|))} is VALID [2020-07-11 01:05:39,585 INFO L280 TraceCheckUtils]: 2: Hoare triple {4644#(and (= ~guard_malloc_counter~0.offset |old(~guard_malloc_counter~0.offset)|) (= ~guard_malloc_counter~0.base |old(~guard_malloc_counter~0.base)|))} ~size := #in~size; {4575#true} is VALID [2020-07-11 01:05:39,585 INFO L280 TraceCheckUtils]: 3: Hoare triple {4575#true} assume ~size > 0; {4575#true} is VALID [2020-07-11 01:05:39,585 INFO L280 TraceCheckUtils]: 4: Hoare triple {4575#true} #t~post28.base, #t~post28.offset := ~guard_malloc_counter~0.base, ~guard_malloc_counter~0.offset; {4575#true} is VALID [2020-07-11 01:05:39,585 INFO L280 TraceCheckUtils]: 5: Hoare triple {4575#true} ~guard_malloc_counter~0.base, ~guard_malloc_counter~0.offset := #t~post28.base, 1 + #t~post28.offset; {4575#true} is VALID [2020-07-11 01:05:39,585 INFO L280 TraceCheckUtils]: 6: Hoare triple {4575#true} havoc #t~post28.base, #t~post28.offset; {4575#true} is VALID [2020-07-11 01:05:39,586 INFO L280 TraceCheckUtils]: 7: Hoare triple {4575#true} assume -2147483648 <= #t~nondet29 && #t~nondet29 <= 2147483647; {4575#true} is VALID [2020-07-11 01:05:39,586 INFO L280 TraceCheckUtils]: 8: Hoare triple {4575#true} assume !(0 == #t~nondet29); {4575#true} is VALID [2020-07-11 01:05:39,586 INFO L280 TraceCheckUtils]: 9: Hoare triple {4575#true} havoc #t~nondet29; {4575#true} is VALID [2020-07-11 01:05:39,586 INFO L280 TraceCheckUtils]: 10: Hoare triple {4575#true} #res.base, #res.offset := ~guard_malloc_counter~0.base, ~guard_malloc_counter~0.offset; {4575#true} is VALID [2020-07-11 01:05:39,586 INFO L280 TraceCheckUtils]: 11: Hoare triple {4575#true} assume true; {4575#true} is VALID [2020-07-11 01:05:39,586 INFO L275 TraceCheckUtils]: 12: Hoare quadruple {4575#true} {4575#true} #91#return; {4575#true} is VALID [2020-07-11 01:05:39,587 INFO L280 TraceCheckUtils]: 13: Hoare triple {4575#true} #res.base, #res.offset := #t~ret30.base, #t~ret30.offset; {4575#true} is VALID [2020-07-11 01:05:39,587 INFO L280 TraceCheckUtils]: 14: Hoare triple {4575#true} havoc #t~ret30.base, #t~ret30.offset; {4575#true} is VALID [2020-07-11 01:05:39,587 INFO L280 TraceCheckUtils]: 15: Hoare triple {4575#true} assume true; {4575#true} is VALID [2020-07-11 01:05:39,587 INFO L275 TraceCheckUtils]: 16: Hoare quadruple {4575#true} {4575#true} #93#return; {4575#true} is VALID [2020-07-11 01:05:39,588 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2020-07-11 01:05:39,601 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2020-07-11 01:05:39,609 INFO L280 TraceCheckUtils]: 0: Hoare triple {4644#(and (= ~guard_malloc_counter~0.offset |old(~guard_malloc_counter~0.offset)|) (= ~guard_malloc_counter~0.base |old(~guard_malloc_counter~0.base)|))} ~size := #in~size; {4575#true} is VALID [2020-07-11 01:05:39,609 INFO L280 TraceCheckUtils]: 1: Hoare triple {4575#true} assume ~size > 0; {4575#true} is VALID [2020-07-11 01:05:39,610 INFO L280 TraceCheckUtils]: 2: Hoare triple {4575#true} #t~post28.base, #t~post28.offset := ~guard_malloc_counter~0.base, ~guard_malloc_counter~0.offset; {4575#true} is VALID [2020-07-11 01:05:39,610 INFO L280 TraceCheckUtils]: 3: Hoare triple {4575#true} ~guard_malloc_counter~0.base, ~guard_malloc_counter~0.offset := #t~post28.base, 1 + #t~post28.offset; {4575#true} is VALID [2020-07-11 01:05:39,610 INFO L280 TraceCheckUtils]: 4: Hoare triple {4575#true} havoc #t~post28.base, #t~post28.offset; {4575#true} is VALID [2020-07-11 01:05:39,610 INFO L280 TraceCheckUtils]: 5: Hoare triple {4575#true} assume -2147483648 <= #t~nondet29 && #t~nondet29 <= 2147483647; {4575#true} is VALID [2020-07-11 01:05:39,610 INFO L280 TraceCheckUtils]: 6: Hoare triple {4575#true} assume !(0 == #t~nondet29); {4575#true} is VALID [2020-07-11 01:05:39,611 INFO L280 TraceCheckUtils]: 7: Hoare triple {4575#true} havoc #t~nondet29; {4575#true} is VALID [2020-07-11 01:05:39,611 INFO L280 TraceCheckUtils]: 8: Hoare triple {4575#true} #res.base, #res.offset := ~guard_malloc_counter~0.base, ~guard_malloc_counter~0.offset; {4575#true} is VALID [2020-07-11 01:05:39,611 INFO L280 TraceCheckUtils]: 9: Hoare triple {4575#true} assume true; {4575#true} is VALID [2020-07-11 01:05:39,611 INFO L275 TraceCheckUtils]: 10: Hoare quadruple {4575#true} {4575#true} #91#return; {4575#true} is VALID [2020-07-11 01:05:39,612 INFO L280 TraceCheckUtils]: 0: Hoare triple {4644#(and (= ~guard_malloc_counter~0.offset |old(~guard_malloc_counter~0.offset)|) (= ~guard_malloc_counter~0.base |old(~guard_malloc_counter~0.base)|))} ~size := #in~size; {4575#true} is VALID [2020-07-11 01:05:39,612 INFO L263 TraceCheckUtils]: 1: Hoare triple {4575#true} call #t~ret30.base, #t~ret30.offset := __getMemory(~size); {4644#(and (= ~guard_malloc_counter~0.offset |old(~guard_malloc_counter~0.offset)|) (= ~guard_malloc_counter~0.base |old(~guard_malloc_counter~0.base)|))} is VALID [2020-07-11 01:05:39,613 INFO L280 TraceCheckUtils]: 2: Hoare triple {4644#(and (= ~guard_malloc_counter~0.offset |old(~guard_malloc_counter~0.offset)|) (= ~guard_malloc_counter~0.base |old(~guard_malloc_counter~0.base)|))} ~size := #in~size; {4575#true} is VALID [2020-07-11 01:05:39,613 INFO L280 TraceCheckUtils]: 3: Hoare triple {4575#true} assume ~size > 0; {4575#true} is VALID [2020-07-11 01:05:39,613 INFO L280 TraceCheckUtils]: 4: Hoare triple {4575#true} #t~post28.base, #t~post28.offset := ~guard_malloc_counter~0.base, ~guard_malloc_counter~0.offset; {4575#true} is VALID [2020-07-11 01:05:39,613 INFO L280 TraceCheckUtils]: 5: Hoare triple {4575#true} ~guard_malloc_counter~0.base, ~guard_malloc_counter~0.offset := #t~post28.base, 1 + #t~post28.offset; {4575#true} is VALID [2020-07-11 01:05:39,613 INFO L280 TraceCheckUtils]: 6: Hoare triple {4575#true} havoc #t~post28.base, #t~post28.offset; {4575#true} is VALID [2020-07-11 01:05:39,614 INFO L280 TraceCheckUtils]: 7: Hoare triple {4575#true} assume -2147483648 <= #t~nondet29 && #t~nondet29 <= 2147483647; {4575#true} is VALID [2020-07-11 01:05:39,614 INFO L280 TraceCheckUtils]: 8: Hoare triple {4575#true} assume !(0 == #t~nondet29); {4575#true} is VALID [2020-07-11 01:05:39,614 INFO L280 TraceCheckUtils]: 9: Hoare triple {4575#true} havoc #t~nondet29; {4575#true} is VALID [2020-07-11 01:05:39,614 INFO L280 TraceCheckUtils]: 10: Hoare triple {4575#true} #res.base, #res.offset := ~guard_malloc_counter~0.base, ~guard_malloc_counter~0.offset; {4575#true} is VALID [2020-07-11 01:05:39,614 INFO L280 TraceCheckUtils]: 11: Hoare triple {4575#true} assume true; {4575#true} is VALID [2020-07-11 01:05:39,615 INFO L275 TraceCheckUtils]: 12: Hoare quadruple {4575#true} {4575#true} #91#return; {4575#true} is VALID [2020-07-11 01:05:39,615 INFO L280 TraceCheckUtils]: 13: Hoare triple {4575#true} #res.base, #res.offset := #t~ret30.base, #t~ret30.offset; {4575#true} is VALID [2020-07-11 01:05:39,615 INFO L280 TraceCheckUtils]: 14: Hoare triple {4575#true} havoc #t~ret30.base, #t~ret30.offset; {4575#true} is VALID [2020-07-11 01:05:39,615 INFO L280 TraceCheckUtils]: 15: Hoare triple {4575#true} assume true; {4575#true} is VALID [2020-07-11 01:05:39,615 INFO L275 TraceCheckUtils]: 16: Hoare quadruple {4575#true} {4575#true} #95#return; {4575#true} is VALID [2020-07-11 01:05:39,629 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2020-07-11 01:05:39,667 INFO L280 TraceCheckUtils]: 0: Hoare triple {4667#(and (= ~elem~0.base |old(~elem~0.base)|) (= ~elem~0.offset |old(~elem~0.offset)|))} ~new.base, ~new.offset := #in~new.base, #in~new.offset; {4668#(and (= list_add_~new.base |list_add_#in~new.base|) (= |list_add_#in~new.offset| list_add_~new.offset))} is VALID [2020-07-11 01:05:39,668 INFO L280 TraceCheckUtils]: 1: Hoare triple {4668#(and (= list_add_~new.base |list_add_#in~new.base|) (= |list_add_#in~new.offset| list_add_~new.offset))} ~head.base, ~head.offset := #in~head.base, #in~head.offset; {4668#(and (= list_add_~new.base |list_add_#in~new.base|) (= |list_add_#in~new.offset| list_add_~new.offset))} is VALID [2020-07-11 01:05:39,669 INFO L280 TraceCheckUtils]: 2: Hoare triple {4668#(and (= list_add_~new.base |list_add_#in~new.base|) (= |list_add_#in~new.offset| list_add_~new.offset))} assume ~new.base != ~elem~0.base || ~new.offset != ~elem~0.offset; {4668#(and (= list_add_~new.base |list_add_#in~new.base|) (= |list_add_#in~new.offset| list_add_~new.offset))} is VALID [2020-07-11 01:05:39,670 INFO L280 TraceCheckUtils]: 3: Hoare triple {4668#(and (= list_add_~new.base |list_add_#in~new.base|) (= |list_add_#in~new.offset| list_add_~new.offset))} assume -2147483648 <= #t~nondet31 && #t~nondet31 <= 2147483647; {4668#(and (= list_add_~new.base |list_add_#in~new.base|) (= |list_add_#in~new.offset| list_add_~new.offset))} is VALID [2020-07-11 01:05:39,670 INFO L280 TraceCheckUtils]: 4: Hoare triple {4668#(and (= list_add_~new.base |list_add_#in~new.base|) (= |list_add_#in~new.offset| list_add_~new.offset))} assume 0 != #t~nondet31; {4668#(and (= list_add_~new.base |list_add_#in~new.base|) (= |list_add_#in~new.offset| list_add_~new.offset))} is VALID [2020-07-11 01:05:39,671 INFO L280 TraceCheckUtils]: 5: Hoare triple {4668#(and (= list_add_~new.base |list_add_#in~new.base|) (= |list_add_#in~new.offset| list_add_~new.offset))} havoc #t~nondet31; {4668#(and (= list_add_~new.base |list_add_#in~new.base|) (= |list_add_#in~new.offset| list_add_~new.offset))} is VALID [2020-07-11 01:05:39,672 INFO L280 TraceCheckUtils]: 6: Hoare triple {4668#(and (= list_add_~new.base |list_add_#in~new.base|) (= |list_add_#in~new.offset| list_add_~new.offset))} ~elem~0.base, ~elem~0.offset := ~new.base, ~new.offset; {4669#(and (= ~elem~0.base |list_add_#in~new.base|) (= ~elem~0.offset |list_add_#in~new.offset|))} is VALID [2020-07-11 01:05:39,672 INFO L280 TraceCheckUtils]: 7: Hoare triple {4669#(and (= ~elem~0.base |list_add_#in~new.base|) (= ~elem~0.offset |list_add_#in~new.offset|))} assume true; {4669#(and (= ~elem~0.base |list_add_#in~new.base|) (= ~elem~0.offset |list_add_#in~new.offset|))} is VALID [2020-07-11 01:05:39,673 INFO L275 TraceCheckUtils]: 8: Hoare quadruple {4669#(and (= ~elem~0.base |list_add_#in~new.base|) (= ~elem~0.offset |list_add_#in~new.offset|))} {4575#true} #97#return; {4630#(and (= main_~dev2~0.base ~elem~0.base) (= main_~dev2~0.offset ~elem~0.offset))} is VALID [2020-07-11 01:05:39,675 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2020-07-11 01:05:39,694 INFO L280 TraceCheckUtils]: 0: Hoare triple {4667#(and (= ~elem~0.base |old(~elem~0.base)|) (= ~elem~0.offset |old(~elem~0.offset)|))} ~new.base, ~new.offset := #in~new.base, #in~new.offset; {4667#(and (= ~elem~0.base |old(~elem~0.base)|) (= ~elem~0.offset |old(~elem~0.offset)|))} is VALID [2020-07-11 01:05:39,695 INFO L280 TraceCheckUtils]: 1: Hoare triple {4667#(and (= ~elem~0.base |old(~elem~0.base)|) (= ~elem~0.offset |old(~elem~0.offset)|))} ~head.base, ~head.offset := #in~head.base, #in~head.offset; {4667#(and (= ~elem~0.base |old(~elem~0.base)|) (= ~elem~0.offset |old(~elem~0.offset)|))} is VALID [2020-07-11 01:05:39,695 INFO L280 TraceCheckUtils]: 2: Hoare triple {4667#(and (= ~elem~0.base |old(~elem~0.base)|) (= ~elem~0.offset |old(~elem~0.offset)|))} assume ~new.base != ~elem~0.base || ~new.offset != ~elem~0.offset; {4667#(and (= ~elem~0.base |old(~elem~0.base)|) (= ~elem~0.offset |old(~elem~0.offset)|))} is VALID [2020-07-11 01:05:39,696 INFO L280 TraceCheckUtils]: 3: Hoare triple {4667#(and (= ~elem~0.base |old(~elem~0.base)|) (= ~elem~0.offset |old(~elem~0.offset)|))} assume -2147483648 <= #t~nondet31 && #t~nondet31 <= 2147483647; {4667#(and (= ~elem~0.base |old(~elem~0.base)|) (= ~elem~0.offset |old(~elem~0.offset)|))} is VALID [2020-07-11 01:05:39,697 INFO L280 TraceCheckUtils]: 4: Hoare triple {4667#(and (= ~elem~0.base |old(~elem~0.base)|) (= ~elem~0.offset |old(~elem~0.offset)|))} assume !(0 != #t~nondet31); {4667#(and (= ~elem~0.base |old(~elem~0.base)|) (= ~elem~0.offset |old(~elem~0.offset)|))} is VALID [2020-07-11 01:05:39,697 INFO L280 TraceCheckUtils]: 5: Hoare triple {4667#(and (= ~elem~0.base |old(~elem~0.base)|) (= ~elem~0.offset |old(~elem~0.offset)|))} havoc #t~nondet31; {4667#(and (= ~elem~0.base |old(~elem~0.base)|) (= ~elem~0.offset |old(~elem~0.offset)|))} is VALID [2020-07-11 01:05:39,698 INFO L280 TraceCheckUtils]: 6: Hoare triple {4667#(and (= ~elem~0.base |old(~elem~0.base)|) (= ~elem~0.offset |old(~elem~0.offset)|))} assume true; {4667#(and (= ~elem~0.base |old(~elem~0.base)|) (= ~elem~0.offset |old(~elem~0.offset)|))} is VALID [2020-07-11 01:05:39,699 INFO L275 TraceCheckUtils]: 7: Hoare quadruple {4667#(and (= ~elem~0.base |old(~elem~0.base)|) (= ~elem~0.offset |old(~elem~0.offset)|))} {4630#(and (= main_~dev2~0.base ~elem~0.base) (= main_~dev2~0.offset ~elem~0.offset))} #99#return; {4630#(and (= main_~dev2~0.base ~elem~0.base) (= main_~dev2~0.offset ~elem~0.offset))} is VALID [2020-07-11 01:05:39,701 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2020-07-11 01:05:39,745 INFO L280 TraceCheckUtils]: 0: Hoare triple {4667#(and (= ~elem~0.base |old(~elem~0.base)|) (= ~elem~0.offset |old(~elem~0.offset)|))} ~entry.base, ~entry.offset := #in~entry.base, #in~entry.offset; {4670#(and (= list_del_~entry.base |list_del_#in~entry.base|) (= |old(~elem~0.offset)| ~elem~0.offset) (= |list_del_#in~entry.offset| list_del_~entry.offset) (= |old(~elem~0.base)| ~elem~0.base))} is VALID [2020-07-11 01:05:39,745 INFO L280 TraceCheckUtils]: 1: Hoare triple {4670#(and (= list_del_~entry.base |list_del_#in~entry.base|) (= |old(~elem~0.offset)| ~elem~0.offset) (= |list_del_#in~entry.offset| list_del_~entry.offset) (= |old(~elem~0.base)| ~elem~0.base))} assume !(~entry.base == ~elem~0.base && ~entry.offset == ~elem~0.offset); {4671#(or (not (= |old(~elem~0.base)| |list_del_#in~entry.base|)) (not (= |old(~elem~0.offset)| |list_del_#in~entry.offset|)))} is VALID [2020-07-11 01:05:39,746 INFO L280 TraceCheckUtils]: 2: Hoare triple {4671#(or (not (= |old(~elem~0.base)| |list_del_#in~entry.base|)) (not (= |old(~elem~0.offset)| |list_del_#in~entry.offset|)))} assume true; {4671#(or (not (= |old(~elem~0.base)| |list_del_#in~entry.base|)) (not (= |old(~elem~0.offset)| |list_del_#in~entry.offset|)))} is VALID [2020-07-11 01:05:39,747 INFO L275 TraceCheckUtils]: 3: Hoare quadruple {4671#(or (not (= |old(~elem~0.base)| |list_del_#in~entry.base|)) (not (= |old(~elem~0.offset)| |list_del_#in~entry.offset|)))} {4630#(and (= main_~dev2~0.base ~elem~0.base) (= main_~dev2~0.offset ~elem~0.offset))} #101#return; {4576#false} is VALID [2020-07-11 01:05:39,748 INFO L263 TraceCheckUtils]: 0: Hoare triple {4575#true} call ULTIMATE.init(); {4643#(and (= |#valid| |old(#valid)|) (= ~elem~0.base |old(~elem~0.base)|) (= |#NULL.base| |old(#NULL.base)|) (= |~#head~0.base| |old(~#head~0.base)|) (= ~guard_malloc_counter~0.offset |old(~guard_malloc_counter~0.offset)|) (= |#NULL.offset| |old(#NULL.offset)|) (= ~elem~0.offset |old(~elem~0.offset)|) (= |old(#length)| |#length|) (= |~#head~0.offset| |old(~#head~0.offset)|) (= ~guard_malloc_counter~0.base |old(~guard_malloc_counter~0.base)|))} is VALID [2020-07-11 01:05:39,748 INFO L280 TraceCheckUtils]: 1: Hoare triple {4643#(and (= |#valid| |old(#valid)|) (= ~elem~0.base |old(~elem~0.base)|) (= |#NULL.base| |old(#NULL.base)|) (= |~#head~0.base| |old(~#head~0.base)|) (= ~guard_malloc_counter~0.offset |old(~guard_malloc_counter~0.offset)|) (= |#NULL.offset| |old(#NULL.offset)|) (= ~elem~0.offset |old(~elem~0.offset)|) (= |old(#length)| |#length|) (= |~#head~0.offset| |old(~#head~0.offset)|) (= ~guard_malloc_counter~0.base |old(~guard_malloc_counter~0.base)|))} #NULL.base, #NULL.offset := 0, 0; {4575#true} is VALID [2020-07-11 01:05:39,748 INFO L280 TraceCheckUtils]: 2: Hoare triple {4575#true} #valid := #valid[0 := 0]; {4575#true} is VALID [2020-07-11 01:05:39,748 INFO L280 TraceCheckUtils]: 3: Hoare triple {4575#true} assume 0 < #StackHeapBarrier; {4575#true} is VALID [2020-07-11 01:05:39,749 INFO L280 TraceCheckUtils]: 4: Hoare triple {4575#true} ~guard_malloc_counter~0.base, ~guard_malloc_counter~0.offset := 0, 0; {4575#true} is VALID [2020-07-11 01:05:39,749 INFO L280 TraceCheckUtils]: 5: Hoare triple {4575#true} ~elem~0.base, ~elem~0.offset := 0, 0; {4575#true} is VALID [2020-07-11 01:05:39,749 INFO L280 TraceCheckUtils]: 6: Hoare triple {4575#true} SUMMARY for call ~#head~0.base, ~#head~0.offset := #Ultimate.allocOnStack(8); srcloc: L900 {4575#true} is VALID [2020-07-11 01:05:39,749 INFO L280 TraceCheckUtils]: 7: Hoare triple {4575#true} SUMMARY for call write~init~$Pointer$(0, 0, ~#head~0.base, ~#head~0.offset, 4); srcloc: L900-1 {4575#true} is VALID [2020-07-11 01:05:39,749 INFO L280 TraceCheckUtils]: 8: Hoare triple {4575#true} SUMMARY for call write~init~$Pointer$(0, 0, ~#head~0.base, 4 + ~#head~0.offset, 4); srcloc: L900-2 {4575#true} is VALID [2020-07-11 01:05:39,749 INFO L280 TraceCheckUtils]: 9: Hoare triple {4575#true} assume true; {4575#true} is VALID [2020-07-11 01:05:39,749 INFO L275 TraceCheckUtils]: 10: Hoare quadruple {4575#true} {4575#true} #109#return; {4575#true} is VALID [2020-07-11 01:05:39,750 INFO L263 TraceCheckUtils]: 11: Hoare triple {4575#true} call #t~ret34 := main(); {4575#true} is VALID [2020-07-11 01:05:39,750 INFO L280 TraceCheckUtils]: 12: Hoare triple {4575#true} havoc ~dev1~0.base, ~dev1~0.offset; {4575#true} is VALID [2020-07-11 01:05:39,750 INFO L280 TraceCheckUtils]: 13: Hoare triple {4575#true} havoc ~dev2~0.base, ~dev2~0.offset; {4575#true} is VALID [2020-07-11 01:05:39,750 INFO L263 TraceCheckUtils]: 14: Hoare triple {4575#true} call #t~ret32.base, #t~ret32.offset := my_malloc(8); {4644#(and (= ~guard_malloc_counter~0.offset |old(~guard_malloc_counter~0.offset)|) (= ~guard_malloc_counter~0.base |old(~guard_malloc_counter~0.base)|))} is VALID [2020-07-11 01:05:39,750 INFO L280 TraceCheckUtils]: 15: Hoare triple {4644#(and (= ~guard_malloc_counter~0.offset |old(~guard_malloc_counter~0.offset)|) (= ~guard_malloc_counter~0.base |old(~guard_malloc_counter~0.base)|))} ~size := #in~size; {4575#true} is VALID [2020-07-11 01:05:39,751 INFO L263 TraceCheckUtils]: 16: Hoare triple {4575#true} call #t~ret30.base, #t~ret30.offset := __getMemory(~size); {4644#(and (= ~guard_malloc_counter~0.offset |old(~guard_malloc_counter~0.offset)|) (= ~guard_malloc_counter~0.base |old(~guard_malloc_counter~0.base)|))} is VALID [2020-07-11 01:05:39,751 INFO L280 TraceCheckUtils]: 17: Hoare triple {4644#(and (= ~guard_malloc_counter~0.offset |old(~guard_malloc_counter~0.offset)|) (= ~guard_malloc_counter~0.base |old(~guard_malloc_counter~0.base)|))} ~size := #in~size; {4575#true} is VALID [2020-07-11 01:05:39,751 INFO L280 TraceCheckUtils]: 18: Hoare triple {4575#true} assume ~size > 0; {4575#true} is VALID [2020-07-11 01:05:39,751 INFO L280 TraceCheckUtils]: 19: Hoare triple {4575#true} #t~post28.base, #t~post28.offset := ~guard_malloc_counter~0.base, ~guard_malloc_counter~0.offset; {4575#true} is VALID [2020-07-11 01:05:39,752 INFO L280 TraceCheckUtils]: 20: Hoare triple {4575#true} ~guard_malloc_counter~0.base, ~guard_malloc_counter~0.offset := #t~post28.base, 1 + #t~post28.offset; {4575#true} is VALID [2020-07-11 01:05:39,752 INFO L280 TraceCheckUtils]: 21: Hoare triple {4575#true} havoc #t~post28.base, #t~post28.offset; {4575#true} is VALID [2020-07-11 01:05:39,752 INFO L280 TraceCheckUtils]: 22: Hoare triple {4575#true} assume -2147483648 <= #t~nondet29 && #t~nondet29 <= 2147483647; {4575#true} is VALID [2020-07-11 01:05:39,752 INFO L280 TraceCheckUtils]: 23: Hoare triple {4575#true} assume !(0 == #t~nondet29); {4575#true} is VALID [2020-07-11 01:05:39,752 INFO L280 TraceCheckUtils]: 24: Hoare triple {4575#true} havoc #t~nondet29; {4575#true} is VALID [2020-07-11 01:05:39,752 INFO L280 TraceCheckUtils]: 25: Hoare triple {4575#true} #res.base, #res.offset := ~guard_malloc_counter~0.base, ~guard_malloc_counter~0.offset; {4575#true} is VALID [2020-07-11 01:05:39,752 INFO L280 TraceCheckUtils]: 26: Hoare triple {4575#true} assume true; {4575#true} is VALID [2020-07-11 01:05:39,752 INFO L275 TraceCheckUtils]: 27: Hoare quadruple {4575#true} {4575#true} #91#return; {4575#true} is VALID [2020-07-11 01:05:39,753 INFO L280 TraceCheckUtils]: 28: Hoare triple {4575#true} #res.base, #res.offset := #t~ret30.base, #t~ret30.offset; {4575#true} is VALID [2020-07-11 01:05:39,753 INFO L280 TraceCheckUtils]: 29: Hoare triple {4575#true} havoc #t~ret30.base, #t~ret30.offset; {4575#true} is VALID [2020-07-11 01:05:39,753 INFO L280 TraceCheckUtils]: 30: Hoare triple {4575#true} assume true; {4575#true} is VALID [2020-07-11 01:05:39,753 INFO L275 TraceCheckUtils]: 31: Hoare quadruple {4575#true} {4575#true} #93#return; {4575#true} is VALID [2020-07-11 01:05:39,753 INFO L280 TraceCheckUtils]: 32: Hoare triple {4575#true} ~dev1~0.base, ~dev1~0.offset := #t~ret32.base, #t~ret32.offset; {4575#true} is VALID [2020-07-11 01:05:39,753 INFO L280 TraceCheckUtils]: 33: Hoare triple {4575#true} havoc #t~ret32.base, #t~ret32.offset; {4575#true} is VALID [2020-07-11 01:05:39,754 INFO L263 TraceCheckUtils]: 34: Hoare triple {4575#true} call #t~ret33.base, #t~ret33.offset := my_malloc(8); {4644#(and (= ~guard_malloc_counter~0.offset |old(~guard_malloc_counter~0.offset)|) (= ~guard_malloc_counter~0.base |old(~guard_malloc_counter~0.base)|))} is VALID [2020-07-11 01:05:39,754 INFO L280 TraceCheckUtils]: 35: Hoare triple {4644#(and (= ~guard_malloc_counter~0.offset |old(~guard_malloc_counter~0.offset)|) (= ~guard_malloc_counter~0.base |old(~guard_malloc_counter~0.base)|))} ~size := #in~size; {4575#true} is VALID [2020-07-11 01:05:39,754 INFO L263 TraceCheckUtils]: 36: Hoare triple {4575#true} call #t~ret30.base, #t~ret30.offset := __getMemory(~size); {4644#(and (= ~guard_malloc_counter~0.offset |old(~guard_malloc_counter~0.offset)|) (= ~guard_malloc_counter~0.base |old(~guard_malloc_counter~0.base)|))} is VALID [2020-07-11 01:05:39,754 INFO L280 TraceCheckUtils]: 37: Hoare triple {4644#(and (= ~guard_malloc_counter~0.offset |old(~guard_malloc_counter~0.offset)|) (= ~guard_malloc_counter~0.base |old(~guard_malloc_counter~0.base)|))} ~size := #in~size; {4575#true} is VALID [2020-07-11 01:05:39,755 INFO L280 TraceCheckUtils]: 38: Hoare triple {4575#true} assume ~size > 0; {4575#true} is VALID [2020-07-11 01:05:39,755 INFO L280 TraceCheckUtils]: 39: Hoare triple {4575#true} #t~post28.base, #t~post28.offset := ~guard_malloc_counter~0.base, ~guard_malloc_counter~0.offset; {4575#true} is VALID [2020-07-11 01:05:39,755 INFO L280 TraceCheckUtils]: 40: Hoare triple {4575#true} ~guard_malloc_counter~0.base, ~guard_malloc_counter~0.offset := #t~post28.base, 1 + #t~post28.offset; {4575#true} is VALID [2020-07-11 01:05:39,755 INFO L280 TraceCheckUtils]: 41: Hoare triple {4575#true} havoc #t~post28.base, #t~post28.offset; {4575#true} is VALID [2020-07-11 01:05:39,755 INFO L280 TraceCheckUtils]: 42: Hoare triple {4575#true} assume -2147483648 <= #t~nondet29 && #t~nondet29 <= 2147483647; {4575#true} is VALID [2020-07-11 01:05:39,755 INFO L280 TraceCheckUtils]: 43: Hoare triple {4575#true} assume !(0 == #t~nondet29); {4575#true} is VALID [2020-07-11 01:05:39,755 INFO L280 TraceCheckUtils]: 44: Hoare triple {4575#true} havoc #t~nondet29; {4575#true} is VALID [2020-07-11 01:05:39,755 INFO L280 TraceCheckUtils]: 45: Hoare triple {4575#true} #res.base, #res.offset := ~guard_malloc_counter~0.base, ~guard_malloc_counter~0.offset; {4575#true} is VALID [2020-07-11 01:05:39,756 INFO L280 TraceCheckUtils]: 46: Hoare triple {4575#true} assume true; {4575#true} is VALID [2020-07-11 01:05:39,756 INFO L275 TraceCheckUtils]: 47: Hoare quadruple {4575#true} {4575#true} #91#return; {4575#true} is VALID [2020-07-11 01:05:39,756 INFO L280 TraceCheckUtils]: 48: Hoare triple {4575#true} #res.base, #res.offset := #t~ret30.base, #t~ret30.offset; {4575#true} is VALID [2020-07-11 01:05:39,756 INFO L280 TraceCheckUtils]: 49: Hoare triple {4575#true} havoc #t~ret30.base, #t~ret30.offset; {4575#true} is VALID [2020-07-11 01:05:39,756 INFO L280 TraceCheckUtils]: 50: Hoare triple {4575#true} assume true; {4575#true} is VALID [2020-07-11 01:05:39,756 INFO L275 TraceCheckUtils]: 51: Hoare quadruple {4575#true} {4575#true} #95#return; {4575#true} is VALID [2020-07-11 01:05:39,756 INFO L280 TraceCheckUtils]: 52: Hoare triple {4575#true} ~dev2~0.base, ~dev2~0.offset := #t~ret33.base, #t~ret33.offset; {4575#true} is VALID [2020-07-11 01:05:39,757 INFO L280 TraceCheckUtils]: 53: Hoare triple {4575#true} havoc #t~ret33.base, #t~ret33.offset; {4575#true} is VALID [2020-07-11 01:05:39,757 INFO L280 TraceCheckUtils]: 54: Hoare triple {4575#true} assume (~dev1~0.base != 0 || ~dev1~0.offset != 0) && (~dev2~0.base != 0 || ~dev2~0.offset != 0); {4575#true} is VALID [2020-07-11 01:05:39,759 INFO L263 TraceCheckUtils]: 55: Hoare triple {4575#true} call list_add(~dev2~0.base, ~dev2~0.offset, ~#head~0.base, ~#head~0.offset); {4667#(and (= ~elem~0.base |old(~elem~0.base)|) (= ~elem~0.offset |old(~elem~0.offset)|))} is VALID [2020-07-11 01:05:39,763 INFO L280 TraceCheckUtils]: 56: Hoare triple {4667#(and (= ~elem~0.base |old(~elem~0.base)|) (= ~elem~0.offset |old(~elem~0.offset)|))} ~new.base, ~new.offset := #in~new.base, #in~new.offset; {4668#(and (= list_add_~new.base |list_add_#in~new.base|) (= |list_add_#in~new.offset| list_add_~new.offset))} is VALID [2020-07-11 01:05:39,765 INFO L280 TraceCheckUtils]: 57: Hoare triple {4668#(and (= list_add_~new.base |list_add_#in~new.base|) (= |list_add_#in~new.offset| list_add_~new.offset))} ~head.base, ~head.offset := #in~head.base, #in~head.offset; {4668#(and (= list_add_~new.base |list_add_#in~new.base|) (= |list_add_#in~new.offset| list_add_~new.offset))} is VALID [2020-07-11 01:05:39,766 INFO L280 TraceCheckUtils]: 58: Hoare triple {4668#(and (= list_add_~new.base |list_add_#in~new.base|) (= |list_add_#in~new.offset| list_add_~new.offset))} assume ~new.base != ~elem~0.base || ~new.offset != ~elem~0.offset; {4668#(and (= list_add_~new.base |list_add_#in~new.base|) (= |list_add_#in~new.offset| list_add_~new.offset))} is VALID [2020-07-11 01:05:39,767 INFO L280 TraceCheckUtils]: 59: Hoare triple {4668#(and (= list_add_~new.base |list_add_#in~new.base|) (= |list_add_#in~new.offset| list_add_~new.offset))} assume -2147483648 <= #t~nondet31 && #t~nondet31 <= 2147483647; {4668#(and (= list_add_~new.base |list_add_#in~new.base|) (= |list_add_#in~new.offset| list_add_~new.offset))} is VALID [2020-07-11 01:05:39,767 INFO L280 TraceCheckUtils]: 60: Hoare triple {4668#(and (= list_add_~new.base |list_add_#in~new.base|) (= |list_add_#in~new.offset| list_add_~new.offset))} assume 0 != #t~nondet31; {4668#(and (= list_add_~new.base |list_add_#in~new.base|) (= |list_add_#in~new.offset| list_add_~new.offset))} is VALID [2020-07-11 01:05:39,768 INFO L280 TraceCheckUtils]: 61: Hoare triple {4668#(and (= list_add_~new.base |list_add_#in~new.base|) (= |list_add_#in~new.offset| list_add_~new.offset))} havoc #t~nondet31; {4668#(and (= list_add_~new.base |list_add_#in~new.base|) (= |list_add_#in~new.offset| list_add_~new.offset))} is VALID [2020-07-11 01:05:39,769 INFO L280 TraceCheckUtils]: 62: Hoare triple {4668#(and (= list_add_~new.base |list_add_#in~new.base|) (= |list_add_#in~new.offset| list_add_~new.offset))} ~elem~0.base, ~elem~0.offset := ~new.base, ~new.offset; {4669#(and (= ~elem~0.base |list_add_#in~new.base|) (= ~elem~0.offset |list_add_#in~new.offset|))} is VALID [2020-07-11 01:05:39,769 INFO L280 TraceCheckUtils]: 63: Hoare triple {4669#(and (= ~elem~0.base |list_add_#in~new.base|) (= ~elem~0.offset |list_add_#in~new.offset|))} assume true; {4669#(and (= ~elem~0.base |list_add_#in~new.base|) (= ~elem~0.offset |list_add_#in~new.offset|))} is VALID [2020-07-11 01:05:39,770 INFO L275 TraceCheckUtils]: 64: Hoare quadruple {4669#(and (= ~elem~0.base |list_add_#in~new.base|) (= ~elem~0.offset |list_add_#in~new.offset|))} {4575#true} #97#return; {4630#(and (= main_~dev2~0.base ~elem~0.base) (= main_~dev2~0.offset ~elem~0.offset))} is VALID [2020-07-11 01:05:39,772 INFO L263 TraceCheckUtils]: 65: Hoare triple {4630#(and (= main_~dev2~0.base ~elem~0.base) (= main_~dev2~0.offset ~elem~0.offset))} call list_add(~dev1~0.base, ~dev1~0.offset, ~#head~0.base, ~#head~0.offset); {4667#(and (= ~elem~0.base |old(~elem~0.base)|) (= ~elem~0.offset |old(~elem~0.offset)|))} is VALID [2020-07-11 01:05:39,772 INFO L280 TraceCheckUtils]: 66: Hoare triple {4667#(and (= ~elem~0.base |old(~elem~0.base)|) (= ~elem~0.offset |old(~elem~0.offset)|))} ~new.base, ~new.offset := #in~new.base, #in~new.offset; {4667#(and (= ~elem~0.base |old(~elem~0.base)|) (= ~elem~0.offset |old(~elem~0.offset)|))} is VALID [2020-07-11 01:05:39,773 INFO L280 TraceCheckUtils]: 67: Hoare triple {4667#(and (= ~elem~0.base |old(~elem~0.base)|) (= ~elem~0.offset |old(~elem~0.offset)|))} ~head.base, ~head.offset := #in~head.base, #in~head.offset; {4667#(and (= ~elem~0.base |old(~elem~0.base)|) (= ~elem~0.offset |old(~elem~0.offset)|))} is VALID [2020-07-11 01:05:39,773 INFO L280 TraceCheckUtils]: 68: Hoare triple {4667#(and (= ~elem~0.base |old(~elem~0.base)|) (= ~elem~0.offset |old(~elem~0.offset)|))} assume ~new.base != ~elem~0.base || ~new.offset != ~elem~0.offset; {4667#(and (= ~elem~0.base |old(~elem~0.base)|) (= ~elem~0.offset |old(~elem~0.offset)|))} is VALID [2020-07-11 01:05:39,774 INFO L280 TraceCheckUtils]: 69: Hoare triple {4667#(and (= ~elem~0.base |old(~elem~0.base)|) (= ~elem~0.offset |old(~elem~0.offset)|))} assume -2147483648 <= #t~nondet31 && #t~nondet31 <= 2147483647; {4667#(and (= ~elem~0.base |old(~elem~0.base)|) (= ~elem~0.offset |old(~elem~0.offset)|))} is VALID [2020-07-11 01:05:39,775 INFO L280 TraceCheckUtils]: 70: Hoare triple {4667#(and (= ~elem~0.base |old(~elem~0.base)|) (= ~elem~0.offset |old(~elem~0.offset)|))} assume !(0 != #t~nondet31); {4667#(and (= ~elem~0.base |old(~elem~0.base)|) (= ~elem~0.offset |old(~elem~0.offset)|))} is VALID [2020-07-11 01:05:39,775 INFO L280 TraceCheckUtils]: 71: Hoare triple {4667#(and (= ~elem~0.base |old(~elem~0.base)|) (= ~elem~0.offset |old(~elem~0.offset)|))} havoc #t~nondet31; {4667#(and (= ~elem~0.base |old(~elem~0.base)|) (= ~elem~0.offset |old(~elem~0.offset)|))} is VALID [2020-07-11 01:05:39,776 INFO L280 TraceCheckUtils]: 72: Hoare triple {4667#(and (= ~elem~0.base |old(~elem~0.base)|) (= ~elem~0.offset |old(~elem~0.offset)|))} assume true; {4667#(and (= ~elem~0.base |old(~elem~0.base)|) (= ~elem~0.offset |old(~elem~0.offset)|))} is VALID [2020-07-11 01:05:39,777 INFO L275 TraceCheckUtils]: 73: Hoare quadruple {4667#(and (= ~elem~0.base |old(~elem~0.base)|) (= ~elem~0.offset |old(~elem~0.offset)|))} {4630#(and (= main_~dev2~0.base ~elem~0.base) (= main_~dev2~0.offset ~elem~0.offset))} #99#return; {4630#(and (= main_~dev2~0.base ~elem~0.base) (= main_~dev2~0.offset ~elem~0.offset))} is VALID [2020-07-11 01:05:39,778 INFO L263 TraceCheckUtils]: 74: Hoare triple {4630#(and (= main_~dev2~0.base ~elem~0.base) (= main_~dev2~0.offset ~elem~0.offset))} call list_del(~dev2~0.base, ~dev2~0.offset); {4667#(and (= ~elem~0.base |old(~elem~0.base)|) (= ~elem~0.offset |old(~elem~0.offset)|))} is VALID [2020-07-11 01:05:39,778 INFO L280 TraceCheckUtils]: 75: Hoare triple {4667#(and (= ~elem~0.base |old(~elem~0.base)|) (= ~elem~0.offset |old(~elem~0.offset)|))} ~entry.base, ~entry.offset := #in~entry.base, #in~entry.offset; {4670#(and (= list_del_~entry.base |list_del_#in~entry.base|) (= |old(~elem~0.offset)| ~elem~0.offset) (= |list_del_#in~entry.offset| list_del_~entry.offset) (= |old(~elem~0.base)| ~elem~0.base))} is VALID [2020-07-11 01:05:39,779 INFO L280 TraceCheckUtils]: 76: Hoare triple {4670#(and (= list_del_~entry.base |list_del_#in~entry.base|) (= |old(~elem~0.offset)| ~elem~0.offset) (= |list_del_#in~entry.offset| list_del_~entry.offset) (= |old(~elem~0.base)| ~elem~0.base))} assume !(~entry.base == ~elem~0.base && ~entry.offset == ~elem~0.offset); {4671#(or (not (= |old(~elem~0.base)| |list_del_#in~entry.base|)) (not (= |old(~elem~0.offset)| |list_del_#in~entry.offset|)))} is VALID [2020-07-11 01:05:39,779 INFO L280 TraceCheckUtils]: 77: Hoare triple {4671#(or (not (= |old(~elem~0.base)| |list_del_#in~entry.base|)) (not (= |old(~elem~0.offset)| |list_del_#in~entry.offset|)))} assume true; {4671#(or (not (= |old(~elem~0.base)| |list_del_#in~entry.base|)) (not (= |old(~elem~0.offset)| |list_del_#in~entry.offset|)))} is VALID [2020-07-11 01:05:39,780 INFO L275 TraceCheckUtils]: 78: Hoare quadruple {4671#(or (not (= |old(~elem~0.base)| |list_del_#in~entry.base|)) (not (= |old(~elem~0.offset)| |list_del_#in~entry.offset|)))} {4630#(and (= main_~dev2~0.base ~elem~0.base) (= main_~dev2~0.offset ~elem~0.offset))} #101#return; {4576#false} is VALID [2020-07-11 01:05:39,781 INFO L263 TraceCheckUtils]: 79: Hoare triple {4576#false} call list_add(~dev2~0.base, ~dev2~0.offset, ~#head~0.base, ~#head~0.offset); {4576#false} is VALID [2020-07-11 01:05:39,781 INFO L280 TraceCheckUtils]: 80: Hoare triple {4576#false} ~new.base, ~new.offset := #in~new.base, #in~new.offset; {4576#false} is VALID [2020-07-11 01:05:39,781 INFO L280 TraceCheckUtils]: 81: Hoare triple {4576#false} ~head.base, ~head.offset := #in~head.base, #in~head.offset; {4576#false} is VALID [2020-07-11 01:05:39,781 INFO L280 TraceCheckUtils]: 82: Hoare triple {4576#false} assume !(~new.base != ~elem~0.base || ~new.offset != ~elem~0.offset); {4576#false} is VALID [2020-07-11 01:05:39,782 INFO L263 TraceCheckUtils]: 83: Hoare triple {4576#false} call __blast_assert(); {4576#false} is VALID [2020-07-11 01:05:39,782 INFO L280 TraceCheckUtils]: 84: Hoare triple {4576#false} assume !false; {4576#false} is VALID [2020-07-11 01:05:39,789 INFO L134 CoverageAnalysis]: Checked inductivity of 30 backedges. 6 proven. 6 refuted. 0 times theorem prover too weak. 18 trivial. 0 not checked. [2020-07-11 01:05:39,789 INFO L354 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModulePreferences [425907316] [2020-07-11 01:05:39,790 INFO L220 FreeRefinementEngine]: Constructing automaton from 0 perfect and 1 imperfect interpolant sequences. [2020-07-11 01:05:39,790 INFO L233 FreeRefinementEngine]: Number of different interpolants: perfect sequences [] imperfect sequences [10] total 10 [2020-07-11 01:05:39,790 INFO L156 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [926729632] [2020-07-11 01:05:39,791 INFO L78 Accepts]: Start accepts. Automaton has 10 states. Word has length 85 [2020-07-11 01:05:39,791 INFO L84 Accepts]: Finished accepts. word is accepted. [2020-07-11 01:05:39,791 INFO L86 InductivityCheck]: Starting indutivity check of a Floyd-Hoare automaton with 10 states. [2020-07-11 01:05:39,871 INFO L119 InductivityCheck]: Floyd-Hoare automaton has 69 edges. 69 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2020-07-11 01:05:39,871 INFO L459 AbstractCegarLoop]: Interpolant automaton has 10 states [2020-07-11 01:05:39,871 INFO L143 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy FIXED_PREFERENCES [2020-07-11 01:05:39,871 INFO L142 InterpolantAutomaton]: Constructing interpolant automaton starting with 10 interpolants. [2020-07-11 01:05:39,872 INFO L144 InterpolantAutomaton]: CoverageRelationStatistics Valid=20, Invalid=70, Unknown=0, NotChecked=0, Total=90 [2020-07-11 01:05:39,872 INFO L87 Difference]: Start difference. First operand 82 states and 88 transitions. Second operand 10 states. [2020-07-11 01:05:42,485 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2020-07-11 01:05:42,486 INFO L93 Difference]: Finished difference Result 89 states and 94 transitions. [2020-07-11 01:05:42,486 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 12 states. [2020-07-11 01:05:42,486 INFO L78 Accepts]: Start accepts. Automaton has 10 states. Word has length 85 [2020-07-11 01:05:42,487 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2020-07-11 01:05:42,487 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 10 states. [2020-07-11 01:05:42,489 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 12 states to 12 states and 79 transitions. [2020-07-11 01:05:42,489 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 10 states. [2020-07-11 01:05:42,492 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 12 states to 12 states and 79 transitions. [2020-07-11 01:05:42,493 INFO L86 InductivityCheck]: Starting indutivity check of a Floyd-Hoare automaton with 12 states and 79 transitions. [2020-07-11 01:05:42,668 INFO L119 InductivityCheck]: Floyd-Hoare automaton has 79 edges. 79 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2020-07-11 01:05:42,671 INFO L225 Difference]: With dead ends: 89 [2020-07-11 01:05:42,671 INFO L226 Difference]: Without dead ends: 80 [2020-07-11 01:05:42,672 INFO L675 BasicCegarLoop]: 0 DeclaredPredicates, 28 GetRequests, 13 SyntacticMatches, 1 SemanticMatches, 14 ConstructedPredicates, 0 IntricatePredicates, 0 DeprecatedPredicates, 18 ImplicationChecksByTransitivity, 0.5s TimeCoverageRelationStatistics Valid=63, Invalid=177, Unknown=0, NotChecked=0, Total=240 [2020-07-11 01:05:42,673 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 80 states. [2020-07-11 01:05:43,294 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 80 to 79. [2020-07-11 01:05:43,294 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2020-07-11 01:05:43,295 INFO L82 GeneralOperation]: Start isEquivalent. First operand 80 states. Second operand 79 states. [2020-07-11 01:05:43,295 INFO L74 IsIncluded]: Start isIncluded. First operand 80 states. Second operand 79 states. [2020-07-11 01:05:43,295 INFO L87 Difference]: Start difference. First operand 80 states. Second operand 79 states. [2020-07-11 01:05:43,299 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2020-07-11 01:05:43,299 INFO L93 Difference]: Finished difference Result 80 states and 85 transitions. [2020-07-11 01:05:43,300 INFO L276 IsEmpty]: Start isEmpty. Operand 80 states and 85 transitions. [2020-07-11 01:05:43,300 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2020-07-11 01:05:43,300 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2020-07-11 01:05:43,301 INFO L74 IsIncluded]: Start isIncluded. First operand 79 states. Second operand 80 states. [2020-07-11 01:05:43,301 INFO L87 Difference]: Start difference. First operand 79 states. Second operand 80 states. [2020-07-11 01:05:43,304 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2020-07-11 01:05:43,305 INFO L93 Difference]: Finished difference Result 80 states and 85 transitions. [2020-07-11 01:05:43,305 INFO L276 IsEmpty]: Start isEmpty. Operand 80 states and 85 transitions. [2020-07-11 01:05:43,305 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2020-07-11 01:05:43,306 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2020-07-11 01:05:43,306 INFO L88 GeneralOperation]: Finished isEquivalent. [2020-07-11 01:05:43,306 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2020-07-11 01:05:43,306 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 79 states. [2020-07-11 01:05:43,309 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 79 states to 79 states and 83 transitions. [2020-07-11 01:05:43,309 INFO L78 Accepts]: Start accepts. Automaton has 79 states and 83 transitions. Word has length 85 [2020-07-11 01:05:43,309 INFO L84 Accepts]: Finished accepts. word is rejected. [2020-07-11 01:05:43,309 INFO L479 AbstractCegarLoop]: Abstraction has 79 states and 83 transitions. [2020-07-11 01:05:43,310 INFO L480 AbstractCegarLoop]: Interpolant automaton has 10 states. [2020-07-11 01:05:43,310 INFO L86 InductivityCheck]: Starting indutivity check of a Floyd-Hoare automaton with 79 states and 83 transitions. [2020-07-11 01:05:43,578 INFO L119 InductivityCheck]: Floyd-Hoare automaton has 83 edges. 83 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2020-07-11 01:05:43,578 INFO L276 IsEmpty]: Start isEmpty. Operand 79 states and 83 transitions. [2020-07-11 01:05:43,580 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 87 [2020-07-11 01:05:43,580 INFO L414 BasicCegarLoop]: Found error trace [2020-07-11 01:05:43,580 INFO L422 BasicCegarLoop]: trace histogram [3, 3, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1] [2020-07-11 01:05:43,580 WARN L516 AbstractCegarLoop]: Destroyed unattended storables created during the last iteration: SelfDestructingSolverStorable7 [2020-07-11 01:05:43,581 INFO L427 AbstractCegarLoop]: === Iteration 9 === [__blast_assertErr0ASSERT_VIOLATIONERROR_FUNCTION]=== [2020-07-11 01:05:43,581 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2020-07-11 01:05:43,581 INFO L82 PathProgramCache]: Analyzing trace with hash 578402155, now seen corresponding path program 1 times [2020-07-11 01:05:43,581 INFO L163 FreeRefinementEngine]: Executing refinement strategy FIXED_PREFERENCES [2020-07-11 01:05:43,582 INFO L354 FreeRefinementEngine]: Using trace check IpTcStrategyModulePreferences [741610084] [2020-07-11 01:05:43,582 INFO L94 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2020-07-11 01:05:43,605 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2020-07-11 01:05:43,768 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2020-07-11 01:05:43,773 INFO L280 TraceCheckUtils]: 0: Hoare triple {5255#(and (= |#valid| |old(#valid)|) (= ~elem~0.base |old(~elem~0.base)|) (= |#NULL.base| |old(#NULL.base)|) (= |~#head~0.base| |old(~#head~0.base)|) (= ~guard_malloc_counter~0.offset |old(~guard_malloc_counter~0.offset)|) (= |#NULL.offset| |old(#NULL.offset)|) (= ~elem~0.offset |old(~elem~0.offset)|) (= |old(#length)| |#length|) (= |~#head~0.offset| |old(~#head~0.offset)|) (= ~guard_malloc_counter~0.base |old(~guard_malloc_counter~0.base)|))} #NULL.base, #NULL.offset := 0, 0; {5182#true} is VALID [2020-07-11 01:05:43,774 INFO L280 TraceCheckUtils]: 1: Hoare triple {5182#true} #valid := #valid[0 := 0]; {5182#true} is VALID [2020-07-11 01:05:43,774 INFO L280 TraceCheckUtils]: 2: Hoare triple {5182#true} assume 0 < #StackHeapBarrier; {5182#true} is VALID [2020-07-11 01:05:43,774 INFO L280 TraceCheckUtils]: 3: Hoare triple {5182#true} ~guard_malloc_counter~0.base, ~guard_malloc_counter~0.offset := 0, 0; {5182#true} is VALID [2020-07-11 01:05:43,775 INFO L280 TraceCheckUtils]: 4: Hoare triple {5182#true} ~elem~0.base, ~elem~0.offset := 0, 0; {5182#true} is VALID [2020-07-11 01:05:43,775 INFO L280 TraceCheckUtils]: 5: Hoare triple {5182#true} SUMMARY for call ~#head~0.base, ~#head~0.offset := #Ultimate.allocOnStack(8); srcloc: L900 {5182#true} is VALID [2020-07-11 01:05:43,775 INFO L280 TraceCheckUtils]: 6: Hoare triple {5182#true} SUMMARY for call write~init~$Pointer$(0, 0, ~#head~0.base, ~#head~0.offset, 4); srcloc: L900-1 {5182#true} is VALID [2020-07-11 01:05:43,776 INFO L280 TraceCheckUtils]: 7: Hoare triple {5182#true} SUMMARY for call write~init~$Pointer$(0, 0, ~#head~0.base, 4 + ~#head~0.offset, 4); srcloc: L900-2 {5182#true} is VALID [2020-07-11 01:05:43,776 INFO L280 TraceCheckUtils]: 8: Hoare triple {5182#true} assume true; {5182#true} is VALID [2020-07-11 01:05:43,776 INFO L275 TraceCheckUtils]: 9: Hoare quadruple {5182#true} {5182#true} #109#return; {5182#true} is VALID [2020-07-11 01:05:43,803 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2020-07-11 01:05:43,858 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2020-07-11 01:05:43,888 INFO L280 TraceCheckUtils]: 0: Hoare triple {5256#(and (= ~guard_malloc_counter~0.offset |old(~guard_malloc_counter~0.offset)|) (= ~guard_malloc_counter~0.base |old(~guard_malloc_counter~0.base)|))} ~size := #in~size; {5182#true} is VALID [2020-07-11 01:05:43,889 INFO L280 TraceCheckUtils]: 1: Hoare triple {5182#true} assume ~size > 0; {5182#true} is VALID [2020-07-11 01:05:43,889 INFO L280 TraceCheckUtils]: 2: Hoare triple {5182#true} #t~post28.base, #t~post28.offset := ~guard_malloc_counter~0.base, ~guard_malloc_counter~0.offset; {5182#true} is VALID [2020-07-11 01:05:43,890 INFO L280 TraceCheckUtils]: 3: Hoare triple {5182#true} ~guard_malloc_counter~0.base, ~guard_malloc_counter~0.offset := #t~post28.base, 1 + #t~post28.offset; {5182#true} is VALID [2020-07-11 01:05:43,890 INFO L280 TraceCheckUtils]: 4: Hoare triple {5182#true} havoc #t~post28.base, #t~post28.offset; {5182#true} is VALID [2020-07-11 01:05:43,890 INFO L280 TraceCheckUtils]: 5: Hoare triple {5182#true} assume -2147483648 <= #t~nondet29 && #t~nondet29 <= 2147483647; {5182#true} is VALID [2020-07-11 01:05:43,891 INFO L280 TraceCheckUtils]: 6: Hoare triple {5182#true} assume !(0 == #t~nondet29); {5182#true} is VALID [2020-07-11 01:05:43,891 INFO L280 TraceCheckUtils]: 7: Hoare triple {5182#true} havoc #t~nondet29; {5182#true} is VALID [2020-07-11 01:05:43,892 INFO L280 TraceCheckUtils]: 8: Hoare triple {5182#true} #res.base, #res.offset := ~guard_malloc_counter~0.base, ~guard_malloc_counter~0.offset; {5270#(<= |__getMemory_#res.offset| ~guard_malloc_counter~0.offset)} is VALID [2020-07-11 01:05:43,893 INFO L280 TraceCheckUtils]: 9: Hoare triple {5270#(<= |__getMemory_#res.offset| ~guard_malloc_counter~0.offset)} assume true; {5270#(<= |__getMemory_#res.offset| ~guard_malloc_counter~0.offset)} is VALID [2020-07-11 01:05:43,895 INFO L275 TraceCheckUtils]: 10: Hoare quadruple {5270#(<= |__getMemory_#res.offset| ~guard_malloc_counter~0.offset)} {5182#true} #91#return; {5268#(<= |my_malloc_#t~ret30.offset| ~guard_malloc_counter~0.offset)} is VALID [2020-07-11 01:05:43,895 INFO L280 TraceCheckUtils]: 0: Hoare triple {5256#(and (= ~guard_malloc_counter~0.offset |old(~guard_malloc_counter~0.offset)|) (= ~guard_malloc_counter~0.base |old(~guard_malloc_counter~0.base)|))} ~size := #in~size; {5182#true} is VALID [2020-07-11 01:05:43,896 INFO L263 TraceCheckUtils]: 1: Hoare triple {5182#true} call #t~ret30.base, #t~ret30.offset := __getMemory(~size); {5256#(and (= ~guard_malloc_counter~0.offset |old(~guard_malloc_counter~0.offset)|) (= ~guard_malloc_counter~0.base |old(~guard_malloc_counter~0.base)|))} is VALID [2020-07-11 01:05:43,897 INFO L280 TraceCheckUtils]: 2: Hoare triple {5256#(and (= ~guard_malloc_counter~0.offset |old(~guard_malloc_counter~0.offset)|) (= ~guard_malloc_counter~0.base |old(~guard_malloc_counter~0.base)|))} ~size := #in~size; {5182#true} is VALID [2020-07-11 01:05:43,897 INFO L280 TraceCheckUtils]: 3: Hoare triple {5182#true} assume ~size > 0; {5182#true} is VALID [2020-07-11 01:05:43,897 INFO L280 TraceCheckUtils]: 4: Hoare triple {5182#true} #t~post28.base, #t~post28.offset := ~guard_malloc_counter~0.base, ~guard_malloc_counter~0.offset; {5182#true} is VALID [2020-07-11 01:05:43,898 INFO L280 TraceCheckUtils]: 5: Hoare triple {5182#true} ~guard_malloc_counter~0.base, ~guard_malloc_counter~0.offset := #t~post28.base, 1 + #t~post28.offset; {5182#true} is VALID [2020-07-11 01:05:43,898 INFO L280 TraceCheckUtils]: 6: Hoare triple {5182#true} havoc #t~post28.base, #t~post28.offset; {5182#true} is VALID [2020-07-11 01:05:43,898 INFO L280 TraceCheckUtils]: 7: Hoare triple {5182#true} assume -2147483648 <= #t~nondet29 && #t~nondet29 <= 2147483647; {5182#true} is VALID [2020-07-11 01:05:43,899 INFO L280 TraceCheckUtils]: 8: Hoare triple {5182#true} assume !(0 == #t~nondet29); {5182#true} is VALID [2020-07-11 01:05:43,899 INFO L280 TraceCheckUtils]: 9: Hoare triple {5182#true} havoc #t~nondet29; {5182#true} is VALID [2020-07-11 01:05:43,900 INFO L280 TraceCheckUtils]: 10: Hoare triple {5182#true} #res.base, #res.offset := ~guard_malloc_counter~0.base, ~guard_malloc_counter~0.offset; {5270#(<= |__getMemory_#res.offset| ~guard_malloc_counter~0.offset)} is VALID [2020-07-11 01:05:43,901 INFO L280 TraceCheckUtils]: 11: Hoare triple {5270#(<= |__getMemory_#res.offset| ~guard_malloc_counter~0.offset)} assume true; {5270#(<= |__getMemory_#res.offset| ~guard_malloc_counter~0.offset)} is VALID [2020-07-11 01:05:43,902 INFO L275 TraceCheckUtils]: 12: Hoare quadruple {5270#(<= |__getMemory_#res.offset| ~guard_malloc_counter~0.offset)} {5182#true} #91#return; {5268#(<= |my_malloc_#t~ret30.offset| ~guard_malloc_counter~0.offset)} is VALID [2020-07-11 01:05:43,904 INFO L280 TraceCheckUtils]: 13: Hoare triple {5268#(<= |my_malloc_#t~ret30.offset| ~guard_malloc_counter~0.offset)} #res.base, #res.offset := #t~ret30.base, #t~ret30.offset; {5269#(<= |my_malloc_#res.offset| ~guard_malloc_counter~0.offset)} is VALID [2020-07-11 01:05:43,904 INFO L280 TraceCheckUtils]: 14: Hoare triple {5269#(<= |my_malloc_#res.offset| ~guard_malloc_counter~0.offset)} havoc #t~ret30.base, #t~ret30.offset; {5269#(<= |my_malloc_#res.offset| ~guard_malloc_counter~0.offset)} is VALID [2020-07-11 01:05:43,905 INFO L280 TraceCheckUtils]: 15: Hoare triple {5269#(<= |my_malloc_#res.offset| ~guard_malloc_counter~0.offset)} assume true; {5269#(<= |my_malloc_#res.offset| ~guard_malloc_counter~0.offset)} is VALID [2020-07-11 01:05:43,907 INFO L275 TraceCheckUtils]: 16: Hoare quadruple {5269#(<= |my_malloc_#res.offset| ~guard_malloc_counter~0.offset)} {5182#true} #93#return; {5211#(<= |main_#t~ret32.offset| ~guard_malloc_counter~0.offset)} is VALID [2020-07-11 01:05:43,911 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2020-07-11 01:05:44,003 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2020-07-11 01:05:44,114 INFO L280 TraceCheckUtils]: 0: Hoare triple {5256#(and (= ~guard_malloc_counter~0.offset |old(~guard_malloc_counter~0.offset)|) (= ~guard_malloc_counter~0.base |old(~guard_malloc_counter~0.base)|))} ~size := #in~size; {5271#(= ~guard_malloc_counter~0.offset |old(~guard_malloc_counter~0.offset)|)} is VALID [2020-07-11 01:05:44,115 INFO L280 TraceCheckUtils]: 1: Hoare triple {5271#(= ~guard_malloc_counter~0.offset |old(~guard_malloc_counter~0.offset)|)} assume ~size > 0; {5271#(= ~guard_malloc_counter~0.offset |old(~guard_malloc_counter~0.offset)|)} is VALID [2020-07-11 01:05:44,116 INFO L280 TraceCheckUtils]: 2: Hoare triple {5271#(= ~guard_malloc_counter~0.offset |old(~guard_malloc_counter~0.offset)|)} #t~post28.base, #t~post28.offset := ~guard_malloc_counter~0.base, ~guard_malloc_counter~0.offset; {5285#(= |old(~guard_malloc_counter~0.offset)| |__getMemory_#t~post28.offset|)} is VALID [2020-07-11 01:05:44,117 INFO L280 TraceCheckUtils]: 3: Hoare triple {5285#(= |old(~guard_malloc_counter~0.offset)| |__getMemory_#t~post28.offset|)} ~guard_malloc_counter~0.base, ~guard_malloc_counter~0.offset := #t~post28.base, 1 + #t~post28.offset; {5286#(<= (+ |old(~guard_malloc_counter~0.offset)| 1) ~guard_malloc_counter~0.offset)} is VALID [2020-07-11 01:05:44,118 INFO L280 TraceCheckUtils]: 4: Hoare triple {5286#(<= (+ |old(~guard_malloc_counter~0.offset)| 1) ~guard_malloc_counter~0.offset)} havoc #t~post28.base, #t~post28.offset; {5286#(<= (+ |old(~guard_malloc_counter~0.offset)| 1) ~guard_malloc_counter~0.offset)} is VALID [2020-07-11 01:05:44,119 INFO L280 TraceCheckUtils]: 5: Hoare triple {5286#(<= (+ |old(~guard_malloc_counter~0.offset)| 1) ~guard_malloc_counter~0.offset)} assume -2147483648 <= #t~nondet29 && #t~nondet29 <= 2147483647; {5286#(<= (+ |old(~guard_malloc_counter~0.offset)| 1) ~guard_malloc_counter~0.offset)} is VALID [2020-07-11 01:05:44,120 INFO L280 TraceCheckUtils]: 6: Hoare triple {5286#(<= (+ |old(~guard_malloc_counter~0.offset)| 1) ~guard_malloc_counter~0.offset)} assume !(0 == #t~nondet29); {5286#(<= (+ |old(~guard_malloc_counter~0.offset)| 1) ~guard_malloc_counter~0.offset)} is VALID [2020-07-11 01:05:44,121 INFO L280 TraceCheckUtils]: 7: Hoare triple {5286#(<= (+ |old(~guard_malloc_counter~0.offset)| 1) ~guard_malloc_counter~0.offset)} havoc #t~nondet29; {5286#(<= (+ |old(~guard_malloc_counter~0.offset)| 1) ~guard_malloc_counter~0.offset)} is VALID [2020-07-11 01:05:44,122 INFO L280 TraceCheckUtils]: 8: Hoare triple {5286#(<= (+ |old(~guard_malloc_counter~0.offset)| 1) ~guard_malloc_counter~0.offset)} #res.base, #res.offset := ~guard_malloc_counter~0.base, ~guard_malloc_counter~0.offset; {5287#(<= (+ |old(~guard_malloc_counter~0.offset)| 1) |__getMemory_#res.offset|)} is VALID [2020-07-11 01:05:44,123 INFO L280 TraceCheckUtils]: 9: Hoare triple {5287#(<= (+ |old(~guard_malloc_counter~0.offset)| 1) |__getMemory_#res.offset|)} assume true; {5287#(<= (+ |old(~guard_malloc_counter~0.offset)| 1) |__getMemory_#res.offset|)} is VALID [2020-07-11 01:05:44,125 INFO L275 TraceCheckUtils]: 10: Hoare quadruple {5287#(<= (+ |old(~guard_malloc_counter~0.offset)| 1) |__getMemory_#res.offset|)} {5271#(= ~guard_malloc_counter~0.offset |old(~guard_malloc_counter~0.offset)|)} #91#return; {5283#(<= (+ |old(~guard_malloc_counter~0.offset)| 1) |my_malloc_#t~ret30.offset|)} is VALID [2020-07-11 01:05:44,126 INFO L280 TraceCheckUtils]: 0: Hoare triple {5256#(and (= ~guard_malloc_counter~0.offset |old(~guard_malloc_counter~0.offset)|) (= ~guard_malloc_counter~0.base |old(~guard_malloc_counter~0.base)|))} ~size := #in~size; {5271#(= ~guard_malloc_counter~0.offset |old(~guard_malloc_counter~0.offset)|)} is VALID [2020-07-11 01:05:44,128 INFO L263 TraceCheckUtils]: 1: Hoare triple {5271#(= ~guard_malloc_counter~0.offset |old(~guard_malloc_counter~0.offset)|)} call #t~ret30.base, #t~ret30.offset := __getMemory(~size); {5256#(and (= ~guard_malloc_counter~0.offset |old(~guard_malloc_counter~0.offset)|) (= ~guard_malloc_counter~0.base |old(~guard_malloc_counter~0.base)|))} is VALID [2020-07-11 01:05:44,129 INFO L280 TraceCheckUtils]: 2: Hoare triple {5256#(and (= ~guard_malloc_counter~0.offset |old(~guard_malloc_counter~0.offset)|) (= ~guard_malloc_counter~0.base |old(~guard_malloc_counter~0.base)|))} ~size := #in~size; {5271#(= ~guard_malloc_counter~0.offset |old(~guard_malloc_counter~0.offset)|)} is VALID [2020-07-11 01:05:44,130 INFO L280 TraceCheckUtils]: 3: Hoare triple {5271#(= ~guard_malloc_counter~0.offset |old(~guard_malloc_counter~0.offset)|)} assume ~size > 0; {5271#(= ~guard_malloc_counter~0.offset |old(~guard_malloc_counter~0.offset)|)} is VALID [2020-07-11 01:05:44,131 INFO L280 TraceCheckUtils]: 4: Hoare triple {5271#(= ~guard_malloc_counter~0.offset |old(~guard_malloc_counter~0.offset)|)} #t~post28.base, #t~post28.offset := ~guard_malloc_counter~0.base, ~guard_malloc_counter~0.offset; {5285#(= |old(~guard_malloc_counter~0.offset)| |__getMemory_#t~post28.offset|)} is VALID [2020-07-11 01:05:44,132 INFO L280 TraceCheckUtils]: 5: Hoare triple {5285#(= |old(~guard_malloc_counter~0.offset)| |__getMemory_#t~post28.offset|)} ~guard_malloc_counter~0.base, ~guard_malloc_counter~0.offset := #t~post28.base, 1 + #t~post28.offset; {5286#(<= (+ |old(~guard_malloc_counter~0.offset)| 1) ~guard_malloc_counter~0.offset)} is VALID [2020-07-11 01:05:44,133 INFO L280 TraceCheckUtils]: 6: Hoare triple {5286#(<= (+ |old(~guard_malloc_counter~0.offset)| 1) ~guard_malloc_counter~0.offset)} havoc #t~post28.base, #t~post28.offset; {5286#(<= (+ |old(~guard_malloc_counter~0.offset)| 1) ~guard_malloc_counter~0.offset)} is VALID [2020-07-11 01:05:44,134 INFO L280 TraceCheckUtils]: 7: Hoare triple {5286#(<= (+ |old(~guard_malloc_counter~0.offset)| 1) ~guard_malloc_counter~0.offset)} assume -2147483648 <= #t~nondet29 && #t~nondet29 <= 2147483647; {5286#(<= (+ |old(~guard_malloc_counter~0.offset)| 1) ~guard_malloc_counter~0.offset)} is VALID [2020-07-11 01:05:44,135 INFO L280 TraceCheckUtils]: 8: Hoare triple {5286#(<= (+ |old(~guard_malloc_counter~0.offset)| 1) ~guard_malloc_counter~0.offset)} assume !(0 == #t~nondet29); {5286#(<= (+ |old(~guard_malloc_counter~0.offset)| 1) ~guard_malloc_counter~0.offset)} is VALID [2020-07-11 01:05:44,136 INFO L280 TraceCheckUtils]: 9: Hoare triple {5286#(<= (+ |old(~guard_malloc_counter~0.offset)| 1) ~guard_malloc_counter~0.offset)} havoc #t~nondet29; {5286#(<= (+ |old(~guard_malloc_counter~0.offset)| 1) ~guard_malloc_counter~0.offset)} is VALID [2020-07-11 01:05:44,137 INFO L280 TraceCheckUtils]: 10: Hoare triple {5286#(<= (+ |old(~guard_malloc_counter~0.offset)| 1) ~guard_malloc_counter~0.offset)} #res.base, #res.offset := ~guard_malloc_counter~0.base, ~guard_malloc_counter~0.offset; {5287#(<= (+ |old(~guard_malloc_counter~0.offset)| 1) |__getMemory_#res.offset|)} is VALID [2020-07-11 01:05:44,138 INFO L280 TraceCheckUtils]: 11: Hoare triple {5287#(<= (+ |old(~guard_malloc_counter~0.offset)| 1) |__getMemory_#res.offset|)} assume true; {5287#(<= (+ |old(~guard_malloc_counter~0.offset)| 1) |__getMemory_#res.offset|)} is VALID [2020-07-11 01:05:44,139 INFO L275 TraceCheckUtils]: 12: Hoare quadruple {5287#(<= (+ |old(~guard_malloc_counter~0.offset)| 1) |__getMemory_#res.offset|)} {5271#(= ~guard_malloc_counter~0.offset |old(~guard_malloc_counter~0.offset)|)} #91#return; {5283#(<= (+ |old(~guard_malloc_counter~0.offset)| 1) |my_malloc_#t~ret30.offset|)} is VALID [2020-07-11 01:05:44,141 INFO L280 TraceCheckUtils]: 13: Hoare triple {5283#(<= (+ |old(~guard_malloc_counter~0.offset)| 1) |my_malloc_#t~ret30.offset|)} #res.base, #res.offset := #t~ret30.base, #t~ret30.offset; {5284#(<= (+ |old(~guard_malloc_counter~0.offset)| 1) |my_malloc_#res.offset|)} is VALID [2020-07-11 01:05:44,141 INFO L280 TraceCheckUtils]: 14: Hoare triple {5284#(<= (+ |old(~guard_malloc_counter~0.offset)| 1) |my_malloc_#res.offset|)} havoc #t~ret30.base, #t~ret30.offset; {5284#(<= (+ |old(~guard_malloc_counter~0.offset)| 1) |my_malloc_#res.offset|)} is VALID [2020-07-11 01:05:44,142 INFO L280 TraceCheckUtils]: 15: Hoare triple {5284#(<= (+ |old(~guard_malloc_counter~0.offset)| 1) |my_malloc_#res.offset|)} assume true; {5284#(<= (+ |old(~guard_malloc_counter~0.offset)| 1) |my_malloc_#res.offset|)} is VALID [2020-07-11 01:05:44,145 INFO L275 TraceCheckUtils]: 16: Hoare quadruple {5284#(<= (+ |old(~guard_malloc_counter~0.offset)| 1) |my_malloc_#res.offset|)} {5212#(<= main_~dev1~0.offset ~guard_malloc_counter~0.offset)} #95#return; {5230#(<= (+ main_~dev1~0.offset 1) |main_#t~ret33.offset|)} is VALID [2020-07-11 01:05:44,188 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2020-07-11 01:05:44,193 INFO L280 TraceCheckUtils]: 0: Hoare triple {5288#(and (= ~elem~0.base |old(~elem~0.base)|) (= ~elem~0.offset |old(~elem~0.offset)|))} ~new.base, ~new.offset := #in~new.base, #in~new.offset; {5182#true} is VALID [2020-07-11 01:05:44,194 INFO L280 TraceCheckUtils]: 1: Hoare triple {5182#true} ~head.base, ~head.offset := #in~head.base, #in~head.offset; {5182#true} is VALID [2020-07-11 01:05:44,194 INFO L280 TraceCheckUtils]: 2: Hoare triple {5182#true} assume ~new.base != ~elem~0.base || ~new.offset != ~elem~0.offset; {5182#true} is VALID [2020-07-11 01:05:44,194 INFO L280 TraceCheckUtils]: 3: Hoare triple {5182#true} assume -2147483648 <= #t~nondet31 && #t~nondet31 <= 2147483647; {5182#true} is VALID [2020-07-11 01:05:44,195 INFO L280 TraceCheckUtils]: 4: Hoare triple {5182#true} assume !(0 != #t~nondet31); {5182#true} is VALID [2020-07-11 01:05:44,195 INFO L280 TraceCheckUtils]: 5: Hoare triple {5182#true} havoc #t~nondet31; {5182#true} is VALID [2020-07-11 01:05:44,195 INFO L280 TraceCheckUtils]: 6: Hoare triple {5182#true} assume true; {5182#true} is VALID [2020-07-11 01:05:44,197 INFO L275 TraceCheckUtils]: 7: Hoare quadruple {5182#true} {5231#(<= (+ main_~dev1~0.offset 1) main_~dev2~0.offset)} #97#return; {5231#(<= (+ main_~dev1~0.offset 1) main_~dev2~0.offset)} is VALID [2020-07-11 01:05:44,200 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2020-07-11 01:05:44,275 INFO L280 TraceCheckUtils]: 0: Hoare triple {5288#(and (= ~elem~0.base |old(~elem~0.base)|) (= ~elem~0.offset |old(~elem~0.offset)|))} ~new.base, ~new.offset := #in~new.base, #in~new.offset; {5289#(= |list_add_#in~new.offset| list_add_~new.offset)} is VALID [2020-07-11 01:05:44,276 INFO L280 TraceCheckUtils]: 1: Hoare triple {5289#(= |list_add_#in~new.offset| list_add_~new.offset)} ~head.base, ~head.offset := #in~head.base, #in~head.offset; {5289#(= |list_add_#in~new.offset| list_add_~new.offset)} is VALID [2020-07-11 01:05:44,276 INFO L280 TraceCheckUtils]: 2: Hoare triple {5289#(= |list_add_#in~new.offset| list_add_~new.offset)} assume ~new.base != ~elem~0.base || ~new.offset != ~elem~0.offset; {5289#(= |list_add_#in~new.offset| list_add_~new.offset)} is VALID [2020-07-11 01:05:44,277 INFO L280 TraceCheckUtils]: 3: Hoare triple {5289#(= |list_add_#in~new.offset| list_add_~new.offset)} assume -2147483648 <= #t~nondet31 && #t~nondet31 <= 2147483647; {5289#(= |list_add_#in~new.offset| list_add_~new.offset)} is VALID [2020-07-11 01:05:44,278 INFO L280 TraceCheckUtils]: 4: Hoare triple {5289#(= |list_add_#in~new.offset| list_add_~new.offset)} assume 0 != #t~nondet31; {5289#(= |list_add_#in~new.offset| list_add_~new.offset)} is VALID [2020-07-11 01:05:44,279 INFO L280 TraceCheckUtils]: 5: Hoare triple {5289#(= |list_add_#in~new.offset| list_add_~new.offset)} havoc #t~nondet31; {5289#(= |list_add_#in~new.offset| list_add_~new.offset)} is VALID [2020-07-11 01:05:44,280 INFO L280 TraceCheckUtils]: 6: Hoare triple {5289#(= |list_add_#in~new.offset| list_add_~new.offset)} ~elem~0.base, ~elem~0.offset := ~new.base, ~new.offset; {5290#(= ~elem~0.offset |list_add_#in~new.offset|)} is VALID [2020-07-11 01:05:44,281 INFO L280 TraceCheckUtils]: 7: Hoare triple {5290#(= ~elem~0.offset |list_add_#in~new.offset|)} assume true; {5290#(= ~elem~0.offset |list_add_#in~new.offset|)} is VALID [2020-07-11 01:05:44,283 INFO L275 TraceCheckUtils]: 8: Hoare quadruple {5290#(= ~elem~0.offset |list_add_#in~new.offset|)} {5231#(<= (+ main_~dev1~0.offset 1) main_~dev2~0.offset)} #99#return; {5249#(<= (+ ~elem~0.offset 1) main_~dev2~0.offset)} is VALID [2020-07-11 01:05:44,285 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2020-07-11 01:05:44,369 INFO L280 TraceCheckUtils]: 0: Hoare triple {5288#(and (= ~elem~0.base |old(~elem~0.base)|) (= ~elem~0.offset |old(~elem~0.offset)|))} ~entry.base, ~entry.offset := #in~entry.base, #in~entry.offset; {5291#(and (= |old(~elem~0.offset)| ~elem~0.offset) (= |list_del_#in~entry.offset| list_del_~entry.offset))} is VALID [2020-07-11 01:05:44,370 INFO L280 TraceCheckUtils]: 1: Hoare triple {5291#(and (= |old(~elem~0.offset)| ~elem~0.offset) (= |list_del_#in~entry.offset| list_del_~entry.offset))} assume ~entry.base == ~elem~0.base && ~entry.offset == ~elem~0.offset; {5292#(= |old(~elem~0.offset)| |list_del_#in~entry.offset|)} is VALID [2020-07-11 01:05:44,370 INFO L280 TraceCheckUtils]: 2: Hoare triple {5292#(= |old(~elem~0.offset)| |list_del_#in~entry.offset|)} ~elem~0.base, ~elem~0.offset := 0, 0; {5292#(= |old(~elem~0.offset)| |list_del_#in~entry.offset|)} is VALID [2020-07-11 01:05:44,371 INFO L280 TraceCheckUtils]: 3: Hoare triple {5292#(= |old(~elem~0.offset)| |list_del_#in~entry.offset|)} assume true; {5292#(= |old(~elem~0.offset)| |list_del_#in~entry.offset|)} is VALID [2020-07-11 01:05:44,373 INFO L275 TraceCheckUtils]: 4: Hoare quadruple {5292#(= |old(~elem~0.offset)| |list_del_#in~entry.offset|)} {5249#(<= (+ ~elem~0.offset 1) main_~dev2~0.offset)} #101#return; {5183#false} is VALID [2020-07-11 01:05:44,375 INFO L263 TraceCheckUtils]: 0: Hoare triple {5182#true} call ULTIMATE.init(); {5255#(and (= |#valid| |old(#valid)|) (= ~elem~0.base |old(~elem~0.base)|) (= |#NULL.base| |old(#NULL.base)|) (= |~#head~0.base| |old(~#head~0.base)|) (= ~guard_malloc_counter~0.offset |old(~guard_malloc_counter~0.offset)|) (= |#NULL.offset| |old(#NULL.offset)|) (= ~elem~0.offset |old(~elem~0.offset)|) (= |old(#length)| |#length|) (= |~#head~0.offset| |old(~#head~0.offset)|) (= ~guard_malloc_counter~0.base |old(~guard_malloc_counter~0.base)|))} is VALID [2020-07-11 01:05:44,375 INFO L280 TraceCheckUtils]: 1: Hoare triple {5255#(and (= |#valid| |old(#valid)|) (= ~elem~0.base |old(~elem~0.base)|) (= |#NULL.base| |old(#NULL.base)|) (= |~#head~0.base| |old(~#head~0.base)|) (= ~guard_malloc_counter~0.offset |old(~guard_malloc_counter~0.offset)|) (= |#NULL.offset| |old(#NULL.offset)|) (= ~elem~0.offset |old(~elem~0.offset)|) (= |old(#length)| |#length|) (= |~#head~0.offset| |old(~#head~0.offset)|) (= ~guard_malloc_counter~0.base |old(~guard_malloc_counter~0.base)|))} #NULL.base, #NULL.offset := 0, 0; {5182#true} is VALID [2020-07-11 01:05:44,375 INFO L280 TraceCheckUtils]: 2: Hoare triple {5182#true} #valid := #valid[0 := 0]; {5182#true} is VALID [2020-07-11 01:05:44,376 INFO L280 TraceCheckUtils]: 3: Hoare triple {5182#true} assume 0 < #StackHeapBarrier; {5182#true} is VALID [2020-07-11 01:05:44,376 INFO L280 TraceCheckUtils]: 4: Hoare triple {5182#true} ~guard_malloc_counter~0.base, ~guard_malloc_counter~0.offset := 0, 0; {5182#true} is VALID [2020-07-11 01:05:44,376 INFO L280 TraceCheckUtils]: 5: Hoare triple {5182#true} ~elem~0.base, ~elem~0.offset := 0, 0; {5182#true} is VALID [2020-07-11 01:05:44,377 INFO L280 TraceCheckUtils]: 6: Hoare triple {5182#true} SUMMARY for call ~#head~0.base, ~#head~0.offset := #Ultimate.allocOnStack(8); srcloc: L900 {5182#true} is VALID [2020-07-11 01:05:44,377 INFO L280 TraceCheckUtils]: 7: Hoare triple {5182#true} SUMMARY for call write~init~$Pointer$(0, 0, ~#head~0.base, ~#head~0.offset, 4); srcloc: L900-1 {5182#true} is VALID [2020-07-11 01:05:44,377 INFO L280 TraceCheckUtils]: 8: Hoare triple {5182#true} SUMMARY for call write~init~$Pointer$(0, 0, ~#head~0.base, 4 + ~#head~0.offset, 4); srcloc: L900-2 {5182#true} is VALID [2020-07-11 01:05:44,377 INFO L280 TraceCheckUtils]: 9: Hoare triple {5182#true} assume true; {5182#true} is VALID [2020-07-11 01:05:44,378 INFO L275 TraceCheckUtils]: 10: Hoare quadruple {5182#true} {5182#true} #109#return; {5182#true} is VALID [2020-07-11 01:05:44,378 INFO L263 TraceCheckUtils]: 11: Hoare triple {5182#true} call #t~ret34 := main(); {5182#true} is VALID [2020-07-11 01:05:44,378 INFO L280 TraceCheckUtils]: 12: Hoare triple {5182#true} havoc ~dev1~0.base, ~dev1~0.offset; {5182#true} is VALID [2020-07-11 01:05:44,379 INFO L280 TraceCheckUtils]: 13: Hoare triple {5182#true} havoc ~dev2~0.base, ~dev2~0.offset; {5182#true} is VALID [2020-07-11 01:05:44,380 INFO L263 TraceCheckUtils]: 14: Hoare triple {5182#true} call #t~ret32.base, #t~ret32.offset := my_malloc(8); {5256#(and (= ~guard_malloc_counter~0.offset |old(~guard_malloc_counter~0.offset)|) (= ~guard_malloc_counter~0.base |old(~guard_malloc_counter~0.base)|))} is VALID [2020-07-11 01:05:44,380 INFO L280 TraceCheckUtils]: 15: Hoare triple {5256#(and (= ~guard_malloc_counter~0.offset |old(~guard_malloc_counter~0.offset)|) (= ~guard_malloc_counter~0.base |old(~guard_malloc_counter~0.base)|))} ~size := #in~size; {5182#true} is VALID [2020-07-11 01:05:44,381 INFO L263 TraceCheckUtils]: 16: Hoare triple {5182#true} call #t~ret30.base, #t~ret30.offset := __getMemory(~size); {5256#(and (= ~guard_malloc_counter~0.offset |old(~guard_malloc_counter~0.offset)|) (= ~guard_malloc_counter~0.base |old(~guard_malloc_counter~0.base)|))} is VALID [2020-07-11 01:05:44,382 INFO L280 TraceCheckUtils]: 17: Hoare triple {5256#(and (= ~guard_malloc_counter~0.offset |old(~guard_malloc_counter~0.offset)|) (= ~guard_malloc_counter~0.base |old(~guard_malloc_counter~0.base)|))} ~size := #in~size; {5182#true} is VALID [2020-07-11 01:05:44,382 INFO L280 TraceCheckUtils]: 18: Hoare triple {5182#true} assume ~size > 0; {5182#true} is VALID [2020-07-11 01:05:44,382 INFO L280 TraceCheckUtils]: 19: Hoare triple {5182#true} #t~post28.base, #t~post28.offset := ~guard_malloc_counter~0.base, ~guard_malloc_counter~0.offset; {5182#true} is VALID [2020-07-11 01:05:44,383 INFO L280 TraceCheckUtils]: 20: Hoare triple {5182#true} ~guard_malloc_counter~0.base, ~guard_malloc_counter~0.offset := #t~post28.base, 1 + #t~post28.offset; {5182#true} is VALID [2020-07-11 01:05:44,383 INFO L280 TraceCheckUtils]: 21: Hoare triple {5182#true} havoc #t~post28.base, #t~post28.offset; {5182#true} is VALID [2020-07-11 01:05:44,383 INFO L280 TraceCheckUtils]: 22: Hoare triple {5182#true} assume -2147483648 <= #t~nondet29 && #t~nondet29 <= 2147483647; {5182#true} is VALID [2020-07-11 01:05:44,384 INFO L280 TraceCheckUtils]: 23: Hoare triple {5182#true} assume !(0 == #t~nondet29); {5182#true} is VALID [2020-07-11 01:05:44,384 INFO L280 TraceCheckUtils]: 24: Hoare triple {5182#true} havoc #t~nondet29; {5182#true} is VALID [2020-07-11 01:05:44,385 INFO L280 TraceCheckUtils]: 25: Hoare triple {5182#true} #res.base, #res.offset := ~guard_malloc_counter~0.base, ~guard_malloc_counter~0.offset; {5270#(<= |__getMemory_#res.offset| ~guard_malloc_counter~0.offset)} is VALID [2020-07-11 01:05:44,386 INFO L280 TraceCheckUtils]: 26: Hoare triple {5270#(<= |__getMemory_#res.offset| ~guard_malloc_counter~0.offset)} assume true; {5270#(<= |__getMemory_#res.offset| ~guard_malloc_counter~0.offset)} is VALID [2020-07-11 01:05:44,387 INFO L275 TraceCheckUtils]: 27: Hoare quadruple {5270#(<= |__getMemory_#res.offset| ~guard_malloc_counter~0.offset)} {5182#true} #91#return; {5268#(<= |my_malloc_#t~ret30.offset| ~guard_malloc_counter~0.offset)} is VALID [2020-07-11 01:05:44,388 INFO L280 TraceCheckUtils]: 28: Hoare triple {5268#(<= |my_malloc_#t~ret30.offset| ~guard_malloc_counter~0.offset)} #res.base, #res.offset := #t~ret30.base, #t~ret30.offset; {5269#(<= |my_malloc_#res.offset| ~guard_malloc_counter~0.offset)} is VALID [2020-07-11 01:05:44,389 INFO L280 TraceCheckUtils]: 29: Hoare triple {5269#(<= |my_malloc_#res.offset| ~guard_malloc_counter~0.offset)} havoc #t~ret30.base, #t~ret30.offset; {5269#(<= |my_malloc_#res.offset| ~guard_malloc_counter~0.offset)} is VALID [2020-07-11 01:05:44,390 INFO L280 TraceCheckUtils]: 30: Hoare triple {5269#(<= |my_malloc_#res.offset| ~guard_malloc_counter~0.offset)} assume true; {5269#(<= |my_malloc_#res.offset| ~guard_malloc_counter~0.offset)} is VALID [2020-07-11 01:05:44,391 INFO L275 TraceCheckUtils]: 31: Hoare quadruple {5269#(<= |my_malloc_#res.offset| ~guard_malloc_counter~0.offset)} {5182#true} #93#return; {5211#(<= |main_#t~ret32.offset| ~guard_malloc_counter~0.offset)} is VALID [2020-07-11 01:05:44,393 INFO L280 TraceCheckUtils]: 32: Hoare triple {5211#(<= |main_#t~ret32.offset| ~guard_malloc_counter~0.offset)} ~dev1~0.base, ~dev1~0.offset := #t~ret32.base, #t~ret32.offset; {5212#(<= main_~dev1~0.offset ~guard_malloc_counter~0.offset)} is VALID [2020-07-11 01:05:44,393 INFO L280 TraceCheckUtils]: 33: Hoare triple {5212#(<= main_~dev1~0.offset ~guard_malloc_counter~0.offset)} havoc #t~ret32.base, #t~ret32.offset; {5212#(<= main_~dev1~0.offset ~guard_malloc_counter~0.offset)} is VALID [2020-07-11 01:05:44,395 INFO L263 TraceCheckUtils]: 34: Hoare triple {5212#(<= main_~dev1~0.offset ~guard_malloc_counter~0.offset)} call #t~ret33.base, #t~ret33.offset := my_malloc(8); {5256#(and (= ~guard_malloc_counter~0.offset |old(~guard_malloc_counter~0.offset)|) (= ~guard_malloc_counter~0.base |old(~guard_malloc_counter~0.base)|))} is VALID [2020-07-11 01:05:44,396 INFO L280 TraceCheckUtils]: 35: Hoare triple {5256#(and (= ~guard_malloc_counter~0.offset |old(~guard_malloc_counter~0.offset)|) (= ~guard_malloc_counter~0.base |old(~guard_malloc_counter~0.base)|))} ~size := #in~size; {5271#(= ~guard_malloc_counter~0.offset |old(~guard_malloc_counter~0.offset)|)} is VALID [2020-07-11 01:05:44,398 INFO L263 TraceCheckUtils]: 36: Hoare triple {5271#(= ~guard_malloc_counter~0.offset |old(~guard_malloc_counter~0.offset)|)} call #t~ret30.base, #t~ret30.offset := __getMemory(~size); {5256#(and (= ~guard_malloc_counter~0.offset |old(~guard_malloc_counter~0.offset)|) (= ~guard_malloc_counter~0.base |old(~guard_malloc_counter~0.base)|))} is VALID [2020-07-11 01:05:44,399 INFO L280 TraceCheckUtils]: 37: Hoare triple {5256#(and (= ~guard_malloc_counter~0.offset |old(~guard_malloc_counter~0.offset)|) (= ~guard_malloc_counter~0.base |old(~guard_malloc_counter~0.base)|))} ~size := #in~size; {5271#(= ~guard_malloc_counter~0.offset |old(~guard_malloc_counter~0.offset)|)} is VALID [2020-07-11 01:05:44,400 INFO L280 TraceCheckUtils]: 38: Hoare triple {5271#(= ~guard_malloc_counter~0.offset |old(~guard_malloc_counter~0.offset)|)} assume ~size > 0; {5271#(= ~guard_malloc_counter~0.offset |old(~guard_malloc_counter~0.offset)|)} is VALID [2020-07-11 01:05:44,401 INFO L280 TraceCheckUtils]: 39: Hoare triple {5271#(= ~guard_malloc_counter~0.offset |old(~guard_malloc_counter~0.offset)|)} #t~post28.base, #t~post28.offset := ~guard_malloc_counter~0.base, ~guard_malloc_counter~0.offset; {5285#(= |old(~guard_malloc_counter~0.offset)| |__getMemory_#t~post28.offset|)} is VALID [2020-07-11 01:05:44,402 INFO L280 TraceCheckUtils]: 40: Hoare triple {5285#(= |old(~guard_malloc_counter~0.offset)| |__getMemory_#t~post28.offset|)} ~guard_malloc_counter~0.base, ~guard_malloc_counter~0.offset := #t~post28.base, 1 + #t~post28.offset; {5286#(<= (+ |old(~guard_malloc_counter~0.offset)| 1) ~guard_malloc_counter~0.offset)} is VALID [2020-07-11 01:05:44,402 INFO L280 TraceCheckUtils]: 41: Hoare triple {5286#(<= (+ |old(~guard_malloc_counter~0.offset)| 1) ~guard_malloc_counter~0.offset)} havoc #t~post28.base, #t~post28.offset; {5286#(<= (+ |old(~guard_malloc_counter~0.offset)| 1) ~guard_malloc_counter~0.offset)} is VALID [2020-07-11 01:05:44,403 INFO L280 TraceCheckUtils]: 42: Hoare triple {5286#(<= (+ |old(~guard_malloc_counter~0.offset)| 1) ~guard_malloc_counter~0.offset)} assume -2147483648 <= #t~nondet29 && #t~nondet29 <= 2147483647; {5286#(<= (+ |old(~guard_malloc_counter~0.offset)| 1) ~guard_malloc_counter~0.offset)} is VALID [2020-07-11 01:05:44,404 INFO L280 TraceCheckUtils]: 43: Hoare triple {5286#(<= (+ |old(~guard_malloc_counter~0.offset)| 1) ~guard_malloc_counter~0.offset)} assume !(0 == #t~nondet29); {5286#(<= (+ |old(~guard_malloc_counter~0.offset)| 1) ~guard_malloc_counter~0.offset)} is VALID [2020-07-11 01:05:44,405 INFO L280 TraceCheckUtils]: 44: Hoare triple {5286#(<= (+ |old(~guard_malloc_counter~0.offset)| 1) ~guard_malloc_counter~0.offset)} havoc #t~nondet29; {5286#(<= (+ |old(~guard_malloc_counter~0.offset)| 1) ~guard_malloc_counter~0.offset)} is VALID [2020-07-11 01:05:44,406 INFO L280 TraceCheckUtils]: 45: Hoare triple {5286#(<= (+ |old(~guard_malloc_counter~0.offset)| 1) ~guard_malloc_counter~0.offset)} #res.base, #res.offset := ~guard_malloc_counter~0.base, ~guard_malloc_counter~0.offset; {5287#(<= (+ |old(~guard_malloc_counter~0.offset)| 1) |__getMemory_#res.offset|)} is VALID [2020-07-11 01:05:44,406 INFO L280 TraceCheckUtils]: 46: Hoare triple {5287#(<= (+ |old(~guard_malloc_counter~0.offset)| 1) |__getMemory_#res.offset|)} assume true; {5287#(<= (+ |old(~guard_malloc_counter~0.offset)| 1) |__getMemory_#res.offset|)} is VALID [2020-07-11 01:05:44,408 INFO L275 TraceCheckUtils]: 47: Hoare quadruple {5287#(<= (+ |old(~guard_malloc_counter~0.offset)| 1) |__getMemory_#res.offset|)} {5271#(= ~guard_malloc_counter~0.offset |old(~guard_malloc_counter~0.offset)|)} #91#return; {5283#(<= (+ |old(~guard_malloc_counter~0.offset)| 1) |my_malloc_#t~ret30.offset|)} is VALID [2020-07-11 01:05:44,409 INFO L280 TraceCheckUtils]: 48: Hoare triple {5283#(<= (+ |old(~guard_malloc_counter~0.offset)| 1) |my_malloc_#t~ret30.offset|)} #res.base, #res.offset := #t~ret30.base, #t~ret30.offset; {5284#(<= (+ |old(~guard_malloc_counter~0.offset)| 1) |my_malloc_#res.offset|)} is VALID [2020-07-11 01:05:44,410 INFO L280 TraceCheckUtils]: 49: Hoare triple {5284#(<= (+ |old(~guard_malloc_counter~0.offset)| 1) |my_malloc_#res.offset|)} havoc #t~ret30.base, #t~ret30.offset; {5284#(<= (+ |old(~guard_malloc_counter~0.offset)| 1) |my_malloc_#res.offset|)} is VALID [2020-07-11 01:05:44,410 INFO L280 TraceCheckUtils]: 50: Hoare triple {5284#(<= (+ |old(~guard_malloc_counter~0.offset)| 1) |my_malloc_#res.offset|)} assume true; {5284#(<= (+ |old(~guard_malloc_counter~0.offset)| 1) |my_malloc_#res.offset|)} is VALID [2020-07-11 01:05:44,412 INFO L275 TraceCheckUtils]: 51: Hoare quadruple {5284#(<= (+ |old(~guard_malloc_counter~0.offset)| 1) |my_malloc_#res.offset|)} {5212#(<= main_~dev1~0.offset ~guard_malloc_counter~0.offset)} #95#return; {5230#(<= (+ main_~dev1~0.offset 1) |main_#t~ret33.offset|)} is VALID [2020-07-11 01:05:44,413 INFO L280 TraceCheckUtils]: 52: Hoare triple {5230#(<= (+ main_~dev1~0.offset 1) |main_#t~ret33.offset|)} ~dev2~0.base, ~dev2~0.offset := #t~ret33.base, #t~ret33.offset; {5231#(<= (+ main_~dev1~0.offset 1) main_~dev2~0.offset)} is VALID [2020-07-11 01:05:44,414 INFO L280 TraceCheckUtils]: 53: Hoare triple {5231#(<= (+ main_~dev1~0.offset 1) main_~dev2~0.offset)} havoc #t~ret33.base, #t~ret33.offset; {5231#(<= (+ main_~dev1~0.offset 1) main_~dev2~0.offset)} is VALID [2020-07-11 01:05:44,415 INFO L280 TraceCheckUtils]: 54: Hoare triple {5231#(<= (+ main_~dev1~0.offset 1) main_~dev2~0.offset)} assume (~dev1~0.base != 0 || ~dev1~0.offset != 0) && (~dev2~0.base != 0 || ~dev2~0.offset != 0); {5231#(<= (+ main_~dev1~0.offset 1) main_~dev2~0.offset)} is VALID [2020-07-11 01:05:44,417 INFO L263 TraceCheckUtils]: 55: Hoare triple {5231#(<= (+ main_~dev1~0.offset 1) main_~dev2~0.offset)} call list_add(~dev2~0.base, ~dev2~0.offset, ~#head~0.base, ~#head~0.offset); {5288#(and (= ~elem~0.base |old(~elem~0.base)|) (= ~elem~0.offset |old(~elem~0.offset)|))} is VALID [2020-07-11 01:05:44,417 INFO L280 TraceCheckUtils]: 56: Hoare triple {5288#(and (= ~elem~0.base |old(~elem~0.base)|) (= ~elem~0.offset |old(~elem~0.offset)|))} ~new.base, ~new.offset := #in~new.base, #in~new.offset; {5182#true} is VALID [2020-07-11 01:05:44,418 INFO L280 TraceCheckUtils]: 57: Hoare triple {5182#true} ~head.base, ~head.offset := #in~head.base, #in~head.offset; {5182#true} is VALID [2020-07-11 01:05:44,418 INFO L280 TraceCheckUtils]: 58: Hoare triple {5182#true} assume ~new.base != ~elem~0.base || ~new.offset != ~elem~0.offset; {5182#true} is VALID [2020-07-11 01:05:44,418 INFO L280 TraceCheckUtils]: 59: Hoare triple {5182#true} assume -2147483648 <= #t~nondet31 && #t~nondet31 <= 2147483647; {5182#true} is VALID [2020-07-11 01:05:44,418 INFO L280 TraceCheckUtils]: 60: Hoare triple {5182#true} assume !(0 != #t~nondet31); {5182#true} is VALID [2020-07-11 01:05:44,419 INFO L280 TraceCheckUtils]: 61: Hoare triple {5182#true} havoc #t~nondet31; {5182#true} is VALID [2020-07-11 01:05:44,419 INFO L280 TraceCheckUtils]: 62: Hoare triple {5182#true} assume true; {5182#true} is VALID [2020-07-11 01:05:44,420 INFO L275 TraceCheckUtils]: 63: Hoare quadruple {5182#true} {5231#(<= (+ main_~dev1~0.offset 1) main_~dev2~0.offset)} #97#return; {5231#(<= (+ main_~dev1~0.offset 1) main_~dev2~0.offset)} is VALID [2020-07-11 01:05:44,422 INFO L263 TraceCheckUtils]: 64: Hoare triple {5231#(<= (+ main_~dev1~0.offset 1) main_~dev2~0.offset)} call list_add(~dev1~0.base, ~dev1~0.offset, ~#head~0.base, ~#head~0.offset); {5288#(and (= ~elem~0.base |old(~elem~0.base)|) (= ~elem~0.offset |old(~elem~0.offset)|))} is VALID [2020-07-11 01:05:44,423 INFO L280 TraceCheckUtils]: 65: Hoare triple {5288#(and (= ~elem~0.base |old(~elem~0.base)|) (= ~elem~0.offset |old(~elem~0.offset)|))} ~new.base, ~new.offset := #in~new.base, #in~new.offset; {5289#(= |list_add_#in~new.offset| list_add_~new.offset)} is VALID [2020-07-11 01:05:44,424 INFO L280 TraceCheckUtils]: 66: Hoare triple {5289#(= |list_add_#in~new.offset| list_add_~new.offset)} ~head.base, ~head.offset := #in~head.base, #in~head.offset; {5289#(= |list_add_#in~new.offset| list_add_~new.offset)} is VALID [2020-07-11 01:05:44,425 INFO L280 TraceCheckUtils]: 67: Hoare triple {5289#(= |list_add_#in~new.offset| list_add_~new.offset)} assume ~new.base != ~elem~0.base || ~new.offset != ~elem~0.offset; {5289#(= |list_add_#in~new.offset| list_add_~new.offset)} is VALID [2020-07-11 01:05:44,425 INFO L280 TraceCheckUtils]: 68: Hoare triple {5289#(= |list_add_#in~new.offset| list_add_~new.offset)} assume -2147483648 <= #t~nondet31 && #t~nondet31 <= 2147483647; {5289#(= |list_add_#in~new.offset| list_add_~new.offset)} is VALID [2020-07-11 01:05:44,426 INFO L280 TraceCheckUtils]: 69: Hoare triple {5289#(= |list_add_#in~new.offset| list_add_~new.offset)} assume 0 != #t~nondet31; {5289#(= |list_add_#in~new.offset| list_add_~new.offset)} is VALID [2020-07-11 01:05:44,427 INFO L280 TraceCheckUtils]: 70: Hoare triple {5289#(= |list_add_#in~new.offset| list_add_~new.offset)} havoc #t~nondet31; {5289#(= |list_add_#in~new.offset| list_add_~new.offset)} is VALID [2020-07-11 01:05:44,428 INFO L280 TraceCheckUtils]: 71: Hoare triple {5289#(= |list_add_#in~new.offset| list_add_~new.offset)} ~elem~0.base, ~elem~0.offset := ~new.base, ~new.offset; {5290#(= ~elem~0.offset |list_add_#in~new.offset|)} is VALID [2020-07-11 01:05:44,428 INFO L280 TraceCheckUtils]: 72: Hoare triple {5290#(= ~elem~0.offset |list_add_#in~new.offset|)} assume true; {5290#(= ~elem~0.offset |list_add_#in~new.offset|)} is VALID [2020-07-11 01:05:44,430 INFO L275 TraceCheckUtils]: 73: Hoare quadruple {5290#(= ~elem~0.offset |list_add_#in~new.offset|)} {5231#(<= (+ main_~dev1~0.offset 1) main_~dev2~0.offset)} #99#return; {5249#(<= (+ ~elem~0.offset 1) main_~dev2~0.offset)} is VALID [2020-07-11 01:05:44,432 INFO L263 TraceCheckUtils]: 74: Hoare triple {5249#(<= (+ ~elem~0.offset 1) main_~dev2~0.offset)} call list_del(~dev2~0.base, ~dev2~0.offset); {5288#(and (= ~elem~0.base |old(~elem~0.base)|) (= ~elem~0.offset |old(~elem~0.offset)|))} is VALID [2020-07-11 01:05:44,433 INFO L280 TraceCheckUtils]: 75: Hoare triple {5288#(and (= ~elem~0.base |old(~elem~0.base)|) (= ~elem~0.offset |old(~elem~0.offset)|))} ~entry.base, ~entry.offset := #in~entry.base, #in~entry.offset; {5291#(and (= |old(~elem~0.offset)| ~elem~0.offset) (= |list_del_#in~entry.offset| list_del_~entry.offset))} is VALID [2020-07-11 01:05:44,434 INFO L280 TraceCheckUtils]: 76: Hoare triple {5291#(and (= |old(~elem~0.offset)| ~elem~0.offset) (= |list_del_#in~entry.offset| list_del_~entry.offset))} assume ~entry.base == ~elem~0.base && ~entry.offset == ~elem~0.offset; {5292#(= |old(~elem~0.offset)| |list_del_#in~entry.offset|)} is VALID [2020-07-11 01:05:44,435 INFO L280 TraceCheckUtils]: 77: Hoare triple {5292#(= |old(~elem~0.offset)| |list_del_#in~entry.offset|)} ~elem~0.base, ~elem~0.offset := 0, 0; {5292#(= |old(~elem~0.offset)| |list_del_#in~entry.offset|)} is VALID [2020-07-11 01:05:44,435 INFO L280 TraceCheckUtils]: 78: Hoare triple {5292#(= |old(~elem~0.offset)| |list_del_#in~entry.offset|)} assume true; {5292#(= |old(~elem~0.offset)| |list_del_#in~entry.offset|)} is VALID [2020-07-11 01:05:44,437 INFO L275 TraceCheckUtils]: 79: Hoare quadruple {5292#(= |old(~elem~0.offset)| |list_del_#in~entry.offset|)} {5249#(<= (+ ~elem~0.offset 1) main_~dev2~0.offset)} #101#return; {5183#false} is VALID [2020-07-11 01:05:44,437 INFO L263 TraceCheckUtils]: 80: Hoare triple {5183#false} call list_add(~dev2~0.base, ~dev2~0.offset, ~#head~0.base, ~#head~0.offset); {5183#false} is VALID [2020-07-11 01:05:44,437 INFO L280 TraceCheckUtils]: 81: Hoare triple {5183#false} ~new.base, ~new.offset := #in~new.base, #in~new.offset; {5183#false} is VALID [2020-07-11 01:05:44,438 INFO L280 TraceCheckUtils]: 82: Hoare triple {5183#false} ~head.base, ~head.offset := #in~head.base, #in~head.offset; {5183#false} is VALID [2020-07-11 01:05:44,438 INFO L280 TraceCheckUtils]: 83: Hoare triple {5183#false} assume !(~new.base != ~elem~0.base || ~new.offset != ~elem~0.offset); {5183#false} is VALID [2020-07-11 01:05:44,438 INFO L263 TraceCheckUtils]: 84: Hoare triple {5183#false} call __blast_assert(); {5183#false} is VALID [2020-07-11 01:05:44,439 INFO L280 TraceCheckUtils]: 85: Hoare triple {5183#false} assume !false; {5183#false} is VALID [2020-07-11 01:05:44,460 INFO L134 CoverageAnalysis]: Checked inductivity of 30 backedges. 21 proven. 6 refuted. 0 times theorem prover too weak. 3 trivial. 0 not checked. [2020-07-11 01:05:44,461 INFO L354 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModulePreferences [741610084] [2020-07-11 01:05:44,461 INFO L220 FreeRefinementEngine]: Constructing automaton from 0 perfect and 1 imperfect interpolant sequences. [2020-07-11 01:05:44,462 INFO L233 FreeRefinementEngine]: Number of different interpolants: perfect sequences [] imperfect sequences [23] total 23 [2020-07-11 01:05:44,468 INFO L156 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [193335931] [2020-07-11 01:05:44,470 INFO L78 Accepts]: Start accepts. Automaton has 23 states. Word has length 86 [2020-07-11 01:05:44,470 INFO L84 Accepts]: Finished accepts. word is accepted. [2020-07-11 01:05:44,471 INFO L86 InductivityCheck]: Starting indutivity check of a Floyd-Hoare automaton with 23 states. [2020-07-11 01:05:44,629 INFO L119 InductivityCheck]: Floyd-Hoare automaton has 86 edges. 86 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2020-07-11 01:05:44,630 INFO L459 AbstractCegarLoop]: Interpolant automaton has 23 states [2020-07-11 01:05:44,630 INFO L143 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy FIXED_PREFERENCES [2020-07-11 01:05:44,630 INFO L142 InterpolantAutomaton]: Constructing interpolant automaton starting with 23 interpolants. [2020-07-11 01:05:44,631 INFO L144 InterpolantAutomaton]: CoverageRelationStatistics Valid=47, Invalid=459, Unknown=0, NotChecked=0, Total=506 [2020-07-11 01:05:44,631 INFO L87 Difference]: Start difference. First operand 79 states and 83 transitions. Second operand 23 states. [2020-07-11 01:05:49,379 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2020-07-11 01:05:49,379 INFO L93 Difference]: Finished difference Result 87 states and 91 transitions. [2020-07-11 01:05:49,380 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 26 states. [2020-07-11 01:05:49,380 INFO L78 Accepts]: Start accepts. Automaton has 23 states. Word has length 86 [2020-07-11 01:05:49,380 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2020-07-11 01:05:49,380 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 23 states. [2020-07-11 01:05:49,382 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 26 states to 26 states and 76 transitions. [2020-07-11 01:05:49,383 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 23 states. [2020-07-11 01:05:49,385 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 26 states to 26 states and 76 transitions. [2020-07-11 01:05:49,385 INFO L86 InductivityCheck]: Starting indutivity check of a Floyd-Hoare automaton with 26 states and 76 transitions. [2020-07-11 01:05:49,511 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-11 01:05:49,513 INFO L225 Difference]: With dead ends: 87 [2020-07-11 01:05:49,513 INFO L226 Difference]: Without dead ends: 70 [2020-07-11 01:05:49,514 INFO L675 BasicCegarLoop]: 0 DeclaredPredicates, 57 GetRequests, 14 SyntacticMatches, 0 SemanticMatches, 43 ConstructedPredicates, 0 IntricatePredicates, 0 DeprecatedPredicates, 232 ImplicationChecksByTransitivity, 1.3s TimeCoverageRelationStatistics Valid=214, Invalid=1766, Unknown=0, NotChecked=0, Total=1980 [2020-07-11 01:05:49,514 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 70 states. [2020-07-11 01:05:49,830 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 70 to 70. [2020-07-11 01:05:49,831 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2020-07-11 01:05:49,831 INFO L82 GeneralOperation]: Start isEquivalent. First operand 70 states. Second operand 70 states. [2020-07-11 01:05:49,831 INFO L74 IsIncluded]: Start isIncluded. First operand 70 states. Second operand 70 states. [2020-07-11 01:05:49,831 INFO L87 Difference]: Start difference. First operand 70 states. Second operand 70 states. [2020-07-11 01:05:49,834 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2020-07-11 01:05:49,834 INFO L93 Difference]: Finished difference Result 70 states and 71 transitions. [2020-07-11 01:05:49,834 INFO L276 IsEmpty]: Start isEmpty. Operand 70 states and 71 transitions. [2020-07-11 01:05:49,834 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2020-07-11 01:05:49,835 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2020-07-11 01:05:49,835 INFO L74 IsIncluded]: Start isIncluded. First operand 70 states. Second operand 70 states. [2020-07-11 01:05:49,835 INFO L87 Difference]: Start difference. First operand 70 states. Second operand 70 states. [2020-07-11 01:05:49,837 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2020-07-11 01:05:49,837 INFO L93 Difference]: Finished difference Result 70 states and 71 transitions. [2020-07-11 01:05:49,837 INFO L276 IsEmpty]: Start isEmpty. Operand 70 states and 71 transitions. [2020-07-11 01:05:49,838 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2020-07-11 01:05:49,838 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2020-07-11 01:05:49,838 INFO L88 GeneralOperation]: Finished isEquivalent. [2020-07-11 01:05:49,838 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2020-07-11 01:05:49,838 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 70 states. [2020-07-11 01:05:49,840 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 70 states to 70 states and 71 transitions. [2020-07-11 01:05:49,841 INFO L78 Accepts]: Start accepts. Automaton has 70 states and 71 transitions. Word has length 86 [2020-07-11 01:05:49,841 INFO L84 Accepts]: Finished accepts. word is rejected. [2020-07-11 01:05:49,841 INFO L479 AbstractCegarLoop]: Abstraction has 70 states and 71 transitions. [2020-07-11 01:05:49,841 INFO L480 AbstractCegarLoop]: Interpolant automaton has 23 states. [2020-07-11 01:05:49,841 INFO L86 InductivityCheck]: Starting indutivity check of a Floyd-Hoare automaton with 70 states and 71 transitions. [2020-07-11 01:05:49,989 INFO L119 InductivityCheck]: Floyd-Hoare automaton has 71 edges. 71 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2020-07-11 01:05:49,990 INFO L276 IsEmpty]: Start isEmpty. Operand 70 states and 71 transitions. [2020-07-11 01:05:49,991 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 87 [2020-07-11 01:05:49,991 INFO L414 BasicCegarLoop]: Found error trace [2020-07-11 01:05:49,992 INFO L422 BasicCegarLoop]: trace histogram [3, 3, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1] [2020-07-11 01:05:49,992 WARN L516 AbstractCegarLoop]: Destroyed unattended storables created during the last iteration: SelfDestructingSolverStorable8 [2020-07-11 01:05:49,992 INFO L427 AbstractCegarLoop]: === Iteration 10 === [__blast_assertErr0ASSERT_VIOLATIONERROR_FUNCTION]=== [2020-07-11 01:05:49,992 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2020-07-11 01:05:49,993 INFO L82 PathProgramCache]: Analyzing trace with hash -1773366491, now seen corresponding path program 2 times [2020-07-11 01:05:49,993 INFO L163 FreeRefinementEngine]: Executing refinement strategy FIXED_PREFERENCES [2020-07-11 01:05:49,993 INFO L354 FreeRefinementEngine]: Using trace check IpTcStrategyModulePreferences [1638399161] [2020-07-11 01:05:49,993 INFO L94 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2020-07-11 01:05:50,007 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2020-07-11 01:05:50,166 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2020-07-11 01:05:50,179 INFO L280 TraceCheckUtils]: 0: Hoare triple {5870#(and (= |#valid| |old(#valid)|) (= ~elem~0.base |old(~elem~0.base)|) (= |#NULL.base| |old(#NULL.base)|) (= |~#head~0.base| |old(~#head~0.base)|) (= ~guard_malloc_counter~0.offset |old(~guard_malloc_counter~0.offset)|) (= |#NULL.offset| |old(#NULL.offset)|) (= ~elem~0.offset |old(~elem~0.offset)|) (= |old(#length)| |#length|) (= |~#head~0.offset| |old(~#head~0.offset)|) (= ~guard_malloc_counter~0.base |old(~guard_malloc_counter~0.base)|))} #NULL.base, #NULL.offset := 0, 0; {5795#true} is VALID [2020-07-11 01:05:50,180 INFO L280 TraceCheckUtils]: 1: Hoare triple {5795#true} #valid := #valid[0 := 0]; {5795#true} is VALID [2020-07-11 01:05:50,180 INFO L280 TraceCheckUtils]: 2: Hoare triple {5795#true} assume 0 < #StackHeapBarrier; {5795#true} is VALID [2020-07-11 01:05:50,181 INFO L280 TraceCheckUtils]: 3: Hoare triple {5795#true} ~guard_malloc_counter~0.base, ~guard_malloc_counter~0.offset := 0, 0; {5807#(= 0 ~guard_malloc_counter~0.offset)} is VALID [2020-07-11 01:05:50,181 INFO L280 TraceCheckUtils]: 4: Hoare triple {5807#(= 0 ~guard_malloc_counter~0.offset)} ~elem~0.base, ~elem~0.offset := 0, 0; {5807#(= 0 ~guard_malloc_counter~0.offset)} is VALID [2020-07-11 01:05:50,182 INFO L280 TraceCheckUtils]: 5: Hoare triple {5807#(= 0 ~guard_malloc_counter~0.offset)} SUMMARY for call ~#head~0.base, ~#head~0.offset := #Ultimate.allocOnStack(8); srcloc: L900 {5807#(= 0 ~guard_malloc_counter~0.offset)} is VALID [2020-07-11 01:05:50,182 INFO L280 TraceCheckUtils]: 6: Hoare triple {5807#(= 0 ~guard_malloc_counter~0.offset)} SUMMARY for call write~init~$Pointer$(0, 0, ~#head~0.base, ~#head~0.offset, 4); srcloc: L900-1 {5807#(= 0 ~guard_malloc_counter~0.offset)} is VALID [2020-07-11 01:05:50,183 INFO L280 TraceCheckUtils]: 7: Hoare triple {5807#(= 0 ~guard_malloc_counter~0.offset)} SUMMARY for call write~init~$Pointer$(0, 0, ~#head~0.base, 4 + ~#head~0.offset, 4); srcloc: L900-2 {5807#(= 0 ~guard_malloc_counter~0.offset)} is VALID [2020-07-11 01:05:50,183 INFO L280 TraceCheckUtils]: 8: Hoare triple {5807#(= 0 ~guard_malloc_counter~0.offset)} assume true; {5807#(= 0 ~guard_malloc_counter~0.offset)} is VALID [2020-07-11 01:05:50,184 INFO L275 TraceCheckUtils]: 9: Hoare quadruple {5807#(= 0 ~guard_malloc_counter~0.offset)} {5795#true} #109#return; {5807#(= 0 ~guard_malloc_counter~0.offset)} is VALID [2020-07-11 01:05:50,204 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2020-07-11 01:05:50,244 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2020-07-11 01:05:50,272 INFO L280 TraceCheckUtils]: 0: Hoare triple {5871#(and (= ~guard_malloc_counter~0.offset |old(~guard_malloc_counter~0.offset)|) (= ~guard_malloc_counter~0.base |old(~guard_malloc_counter~0.base)|))} ~size := #in~size; {5872#(= ~guard_malloc_counter~0.offset |old(~guard_malloc_counter~0.offset)|)} is VALID [2020-07-11 01:05:50,273 INFO L280 TraceCheckUtils]: 1: Hoare triple {5872#(= ~guard_malloc_counter~0.offset |old(~guard_malloc_counter~0.offset)|)} assume ~size > 0; {5872#(= ~guard_malloc_counter~0.offset |old(~guard_malloc_counter~0.offset)|)} is VALID [2020-07-11 01:05:50,273 INFO L280 TraceCheckUtils]: 2: Hoare triple {5872#(= ~guard_malloc_counter~0.offset |old(~guard_malloc_counter~0.offset)|)} #t~post28.base, #t~post28.offset := ~guard_malloc_counter~0.base, ~guard_malloc_counter~0.offset; {5885#(= |old(~guard_malloc_counter~0.offset)| |__getMemory_#t~post28.offset|)} is VALID [2020-07-11 01:05:50,274 INFO L280 TraceCheckUtils]: 3: Hoare triple {5885#(= |old(~guard_malloc_counter~0.offset)| |__getMemory_#t~post28.offset|)} ~guard_malloc_counter~0.base, ~guard_malloc_counter~0.offset := #t~post28.base, 1 + #t~post28.offset; {5884#(<= (+ |old(~guard_malloc_counter~0.offset)| 1) ~guard_malloc_counter~0.offset)} is VALID [2020-07-11 01:05:50,274 INFO L280 TraceCheckUtils]: 4: Hoare triple {5884#(<= (+ |old(~guard_malloc_counter~0.offset)| 1) ~guard_malloc_counter~0.offset)} havoc #t~post28.base, #t~post28.offset; {5884#(<= (+ |old(~guard_malloc_counter~0.offset)| 1) ~guard_malloc_counter~0.offset)} is VALID [2020-07-11 01:05:50,275 INFO L280 TraceCheckUtils]: 5: Hoare triple {5884#(<= (+ |old(~guard_malloc_counter~0.offset)| 1) ~guard_malloc_counter~0.offset)} assume -2147483648 <= #t~nondet29 && #t~nondet29 <= 2147483647; {5884#(<= (+ |old(~guard_malloc_counter~0.offset)| 1) ~guard_malloc_counter~0.offset)} is VALID [2020-07-11 01:05:50,275 INFO L280 TraceCheckUtils]: 6: Hoare triple {5884#(<= (+ |old(~guard_malloc_counter~0.offset)| 1) ~guard_malloc_counter~0.offset)} assume !(0 == #t~nondet29); {5884#(<= (+ |old(~guard_malloc_counter~0.offset)| 1) ~guard_malloc_counter~0.offset)} is VALID [2020-07-11 01:05:50,276 INFO L280 TraceCheckUtils]: 7: Hoare triple {5884#(<= (+ |old(~guard_malloc_counter~0.offset)| 1) ~guard_malloc_counter~0.offset)} havoc #t~nondet29; {5884#(<= (+ |old(~guard_malloc_counter~0.offset)| 1) ~guard_malloc_counter~0.offset)} is VALID [2020-07-11 01:05:50,277 INFO L280 TraceCheckUtils]: 8: Hoare triple {5884#(<= (+ |old(~guard_malloc_counter~0.offset)| 1) ~guard_malloc_counter~0.offset)} #res.base, #res.offset := ~guard_malloc_counter~0.base, ~guard_malloc_counter~0.offset; {5884#(<= (+ |old(~guard_malloc_counter~0.offset)| 1) ~guard_malloc_counter~0.offset)} is VALID [2020-07-11 01:05:50,277 INFO L280 TraceCheckUtils]: 9: Hoare triple {5884#(<= (+ |old(~guard_malloc_counter~0.offset)| 1) ~guard_malloc_counter~0.offset)} assume true; {5884#(<= (+ |old(~guard_malloc_counter~0.offset)| 1) ~guard_malloc_counter~0.offset)} is VALID [2020-07-11 01:05:50,278 INFO L275 TraceCheckUtils]: 10: Hoare quadruple {5884#(<= (+ |old(~guard_malloc_counter~0.offset)| 1) ~guard_malloc_counter~0.offset)} {5872#(= ~guard_malloc_counter~0.offset |old(~guard_malloc_counter~0.offset)|)} #91#return; {5884#(<= (+ |old(~guard_malloc_counter~0.offset)| 1) ~guard_malloc_counter~0.offset)} is VALID [2020-07-11 01:05:50,279 INFO L280 TraceCheckUtils]: 0: Hoare triple {5871#(and (= ~guard_malloc_counter~0.offset |old(~guard_malloc_counter~0.offset)|) (= ~guard_malloc_counter~0.base |old(~guard_malloc_counter~0.base)|))} ~size := #in~size; {5872#(= ~guard_malloc_counter~0.offset |old(~guard_malloc_counter~0.offset)|)} is VALID [2020-07-11 01:05:50,280 INFO L263 TraceCheckUtils]: 1: Hoare triple {5872#(= ~guard_malloc_counter~0.offset |old(~guard_malloc_counter~0.offset)|)} call #t~ret30.base, #t~ret30.offset := __getMemory(~size); {5871#(and (= ~guard_malloc_counter~0.offset |old(~guard_malloc_counter~0.offset)|) (= ~guard_malloc_counter~0.base |old(~guard_malloc_counter~0.base)|))} is VALID [2020-07-11 01:05:50,280 INFO L280 TraceCheckUtils]: 2: Hoare triple {5871#(and (= ~guard_malloc_counter~0.offset |old(~guard_malloc_counter~0.offset)|) (= ~guard_malloc_counter~0.base |old(~guard_malloc_counter~0.base)|))} ~size := #in~size; {5872#(= ~guard_malloc_counter~0.offset |old(~guard_malloc_counter~0.offset)|)} is VALID [2020-07-11 01:05:50,281 INFO L280 TraceCheckUtils]: 3: Hoare triple {5872#(= ~guard_malloc_counter~0.offset |old(~guard_malloc_counter~0.offset)|)} assume ~size > 0; {5872#(= ~guard_malloc_counter~0.offset |old(~guard_malloc_counter~0.offset)|)} is VALID [2020-07-11 01:05:50,281 INFO L280 TraceCheckUtils]: 4: Hoare triple {5872#(= ~guard_malloc_counter~0.offset |old(~guard_malloc_counter~0.offset)|)} #t~post28.base, #t~post28.offset := ~guard_malloc_counter~0.base, ~guard_malloc_counter~0.offset; {5885#(= |old(~guard_malloc_counter~0.offset)| |__getMemory_#t~post28.offset|)} is VALID [2020-07-11 01:05:50,282 INFO L280 TraceCheckUtils]: 5: Hoare triple {5885#(= |old(~guard_malloc_counter~0.offset)| |__getMemory_#t~post28.offset|)} ~guard_malloc_counter~0.base, ~guard_malloc_counter~0.offset := #t~post28.base, 1 + #t~post28.offset; {5884#(<= (+ |old(~guard_malloc_counter~0.offset)| 1) ~guard_malloc_counter~0.offset)} is VALID [2020-07-11 01:05:50,283 INFO L280 TraceCheckUtils]: 6: Hoare triple {5884#(<= (+ |old(~guard_malloc_counter~0.offset)| 1) ~guard_malloc_counter~0.offset)} havoc #t~post28.base, #t~post28.offset; {5884#(<= (+ |old(~guard_malloc_counter~0.offset)| 1) ~guard_malloc_counter~0.offset)} is VALID [2020-07-11 01:05:50,283 INFO L280 TraceCheckUtils]: 7: Hoare triple {5884#(<= (+ |old(~guard_malloc_counter~0.offset)| 1) ~guard_malloc_counter~0.offset)} assume -2147483648 <= #t~nondet29 && #t~nondet29 <= 2147483647; {5884#(<= (+ |old(~guard_malloc_counter~0.offset)| 1) ~guard_malloc_counter~0.offset)} is VALID [2020-07-11 01:05:50,283 INFO L280 TraceCheckUtils]: 8: Hoare triple {5884#(<= (+ |old(~guard_malloc_counter~0.offset)| 1) ~guard_malloc_counter~0.offset)} assume !(0 == #t~nondet29); {5884#(<= (+ |old(~guard_malloc_counter~0.offset)| 1) ~guard_malloc_counter~0.offset)} is VALID [2020-07-11 01:05:50,284 INFO L280 TraceCheckUtils]: 9: Hoare triple {5884#(<= (+ |old(~guard_malloc_counter~0.offset)| 1) ~guard_malloc_counter~0.offset)} havoc #t~nondet29; {5884#(<= (+ |old(~guard_malloc_counter~0.offset)| 1) ~guard_malloc_counter~0.offset)} is VALID [2020-07-11 01:05:50,285 INFO L280 TraceCheckUtils]: 10: Hoare triple {5884#(<= (+ |old(~guard_malloc_counter~0.offset)| 1) ~guard_malloc_counter~0.offset)} #res.base, #res.offset := ~guard_malloc_counter~0.base, ~guard_malloc_counter~0.offset; {5884#(<= (+ |old(~guard_malloc_counter~0.offset)| 1) ~guard_malloc_counter~0.offset)} is VALID [2020-07-11 01:05:50,285 INFO L280 TraceCheckUtils]: 11: Hoare triple {5884#(<= (+ |old(~guard_malloc_counter~0.offset)| 1) ~guard_malloc_counter~0.offset)} assume true; {5884#(<= (+ |old(~guard_malloc_counter~0.offset)| 1) ~guard_malloc_counter~0.offset)} is VALID [2020-07-11 01:05:50,286 INFO L275 TraceCheckUtils]: 12: Hoare quadruple {5884#(<= (+ |old(~guard_malloc_counter~0.offset)| 1) ~guard_malloc_counter~0.offset)} {5872#(= ~guard_malloc_counter~0.offset |old(~guard_malloc_counter~0.offset)|)} #91#return; {5884#(<= (+ |old(~guard_malloc_counter~0.offset)| 1) ~guard_malloc_counter~0.offset)} is VALID [2020-07-11 01:05:50,287 INFO L280 TraceCheckUtils]: 13: Hoare triple {5884#(<= (+ |old(~guard_malloc_counter~0.offset)| 1) ~guard_malloc_counter~0.offset)} #res.base, #res.offset := #t~ret30.base, #t~ret30.offset; {5884#(<= (+ |old(~guard_malloc_counter~0.offset)| 1) ~guard_malloc_counter~0.offset)} is VALID [2020-07-11 01:05:50,288 INFO L280 TraceCheckUtils]: 14: Hoare triple {5884#(<= (+ |old(~guard_malloc_counter~0.offset)| 1) ~guard_malloc_counter~0.offset)} havoc #t~ret30.base, #t~ret30.offset; {5884#(<= (+ |old(~guard_malloc_counter~0.offset)| 1) ~guard_malloc_counter~0.offset)} is VALID [2020-07-11 01:05:50,288 INFO L280 TraceCheckUtils]: 15: Hoare triple {5884#(<= (+ |old(~guard_malloc_counter~0.offset)| 1) ~guard_malloc_counter~0.offset)} assume true; {5884#(<= (+ |old(~guard_malloc_counter~0.offset)| 1) ~guard_malloc_counter~0.offset)} is VALID [2020-07-11 01:05:50,290 INFO L275 TraceCheckUtils]: 16: Hoare quadruple {5884#(<= (+ |old(~guard_malloc_counter~0.offset)| 1) ~guard_malloc_counter~0.offset)} {5807#(= 0 ~guard_malloc_counter~0.offset)} #93#return; {5825#(<= 1 ~guard_malloc_counter~0.offset)} is VALID [2020-07-11 01:05:50,294 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2020-07-11 01:05:50,341 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2020-07-11 01:05:50,375 INFO L280 TraceCheckUtils]: 0: Hoare triple {5871#(and (= ~guard_malloc_counter~0.offset |old(~guard_malloc_counter~0.offset)|) (= ~guard_malloc_counter~0.base |old(~guard_malloc_counter~0.base)|))} ~size := #in~size; {5872#(= ~guard_malloc_counter~0.offset |old(~guard_malloc_counter~0.offset)|)} is VALID [2020-07-11 01:05:50,375 INFO L280 TraceCheckUtils]: 1: Hoare triple {5872#(= ~guard_malloc_counter~0.offset |old(~guard_malloc_counter~0.offset)|)} assume ~size > 0; {5872#(= ~guard_malloc_counter~0.offset |old(~guard_malloc_counter~0.offset)|)} is VALID [2020-07-11 01:05:50,376 INFO L280 TraceCheckUtils]: 2: Hoare triple {5872#(= ~guard_malloc_counter~0.offset |old(~guard_malloc_counter~0.offset)|)} #t~post28.base, #t~post28.offset := ~guard_malloc_counter~0.base, ~guard_malloc_counter~0.offset; {5885#(= |old(~guard_malloc_counter~0.offset)| |__getMemory_#t~post28.offset|)} is VALID [2020-07-11 01:05:50,376 INFO L280 TraceCheckUtils]: 3: Hoare triple {5885#(= |old(~guard_malloc_counter~0.offset)| |__getMemory_#t~post28.offset|)} ~guard_malloc_counter~0.base, ~guard_malloc_counter~0.offset := #t~post28.base, 1 + #t~post28.offset; {5884#(<= (+ |old(~guard_malloc_counter~0.offset)| 1) ~guard_malloc_counter~0.offset)} is VALID [2020-07-11 01:05:50,378 INFO L280 TraceCheckUtils]: 4: Hoare triple {5884#(<= (+ |old(~guard_malloc_counter~0.offset)| 1) ~guard_malloc_counter~0.offset)} havoc #t~post28.base, #t~post28.offset; {5884#(<= (+ |old(~guard_malloc_counter~0.offset)| 1) ~guard_malloc_counter~0.offset)} is VALID [2020-07-11 01:05:50,379 INFO L280 TraceCheckUtils]: 5: Hoare triple {5884#(<= (+ |old(~guard_malloc_counter~0.offset)| 1) ~guard_malloc_counter~0.offset)} assume -2147483648 <= #t~nondet29 && #t~nondet29 <= 2147483647; {5884#(<= (+ |old(~guard_malloc_counter~0.offset)| 1) ~guard_malloc_counter~0.offset)} is VALID [2020-07-11 01:05:50,380 INFO L280 TraceCheckUtils]: 6: Hoare triple {5884#(<= (+ |old(~guard_malloc_counter~0.offset)| 1) ~guard_malloc_counter~0.offset)} assume !(0 == #t~nondet29); {5884#(<= (+ |old(~guard_malloc_counter~0.offset)| 1) ~guard_malloc_counter~0.offset)} is VALID [2020-07-11 01:05:50,380 INFO L280 TraceCheckUtils]: 7: Hoare triple {5884#(<= (+ |old(~guard_malloc_counter~0.offset)| 1) ~guard_malloc_counter~0.offset)} havoc #t~nondet29; {5884#(<= (+ |old(~guard_malloc_counter~0.offset)| 1) ~guard_malloc_counter~0.offset)} is VALID [2020-07-11 01:05:50,381 INFO L280 TraceCheckUtils]: 8: Hoare triple {5884#(<= (+ |old(~guard_malloc_counter~0.offset)| 1) ~guard_malloc_counter~0.offset)} #res.base, #res.offset := ~guard_malloc_counter~0.base, ~guard_malloc_counter~0.offset; {5899#(<= (+ |old(~guard_malloc_counter~0.offset)| 1) |__getMemory_#res.offset|)} is VALID [2020-07-11 01:05:50,381 INFO L280 TraceCheckUtils]: 9: Hoare triple {5899#(<= (+ |old(~guard_malloc_counter~0.offset)| 1) |__getMemory_#res.offset|)} assume true; {5899#(<= (+ |old(~guard_malloc_counter~0.offset)| 1) |__getMemory_#res.offset|)} is VALID [2020-07-11 01:05:50,382 INFO L275 TraceCheckUtils]: 10: Hoare quadruple {5899#(<= (+ |old(~guard_malloc_counter~0.offset)| 1) |__getMemory_#res.offset|)} {5872#(= ~guard_malloc_counter~0.offset |old(~guard_malloc_counter~0.offset)|)} #91#return; {5897#(<= (+ |old(~guard_malloc_counter~0.offset)| 1) |my_malloc_#t~ret30.offset|)} is VALID [2020-07-11 01:05:50,383 INFO L280 TraceCheckUtils]: 0: Hoare triple {5871#(and (= ~guard_malloc_counter~0.offset |old(~guard_malloc_counter~0.offset)|) (= ~guard_malloc_counter~0.base |old(~guard_malloc_counter~0.base)|))} ~size := #in~size; {5872#(= ~guard_malloc_counter~0.offset |old(~guard_malloc_counter~0.offset)|)} is VALID [2020-07-11 01:05:50,384 INFO L263 TraceCheckUtils]: 1: Hoare triple {5872#(= ~guard_malloc_counter~0.offset |old(~guard_malloc_counter~0.offset)|)} call #t~ret30.base, #t~ret30.offset := __getMemory(~size); {5871#(and (= ~guard_malloc_counter~0.offset |old(~guard_malloc_counter~0.offset)|) (= ~guard_malloc_counter~0.base |old(~guard_malloc_counter~0.base)|))} is VALID [2020-07-11 01:05:50,385 INFO L280 TraceCheckUtils]: 2: Hoare triple {5871#(and (= ~guard_malloc_counter~0.offset |old(~guard_malloc_counter~0.offset)|) (= ~guard_malloc_counter~0.base |old(~guard_malloc_counter~0.base)|))} ~size := #in~size; {5872#(= ~guard_malloc_counter~0.offset |old(~guard_malloc_counter~0.offset)|)} is VALID [2020-07-11 01:05:50,385 INFO L280 TraceCheckUtils]: 3: Hoare triple {5872#(= ~guard_malloc_counter~0.offset |old(~guard_malloc_counter~0.offset)|)} assume ~size > 0; {5872#(= ~guard_malloc_counter~0.offset |old(~guard_malloc_counter~0.offset)|)} is VALID [2020-07-11 01:05:50,386 INFO L280 TraceCheckUtils]: 4: Hoare triple {5872#(= ~guard_malloc_counter~0.offset |old(~guard_malloc_counter~0.offset)|)} #t~post28.base, #t~post28.offset := ~guard_malloc_counter~0.base, ~guard_malloc_counter~0.offset; {5885#(= |old(~guard_malloc_counter~0.offset)| |__getMemory_#t~post28.offset|)} is VALID [2020-07-11 01:05:50,387 INFO L280 TraceCheckUtils]: 5: Hoare triple {5885#(= |old(~guard_malloc_counter~0.offset)| |__getMemory_#t~post28.offset|)} ~guard_malloc_counter~0.base, ~guard_malloc_counter~0.offset := #t~post28.base, 1 + #t~post28.offset; {5884#(<= (+ |old(~guard_malloc_counter~0.offset)| 1) ~guard_malloc_counter~0.offset)} is VALID [2020-07-11 01:05:50,387 INFO L280 TraceCheckUtils]: 6: Hoare triple {5884#(<= (+ |old(~guard_malloc_counter~0.offset)| 1) ~guard_malloc_counter~0.offset)} havoc #t~post28.base, #t~post28.offset; {5884#(<= (+ |old(~guard_malloc_counter~0.offset)| 1) ~guard_malloc_counter~0.offset)} is VALID [2020-07-11 01:05:50,388 INFO L280 TraceCheckUtils]: 7: Hoare triple {5884#(<= (+ |old(~guard_malloc_counter~0.offset)| 1) ~guard_malloc_counter~0.offset)} assume -2147483648 <= #t~nondet29 && #t~nondet29 <= 2147483647; {5884#(<= (+ |old(~guard_malloc_counter~0.offset)| 1) ~guard_malloc_counter~0.offset)} is VALID [2020-07-11 01:05:50,388 INFO L280 TraceCheckUtils]: 8: Hoare triple {5884#(<= (+ |old(~guard_malloc_counter~0.offset)| 1) ~guard_malloc_counter~0.offset)} assume !(0 == #t~nondet29); {5884#(<= (+ |old(~guard_malloc_counter~0.offset)| 1) ~guard_malloc_counter~0.offset)} is VALID [2020-07-11 01:05:50,389 INFO L280 TraceCheckUtils]: 9: Hoare triple {5884#(<= (+ |old(~guard_malloc_counter~0.offset)| 1) ~guard_malloc_counter~0.offset)} havoc #t~nondet29; {5884#(<= (+ |old(~guard_malloc_counter~0.offset)| 1) ~guard_malloc_counter~0.offset)} is VALID [2020-07-11 01:05:50,389 INFO L280 TraceCheckUtils]: 10: Hoare triple {5884#(<= (+ |old(~guard_malloc_counter~0.offset)| 1) ~guard_malloc_counter~0.offset)} #res.base, #res.offset := ~guard_malloc_counter~0.base, ~guard_malloc_counter~0.offset; {5899#(<= (+ |old(~guard_malloc_counter~0.offset)| 1) |__getMemory_#res.offset|)} is VALID [2020-07-11 01:05:50,390 INFO L280 TraceCheckUtils]: 11: Hoare triple {5899#(<= (+ |old(~guard_malloc_counter~0.offset)| 1) |__getMemory_#res.offset|)} assume true; {5899#(<= (+ |old(~guard_malloc_counter~0.offset)| 1) |__getMemory_#res.offset|)} is VALID [2020-07-11 01:05:50,391 INFO L275 TraceCheckUtils]: 12: Hoare quadruple {5899#(<= (+ |old(~guard_malloc_counter~0.offset)| 1) |__getMemory_#res.offset|)} {5872#(= ~guard_malloc_counter~0.offset |old(~guard_malloc_counter~0.offset)|)} #91#return; {5897#(<= (+ |old(~guard_malloc_counter~0.offset)| 1) |my_malloc_#t~ret30.offset|)} is VALID [2020-07-11 01:05:50,391 INFO L280 TraceCheckUtils]: 13: Hoare triple {5897#(<= (+ |old(~guard_malloc_counter~0.offset)| 1) |my_malloc_#t~ret30.offset|)} #res.base, #res.offset := #t~ret30.base, #t~ret30.offset; {5898#(<= (+ |old(~guard_malloc_counter~0.offset)| 1) |my_malloc_#res.offset|)} is VALID [2020-07-11 01:05:50,392 INFO L280 TraceCheckUtils]: 14: Hoare triple {5898#(<= (+ |old(~guard_malloc_counter~0.offset)| 1) |my_malloc_#res.offset|)} havoc #t~ret30.base, #t~ret30.offset; {5898#(<= (+ |old(~guard_malloc_counter~0.offset)| 1) |my_malloc_#res.offset|)} is VALID [2020-07-11 01:05:50,392 INFO L280 TraceCheckUtils]: 15: Hoare triple {5898#(<= (+ |old(~guard_malloc_counter~0.offset)| 1) |my_malloc_#res.offset|)} assume true; {5898#(<= (+ |old(~guard_malloc_counter~0.offset)| 1) |my_malloc_#res.offset|)} is VALID [2020-07-11 01:05:50,394 INFO L275 TraceCheckUtils]: 16: Hoare quadruple {5898#(<= (+ |old(~guard_malloc_counter~0.offset)| 1) |my_malloc_#res.offset|)} {5825#(<= 1 ~guard_malloc_counter~0.offset)} #95#return; {5843#(<= 2 |main_#t~ret33.offset|)} is VALID [2020-07-11 01:05:50,419 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2020-07-11 01:05:50,423 INFO L280 TraceCheckUtils]: 0: Hoare triple {5900#(and (= ~elem~0.base |old(~elem~0.base)|) (= ~elem~0.offset |old(~elem~0.offset)|))} ~new.base, ~new.offset := #in~new.base, #in~new.offset; {5795#true} is VALID [2020-07-11 01:05:50,423 INFO L280 TraceCheckUtils]: 1: Hoare triple {5795#true} ~head.base, ~head.offset := #in~head.base, #in~head.offset; {5795#true} is VALID [2020-07-11 01:05:50,423 INFO L280 TraceCheckUtils]: 2: Hoare triple {5795#true} assume ~new.base != ~elem~0.base || ~new.offset != ~elem~0.offset; {5795#true} is VALID [2020-07-11 01:05:50,423 INFO L280 TraceCheckUtils]: 3: Hoare triple {5795#true} assume -2147483648 <= #t~nondet31 && #t~nondet31 <= 2147483647; {5795#true} is VALID [2020-07-11 01:05:50,424 INFO L280 TraceCheckUtils]: 4: Hoare triple {5795#true} assume 0 != #t~nondet31; {5795#true} is VALID [2020-07-11 01:05:50,424 INFO L280 TraceCheckUtils]: 5: Hoare triple {5795#true} havoc #t~nondet31; {5795#true} is VALID [2020-07-11 01:05:50,424 INFO L280 TraceCheckUtils]: 6: Hoare triple {5795#true} ~elem~0.base, ~elem~0.offset := ~new.base, ~new.offset; {5795#true} is VALID [2020-07-11 01:05:50,424 INFO L280 TraceCheckUtils]: 7: Hoare triple {5795#true} assume true; {5795#true} is VALID [2020-07-11 01:05:50,425 INFO L275 TraceCheckUtils]: 8: Hoare quadruple {5795#true} {5844#(<= 2 main_~dev2~0.offset)} #97#return; {5844#(<= 2 main_~dev2~0.offset)} is VALID [2020-07-11 01:05:50,427 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2020-07-11 01:05:50,429 INFO L280 TraceCheckUtils]: 0: Hoare triple {5900#(and (= ~elem~0.base |old(~elem~0.base)|) (= ~elem~0.offset |old(~elem~0.offset)|))} ~new.base, ~new.offset := #in~new.base, #in~new.offset; {5795#true} is VALID [2020-07-11 01:05:50,430 INFO L280 TraceCheckUtils]: 1: Hoare triple {5795#true} ~head.base, ~head.offset := #in~head.base, #in~head.offset; {5795#true} is VALID [2020-07-11 01:05:50,430 INFO L280 TraceCheckUtils]: 2: Hoare triple {5795#true} assume ~new.base != ~elem~0.base || ~new.offset != ~elem~0.offset; {5795#true} is VALID [2020-07-11 01:05:50,430 INFO L280 TraceCheckUtils]: 3: Hoare triple {5795#true} assume -2147483648 <= #t~nondet31 && #t~nondet31 <= 2147483647; {5795#true} is VALID [2020-07-11 01:05:50,430 INFO L280 TraceCheckUtils]: 4: Hoare triple {5795#true} assume !(0 != #t~nondet31); {5795#true} is VALID [2020-07-11 01:05:50,431 INFO L280 TraceCheckUtils]: 5: Hoare triple {5795#true} havoc #t~nondet31; {5795#true} is VALID [2020-07-11 01:05:50,431 INFO L280 TraceCheckUtils]: 6: Hoare triple {5795#true} assume true; {5795#true} is VALID [2020-07-11 01:05:50,432 INFO L275 TraceCheckUtils]: 7: Hoare quadruple {5795#true} {5844#(<= 2 main_~dev2~0.offset)} #99#return; {5844#(<= 2 main_~dev2~0.offset)} is VALID [2020-07-11 01:05:50,433 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2020-07-11 01:05:50,460 INFO L280 TraceCheckUtils]: 0: Hoare triple {5900#(and (= ~elem~0.base |old(~elem~0.base)|) (= ~elem~0.offset |old(~elem~0.offset)|))} ~entry.base, ~entry.offset := #in~entry.base, #in~entry.offset; {5795#true} is VALID [2020-07-11 01:05:50,461 INFO L280 TraceCheckUtils]: 1: Hoare triple {5795#true} assume ~entry.base == ~elem~0.base && ~entry.offset == ~elem~0.offset; {5795#true} is VALID [2020-07-11 01:05:50,461 INFO L280 TraceCheckUtils]: 2: Hoare triple {5795#true} ~elem~0.base, ~elem~0.offset := 0, 0; {5901#(= 0 ~elem~0.offset)} is VALID [2020-07-11 01:05:50,462 INFO L280 TraceCheckUtils]: 3: Hoare triple {5901#(= 0 ~elem~0.offset)} assume true; {5901#(= 0 ~elem~0.offset)} is VALID [2020-07-11 01:05:50,463 INFO L275 TraceCheckUtils]: 4: Hoare quadruple {5901#(= 0 ~elem~0.offset)} {5844#(<= 2 main_~dev2~0.offset)} #101#return; {5867#(and (= 0 ~elem~0.offset) (<= 2 main_~dev2~0.offset))} is VALID [2020-07-11 01:05:50,464 INFO L263 TraceCheckUtils]: 0: Hoare triple {5795#true} call ULTIMATE.init(); {5870#(and (= |#valid| |old(#valid)|) (= ~elem~0.base |old(~elem~0.base)|) (= |#NULL.base| |old(#NULL.base)|) (= |~#head~0.base| |old(~#head~0.base)|) (= ~guard_malloc_counter~0.offset |old(~guard_malloc_counter~0.offset)|) (= |#NULL.offset| |old(#NULL.offset)|) (= ~elem~0.offset |old(~elem~0.offset)|) (= |old(#length)| |#length|) (= |~#head~0.offset| |old(~#head~0.offset)|) (= ~guard_malloc_counter~0.base |old(~guard_malloc_counter~0.base)|))} is VALID [2020-07-11 01:05:50,465 INFO L280 TraceCheckUtils]: 1: Hoare triple {5870#(and (= |#valid| |old(#valid)|) (= ~elem~0.base |old(~elem~0.base)|) (= |#NULL.base| |old(#NULL.base)|) (= |~#head~0.base| |old(~#head~0.base)|) (= ~guard_malloc_counter~0.offset |old(~guard_malloc_counter~0.offset)|) (= |#NULL.offset| |old(#NULL.offset)|) (= ~elem~0.offset |old(~elem~0.offset)|) (= |old(#length)| |#length|) (= |~#head~0.offset| |old(~#head~0.offset)|) (= ~guard_malloc_counter~0.base |old(~guard_malloc_counter~0.base)|))} #NULL.base, #NULL.offset := 0, 0; {5795#true} is VALID [2020-07-11 01:05:50,465 INFO L280 TraceCheckUtils]: 2: Hoare triple {5795#true} #valid := #valid[0 := 0]; {5795#true} is VALID [2020-07-11 01:05:50,465 INFO L280 TraceCheckUtils]: 3: Hoare triple {5795#true} assume 0 < #StackHeapBarrier; {5795#true} is VALID [2020-07-11 01:05:50,466 INFO L280 TraceCheckUtils]: 4: Hoare triple {5795#true} ~guard_malloc_counter~0.base, ~guard_malloc_counter~0.offset := 0, 0; {5807#(= 0 ~guard_malloc_counter~0.offset)} is VALID [2020-07-11 01:05:50,466 INFO L280 TraceCheckUtils]: 5: Hoare triple {5807#(= 0 ~guard_malloc_counter~0.offset)} ~elem~0.base, ~elem~0.offset := 0, 0; {5807#(= 0 ~guard_malloc_counter~0.offset)} is VALID [2020-07-11 01:05:50,467 INFO L280 TraceCheckUtils]: 6: Hoare triple {5807#(= 0 ~guard_malloc_counter~0.offset)} SUMMARY for call ~#head~0.base, ~#head~0.offset := #Ultimate.allocOnStack(8); srcloc: L900 {5807#(= 0 ~guard_malloc_counter~0.offset)} is VALID [2020-07-11 01:05:50,468 INFO L280 TraceCheckUtils]: 7: Hoare triple {5807#(= 0 ~guard_malloc_counter~0.offset)} SUMMARY for call write~init~$Pointer$(0, 0, ~#head~0.base, ~#head~0.offset, 4); srcloc: L900-1 {5807#(= 0 ~guard_malloc_counter~0.offset)} is VALID [2020-07-11 01:05:50,468 INFO L280 TraceCheckUtils]: 8: Hoare triple {5807#(= 0 ~guard_malloc_counter~0.offset)} SUMMARY for call write~init~$Pointer$(0, 0, ~#head~0.base, 4 + ~#head~0.offset, 4); srcloc: L900-2 {5807#(= 0 ~guard_malloc_counter~0.offset)} is VALID [2020-07-11 01:05:50,469 INFO L280 TraceCheckUtils]: 9: Hoare triple {5807#(= 0 ~guard_malloc_counter~0.offset)} assume true; {5807#(= 0 ~guard_malloc_counter~0.offset)} is VALID [2020-07-11 01:05:50,469 INFO L275 TraceCheckUtils]: 10: Hoare quadruple {5807#(= 0 ~guard_malloc_counter~0.offset)} {5795#true} #109#return; {5807#(= 0 ~guard_malloc_counter~0.offset)} is VALID [2020-07-11 01:05:50,470 INFO L263 TraceCheckUtils]: 11: Hoare triple {5807#(= 0 ~guard_malloc_counter~0.offset)} call #t~ret34 := main(); {5807#(= 0 ~guard_malloc_counter~0.offset)} is VALID [2020-07-11 01:05:50,470 INFO L280 TraceCheckUtils]: 12: Hoare triple {5807#(= 0 ~guard_malloc_counter~0.offset)} havoc ~dev1~0.base, ~dev1~0.offset; {5807#(= 0 ~guard_malloc_counter~0.offset)} is VALID [2020-07-11 01:05:50,471 INFO L280 TraceCheckUtils]: 13: Hoare triple {5807#(= 0 ~guard_malloc_counter~0.offset)} havoc ~dev2~0.base, ~dev2~0.offset; {5807#(= 0 ~guard_malloc_counter~0.offset)} is VALID [2020-07-11 01:05:50,471 INFO L263 TraceCheckUtils]: 14: Hoare triple {5807#(= 0 ~guard_malloc_counter~0.offset)} call #t~ret32.base, #t~ret32.offset := my_malloc(8); {5871#(and (= ~guard_malloc_counter~0.offset |old(~guard_malloc_counter~0.offset)|) (= ~guard_malloc_counter~0.base |old(~guard_malloc_counter~0.base)|))} is VALID [2020-07-11 01:05:50,472 INFO L280 TraceCheckUtils]: 15: Hoare triple {5871#(and (= ~guard_malloc_counter~0.offset |old(~guard_malloc_counter~0.offset)|) (= ~guard_malloc_counter~0.base |old(~guard_malloc_counter~0.base)|))} ~size := #in~size; {5872#(= ~guard_malloc_counter~0.offset |old(~guard_malloc_counter~0.offset)|)} is VALID [2020-07-11 01:05:50,472 INFO L263 TraceCheckUtils]: 16: Hoare triple {5872#(= ~guard_malloc_counter~0.offset |old(~guard_malloc_counter~0.offset)|)} call #t~ret30.base, #t~ret30.offset := __getMemory(~size); {5871#(and (= ~guard_malloc_counter~0.offset |old(~guard_malloc_counter~0.offset)|) (= ~guard_malloc_counter~0.base |old(~guard_malloc_counter~0.base)|))} is VALID [2020-07-11 01:05:50,473 INFO L280 TraceCheckUtils]: 17: Hoare triple {5871#(and (= ~guard_malloc_counter~0.offset |old(~guard_malloc_counter~0.offset)|) (= ~guard_malloc_counter~0.base |old(~guard_malloc_counter~0.base)|))} ~size := #in~size; {5872#(= ~guard_malloc_counter~0.offset |old(~guard_malloc_counter~0.offset)|)} is VALID [2020-07-11 01:05:50,473 INFO L280 TraceCheckUtils]: 18: Hoare triple {5872#(= ~guard_malloc_counter~0.offset |old(~guard_malloc_counter~0.offset)|)} assume ~size > 0; {5872#(= ~guard_malloc_counter~0.offset |old(~guard_malloc_counter~0.offset)|)} is VALID [2020-07-11 01:05:50,474 INFO L280 TraceCheckUtils]: 19: Hoare triple {5872#(= ~guard_malloc_counter~0.offset |old(~guard_malloc_counter~0.offset)|)} #t~post28.base, #t~post28.offset := ~guard_malloc_counter~0.base, ~guard_malloc_counter~0.offset; {5885#(= |old(~guard_malloc_counter~0.offset)| |__getMemory_#t~post28.offset|)} is VALID [2020-07-11 01:05:50,475 INFO L280 TraceCheckUtils]: 20: Hoare triple {5885#(= |old(~guard_malloc_counter~0.offset)| |__getMemory_#t~post28.offset|)} ~guard_malloc_counter~0.base, ~guard_malloc_counter~0.offset := #t~post28.base, 1 + #t~post28.offset; {5884#(<= (+ |old(~guard_malloc_counter~0.offset)| 1) ~guard_malloc_counter~0.offset)} is VALID [2020-07-11 01:05:50,476 INFO L280 TraceCheckUtils]: 21: Hoare triple {5884#(<= (+ |old(~guard_malloc_counter~0.offset)| 1) ~guard_malloc_counter~0.offset)} havoc #t~post28.base, #t~post28.offset; {5884#(<= (+ |old(~guard_malloc_counter~0.offset)| 1) ~guard_malloc_counter~0.offset)} is VALID [2020-07-11 01:05:50,476 INFO L280 TraceCheckUtils]: 22: Hoare triple {5884#(<= (+ |old(~guard_malloc_counter~0.offset)| 1) ~guard_malloc_counter~0.offset)} assume -2147483648 <= #t~nondet29 && #t~nondet29 <= 2147483647; {5884#(<= (+ |old(~guard_malloc_counter~0.offset)| 1) ~guard_malloc_counter~0.offset)} is VALID [2020-07-11 01:05:50,476 INFO L280 TraceCheckUtils]: 23: Hoare triple {5884#(<= (+ |old(~guard_malloc_counter~0.offset)| 1) ~guard_malloc_counter~0.offset)} assume !(0 == #t~nondet29); {5884#(<= (+ |old(~guard_malloc_counter~0.offset)| 1) ~guard_malloc_counter~0.offset)} is VALID [2020-07-11 01:05:50,477 INFO L280 TraceCheckUtils]: 24: Hoare triple {5884#(<= (+ |old(~guard_malloc_counter~0.offset)| 1) ~guard_malloc_counter~0.offset)} havoc #t~nondet29; {5884#(<= (+ |old(~guard_malloc_counter~0.offset)| 1) ~guard_malloc_counter~0.offset)} is VALID [2020-07-11 01:05:50,477 INFO L280 TraceCheckUtils]: 25: Hoare triple {5884#(<= (+ |old(~guard_malloc_counter~0.offset)| 1) ~guard_malloc_counter~0.offset)} #res.base, #res.offset := ~guard_malloc_counter~0.base, ~guard_malloc_counter~0.offset; {5884#(<= (+ |old(~guard_malloc_counter~0.offset)| 1) ~guard_malloc_counter~0.offset)} is VALID [2020-07-11 01:05:50,478 INFO L280 TraceCheckUtils]: 26: Hoare triple {5884#(<= (+ |old(~guard_malloc_counter~0.offset)| 1) ~guard_malloc_counter~0.offset)} assume true; {5884#(<= (+ |old(~guard_malloc_counter~0.offset)| 1) ~guard_malloc_counter~0.offset)} is VALID [2020-07-11 01:05:50,479 INFO L275 TraceCheckUtils]: 27: Hoare quadruple {5884#(<= (+ |old(~guard_malloc_counter~0.offset)| 1) ~guard_malloc_counter~0.offset)} {5872#(= ~guard_malloc_counter~0.offset |old(~guard_malloc_counter~0.offset)|)} #91#return; {5884#(<= (+ |old(~guard_malloc_counter~0.offset)| 1) ~guard_malloc_counter~0.offset)} is VALID [2020-07-11 01:05:50,479 INFO L280 TraceCheckUtils]: 28: Hoare triple {5884#(<= (+ |old(~guard_malloc_counter~0.offset)| 1) ~guard_malloc_counter~0.offset)} #res.base, #res.offset := #t~ret30.base, #t~ret30.offset; {5884#(<= (+ |old(~guard_malloc_counter~0.offset)| 1) ~guard_malloc_counter~0.offset)} is VALID [2020-07-11 01:05:50,479 INFO L280 TraceCheckUtils]: 29: Hoare triple {5884#(<= (+ |old(~guard_malloc_counter~0.offset)| 1) ~guard_malloc_counter~0.offset)} havoc #t~ret30.base, #t~ret30.offset; {5884#(<= (+ |old(~guard_malloc_counter~0.offset)| 1) ~guard_malloc_counter~0.offset)} is VALID [2020-07-11 01:05:50,480 INFO L280 TraceCheckUtils]: 30: Hoare triple {5884#(<= (+ |old(~guard_malloc_counter~0.offset)| 1) ~guard_malloc_counter~0.offset)} assume true; {5884#(<= (+ |old(~guard_malloc_counter~0.offset)| 1) ~guard_malloc_counter~0.offset)} is VALID [2020-07-11 01:05:50,480 INFO L275 TraceCheckUtils]: 31: Hoare quadruple {5884#(<= (+ |old(~guard_malloc_counter~0.offset)| 1) ~guard_malloc_counter~0.offset)} {5807#(= 0 ~guard_malloc_counter~0.offset)} #93#return; {5825#(<= 1 ~guard_malloc_counter~0.offset)} is VALID [2020-07-11 01:05:50,481 INFO L280 TraceCheckUtils]: 32: Hoare triple {5825#(<= 1 ~guard_malloc_counter~0.offset)} ~dev1~0.base, ~dev1~0.offset := #t~ret32.base, #t~ret32.offset; {5825#(<= 1 ~guard_malloc_counter~0.offset)} is VALID [2020-07-11 01:05:50,481 INFO L280 TraceCheckUtils]: 33: Hoare triple {5825#(<= 1 ~guard_malloc_counter~0.offset)} havoc #t~ret32.base, #t~ret32.offset; {5825#(<= 1 ~guard_malloc_counter~0.offset)} is VALID [2020-07-11 01:05:50,493 INFO L263 TraceCheckUtils]: 34: Hoare triple {5825#(<= 1 ~guard_malloc_counter~0.offset)} call #t~ret33.base, #t~ret33.offset := my_malloc(8); {5871#(and (= ~guard_malloc_counter~0.offset |old(~guard_malloc_counter~0.offset)|) (= ~guard_malloc_counter~0.base |old(~guard_malloc_counter~0.base)|))} is VALID [2020-07-11 01:05:50,494 INFO L280 TraceCheckUtils]: 35: Hoare triple {5871#(and (= ~guard_malloc_counter~0.offset |old(~guard_malloc_counter~0.offset)|) (= ~guard_malloc_counter~0.base |old(~guard_malloc_counter~0.base)|))} ~size := #in~size; {5872#(= ~guard_malloc_counter~0.offset |old(~guard_malloc_counter~0.offset)|)} is VALID [2020-07-11 01:05:50,495 INFO L263 TraceCheckUtils]: 36: Hoare triple {5872#(= ~guard_malloc_counter~0.offset |old(~guard_malloc_counter~0.offset)|)} call #t~ret30.base, #t~ret30.offset := __getMemory(~size); {5871#(and (= ~guard_malloc_counter~0.offset |old(~guard_malloc_counter~0.offset)|) (= ~guard_malloc_counter~0.base |old(~guard_malloc_counter~0.base)|))} is VALID [2020-07-11 01:05:50,495 INFO L280 TraceCheckUtils]: 37: Hoare triple {5871#(and (= ~guard_malloc_counter~0.offset |old(~guard_malloc_counter~0.offset)|) (= ~guard_malloc_counter~0.base |old(~guard_malloc_counter~0.base)|))} ~size := #in~size; {5872#(= ~guard_malloc_counter~0.offset |old(~guard_malloc_counter~0.offset)|)} is VALID [2020-07-11 01:05:50,496 INFO L280 TraceCheckUtils]: 38: Hoare triple {5872#(= ~guard_malloc_counter~0.offset |old(~guard_malloc_counter~0.offset)|)} assume ~size > 0; {5872#(= ~guard_malloc_counter~0.offset |old(~guard_malloc_counter~0.offset)|)} is VALID [2020-07-11 01:05:50,496 INFO L280 TraceCheckUtils]: 39: Hoare triple {5872#(= ~guard_malloc_counter~0.offset |old(~guard_malloc_counter~0.offset)|)} #t~post28.base, #t~post28.offset := ~guard_malloc_counter~0.base, ~guard_malloc_counter~0.offset; {5885#(= |old(~guard_malloc_counter~0.offset)| |__getMemory_#t~post28.offset|)} is VALID [2020-07-11 01:05:50,497 INFO L280 TraceCheckUtils]: 40: Hoare triple {5885#(= |old(~guard_malloc_counter~0.offset)| |__getMemory_#t~post28.offset|)} ~guard_malloc_counter~0.base, ~guard_malloc_counter~0.offset := #t~post28.base, 1 + #t~post28.offset; {5884#(<= (+ |old(~guard_malloc_counter~0.offset)| 1) ~guard_malloc_counter~0.offset)} is VALID [2020-07-11 01:05:50,498 INFO L280 TraceCheckUtils]: 41: Hoare triple {5884#(<= (+ |old(~guard_malloc_counter~0.offset)| 1) ~guard_malloc_counter~0.offset)} havoc #t~post28.base, #t~post28.offset; {5884#(<= (+ |old(~guard_malloc_counter~0.offset)| 1) ~guard_malloc_counter~0.offset)} is VALID [2020-07-11 01:05:50,499 INFO L280 TraceCheckUtils]: 42: Hoare triple {5884#(<= (+ |old(~guard_malloc_counter~0.offset)| 1) ~guard_malloc_counter~0.offset)} assume -2147483648 <= #t~nondet29 && #t~nondet29 <= 2147483647; {5884#(<= (+ |old(~guard_malloc_counter~0.offset)| 1) ~guard_malloc_counter~0.offset)} is VALID [2020-07-11 01:05:50,499 INFO L280 TraceCheckUtils]: 43: Hoare triple {5884#(<= (+ |old(~guard_malloc_counter~0.offset)| 1) ~guard_malloc_counter~0.offset)} assume !(0 == #t~nondet29); {5884#(<= (+ |old(~guard_malloc_counter~0.offset)| 1) ~guard_malloc_counter~0.offset)} is VALID [2020-07-11 01:05:50,500 INFO L280 TraceCheckUtils]: 44: Hoare triple {5884#(<= (+ |old(~guard_malloc_counter~0.offset)| 1) ~guard_malloc_counter~0.offset)} havoc #t~nondet29; {5884#(<= (+ |old(~guard_malloc_counter~0.offset)| 1) ~guard_malloc_counter~0.offset)} is VALID [2020-07-11 01:05:50,500 INFO L280 TraceCheckUtils]: 45: Hoare triple {5884#(<= (+ |old(~guard_malloc_counter~0.offset)| 1) ~guard_malloc_counter~0.offset)} #res.base, #res.offset := ~guard_malloc_counter~0.base, ~guard_malloc_counter~0.offset; {5899#(<= (+ |old(~guard_malloc_counter~0.offset)| 1) |__getMemory_#res.offset|)} is VALID [2020-07-11 01:05:50,501 INFO L280 TraceCheckUtils]: 46: Hoare triple {5899#(<= (+ |old(~guard_malloc_counter~0.offset)| 1) |__getMemory_#res.offset|)} assume true; {5899#(<= (+ |old(~guard_malloc_counter~0.offset)| 1) |__getMemory_#res.offset|)} is VALID [2020-07-11 01:05:50,502 INFO L275 TraceCheckUtils]: 47: Hoare quadruple {5899#(<= (+ |old(~guard_malloc_counter~0.offset)| 1) |__getMemory_#res.offset|)} {5872#(= ~guard_malloc_counter~0.offset |old(~guard_malloc_counter~0.offset)|)} #91#return; {5897#(<= (+ |old(~guard_malloc_counter~0.offset)| 1) |my_malloc_#t~ret30.offset|)} is VALID [2020-07-11 01:05:50,502 INFO L280 TraceCheckUtils]: 48: Hoare triple {5897#(<= (+ |old(~guard_malloc_counter~0.offset)| 1) |my_malloc_#t~ret30.offset|)} #res.base, #res.offset := #t~ret30.base, #t~ret30.offset; {5898#(<= (+ |old(~guard_malloc_counter~0.offset)| 1) |my_malloc_#res.offset|)} is VALID [2020-07-11 01:05:50,502 INFO L280 TraceCheckUtils]: 49: Hoare triple {5898#(<= (+ |old(~guard_malloc_counter~0.offset)| 1) |my_malloc_#res.offset|)} havoc #t~ret30.base, #t~ret30.offset; {5898#(<= (+ |old(~guard_malloc_counter~0.offset)| 1) |my_malloc_#res.offset|)} is VALID [2020-07-11 01:05:50,503 INFO L280 TraceCheckUtils]: 50: Hoare triple {5898#(<= (+ |old(~guard_malloc_counter~0.offset)| 1) |my_malloc_#res.offset|)} assume true; {5898#(<= (+ |old(~guard_malloc_counter~0.offset)| 1) |my_malloc_#res.offset|)} is VALID [2020-07-11 01:05:50,504 INFO L275 TraceCheckUtils]: 51: Hoare quadruple {5898#(<= (+ |old(~guard_malloc_counter~0.offset)| 1) |my_malloc_#res.offset|)} {5825#(<= 1 ~guard_malloc_counter~0.offset)} #95#return; {5843#(<= 2 |main_#t~ret33.offset|)} is VALID [2020-07-11 01:05:50,505 INFO L280 TraceCheckUtils]: 52: Hoare triple {5843#(<= 2 |main_#t~ret33.offset|)} ~dev2~0.base, ~dev2~0.offset := #t~ret33.base, #t~ret33.offset; {5844#(<= 2 main_~dev2~0.offset)} is VALID [2020-07-11 01:05:50,505 INFO L280 TraceCheckUtils]: 53: Hoare triple {5844#(<= 2 main_~dev2~0.offset)} havoc #t~ret33.base, #t~ret33.offset; {5844#(<= 2 main_~dev2~0.offset)} is VALID [2020-07-11 01:05:50,506 INFO L280 TraceCheckUtils]: 54: Hoare triple {5844#(<= 2 main_~dev2~0.offset)} assume (~dev1~0.base != 0 || ~dev1~0.offset != 0) && (~dev2~0.base != 0 || ~dev2~0.offset != 0); {5844#(<= 2 main_~dev2~0.offset)} is VALID [2020-07-11 01:05:50,506 INFO L263 TraceCheckUtils]: 55: Hoare triple {5844#(<= 2 main_~dev2~0.offset)} call list_add(~dev2~0.base, ~dev2~0.offset, ~#head~0.base, ~#head~0.offset); {5900#(and (= ~elem~0.base |old(~elem~0.base)|) (= ~elem~0.offset |old(~elem~0.offset)|))} is VALID [2020-07-11 01:05:50,506 INFO L280 TraceCheckUtils]: 56: Hoare triple {5900#(and (= ~elem~0.base |old(~elem~0.base)|) (= ~elem~0.offset |old(~elem~0.offset)|))} ~new.base, ~new.offset := #in~new.base, #in~new.offset; {5795#true} is VALID [2020-07-11 01:05:50,507 INFO L280 TraceCheckUtils]: 57: Hoare triple {5795#true} ~head.base, ~head.offset := #in~head.base, #in~head.offset; {5795#true} is VALID [2020-07-11 01:05:50,507 INFO L280 TraceCheckUtils]: 58: Hoare triple {5795#true} assume ~new.base != ~elem~0.base || ~new.offset != ~elem~0.offset; {5795#true} is VALID [2020-07-11 01:05:50,507 INFO L280 TraceCheckUtils]: 59: Hoare triple {5795#true} assume -2147483648 <= #t~nondet31 && #t~nondet31 <= 2147483647; {5795#true} is VALID [2020-07-11 01:05:50,507 INFO L280 TraceCheckUtils]: 60: Hoare triple {5795#true} assume 0 != #t~nondet31; {5795#true} is VALID [2020-07-11 01:05:50,507 INFO L280 TraceCheckUtils]: 61: Hoare triple {5795#true} havoc #t~nondet31; {5795#true} is VALID [2020-07-11 01:05:50,507 INFO L280 TraceCheckUtils]: 62: Hoare triple {5795#true} ~elem~0.base, ~elem~0.offset := ~new.base, ~new.offset; {5795#true} is VALID [2020-07-11 01:05:50,508 INFO L280 TraceCheckUtils]: 63: Hoare triple {5795#true} assume true; {5795#true} is VALID [2020-07-11 01:05:50,509 INFO L275 TraceCheckUtils]: 64: Hoare quadruple {5795#true} {5844#(<= 2 main_~dev2~0.offset)} #97#return; {5844#(<= 2 main_~dev2~0.offset)} is VALID [2020-07-11 01:05:50,510 INFO L263 TraceCheckUtils]: 65: Hoare triple {5844#(<= 2 main_~dev2~0.offset)} call list_add(~dev1~0.base, ~dev1~0.offset, ~#head~0.base, ~#head~0.offset); {5900#(and (= ~elem~0.base |old(~elem~0.base)|) (= ~elem~0.offset |old(~elem~0.offset)|))} is VALID [2020-07-11 01:05:50,510 INFO L280 TraceCheckUtils]: 66: Hoare triple {5900#(and (= ~elem~0.base |old(~elem~0.base)|) (= ~elem~0.offset |old(~elem~0.offset)|))} ~new.base, ~new.offset := #in~new.base, #in~new.offset; {5795#true} is VALID [2020-07-11 01:05:50,510 INFO L280 TraceCheckUtils]: 67: Hoare triple {5795#true} ~head.base, ~head.offset := #in~head.base, #in~head.offset; {5795#true} is VALID [2020-07-11 01:05:50,510 INFO L280 TraceCheckUtils]: 68: Hoare triple {5795#true} assume ~new.base != ~elem~0.base || ~new.offset != ~elem~0.offset; {5795#true} is VALID [2020-07-11 01:05:50,510 INFO L280 TraceCheckUtils]: 69: Hoare triple {5795#true} assume -2147483648 <= #t~nondet31 && #t~nondet31 <= 2147483647; {5795#true} is VALID [2020-07-11 01:05:50,510 INFO L280 TraceCheckUtils]: 70: Hoare triple {5795#true} assume !(0 != #t~nondet31); {5795#true} is VALID [2020-07-11 01:05:50,510 INFO L280 TraceCheckUtils]: 71: Hoare triple {5795#true} havoc #t~nondet31; {5795#true} is VALID [2020-07-11 01:05:50,511 INFO L280 TraceCheckUtils]: 72: Hoare triple {5795#true} assume true; {5795#true} is VALID [2020-07-11 01:05:50,517 INFO L275 TraceCheckUtils]: 73: Hoare quadruple {5795#true} {5844#(<= 2 main_~dev2~0.offset)} #99#return; {5844#(<= 2 main_~dev2~0.offset)} is VALID [2020-07-11 01:05:50,517 INFO L263 TraceCheckUtils]: 74: Hoare triple {5844#(<= 2 main_~dev2~0.offset)} call list_del(~dev2~0.base, ~dev2~0.offset); {5900#(and (= ~elem~0.base |old(~elem~0.base)|) (= ~elem~0.offset |old(~elem~0.offset)|))} is VALID [2020-07-11 01:05:50,518 INFO L280 TraceCheckUtils]: 75: Hoare triple {5900#(and (= ~elem~0.base |old(~elem~0.base)|) (= ~elem~0.offset |old(~elem~0.offset)|))} ~entry.base, ~entry.offset := #in~entry.base, #in~entry.offset; {5795#true} is VALID [2020-07-11 01:05:50,518 INFO L280 TraceCheckUtils]: 76: Hoare triple {5795#true} assume ~entry.base == ~elem~0.base && ~entry.offset == ~elem~0.offset; {5795#true} is VALID [2020-07-11 01:05:50,518 INFO L280 TraceCheckUtils]: 77: Hoare triple {5795#true} ~elem~0.base, ~elem~0.offset := 0, 0; {5901#(= 0 ~elem~0.offset)} is VALID [2020-07-11 01:05:50,519 INFO L280 TraceCheckUtils]: 78: Hoare triple {5901#(= 0 ~elem~0.offset)} assume true; {5901#(= 0 ~elem~0.offset)} is VALID [2020-07-11 01:05:50,519 INFO L275 TraceCheckUtils]: 79: Hoare quadruple {5901#(= 0 ~elem~0.offset)} {5844#(<= 2 main_~dev2~0.offset)} #101#return; {5867#(and (= 0 ~elem~0.offset) (<= 2 main_~dev2~0.offset))} is VALID [2020-07-11 01:05:50,520 INFO L263 TraceCheckUtils]: 80: Hoare triple {5867#(and (= 0 ~elem~0.offset) (<= 2 main_~dev2~0.offset))} call list_add(~dev2~0.base, ~dev2~0.offset, ~#head~0.base, ~#head~0.offset); {5868#(and (= 0 ~elem~0.offset) (<= 2 |list_add_#in~new.offset|))} is VALID [2020-07-11 01:05:50,521 INFO L280 TraceCheckUtils]: 81: Hoare triple {5868#(and (= 0 ~elem~0.offset) (<= 2 |list_add_#in~new.offset|))} ~new.base, ~new.offset := #in~new.base, #in~new.offset; {5869#(and (= 0 ~elem~0.offset) (not (= 0 list_add_~new.offset)))} is VALID [2020-07-11 01:05:50,521 INFO L280 TraceCheckUtils]: 82: Hoare triple {5869#(and (= 0 ~elem~0.offset) (not (= 0 list_add_~new.offset)))} ~head.base, ~head.offset := #in~head.base, #in~head.offset; {5869#(and (= 0 ~elem~0.offset) (not (= 0 list_add_~new.offset)))} is VALID [2020-07-11 01:05:50,521 INFO L280 TraceCheckUtils]: 83: Hoare triple {5869#(and (= 0 ~elem~0.offset) (not (= 0 list_add_~new.offset)))} assume !(~new.base != ~elem~0.base || ~new.offset != ~elem~0.offset); {5796#false} is VALID [2020-07-11 01:05:50,522 INFO L263 TraceCheckUtils]: 84: Hoare triple {5796#false} call __blast_assert(); {5796#false} is VALID [2020-07-11 01:05:50,522 INFO L280 TraceCheckUtils]: 85: Hoare triple {5796#false} assume !false; {5796#false} is VALID [2020-07-11 01:05:50,530 INFO L134 CoverageAnalysis]: Checked inductivity of 30 backedges. 4 proven. 8 refuted. 0 times theorem prover too weak. 18 trivial. 0 not checked. [2020-07-11 01:05:50,530 INFO L354 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModulePreferences [1638399161] [2020-07-11 01:05:50,530 INFO L220 FreeRefinementEngine]: Constructing automaton from 0 perfect and 1 imperfect interpolant sequences. [2020-07-11 01:05:50,530 INFO L233 FreeRefinementEngine]: Number of different interpolants: perfect sequences [] imperfect sequences [19] total 19 [2020-07-11 01:05:50,530 INFO L156 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [1733943579] [2020-07-11 01:05:50,531 INFO L78 Accepts]: Start accepts. Automaton has 19 states. Word has length 86 [2020-07-11 01:05:50,531 INFO L84 Accepts]: Finished accepts. word is accepted. [2020-07-11 01:05:50,531 INFO L86 InductivityCheck]: Starting indutivity check of a Floyd-Hoare automaton with 19 states. [2020-07-11 01:05:50,618 INFO L119 InductivityCheck]: Floyd-Hoare automaton has 71 edges. 71 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2020-07-11 01:05:50,618 INFO L459 AbstractCegarLoop]: Interpolant automaton has 19 states [2020-07-11 01:05:50,619 INFO L143 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy FIXED_PREFERENCES [2020-07-11 01:05:50,619 INFO L142 InterpolantAutomaton]: Constructing interpolant automaton starting with 19 interpolants. [2020-07-11 01:05:50,619 INFO L144 InterpolantAutomaton]: CoverageRelationStatistics Valid=43, Invalid=299, Unknown=0, NotChecked=0, Total=342 [2020-07-11 01:05:50,619 INFO L87 Difference]: Start difference. First operand 70 states and 71 transitions. Second operand 19 states. [2020-07-11 01:05:54,132 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2020-07-11 01:05:54,132 INFO L93 Difference]: Finished difference Result 78 states and 80 transitions. [2020-07-11 01:05:54,132 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 26 states. [2020-07-11 01:05:54,132 INFO L78 Accepts]: Start accepts. Automaton has 19 states. Word has length 86 [2020-07-11 01:05:54,133 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2020-07-11 01:05:54,133 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 19 states. [2020-07-11 01:05:54,135 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 26 states to 26 states and 78 transitions. [2020-07-11 01:05:54,135 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 19 states. [2020-07-11 01:05:54,136 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 26 states to 26 states and 78 transitions. [2020-07-11 01:05:54,136 INFO L86 InductivityCheck]: Starting indutivity check of a Floyd-Hoare automaton with 26 states and 78 transitions. [2020-07-11 01:05:54,291 INFO L119 InductivityCheck]: Floyd-Hoare automaton has 78 edges. 78 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2020-07-11 01:05:54,292 INFO L225 Difference]: With dead ends: 78 [2020-07-11 01:05:54,292 INFO L226 Difference]: Without dead ends: 0 [2020-07-11 01:05:54,294 INFO L675 BasicCegarLoop]: 0 DeclaredPredicates, 59 GetRequests, 19 SyntacticMatches, 0 SemanticMatches, 40 ConstructedPredicates, 0 IntricatePredicates, 0 DeprecatedPredicates, 279 ImplicationChecksByTransitivity, 1.0s TimeCoverageRelationStatistics Valid=253, Invalid=1469, Unknown=0, NotChecked=0, Total=1722 [2020-07-11 01:05:54,294 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 0 states. [2020-07-11 01:05:54,294 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 0 to 0. [2020-07-11 01:05:54,295 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2020-07-11 01:05:54,295 INFO L82 GeneralOperation]: Start isEquivalent. First operand 0 states. Second operand 0 states. [2020-07-11 01:05:54,295 INFO L74 IsIncluded]: Start isIncluded. First operand 0 states. Second operand 0 states. [2020-07-11 01:05:54,295 INFO L87 Difference]: Start difference. First operand 0 states. Second operand 0 states. [2020-07-11 01:05:54,295 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2020-07-11 01:05:54,295 INFO L93 Difference]: Finished difference Result 0 states and 0 transitions. [2020-07-11 01:05:54,295 INFO L276 IsEmpty]: Start isEmpty. Operand 0 states and 0 transitions. [2020-07-11 01:05:54,296 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2020-07-11 01:05:54,296 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2020-07-11 01:05:54,296 INFO L74 IsIncluded]: Start isIncluded. First operand 0 states. Second operand 0 states. [2020-07-11 01:05:54,296 INFO L87 Difference]: Start difference. First operand 0 states. Second operand 0 states. [2020-07-11 01:05:54,296 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2020-07-11 01:05:54,296 INFO L93 Difference]: Finished difference Result 0 states and 0 transitions. [2020-07-11 01:05:54,296 INFO L276 IsEmpty]: Start isEmpty. Operand 0 states and 0 transitions. [2020-07-11 01:05:54,296 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2020-07-11 01:05:54,296 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2020-07-11 01:05:54,296 INFO L88 GeneralOperation]: Finished isEquivalent. [2020-07-11 01:05:54,296 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2020-07-11 01:05:54,297 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 0 states. [2020-07-11 01:05:54,297 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 0 states to 0 states and 0 transitions. [2020-07-11 01:05:54,297 INFO L78 Accepts]: Start accepts. Automaton has 0 states and 0 transitions. Word has length 86 [2020-07-11 01:05:54,297 INFO L84 Accepts]: Finished accepts. word is rejected. [2020-07-11 01:05:54,297 INFO L479 AbstractCegarLoop]: Abstraction has 0 states and 0 transitions. [2020-07-11 01:05:54,297 INFO L480 AbstractCegarLoop]: Interpolant automaton has 19 states. [2020-07-11 01:05:54,297 INFO L86 InductivityCheck]: Starting indutivity check of a Floyd-Hoare automaton with 0 states and 0 transitions. [2020-07-11 01:05:54,297 INFO L119 InductivityCheck]: Floyd-Hoare automaton has 0 edges. 0 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2020-07-11 01:05:54,297 INFO L276 IsEmpty]: Start isEmpty. Operand 0 states and 0 transitions. [2020-07-11 01:05:54,297 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2020-07-11 01:05:54,298 WARN L516 AbstractCegarLoop]: Destroyed unattended storables created during the last iteration: SelfDestructingSolverStorable9 [2020-07-11 01:05:54,299 INFO L343 DoubleDeckerVisitor]: Before removal of dead ends 0 states and 0 transitions. [2020-07-11 01:05:55,466 WARN L193 SmtUtils]: Spent 108.00 ms on a formula simplification. DAG size of input: 33 DAG size of output: 24 [2020-07-11 01:05:56,045 WARN L193 SmtUtils]: Spent 230.00 ms on a formula simplification. DAG size of input: 57 DAG size of output: 37 [2020-07-11 01:05:56,258 WARN L193 SmtUtils]: Spent 173.00 ms on a formula simplification. DAG size of input: 64 DAG size of output: 33 [2020-07-11 01:05:56,376 WARN L193 SmtUtils]: Spent 106.00 ms on a formula simplification. DAG size of input: 51 DAG size of output: 28 [2020-07-11 01:05:56,879 WARN L193 SmtUtils]: Spent 177.00 ms on a formula simplification. DAG size of input: 42 DAG size of output: 33 [2020-07-11 01:05:57,023 WARN L193 SmtUtils]: Spent 132.00 ms on a formula simplification. DAG size of input: 47 DAG size of output: 24 [2020-07-11 01:05:57,269 WARN L193 SmtUtils]: Spent 170.00 ms on a formula simplification. DAG size of input: 64 DAG size of output: 33 [2020-07-11 01:05:57,649 WARN L193 SmtUtils]: Spent 153.00 ms on a formula simplification. DAG size of input: 61 DAG size of output: 36 [2020-07-11 01:05:57,759 WARN L193 SmtUtils]: Spent 105.00 ms on a formula simplification. DAG size of input: 34 DAG size of output: 34 [2020-07-11 01:05:58,186 WARN L193 SmtUtils]: Spent 171.00 ms on a formula simplification. DAG size of input: 42 DAG size of output: 33 [2020-07-11 01:05:58,511 WARN L193 SmtUtils]: Spent 216.00 ms on a formula simplification. DAG size of input: 46 DAG size of output: 36 [2020-07-11 01:05:58,781 WARN L193 SmtUtils]: Spent 143.00 ms on a formula simplification. DAG size of input: 61 DAG size of output: 36 [2020-07-11 01:05:58,957 WARN L193 SmtUtils]: Spent 108.00 ms on a formula simplification. DAG size of input: 57 DAG size of output: 33 [2020-07-11 01:05:59,185 WARN L193 SmtUtils]: Spent 212.00 ms on a formula simplification. DAG size of input: 46 DAG size of output: 36 [2020-07-11 01:05:59,360 WARN L193 SmtUtils]: Spent 141.00 ms on a formula simplification. DAG size of input: 61 DAG size of output: 37 [2020-07-11 01:05:59,606 WARN L193 SmtUtils]: Spent 237.00 ms on a formula simplification. DAG size of input: 46 DAG size of output: 36 [2020-07-11 01:05:59,821 WARN L193 SmtUtils]: Spent 204.00 ms on a formula simplification. DAG size of input: 54 DAG size of output: 44 [2020-07-11 01:06:00,096 WARN L193 SmtUtils]: Spent 233.00 ms on a formula simplification. DAG size of input: 57 DAG size of output: 37 [2020-07-11 01:06:00,433 WARN L193 SmtUtils]: Spent 104.00 ms on a formula simplification. DAG size of input: 54 DAG size of output: 14 [2020-07-11 01:06:00,698 WARN L193 SmtUtils]: Spent 108.00 ms on a formula simplification. DAG size of input: 57 DAG size of output: 33 [2020-07-11 01:06:00,863 WARN L193 SmtUtils]: Spent 156.00 ms on a formula simplification. DAG size of input: 52 DAG size of output: 26 [2020-07-11 01:06:01,205 WARN L193 SmtUtils]: Spent 157.00 ms on a formula simplification. DAG size of input: 52 DAG size of output: 26 [2020-07-11 01:06:01,210 INFO L264 CegarLoopResult]: At program point my_mallocFINAL(lines 878 880) the Hoare annotation is: (let ((.cse0 (not (= 8 |my_malloc_#in~size|))) (.cse4 (not (<= 1 |old(~guard_malloc_counter~0.offset)|)))) (let ((.cse1 (+ |old(~guard_malloc_counter~0.offset)| 1)) (.cse2 (and (or (not (= 0 |old(~guard_malloc_counter~0.offset)|)) .cse0) (or .cse0 .cse4))) (.cse3 (not (= 0 ~elem~0.offset)))) (and (or .cse0 (= 8 my_malloc_~size)) (or (and (<= |my_malloc_#res.offset| ~guard_malloc_counter~0.offset) (<= .cse1 |my_malloc_#res.offset|)) .cse2 .cse3 (and (<= |my_malloc_#res.base| 0) (<= |my_malloc_#res.offset| 0) (<= 0 |my_malloc_#res.base|) (<= 0 |my_malloc_#res.offset|))) (or (<= .cse1 ~guard_malloc_counter~0.offset) .cse2 .cse4 .cse3)))) [2020-07-11 01:06:01,210 INFO L264 CegarLoopResult]: At program point L879(line 879) the Hoare annotation is: (or (not (= 8 |my_malloc_#in~size|)) (and (= 8 my_malloc_~size) (= ~guard_malloc_counter~0.offset |old(~guard_malloc_counter~0.offset)|) (= ~guard_malloc_counter~0.base |old(~guard_malloc_counter~0.base)|))) [2020-07-11 01:06:01,211 INFO L264 CegarLoopResult]: At program point L879-1(line 879) the Hoare annotation is: (let ((.cse0 (not (= 8 |my_malloc_#in~size|))) (.cse4 (not (<= 1 |old(~guard_malloc_counter~0.offset)|)))) (let ((.cse2 (+ |old(~guard_malloc_counter~0.offset)| 1)) (.cse1 (and (or (not (= 0 |old(~guard_malloc_counter~0.offset)|)) .cse0) (or .cse0 .cse4))) (.cse3 (not (= 0 ~elem~0.offset)))) (and (or .cse0 (= 8 my_malloc_~size)) (or (and (<= |my_malloc_#t~ret30.offset| 0) (<= 0 |my_malloc_#t~ret30.offset|) (<= 0 |my_malloc_#t~ret30.base|) (<= |my_malloc_#t~ret30.base| 0)) .cse1 (and (<= .cse2 |my_malloc_#t~ret30.offset|) (<= |my_malloc_#t~ret30.offset| ~guard_malloc_counter~0.offset)) .cse3) (or (<= .cse2 ~guard_malloc_counter~0.offset) .cse1 .cse4 .cse3)))) [2020-07-11 01:06:01,211 INFO L264 CegarLoopResult]: At program point L879-2(line 879) the Hoare annotation is: (let ((.cse3 (not (= 8 |my_malloc_#in~size|))) (.cse4 (not (<= 1 |old(~guard_malloc_counter~0.offset)|)))) (let ((.cse2 (+ |old(~guard_malloc_counter~0.offset)| 1)) (.cse0 (and (or (not (= 0 |old(~guard_malloc_counter~0.offset)|)) .cse3) (or .cse3 .cse4))) (.cse1 (not (= 0 ~elem~0.offset)))) (and (or (and (<= |my_malloc_#res.base| 0) (<= |my_malloc_#res.offset| 0) (<= 0 |my_malloc_#res.base|) (<= |my_malloc_#t~ret30.offset| 0) (<= 0 |my_malloc_#res.offset|) (<= 0 |my_malloc_#t~ret30.offset|) (<= 0 |my_malloc_#t~ret30.base|) (<= |my_malloc_#t~ret30.base| 0)) .cse0 .cse1 (and (<= .cse2 |my_malloc_#t~ret30.offset|) (<= |my_malloc_#t~ret30.offset| ~guard_malloc_counter~0.offset) (<= |my_malloc_#res.offset| ~guard_malloc_counter~0.offset) (<= .cse2 |my_malloc_#res.offset|))) (or .cse3 (= 8 my_malloc_~size)) (or (<= .cse2 ~guard_malloc_counter~0.offset) .cse0 .cse4 .cse1)))) [2020-07-11 01:06:01,211 INFO L264 CegarLoopResult]: At program point my_mallocENTRY(lines 878 880) the Hoare annotation is: (or (not (= 8 |my_malloc_#in~size|)) (and (= ~guard_malloc_counter~0.offset |old(~guard_malloc_counter~0.offset)|) (= ~guard_malloc_counter~0.base |old(~guard_malloc_counter~0.base)|))) [2020-07-11 01:06:01,212 INFO L264 CegarLoopResult]: At program point my_mallocEXIT(lines 878 880) the Hoare annotation is: (let ((.cse0 (not (= 8 |my_malloc_#in~size|))) (.cse4 (not (<= 1 |old(~guard_malloc_counter~0.offset)|)))) (let ((.cse1 (+ |old(~guard_malloc_counter~0.offset)| 1)) (.cse2 (and (or (not (= 0 |old(~guard_malloc_counter~0.offset)|)) .cse0) (or .cse0 .cse4))) (.cse3 (not (= 0 ~elem~0.offset)))) (and (or .cse0 (= 8 my_malloc_~size)) (or (and (<= |my_malloc_#res.offset| ~guard_malloc_counter~0.offset) (<= .cse1 |my_malloc_#res.offset|)) .cse2 .cse3 (and (<= |my_malloc_#res.base| 0) (<= |my_malloc_#res.offset| 0) (<= 0 |my_malloc_#res.base|) (<= 0 |my_malloc_#res.offset|))) (or (<= .cse1 ~guard_malloc_counter~0.offset) .cse2 .cse4 .cse3)))) [2020-07-11 01:06:01,212 INFO L264 CegarLoopResult]: At program point L-1(line -1) the Hoare annotation is: (and (= ~elem~0.base |old(~elem~0.base)|) (= ~guard_malloc_counter~0.offset |old(~guard_malloc_counter~0.offset)|) (= ~elem~0.offset |old(~elem~0.offset)|) (= ~guard_malloc_counter~0.base |old(~guard_malloc_counter~0.base)|)) [2020-07-11 01:06:01,212 INFO L264 CegarLoopResult]: At program point L-1-1(line -1) the Hoare annotation is: (and (= ~elem~0.base |old(~elem~0.base)|) (= ~guard_malloc_counter~0.offset |old(~guard_malloc_counter~0.offset)|) (= ~elem~0.offset |old(~elem~0.offset)|) (= ~guard_malloc_counter~0.base |old(~guard_malloc_counter~0.base)|)) [2020-07-11 01:06:01,212 INFO L264 CegarLoopResult]: At program point ULTIMATE.initFINAL(line 900) the Hoare annotation is: (and (= 0 ~elem~0.offset) (= 0 ~guard_malloc_counter~0.offset)) [2020-07-11 01:06:01,212 INFO L264 CegarLoopResult]: At program point ULTIMATE.initENTRY(line -1) the Hoare annotation is: (and (= |#valid| |old(#valid)|) (= ~elem~0.base |old(~elem~0.base)|) (= |#NULL.base| |old(#NULL.base)|) (= |~#head~0.base| |old(~#head~0.base)|) (= ~guard_malloc_counter~0.offset |old(~guard_malloc_counter~0.offset)|) (= |#NULL.offset| |old(#NULL.offset)|) (= ~elem~0.offset |old(~elem~0.offset)|) (= |old(#length)| |#length|) (= |~#head~0.offset| |old(~#head~0.offset)|) (= ~guard_malloc_counter~0.base |old(~guard_malloc_counter~0.base)|)) [2020-07-11 01:06:01,212 INFO L264 CegarLoopResult]: At program point L887(line 887) the Hoare annotation is: (and (= ~elem~0.base |old(~elem~0.base)|) (= ~elem~0.offset |old(~elem~0.offset)|) (= 0 ~guard_malloc_counter~0.offset)) [2020-07-11 01:06:01,212 INFO L264 CegarLoopResult]: At program point L900(line 900) the Hoare annotation is: (and (= 0 ~elem~0.offset) (= 0 ~guard_malloc_counter~0.offset)) [2020-07-11 01:06:01,212 INFO L264 CegarLoopResult]: At program point L867(line 867) the Hoare annotation is: (and (= ~elem~0.base |old(~elem~0.base)|) (= ~guard_malloc_counter~0.offset |old(~guard_malloc_counter~0.offset)|) (= ~elem~0.offset |old(~elem~0.offset)|) (= ~guard_malloc_counter~0.base |old(~guard_malloc_counter~0.base)|)) [2020-07-11 01:06:01,212 INFO L264 CegarLoopResult]: At program point L900-1(line 900) the Hoare annotation is: (and (= 0 ~elem~0.offset) (= 0 ~guard_malloc_counter~0.offset)) [2020-07-11 01:06:01,213 INFO L264 CegarLoopResult]: At program point L900-2(line 900) the Hoare annotation is: (and (= 0 ~elem~0.offset) (= 0 ~guard_malloc_counter~0.offset)) [2020-07-11 01:06:01,213 INFO L264 CegarLoopResult]: At program point ULTIMATE.initEXIT(line -1) the Hoare annotation is: (and (= 0 ~elem~0.offset) (= 0 ~guard_malloc_counter~0.offset)) [2020-07-11 01:06:01,213 INFO L264 CegarLoopResult]: At program point L897(line 897) the Hoare annotation is: (and (= list_del_~entry.base |list_del_#in~entry.base|) (= |old(~elem~0.offset)| ~elem~0.offset) (= |list_del_#in~entry.offset| list_del_~entry.offset) (= |old(~elem~0.base)| ~elem~0.base) (= |old(~elem~0.offset)| |list_del_#in~entry.offset|)) [2020-07-11 01:06:01,213 INFO L264 CegarLoopResult]: At program point L896(lines 896 897) the Hoare annotation is: (and (= list_del_~entry.base |list_del_#in~entry.base|) (= |old(~elem~0.offset)| ~elem~0.offset) (= |list_del_#in~entry.offset| list_del_~entry.offset) (= |old(~elem~0.base)| ~elem~0.base)) [2020-07-11 01:06:01,213 INFO L264 CegarLoopResult]: At program point L896-2(lines 895 898) the Hoare annotation is: (let ((.cse0 (and (= |old(~elem~0.offset)| ~elem~0.offset) (= |old(~elem~0.base)| ~elem~0.base)))) (and (or .cse0 (= |old(~elem~0.offset)| |list_del_#in~entry.offset|)) (or .cse0 (= 0 ~elem~0.offset) (not (<= 1 ~guard_malloc_counter~0.offset))))) [2020-07-11 01:06:01,213 INFO L264 CegarLoopResult]: At program point list_delEXIT(lines 895 898) the Hoare annotation is: (let ((.cse0 (and (= |old(~elem~0.offset)| ~elem~0.offset) (= |old(~elem~0.base)| ~elem~0.base)))) (and (or .cse0 (= |old(~elem~0.offset)| |list_del_#in~entry.offset|)) (or .cse0 (= 0 ~elem~0.offset) (not (<= 1 ~guard_malloc_counter~0.offset))))) [2020-07-11 01:06:01,213 INFO L264 CegarLoopResult]: At program point list_delENTRY(lines 895 898) the Hoare annotation is: (and (= |old(~elem~0.offset)| ~elem~0.offset) (= |old(~elem~0.base)| ~elem~0.base)) [2020-07-11 01:06:01,213 INFO L264 CegarLoopResult]: At program point list_addENTRY(lines 889 893) the Hoare annotation is: (let ((.cse0 (and (= |old(~elem~0.offset)| ~elem~0.offset) (= |old(~elem~0.base)| ~elem~0.base)))) (and (or .cse0 (not (<= (+ |list_add_#in~new.offset| 1) |old(~elem~0.offset)|)) (not (<= 1 ~guard_malloc_counter~0.offset))) (or .cse0 (not (<= (+ |old(~elem~0.offset)| 1) |list_add_#in~new.offset|))))) [2020-07-11 01:06:01,214 INFO L264 CegarLoopResult]: At program point L892(line 892) the Hoare annotation is: (let ((.cse0 (= |old(~elem~0.offset)| ~elem~0.offset)) (.cse1 (= |old(~elem~0.base)| ~elem~0.base))) (let ((.cse2 (and (= list_add_~new.base |list_add_#in~new.base|) (= |list_add_#in~new.offset| list_add_~new.offset) .cse0 .cse1)) (.cse3 (not (<= 1 ~guard_malloc_counter~0.offset)))) (and (or (and .cse0 .cse1) (not (<= (+ |old(~elem~0.offset)| 1) |list_add_#in~new.offset|))) (or (not (<= (+ |list_add_#in~new.offset| 1) |old(~elem~0.offset)|)) .cse2 .cse3) (or (not (= |old(~elem~0.offset)| 0)) (not (<= 1 |list_add_#in~new.offset|)) .cse2 .cse3)))) [2020-07-11 01:06:01,214 INFO L264 CegarLoopResult]: At program point L891(lines 891 892) the Hoare annotation is: (let ((.cse0 (= list_add_~new.base |list_add_#in~new.base|)) (.cse1 (= |list_add_#in~new.offset| list_add_~new.offset)) (.cse3 (= |old(~elem~0.offset)| ~elem~0.offset)) (.cse4 (= |old(~elem~0.base)| ~elem~0.base)) (.cse2 (not (<= 1 ~guard_malloc_counter~0.offset)))) (and (or (not (= |old(~elem~0.offset)| 0)) (and .cse0 .cse1) (not (<= 1 |list_add_#in~new.offset|)) .cse2) (or (and .cse3 .cse4) (not (<= (+ |old(~elem~0.offset)| 1) |list_add_#in~new.offset|))) (or (not (<= (+ |list_add_#in~new.offset| 1) |old(~elem~0.offset)|)) (and .cse0 .cse1 .cse3 .cse4) .cse2))) [2020-07-11 01:06:01,214 INFO L264 CegarLoopResult]: At program point L890(line 890) the Hoare annotation is: (let ((.cse0 (= |list_add_#in~new.offset| list_add_~new.offset)) (.cse1 (= |old(~elem~0.offset)| ~elem~0.offset)) (.cse2 (= |old(~elem~0.base)| ~elem~0.base)) (.cse3 (= list_add_~new.base |list_add_#in~new.base|)) (.cse4 (not (<= 1 ~guard_malloc_counter~0.offset)))) (and (or (and .cse0 .cse1 .cse2) (not (<= (+ |old(~elem~0.offset)| 1) |list_add_#in~new.offset|))) (or (not (<= (+ |list_add_#in~new.offset| 1) |old(~elem~0.offset)|)) (and .cse3 .cse0 .cse1 .cse2) .cse4) (or .cse3 (not (= |old(~elem~0.offset)| 0)) (not (<= 1 |list_add_#in~new.offset|)) .cse4))) [2020-07-11 01:06:01,214 INFO L264 CegarLoopResult]: At program point L891-1(line 891) the Hoare annotation is: (let ((.cse0 (= |old(~elem~0.offset)| ~elem~0.offset)) (.cse1 (= |old(~elem~0.base)| ~elem~0.base))) (let ((.cse2 (and (= list_add_~new.base |list_add_#in~new.base|) (= |list_add_#in~new.offset| list_add_~new.offset) .cse0 .cse1)) (.cse3 (not (<= 1 ~guard_malloc_counter~0.offset)))) (and (or (and .cse0 .cse1) (not (<= (+ |old(~elem~0.offset)| 1) |list_add_#in~new.offset|))) (or (not (<= (+ |list_add_#in~new.offset| 1) |old(~elem~0.offset)|)) .cse2 .cse3) (or (not (= |old(~elem~0.offset)| 0)) (not (<= 1 |list_add_#in~new.offset|)) .cse2 .cse3)))) [2020-07-11 01:06:01,214 INFO L264 CegarLoopResult]: At program point L889(lines 889 893) the Hoare annotation is: (let ((.cse0 (= |list_add_#in~new.offset| list_add_~new.offset)) (.cse1 (= |old(~elem~0.offset)| ~elem~0.offset)) (.cse2 (= |old(~elem~0.base)| ~elem~0.base)) (.cse3 (= list_add_~new.base |list_add_#in~new.base|)) (.cse4 (not (<= 1 ~guard_malloc_counter~0.offset)))) (and (or (and .cse0 .cse1 .cse2) (not (<= (+ |old(~elem~0.offset)| 1) |list_add_#in~new.offset|))) (or (not (<= (+ |list_add_#in~new.offset| 1) |old(~elem~0.offset)|)) (and .cse3 .cse0 .cse1 .cse2) .cse4) (or .cse3 (not (= |old(~elem~0.offset)| 0)) (not (<= 1 |list_add_#in~new.offset|)) .cse4))) [2020-07-11 01:06:01,214 INFO L264 CegarLoopResult]: At program point L890-2(line 890) the Hoare annotation is: (and (not (<= (+ |old(~elem~0.offset)| 1) |list_add_#in~new.offset|)) (or (not (<= (+ |list_add_#in~new.offset| 1) |old(~elem~0.offset)|)) (not (<= 1 ~guard_malloc_counter~0.offset)))) [2020-07-11 01:06:01,214 INFO L264 CegarLoopResult]: At program point L891-3(line 891) the Hoare annotation is: (let ((.cse2 (= list_add_~new.base |list_add_#in~new.base|)) (.cse3 (= |list_add_#in~new.offset| list_add_~new.offset)) (.cse0 (= |old(~elem~0.offset)| ~elem~0.offset)) (.cse1 (= |old(~elem~0.base)| ~elem~0.base)) (.cse4 (not (<= 1 ~guard_malloc_counter~0.offset)))) (and (or (and .cse0 .cse1) (not (<= (+ |old(~elem~0.offset)| 1) |list_add_#in~new.offset|))) (or (not (= |old(~elem~0.offset)| 0)) (and .cse2 .cse3) (not (<= 2 |list_add_#in~new.offset|)) .cse4) (or (not (<= (+ |list_add_#in~new.offset| 1) |old(~elem~0.offset)|)) (and .cse2 .cse3 .cse0 .cse1) .cse4))) [2020-07-11 01:06:01,215 INFO L264 CegarLoopResult]: At program point L890-3(line 890) the Hoare annotation is: (let ((.cse0 (= list_add_~new.base |list_add_#in~new.base|)) (.cse1 (= |list_add_#in~new.offset| list_add_~new.offset)) (.cse3 (= |old(~elem~0.offset)| ~elem~0.offset)) (.cse4 (= |old(~elem~0.base)| ~elem~0.base)) (.cse2 (not (<= 1 ~guard_malloc_counter~0.offset)))) (and (or (not (= |old(~elem~0.offset)| 0)) (and .cse0 .cse1) (not (<= 1 |list_add_#in~new.offset|)) .cse2) (or (and .cse3 .cse4) (not (<= (+ |old(~elem~0.offset)| 1) |list_add_#in~new.offset|))) (or (not (<= (+ |list_add_#in~new.offset| 1) |old(~elem~0.offset)|)) (and .cse0 .cse1 .cse3 .cse4) .cse2))) [2020-07-11 01:06:01,215 INFO L264 CegarLoopResult]: At program point L891-4(lines 889 893) the Hoare annotation is: (let ((.cse5 (= list_add_~new.base |list_add_#in~new.base|)) (.cse6 (= |list_add_#in~new.offset| list_add_~new.offset))) (let ((.cse3 (and .cse5 .cse6 (= ~elem~0.base |list_add_#in~new.base|) (= ~elem~0.offset |list_add_#in~new.offset|))) (.cse0 (= |old(~elem~0.offset)| ~elem~0.offset)) (.cse1 (= |old(~elem~0.base)| ~elem~0.base)) (.cse2 (not (= |old(~elem~0.offset)| 0))) (.cse4 (not (<= 1 ~guard_malloc_counter~0.offset)))) (and (or (and .cse0 .cse1) .cse2 .cse3 (not (<= 1 |list_add_#in~new.offset|)) .cse4) (or (not (<= (+ |list_add_#in~new.offset| 1) |old(~elem~0.offset)|)) .cse3 (and .cse5 .cse6 .cse0 .cse1) .cse4) (or .cse2 (and .cse5 .cse6) (not (<= 2 |list_add_#in~new.offset|)) .cse4)))) [2020-07-11 01:06:01,215 INFO L264 CegarLoopResult]: At program point list_addEXIT(lines 889 893) the Hoare annotation is: (let ((.cse5 (= list_add_~new.base |list_add_#in~new.base|)) (.cse6 (= |list_add_#in~new.offset| list_add_~new.offset))) (let ((.cse3 (and .cse5 .cse6 (= ~elem~0.base |list_add_#in~new.base|) (= ~elem~0.offset |list_add_#in~new.offset|))) (.cse0 (= |old(~elem~0.offset)| ~elem~0.offset)) (.cse1 (= |old(~elem~0.base)| ~elem~0.base)) (.cse2 (not (= |old(~elem~0.offset)| 0))) (.cse4 (not (<= 1 ~guard_malloc_counter~0.offset)))) (and (or (and .cse0 .cse1) .cse2 .cse3 (not (<= 1 |list_add_#in~new.offset|)) .cse4) (or (not (<= (+ |list_add_#in~new.offset| 1) |old(~elem~0.offset)|)) .cse3 (and .cse5 .cse6 .cse0 .cse1) .cse4) (or .cse2 (and .cse5 .cse6) (not (<= 2 |list_add_#in~new.offset|)) .cse4)))) [2020-07-11 01:06:01,215 INFO L271 CegarLoopResult]: At program point __blast_assertErr0ASSERT_VIOLATIONERROR_FUNCTION(line 6) the Hoare annotation is: true [2020-07-11 01:06:01,215 INFO L271 CegarLoopResult]: At program point __blast_assertEXIT(lines 4 7) the Hoare annotation is: true [2020-07-11 01:06:01,215 INFO L271 CegarLoopResult]: At program point __blast_assertFINAL(lines 4 7) the Hoare annotation is: true [2020-07-11 01:06:01,215 INFO L271 CegarLoopResult]: At program point __blast_assertENTRY(lines 4 7) the Hoare annotation is: true [2020-07-11 01:06:01,216 INFO L271 CegarLoopResult]: At program point ULTIMATE.startEXIT(line -1) the Hoare annotation is: true [2020-07-11 01:06:01,216 INFO L264 CegarLoopResult]: At program point L-1(line -1) the Hoare annotation is: (and (= 0 ~elem~0.offset) (= 0 ~guard_malloc_counter~0.offset)) [2020-07-11 01:06:01,216 INFO L271 CegarLoopResult]: At program point ULTIMATE.startENTRY(line -1) the Hoare annotation is: true [2020-07-11 01:06:01,216 INFO L271 CegarLoopResult]: At program point ULTIMATE.startFINAL(line -1) the Hoare annotation is: true [2020-07-11 01:06:01,216 INFO L264 CegarLoopResult]: At program point mainENTRY(lines 902 917) the Hoare annotation is: (or (not (= 0 |old(~guard_malloc_counter~0.offset)|)) (and (= |old(~elem~0.offset)| ~elem~0.offset) (= 0 ~guard_malloc_counter~0.offset) (= |old(~elem~0.base)| ~elem~0.base) (= ~guard_malloc_counter~0.base |old(~guard_malloc_counter~0.base)|)) (not (= |old(~elem~0.offset)| 0))) [2020-07-11 01:06:01,216 INFO L271 CegarLoopResult]: At program point mainEXIT(lines 902 917) the Hoare annotation is: true [2020-07-11 01:06:01,216 INFO L264 CegarLoopResult]: At program point L909(line 909) the Hoare annotation is: (or (not (= 0 |old(~guard_malloc_counter~0.offset)|)) (not (= |old(~elem~0.offset)| 0)) (and (<= (+ |old(~guard_malloc_counter~0.offset)| 1) ~guard_malloc_counter~0.offset) (<= main_~dev1~0.offset ~guard_malloc_counter~0.offset) (<= (+ main_~dev1~0.offset 1) main_~dev2~0.offset) (<= (+ ~elem~0.offset 1) main_~dev2~0.offset)) (and (= 0 ~elem~0.offset) (<= 2 main_~dev2~0.offset) (<= 1 ~guard_malloc_counter~0.offset))) [2020-07-11 01:06:01,216 INFO L271 CegarLoopResult]: At program point mainFINAL(lines 902 917) the Hoare annotation is: true [2020-07-11 01:06:01,217 INFO L264 CegarLoopResult]: At program point L908(line 908) the Hoare annotation is: (let ((.cse1 (<= (+ ~elem~0.offset 1) main_~dev2~0.offset))) (let ((.cse0 (<= (+ main_~dev1~0.offset 1) main_~dev2~0.offset)) (.cse3 (<= 2 main_~dev2~0.offset)) (.cse2 (let ((.cse4 (<= (+ |old(~guard_malloc_counter~0.offset)| 1) ~guard_malloc_counter~0.offset)) (.cse5 (<= main_~dev1~0.offset ~guard_malloc_counter~0.offset))) (or (and .cse4 .cse5 .cse1) (and .cse4 (= main_~dev2~0.base ~elem~0.base) .cse5 (= main_~dev2~0.offset ~elem~0.offset)))))) (or (not (= 0 |old(~guard_malloc_counter~0.offset)|)) (and .cse0 .cse1 .cse2) (not (= |old(~elem~0.offset)| 0)) (and (= 0 ~elem~0.offset) .cse3 (<= 1 ~guard_malloc_counter~0.offset)) (and .cse0 .cse3 .cse2)))) [2020-07-11 01:06:01,217 INFO L264 CegarLoopResult]: At program point L907(line 907) the Hoare annotation is: (or (not (= 0 |old(~guard_malloc_counter~0.offset)|)) (not (= |old(~elem~0.offset)| 0)) (and (<= 1 main_~dev1~0.offset) (<= main_~dev1~0.offset ~guard_malloc_counter~0.offset) (<= (+ main_~dev1~0.offset 1) main_~dev2~0.offset) (= |old(~elem~0.offset)| ~elem~0.offset) (= |old(~elem~0.base)| ~elem~0.base))) [2020-07-11 01:06:01,217 INFO L264 CegarLoopResult]: At program point L906(lines 906 915) the Hoare annotation is: (or (not (= 0 |old(~guard_malloc_counter~0.offset)|)) (and (= 0 main_~dev1~0.base) (= 0 main_~dev1~0.offset)) (and (= 0 main_~dev2~0.offset) (= 0 ~elem~0.offset) (= main_~dev2~0.base 0) (<= 1 ~guard_malloc_counter~0.offset)) (not (= |old(~elem~0.offset)| 0)) (and (<= 1 main_~dev1~0.offset) (<= main_~dev1~0.offset ~guard_malloc_counter~0.offset) (<= (+ main_~dev1~0.offset 1) main_~dev2~0.offset) (= |old(~elem~0.offset)| ~elem~0.offset) (= |old(~elem~0.base)| ~elem~0.base))) [2020-07-11 01:06:01,217 INFO L264 CegarLoopResult]: At program point L907-1(line 907) the Hoare annotation is: (let ((.cse0 (<= main_~dev1~0.offset ~guard_malloc_counter~0.offset)) (.cse1 (<= (+ main_~dev1~0.offset 1) main_~dev2~0.offset))) (or (not (= 0 |old(~guard_malloc_counter~0.offset)|)) (not (= |old(~elem~0.offset)| 0)) (and (= main_~dev2~0.base ~elem~0.base) .cse0 .cse1 (<= 2 main_~dev2~0.offset) (= main_~dev2~0.offset ~elem~0.offset) (<= 1 ~guard_malloc_counter~0.offset)) (and (<= 1 main_~dev1~0.offset) .cse0 .cse1 (= |old(~elem~0.offset)| ~elem~0.offset) (= |old(~elem~0.base)| ~elem~0.base)))) [2020-07-11 01:06:01,217 INFO L264 CegarLoopResult]: At program point L905(line 905) the Hoare annotation is: (or (not (= 0 |old(~guard_malloc_counter~0.offset)|)) (and (= 0 main_~dev1~0.base) (= 0 main_~dev1~0.offset)) (and (<= 1 main_~dev1~0.offset) (<= main_~dev1~0.offset ~guard_malloc_counter~0.offset) (= |old(~elem~0.offset)| ~elem~0.offset) (= |old(~elem~0.base)| ~elem~0.base)) (not (= |old(~elem~0.offset)| 0))) [2020-07-11 01:06:01,217 INFO L271 CegarLoopResult]: At program point L906-1(lines 906 915) the Hoare annotation is: true [2020-07-11 01:06:01,217 INFO L264 CegarLoopResult]: At program point L904(line 904) the Hoare annotation is: (or (not (= 0 |old(~guard_malloc_counter~0.offset)|)) (and (= |old(~elem~0.offset)| ~elem~0.offset) (= 0 ~guard_malloc_counter~0.offset) (= |old(~elem~0.base)| ~elem~0.base) (= ~guard_malloc_counter~0.base |old(~guard_malloc_counter~0.base)|)) (not (= |old(~elem~0.offset)| 0))) [2020-07-11 01:06:01,218 INFO L264 CegarLoopResult]: At program point L905-1(line 905) the Hoare annotation is: (or (not (= 0 |old(~guard_malloc_counter~0.offset)|)) (and (= 0 main_~dev1~0.base) (= 0 main_~dev1~0.offset)) (not (= |old(~elem~0.offset)| 0)) (and (= 0 ~elem~0.offset) (= 0 |main_#t~ret33.offset|) (= 0 |main_#t~ret33.base|) (<= 1 ~guard_malloc_counter~0.offset)) (and (<= 1 main_~dev1~0.offset) (<= main_~dev1~0.offset ~guard_malloc_counter~0.offset) (= |old(~elem~0.offset)| ~elem~0.offset) (<= (+ main_~dev1~0.offset 1) |main_#t~ret33.offset|) (= |old(~elem~0.base)| ~elem~0.base))) [2020-07-11 01:06:01,218 INFO L264 CegarLoopResult]: At program point L903(line 903) the Hoare annotation is: (or (not (= 0 |old(~guard_malloc_counter~0.offset)|)) (and (= |old(~elem~0.offset)| ~elem~0.offset) (= 0 ~guard_malloc_counter~0.offset) (= |old(~elem~0.base)| ~elem~0.base) (= ~guard_malloc_counter~0.base |old(~guard_malloc_counter~0.base)|)) (not (= |old(~elem~0.offset)| 0))) [2020-07-11 01:06:01,218 INFO L264 CegarLoopResult]: At program point L904-1(line 904) the Hoare annotation is: (or (not (= 0 |old(~guard_malloc_counter~0.offset)|)) (and (= |old(~elem~0.offset)| ~elem~0.offset) (<= |main_#t~ret32.offset| ~guard_malloc_counter~0.offset) (<= 1 |main_#t~ret32.offset|) (= |old(~elem~0.base)| ~elem~0.base)) (not (= |old(~elem~0.offset)| 0)) (and (= 0 |main_#t~ret32.base|) (= |main_#t~ret32.offset| 0))) [2020-07-11 01:06:01,218 INFO L264 CegarLoopResult]: At program point L905-2(line 905) the Hoare annotation is: (or (not (= 0 |old(~guard_malloc_counter~0.offset)|)) (let ((.cse0 (+ main_~dev1~0.offset 1))) (and (<= 1 main_~dev1~0.offset) (<= main_~dev1~0.offset ~guard_malloc_counter~0.offset) (<= .cse0 main_~dev2~0.offset) (= |old(~elem~0.offset)| ~elem~0.offset) (<= .cse0 |main_#t~ret33.offset|) (= |old(~elem~0.base)| ~elem~0.base))) (and (= 0 main_~dev1~0.base) (= 0 main_~dev1~0.offset)) (not (= |old(~elem~0.offset)| 0)) (and (= 0 main_~dev2~0.offset) (= 0 ~elem~0.offset) (= 0 |main_#t~ret33.offset|) (= 0 |main_#t~ret33.base|) (= main_~dev2~0.base 0) (<= 1 ~guard_malloc_counter~0.offset))) [2020-07-11 01:06:01,218 INFO L264 CegarLoopResult]: At program point L904-2(line 904) the Hoare annotation is: (or (not (= 0 |old(~guard_malloc_counter~0.offset)|)) (and (<= 1 main_~dev1~0.offset) (<= main_~dev1~0.offset ~guard_malloc_counter~0.offset) (= |old(~elem~0.offset)| ~elem~0.offset) (<= |main_#t~ret32.offset| ~guard_malloc_counter~0.offset) (<= 1 |main_#t~ret32.offset|) (= |old(~elem~0.base)| ~elem~0.base)) (not (= |old(~elem~0.offset)| 0)) (and (= 0 main_~dev1~0.base) (= 0 |main_#t~ret32.base|) (= 0 main_~dev1~0.offset) (= |main_#t~ret32.offset| 0))) [2020-07-11 01:06:01,218 INFO L264 CegarLoopResult]: At program point __getMemoryENTRY(lines 869 876) the Hoare annotation is: (or (and (= ~guard_malloc_counter~0.offset |old(~guard_malloc_counter~0.offset)|) (= ~guard_malloc_counter~0.base |old(~guard_malloc_counter~0.base)|)) (let ((.cse0 (not (= 8 |__getMemory_#in~size|))) (.cse1 (not (= 0 ~elem~0.offset)))) (and (or (not (= 0 |old(~guard_malloc_counter~0.offset)|)) .cse0 .cse1) (or .cse0 (not (<= 1 |old(~guard_malloc_counter~0.offset)|)) .cse1)))) [2020-07-11 01:06:01,218 INFO L264 CegarLoopResult]: At program point __getMemoryEXIT(lines 869 876) the Hoare annotation is: (let ((.cse1 (+ |old(~guard_malloc_counter~0.offset)| 1)) (.cse0 (= 8 __getMemory_~size))) (or (and (<= |__getMemory_#res.offset| ~guard_malloc_counter~0.offset) .cse0 (<= .cse1 |__getMemory_#res.offset|)) (let ((.cse2 (not (= 8 |__getMemory_#in~size|))) (.cse3 (not (= 0 ~elem~0.offset)))) (and (or (not (= 0 |old(~guard_malloc_counter~0.offset)|)) .cse2 .cse3) (or .cse2 (not (<= 1 |old(~guard_malloc_counter~0.offset)|)) .cse3))) (and (<= |__getMemory_#res.base| 0) (<= .cse1 ~guard_malloc_counter~0.offset) (<= |__getMemory_#res.offset| 0) .cse0 (<= 0 |__getMemory_#res.offset|) (<= 0 |__getMemory_#res.base|)))) [2020-07-11 01:06:01,219 INFO L264 CegarLoopResult]: At program point __getMemoryFINAL(lines 869 876) the Hoare annotation is: (let ((.cse1 (+ |old(~guard_malloc_counter~0.offset)| 1)) (.cse0 (= 8 __getMemory_~size))) (or (and (<= |__getMemory_#res.offset| ~guard_malloc_counter~0.offset) .cse0 (<= .cse1 |__getMemory_#res.offset|)) (let ((.cse2 (not (= 8 |__getMemory_#in~size|))) (.cse3 (not (= 0 ~elem~0.offset)))) (and (or (not (= 0 |old(~guard_malloc_counter~0.offset)|)) .cse2 .cse3) (or .cse2 (not (<= 1 |old(~guard_malloc_counter~0.offset)|)) .cse3))) (and (<= |__getMemory_#res.base| 0) (<= .cse1 ~guard_malloc_counter~0.offset) (<= |__getMemory_#res.offset| 0) .cse0 (<= 0 |__getMemory_#res.offset|) (<= 0 |__getMemory_#res.base|)))) [2020-07-11 01:06:01,219 INFO L264 CegarLoopResult]: At program point L875(line 875) the Hoare annotation is: (or (let ((.cse0 (not (= 8 |__getMemory_#in~size|))) (.cse1 (not (= 0 ~elem~0.offset)))) (and (or (not (= 0 |old(~guard_malloc_counter~0.offset)|)) .cse0 .cse1) (or .cse0 (not (<= 1 |old(~guard_malloc_counter~0.offset)|)) .cse1))) (and (<= (+ |old(~guard_malloc_counter~0.offset)| 1) ~guard_malloc_counter~0.offset) (= 8 __getMemory_~size))) [2020-07-11 01:06:01,219 INFO L264 CegarLoopResult]: At program point L874(line 874) the Hoare annotation is: (or (let ((.cse0 (not (= 8 |__getMemory_#in~size|))) (.cse1 (not (= 0 ~elem~0.offset)))) (and (or (not (= 0 |old(~guard_malloc_counter~0.offset)|)) .cse0 .cse1) (or .cse0 (not (<= 1 |old(~guard_malloc_counter~0.offset)|)) .cse1))) (and (<= (+ |old(~guard_malloc_counter~0.offset)| 1) ~guard_malloc_counter~0.offset) (= 8 __getMemory_~size))) [2020-07-11 01:06:01,219 INFO L264 CegarLoopResult]: At program point L873(line 873) the Hoare annotation is: (or (let ((.cse0 (not (= 8 |__getMemory_#in~size|))) (.cse1 (not (= 0 ~elem~0.offset)))) (and (or (not (= 0 |old(~guard_malloc_counter~0.offset)|)) .cse0 .cse1) (or .cse0 (not (<= 1 |old(~guard_malloc_counter~0.offset)|)) .cse1))) (and (<= (+ |old(~guard_malloc_counter~0.offset)| 1) ~guard_malloc_counter~0.offset) (= 8 __getMemory_~size))) [2020-07-11 01:06:01,219 INFO L264 CegarLoopResult]: At program point L872(line 872) the Hoare annotation is: (or (and (= |old(~guard_malloc_counter~0.offset)| |__getMemory_#t~post28.offset|) (= 8 __getMemory_~size) (= ~guard_malloc_counter~0.offset |old(~guard_malloc_counter~0.offset)|) (= ~guard_malloc_counter~0.base |old(~guard_malloc_counter~0.base)|)) (let ((.cse0 (not (= 8 |__getMemory_#in~size|))) (.cse1 (not (= 0 ~elem~0.offset)))) (and (or (not (= 0 |old(~guard_malloc_counter~0.offset)|)) .cse0 .cse1) (or .cse0 (not (<= 1 |old(~guard_malloc_counter~0.offset)|)) .cse1)))) [2020-07-11 01:06:01,219 INFO L264 CegarLoopResult]: At program point L873-1(lines 873 874) the Hoare annotation is: (or (let ((.cse0 (not (= 8 |__getMemory_#in~size|))) (.cse1 (not (= 0 ~elem~0.offset)))) (and (or (not (= 0 |old(~guard_malloc_counter~0.offset)|)) .cse0 .cse1) (or .cse0 (not (<= 1 |old(~guard_malloc_counter~0.offset)|)) .cse1))) (and (<= (+ |old(~guard_malloc_counter~0.offset)| 1) ~guard_malloc_counter~0.offset) (= 8 __getMemory_~size))) [2020-07-11 01:06:01,219 INFO L264 CegarLoopResult]: At program point L871(line 871) the Hoare annotation is: (or (and (= 8 __getMemory_~size) (= ~guard_malloc_counter~0.offset |old(~guard_malloc_counter~0.offset)|) (= ~guard_malloc_counter~0.base |old(~guard_malloc_counter~0.base)|)) (let ((.cse0 (not (= 8 |__getMemory_#in~size|))) (.cse1 (not (= 0 ~elem~0.offset)))) (and (or (not (= 0 |old(~guard_malloc_counter~0.offset)|)) .cse0 .cse1) (or .cse0 (not (<= 1 |old(~guard_malloc_counter~0.offset)|)) .cse1)))) [2020-07-11 01:06:01,220 INFO L264 CegarLoopResult]: At program point L872-1(line 872) the Hoare annotation is: (or (and (<= (+ |old(~guard_malloc_counter~0.offset)| 1) ~guard_malloc_counter~0.offset) (= |old(~guard_malloc_counter~0.offset)| |__getMemory_#t~post28.offset|) (= 8 __getMemory_~size)) (let ((.cse0 (not (= 8 |__getMemory_#in~size|))) (.cse1 (not (= 0 ~elem~0.offset)))) (and (or (not (= 0 |old(~guard_malloc_counter~0.offset)|)) .cse0 .cse1) (or .cse0 (not (<= 1 |old(~guard_malloc_counter~0.offset)|)) .cse1)))) [2020-07-11 01:06:01,220 INFO L264 CegarLoopResult]: At program point L873-2(line 873) the Hoare annotation is: (or (let ((.cse0 (not (= 8 |__getMemory_#in~size|))) (.cse1 (not (= 0 ~elem~0.offset)))) (and (or (not (= 0 |old(~guard_malloc_counter~0.offset)|)) .cse0 .cse1) (or .cse0 (not (<= 1 |old(~guard_malloc_counter~0.offset)|)) .cse1))) (and (<= (+ |old(~guard_malloc_counter~0.offset)| 1) ~guard_malloc_counter~0.offset) (= 8 __getMemory_~size))) [2020-07-11 01:06:01,220 INFO L264 CegarLoopResult]: At program point L873-3(line 873) the Hoare annotation is: (or (let ((.cse0 (not (= 8 |__getMemory_#in~size|))) (.cse1 (not (= 0 ~elem~0.offset)))) (and (or (not (= 0 |old(~guard_malloc_counter~0.offset)|)) .cse0 .cse1) (or .cse0 (not (<= 1 |old(~guard_malloc_counter~0.offset)|)) .cse1))) (and (<= (+ |old(~guard_malloc_counter~0.offset)| 1) ~guard_malloc_counter~0.offset) (= 8 __getMemory_~size))) [2020-07-11 01:06:01,220 INFO L264 CegarLoopResult]: At program point L871-2(line 871) the Hoare annotation is: (let ((.cse0 (not (= 8 |__getMemory_#in~size|))) (.cse1 (not (= 0 ~elem~0.offset)))) (and (or (not (= 0 |old(~guard_malloc_counter~0.offset)|)) .cse0 .cse1) (or .cse0 (not (<= 1 |old(~guard_malloc_counter~0.offset)|)) .cse1))) [2020-07-11 01:06:01,220 INFO L264 CegarLoopResult]: At program point L871-3(line 871) the Hoare annotation is: (or (and (= 8 __getMemory_~size) (= ~guard_malloc_counter~0.offset |old(~guard_malloc_counter~0.offset)|) (= ~guard_malloc_counter~0.base |old(~guard_malloc_counter~0.base)|)) (let ((.cse0 (not (= 8 |__getMemory_#in~size|))) (.cse1 (not (= 0 ~elem~0.offset)))) (and (or (not (= 0 |old(~guard_malloc_counter~0.offset)|)) .cse0 .cse1) (or .cse0 (not (<= 1 |old(~guard_malloc_counter~0.offset)|)) .cse1)))) [2020-07-11 01:06:01,262 WARN L151 areAnnotationChecker]: Transition #101#return; from 6211#list_delEXITtrue to 6193#L909true not inductive [2020-07-11 01:06:01,312 INFO L163 areAnnotationChecker]: CFG has 79 edges. 78 inductive. 1 not inductive. 0 times theorem prover too weak to decide inductivity. 0 times interpolants missing. [2020-07-11 01:06:01,313 FATAL L? ?]: The Plugin de.uni_freiburg.informatik.ultimate.plugins.generator.traceabstraction has thrown an exception: java.lang.AssertionError: incorrect Hoare annotation at de.uni_freiburg.informatik.ultimate.plugins.generator.traceabstraction.TraceAbstractionStarter.createInvariantResults(TraceAbstractionStarter.java:242) at de.uni_freiburg.informatik.ultimate.plugins.generator.traceabstraction.TraceAbstractionStarter.runCegarLoops(TraceAbstractionStarter.java:217) at de.uni_freiburg.informatik.ultimate.plugins.generator.traceabstraction.TraceAbstractionStarter.(TraceAbstractionStarter.java:127) at de.uni_freiburg.informatik.ultimate.plugins.generator.traceabstraction.TraceAbstractionObserver.finish(TraceAbstractionObserver.java:120) at de.uni_freiburg.informatik.ultimate.core.coreplugin.PluginConnector.runObserver(PluginConnector.java:168) at de.uni_freiburg.informatik.ultimate.core.coreplugin.PluginConnector.runTool(PluginConnector.java:151) at de.uni_freiburg.informatik.ultimate.core.coreplugin.PluginConnector.run(PluginConnector.java:128) at de.uni_freiburg.informatik.ultimate.core.coreplugin.ToolchainWalker.executePluginConnector(ToolchainWalker.java:232) at de.uni_freiburg.informatik.ultimate.core.coreplugin.ToolchainWalker.processPlugin(ToolchainWalker.java:226) at de.uni_freiburg.informatik.ultimate.core.coreplugin.ToolchainWalker.walkUnprotected(ToolchainWalker.java:142) at de.uni_freiburg.informatik.ultimate.core.coreplugin.ToolchainWalker.walk(ToolchainWalker.java:104) at de.uni_freiburg.informatik.ultimate.core.coreplugin.ToolchainManager$Toolchain.processToolchain(ToolchainManager.java:317) at de.uni_freiburg.informatik.ultimate.core.coreplugin.toolchain.DefaultToolchainJob.run(DefaultToolchainJob.java:145) at org.eclipse.core.internal.jobs.Worker.run(Worker.java:55) [2020-07-11 01:06:01,318 INFO L168 Benchmark]: Toolchain (without parser) took 54288.18 ms. Allocated memory was 137.9 MB in the beginning and 587.7 MB in the end (delta: 449.8 MB). Free memory was 101.6 MB in the beginning and 290.0 MB in the end (delta: -188.4 MB). Peak memory consumption was 261.4 MB. Max. memory is 7.1 GB. [2020-07-11 01:06:01,320 INFO L168 Benchmark]: CDTParser took 0.95 ms. Allocated memory is still 137.9 MB. Free memory was 121.3 MB in the beginning and 121.1 MB in the end (delta: 209.9 kB). Peak memory consumption was 209.9 kB. Max. memory is 7.1 GB. [2020-07-11 01:06:01,321 INFO L168 Benchmark]: CACSL2BoogieTranslator took 637.33 ms. Allocated memory was 137.9 MB in the beginning and 201.9 MB in the end (delta: 64.0 MB). Free memory was 101.4 MB in the beginning and 165.8 MB in the end (delta: -64.4 MB). Peak memory consumption was 26.7 MB. Max. memory is 7.1 GB. [2020-07-11 01:06:01,321 INFO L168 Benchmark]: Boogie Preprocessor took 65.90 ms. Allocated memory is still 201.9 MB. Free memory was 165.8 MB in the beginning and 161.8 MB in the end (delta: 3.9 MB). Peak memory consumption was 3.9 MB. Max. memory is 7.1 GB. [2020-07-11 01:06:01,322 INFO L168 Benchmark]: RCFGBuilder took 766.39 ms. Allocated memory is still 201.9 MB. Free memory was 161.8 MB in the beginning and 104.0 MB in the end (delta: 57.8 MB). Peak memory consumption was 57.8 MB. Max. memory is 7.1 GB. [2020-07-11 01:06:01,326 INFO L168 Benchmark]: TraceAbstraction took 52812.81 ms. Allocated memory was 201.9 MB in the beginning and 587.7 MB in the end (delta: 385.9 MB). Free memory was 103.3 MB in the beginning and 290.0 MB in the end (delta: -186.7 MB). Peak memory consumption was 199.2 MB. Max. memory is 7.1 GB. [2020-07-11 01:06:01,333 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.95 ms. Allocated memory is still 137.9 MB. Free memory was 121.3 MB in the beginning and 121.1 MB in the end (delta: 209.9 kB). Peak memory consumption was 209.9 kB. Max. memory is 7.1 GB. * CACSL2BoogieTranslator took 637.33 ms. Allocated memory was 137.9 MB in the beginning and 201.9 MB in the end (delta: 64.0 MB). Free memory was 101.4 MB in the beginning and 165.8 MB in the end (delta: -64.4 MB). Peak memory consumption was 26.7 MB. Max. memory is 7.1 GB. * Boogie Preprocessor took 65.90 ms. Allocated memory is still 201.9 MB. Free memory was 165.8 MB in the beginning and 161.8 MB in the end (delta: 3.9 MB). Peak memory consumption was 3.9 MB. Max. memory is 7.1 GB. * RCFGBuilder took 766.39 ms. Allocated memory is still 201.9 MB. Free memory was 161.8 MB in the beginning and 104.0 MB in the end (delta: 57.8 MB). Peak memory consumption was 57.8 MB. Max. memory is 7.1 GB. * TraceAbstraction took 52812.81 ms. Allocated memory was 201.9 MB in the beginning and 587.7 MB in the end (delta: 385.9 MB). Free memory was 103.3 MB in the beginning and 290.0 MB in the end (delta: -186.7 MB). Peak memory consumption was 199.2 MB. Max. memory is 7.1 GB. * Results from de.uni_freiburg.informatik.ultimate.plugins.generator.traceabstraction: - PositiveResult [Line: 6]: call of __VERIFIER_error() unreachable For all program executions holds that call of __VERIFIER_error() unreachable at this location - AllSpecificationsHoldResult: All specifications hold 1 specifications checked. All of them hold - ExceptionOrErrorResult: AssertionError: incorrect Hoare annotation de.uni_freiburg.informatik.ultimate.plugins.generator.traceabstraction: AssertionError: incorrect Hoare annotation: de.uni_freiburg.informatik.ultimate.plugins.generator.traceabstraction.TraceAbstractionStarter.createInvariantResults(TraceAbstractionStarter.java:242) RESULT: Ultimate could not prove your program: Toolchain returned no result. Received shutdown request...