/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-46f3038-m [2020-07-08 22:21:47,267 INFO L177 SettingsManager]: Resetting all preferences to default values... [2020-07-08 22:21:47,271 INFO L181 SettingsManager]: Resetting UltimateCore preferences to default values [2020-07-08 22:21:47,290 INFO L184 SettingsManager]: Ultimate Commandline Interface provides no preferences, ignoring... [2020-07-08 22:21:47,290 INFO L181 SettingsManager]: Resetting Boogie Preprocessor preferences to default values [2020-07-08 22:21:47,292 INFO L181 SettingsManager]: Resetting Boogie Procedure Inliner preferences to default values [2020-07-08 22:21:47,295 INFO L181 SettingsManager]: Resetting Abstract Interpretation preferences to default values [2020-07-08 22:21:47,306 INFO L181 SettingsManager]: Resetting LassoRanker preferences to default values [2020-07-08 22:21:47,309 INFO L181 SettingsManager]: Resetting Reaching Definitions preferences to default values [2020-07-08 22:21:47,312 INFO L181 SettingsManager]: Resetting SyntaxChecker preferences to default values [2020-07-08 22:21:47,315 INFO L181 SettingsManager]: Resetting Sifa preferences to default values [2020-07-08 22:21:47,317 INFO L184 SettingsManager]: Büchi Program Product provides no preferences, ignoring... [2020-07-08 22:21:47,317 INFO L181 SettingsManager]: Resetting LTL2Aut preferences to default values [2020-07-08 22:21:47,319 INFO L181 SettingsManager]: Resetting PEA to Boogie preferences to default values [2020-07-08 22:21:47,322 INFO L181 SettingsManager]: Resetting BlockEncodingV2 preferences to default values [2020-07-08 22:21:47,323 INFO L181 SettingsManager]: Resetting ChcToBoogie preferences to default values [2020-07-08 22:21:47,325 INFO L181 SettingsManager]: Resetting AutomataScriptInterpreter preferences to default values [2020-07-08 22:21:47,326 INFO L181 SettingsManager]: Resetting BuchiAutomizer preferences to default values [2020-07-08 22:21:47,328 INFO L181 SettingsManager]: Resetting CACSL2BoogieTranslator preferences to default values [2020-07-08 22:21:47,333 INFO L181 SettingsManager]: Resetting CodeCheck preferences to default values [2020-07-08 22:21:47,338 INFO L181 SettingsManager]: Resetting InvariantSynthesis preferences to default values [2020-07-08 22:21:47,342 INFO L181 SettingsManager]: Resetting RCFGBuilder preferences to default values [2020-07-08 22:21:47,343 INFO L181 SettingsManager]: Resetting Referee preferences to default values [2020-07-08 22:21:47,344 INFO L181 SettingsManager]: Resetting TraceAbstraction preferences to default values [2020-07-08 22:21:47,346 INFO L184 SettingsManager]: TraceAbstractionConcurrent provides no preferences, ignoring... [2020-07-08 22:21:47,346 INFO L184 SettingsManager]: TraceAbstractionWithAFAs provides no preferences, ignoring... [2020-07-08 22:21:47,347 INFO L181 SettingsManager]: Resetting TreeAutomizer preferences to default values [2020-07-08 22:21:47,349 INFO L181 SettingsManager]: Resetting IcfgToChc preferences to default values [2020-07-08 22:21:47,350 INFO L181 SettingsManager]: Resetting IcfgTransformer preferences to default values [2020-07-08 22:21:47,351 INFO L184 SettingsManager]: ReqToTest provides no preferences, ignoring... [2020-07-08 22:21:47,351 INFO L181 SettingsManager]: Resetting Boogie Printer preferences to default values [2020-07-08 22:21:47,352 INFO L181 SettingsManager]: Resetting ChcSmtPrinter preferences to default values [2020-07-08 22:21:47,353 INFO L181 SettingsManager]: Resetting ReqPrinter preferences to default values [2020-07-08 22:21:47,354 INFO L181 SettingsManager]: Resetting Witness Printer preferences to default values [2020-07-08 22:21:47,355 INFO L184 SettingsManager]: Boogie PL CUP Parser provides no preferences, ignoring... [2020-07-08 22:21:47,356 INFO L181 SettingsManager]: Resetting CDTParser preferences to default values [2020-07-08 22:21:47,356 INFO L184 SettingsManager]: AutomataScriptParser provides no preferences, ignoring... [2020-07-08 22:21:47,356 INFO L184 SettingsManager]: ReqParser provides no preferences, ignoring... [2020-07-08 22:21:47,357 INFO L181 SettingsManager]: Resetting SmtParser preferences to default values [2020-07-08 22:21:47,358 INFO L181 SettingsManager]: Resetting Witness Parser preferences to default values [2020-07-08 22:21:47,359 INFO L188 SettingsManager]: Finished resetting all preferences to default values... [2020-07-08 22:21:47,360 INFO L101 SettingsManager]: Beginning loading settings from /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/../../../trunk/examples/settings/automizer/acceleratedInterpolation/acceleratedInterpolationFastUPR_32.epf [2020-07-08 22:21:47,386 INFO L113 SettingsManager]: Loading preferences was successful [2020-07-08 22:21:47,387 INFO L115 SettingsManager]: Preferences different from defaults after loading the file: [2020-07-08 22:21:47,391 INFO L136 SettingsManager]: Preferences of CACSL2BoogieTranslator differ from their defaults: [2020-07-08 22:21:47,391 INFO L138 SettingsManager]: * sizeof long=4 [2020-07-08 22:21:47,392 INFO L138 SettingsManager]: * Overapproximate operations on floating types=true [2020-07-08 22:21:47,392 INFO L138 SettingsManager]: * sizeof POINTER=4 [2020-07-08 22:21:47,392 INFO L138 SettingsManager]: * Check division by zero=IGNORE [2020-07-08 22:21:47,392 INFO L138 SettingsManager]: * Pointer to allocated memory at dereference=IGNORE [2020-07-08 22:21:47,392 INFO L138 SettingsManager]: * If two pointers are subtracted or compared they have the same base address=IGNORE [2020-07-08 22:21:47,393 INFO L138 SettingsManager]: * Check array bounds for arrays that are off heap=IGNORE [2020-07-08 22:21:47,393 INFO L138 SettingsManager]: * sizeof long double=12 [2020-07-08 22:21:47,393 INFO L138 SettingsManager]: * Check if freed pointer was valid=false [2020-07-08 22:21:47,393 INFO L138 SettingsManager]: * Use constant arrays=true [2020-07-08 22:21:47,396 INFO L138 SettingsManager]: * Pointer base address is valid at dereference=IGNORE [2020-07-08 22:21:47,396 INFO L136 SettingsManager]: Preferences of RCFGBuilder differ from their defaults: [2020-07-08 22:21:47,396 INFO L138 SettingsManager]: * Size of a code block=SingleStatement [2020-07-08 22:21:47,397 INFO L138 SettingsManager]: * To the following directory=./dump/ [2020-07-08 22:21:47,397 INFO L138 SettingsManager]: * SMT solver=External_DefaultMode [2020-07-08 22:21:47,397 INFO L138 SettingsManager]: * Command for external solver=z3 SMTLIB2_COMPLIANT=true -memory:2024 -smt2 -in -t:2000 [2020-07-08 22:21:47,398 INFO L136 SettingsManager]: Preferences of TraceAbstraction differ from their defaults: [2020-07-08 22:21:47,398 INFO L138 SettingsManager]: * Compute Interpolants along a Counterexample=AcceleratedInterpolation [2020-07-08 22:21:47,398 INFO L138 SettingsManager]: * Compute Hoare Annotation of negated interpolant automaton, abstraction and CFG=true [2020-07-08 22:21:47,398 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-08 22:21:47,693 INFO L81 nceAwareModelManager]: Repository-Root is: /tmp [2020-07-08 22:21:47,720 INFO L258 ainManager$Toolchain]: [Toolchain 1]: Applicable parser(s) successfully (re)initialized [2020-07-08 22:21:47,723 INFO L214 ainManager$Toolchain]: [Toolchain 1]: Toolchain selected. [2020-07-08 22:21:47,725 INFO L271 PluginConnector]: Initializing CDTParser... [2020-07-08 22:21:47,726 INFO L275 PluginConnector]: CDTParser initialized [2020-07-08 22:21:47,726 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-08 22:21:47,810 INFO L220 CDTParser]: Created temporary CDT project at /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/data/6999e9f25/91e432d4d2a2486aa5d717e9612bf909/FLAG785edd048 [2020-07-08 22:21:48,367 INFO L306 CDTParser]: Found 1 translation units. [2020-07-08 22:21:48,368 INFO L160 CDTParser]: Scanning /storage/repos/ultimate/trunk/examples/svcomp/ldv-regression/rule60_list2.i [2020-07-08 22:21:48,380 INFO L349 CDTParser]: About to delete temporary CDT project at /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/data/6999e9f25/91e432d4d2a2486aa5d717e9612bf909/FLAG785edd048 [2020-07-08 22:21:48,644 INFO L357 CDTParser]: Successfully deleted /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/data/6999e9f25/91e432d4d2a2486aa5d717e9612bf909 [2020-07-08 22:21:48,653 INFO L296 ainManager$Toolchain]: ####################### [Toolchain 1] ####################### [2020-07-08 22:21:48,654 INFO L131 ToolchainWalker]: Walking toolchain with 4 elements. [2020-07-08 22:21:48,655 INFO L113 PluginConnector]: ------------------------CACSL2BoogieTranslator---------------------------- [2020-07-08 22:21:48,655 INFO L271 PluginConnector]: Initializing CACSL2BoogieTranslator... [2020-07-08 22:21:48,659 INFO L275 PluginConnector]: CACSL2BoogieTranslator initialized [2020-07-08 22:21:48,660 INFO L185 PluginConnector]: Executing the observer ACSLObjectContainerObserver from plugin CACSL2BoogieTranslator for "CDTParser AST 08.07 10:21:48" (1/1) ... [2020-07-08 22:21:48,663 INFO L205 PluginConnector]: Invalid model from CACSL2BoogieTranslator for observer de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator.ACSLObjectContainerObserver@7eedc7be and model type de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 08.07 10:21:48, skipping insertion in model container [2020-07-08 22:21:48,663 INFO L185 PluginConnector]: Executing the observer CACSL2BoogieTranslatorObserver from plugin CACSL2BoogieTranslator for "CDTParser AST 08.07 10:21:48" (1/1) ... [2020-07-08 22:21:48,671 INFO L145 MainTranslator]: Starting translation in SV-COMP mode [2020-07-08 22:21:48,717 INFO L178 MainTranslator]: Built tables and reachable declarations [2020-07-08 22:21:49,227 INFO L206 PostProcessor]: Analyzing one entry point: main [2020-07-08 22:21:49,237 INFO L203 MainTranslator]: Completed pre-run [2020-07-08 22:21:49,283 INFO L206 PostProcessor]: Analyzing one entry point: main [2020-07-08 22:21:49,383 INFO L208 MainTranslator]: Completed translation [2020-07-08 22:21:49,383 INFO L202 PluginConnector]: Adding new model de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 08.07 10:21:49 WrapperNode [2020-07-08 22:21:49,383 INFO L132 PluginConnector]: ------------------------ END CACSL2BoogieTranslator---------------------------- [2020-07-08 22:21:49,384 INFO L113 PluginConnector]: ------------------------Boogie Preprocessor---------------------------- [2020-07-08 22:21:49,385 INFO L271 PluginConnector]: Initializing Boogie Preprocessor... [2020-07-08 22:21:49,385 INFO L275 PluginConnector]: Boogie Preprocessor initialized [2020-07-08 22:21:49,401 INFO L185 PluginConnector]: Executing the observer EnsureBoogieModelObserver from plugin Boogie Preprocessor for "de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 08.07 10:21:49" (1/1) ... [2020-07-08 22:21:49,402 INFO L185 PluginConnector]: Executing the observer TypeChecker from plugin Boogie Preprocessor for "de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 08.07 10:21:49" (1/1) ... [2020-07-08 22:21:49,432 INFO L185 PluginConnector]: Executing the observer ConstExpander from plugin Boogie Preprocessor for "de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 08.07 10:21:49" (1/1) ... [2020-07-08 22:21:49,433 INFO L185 PluginConnector]: Executing the observer StructExpander from plugin Boogie Preprocessor for "de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 08.07 10:21:49" (1/1) ... [2020-07-08 22:21:49,482 INFO L185 PluginConnector]: Executing the observer UnstructureCode from plugin Boogie Preprocessor for "de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 08.07 10:21:49" (1/1) ... [2020-07-08 22:21:49,488 INFO L185 PluginConnector]: Executing the observer FunctionInliner from plugin Boogie Preprocessor for "de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 08.07 10:21:49" (1/1) ... [2020-07-08 22:21:49,493 INFO L185 PluginConnector]: Executing the observer BoogieSymbolTableConstructor from plugin Boogie Preprocessor for "de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 08.07 10:21:49" (1/1) ... [2020-07-08 22:21:49,501 INFO L132 PluginConnector]: ------------------------ END Boogie Preprocessor---------------------------- [2020-07-08 22:21:49,501 INFO L113 PluginConnector]: ------------------------RCFGBuilder---------------------------- [2020-07-08 22:21:49,502 INFO L271 PluginConnector]: Initializing RCFGBuilder... [2020-07-08 22:21:49,502 INFO L275 PluginConnector]: RCFGBuilder initialized [2020-07-08 22:21:49,503 INFO L185 PluginConnector]: Executing the observer RCFGBuilderObserver from plugin RCFGBuilder for "de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 08.07 10:21:49" (1/1) ... No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 Starting monitored process 1 with z3 SMTLIB2_COMPLIANT=true -memory:2024 -smt2 -in -t:2000 (exit command is (exit), workingDir is null) Waiting until toolchain timeout for monitored process 1 with z3 SMTLIB2_COMPLIANT=true -memory:2024 -smt2 -in -t:2000 [2020-07-08 22:21:49,571 INFO L138 BoogieDeclarations]: Found implementation of procedure ULTIMATE.init [2020-07-08 22:21:49,571 INFO L138 BoogieDeclarations]: Found implementation of procedure ULTIMATE.start [2020-07-08 22:21:49,571 INFO L138 BoogieDeclarations]: Found implementation of procedure __blast_assert [2020-07-08 22:21:49,572 INFO L138 BoogieDeclarations]: Found implementation of procedure __getMemory [2020-07-08 22:21:49,572 INFO L138 BoogieDeclarations]: Found implementation of procedure my_malloc [2020-07-08 22:21:49,572 INFO L138 BoogieDeclarations]: Found implementation of procedure list_add [2020-07-08 22:21:49,572 INFO L138 BoogieDeclarations]: Found implementation of procedure list_del [2020-07-08 22:21:49,572 INFO L138 BoogieDeclarations]: Found implementation of procedure main [2020-07-08 22:21:49,573 INFO L130 BoogieDeclarations]: Found specification of procedure __VERIFIER_error [2020-07-08 22:21:49,574 INFO L130 BoogieDeclarations]: Found specification of procedure __blast_assert [2020-07-08 22:21:49,574 INFO L130 BoogieDeclarations]: Found specification of procedure __underflow [2020-07-08 22:21:49,574 INFO L130 BoogieDeclarations]: Found specification of procedure __uflow [2020-07-08 22:21:49,576 INFO L130 BoogieDeclarations]: Found specification of procedure __overflow [2020-07-08 22:21:49,577 INFO L130 BoogieDeclarations]: Found specification of procedure _IO_getc [2020-07-08 22:21:49,577 INFO L130 BoogieDeclarations]: Found specification of procedure _IO_putc [2020-07-08 22:21:49,577 INFO L130 BoogieDeclarations]: Found specification of procedure _IO_feof [2020-07-08 22:21:49,577 INFO L130 BoogieDeclarations]: Found specification of procedure _IO_ferror [2020-07-08 22:21:49,578 INFO L130 BoogieDeclarations]: Found specification of procedure _IO_peekc_locked [2020-07-08 22:21:49,578 INFO L130 BoogieDeclarations]: Found specification of procedure _IO_flockfile [2020-07-08 22:21:49,578 INFO L130 BoogieDeclarations]: Found specification of procedure _IO_funlockfile [2020-07-08 22:21:49,578 INFO L130 BoogieDeclarations]: Found specification of procedure _IO_ftrylockfile [2020-07-08 22:21:49,578 INFO L130 BoogieDeclarations]: Found specification of procedure _IO_vfscanf [2020-07-08 22:21:49,579 INFO L130 BoogieDeclarations]: Found specification of procedure _IO_vfprintf [2020-07-08 22:21:49,579 INFO L130 BoogieDeclarations]: Found specification of procedure _IO_padn [2020-07-08 22:21:49,579 INFO L130 BoogieDeclarations]: Found specification of procedure _IO_sgetn [2020-07-08 22:21:49,579 INFO L130 BoogieDeclarations]: Found specification of procedure _IO_seekoff [2020-07-08 22:21:49,579 INFO L130 BoogieDeclarations]: Found specification of procedure _IO_seekpos [2020-07-08 22:21:49,579 INFO L130 BoogieDeclarations]: Found specification of procedure _IO_free_backup_area [2020-07-08 22:21:49,581 INFO L130 BoogieDeclarations]: Found specification of procedure remove [2020-07-08 22:21:49,582 INFO L130 BoogieDeclarations]: Found specification of procedure rename [2020-07-08 22:21:49,582 INFO L130 BoogieDeclarations]: Found specification of procedure renameat [2020-07-08 22:21:49,582 INFO L130 BoogieDeclarations]: Found specification of procedure tmpfile [2020-07-08 22:21:49,584 INFO L130 BoogieDeclarations]: Found specification of procedure tmpnam [2020-07-08 22:21:49,585 INFO L130 BoogieDeclarations]: Found specification of procedure tmpnam_r [2020-07-08 22:21:49,585 INFO L130 BoogieDeclarations]: Found specification of procedure tempnam [2020-07-08 22:21:49,585 INFO L130 BoogieDeclarations]: Found specification of procedure fclose [2020-07-08 22:21:49,585 INFO L130 BoogieDeclarations]: Found specification of procedure fflush [2020-07-08 22:21:49,587 INFO L130 BoogieDeclarations]: Found specification of procedure fflush_unlocked [2020-07-08 22:21:49,587 INFO L130 BoogieDeclarations]: Found specification of procedure fopen [2020-07-08 22:21:49,588 INFO L130 BoogieDeclarations]: Found specification of procedure freopen [2020-07-08 22:21:49,588 INFO L130 BoogieDeclarations]: Found specification of procedure fdopen [2020-07-08 22:21:49,588 INFO L130 BoogieDeclarations]: Found specification of procedure fmemopen [2020-07-08 22:21:49,588 INFO L130 BoogieDeclarations]: Found specification of procedure open_memstream [2020-07-08 22:21:49,588 INFO L130 BoogieDeclarations]: Found specification of procedure setbuf [2020-07-08 22:21:49,588 INFO L130 BoogieDeclarations]: Found specification of procedure setvbuf [2020-07-08 22:21:49,588 INFO L130 BoogieDeclarations]: Found specification of procedure setbuffer [2020-07-08 22:21:49,589 INFO L130 BoogieDeclarations]: Found specification of procedure setlinebuf [2020-07-08 22:21:49,589 INFO L130 BoogieDeclarations]: Found specification of procedure fprintf [2020-07-08 22:21:49,589 INFO L130 BoogieDeclarations]: Found specification of procedure printf [2020-07-08 22:21:49,590 INFO L130 BoogieDeclarations]: Found specification of procedure sprintf [2020-07-08 22:21:49,590 INFO L130 BoogieDeclarations]: Found specification of procedure vfprintf [2020-07-08 22:21:49,590 INFO L130 BoogieDeclarations]: Found specification of procedure vprintf [2020-07-08 22:21:49,590 INFO L130 BoogieDeclarations]: Found specification of procedure vsprintf [2020-07-08 22:21:49,590 INFO L130 BoogieDeclarations]: Found specification of procedure snprintf [2020-07-08 22:21:49,590 INFO L130 BoogieDeclarations]: Found specification of procedure vsnprintf [2020-07-08 22:21:49,591 INFO L130 BoogieDeclarations]: Found specification of procedure vdprintf [2020-07-08 22:21:49,591 INFO L130 BoogieDeclarations]: Found specification of procedure dprintf [2020-07-08 22:21:49,591 INFO L130 BoogieDeclarations]: Found specification of procedure fscanf [2020-07-08 22:21:49,591 INFO L130 BoogieDeclarations]: Found specification of procedure scanf [2020-07-08 22:21:49,592 INFO L130 BoogieDeclarations]: Found specification of procedure sscanf [2020-07-08 22:21:49,592 INFO L130 BoogieDeclarations]: Found specification of procedure vfscanf [2020-07-08 22:21:49,592 INFO L130 BoogieDeclarations]: Found specification of procedure vscanf [2020-07-08 22:21:49,592 INFO L130 BoogieDeclarations]: Found specification of procedure vsscanf [2020-07-08 22:21:49,592 INFO L130 BoogieDeclarations]: Found specification of procedure fgetc [2020-07-08 22:21:49,592 INFO L130 BoogieDeclarations]: Found specification of procedure getc [2020-07-08 22:21:49,593 INFO L130 BoogieDeclarations]: Found specification of procedure getchar [2020-07-08 22:21:49,593 INFO L130 BoogieDeclarations]: Found specification of procedure getc_unlocked [2020-07-08 22:21:49,593 INFO L130 BoogieDeclarations]: Found specification of procedure getchar_unlocked [2020-07-08 22:21:49,593 INFO L130 BoogieDeclarations]: Found specification of procedure fgetc_unlocked [2020-07-08 22:21:49,593 INFO L130 BoogieDeclarations]: Found specification of procedure fputc [2020-07-08 22:21:49,593 INFO L130 BoogieDeclarations]: Found specification of procedure putc [2020-07-08 22:21:49,594 INFO L130 BoogieDeclarations]: Found specification of procedure putchar [2020-07-08 22:21:49,594 INFO L130 BoogieDeclarations]: Found specification of procedure fputc_unlocked [2020-07-08 22:21:49,594 INFO L130 BoogieDeclarations]: Found specification of procedure putc_unlocked [2020-07-08 22:21:49,594 INFO L130 BoogieDeclarations]: Found specification of procedure putchar_unlocked [2020-07-08 22:21:49,595 INFO L130 BoogieDeclarations]: Found specification of procedure getw [2020-07-08 22:21:49,595 INFO L130 BoogieDeclarations]: Found specification of procedure putw [2020-07-08 22:21:49,595 INFO L130 BoogieDeclarations]: Found specification of procedure fgets [2020-07-08 22:21:49,595 INFO L130 BoogieDeclarations]: Found specification of procedure gets [2020-07-08 22:21:49,595 INFO L130 BoogieDeclarations]: Found specification of procedure __getdelim [2020-07-08 22:21:49,596 INFO L130 BoogieDeclarations]: Found specification of procedure getdelim [2020-07-08 22:21:49,596 INFO L130 BoogieDeclarations]: Found specification of procedure getline [2020-07-08 22:21:49,597 INFO L130 BoogieDeclarations]: Found specification of procedure fputs [2020-07-08 22:21:49,598 INFO L130 BoogieDeclarations]: Found specification of procedure puts [2020-07-08 22:21:49,598 INFO L130 BoogieDeclarations]: Found specification of procedure ungetc [2020-07-08 22:21:49,598 INFO L130 BoogieDeclarations]: Found specification of procedure fread [2020-07-08 22:21:49,600 INFO L130 BoogieDeclarations]: Found specification of procedure fwrite [2020-07-08 22:21:49,600 INFO L130 BoogieDeclarations]: Found specification of procedure fread_unlocked [2020-07-08 22:21:49,600 INFO L130 BoogieDeclarations]: Found specification of procedure fwrite_unlocked [2020-07-08 22:21:49,600 INFO L130 BoogieDeclarations]: Found specification of procedure fseek [2020-07-08 22:21:49,601 INFO L130 BoogieDeclarations]: Found specification of procedure ftell [2020-07-08 22:21:49,601 INFO L130 BoogieDeclarations]: Found specification of procedure rewind [2020-07-08 22:21:49,601 INFO L130 BoogieDeclarations]: Found specification of procedure fseeko [2020-07-08 22:21:49,601 INFO L130 BoogieDeclarations]: Found specification of procedure ftello [2020-07-08 22:21:49,601 INFO L130 BoogieDeclarations]: Found specification of procedure fgetpos [2020-07-08 22:21:49,602 INFO L130 BoogieDeclarations]: Found specification of procedure fsetpos [2020-07-08 22:21:49,602 INFO L130 BoogieDeclarations]: Found specification of procedure clearerr [2020-07-08 22:21:49,603 INFO L130 BoogieDeclarations]: Found specification of procedure feof [2020-07-08 22:21:49,603 INFO L130 BoogieDeclarations]: Found specification of procedure ferror [2020-07-08 22:21:49,603 INFO L130 BoogieDeclarations]: Found specification of procedure clearerr_unlocked [2020-07-08 22:21:49,603 INFO L130 BoogieDeclarations]: Found specification of procedure feof_unlocked [2020-07-08 22:21:49,603 INFO L130 BoogieDeclarations]: Found specification of procedure ferror_unlocked [2020-07-08 22:21:49,603 INFO L130 BoogieDeclarations]: Found specification of procedure perror [2020-07-08 22:21:49,603 INFO L130 BoogieDeclarations]: Found specification of procedure fileno [2020-07-08 22:21:49,604 INFO L130 BoogieDeclarations]: Found specification of procedure fileno_unlocked [2020-07-08 22:21:49,604 INFO L130 BoogieDeclarations]: Found specification of procedure popen [2020-07-08 22:21:49,604 INFO L130 BoogieDeclarations]: Found specification of procedure pclose [2020-07-08 22:21:49,604 INFO L130 BoogieDeclarations]: Found specification of procedure ctermid [2020-07-08 22:21:49,604 INFO L130 BoogieDeclarations]: Found specification of procedure flockfile [2020-07-08 22:21:49,604 INFO L130 BoogieDeclarations]: Found specification of procedure ftrylockfile [2020-07-08 22:21:49,605 INFO L130 BoogieDeclarations]: Found specification of procedure funlockfile [2020-07-08 22:21:49,606 INFO L130 BoogieDeclarations]: Found specification of procedure malloc [2020-07-08 22:21:49,606 INFO L130 BoogieDeclarations]: Found specification of procedure calloc [2020-07-08 22:21:49,606 INFO L130 BoogieDeclarations]: Found specification of procedure realloc [2020-07-08 22:21:49,606 INFO L130 BoogieDeclarations]: Found specification of procedure free [2020-07-08 22:21:49,606 INFO L130 BoogieDeclarations]: Found specification of procedure cfree [2020-07-08 22:21:49,606 INFO L130 BoogieDeclarations]: Found specification of procedure memalign [2020-07-08 22:21:49,607 INFO L130 BoogieDeclarations]: Found specification of procedure valloc [2020-07-08 22:21:49,607 INFO L130 BoogieDeclarations]: Found specification of procedure pvalloc [2020-07-08 22:21:49,607 INFO L130 BoogieDeclarations]: Found specification of procedure __default_morecore [2020-07-08 22:21:49,607 INFO L130 BoogieDeclarations]: Found specification of procedure mallinfo [2020-07-08 22:21:49,607 INFO L130 BoogieDeclarations]: Found specification of procedure mallopt [2020-07-08 22:21:49,607 INFO L130 BoogieDeclarations]: Found specification of procedure malloc_trim [2020-07-08 22:21:49,607 INFO L130 BoogieDeclarations]: Found specification of procedure malloc_usable_size [2020-07-08 22:21:49,608 INFO L130 BoogieDeclarations]: Found specification of procedure malloc_stats [2020-07-08 22:21:49,608 INFO L130 BoogieDeclarations]: Found specification of procedure malloc_info [2020-07-08 22:21:49,608 INFO L130 BoogieDeclarations]: Found specification of procedure malloc_get_state [2020-07-08 22:21:49,608 INFO L130 BoogieDeclarations]: Found specification of procedure malloc_set_state [2020-07-08 22:21:49,609 INFO L130 BoogieDeclarations]: Found specification of procedure __malloc_check_init [2020-07-08 22:21:49,609 INFO L130 BoogieDeclarations]: Found specification of procedure __VERIFIER_nondet_int [2020-07-08 22:21:49,609 INFO L130 BoogieDeclarations]: Found specification of procedure __getMemory [2020-07-08 22:21:49,609 INFO L130 BoogieDeclarations]: Found specification of procedure my_malloc [2020-07-08 22:21:49,609 INFO L130 BoogieDeclarations]: Found specification of procedure list_add [2020-07-08 22:21:49,609 INFO L130 BoogieDeclarations]: Found specification of procedure list_del [2020-07-08 22:21:49,610 INFO L130 BoogieDeclarations]: Found specification of procedure main [2020-07-08 22:21:49,610 INFO L130 BoogieDeclarations]: Found specification of procedure ULTIMATE.init [2020-07-08 22:21:49,610 INFO L130 BoogieDeclarations]: Found specification of procedure #Ultimate.allocOnStack [2020-07-08 22:21:49,610 INFO L130 BoogieDeclarations]: Found specification of procedure write~init~$Pointer$ [2020-07-08 22:21:49,610 INFO L130 BoogieDeclarations]: Found specification of procedure ULTIMATE.start [2020-07-08 22:21:49,610 INFO L130 BoogieDeclarations]: Found specification of procedure write~$Pointer$ [2020-07-08 22:21:49,611 INFO L130 BoogieDeclarations]: Found specification of procedure read~$Pointer$ [2020-07-08 22:21:49,611 INFO L130 BoogieDeclarations]: Found specification of procedure ULTIMATE.dealloc [2020-07-08 22:21:50,345 INFO L290 CfgBuilder]: Using the 1 location(s) as analysis (start of procedure ULTIMATE.start) [2020-07-08 22:21:50,346 INFO L295 CfgBuilder]: Removed 0 assume(true) statements. [2020-07-08 22:21:50,356 INFO L202 PluginConnector]: Adding new model de.uni_freiburg.informatik.ultimate.plugins.generator.rcfgbuilder CFG 08.07 10:21:50 BoogieIcfgContainer [2020-07-08 22:21:50,356 INFO L132 PluginConnector]: ------------------------ END RCFGBuilder---------------------------- [2020-07-08 22:21:50,362 INFO L113 PluginConnector]: ------------------------TraceAbstraction---------------------------- [2020-07-08 22:21:50,362 INFO L271 PluginConnector]: Initializing TraceAbstraction... [2020-07-08 22:21:50,367 INFO L275 PluginConnector]: TraceAbstraction initialized [2020-07-08 22:21:50,368 INFO L185 PluginConnector]: Executing the observer TraceAbstractionObserver from plugin TraceAbstraction for "CDTParser AST 08.07 10:21:48" (1/3) ... [2020-07-08 22:21:50,377 INFO L205 PluginConnector]: Invalid model from TraceAbstraction for observer de.uni_freiburg.informatik.ultimate.plugins.generator.traceabstraction.TraceAbstractionObserver@63a43bdb and model type de.uni_freiburg.informatik.ultimate.plugins.generator.traceabstraction AST 08.07 10:21:50, skipping insertion in model container [2020-07-08 22:21:50,378 INFO L185 PluginConnector]: Executing the observer TraceAbstractionObserver from plugin TraceAbstraction for "de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 08.07 10:21:49" (2/3) ... [2020-07-08 22:21:50,379 INFO L205 PluginConnector]: Invalid model from TraceAbstraction for observer de.uni_freiburg.informatik.ultimate.plugins.generator.traceabstraction.TraceAbstractionObserver@63a43bdb and model type de.uni_freiburg.informatik.ultimate.plugins.generator.traceabstraction AST 08.07 10:21:50, skipping insertion in model container [2020-07-08 22:21:50,380 INFO L185 PluginConnector]: Executing the observer TraceAbstractionObserver from plugin TraceAbstraction for "de.uni_freiburg.informatik.ultimate.plugins.generator.rcfgbuilder CFG 08.07 10:21:50" (3/3) ... [2020-07-08 22:21:50,383 INFO L109 eAbstractionObserver]: Analyzing ICFG rule60_list2.i [2020-07-08 22:21:50,397 INFO L157 ceAbstractionStarter]: Automizer settings: Hoare:true NWA Interpolation:Craig_NestedInterpolation Determinization: PREDICATE_ABSTRACTION [2020-07-08 22:21:50,409 INFO L169 ceAbstractionStarter]: Appying trace abstraction to program that has 1 error locations. [2020-07-08 22:21:50,427 INFO L251 AbstractCegarLoop]: Starting to check reachability of 1 error locations. [2020-07-08 22:21:50,458 INFO L375 AbstractCegarLoop]: Interprodecural is true [2020-07-08 22:21:50,459 INFO L376 AbstractCegarLoop]: Hoare is true [2020-07-08 22:21:50,459 INFO L377 AbstractCegarLoop]: Compute interpolants for Craig_NestedInterpolation [2020-07-08 22:21:50,459 INFO L378 AbstractCegarLoop]: Backedges is STRAIGHT_LINE [2020-07-08 22:21:50,459 INFO L379 AbstractCegarLoop]: Determinization is PREDICATE_ABSTRACTION [2020-07-08 22:21:50,459 INFO L380 AbstractCegarLoop]: Difference is false [2020-07-08 22:21:50,460 INFO L381 AbstractCegarLoop]: Minimize is MINIMIZE_SEVPA [2020-07-08 22:21:50,461 INFO L385 AbstractCegarLoop]: ======== Iteration 0==of CEGAR loop == AllErrorsAtOnce======== [2020-07-08 22:21:50,479 INFO L276 IsEmpty]: Start isEmpty. Operand 70 states. [2020-07-08 22:21:50,491 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 22 [2020-07-08 22:21:50,491 INFO L414 BasicCegarLoop]: Found error trace [2020-07-08 22:21:50,493 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-08 22:21:50,493 INFO L427 AbstractCegarLoop]: === Iteration 1 === [__blast_assertErr0ASSERT_VIOLATIONERROR_FUNCTION]=== [2020-07-08 22:21:50,500 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2020-07-08 22:21:50,501 INFO L82 PathProgramCache]: Analyzing trace with hash 1653885127, now seen corresponding path program 1 times [2020-07-08 22:21:50,510 INFO L163 FreeRefinementEngine]: Executing refinement strategy FIXED_PREFERENCES [2020-07-08 22:21:50,511 INFO L354 FreeRefinementEngine]: Using trace check IpTcStrategyModulePreferences [693723942] [2020-07-08 22:21:50,511 INFO L94 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2020-07-08 22:21:50,652 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2020-07-08 22:21:50,912 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2020-07-08 22:21:50,944 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-08 22:21:50,946 INFO L280 TraceCheckUtils]: 1: Hoare triple {73#true} #valid := #valid[0 := 0]; {73#true} is VALID [2020-07-08 22:21:50,946 INFO L280 TraceCheckUtils]: 2: Hoare triple {73#true} assume 0 < #StackHeapBarrier; {73#true} is VALID [2020-07-08 22:21:50,947 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-08 22:21:50,947 INFO L280 TraceCheckUtils]: 4: Hoare triple {73#true} ~elem~0.base, ~elem~0.offset := 0, 0; {73#true} is VALID [2020-07-08 22:21:50,948 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-08 22:21:50,948 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-08 22:21:50,949 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-08 22:21:50,949 INFO L280 TraceCheckUtils]: 8: Hoare triple {73#true} assume true; {73#true} is VALID [2020-07-08 22:21:50,949 INFO L275 TraceCheckUtils]: 9: Hoare quadruple {73#true} {73#true} #109#return; {73#true} is VALID [2020-07-08 22:21:50,955 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-08 22:21:50,956 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-08 22:21:50,956 INFO L280 TraceCheckUtils]: 2: Hoare triple {73#true} #valid := #valid[0 := 0]; {73#true} is VALID [2020-07-08 22:21:50,956 INFO L280 TraceCheckUtils]: 3: Hoare triple {73#true} assume 0 < #StackHeapBarrier; {73#true} is VALID [2020-07-08 22:21:50,957 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-08 22:21:50,957 INFO L280 TraceCheckUtils]: 5: Hoare triple {73#true} ~elem~0.base, ~elem~0.offset := 0, 0; {73#true} is VALID [2020-07-08 22:21:50,958 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-08 22:21:50,958 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-08 22:21:50,959 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-08 22:21:50,959 INFO L280 TraceCheckUtils]: 9: Hoare triple {73#true} assume true; {73#true} is VALID [2020-07-08 22:21:50,959 INFO L275 TraceCheckUtils]: 10: Hoare quadruple {73#true} {73#true} #109#return; {73#true} is VALID [2020-07-08 22:21:50,960 INFO L263 TraceCheckUtils]: 11: Hoare triple {73#true} call #t~ret34 := main(); {73#true} is VALID [2020-07-08 22:21:50,960 INFO L280 TraceCheckUtils]: 12: Hoare triple {73#true} havoc ~dev1~0.base, ~dev1~0.offset; {73#true} is VALID [2020-07-08 22:21:50,960 INFO L280 TraceCheckUtils]: 13: Hoare triple {73#true} havoc ~dev2~0.base, ~dev2~0.offset; {73#true} is VALID [2020-07-08 22:21:50,963 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-08 22:21:50,964 INFO L280 TraceCheckUtils]: 15: Hoare triple {85#(= 8 |my_malloc_#in~size|)} ~size := #in~size; {86#(= 8 my_malloc_~size)} is VALID [2020-07-08 22:21:50,966 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-08 22:21:50,967 INFO L280 TraceCheckUtils]: 17: Hoare triple {87#(= 8 |__getMemory_#in~size|)} ~size := #in~size; {88#(= 8 __getMemory_~size)} is VALID [2020-07-08 22:21:50,968 INFO L280 TraceCheckUtils]: 18: Hoare triple {88#(= 8 __getMemory_~size)} assume !(~size > 0); {74#false} is VALID [2020-07-08 22:21:50,969 INFO L263 TraceCheckUtils]: 19: Hoare triple {74#false} call __blast_assert(); {74#false} is VALID [2020-07-08 22:21:50,969 INFO L280 TraceCheckUtils]: 20: Hoare triple {74#false} assume !false; {74#false} is VALID [2020-07-08 22:21:50,976 INFO L134 CoverageAnalysis]: Checked inductivity of 0 backedges. 0 proven. 0 refuted. 0 times theorem prover too weak. 0 trivial. 0 not checked. [2020-07-08 22:21:50,977 INFO L354 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModulePreferences [693723942] [2020-07-08 22:21:50,981 INFO L220 FreeRefinementEngine]: Constructing automaton from 1 perfect and 0 imperfect interpolant sequences. [2020-07-08 22:21:50,981 INFO L233 FreeRefinementEngine]: Number of different interpolants: perfect sequences [7] imperfect sequences [] total 7 [2020-07-08 22:21:50,982 INFO L156 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [1121097403] [2020-07-08 22:21:50,994 INFO L78 Accepts]: Start accepts. Automaton has 7 states. Word has length 21 [2020-07-08 22:21:51,002 INFO L84 Accepts]: Finished accepts. word is accepted. [2020-07-08 22:21:51,007 INFO L86 InductivityCheck]: Starting indutivity check of a Floyd-Hoare automaton with 7 states. [2020-07-08 22:21:51,065 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-08 22:21:51,066 INFO L459 AbstractCegarLoop]: Interpolant automaton has 7 states [2020-07-08 22:21:51,066 INFO L143 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy FIXED_PREFERENCES [2020-07-08 22:21:51,076 INFO L142 InterpolantAutomaton]: Constructing interpolant automaton starting with 7 interpolants. [2020-07-08 22:21:51,078 INFO L144 InterpolantAutomaton]: CoverageRelationStatistics Valid=11, Invalid=31, Unknown=0, NotChecked=0, Total=42 [2020-07-08 22:21:51,081 INFO L87 Difference]: Start difference. First operand 70 states. Second operand 7 states. [2020-07-08 22:21:52,605 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2020-07-08 22:21:52,606 INFO L93 Difference]: Finished difference Result 126 states and 151 transitions. [2020-07-08 22:21:52,606 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 9 states. [2020-07-08 22:21:52,606 INFO L78 Accepts]: Start accepts. Automaton has 7 states. Word has length 21 [2020-07-08 22:21:52,607 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2020-07-08 22:21:52,608 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 7 states. [2020-07-08 22:21:52,626 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 9 states to 9 states and 151 transitions. [2020-07-08 22:21:52,627 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 7 states. [2020-07-08 22:21:52,638 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 9 states to 9 states and 151 transitions. [2020-07-08 22:21:52,638 INFO L86 InductivityCheck]: Starting indutivity check of a Floyd-Hoare automaton with 9 states and 151 transitions. [2020-07-08 22:21:52,909 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-08 22:21:52,926 INFO L225 Difference]: With dead ends: 126 [2020-07-08 22:21:52,926 INFO L226 Difference]: Without dead ends: 66 [2020-07-08 22:21:52,933 INFO L675 BasicCegarLoop]: 0 DeclaredPredicates, 14 GetRequests, 3 SyntacticMatches, 0 SemanticMatches, 11 ConstructedPredicates, 0 IntricatePredicates, 0 DeprecatedPredicates, 13 ImplicationChecksByTransitivity, 0.3s TimeCoverageRelationStatistics Valid=41, Invalid=115, Unknown=0, NotChecked=0, Total=156 [2020-07-08 22:21:52,952 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 66 states. [2020-07-08 22:21:53,145 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 66 to 62. [2020-07-08 22:21:53,146 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2020-07-08 22:21:53,146 INFO L82 GeneralOperation]: Start isEquivalent. First operand 66 states. Second operand 62 states. [2020-07-08 22:21:53,147 INFO L74 IsIncluded]: Start isIncluded. First operand 66 states. Second operand 62 states. [2020-07-08 22:21:53,147 INFO L87 Difference]: Start difference. First operand 66 states. Second operand 62 states. [2020-07-08 22:21:53,157 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2020-07-08 22:21:53,157 INFO L93 Difference]: Finished difference Result 66 states and 72 transitions. [2020-07-08 22:21:53,157 INFO L276 IsEmpty]: Start isEmpty. Operand 66 states and 72 transitions. [2020-07-08 22:21:53,159 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2020-07-08 22:21:53,159 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2020-07-08 22:21:53,159 INFO L74 IsIncluded]: Start isIncluded. First operand 62 states. Second operand 66 states. [2020-07-08 22:21:53,160 INFO L87 Difference]: Start difference. First operand 62 states. Second operand 66 states. [2020-07-08 22:21:53,167 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2020-07-08 22:21:53,168 INFO L93 Difference]: Finished difference Result 66 states and 72 transitions. [2020-07-08 22:21:53,168 INFO L276 IsEmpty]: Start isEmpty. Operand 66 states and 72 transitions. [2020-07-08 22:21:53,170 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2020-07-08 22:21:53,170 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2020-07-08 22:21:53,170 INFO L88 GeneralOperation]: Finished isEquivalent. [2020-07-08 22:21:53,172 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2020-07-08 22:21:53,173 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 62 states. [2020-07-08 22:21:53,178 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 62 states to 62 states and 67 transitions. [2020-07-08 22:21:53,181 INFO L78 Accepts]: Start accepts. Automaton has 62 states and 67 transitions. Word has length 21 [2020-07-08 22:21:53,181 INFO L84 Accepts]: Finished accepts. word is rejected. [2020-07-08 22:21:53,182 INFO L479 AbstractCegarLoop]: Abstraction has 62 states and 67 transitions. [2020-07-08 22:21:53,182 INFO L480 AbstractCegarLoop]: Interpolant automaton has 7 states. [2020-07-08 22:21:53,182 INFO L86 InductivityCheck]: Starting indutivity check of a Floyd-Hoare automaton with 62 states and 67 transitions. [2020-07-08 22:21:53,307 INFO L119 InductivityCheck]: Floyd-Hoare automaton has 67 edges. 67 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2020-07-08 22:21:53,308 INFO L276 IsEmpty]: Start isEmpty. Operand 62 states and 67 transitions. [2020-07-08 22:21:53,310 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 62 [2020-07-08 22:21:53,311 INFO L414 BasicCegarLoop]: Found error trace [2020-07-08 22:21:53,311 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-08 22:21:53,312 WARN L516 AbstractCegarLoop]: Destroyed unattended storables created during the last iteration: SelfDestructingSolverStorable0 [2020-07-08 22:21:53,312 INFO L427 AbstractCegarLoop]: === Iteration 2 === [__blast_assertErr0ASSERT_VIOLATIONERROR_FUNCTION]=== [2020-07-08 22:21:53,312 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2020-07-08 22:21:53,312 INFO L82 PathProgramCache]: Analyzing trace with hash -1154270079, now seen corresponding path program 1 times [2020-07-08 22:21:53,313 INFO L163 FreeRefinementEngine]: Executing refinement strategy FIXED_PREFERENCES [2020-07-08 22:21:53,313 INFO L354 FreeRefinementEngine]: Using trace check IpTcStrategyModulePreferences [1435373416] [2020-07-08 22:21:53,313 INFO L94 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2020-07-08 22:21:53,398 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2020-07-08 22:21:53,554 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2020-07-08 22:21:53,565 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-08 22:21:53,566 INFO L280 TraceCheckUtils]: 1: Hoare triple {612#true} #valid := #valid[0 := 0]; {612#true} is VALID [2020-07-08 22:21:53,566 INFO L280 TraceCheckUtils]: 2: Hoare triple {612#true} assume 0 < #StackHeapBarrier; {612#true} is VALID [2020-07-08 22:21:53,566 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-08 22:21:53,567 INFO L280 TraceCheckUtils]: 4: Hoare triple {612#true} ~elem~0.base, ~elem~0.offset := 0, 0; {612#true} is VALID [2020-07-08 22:21:53,567 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-08 22:21:53,567 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-08 22:21:53,568 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-08 22:21:53,568 INFO L280 TraceCheckUtils]: 8: Hoare triple {612#true} assume true; {612#true} is VALID [2020-07-08 22:21:53,568 INFO L275 TraceCheckUtils]: 9: Hoare quadruple {612#true} {612#true} #109#return; {612#true} is VALID [2020-07-08 22:21:53,592 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2020-07-08 22:21:53,671 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2020-07-08 22:21:53,710 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-08 22:21:53,710 INFO L280 TraceCheckUtils]: 1: Hoare triple {612#true} assume ~size > 0; {612#true} is VALID [2020-07-08 22:21:53,711 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-08 22:21:53,711 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-08 22:21:53,711 INFO L280 TraceCheckUtils]: 4: Hoare triple {612#true} havoc #t~post28.base, #t~post28.offset; {612#true} is VALID [2020-07-08 22:21:53,712 INFO L280 TraceCheckUtils]: 5: Hoare triple {612#true} assume -2147483648 <= #t~nondet29 && #t~nondet29 <= 2147483647; {612#true} is VALID [2020-07-08 22:21:53,712 INFO L280 TraceCheckUtils]: 6: Hoare triple {612#true} assume 0 == #t~nondet29; {612#true} is VALID [2020-07-08 22:21:53,713 INFO L280 TraceCheckUtils]: 7: Hoare triple {612#true} havoc #t~nondet29; {612#true} is VALID [2020-07-08 22:21:53,714 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-08 22:21:53,715 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-08 22:21:53,717 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-08 22:21:53,718 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-08 22:21:53,719 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-08 22:21:53,720 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-08 22:21:53,720 INFO L280 TraceCheckUtils]: 3: Hoare triple {612#true} assume ~size > 0; {612#true} is VALID [2020-07-08 22:21:53,720 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-08 22:21:53,721 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-08 22:21:53,721 INFO L280 TraceCheckUtils]: 6: Hoare triple {612#true} havoc #t~post28.base, #t~post28.offset; {612#true} is VALID [2020-07-08 22:21:53,721 INFO L280 TraceCheckUtils]: 7: Hoare triple {612#true} assume -2147483648 <= #t~nondet29 && #t~nondet29 <= 2147483647; {612#true} is VALID [2020-07-08 22:21:53,722 INFO L280 TraceCheckUtils]: 8: Hoare triple {612#true} assume 0 == #t~nondet29; {612#true} is VALID [2020-07-08 22:21:53,722 INFO L280 TraceCheckUtils]: 9: Hoare triple {612#true} havoc #t~nondet29; {612#true} is VALID [2020-07-08 22:21:53,723 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-08 22:21:53,724 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-08 22:21:53,726 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-08 22:21:53,728 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-08 22:21:53,729 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-08 22:21:53,730 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-08 22:21:53,732 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-08 22:21:53,740 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2020-07-08 22:21:53,754 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2020-07-08 22:21:53,760 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-08 22:21:53,760 INFO L280 TraceCheckUtils]: 1: Hoare triple {612#true} assume ~size > 0; {612#true} is VALID [2020-07-08 22:21:53,761 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-08 22:21:53,761 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-08 22:21:53,761 INFO L280 TraceCheckUtils]: 4: Hoare triple {612#true} havoc #t~post28.base, #t~post28.offset; {612#true} is VALID [2020-07-08 22:21:53,762 INFO L280 TraceCheckUtils]: 5: Hoare triple {612#true} assume -2147483648 <= #t~nondet29 && #t~nondet29 <= 2147483647; {612#true} is VALID [2020-07-08 22:21:53,762 INFO L280 TraceCheckUtils]: 6: Hoare triple {612#true} assume 0 == #t~nondet29; {612#true} is VALID [2020-07-08 22:21:53,762 INFO L280 TraceCheckUtils]: 7: Hoare triple {612#true} havoc #t~nondet29; {612#true} is VALID [2020-07-08 22:21:53,763 INFO L280 TraceCheckUtils]: 8: Hoare triple {612#true} #res.base, #res.offset := 0, 0; {612#true} is VALID [2020-07-08 22:21:53,763 INFO L280 TraceCheckUtils]: 9: Hoare triple {612#true} assume true; {612#true} is VALID [2020-07-08 22:21:53,763 INFO L275 TraceCheckUtils]: 10: Hoare quadruple {612#true} {612#true} #91#return; {612#true} is VALID [2020-07-08 22:21:53,764 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-08 22:21:53,765 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-08 22:21:53,766 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-08 22:21:53,766 INFO L280 TraceCheckUtils]: 3: Hoare triple {612#true} assume ~size > 0; {612#true} is VALID [2020-07-08 22:21:53,766 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-08 22:21:53,766 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-08 22:21:53,767 INFO L280 TraceCheckUtils]: 6: Hoare triple {612#true} havoc #t~post28.base, #t~post28.offset; {612#true} is VALID [2020-07-08 22:21:53,767 INFO L280 TraceCheckUtils]: 7: Hoare triple {612#true} assume -2147483648 <= #t~nondet29 && #t~nondet29 <= 2147483647; {612#true} is VALID [2020-07-08 22:21:53,767 INFO L280 TraceCheckUtils]: 8: Hoare triple {612#true} assume 0 == #t~nondet29; {612#true} is VALID [2020-07-08 22:21:53,768 INFO L280 TraceCheckUtils]: 9: Hoare triple {612#true} havoc #t~nondet29; {612#true} is VALID [2020-07-08 22:21:53,768 INFO L280 TraceCheckUtils]: 10: Hoare triple {612#true} #res.base, #res.offset := 0, 0; {612#true} is VALID [2020-07-08 22:21:53,768 INFO L280 TraceCheckUtils]: 11: Hoare triple {612#true} assume true; {612#true} is VALID [2020-07-08 22:21:53,768 INFO L275 TraceCheckUtils]: 12: Hoare quadruple {612#true} {612#true} #91#return; {612#true} is VALID [2020-07-08 22:21:53,769 INFO L280 TraceCheckUtils]: 13: Hoare triple {612#true} #res.base, #res.offset := #t~ret30.base, #t~ret30.offset; {612#true} is VALID [2020-07-08 22:21:53,769 INFO L280 TraceCheckUtils]: 14: Hoare triple {612#true} havoc #t~ret30.base, #t~ret30.offset; {612#true} is VALID [2020-07-08 22:21:53,769 INFO L280 TraceCheckUtils]: 15: Hoare triple {612#true} assume true; {612#true} is VALID [2020-07-08 22:21:53,771 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-08 22:21:53,773 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-08 22:21:53,773 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-08 22:21:53,774 INFO L280 TraceCheckUtils]: 2: Hoare triple {612#true} #valid := #valid[0 := 0]; {612#true} is VALID [2020-07-08 22:21:53,774 INFO L280 TraceCheckUtils]: 3: Hoare triple {612#true} assume 0 < #StackHeapBarrier; {612#true} is VALID [2020-07-08 22:21:53,774 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-08 22:21:53,775 INFO L280 TraceCheckUtils]: 5: Hoare triple {612#true} ~elem~0.base, ~elem~0.offset := 0, 0; {612#true} is VALID [2020-07-08 22:21:53,775 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-08 22:21:53,775 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-08 22:21:53,775 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-08 22:21:53,776 INFO L280 TraceCheckUtils]: 9: Hoare triple {612#true} assume true; {612#true} is VALID [2020-07-08 22:21:53,776 INFO L275 TraceCheckUtils]: 10: Hoare quadruple {612#true} {612#true} #109#return; {612#true} is VALID [2020-07-08 22:21:53,776 INFO L263 TraceCheckUtils]: 11: Hoare triple {612#true} call #t~ret34 := main(); {612#true} is VALID [2020-07-08 22:21:53,777 INFO L280 TraceCheckUtils]: 12: Hoare triple {612#true} havoc ~dev1~0.base, ~dev1~0.offset; {612#true} is VALID [2020-07-08 22:21:53,777 INFO L280 TraceCheckUtils]: 13: Hoare triple {612#true} havoc ~dev2~0.base, ~dev2~0.offset; {612#true} is VALID [2020-07-08 22:21:53,778 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-08 22:21:53,778 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-08 22:21:53,780 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-08 22:21:53,780 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-08 22:21:53,780 INFO L280 TraceCheckUtils]: 18: Hoare triple {612#true} assume ~size > 0; {612#true} is VALID [2020-07-08 22:21:53,781 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-08 22:21:53,781 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-08 22:21:53,781 INFO L280 TraceCheckUtils]: 21: Hoare triple {612#true} havoc #t~post28.base, #t~post28.offset; {612#true} is VALID [2020-07-08 22:21:53,782 INFO L280 TraceCheckUtils]: 22: Hoare triple {612#true} assume -2147483648 <= #t~nondet29 && #t~nondet29 <= 2147483647; {612#true} is VALID [2020-07-08 22:21:53,782 INFO L280 TraceCheckUtils]: 23: Hoare triple {612#true} assume 0 == #t~nondet29; {612#true} is VALID [2020-07-08 22:21:53,782 INFO L280 TraceCheckUtils]: 24: Hoare triple {612#true} havoc #t~nondet29; {612#true} is VALID [2020-07-08 22:21:53,783 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-08 22:21:53,784 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-08 22:21:53,786 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-08 22:21:53,787 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-08 22:21:53,788 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-08 22:21:53,789 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-08 22:21:53,791 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-08 22:21:53,792 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-08 22:21:53,793 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-08 22:21:53,795 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-08 22:21:53,795 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-08 22:21:53,796 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-08 22:21:53,797 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-08 22:21:53,797 INFO L280 TraceCheckUtils]: 38: Hoare triple {612#true} assume ~size > 0; {612#true} is VALID [2020-07-08 22:21:53,797 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-08 22:21:53,797 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-08 22:21:53,798 INFO L280 TraceCheckUtils]: 41: Hoare triple {612#true} havoc #t~post28.base, #t~post28.offset; {612#true} is VALID [2020-07-08 22:21:53,798 INFO L280 TraceCheckUtils]: 42: Hoare triple {612#true} assume -2147483648 <= #t~nondet29 && #t~nondet29 <= 2147483647; {612#true} is VALID [2020-07-08 22:21:53,798 INFO L280 TraceCheckUtils]: 43: Hoare triple {612#true} assume 0 == #t~nondet29; {612#true} is VALID [2020-07-08 22:21:53,798 INFO L280 TraceCheckUtils]: 44: Hoare triple {612#true} havoc #t~nondet29; {612#true} is VALID [2020-07-08 22:21:53,799 INFO L280 TraceCheckUtils]: 45: Hoare triple {612#true} #res.base, #res.offset := 0, 0; {612#true} is VALID [2020-07-08 22:21:53,799 INFO L280 TraceCheckUtils]: 46: Hoare triple {612#true} assume true; {612#true} is VALID [2020-07-08 22:21:53,799 INFO L275 TraceCheckUtils]: 47: Hoare quadruple {612#true} {612#true} #91#return; {612#true} is VALID [2020-07-08 22:21:53,799 INFO L280 TraceCheckUtils]: 48: Hoare triple {612#true} #res.base, #res.offset := #t~ret30.base, #t~ret30.offset; {612#true} is VALID [2020-07-08 22:21:53,800 INFO L280 TraceCheckUtils]: 49: Hoare triple {612#true} havoc #t~ret30.base, #t~ret30.offset; {612#true} is VALID [2020-07-08 22:21:53,800 INFO L280 TraceCheckUtils]: 50: Hoare triple {612#true} assume true; {612#true} is VALID [2020-07-08 22:21:53,801 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-08 22:21:53,802 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-08 22:21:53,804 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-08 22:21:53,805 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-08 22:21:53,805 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-08 22:21:53,805 INFO L280 TraceCheckUtils]: 56: Hoare triple {613#false} ~new.base, ~new.offset := #in~new.base, #in~new.offset; {613#false} is VALID [2020-07-08 22:21:53,805 INFO L280 TraceCheckUtils]: 57: Hoare triple {613#false} ~head.base, ~head.offset := #in~head.base, #in~head.offset; {613#false} is VALID [2020-07-08 22:21:53,806 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-08 22:21:53,806 INFO L263 TraceCheckUtils]: 59: Hoare triple {613#false} call __blast_assert(); {613#false} is VALID [2020-07-08 22:21:53,806 INFO L280 TraceCheckUtils]: 60: Hoare triple {613#false} assume !false; {613#false} is VALID [2020-07-08 22:21:53,829 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-08 22:21:53,830 INFO L354 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModulePreferences [1435373416] [2020-07-08 22:21:53,830 INFO L220 FreeRefinementEngine]: Constructing automaton from 0 perfect and 1 imperfect interpolant sequences. [2020-07-08 22:21:53,830 INFO L233 FreeRefinementEngine]: Number of different interpolants: perfect sequences [] imperfect sequences [9] total 9 [2020-07-08 22:21:53,831 INFO L156 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [613787193] [2020-07-08 22:21:53,833 INFO L78 Accepts]: Start accepts. Automaton has 9 states. Word has length 61 [2020-07-08 22:21:53,833 INFO L84 Accepts]: Finished accepts. word is accepted. [2020-07-08 22:21:53,834 INFO L86 InductivityCheck]: Starting indutivity check of a Floyd-Hoare automaton with 9 states. [2020-07-08 22:21:53,895 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-08 22:21:53,896 INFO L459 AbstractCegarLoop]: Interpolant automaton has 9 states [2020-07-08 22:21:53,896 INFO L143 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy FIXED_PREFERENCES [2020-07-08 22:21:53,896 INFO L142 InterpolantAutomaton]: Constructing interpolant automaton starting with 9 interpolants. [2020-07-08 22:21:53,897 INFO L144 InterpolantAutomaton]: CoverageRelationStatistics Valid=16, Invalid=56, Unknown=0, NotChecked=0, Total=72 [2020-07-08 22:21:53,897 INFO L87 Difference]: Start difference. First operand 62 states and 67 transitions. Second operand 9 states. [2020-07-08 22:21:55,258 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2020-07-08 22:21:55,258 INFO L93 Difference]: Finished difference Result 100 states and 112 transitions. [2020-07-08 22:21:55,258 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 11 states. [2020-07-08 22:21:55,258 INFO L78 Accepts]: Start accepts. Automaton has 9 states. Word has length 61 [2020-07-08 22:21:55,259 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2020-07-08 22:21:55,259 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 9 states. [2020-07-08 22:21:55,264 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 11 states to 11 states and 112 transitions. [2020-07-08 22:21:55,265 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 9 states. [2020-07-08 22:21:55,270 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 11 states to 11 states and 112 transitions. [2020-07-08 22:21:55,270 INFO L86 InductivityCheck]: Starting indutivity check of a Floyd-Hoare automaton with 11 states and 112 transitions. [2020-07-08 22:21:55,421 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-08 22:21:55,426 INFO L225 Difference]: With dead ends: 100 [2020-07-08 22:21:55,426 INFO L226 Difference]: Without dead ends: 72 [2020-07-08 22:21:55,428 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-08 22:21:55,428 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 72 states. [2020-07-08 22:21:55,643 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 72 to 68. [2020-07-08 22:21:55,643 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2020-07-08 22:21:55,643 INFO L82 GeneralOperation]: Start isEquivalent. First operand 72 states. Second operand 68 states. [2020-07-08 22:21:55,643 INFO L74 IsIncluded]: Start isIncluded. First operand 72 states. Second operand 68 states. [2020-07-08 22:21:55,644 INFO L87 Difference]: Start difference. First operand 72 states. Second operand 68 states. [2020-07-08 22:21:55,655 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2020-07-08 22:21:55,655 INFO L93 Difference]: Finished difference Result 72 states and 78 transitions. [2020-07-08 22:21:55,656 INFO L276 IsEmpty]: Start isEmpty. Operand 72 states and 78 transitions. [2020-07-08 22:21:55,657 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2020-07-08 22:21:55,657 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2020-07-08 22:21:55,657 INFO L74 IsIncluded]: Start isIncluded. First operand 68 states. Second operand 72 states. [2020-07-08 22:21:55,658 INFO L87 Difference]: Start difference. First operand 68 states. Second operand 72 states. [2020-07-08 22:21:55,672 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2020-07-08 22:21:55,673 INFO L93 Difference]: Finished difference Result 72 states and 78 transitions. [2020-07-08 22:21:55,673 INFO L276 IsEmpty]: Start isEmpty. Operand 72 states and 78 transitions. [2020-07-08 22:21:55,674 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2020-07-08 22:21:55,674 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2020-07-08 22:21:55,674 INFO L88 GeneralOperation]: Finished isEquivalent. [2020-07-08 22:21:55,674 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2020-07-08 22:21:55,674 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 68 states. [2020-07-08 22:21:55,682 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 68 states to 68 states and 73 transitions. [2020-07-08 22:21:55,683 INFO L78 Accepts]: Start accepts. Automaton has 68 states and 73 transitions. Word has length 61 [2020-07-08 22:21:55,683 INFO L84 Accepts]: Finished accepts. word is rejected. [2020-07-08 22:21:55,683 INFO L479 AbstractCegarLoop]: Abstraction has 68 states and 73 transitions. [2020-07-08 22:21:55,683 INFO L480 AbstractCegarLoop]: Interpolant automaton has 9 states. [2020-07-08 22:21:55,683 INFO L86 InductivityCheck]: Starting indutivity check of a Floyd-Hoare automaton with 68 states and 73 transitions. [2020-07-08 22:21:55,807 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-08 22:21:55,808 INFO L276 IsEmpty]: Start isEmpty. Operand 68 states and 73 transitions. [2020-07-08 22:21:55,812 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 62 [2020-07-08 22:21:55,813 INFO L414 BasicCegarLoop]: Found error trace [2020-07-08 22:21:55,813 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-08 22:21:55,815 WARN L516 AbstractCegarLoop]: Destroyed unattended storables created during the last iteration: SelfDestructingSolverStorable1 [2020-07-08 22:21:55,816 INFO L427 AbstractCegarLoop]: === Iteration 3 === [__blast_assertErr0ASSERT_VIOLATIONERROR_FUNCTION]=== [2020-07-08 22:21:55,816 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2020-07-08 22:21:55,816 INFO L82 PathProgramCache]: Analyzing trace with hash 1531514875, now seen corresponding path program 1 times [2020-07-08 22:21:55,816 INFO L163 FreeRefinementEngine]: Executing refinement strategy FIXED_PREFERENCES [2020-07-08 22:21:55,817 INFO L354 FreeRefinementEngine]: Using trace check IpTcStrategyModulePreferences [1093431063] [2020-07-08 22:21:55,817 INFO L94 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2020-07-08 22:21:55,859 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2020-07-08 22:21:56,078 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2020-07-08 22:21:56,116 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-08 22:21:56,116 INFO L280 TraceCheckUtils]: 1: Hoare triple {1173#true} #valid := #valid[0 := 0]; {1173#true} is VALID [2020-07-08 22:21:56,116 INFO L280 TraceCheckUtils]: 2: Hoare triple {1173#true} assume 0 < #StackHeapBarrier; {1173#true} is VALID [2020-07-08 22:21:56,117 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-08 22:21:56,118 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-08 22:21:56,118 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-08 22:21:56,119 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-08 22:21:56,120 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-08 22:21:56,121 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-08 22:21:56,122 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-08 22:21:56,145 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2020-07-08 22:21:56,210 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2020-07-08 22:21:56,251 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-08 22:21:56,252 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-08 22:21:56,253 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-08 22:21:56,254 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-08 22:21:56,255 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-08 22:21:56,256 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-08 22:21:56,257 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-08 22:21:56,258 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-08 22:21:56,258 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-08 22:21:56,259 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-08 22:21:56,261 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-08 22:21:56,262 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-08 22:21:56,263 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-08 22:21:56,264 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-08 22:21:56,265 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-08 22:21:56,266 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-08 22:21:56,267 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-08 22:21:56,267 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-08 22:21:56,268 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-08 22:21:56,269 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-08 22:21:56,270 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-08 22:21:56,271 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-08 22:21:56,271 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-08 22:21:56,273 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-08 22:21:56,278 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-08 22:21:56,279 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-08 22:21:56,280 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-08 22:21:56,281 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-08 22:21:56,294 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2020-07-08 22:21:56,362 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2020-07-08 22:21:56,401 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-08 22:21:56,404 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-08 22:21:56,405 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-08 22:21:56,406 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-08 22:21:56,407 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-08 22:21:56,407 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-08 22:21:56,414 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-08 22:21:56,414 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-08 22:21:56,415 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-08 22:21:56,416 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-08 22:21:56,417 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-08 22:21:56,418 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-08 22:21:56,419 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-08 22:21:56,419 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-08 22:21:56,420 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-08 22:21:56,420 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-08 22:21:56,421 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-08 22:21:56,421 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-08 22:21:56,422 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-08 22:21:56,427 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-08 22:21:56,428 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-08 22:21:56,429 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-08 22:21:56,429 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-08 22:21:56,431 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-08 22:21:56,432 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-08 22:21:56,435 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-08 22:21:56,440 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-08 22:21:56,442 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-08 22:21:56,445 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-08 22:21:56,445 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-08 22:21:56,446 INFO L280 TraceCheckUtils]: 2: Hoare triple {1173#true} #valid := #valid[0 := 0]; {1173#true} is VALID [2020-07-08 22:21:56,446 INFO L280 TraceCheckUtils]: 3: Hoare triple {1173#true} assume 0 < #StackHeapBarrier; {1173#true} is VALID [2020-07-08 22:21:56,447 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-08 22:21:56,448 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-08 22:21:56,449 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-08 22:21:56,450 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-08 22:21:56,451 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-08 22:21:56,452 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-08 22:21:56,454 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-08 22:21:56,455 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-08 22:21:56,456 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-08 22:21:56,456 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-08 22:21:56,458 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-08 22:21:56,458 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-08 22:21:56,460 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-08 22:21:56,460 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-08 22:21:56,461 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-08 22:21:56,462 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-08 22:21:56,463 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-08 22:21:56,464 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-08 22:21:56,464 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-08 22:21:56,465 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-08 22:21:56,466 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-08 22:21:56,467 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-08 22:21:56,467 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-08 22:21:56,469 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-08 22:21:56,471 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-08 22:21:56,473 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-08 22:21:56,476 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-08 22:21:56,481 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-08 22:21:56,483 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-08 22:21:56,485 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-08 22:21:56,485 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-08 22:21:56,486 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-08 22:21:56,487 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-08 22:21:56,488 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-08 22:21:56,489 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-08 22:21:56,490 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-08 22:21:56,490 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-08 22:21:56,491 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-08 22:21:56,491 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-08 22:21:56,492 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-08 22:21:56,492 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-08 22:21:56,493 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-08 22:21:56,494 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-08 22:21:56,499 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-08 22:21:56,501 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-08 22:21:56,501 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-08 22:21:56,502 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-08 22:21:56,504 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-08 22:21:56,505 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-08 22:21:56,506 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-08 22:21:56,506 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-08 22:21:56,508 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-08 22:21:56,509 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-08 22:21:56,510 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-08 22:21:56,511 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-08 22:21:56,511 INFO L263 TraceCheckUtils]: 59: Hoare triple {1174#false} call __blast_assert(); {1174#false} is VALID [2020-07-08 22:21:56,511 INFO L280 TraceCheckUtils]: 60: Hoare triple {1174#false} assume !false; {1174#false} is VALID [2020-07-08 22:21:56,521 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-08 22:21:56,522 INFO L354 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModulePreferences [1093431063] [2020-07-08 22:21:56,522 INFO L220 FreeRefinementEngine]: Constructing automaton from 0 perfect and 1 imperfect interpolant sequences. [2020-07-08 22:21:56,522 INFO L233 FreeRefinementEngine]: Number of different interpolants: perfect sequences [] imperfect sequences [17] total 17 [2020-07-08 22:21:56,522 INFO L156 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [964015284] [2020-07-08 22:21:56,523 INFO L78 Accepts]: Start accepts. Automaton has 17 states. Word has length 61 [2020-07-08 22:21:56,526 INFO L84 Accepts]: Finished accepts. word is accepted. [2020-07-08 22:21:56,526 INFO L86 InductivityCheck]: Starting indutivity check of a Floyd-Hoare automaton with 17 states. [2020-07-08 22:21:56,590 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-08 22:21:56,590 INFO L459 AbstractCegarLoop]: Interpolant automaton has 17 states [2020-07-08 22:21:56,591 INFO L143 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy FIXED_PREFERENCES [2020-07-08 22:21:56,591 INFO L142 InterpolantAutomaton]: Constructing interpolant automaton starting with 17 interpolants. [2020-07-08 22:21:56,591 INFO L144 InterpolantAutomaton]: CoverageRelationStatistics Valid=35, Invalid=237, Unknown=0, NotChecked=0, Total=272 [2020-07-08 22:21:56,592 INFO L87 Difference]: Start difference. First operand 68 states and 73 transitions. Second operand 17 states. [2020-07-08 22:22:02,151 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2020-07-08 22:22:02,151 INFO L93 Difference]: Finished difference Result 121 states and 138 transitions. [2020-07-08 22:22:02,151 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 23 states. [2020-07-08 22:22:02,151 INFO L78 Accepts]: Start accepts. Automaton has 17 states. Word has length 61 [2020-07-08 22:22:02,152 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2020-07-08 22:22:02,152 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 17 states. [2020-07-08 22:22:02,158 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 23 states to 23 states and 138 transitions. [2020-07-08 22:22:02,158 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 17 states. [2020-07-08 22:22:02,164 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 23 states to 23 states and 138 transitions. [2020-07-08 22:22:02,164 INFO L86 InductivityCheck]: Starting indutivity check of a Floyd-Hoare automaton with 23 states and 138 transitions. [2020-07-08 22:22:02,441 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-08 22:22:02,448 INFO L225 Difference]: With dead ends: 121 [2020-07-08 22:22:02,448 INFO L226 Difference]: Without dead ends: 116 [2020-07-08 22:22:02,449 INFO L675 BasicCegarLoop]: 0 DeclaredPredicates, 44 GetRequests, 13 SyntacticMatches, 0 SemanticMatches, 31 ConstructedPredicates, 0 IntricatePredicates, 0 DeprecatedPredicates, 126 ImplicationChecksByTransitivity, 0.8s TimeCoverageRelationStatistics Valid=150, Invalid=906, Unknown=0, NotChecked=0, Total=1056 [2020-07-08 22:22:02,450 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 116 states. [2020-07-08 22:22:02,892 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 116 to 101. [2020-07-08 22:22:02,893 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2020-07-08 22:22:02,893 INFO L82 GeneralOperation]: Start isEquivalent. First operand 116 states. Second operand 101 states. [2020-07-08 22:22:02,893 INFO L74 IsIncluded]: Start isIncluded. First operand 116 states. Second operand 101 states. [2020-07-08 22:22:02,893 INFO L87 Difference]: Start difference. First operand 116 states. Second operand 101 states. [2020-07-08 22:22:02,904 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2020-07-08 22:22:02,904 INFO L93 Difference]: Finished difference Result 116 states and 129 transitions. [2020-07-08 22:22:02,905 INFO L276 IsEmpty]: Start isEmpty. Operand 116 states and 129 transitions. [2020-07-08 22:22:02,906 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2020-07-08 22:22:02,906 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2020-07-08 22:22:02,907 INFO L74 IsIncluded]: Start isIncluded. First operand 101 states. Second operand 116 states. [2020-07-08 22:22:02,907 INFO L87 Difference]: Start difference. First operand 101 states. Second operand 116 states. [2020-07-08 22:22:02,920 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2020-07-08 22:22:02,920 INFO L93 Difference]: Finished difference Result 116 states and 129 transitions. [2020-07-08 22:22:02,921 INFO L276 IsEmpty]: Start isEmpty. Operand 116 states and 129 transitions. [2020-07-08 22:22:02,921 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2020-07-08 22:22:02,922 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2020-07-08 22:22:02,922 INFO L88 GeneralOperation]: Finished isEquivalent. [2020-07-08 22:22:02,922 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2020-07-08 22:22:02,922 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 101 states. [2020-07-08 22:22:02,930 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 101 states to 101 states and 115 transitions. [2020-07-08 22:22:02,931 INFO L78 Accepts]: Start accepts. Automaton has 101 states and 115 transitions. Word has length 61 [2020-07-08 22:22:02,933 INFO L84 Accepts]: Finished accepts. word is rejected. [2020-07-08 22:22:02,934 INFO L479 AbstractCegarLoop]: Abstraction has 101 states and 115 transitions. [2020-07-08 22:22:02,934 INFO L480 AbstractCegarLoop]: Interpolant automaton has 17 states. [2020-07-08 22:22:02,934 INFO L86 InductivityCheck]: Starting indutivity check of a Floyd-Hoare automaton with 101 states and 115 transitions. [2020-07-08 22:22:03,179 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-08 22:22:03,180 INFO L276 IsEmpty]: Start isEmpty. Operand 101 states and 115 transitions. [2020-07-08 22:22:03,181 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 62 [2020-07-08 22:22:03,182 INFO L414 BasicCegarLoop]: Found error trace [2020-07-08 22:22:03,182 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-08 22:22:03,182 WARN L516 AbstractCegarLoop]: Destroyed unattended storables created during the last iteration: SelfDestructingSolverStorable2 [2020-07-08 22:22:03,182 INFO L427 AbstractCegarLoop]: === Iteration 4 === [__blast_assertErr0ASSERT_VIOLATIONERROR_FUNCTION]=== [2020-07-08 22:22:03,183 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2020-07-08 22:22:03,183 INFO L82 PathProgramCache]: Analyzing trace with hash 1994405374, now seen corresponding path program 1 times [2020-07-08 22:22:03,183 INFO L163 FreeRefinementEngine]: Executing refinement strategy FIXED_PREFERENCES [2020-07-08 22:22:03,183 INFO L354 FreeRefinementEngine]: Using trace check IpTcStrategyModulePreferences [1191397506] [2020-07-08 22:22:03,183 INFO L94 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2020-07-08 22:22:03,199 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2020-07-08 22:22:03,316 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2020-07-08 22:22:03,335 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-08 22:22:03,335 INFO L280 TraceCheckUtils]: 1: Hoare triple {1966#true} #valid := #valid[0 := 0]; {1966#true} is VALID [2020-07-08 22:22:03,335 INFO L280 TraceCheckUtils]: 2: Hoare triple {1966#true} assume 0 < #StackHeapBarrier; {1966#true} is VALID [2020-07-08 22:22:03,335 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-08 22:22:03,336 INFO L280 TraceCheckUtils]: 4: Hoare triple {1966#true} ~elem~0.base, ~elem~0.offset := 0, 0; {1966#true} is VALID [2020-07-08 22:22:03,336 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-08 22:22:03,336 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-08 22:22:03,336 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-08 22:22:03,336 INFO L280 TraceCheckUtils]: 8: Hoare triple {1966#true} assume true; {1966#true} is VALID [2020-07-08 22:22:03,337 INFO L275 TraceCheckUtils]: 9: Hoare quadruple {1966#true} {1966#true} #109#return; {1966#true} is VALID [2020-07-08 22:22:03,353 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2020-07-08 22:22:03,359 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2020-07-08 22:22:03,364 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-08 22:22:03,364 INFO L280 TraceCheckUtils]: 1: Hoare triple {1966#true} assume ~size > 0; {1966#true} is VALID [2020-07-08 22:22:03,365 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-08 22:22:03,365 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-08 22:22:03,365 INFO L280 TraceCheckUtils]: 4: Hoare triple {1966#true} havoc #t~post28.base, #t~post28.offset; {1966#true} is VALID [2020-07-08 22:22:03,365 INFO L280 TraceCheckUtils]: 5: Hoare triple {1966#true} assume -2147483648 <= #t~nondet29 && #t~nondet29 <= 2147483647; {1966#true} is VALID [2020-07-08 22:22:03,366 INFO L280 TraceCheckUtils]: 6: Hoare triple {1966#true} assume !(0 == #t~nondet29); {1966#true} is VALID [2020-07-08 22:22:03,366 INFO L280 TraceCheckUtils]: 7: Hoare triple {1966#true} havoc #t~nondet29; {1966#true} is VALID [2020-07-08 22:22:03,366 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-08 22:22:03,366 INFO L280 TraceCheckUtils]: 9: Hoare triple {1966#true} assume true; {1966#true} is VALID [2020-07-08 22:22:03,367 INFO L275 TraceCheckUtils]: 10: Hoare quadruple {1966#true} {1966#true} #91#return; {1966#true} is VALID [2020-07-08 22:22:03,367 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-08 22:22:03,368 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-08 22:22:03,368 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-08 22:22:03,369 INFO L280 TraceCheckUtils]: 3: Hoare triple {1966#true} assume ~size > 0; {1966#true} is VALID [2020-07-08 22:22:03,369 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-08 22:22:03,369 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-08 22:22:03,369 INFO L280 TraceCheckUtils]: 6: Hoare triple {1966#true} havoc #t~post28.base, #t~post28.offset; {1966#true} is VALID [2020-07-08 22:22:03,370 INFO L280 TraceCheckUtils]: 7: Hoare triple {1966#true} assume -2147483648 <= #t~nondet29 && #t~nondet29 <= 2147483647; {1966#true} is VALID [2020-07-08 22:22:03,370 INFO L280 TraceCheckUtils]: 8: Hoare triple {1966#true} assume !(0 == #t~nondet29); {1966#true} is VALID [2020-07-08 22:22:03,370 INFO L280 TraceCheckUtils]: 9: Hoare triple {1966#true} havoc #t~nondet29; {1966#true} is VALID [2020-07-08 22:22:03,370 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-08 22:22:03,370 INFO L280 TraceCheckUtils]: 11: Hoare triple {1966#true} assume true; {1966#true} is VALID [2020-07-08 22:22:03,371 INFO L275 TraceCheckUtils]: 12: Hoare quadruple {1966#true} {1966#true} #91#return; {1966#true} is VALID [2020-07-08 22:22:03,371 INFO L280 TraceCheckUtils]: 13: Hoare triple {1966#true} #res.base, #res.offset := #t~ret30.base, #t~ret30.offset; {1966#true} is VALID [2020-07-08 22:22:03,371 INFO L280 TraceCheckUtils]: 14: Hoare triple {1966#true} havoc #t~ret30.base, #t~ret30.offset; {1966#true} is VALID [2020-07-08 22:22:03,371 INFO L280 TraceCheckUtils]: 15: Hoare triple {1966#true} assume true; {1966#true} is VALID [2020-07-08 22:22:03,372 INFO L275 TraceCheckUtils]: 16: Hoare quadruple {1966#true} {1966#true} #93#return; {1966#true} is VALID [2020-07-08 22:22:03,378 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2020-07-08 22:22:03,436 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2020-07-08 22:22:03,467 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-08 22:22:03,467 INFO L280 TraceCheckUtils]: 1: Hoare triple {1966#true} assume ~size > 0; {1966#true} is VALID [2020-07-08 22:22:03,468 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-08 22:22:03,468 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-08 22:22:03,468 INFO L280 TraceCheckUtils]: 4: Hoare triple {1966#true} havoc #t~post28.base, #t~post28.offset; {1966#true} is VALID [2020-07-08 22:22:03,468 INFO L280 TraceCheckUtils]: 5: Hoare triple {1966#true} assume -2147483648 <= #t~nondet29 && #t~nondet29 <= 2147483647; {1966#true} is VALID [2020-07-08 22:22:03,468 INFO L280 TraceCheckUtils]: 6: Hoare triple {1966#true} assume 0 == #t~nondet29; {1966#true} is VALID [2020-07-08 22:22:03,469 INFO L280 TraceCheckUtils]: 7: Hoare triple {1966#true} havoc #t~nondet29; {1966#true} is VALID [2020-07-08 22:22:03,470 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-08 22:22:03,470 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-08 22:22:03,472 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-08 22:22:03,473 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-08 22:22:03,478 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-08 22:22:03,479 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-08 22:22:03,479 INFO L280 TraceCheckUtils]: 3: Hoare triple {1966#true} assume ~size > 0; {1966#true} is VALID [2020-07-08 22:22:03,480 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-08 22:22:03,480 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-08 22:22:03,480 INFO L280 TraceCheckUtils]: 6: Hoare triple {1966#true} havoc #t~post28.base, #t~post28.offset; {1966#true} is VALID [2020-07-08 22:22:03,480 INFO L280 TraceCheckUtils]: 7: Hoare triple {1966#true} assume -2147483648 <= #t~nondet29 && #t~nondet29 <= 2147483647; {1966#true} is VALID [2020-07-08 22:22:03,480 INFO L280 TraceCheckUtils]: 8: Hoare triple {1966#true} assume 0 == #t~nondet29; {1966#true} is VALID [2020-07-08 22:22:03,481 INFO L280 TraceCheckUtils]: 9: Hoare triple {1966#true} havoc #t~nondet29; {1966#true} is VALID [2020-07-08 22:22:03,481 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-08 22:22:03,483 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-08 22:22:03,485 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-08 22:22:03,486 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-08 22:22:03,487 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-08 22:22:03,488 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-08 22:22:03,490 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-08 22:22:03,492 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-08 22:22:03,492 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-08 22:22:03,492 INFO L280 TraceCheckUtils]: 2: Hoare triple {1966#true} #valid := #valid[0 := 0]; {1966#true} is VALID [2020-07-08 22:22:03,493 INFO L280 TraceCheckUtils]: 3: Hoare triple {1966#true} assume 0 < #StackHeapBarrier; {1966#true} is VALID [2020-07-08 22:22:03,493 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-08 22:22:03,493 INFO L280 TraceCheckUtils]: 5: Hoare triple {1966#true} ~elem~0.base, ~elem~0.offset := 0, 0; {1966#true} is VALID [2020-07-08 22:22:03,493 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-08 22:22:03,493 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-08 22:22:03,494 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-08 22:22:03,494 INFO L280 TraceCheckUtils]: 9: Hoare triple {1966#true} assume true; {1966#true} is VALID [2020-07-08 22:22:03,494 INFO L275 TraceCheckUtils]: 10: Hoare quadruple {1966#true} {1966#true} #109#return; {1966#true} is VALID [2020-07-08 22:22:03,494 INFO L263 TraceCheckUtils]: 11: Hoare triple {1966#true} call #t~ret34 := main(); {1966#true} is VALID [2020-07-08 22:22:03,494 INFO L280 TraceCheckUtils]: 12: Hoare triple {1966#true} havoc ~dev1~0.base, ~dev1~0.offset; {1966#true} is VALID [2020-07-08 22:22:03,495 INFO L280 TraceCheckUtils]: 13: Hoare triple {1966#true} havoc ~dev2~0.base, ~dev2~0.offset; {1966#true} is VALID [2020-07-08 22:22:03,496 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-08 22:22:03,496 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-08 22:22:03,497 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-08 22:22:03,497 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-08 22:22:03,498 INFO L280 TraceCheckUtils]: 18: Hoare triple {1966#true} assume ~size > 0; {1966#true} is VALID [2020-07-08 22:22:03,498 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-08 22:22:03,498 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-08 22:22:03,498 INFO L280 TraceCheckUtils]: 21: Hoare triple {1966#true} havoc #t~post28.base, #t~post28.offset; {1966#true} is VALID [2020-07-08 22:22:03,498 INFO L280 TraceCheckUtils]: 22: Hoare triple {1966#true} assume -2147483648 <= #t~nondet29 && #t~nondet29 <= 2147483647; {1966#true} is VALID [2020-07-08 22:22:03,499 INFO L280 TraceCheckUtils]: 23: Hoare triple {1966#true} assume !(0 == #t~nondet29); {1966#true} is VALID [2020-07-08 22:22:03,499 INFO L280 TraceCheckUtils]: 24: Hoare triple {1966#true} havoc #t~nondet29; {1966#true} is VALID [2020-07-08 22:22:03,499 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-08 22:22:03,499 INFO L280 TraceCheckUtils]: 26: Hoare triple {1966#true} assume true; {1966#true} is VALID [2020-07-08 22:22:03,500 INFO L275 TraceCheckUtils]: 27: Hoare quadruple {1966#true} {1966#true} #91#return; {1966#true} is VALID [2020-07-08 22:22:03,500 INFO L280 TraceCheckUtils]: 28: Hoare triple {1966#true} #res.base, #res.offset := #t~ret30.base, #t~ret30.offset; {1966#true} is VALID [2020-07-08 22:22:03,500 INFO L280 TraceCheckUtils]: 29: Hoare triple {1966#true} havoc #t~ret30.base, #t~ret30.offset; {1966#true} is VALID [2020-07-08 22:22:03,500 INFO L280 TraceCheckUtils]: 30: Hoare triple {1966#true} assume true; {1966#true} is VALID [2020-07-08 22:22:03,500 INFO L275 TraceCheckUtils]: 31: Hoare quadruple {1966#true} {1966#true} #93#return; {1966#true} is VALID [2020-07-08 22:22:03,501 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-08 22:22:03,501 INFO L280 TraceCheckUtils]: 33: Hoare triple {1966#true} havoc #t~ret32.base, #t~ret32.offset; {1966#true} is VALID [2020-07-08 22:22:03,502 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-08 22:22:03,502 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-08 22:22:03,503 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-08 22:22:03,504 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-08 22:22:03,504 INFO L280 TraceCheckUtils]: 38: Hoare triple {1966#true} assume ~size > 0; {1966#true} is VALID [2020-07-08 22:22:03,504 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-08 22:22:03,504 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-08 22:22:03,504 INFO L280 TraceCheckUtils]: 41: Hoare triple {1966#true} havoc #t~post28.base, #t~post28.offset; {1966#true} is VALID [2020-07-08 22:22:03,505 INFO L280 TraceCheckUtils]: 42: Hoare triple {1966#true} assume -2147483648 <= #t~nondet29 && #t~nondet29 <= 2147483647; {1966#true} is VALID [2020-07-08 22:22:03,505 INFO L280 TraceCheckUtils]: 43: Hoare triple {1966#true} assume 0 == #t~nondet29; {1966#true} is VALID [2020-07-08 22:22:03,505 INFO L280 TraceCheckUtils]: 44: Hoare triple {1966#true} havoc #t~nondet29; {1966#true} is VALID [2020-07-08 22:22:03,506 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-08 22:22:03,507 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-08 22:22:03,508 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-08 22:22:03,509 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-08 22:22:03,510 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-08 22:22:03,511 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-08 22:22:03,513 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-08 22:22:03,514 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-08 22:22:03,515 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-08 22:22:03,516 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-08 22:22:03,516 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-08 22:22:03,516 INFO L280 TraceCheckUtils]: 56: Hoare triple {1967#false} ~new.base, ~new.offset := #in~new.base, #in~new.offset; {1967#false} is VALID [2020-07-08 22:22:03,516 INFO L280 TraceCheckUtils]: 57: Hoare triple {1967#false} ~head.base, ~head.offset := #in~head.base, #in~head.offset; {1967#false} is VALID [2020-07-08 22:22:03,517 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-08 22:22:03,517 INFO L263 TraceCheckUtils]: 59: Hoare triple {1967#false} call __blast_assert(); {1967#false} is VALID [2020-07-08 22:22:03,517 INFO L280 TraceCheckUtils]: 60: Hoare triple {1967#false} assume !false; {1967#false} is VALID [2020-07-08 22:22:03,522 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-08 22:22:03,522 INFO L354 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModulePreferences [1191397506] [2020-07-08 22:22:03,522 INFO L220 FreeRefinementEngine]: Constructing automaton from 1 perfect and 0 imperfect interpolant sequences. [2020-07-08 22:22:03,523 INFO L233 FreeRefinementEngine]: Number of different interpolants: perfect sequences [9] imperfect sequences [] total 9 [2020-07-08 22:22:03,523 INFO L156 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [1641276097] [2020-07-08 22:22:03,523 INFO L78 Accepts]: Start accepts. Automaton has 9 states. Word has length 61 [2020-07-08 22:22:03,524 INFO L84 Accepts]: Finished accepts. word is accepted. [2020-07-08 22:22:03,524 INFO L86 InductivityCheck]: Starting indutivity check of a Floyd-Hoare automaton with 9 states. [2020-07-08 22:22:03,586 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-08 22:22:03,586 INFO L459 AbstractCegarLoop]: Interpolant automaton has 9 states [2020-07-08 22:22:03,586 INFO L143 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy FIXED_PREFERENCES [2020-07-08 22:22:03,587 INFO L142 InterpolantAutomaton]: Constructing interpolant automaton starting with 9 interpolants. [2020-07-08 22:22:03,587 INFO L144 InterpolantAutomaton]: CoverageRelationStatistics Valid=16, Invalid=56, Unknown=0, NotChecked=0, Total=72 [2020-07-08 22:22:03,587 INFO L87 Difference]: Start difference. First operand 101 states and 115 transitions. Second operand 9 states. [2020-07-08 22:22:04,976 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2020-07-08 22:22:04,976 INFO L93 Difference]: Finished difference Result 134 states and 151 transitions. [2020-07-08 22:22:04,976 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 11 states. [2020-07-08 22:22:04,976 INFO L78 Accepts]: Start accepts. Automaton has 9 states. Word has length 61 [2020-07-08 22:22:04,977 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2020-07-08 22:22:04,977 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 9 states. [2020-07-08 22:22:04,980 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 11 states to 11 states and 106 transitions. [2020-07-08 22:22:04,980 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 9 states. [2020-07-08 22:22:04,983 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 11 states to 11 states and 106 transitions. [2020-07-08 22:22:04,983 INFO L86 InductivityCheck]: Starting indutivity check of a Floyd-Hoare automaton with 11 states and 106 transitions. [2020-07-08 22:22:05,141 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-08 22:22:05,145 INFO L225 Difference]: With dead ends: 134 [2020-07-08 22:22:05,145 INFO L226 Difference]: Without dead ends: 80 [2020-07-08 22:22:05,146 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-08 22:22:05,147 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 80 states. [2020-07-08 22:22:05,468 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 80 to 76. [2020-07-08 22:22:05,469 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2020-07-08 22:22:05,469 INFO L82 GeneralOperation]: Start isEquivalent. First operand 80 states. Second operand 76 states. [2020-07-08 22:22:05,469 INFO L74 IsIncluded]: Start isIncluded. First operand 80 states. Second operand 76 states. [2020-07-08 22:22:05,469 INFO L87 Difference]: Start difference. First operand 80 states. Second operand 76 states. [2020-07-08 22:22:05,473 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2020-07-08 22:22:05,473 INFO L93 Difference]: Finished difference Result 80 states and 88 transitions. [2020-07-08 22:22:05,474 INFO L276 IsEmpty]: Start isEmpty. Operand 80 states and 88 transitions. [2020-07-08 22:22:05,474 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2020-07-08 22:22:05,474 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2020-07-08 22:22:05,475 INFO L74 IsIncluded]: Start isIncluded. First operand 76 states. Second operand 80 states. [2020-07-08 22:22:05,475 INFO L87 Difference]: Start difference. First operand 76 states. Second operand 80 states. [2020-07-08 22:22:05,478 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2020-07-08 22:22:05,479 INFO L93 Difference]: Finished difference Result 80 states and 88 transitions. [2020-07-08 22:22:05,479 INFO L276 IsEmpty]: Start isEmpty. Operand 80 states and 88 transitions. [2020-07-08 22:22:05,480 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2020-07-08 22:22:05,480 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2020-07-08 22:22:05,480 INFO L88 GeneralOperation]: Finished isEquivalent. [2020-07-08 22:22:05,480 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2020-07-08 22:22:05,480 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 76 states. [2020-07-08 22:22:05,483 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 76 states to 76 states and 83 transitions. [2020-07-08 22:22:05,484 INFO L78 Accepts]: Start accepts. Automaton has 76 states and 83 transitions. Word has length 61 [2020-07-08 22:22:05,484 INFO L84 Accepts]: Finished accepts. word is rejected. [2020-07-08 22:22:05,484 INFO L479 AbstractCegarLoop]: Abstraction has 76 states and 83 transitions. [2020-07-08 22:22:05,484 INFO L480 AbstractCegarLoop]: Interpolant automaton has 9 states. [2020-07-08 22:22:05,484 INFO L86 InductivityCheck]: Starting indutivity check of a Floyd-Hoare automaton with 76 states and 83 transitions. [2020-07-08 22:22:05,651 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-08 22:22:05,651 INFO L276 IsEmpty]: Start isEmpty. Operand 76 states and 83 transitions. [2020-07-08 22:22:05,653 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 71 [2020-07-08 22:22:05,653 INFO L414 BasicCegarLoop]: Found error trace [2020-07-08 22:22:05,653 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-08 22:22:05,654 WARN L516 AbstractCegarLoop]: Destroyed unattended storables created during the last iteration: SelfDestructingSolverStorable3 [2020-07-08 22:22:05,654 INFO L427 AbstractCegarLoop]: === Iteration 5 === [__blast_assertErr0ASSERT_VIOLATIONERROR_FUNCTION]=== [2020-07-08 22:22:05,654 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2020-07-08 22:22:05,654 INFO L82 PathProgramCache]: Analyzing trace with hash 2098824736, now seen corresponding path program 1 times [2020-07-08 22:22:05,655 INFO L163 FreeRefinementEngine]: Executing refinement strategy FIXED_PREFERENCES [2020-07-08 22:22:05,655 INFO L354 FreeRefinementEngine]: Using trace check IpTcStrategyModulePreferences [481627118] [2020-07-08 22:22:05,655 INFO L94 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2020-07-08 22:22:05,674 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2020-07-08 22:22:05,851 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2020-07-08 22:22:05,886 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-08 22:22:05,886 INFO L280 TraceCheckUtils]: 1: Hoare triple {2627#true} #valid := #valid[0 := 0]; {2627#true} is VALID [2020-07-08 22:22:05,886 INFO L280 TraceCheckUtils]: 2: Hoare triple {2627#true} assume 0 < #StackHeapBarrier; {2627#true} is VALID [2020-07-08 22:22:05,888 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-08 22:22:05,889 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-08 22:22:05,890 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-08 22:22:05,891 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-08 22:22:05,893 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-08 22:22:05,893 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-08 22:22:05,894 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-08 22:22:05,919 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2020-07-08 22:22:06,024 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2020-07-08 22:22:06,128 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-08 22:22:06,129 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-08 22:22:06,130 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-08 22:22:06,131 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-08 22:22:06,132 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-08 22:22:06,133 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-08 22:22:06,134 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-08 22:22:06,134 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-08 22:22:06,135 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-08 22:22:06,136 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-08 22:22:06,138 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-08 22:22:06,139 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-08 22:22:06,140 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-08 22:22:06,142 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-08 22:22:06,143 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-08 22:22:06,144 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-08 22:22:06,145 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-08 22:22:06,146 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-08 22:22:06,146 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-08 22:22:06,147 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-08 22:22:06,148 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-08 22:22:06,149 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-08 22:22:06,149 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-08 22:22:06,151 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-08 22:22:06,152 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-08 22:22:06,153 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-08 22:22:06,153 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-08 22:22:06,155 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-08 22:22:06,161 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2020-07-08 22:22:06,169 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2020-07-08 22:22:06,179 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-08 22:22:06,180 INFO L280 TraceCheckUtils]: 1: Hoare triple {2627#true} assume ~size > 0; {2627#true} is VALID [2020-07-08 22:22:06,180 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-08 22:22:06,180 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-08 22:22:06,181 INFO L280 TraceCheckUtils]: 4: Hoare triple {2627#true} havoc #t~post28.base, #t~post28.offset; {2627#true} is VALID [2020-07-08 22:22:06,181 INFO L280 TraceCheckUtils]: 5: Hoare triple {2627#true} assume -2147483648 <= #t~nondet29 && #t~nondet29 <= 2147483647; {2627#true} is VALID [2020-07-08 22:22:06,181 INFO L280 TraceCheckUtils]: 6: Hoare triple {2627#true} assume !(0 == #t~nondet29); {2627#true} is VALID [2020-07-08 22:22:06,181 INFO L280 TraceCheckUtils]: 7: Hoare triple {2627#true} havoc #t~nondet29; {2627#true} is VALID [2020-07-08 22:22:06,182 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-08 22:22:06,182 INFO L280 TraceCheckUtils]: 9: Hoare triple {2627#true} assume true; {2627#true} is VALID [2020-07-08 22:22:06,182 INFO L275 TraceCheckUtils]: 10: Hoare quadruple {2627#true} {2627#true} #91#return; {2627#true} is VALID [2020-07-08 22:22:06,183 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-08 22:22:06,184 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-08 22:22:06,184 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-08 22:22:06,185 INFO L280 TraceCheckUtils]: 3: Hoare triple {2627#true} assume ~size > 0; {2627#true} is VALID [2020-07-08 22:22:06,185 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-08 22:22:06,185 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-08 22:22:06,185 INFO L280 TraceCheckUtils]: 6: Hoare triple {2627#true} havoc #t~post28.base, #t~post28.offset; {2627#true} is VALID [2020-07-08 22:22:06,186 INFO L280 TraceCheckUtils]: 7: Hoare triple {2627#true} assume -2147483648 <= #t~nondet29 && #t~nondet29 <= 2147483647; {2627#true} is VALID [2020-07-08 22:22:06,186 INFO L280 TraceCheckUtils]: 8: Hoare triple {2627#true} assume !(0 == #t~nondet29); {2627#true} is VALID [2020-07-08 22:22:06,186 INFO L280 TraceCheckUtils]: 9: Hoare triple {2627#true} havoc #t~nondet29; {2627#true} is VALID [2020-07-08 22:22:06,186 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-08 22:22:06,186 INFO L280 TraceCheckUtils]: 11: Hoare triple {2627#true} assume true; {2627#true} is VALID [2020-07-08 22:22:06,187 INFO L275 TraceCheckUtils]: 12: Hoare quadruple {2627#true} {2627#true} #91#return; {2627#true} is VALID [2020-07-08 22:22:06,187 INFO L280 TraceCheckUtils]: 13: Hoare triple {2627#true} #res.base, #res.offset := #t~ret30.base, #t~ret30.offset; {2627#true} is VALID [2020-07-08 22:22:06,187 INFO L280 TraceCheckUtils]: 14: Hoare triple {2627#true} havoc #t~ret30.base, #t~ret30.offset; {2627#true} is VALID [2020-07-08 22:22:06,187 INFO L280 TraceCheckUtils]: 15: Hoare triple {2627#true} assume true; {2627#true} is VALID [2020-07-08 22:22:06,188 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-08 22:22:06,219 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2020-07-08 22:22:06,252 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-08 22:22:06,253 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-08 22:22:06,254 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-08 22:22:06,255 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-08 22:22:06,256 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-08 22:22:06,257 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-08 22:22:06,257 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-08 22:22:06,260 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-08 22:22:06,262 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-08 22:22:06,262 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-08 22:22:06,262 INFO L280 TraceCheckUtils]: 2: Hoare triple {2627#true} #valid := #valid[0 := 0]; {2627#true} is VALID [2020-07-08 22:22:06,263 INFO L280 TraceCheckUtils]: 3: Hoare triple {2627#true} assume 0 < #StackHeapBarrier; {2627#true} is VALID [2020-07-08 22:22:06,264 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-08 22:22:06,264 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-08 22:22:06,266 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-08 22:22:06,267 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-08 22:22:06,267 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-08 22:22:06,268 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-08 22:22:06,269 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-08 22:22:06,270 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-08 22:22:06,271 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-08 22:22:06,272 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-08 22:22:06,273 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-08 22:22:06,274 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-08 22:22:06,275 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-08 22:22:06,276 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-08 22:22:06,277 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-08 22:22:06,278 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-08 22:22:06,279 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-08 22:22:06,280 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-08 22:22:06,281 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-08 22:22:06,281 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-08 22:22:06,282 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-08 22:22:06,283 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-08 22:22:06,304 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-08 22:22:06,312 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-08 22:22:06,322 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-08 22:22:06,324 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-08 22:22:06,325 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-08 22:22:06,327 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-08 22:22:06,328 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-08 22:22:06,356 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-08 22:22:06,359 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-08 22:22:06,360 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-08 22:22:06,361 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-08 22:22:06,361 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-08 22:22:06,361 INFO L280 TraceCheckUtils]: 38: Hoare triple {2627#true} assume ~size > 0; {2627#true} is VALID [2020-07-08 22:22:06,362 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-08 22:22:06,362 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-08 22:22:06,362 INFO L280 TraceCheckUtils]: 41: Hoare triple {2627#true} havoc #t~post28.base, #t~post28.offset; {2627#true} is VALID [2020-07-08 22:22:06,362 INFO L280 TraceCheckUtils]: 42: Hoare triple {2627#true} assume -2147483648 <= #t~nondet29 && #t~nondet29 <= 2147483647; {2627#true} is VALID [2020-07-08 22:22:06,363 INFO L280 TraceCheckUtils]: 43: Hoare triple {2627#true} assume !(0 == #t~nondet29); {2627#true} is VALID [2020-07-08 22:22:06,363 INFO L280 TraceCheckUtils]: 44: Hoare triple {2627#true} havoc #t~nondet29; {2627#true} is VALID [2020-07-08 22:22:06,363 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-08 22:22:06,363 INFO L280 TraceCheckUtils]: 46: Hoare triple {2627#true} assume true; {2627#true} is VALID [2020-07-08 22:22:06,364 INFO L275 TraceCheckUtils]: 47: Hoare quadruple {2627#true} {2627#true} #91#return; {2627#true} is VALID [2020-07-08 22:22:06,364 INFO L280 TraceCheckUtils]: 48: Hoare triple {2627#true} #res.base, #res.offset := #t~ret30.base, #t~ret30.offset; {2627#true} is VALID [2020-07-08 22:22:06,364 INFO L280 TraceCheckUtils]: 49: Hoare triple {2627#true} havoc #t~ret30.base, #t~ret30.offset; {2627#true} is VALID [2020-07-08 22:22:06,364 INFO L280 TraceCheckUtils]: 50: Hoare triple {2627#true} assume true; {2627#true} is VALID [2020-07-08 22:22:06,365 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-08 22:22:06,367 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-08 22:22:06,368 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-08 22:22:06,369 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-08 22:22:06,370 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-08 22:22:06,371 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-08 22:22:06,372 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-08 22:22:06,372 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-08 22:22:06,373 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-08 22:22:06,373 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-08 22:22:06,374 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-08 22:22:06,374 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-08 22:22:06,376 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-08 22:22:06,377 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-08 22:22:06,378 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-08 22:22:06,379 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-08 22:22:06,380 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-08 22:22:06,380 INFO L263 TraceCheckUtils]: 68: Hoare triple {2628#false} call __blast_assert(); {2628#false} is VALID [2020-07-08 22:22:06,380 INFO L280 TraceCheckUtils]: 69: Hoare triple {2628#false} assume !false; {2628#false} is VALID [2020-07-08 22:22:06,389 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-08 22:22:06,390 INFO L354 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModulePreferences [481627118] [2020-07-08 22:22:06,390 INFO L220 FreeRefinementEngine]: Constructing automaton from 0 perfect and 1 imperfect interpolant sequences. [2020-07-08 22:22:06,390 INFO L233 FreeRefinementEngine]: Number of different interpolants: perfect sequences [] imperfect sequences [18] total 18 [2020-07-08 22:22:06,390 INFO L156 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [1644597425] [2020-07-08 22:22:06,392 INFO L78 Accepts]: Start accepts. Automaton has 18 states. Word has length 70 [2020-07-08 22:22:06,393 INFO L84 Accepts]: Finished accepts. word is accepted. [2020-07-08 22:22:06,393 INFO L86 InductivityCheck]: Starting indutivity check of a Floyd-Hoare automaton with 18 states. [2020-07-08 22:22:06,466 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-08 22:22:06,466 INFO L459 AbstractCegarLoop]: Interpolant automaton has 18 states [2020-07-08 22:22:06,466 INFO L143 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy FIXED_PREFERENCES [2020-07-08 22:22:06,467 INFO L142 InterpolantAutomaton]: Constructing interpolant automaton starting with 18 interpolants. [2020-07-08 22:22:06,467 INFO L144 InterpolantAutomaton]: CoverageRelationStatistics Valid=40, Invalid=266, Unknown=0, NotChecked=0, Total=306 [2020-07-08 22:22:06,467 INFO L87 Difference]: Start difference. First operand 76 states and 83 transitions. Second operand 18 states. [2020-07-08 22:22:10,215 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2020-07-08 22:22:10,215 INFO L93 Difference]: Finished difference Result 89 states and 96 transitions. [2020-07-08 22:22:10,215 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 22 states. [2020-07-08 22:22:10,216 INFO L78 Accepts]: Start accepts. Automaton has 18 states. Word has length 70 [2020-07-08 22:22:10,216 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2020-07-08 22:22:10,216 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 18 states. [2020-07-08 22:22:10,220 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 22 states to 22 states and 88 transitions. [2020-07-08 22:22:10,221 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 18 states. [2020-07-08 22:22:10,224 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 22 states to 22 states and 88 transitions. [2020-07-08 22:22:10,225 INFO L86 InductivityCheck]: Starting indutivity check of a Floyd-Hoare automaton with 22 states and 88 transitions. [2020-07-08 22:22:10,400 INFO L119 InductivityCheck]: Floyd-Hoare automaton has 88 edges. 88 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2020-07-08 22:22:10,403 INFO L225 Difference]: With dead ends: 89 [2020-07-08 22:22:10,403 INFO L226 Difference]: Without dead ends: 86 [2020-07-08 22:22:10,404 INFO L675 BasicCegarLoop]: 0 DeclaredPredicates, 44 GetRequests, 12 SyntacticMatches, 0 SemanticMatches, 32 ConstructedPredicates, 0 IntricatePredicates, 0 DeprecatedPredicates, 123 ImplicationChecksByTransitivity, 0.8s TimeCoverageRelationStatistics Valid=173, Invalid=949, Unknown=0, NotChecked=0, Total=1122 [2020-07-08 22:22:10,405 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 86 states. [2020-07-08 22:22:10,733 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 86 to 76. [2020-07-08 22:22:10,734 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2020-07-08 22:22:10,734 INFO L82 GeneralOperation]: Start isEquivalent. First operand 86 states. Second operand 76 states. [2020-07-08 22:22:10,734 INFO L74 IsIncluded]: Start isIncluded. First operand 86 states. Second operand 76 states. [2020-07-08 22:22:10,734 INFO L87 Difference]: Start difference. First operand 86 states. Second operand 76 states. [2020-07-08 22:22:10,738 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2020-07-08 22:22:10,739 INFO L93 Difference]: Finished difference Result 86 states and 93 transitions. [2020-07-08 22:22:10,739 INFO L276 IsEmpty]: Start isEmpty. Operand 86 states and 93 transitions. [2020-07-08 22:22:10,739 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2020-07-08 22:22:10,739 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2020-07-08 22:22:10,739 INFO L74 IsIncluded]: Start isIncluded. First operand 76 states. Second operand 86 states. [2020-07-08 22:22:10,740 INFO L87 Difference]: Start difference. First operand 76 states. Second operand 86 states. [2020-07-08 22:22:10,743 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2020-07-08 22:22:10,744 INFO L93 Difference]: Finished difference Result 86 states and 93 transitions. [2020-07-08 22:22:10,744 INFO L276 IsEmpty]: Start isEmpty. Operand 86 states and 93 transitions. [2020-07-08 22:22:10,745 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2020-07-08 22:22:10,745 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2020-07-08 22:22:10,745 INFO L88 GeneralOperation]: Finished isEquivalent. [2020-07-08 22:22:10,745 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2020-07-08 22:22:10,745 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 76 states. [2020-07-08 22:22:10,748 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 76 states to 76 states and 82 transitions. [2020-07-08 22:22:10,749 INFO L78 Accepts]: Start accepts. Automaton has 76 states and 82 transitions. Word has length 70 [2020-07-08 22:22:10,749 INFO L84 Accepts]: Finished accepts. word is rejected. [2020-07-08 22:22:10,749 INFO L479 AbstractCegarLoop]: Abstraction has 76 states and 82 transitions. [2020-07-08 22:22:10,749 INFO L480 AbstractCegarLoop]: Interpolant automaton has 18 states. [2020-07-08 22:22:10,749 INFO L86 InductivityCheck]: Starting indutivity check of a Floyd-Hoare automaton with 76 states and 82 transitions. [2020-07-08 22:22:10,930 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-08 22:22:10,930 INFO L276 IsEmpty]: Start isEmpty. Operand 76 states and 82 transitions. [2020-07-08 22:22:10,931 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 72 [2020-07-08 22:22:10,931 INFO L414 BasicCegarLoop]: Found error trace [2020-07-08 22:22:10,932 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-08 22:22:10,932 WARN L516 AbstractCegarLoop]: Destroyed unattended storables created during the last iteration: SelfDestructingSolverStorable4 [2020-07-08 22:22:10,932 INFO L427 AbstractCegarLoop]: === Iteration 6 === [__blast_assertErr0ASSERT_VIOLATIONERROR_FUNCTION]=== [2020-07-08 22:22:10,933 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2020-07-08 22:22:10,933 INFO L82 PathProgramCache]: Analyzing trace with hash 2039706158, now seen corresponding path program 1 times [2020-07-08 22:22:10,933 INFO L163 FreeRefinementEngine]: Executing refinement strategy FIXED_PREFERENCES [2020-07-08 22:22:10,934 INFO L354 FreeRefinementEngine]: Using trace check IpTcStrategyModulePreferences [66240266] [2020-07-08 22:22:10,934 INFO L94 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2020-07-08 22:22:10,953 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2020-07-08 22:22:11,125 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2020-07-08 22:22:11,135 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-08 22:22:11,135 INFO L280 TraceCheckUtils]: 1: Hoare triple {3256#true} #valid := #valid[0 := 0]; {3256#true} is VALID [2020-07-08 22:22:11,135 INFO L280 TraceCheckUtils]: 2: Hoare triple {3256#true} assume 0 < #StackHeapBarrier; {3256#true} is VALID [2020-07-08 22:22:11,136 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-08 22:22:11,136 INFO L280 TraceCheckUtils]: 4: Hoare triple {3256#true} ~elem~0.base, ~elem~0.offset := 0, 0; {3256#true} is VALID [2020-07-08 22:22:11,136 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-08 22:22:11,137 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-08 22:22:11,137 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-08 22:22:11,137 INFO L280 TraceCheckUtils]: 8: Hoare triple {3256#true} assume true; {3256#true} is VALID [2020-07-08 22:22:11,137 INFO L275 TraceCheckUtils]: 9: Hoare quadruple {3256#true} {3256#true} #109#return; {3256#true} is VALID [2020-07-08 22:22:11,164 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2020-07-08 22:22:11,219 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2020-07-08 22:22:11,281 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-08 22:22:11,281 INFO L280 TraceCheckUtils]: 1: Hoare triple {3256#true} assume ~size > 0; {3256#true} is VALID [2020-07-08 22:22:11,282 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-08 22:22:11,282 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-08 22:22:11,282 INFO L280 TraceCheckUtils]: 4: Hoare triple {3256#true} havoc #t~post28.base, #t~post28.offset; {3256#true} is VALID [2020-07-08 22:22:11,283 INFO L280 TraceCheckUtils]: 5: Hoare triple {3256#true} assume -2147483648 <= #t~nondet29 && #t~nondet29 <= 2147483647; {3256#true} is VALID [2020-07-08 22:22:11,283 INFO L280 TraceCheckUtils]: 6: Hoare triple {3256#true} assume !(0 == #t~nondet29); {3256#true} is VALID [2020-07-08 22:22:11,283 INFO L280 TraceCheckUtils]: 7: Hoare triple {3256#true} havoc #t~nondet29; {3256#true} is VALID [2020-07-08 22:22:11,284 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-08 22:22:11,285 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-08 22:22:11,286 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-08 22:22:11,287 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-08 22:22:11,288 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-08 22:22:11,288 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-08 22:22:11,288 INFO L280 TraceCheckUtils]: 3: Hoare triple {3256#true} assume ~size > 0; {3256#true} is VALID [2020-07-08 22:22:11,289 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-08 22:22:11,289 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-08 22:22:11,289 INFO L280 TraceCheckUtils]: 6: Hoare triple {3256#true} havoc #t~post28.base, #t~post28.offset; {3256#true} is VALID [2020-07-08 22:22:11,289 INFO L280 TraceCheckUtils]: 7: Hoare triple {3256#true} assume -2147483648 <= #t~nondet29 && #t~nondet29 <= 2147483647; {3256#true} is VALID [2020-07-08 22:22:11,289 INFO L280 TraceCheckUtils]: 8: Hoare triple {3256#true} assume !(0 == #t~nondet29); {3256#true} is VALID [2020-07-08 22:22:11,290 INFO L280 TraceCheckUtils]: 9: Hoare triple {3256#true} havoc #t~nondet29; {3256#true} is VALID [2020-07-08 22:22:11,291 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-08 22:22:11,292 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-08 22:22:11,293 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-08 22:22:11,294 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-08 22:22:11,295 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-08 22:22:11,297 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-08 22:22:11,298 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-08 22:22:11,303 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2020-07-08 22:22:11,409 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2020-07-08 22:22:11,512 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-08 22:22:11,513 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-08 22:22:11,514 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-08 22:22:11,515 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-08 22:22:11,516 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-08 22:22:11,516 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-08 22:22:11,517 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-08 22:22:11,518 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-08 22:22:11,518 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-08 22:22:11,519 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-08 22:22:11,520 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-08 22:22:11,521 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-08 22:22:11,522 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-08 22:22:11,523 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-08 22:22:11,528 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-08 22:22:11,529 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-08 22:22:11,530 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-08 22:22:11,530 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-08 22:22:11,531 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-08 22:22:11,532 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-08 22:22:11,533 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-08 22:22:11,533 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-08 22:22:11,534 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-08 22:22:11,535 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-08 22:22:11,535 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-08 22:22:11,536 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-08 22:22:11,537 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-08 22:22:11,539 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-08 22:22:11,571 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2020-07-08 22:22:11,639 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-08 22:22:11,639 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-08 22:22:11,640 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-08 22:22:11,640 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-08 22:22:11,641 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-08 22:22:11,641 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-08 22:22:11,642 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-08 22:22:11,642 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-08 22:22:11,643 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-08 22:22:11,644 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-08 22:22:11,645 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-08 22:22:11,645 INFO L280 TraceCheckUtils]: 2: Hoare triple {3256#true} #valid := #valid[0 := 0]; {3256#true} is VALID [2020-07-08 22:22:11,645 INFO L280 TraceCheckUtils]: 3: Hoare triple {3256#true} assume 0 < #StackHeapBarrier; {3256#true} is VALID [2020-07-08 22:22:11,645 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-08 22:22:11,645 INFO L280 TraceCheckUtils]: 5: Hoare triple {3256#true} ~elem~0.base, ~elem~0.offset := 0, 0; {3256#true} is VALID [2020-07-08 22:22:11,645 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-08 22:22:11,645 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-08 22:22:11,646 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-08 22:22:11,646 INFO L280 TraceCheckUtils]: 9: Hoare triple {3256#true} assume true; {3256#true} is VALID [2020-07-08 22:22:11,646 INFO L275 TraceCheckUtils]: 10: Hoare quadruple {3256#true} {3256#true} #109#return; {3256#true} is VALID [2020-07-08 22:22:11,646 INFO L263 TraceCheckUtils]: 11: Hoare triple {3256#true} call #t~ret34 := main(); {3256#true} is VALID [2020-07-08 22:22:11,646 INFO L280 TraceCheckUtils]: 12: Hoare triple {3256#true} havoc ~dev1~0.base, ~dev1~0.offset; {3256#true} is VALID [2020-07-08 22:22:11,647 INFO L280 TraceCheckUtils]: 13: Hoare triple {3256#true} havoc ~dev2~0.base, ~dev2~0.offset; {3256#true} is VALID [2020-07-08 22:22:11,647 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-08 22:22:11,647 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-08 22:22:11,648 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-08 22:22:11,648 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-08 22:22:11,648 INFO L280 TraceCheckUtils]: 18: Hoare triple {3256#true} assume ~size > 0; {3256#true} is VALID [2020-07-08 22:22:11,649 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-08 22:22:11,649 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-08 22:22:11,649 INFO L280 TraceCheckUtils]: 21: Hoare triple {3256#true} havoc #t~post28.base, #t~post28.offset; {3256#true} is VALID [2020-07-08 22:22:11,649 INFO L280 TraceCheckUtils]: 22: Hoare triple {3256#true} assume -2147483648 <= #t~nondet29 && #t~nondet29 <= 2147483647; {3256#true} is VALID [2020-07-08 22:22:11,649 INFO L280 TraceCheckUtils]: 23: Hoare triple {3256#true} assume !(0 == #t~nondet29); {3256#true} is VALID [2020-07-08 22:22:11,649 INFO L280 TraceCheckUtils]: 24: Hoare triple {3256#true} havoc #t~nondet29; {3256#true} is VALID [2020-07-08 22:22:11,653 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-08 22:22:11,657 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-08 22:22:11,659 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-08 22:22:11,660 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-08 22:22:11,660 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-08 22:22:11,661 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-08 22:22:11,662 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-08 22:22:11,676 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-08 22:22:11,677 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-08 22:22:11,678 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-08 22:22:11,679 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-08 22:22:11,680 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-08 22:22:11,680 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-08 22:22:11,681 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-08 22:22:11,681 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-08 22:22:11,682 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-08 22:22:11,682 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-08 22:22:11,683 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-08 22:22:11,683 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-08 22:22:11,686 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-08 22:22:11,687 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-08 22:22:11,688 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-08 22:22:11,689 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-08 22:22:11,689 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-08 22:22:11,690 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-08 22:22:11,690 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-08 22:22:11,691 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-08 22:22:11,692 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-08 22:22:11,693 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-08 22:22:11,693 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-08 22:22:11,695 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-08 22:22:11,696 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-08 22:22:11,696 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-08 22:22:11,696 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-08 22:22:11,697 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-08 22:22:11,697 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-08 22:22:11,698 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-08 22:22:11,698 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-08 22:22:11,699 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-08 22:22:11,700 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-08 22:22:11,701 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-08 22:22:11,702 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-08 22:22:11,702 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-08 22:22:11,703 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-08 22:22:11,703 INFO L263 TraceCheckUtils]: 69: Hoare triple {3257#false} call __blast_assert(); {3257#false} is VALID [2020-07-08 22:22:11,703 INFO L280 TraceCheckUtils]: 70: Hoare triple {3257#false} assume !false; {3257#false} is VALID [2020-07-08 22:22:11,708 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-08 22:22:11,708 INFO L354 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModulePreferences [66240266] [2020-07-08 22:22:11,708 INFO L220 FreeRefinementEngine]: Constructing automaton from 0 perfect and 1 imperfect interpolant sequences. [2020-07-08 22:22:11,708 INFO L233 FreeRefinementEngine]: Number of different interpolants: perfect sequences [] imperfect sequences [23] total 23 [2020-07-08 22:22:11,708 INFO L156 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [812628747] [2020-07-08 22:22:11,709 INFO L78 Accepts]: Start accepts. Automaton has 23 states. Word has length 71 [2020-07-08 22:22:11,709 INFO L84 Accepts]: Finished accepts. word is accepted. [2020-07-08 22:22:11,709 INFO L86 InductivityCheck]: Starting indutivity check of a Floyd-Hoare automaton with 23 states. [2020-07-08 22:22:11,802 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-08 22:22:11,803 INFO L459 AbstractCegarLoop]: Interpolant automaton has 23 states [2020-07-08 22:22:11,803 INFO L143 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy FIXED_PREFERENCES [2020-07-08 22:22:11,803 INFO L142 InterpolantAutomaton]: Constructing interpolant automaton starting with 23 interpolants. [2020-07-08 22:22:11,804 INFO L144 InterpolantAutomaton]: CoverageRelationStatistics Valid=47, Invalid=459, Unknown=0, NotChecked=0, Total=506 [2020-07-08 22:22:11,804 INFO L87 Difference]: Start difference. First operand 76 states and 82 transitions. Second operand 23 states. [2020-07-08 22:22:17,361 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2020-07-08 22:22:17,361 INFO L93 Difference]: Finished difference Result 93 states and 101 transitions. [2020-07-08 22:22:17,361 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 26 states. [2020-07-08 22:22:17,361 INFO L78 Accepts]: Start accepts. Automaton has 23 states. Word has length 71 [2020-07-08 22:22:17,362 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2020-07-08 22:22:17,362 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 23 states. [2020-07-08 22:22:17,365 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 26 states to 26 states and 88 transitions. [2020-07-08 22:22:17,366 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 23 states. [2020-07-08 22:22:17,369 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 26 states to 26 states and 88 transitions. [2020-07-08 22:22:17,369 INFO L86 InductivityCheck]: Starting indutivity check of a Floyd-Hoare automaton with 26 states and 88 transitions. [2020-07-08 22:22:17,541 INFO L119 InductivityCheck]: Floyd-Hoare automaton has 88 edges. 88 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2020-07-08 22:22:17,544 INFO L225 Difference]: With dead ends: 93 [2020-07-08 22:22:17,544 INFO L226 Difference]: Without dead ends: 85 [2020-07-08 22:22:17,545 INFO L675 BasicCegarLoop]: 0 DeclaredPredicates, 51 GetRequests, 9 SyntacticMatches, 0 SemanticMatches, 42 ConstructedPredicates, 0 IntricatePredicates, 0 DeprecatedPredicates, 205 ImplicationChecksByTransitivity, 1.2s TimeCoverageRelationStatistics Valid=210, Invalid=1682, Unknown=0, NotChecked=0, Total=1892 [2020-07-08 22:22:17,546 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 85 states. [2020-07-08 22:22:17,927 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 85 to 79. [2020-07-08 22:22:17,928 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2020-07-08 22:22:17,928 INFO L82 GeneralOperation]: Start isEquivalent. First operand 85 states. Second operand 79 states. [2020-07-08 22:22:17,928 INFO L74 IsIncluded]: Start isIncluded. First operand 85 states. Second operand 79 states. [2020-07-08 22:22:17,928 INFO L87 Difference]: Start difference. First operand 85 states. Second operand 79 states. [2020-07-08 22:22:17,933 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2020-07-08 22:22:17,933 INFO L93 Difference]: Finished difference Result 85 states and 92 transitions. [2020-07-08 22:22:17,933 INFO L276 IsEmpty]: Start isEmpty. Operand 85 states and 92 transitions. [2020-07-08 22:22:17,934 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2020-07-08 22:22:17,934 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2020-07-08 22:22:17,934 INFO L74 IsIncluded]: Start isIncluded. First operand 79 states. Second operand 85 states. [2020-07-08 22:22:17,934 INFO L87 Difference]: Start difference. First operand 79 states. Second operand 85 states. [2020-07-08 22:22:17,938 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2020-07-08 22:22:17,938 INFO L93 Difference]: Finished difference Result 85 states and 92 transitions. [2020-07-08 22:22:17,938 INFO L276 IsEmpty]: Start isEmpty. Operand 85 states and 92 transitions. [2020-07-08 22:22:17,939 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2020-07-08 22:22:17,939 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2020-07-08 22:22:17,939 INFO L88 GeneralOperation]: Finished isEquivalent. [2020-07-08 22:22:17,939 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2020-07-08 22:22:17,940 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 79 states. [2020-07-08 22:22:17,942 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 79 states to 79 states and 84 transitions. [2020-07-08 22:22:17,943 INFO L78 Accepts]: Start accepts. Automaton has 79 states and 84 transitions. Word has length 71 [2020-07-08 22:22:17,943 INFO L84 Accepts]: Finished accepts. word is rejected. [2020-07-08 22:22:17,943 INFO L479 AbstractCegarLoop]: Abstraction has 79 states and 84 transitions. [2020-07-08 22:22:17,943 INFO L480 AbstractCegarLoop]: Interpolant automaton has 23 states. [2020-07-08 22:22:17,943 INFO L86 InductivityCheck]: Starting indutivity check of a Floyd-Hoare automaton with 79 states and 84 transitions. [2020-07-08 22:22:18,152 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-08 22:22:18,152 INFO L276 IsEmpty]: Start isEmpty. Operand 79 states and 84 transitions. [2020-07-08 22:22:18,154 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 86 [2020-07-08 22:22:18,154 INFO L414 BasicCegarLoop]: Found error trace [2020-07-08 22:22:18,155 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-08 22:22:18,155 WARN L516 AbstractCegarLoop]: Destroyed unattended storables created during the last iteration: SelfDestructingSolverStorable5 [2020-07-08 22:22:18,155 INFO L427 AbstractCegarLoop]: === Iteration 7 === [__blast_assertErr0ASSERT_VIOLATIONERROR_FUNCTION]=== [2020-07-08 22:22:18,156 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2020-07-08 22:22:18,156 INFO L82 PathProgramCache]: Analyzing trace with hash 2033290459, now seen corresponding path program 1 times [2020-07-08 22:22:18,156 INFO L163 FreeRefinementEngine]: Executing refinement strategy FIXED_PREFERENCES [2020-07-08 22:22:18,157 INFO L354 FreeRefinementEngine]: Using trace check IpTcStrategyModulePreferences [1682081215] [2020-07-08 22:22:18,157 INFO L94 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2020-07-08 22:22:18,176 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2020-07-08 22:22:18,350 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2020-07-08 22:22:18,357 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-08 22:22:18,358 INFO L280 TraceCheckUtils]: 1: Hoare triple {3912#true} #valid := #valid[0 := 0]; {3912#true} is VALID [2020-07-08 22:22:18,358 INFO L280 TraceCheckUtils]: 2: Hoare triple {3912#true} assume 0 < #StackHeapBarrier; {3912#true} is VALID [2020-07-08 22:22:18,358 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-08 22:22:18,358 INFO L280 TraceCheckUtils]: 4: Hoare triple {3912#true} ~elem~0.base, ~elem~0.offset := 0, 0; {3912#true} is VALID [2020-07-08 22:22:18,358 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-08 22:22:18,358 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-08 22:22:18,359 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-08 22:22:18,359 INFO L280 TraceCheckUtils]: 8: Hoare triple {3912#true} assume true; {3912#true} is VALID [2020-07-08 22:22:18,359 INFO L275 TraceCheckUtils]: 9: Hoare quadruple {3912#true} {3912#true} #109#return; {3912#true} is VALID [2020-07-08 22:22:18,378 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2020-07-08 22:22:18,429 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2020-07-08 22:22:18,461 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-08 22:22:18,461 INFO L280 TraceCheckUtils]: 1: Hoare triple {3912#true} assume ~size > 0; {3912#true} is VALID [2020-07-08 22:22:18,462 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-08 22:22:18,462 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-08 22:22:18,462 INFO L280 TraceCheckUtils]: 4: Hoare triple {3912#true} havoc #t~post28.base, #t~post28.offset; {3912#true} is VALID [2020-07-08 22:22:18,463 INFO L280 TraceCheckUtils]: 5: Hoare triple {3912#true} assume -2147483648 <= #t~nondet29 && #t~nondet29 <= 2147483647; {3912#true} is VALID [2020-07-08 22:22:18,463 INFO L280 TraceCheckUtils]: 6: Hoare triple {3912#true} assume !(0 == #t~nondet29); {3912#true} is VALID [2020-07-08 22:22:18,463 INFO L280 TraceCheckUtils]: 7: Hoare triple {3912#true} havoc #t~nondet29; {3912#true} is VALID [2020-07-08 22:22:18,464 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-08 22:22:18,464 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-08 22:22:18,466 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-08 22:22:18,466 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-08 22:22:18,467 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-08 22:22:18,468 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-08 22:22:18,468 INFO L280 TraceCheckUtils]: 3: Hoare triple {3912#true} assume ~size > 0; {3912#true} is VALID [2020-07-08 22:22:18,468 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-08 22:22:18,468 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-08 22:22:18,469 INFO L280 TraceCheckUtils]: 6: Hoare triple {3912#true} havoc #t~post28.base, #t~post28.offset; {3912#true} is VALID [2020-07-08 22:22:18,469 INFO L280 TraceCheckUtils]: 7: Hoare triple {3912#true} assume -2147483648 <= #t~nondet29 && #t~nondet29 <= 2147483647; {3912#true} is VALID [2020-07-08 22:22:18,469 INFO L280 TraceCheckUtils]: 8: Hoare triple {3912#true} assume !(0 == #t~nondet29); {3912#true} is VALID [2020-07-08 22:22:18,469 INFO L280 TraceCheckUtils]: 9: Hoare triple {3912#true} havoc #t~nondet29; {3912#true} is VALID [2020-07-08 22:22:18,470 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-08 22:22:18,471 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-08 22:22:18,473 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-08 22:22:18,473 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-08 22:22:18,474 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-08 22:22:18,475 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-08 22:22:18,476 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-08 22:22:18,481 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2020-07-08 22:22:18,587 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2020-07-08 22:22:18,678 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-08 22:22:18,679 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-08 22:22:18,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-08 22:22:18,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-08 22:22:18,681 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-08 22:22:18,681 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-08 22:22:18,682 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-08 22:22:18,682 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-08 22:22:18,683 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-08 22:22:18,683 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-08 22:22:18,684 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-08 22:22:18,685 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-08 22:22:18,686 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-08 22:22:18,686 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-08 22:22:18,687 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-08 22:22:18,687 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-08 22:22:18,688 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-08 22:22:18,689 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-08 22:22:18,689 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-08 22:22:18,690 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-08 22:22:18,690 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-08 22:22:18,690 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-08 22:22:18,691 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-08 22:22:18,692 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-08 22:22:18,692 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-08 22:22:18,693 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-08 22:22:18,693 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-08 22:22:18,694 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-08 22:22:18,727 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2020-07-08 22:22:18,738 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-08 22:22:18,738 INFO L280 TraceCheckUtils]: 1: Hoare triple {3912#true} ~head.base, ~head.offset := #in~head.base, #in~head.offset; {3912#true} is VALID [2020-07-08 22:22:18,739 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-08 22:22:18,739 INFO L280 TraceCheckUtils]: 3: Hoare triple {3912#true} assume -2147483648 <= #t~nondet31 && #t~nondet31 <= 2147483647; {3912#true} is VALID [2020-07-08 22:22:18,739 INFO L280 TraceCheckUtils]: 4: Hoare triple {3912#true} assume !(0 != #t~nondet31); {3912#true} is VALID [2020-07-08 22:22:18,739 INFO L280 TraceCheckUtils]: 5: Hoare triple {3912#true} havoc #t~nondet31; {3912#true} is VALID [2020-07-08 22:22:18,739 INFO L280 TraceCheckUtils]: 6: Hoare triple {3912#true} assume true; {3912#true} is VALID [2020-07-08 22:22:18,740 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-08 22:22:18,742 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2020-07-08 22:22:18,815 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-08 22:22:18,816 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-08 22:22:18,817 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-08 22:22:18,817 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-08 22:22:18,817 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-08 22:22:18,818 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-08 22:22:18,818 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-08 22:22:18,819 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-08 22:22:18,820 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-08 22:22:18,822 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2020-07-08 22:22:18,855 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-08 22:22:18,856 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-08 22:22:18,856 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-08 22:22:18,858 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-08 22:22:18,859 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-08 22:22:18,859 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-08 22:22:18,859 INFO L280 TraceCheckUtils]: 2: Hoare triple {3912#true} #valid := #valid[0 := 0]; {3912#true} is VALID [2020-07-08 22:22:18,859 INFO L280 TraceCheckUtils]: 3: Hoare triple {3912#true} assume 0 < #StackHeapBarrier; {3912#true} is VALID [2020-07-08 22:22:18,859 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-08 22:22:18,859 INFO L280 TraceCheckUtils]: 5: Hoare triple {3912#true} ~elem~0.base, ~elem~0.offset := 0, 0; {3912#true} is VALID [2020-07-08 22:22:18,859 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-08 22:22:18,860 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-08 22:22:18,860 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-08 22:22:18,860 INFO L280 TraceCheckUtils]: 9: Hoare triple {3912#true} assume true; {3912#true} is VALID [2020-07-08 22:22:18,860 INFO L275 TraceCheckUtils]: 10: Hoare quadruple {3912#true} {3912#true} #109#return; {3912#true} is VALID [2020-07-08 22:22:18,860 INFO L263 TraceCheckUtils]: 11: Hoare triple {3912#true} call #t~ret34 := main(); {3912#true} is VALID [2020-07-08 22:22:18,860 INFO L280 TraceCheckUtils]: 12: Hoare triple {3912#true} havoc ~dev1~0.base, ~dev1~0.offset; {3912#true} is VALID [2020-07-08 22:22:18,860 INFO L280 TraceCheckUtils]: 13: Hoare triple {3912#true} havoc ~dev2~0.base, ~dev2~0.offset; {3912#true} is VALID [2020-07-08 22:22:18,861 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-08 22:22:18,861 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-08 22:22:18,862 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-08 22:22:18,862 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-08 22:22:18,862 INFO L280 TraceCheckUtils]: 18: Hoare triple {3912#true} assume ~size > 0; {3912#true} is VALID [2020-07-08 22:22:18,862 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-08 22:22:18,862 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-08 22:22:18,862 INFO L280 TraceCheckUtils]: 21: Hoare triple {3912#true} havoc #t~post28.base, #t~post28.offset; {3912#true} is VALID [2020-07-08 22:22:18,863 INFO L280 TraceCheckUtils]: 22: Hoare triple {3912#true} assume -2147483648 <= #t~nondet29 && #t~nondet29 <= 2147483647; {3912#true} is VALID [2020-07-08 22:22:18,863 INFO L280 TraceCheckUtils]: 23: Hoare triple {3912#true} assume !(0 == #t~nondet29); {3912#true} is VALID [2020-07-08 22:22:18,863 INFO L280 TraceCheckUtils]: 24: Hoare triple {3912#true} havoc #t~nondet29; {3912#true} is VALID [2020-07-08 22:22:18,863 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-08 22:22:18,869 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-08 22:22:18,870 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-08 22:22:18,871 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-08 22:22:18,871 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-08 22:22:18,872 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-08 22:22:18,873 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-08 22:22:18,874 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-08 22:22:18,875 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-08 22:22:18,875 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-08 22:22:18,876 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-08 22:22:18,877 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-08 22:22:18,877 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-08 22:22:18,877 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-08 22:22:18,878 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-08 22:22:18,878 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-08 22:22:18,879 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-08 22:22:18,880 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-08 22:22:18,880 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-08 22:22:18,880 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-08 22:22:18,881 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-08 22:22:18,881 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-08 22:22:18,882 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-08 22:22:18,883 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-08 22:22:18,883 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-08 22:22:18,884 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-08 22:22:18,885 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-08 22:22:18,886 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-08 22:22:18,887 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-08 22:22:18,888 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-08 22:22:18,889 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-08 22:22:18,889 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-08 22:22:18,889 INFO L280 TraceCheckUtils]: 57: Hoare triple {3912#true} ~head.base, ~head.offset := #in~head.base, #in~head.offset; {3912#true} is VALID [2020-07-08 22:22:18,889 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-08 22:22:18,890 INFO L280 TraceCheckUtils]: 59: Hoare triple {3912#true} assume -2147483648 <= #t~nondet31 && #t~nondet31 <= 2147483647; {3912#true} is VALID [2020-07-08 22:22:18,890 INFO L280 TraceCheckUtils]: 60: Hoare triple {3912#true} assume !(0 != #t~nondet31); {3912#true} is VALID [2020-07-08 22:22:18,890 INFO L280 TraceCheckUtils]: 61: Hoare triple {3912#true} havoc #t~nondet31; {3912#true} is VALID [2020-07-08 22:22:18,890 INFO L280 TraceCheckUtils]: 62: Hoare triple {3912#true} assume true; {3912#true} is VALID [2020-07-08 22:22:18,891 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-08 22:22:18,892 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-08 22:22:18,892 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-08 22:22:18,893 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-08 22:22:18,893 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-08 22:22:18,894 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-08 22:22:18,894 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-08 22:22:18,895 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-08 22:22:18,895 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-08 22:22:18,896 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-08 22:22:18,897 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-08 22:22:18,898 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-08 22:22:18,898 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-08 22:22:18,899 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-08 22:22:18,899 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-08 22:22:18,900 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-08 22:22:18,901 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-08 22:22:18,901 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-08 22:22:18,902 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-08 22:22:18,903 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-08 22:22:18,903 INFO L263 TraceCheckUtils]: 83: Hoare triple {3913#false} call __blast_assert(); {3913#false} is VALID [2020-07-08 22:22:18,903 INFO L280 TraceCheckUtils]: 84: Hoare triple {3913#false} assume !false; {3913#false} is VALID [2020-07-08 22:22:18,910 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-08 22:22:18,911 INFO L354 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModulePreferences [1682081215] [2020-07-08 22:22:18,911 INFO L220 FreeRefinementEngine]: Constructing automaton from 0 perfect and 1 imperfect interpolant sequences. [2020-07-08 22:22:18,911 INFO L233 FreeRefinementEngine]: Number of different interpolants: perfect sequences [] imperfect sequences [24] total 24 [2020-07-08 22:22:18,911 INFO L156 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [188407620] [2020-07-08 22:22:18,912 INFO L78 Accepts]: Start accepts. Automaton has 24 states. Word has length 85 [2020-07-08 22:22:18,912 INFO L84 Accepts]: Finished accepts. word is accepted. [2020-07-08 22:22:18,912 INFO L86 InductivityCheck]: Starting indutivity check of a Floyd-Hoare automaton with 24 states. [2020-07-08 22:22:19,020 INFO L119 InductivityCheck]: Floyd-Hoare automaton has 85 edges. 85 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2020-07-08 22:22:19,020 INFO L459 AbstractCegarLoop]: Interpolant automaton has 24 states [2020-07-08 22:22:19,020 INFO L143 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy FIXED_PREFERENCES [2020-07-08 22:22:19,021 INFO L142 InterpolantAutomaton]: Constructing interpolant automaton starting with 24 interpolants. [2020-07-08 22:22:19,021 INFO L144 InterpolantAutomaton]: CoverageRelationStatistics Valid=51, Invalid=501, Unknown=0, NotChecked=0, Total=552 [2020-07-08 22:22:19,021 INFO L87 Difference]: Start difference. First operand 79 states and 84 transitions. Second operand 24 states. [2020-07-08 22:22:25,472 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2020-07-08 22:22:25,472 INFO L93 Difference]: Finished difference Result 89 states and 95 transitions. [2020-07-08 22:22:25,472 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 26 states. [2020-07-08 22:22:25,472 INFO L78 Accepts]: Start accepts. Automaton has 24 states. Word has length 85 [2020-07-08 22:22:25,472 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2020-07-08 22:22:25,473 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 24 states. [2020-07-08 22:22:25,476 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 26 states to 26 states and 80 transitions. [2020-07-08 22:22:25,476 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 24 states. [2020-07-08 22:22:25,479 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 26 states to 26 states and 80 transitions. [2020-07-08 22:22:25,479 INFO L86 InductivityCheck]: Starting indutivity check of a Floyd-Hoare automaton with 26 states and 80 transitions. [2020-07-08 22:22:25,632 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-08 22:22:25,635 INFO L225 Difference]: With dead ends: 89 [2020-07-08 22:22:25,635 INFO L226 Difference]: Without dead ends: 82 [2020-07-08 22:22:25,636 INFO L675 BasicCegarLoop]: 0 DeclaredPredicates, 58 GetRequests, 15 SyntacticMatches, 0 SemanticMatches, 43 ConstructedPredicates, 0 IntricatePredicates, 0 DeprecatedPredicates, 205 ImplicationChecksByTransitivity, 1.4s TimeCoverageRelationStatistics Valid=232, Invalid=1748, Unknown=0, NotChecked=0, Total=1980 [2020-07-08 22:22:25,637 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 82 states. [2020-07-08 22:22:26,043 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 82 to 82. [2020-07-08 22:22:26,044 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2020-07-08 22:22:26,044 INFO L82 GeneralOperation]: Start isEquivalent. First operand 82 states. Second operand 82 states. [2020-07-08 22:22:26,044 INFO L74 IsIncluded]: Start isIncluded. First operand 82 states. Second operand 82 states. [2020-07-08 22:22:26,044 INFO L87 Difference]: Start difference. First operand 82 states. Second operand 82 states. [2020-07-08 22:22:26,048 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2020-07-08 22:22:26,048 INFO L93 Difference]: Finished difference Result 82 states and 88 transitions. [2020-07-08 22:22:26,048 INFO L276 IsEmpty]: Start isEmpty. Operand 82 states and 88 transitions. [2020-07-08 22:22:26,049 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2020-07-08 22:22:26,049 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2020-07-08 22:22:26,049 INFO L74 IsIncluded]: Start isIncluded. First operand 82 states. Second operand 82 states. [2020-07-08 22:22:26,049 INFO L87 Difference]: Start difference. First operand 82 states. Second operand 82 states. [2020-07-08 22:22:26,053 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2020-07-08 22:22:26,053 INFO L93 Difference]: Finished difference Result 82 states and 88 transitions. [2020-07-08 22:22:26,053 INFO L276 IsEmpty]: Start isEmpty. Operand 82 states and 88 transitions. [2020-07-08 22:22:26,054 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2020-07-08 22:22:26,054 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2020-07-08 22:22:26,054 INFO L88 GeneralOperation]: Finished isEquivalent. [2020-07-08 22:22:26,054 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2020-07-08 22:22:26,054 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 82 states. [2020-07-08 22:22:26,058 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 82 states to 82 states and 88 transitions. [2020-07-08 22:22:26,058 INFO L78 Accepts]: Start accepts. Automaton has 82 states and 88 transitions. Word has length 85 [2020-07-08 22:22:26,058 INFO L84 Accepts]: Finished accepts. word is rejected. [2020-07-08 22:22:26,058 INFO L479 AbstractCegarLoop]: Abstraction has 82 states and 88 transitions. [2020-07-08 22:22:26,059 INFO L480 AbstractCegarLoop]: Interpolant automaton has 24 states. [2020-07-08 22:22:26,059 INFO L86 InductivityCheck]: Starting indutivity check of a Floyd-Hoare automaton with 82 states and 88 transitions. [2020-07-08 22:22:26,270 INFO L119 InductivityCheck]: Floyd-Hoare automaton has 88 edges. 88 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2020-07-08 22:22:26,270 INFO L276 IsEmpty]: Start isEmpty. Operand 82 states and 88 transitions. [2020-07-08 22:22:26,271 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 86 [2020-07-08 22:22:26,271 INFO L414 BasicCegarLoop]: Found error trace [2020-07-08 22:22:26,272 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-08 22:22:26,272 WARN L516 AbstractCegarLoop]: Destroyed unattended storables created during the last iteration: SelfDestructingSolverStorable6 [2020-07-08 22:22:26,272 INFO L427 AbstractCegarLoop]: === Iteration 8 === [__blast_assertErr0ASSERT_VIOLATIONERROR_FUNCTION]=== [2020-07-08 22:22:26,272 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2020-07-08 22:22:26,273 INFO L82 PathProgramCache]: Analyzing trace with hash 571953633, now seen corresponding path program 2 times [2020-07-08 22:22:26,273 INFO L163 FreeRefinementEngine]: Executing refinement strategy FIXED_PREFERENCES [2020-07-08 22:22:26,273 INFO L354 FreeRefinementEngine]: Using trace check IpTcStrategyModulePreferences [137155361] [2020-07-08 22:22:26,273 INFO L94 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2020-07-08 22:22:26,291 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2020-07-08 22:22:26,383 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2020-07-08 22:22:26,388 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-08 22:22:26,388 INFO L280 TraceCheckUtils]: 1: Hoare triple {4575#true} #valid := #valid[0 := 0]; {4575#true} is VALID [2020-07-08 22:22:26,389 INFO L280 TraceCheckUtils]: 2: Hoare triple {4575#true} assume 0 < #StackHeapBarrier; {4575#true} is VALID [2020-07-08 22:22:26,389 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-08 22:22:26,389 INFO L280 TraceCheckUtils]: 4: Hoare triple {4575#true} ~elem~0.base, ~elem~0.offset := 0, 0; {4575#true} is VALID [2020-07-08 22:22:26,389 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-08 22:22:26,389 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-08 22:22:26,390 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-08 22:22:26,390 INFO L280 TraceCheckUtils]: 8: Hoare triple {4575#true} assume true; {4575#true} is VALID [2020-07-08 22:22:26,390 INFO L275 TraceCheckUtils]: 9: Hoare quadruple {4575#true} {4575#true} #109#return; {4575#true} is VALID [2020-07-08 22:22:26,410 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2020-07-08 22:22:26,421 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2020-07-08 22:22:26,430 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-08 22:22:26,430 INFO L280 TraceCheckUtils]: 1: Hoare triple {4575#true} assume ~size > 0; {4575#true} is VALID [2020-07-08 22:22:26,430 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-08 22:22:26,430 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-08 22:22:26,431 INFO L280 TraceCheckUtils]: 4: Hoare triple {4575#true} havoc #t~post28.base, #t~post28.offset; {4575#true} is VALID [2020-07-08 22:22:26,431 INFO L280 TraceCheckUtils]: 5: Hoare triple {4575#true} assume -2147483648 <= #t~nondet29 && #t~nondet29 <= 2147483647; {4575#true} is VALID [2020-07-08 22:22:26,431 INFO L280 TraceCheckUtils]: 6: Hoare triple {4575#true} assume !(0 == #t~nondet29); {4575#true} is VALID [2020-07-08 22:22:26,431 INFO L280 TraceCheckUtils]: 7: Hoare triple {4575#true} havoc #t~nondet29; {4575#true} is VALID [2020-07-08 22:22:26,431 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-08 22:22:26,432 INFO L280 TraceCheckUtils]: 9: Hoare triple {4575#true} assume true; {4575#true} is VALID [2020-07-08 22:22:26,432 INFO L275 TraceCheckUtils]: 10: Hoare quadruple {4575#true} {4575#true} #91#return; {4575#true} is VALID [2020-07-08 22:22:26,432 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-08 22:22:26,435 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-08 22:22:26,435 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-08 22:22:26,435 INFO L280 TraceCheckUtils]: 3: Hoare triple {4575#true} assume ~size > 0; {4575#true} is VALID [2020-07-08 22:22:26,435 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-08 22:22:26,435 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-08 22:22:26,436 INFO L280 TraceCheckUtils]: 6: Hoare triple {4575#true} havoc #t~post28.base, #t~post28.offset; {4575#true} is VALID [2020-07-08 22:22:26,436 INFO L280 TraceCheckUtils]: 7: Hoare triple {4575#true} assume -2147483648 <= #t~nondet29 && #t~nondet29 <= 2147483647; {4575#true} is VALID [2020-07-08 22:22:26,436 INFO L280 TraceCheckUtils]: 8: Hoare triple {4575#true} assume !(0 == #t~nondet29); {4575#true} is VALID [2020-07-08 22:22:26,437 INFO L280 TraceCheckUtils]: 9: Hoare triple {4575#true} havoc #t~nondet29; {4575#true} is VALID [2020-07-08 22:22:26,437 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-08 22:22:26,437 INFO L280 TraceCheckUtils]: 11: Hoare triple {4575#true} assume true; {4575#true} is VALID [2020-07-08 22:22:26,437 INFO L275 TraceCheckUtils]: 12: Hoare quadruple {4575#true} {4575#true} #91#return; {4575#true} is VALID [2020-07-08 22:22:26,438 INFO L280 TraceCheckUtils]: 13: Hoare triple {4575#true} #res.base, #res.offset := #t~ret30.base, #t~ret30.offset; {4575#true} is VALID [2020-07-08 22:22:26,438 INFO L280 TraceCheckUtils]: 14: Hoare triple {4575#true} havoc #t~ret30.base, #t~ret30.offset; {4575#true} is VALID [2020-07-08 22:22:26,438 INFO L280 TraceCheckUtils]: 15: Hoare triple {4575#true} assume true; {4575#true} is VALID [2020-07-08 22:22:26,438 INFO L275 TraceCheckUtils]: 16: Hoare quadruple {4575#true} {4575#true} #93#return; {4575#true} is VALID [2020-07-08 22:22:26,439 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2020-07-08 22:22:26,444 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2020-07-08 22:22:26,447 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-08 22:22:26,448 INFO L280 TraceCheckUtils]: 1: Hoare triple {4575#true} assume ~size > 0; {4575#true} is VALID [2020-07-08 22:22:26,448 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-08 22:22:26,448 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-08 22:22:26,449 INFO L280 TraceCheckUtils]: 4: Hoare triple {4575#true} havoc #t~post28.base, #t~post28.offset; {4575#true} is VALID [2020-07-08 22:22:26,449 INFO L280 TraceCheckUtils]: 5: Hoare triple {4575#true} assume -2147483648 <= #t~nondet29 && #t~nondet29 <= 2147483647; {4575#true} is VALID [2020-07-08 22:22:26,449 INFO L280 TraceCheckUtils]: 6: Hoare triple {4575#true} assume !(0 == #t~nondet29); {4575#true} is VALID [2020-07-08 22:22:26,449 INFO L280 TraceCheckUtils]: 7: Hoare triple {4575#true} havoc #t~nondet29; {4575#true} is VALID [2020-07-08 22:22:26,449 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-08 22:22:26,449 INFO L280 TraceCheckUtils]: 9: Hoare triple {4575#true} assume true; {4575#true} is VALID [2020-07-08 22:22:26,450 INFO L275 TraceCheckUtils]: 10: Hoare quadruple {4575#true} {4575#true} #91#return; {4575#true} is VALID [2020-07-08 22:22:26,450 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-08 22:22:26,451 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-08 22:22:26,451 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-08 22:22:26,452 INFO L280 TraceCheckUtils]: 3: Hoare triple {4575#true} assume ~size > 0; {4575#true} is VALID [2020-07-08 22:22:26,452 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-08 22:22:26,452 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-08 22:22:26,452 INFO L280 TraceCheckUtils]: 6: Hoare triple {4575#true} havoc #t~post28.base, #t~post28.offset; {4575#true} is VALID [2020-07-08 22:22:26,452 INFO L280 TraceCheckUtils]: 7: Hoare triple {4575#true} assume -2147483648 <= #t~nondet29 && #t~nondet29 <= 2147483647; {4575#true} is VALID [2020-07-08 22:22:26,453 INFO L280 TraceCheckUtils]: 8: Hoare triple {4575#true} assume !(0 == #t~nondet29); {4575#true} is VALID [2020-07-08 22:22:26,453 INFO L280 TraceCheckUtils]: 9: Hoare triple {4575#true} havoc #t~nondet29; {4575#true} is VALID [2020-07-08 22:22:26,453 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-08 22:22:26,453 INFO L280 TraceCheckUtils]: 11: Hoare triple {4575#true} assume true; {4575#true} is VALID [2020-07-08 22:22:26,453 INFO L275 TraceCheckUtils]: 12: Hoare quadruple {4575#true} {4575#true} #91#return; {4575#true} is VALID [2020-07-08 22:22:26,453 INFO L280 TraceCheckUtils]: 13: Hoare triple {4575#true} #res.base, #res.offset := #t~ret30.base, #t~ret30.offset; {4575#true} is VALID [2020-07-08 22:22:26,454 INFO L280 TraceCheckUtils]: 14: Hoare triple {4575#true} havoc #t~ret30.base, #t~ret30.offset; {4575#true} is VALID [2020-07-08 22:22:26,454 INFO L280 TraceCheckUtils]: 15: Hoare triple {4575#true} assume true; {4575#true} is VALID [2020-07-08 22:22:26,454 INFO L275 TraceCheckUtils]: 16: Hoare quadruple {4575#true} {4575#true} #95#return; {4575#true} is VALID [2020-07-08 22:22:26,468 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2020-07-08 22:22:26,516 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-08 22:22:26,517 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-08 22:22:26,518 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-08 22:22:26,519 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-08 22:22:26,520 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-08 22:22:26,520 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-08 22:22:26,521 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-08 22:22:26,522 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-08 22:22:26,524 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-08 22:22:26,526 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2020-07-08 22:22:26,555 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-08 22:22:26,556 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-08 22:22:26,557 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-08 22:22:26,558 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-08 22:22:26,559 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-08 22:22:26,560 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-08 22:22:26,561 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-08 22:22:26,563 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-08 22:22:26,564 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2020-07-08 22:22:26,622 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-08 22:22:26,623 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-08 22:22:26,623 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-08 22:22:26,625 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-08 22:22:26,626 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-08 22:22:26,626 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-08 22:22:26,626 INFO L280 TraceCheckUtils]: 2: Hoare triple {4575#true} #valid := #valid[0 := 0]; {4575#true} is VALID [2020-07-08 22:22:26,626 INFO L280 TraceCheckUtils]: 3: Hoare triple {4575#true} assume 0 < #StackHeapBarrier; {4575#true} is VALID [2020-07-08 22:22:26,627 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-08 22:22:26,627 INFO L280 TraceCheckUtils]: 5: Hoare triple {4575#true} ~elem~0.base, ~elem~0.offset := 0, 0; {4575#true} is VALID [2020-07-08 22:22:26,627 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-08 22:22:26,627 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-08 22:22:26,627 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-08 22:22:26,627 INFO L280 TraceCheckUtils]: 9: Hoare triple {4575#true} assume true; {4575#true} is VALID [2020-07-08 22:22:26,627 INFO L275 TraceCheckUtils]: 10: Hoare quadruple {4575#true} {4575#true} #109#return; {4575#true} is VALID [2020-07-08 22:22:26,627 INFO L263 TraceCheckUtils]: 11: Hoare triple {4575#true} call #t~ret34 := main(); {4575#true} is VALID [2020-07-08 22:22:26,628 INFO L280 TraceCheckUtils]: 12: Hoare triple {4575#true} havoc ~dev1~0.base, ~dev1~0.offset; {4575#true} is VALID [2020-07-08 22:22:26,628 INFO L280 TraceCheckUtils]: 13: Hoare triple {4575#true} havoc ~dev2~0.base, ~dev2~0.offset; {4575#true} is VALID [2020-07-08 22:22:26,629 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-08 22:22:26,629 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-08 22:22:26,630 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-08 22:22:26,630 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-08 22:22:26,631 INFO L280 TraceCheckUtils]: 18: Hoare triple {4575#true} assume ~size > 0; {4575#true} is VALID [2020-07-08 22:22:26,631 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-08 22:22:26,631 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-08 22:22:26,631 INFO L280 TraceCheckUtils]: 21: Hoare triple {4575#true} havoc #t~post28.base, #t~post28.offset; {4575#true} is VALID [2020-07-08 22:22:26,631 INFO L280 TraceCheckUtils]: 22: Hoare triple {4575#true} assume -2147483648 <= #t~nondet29 && #t~nondet29 <= 2147483647; {4575#true} is VALID [2020-07-08 22:22:26,631 INFO L280 TraceCheckUtils]: 23: Hoare triple {4575#true} assume !(0 == #t~nondet29); {4575#true} is VALID [2020-07-08 22:22:26,631 INFO L280 TraceCheckUtils]: 24: Hoare triple {4575#true} havoc #t~nondet29; {4575#true} is VALID [2020-07-08 22:22:26,632 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-08 22:22:26,632 INFO L280 TraceCheckUtils]: 26: Hoare triple {4575#true} assume true; {4575#true} is VALID [2020-07-08 22:22:26,632 INFO L275 TraceCheckUtils]: 27: Hoare quadruple {4575#true} {4575#true} #91#return; {4575#true} is VALID [2020-07-08 22:22:26,632 INFO L280 TraceCheckUtils]: 28: Hoare triple {4575#true} #res.base, #res.offset := #t~ret30.base, #t~ret30.offset; {4575#true} is VALID [2020-07-08 22:22:26,632 INFO L280 TraceCheckUtils]: 29: Hoare triple {4575#true} havoc #t~ret30.base, #t~ret30.offset; {4575#true} is VALID [2020-07-08 22:22:26,632 INFO L280 TraceCheckUtils]: 30: Hoare triple {4575#true} assume true; {4575#true} is VALID [2020-07-08 22:22:26,632 INFO L275 TraceCheckUtils]: 31: Hoare quadruple {4575#true} {4575#true} #93#return; {4575#true} is VALID [2020-07-08 22:22:26,633 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-08 22:22:26,633 INFO L280 TraceCheckUtils]: 33: Hoare triple {4575#true} havoc #t~ret32.base, #t~ret32.offset; {4575#true} is VALID [2020-07-08 22:22:26,633 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-08 22:22:26,634 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-08 22:22:26,634 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-08 22:22:26,635 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-08 22:22:26,635 INFO L280 TraceCheckUtils]: 38: Hoare triple {4575#true} assume ~size > 0; {4575#true} is VALID [2020-07-08 22:22:26,635 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-08 22:22:26,635 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-08 22:22:26,635 INFO L280 TraceCheckUtils]: 41: Hoare triple {4575#true} havoc #t~post28.base, #t~post28.offset; {4575#true} is VALID [2020-07-08 22:22:26,635 INFO L280 TraceCheckUtils]: 42: Hoare triple {4575#true} assume -2147483648 <= #t~nondet29 && #t~nondet29 <= 2147483647; {4575#true} is VALID [2020-07-08 22:22:26,635 INFO L280 TraceCheckUtils]: 43: Hoare triple {4575#true} assume !(0 == #t~nondet29); {4575#true} is VALID [2020-07-08 22:22:26,635 INFO L280 TraceCheckUtils]: 44: Hoare triple {4575#true} havoc #t~nondet29; {4575#true} is VALID [2020-07-08 22:22:26,636 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-08 22:22:26,636 INFO L280 TraceCheckUtils]: 46: Hoare triple {4575#true} assume true; {4575#true} is VALID [2020-07-08 22:22:26,636 INFO L275 TraceCheckUtils]: 47: Hoare quadruple {4575#true} {4575#true} #91#return; {4575#true} is VALID [2020-07-08 22:22:26,636 INFO L280 TraceCheckUtils]: 48: Hoare triple {4575#true} #res.base, #res.offset := #t~ret30.base, #t~ret30.offset; {4575#true} is VALID [2020-07-08 22:22:26,636 INFO L280 TraceCheckUtils]: 49: Hoare triple {4575#true} havoc #t~ret30.base, #t~ret30.offset; {4575#true} is VALID [2020-07-08 22:22:26,636 INFO L280 TraceCheckUtils]: 50: Hoare triple {4575#true} assume true; {4575#true} is VALID [2020-07-08 22:22:26,636 INFO L275 TraceCheckUtils]: 51: Hoare quadruple {4575#true} {4575#true} #95#return; {4575#true} is VALID [2020-07-08 22:22:26,637 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-08 22:22:26,637 INFO L280 TraceCheckUtils]: 53: Hoare triple {4575#true} havoc #t~ret33.base, #t~ret33.offset; {4575#true} is VALID [2020-07-08 22:22:26,637 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-08 22:22:26,639 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-08 22:22:26,642 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-08 22:22:26,645 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-08 22:22:26,647 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-08 22:22:26,648 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-08 22:22:26,649 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-08 22:22:26,649 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-08 22:22:26,650 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-08 22:22:26,651 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-08 22:22:26,653 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-08 22:22:26,654 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-08 22:22:26,655 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-08 22:22:26,656 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-08 22:22:26,657 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-08 22:22:26,658 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-08 22:22:26,659 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-08 22:22:26,659 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-08 22:22:26,660 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-08 22:22:26,662 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-08 22:22:26,663 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-08 22:22:26,664 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-08 22:22:26,664 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-08 22:22:26,665 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-08 22:22:26,666 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-08 22:22:26,666 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-08 22:22:26,666 INFO L280 TraceCheckUtils]: 80: Hoare triple {4576#false} ~new.base, ~new.offset := #in~new.base, #in~new.offset; {4576#false} is VALID [2020-07-08 22:22:26,666 INFO L280 TraceCheckUtils]: 81: Hoare triple {4576#false} ~head.base, ~head.offset := #in~head.base, #in~head.offset; {4576#false} is VALID [2020-07-08 22:22:26,666 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-08 22:22:26,667 INFO L263 TraceCheckUtils]: 83: Hoare triple {4576#false} call __blast_assert(); {4576#false} is VALID [2020-07-08 22:22:26,667 INFO L280 TraceCheckUtils]: 84: Hoare triple {4576#false} assume !false; {4576#false} is VALID [2020-07-08 22:22:26,684 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-08 22:22:26,684 INFO L354 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModulePreferences [137155361] [2020-07-08 22:22:26,684 INFO L220 FreeRefinementEngine]: Constructing automaton from 0 perfect and 1 imperfect interpolant sequences. [2020-07-08 22:22:26,685 INFO L233 FreeRefinementEngine]: Number of different interpolants: perfect sequences [] imperfect sequences [10] total 10 [2020-07-08 22:22:26,685 INFO L156 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [74330494] [2020-07-08 22:22:26,685 INFO L78 Accepts]: Start accepts. Automaton has 10 states. Word has length 85 [2020-07-08 22:22:26,686 INFO L84 Accepts]: Finished accepts. word is accepted. [2020-07-08 22:22:26,686 INFO L86 InductivityCheck]: Starting indutivity check of a Floyd-Hoare automaton with 10 states. [2020-07-08 22:22:26,770 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-08 22:22:26,770 INFO L459 AbstractCegarLoop]: Interpolant automaton has 10 states [2020-07-08 22:22:26,770 INFO L143 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy FIXED_PREFERENCES [2020-07-08 22:22:26,771 INFO L142 InterpolantAutomaton]: Constructing interpolant automaton starting with 10 interpolants. [2020-07-08 22:22:26,771 INFO L144 InterpolantAutomaton]: CoverageRelationStatistics Valid=20, Invalid=70, Unknown=0, NotChecked=0, Total=90 [2020-07-08 22:22:26,771 INFO L87 Difference]: Start difference. First operand 82 states and 88 transitions. Second operand 10 states. [2020-07-08 22:22:28,786 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2020-07-08 22:22:28,787 INFO L93 Difference]: Finished difference Result 89 states and 94 transitions. [2020-07-08 22:22:28,787 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 12 states. [2020-07-08 22:22:28,787 INFO L78 Accepts]: Start accepts. Automaton has 10 states. Word has length 85 [2020-07-08 22:22:28,787 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2020-07-08 22:22:28,787 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 10 states. [2020-07-08 22:22:28,791 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 12 states to 12 states and 79 transitions. [2020-07-08 22:22:28,791 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 10 states. [2020-07-08 22:22:28,794 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 12 states to 12 states and 79 transitions. [2020-07-08 22:22:28,794 INFO L86 InductivityCheck]: Starting indutivity check of a Floyd-Hoare automaton with 12 states and 79 transitions. [2020-07-08 22:22:28,939 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-08 22:22:28,941 INFO L225 Difference]: With dead ends: 89 [2020-07-08 22:22:28,942 INFO L226 Difference]: Without dead ends: 80 [2020-07-08 22:22:28,942 INFO L675 BasicCegarLoop]: 0 DeclaredPredicates, 28 GetRequests, 13 SyntacticMatches, 1 SemanticMatches, 14 ConstructedPredicates, 0 IntricatePredicates, 0 DeprecatedPredicates, 18 ImplicationChecksByTransitivity, 0.4s TimeCoverageRelationStatistics Valid=63, Invalid=177, Unknown=0, NotChecked=0, Total=240 [2020-07-08 22:22:28,943 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 80 states. [2020-07-08 22:22:29,316 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 80 to 79. [2020-07-08 22:22:29,316 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2020-07-08 22:22:29,317 INFO L82 GeneralOperation]: Start isEquivalent. First operand 80 states. Second operand 79 states. [2020-07-08 22:22:29,317 INFO L74 IsIncluded]: Start isIncluded. First operand 80 states. Second operand 79 states. [2020-07-08 22:22:29,317 INFO L87 Difference]: Start difference. First operand 80 states. Second operand 79 states. [2020-07-08 22:22:29,320 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2020-07-08 22:22:29,320 INFO L93 Difference]: Finished difference Result 80 states and 85 transitions. [2020-07-08 22:22:29,321 INFO L276 IsEmpty]: Start isEmpty. Operand 80 states and 85 transitions. [2020-07-08 22:22:29,321 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2020-07-08 22:22:29,321 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2020-07-08 22:22:29,322 INFO L74 IsIncluded]: Start isIncluded. First operand 79 states. Second operand 80 states. [2020-07-08 22:22:29,322 INFO L87 Difference]: Start difference. First operand 79 states. Second operand 80 states. [2020-07-08 22:22:29,325 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2020-07-08 22:22:29,325 INFO L93 Difference]: Finished difference Result 80 states and 85 transitions. [2020-07-08 22:22:29,325 INFO L276 IsEmpty]: Start isEmpty. Operand 80 states and 85 transitions. [2020-07-08 22:22:29,326 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2020-07-08 22:22:29,326 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2020-07-08 22:22:29,326 INFO L88 GeneralOperation]: Finished isEquivalent. [2020-07-08 22:22:29,326 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2020-07-08 22:22:29,327 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 79 states. [2020-07-08 22:22:29,329 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 79 states to 79 states and 83 transitions. [2020-07-08 22:22:29,330 INFO L78 Accepts]: Start accepts. Automaton has 79 states and 83 transitions. Word has length 85 [2020-07-08 22:22:29,330 INFO L84 Accepts]: Finished accepts. word is rejected. [2020-07-08 22:22:29,330 INFO L479 AbstractCegarLoop]: Abstraction has 79 states and 83 transitions. [2020-07-08 22:22:29,330 INFO L480 AbstractCegarLoop]: Interpolant automaton has 10 states. [2020-07-08 22:22:29,330 INFO L86 InductivityCheck]: Starting indutivity check of a Floyd-Hoare automaton with 79 states and 83 transitions. [2020-07-08 22:22:29,533 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-08 22:22:29,533 INFO L276 IsEmpty]: Start isEmpty. Operand 79 states and 83 transitions. [2020-07-08 22:22:29,535 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 87 [2020-07-08 22:22:29,535 INFO L414 BasicCegarLoop]: Found error trace [2020-07-08 22:22:29,536 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-08 22:22:29,536 WARN L516 AbstractCegarLoop]: Destroyed unattended storables created during the last iteration: SelfDestructingSolverStorable7 [2020-07-08 22:22:29,536 INFO L427 AbstractCegarLoop]: === Iteration 9 === [__blast_assertErr0ASSERT_VIOLATIONERROR_FUNCTION]=== [2020-07-08 22:22:29,536 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2020-07-08 22:22:29,537 INFO L82 PathProgramCache]: Analyzing trace with hash 578402155, now seen corresponding path program 1 times [2020-07-08 22:22:29,537 INFO L163 FreeRefinementEngine]: Executing refinement strategy FIXED_PREFERENCES [2020-07-08 22:22:29,538 INFO L354 FreeRefinementEngine]: Using trace check IpTcStrategyModulePreferences [746729587] [2020-07-08 22:22:29,538 INFO L94 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2020-07-08 22:22:29,574 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2020-07-08 22:22:29,726 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2020-07-08 22:22:29,733 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-08 22:22:29,734 INFO L280 TraceCheckUtils]: 1: Hoare triple {5182#true} #valid := #valid[0 := 0]; {5182#true} is VALID [2020-07-08 22:22:29,734 INFO L280 TraceCheckUtils]: 2: Hoare triple {5182#true} assume 0 < #StackHeapBarrier; {5182#true} is VALID [2020-07-08 22:22:29,734 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-08 22:22:29,735 INFO L280 TraceCheckUtils]: 4: Hoare triple {5182#true} ~elem~0.base, ~elem~0.offset := 0, 0; {5182#true} is VALID [2020-07-08 22:22:29,735 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-08 22:22:29,735 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-08 22:22:29,735 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-08 22:22:29,736 INFO L280 TraceCheckUtils]: 8: Hoare triple {5182#true} assume true; {5182#true} is VALID [2020-07-08 22:22:29,736 INFO L275 TraceCheckUtils]: 9: Hoare quadruple {5182#true} {5182#true} #109#return; {5182#true} is VALID [2020-07-08 22:22:29,755 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2020-07-08 22:22:29,805 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2020-07-08 22:22:29,845 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-08 22:22:29,846 INFO L280 TraceCheckUtils]: 1: Hoare triple {5182#true} assume ~size > 0; {5182#true} is VALID [2020-07-08 22:22:29,846 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-08 22:22:29,846 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-08 22:22:29,846 INFO L280 TraceCheckUtils]: 4: Hoare triple {5182#true} havoc #t~post28.base, #t~post28.offset; {5182#true} is VALID [2020-07-08 22:22:29,846 INFO L280 TraceCheckUtils]: 5: Hoare triple {5182#true} assume -2147483648 <= #t~nondet29 && #t~nondet29 <= 2147483647; {5182#true} is VALID [2020-07-08 22:22:29,846 INFO L280 TraceCheckUtils]: 6: Hoare triple {5182#true} assume !(0 == #t~nondet29); {5182#true} is VALID [2020-07-08 22:22:29,847 INFO L280 TraceCheckUtils]: 7: Hoare triple {5182#true} havoc #t~nondet29; {5182#true} is VALID [2020-07-08 22:22:29,848 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-08 22:22:29,848 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-08 22:22:29,849 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-08 22:22:29,850 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-08 22:22:29,850 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-08 22:22:29,851 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-08 22:22:29,851 INFO L280 TraceCheckUtils]: 3: Hoare triple {5182#true} assume ~size > 0; {5182#true} is VALID [2020-07-08 22:22:29,851 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-08 22:22:29,851 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-08 22:22:29,851 INFO L280 TraceCheckUtils]: 6: Hoare triple {5182#true} havoc #t~post28.base, #t~post28.offset; {5182#true} is VALID [2020-07-08 22:22:29,852 INFO L280 TraceCheckUtils]: 7: Hoare triple {5182#true} assume -2147483648 <= #t~nondet29 && #t~nondet29 <= 2147483647; {5182#true} is VALID [2020-07-08 22:22:29,852 INFO L280 TraceCheckUtils]: 8: Hoare triple {5182#true} assume !(0 == #t~nondet29); {5182#true} is VALID [2020-07-08 22:22:29,852 INFO L280 TraceCheckUtils]: 9: Hoare triple {5182#true} havoc #t~nondet29; {5182#true} is VALID [2020-07-08 22:22:29,853 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-08 22:22:29,853 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-08 22:22:29,854 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-08 22:22:29,855 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-08 22:22:29,856 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-08 22:22:29,856 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-08 22:22:29,857 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-08 22:22:29,861 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2020-07-08 22:22:29,929 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2020-07-08 22:22:29,999 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-08 22:22:30,000 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-08 22:22:30,001 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-08 22:22:30,001 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-08 22:22:30,002 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-08 22:22:30,002 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-08 22:22:30,003 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-08 22:22:30,003 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-08 22:22:30,004 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-08 22:22:30,005 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-08 22:22:30,006 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-08 22:22:30,007 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-08 22:22:30,008 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-08 22:22:30,009 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-08 22:22:30,009 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-08 22:22:30,010 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-08 22:22:30,011 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-08 22:22:30,011 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-08 22:22:30,012 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-08 22:22:30,012 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-08 22:22:30,013 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-08 22:22:30,014 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-08 22:22:30,014 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-08 22:22:30,015 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-08 22:22:30,016 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-08 22:22:30,017 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-08 22:22:30,017 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-08 22:22:30,019 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-08 22:22:30,048 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2020-07-08 22:22:30,054 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-08 22:22:30,055 INFO L280 TraceCheckUtils]: 1: Hoare triple {5182#true} ~head.base, ~head.offset := #in~head.base, #in~head.offset; {5182#true} is VALID [2020-07-08 22:22:30,055 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-08 22:22:30,055 INFO L280 TraceCheckUtils]: 3: Hoare triple {5182#true} assume -2147483648 <= #t~nondet31 && #t~nondet31 <= 2147483647; {5182#true} is VALID [2020-07-08 22:22:30,055 INFO L280 TraceCheckUtils]: 4: Hoare triple {5182#true} assume !(0 != #t~nondet31); {5182#true} is VALID [2020-07-08 22:22:30,056 INFO L280 TraceCheckUtils]: 5: Hoare triple {5182#true} havoc #t~nondet31; {5182#true} is VALID [2020-07-08 22:22:30,056 INFO L280 TraceCheckUtils]: 6: Hoare triple {5182#true} assume true; {5182#true} is VALID [2020-07-08 22:22:30,058 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-08 22:22:30,060 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2020-07-08 22:22:30,111 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-08 22:22:30,112 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-08 22:22:30,112 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-08 22:22:30,113 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-08 22:22:30,113 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-08 22:22:30,114 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-08 22:22:30,115 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-08 22:22:30,116 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-08 22:22:30,117 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-08 22:22:30,119 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2020-07-08 22:22:30,180 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-08 22:22:30,181 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-08 22:22:30,181 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-08 22:22:30,182 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-08 22:22:30,183 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-08 22:22:30,184 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-08 22:22:30,184 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-08 22:22:30,185 INFO L280 TraceCheckUtils]: 2: Hoare triple {5182#true} #valid := #valid[0 := 0]; {5182#true} is VALID [2020-07-08 22:22:30,185 INFO L280 TraceCheckUtils]: 3: Hoare triple {5182#true} assume 0 < #StackHeapBarrier; {5182#true} is VALID [2020-07-08 22:22:30,185 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-08 22:22:30,185 INFO L280 TraceCheckUtils]: 5: Hoare triple {5182#true} ~elem~0.base, ~elem~0.offset := 0, 0; {5182#true} is VALID [2020-07-08 22:22:30,185 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-08 22:22:30,186 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-08 22:22:30,186 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-08 22:22:30,186 INFO L280 TraceCheckUtils]: 9: Hoare triple {5182#true} assume true; {5182#true} is VALID [2020-07-08 22:22:30,186 INFO L275 TraceCheckUtils]: 10: Hoare quadruple {5182#true} {5182#true} #109#return; {5182#true} is VALID [2020-07-08 22:22:30,186 INFO L263 TraceCheckUtils]: 11: Hoare triple {5182#true} call #t~ret34 := main(); {5182#true} is VALID [2020-07-08 22:22:30,186 INFO L280 TraceCheckUtils]: 12: Hoare triple {5182#true} havoc ~dev1~0.base, ~dev1~0.offset; {5182#true} is VALID [2020-07-08 22:22:30,186 INFO L280 TraceCheckUtils]: 13: Hoare triple {5182#true} havoc ~dev2~0.base, ~dev2~0.offset; {5182#true} is VALID [2020-07-08 22:22:30,187 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-08 22:22:30,187 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-08 22:22:30,188 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-08 22:22:30,188 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-08 22:22:30,188 INFO L280 TraceCheckUtils]: 18: Hoare triple {5182#true} assume ~size > 0; {5182#true} is VALID [2020-07-08 22:22:30,188 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-08 22:22:30,188 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-08 22:22:30,189 INFO L280 TraceCheckUtils]: 21: Hoare triple {5182#true} havoc #t~post28.base, #t~post28.offset; {5182#true} is VALID [2020-07-08 22:22:30,189 INFO L280 TraceCheckUtils]: 22: Hoare triple {5182#true} assume -2147483648 <= #t~nondet29 && #t~nondet29 <= 2147483647; {5182#true} is VALID [2020-07-08 22:22:30,189 INFO L280 TraceCheckUtils]: 23: Hoare triple {5182#true} assume !(0 == #t~nondet29); {5182#true} is VALID [2020-07-08 22:22:30,189 INFO L280 TraceCheckUtils]: 24: Hoare triple {5182#true} havoc #t~nondet29; {5182#true} is VALID [2020-07-08 22:22:30,189 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-08 22:22:30,190 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-08 22:22:30,191 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-08 22:22:30,192 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-08 22:22:30,192 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-08 22:22:30,192 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-08 22:22:30,193 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-08 22:22:30,194 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-08 22:22:30,195 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-08 22:22:30,196 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-08 22:22:30,198 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-08 22:22:30,199 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-08 22:22:30,200 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-08 22:22:30,200 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-08 22:22:30,201 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-08 22:22:30,201 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-08 22:22:30,202 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-08 22:22:30,203 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-08 22:22:30,203 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-08 22:22:30,204 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-08 22:22:30,204 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-08 22:22:30,205 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-08 22:22:30,205 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-08 22:22:30,206 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-08 22:22:30,206 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-08 22:22:30,207 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-08 22:22:30,208 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-08 22:22:30,209 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-08 22:22:30,210 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-08 22:22:30,210 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-08 22:22:30,212 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-08 22:22:30,212 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-08 22:22:30,212 INFO L280 TraceCheckUtils]: 57: Hoare triple {5182#true} ~head.base, ~head.offset := #in~head.base, #in~head.offset; {5182#true} is VALID [2020-07-08 22:22:30,212 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-08 22:22:30,212 INFO L280 TraceCheckUtils]: 59: Hoare triple {5182#true} assume -2147483648 <= #t~nondet31 && #t~nondet31 <= 2147483647; {5182#true} is VALID [2020-07-08 22:22:30,212 INFO L280 TraceCheckUtils]: 60: Hoare triple {5182#true} assume !(0 != #t~nondet31); {5182#true} is VALID [2020-07-08 22:22:30,212 INFO L280 TraceCheckUtils]: 61: Hoare triple {5182#true} havoc #t~nondet31; {5182#true} is VALID [2020-07-08 22:22:30,212 INFO L280 TraceCheckUtils]: 62: Hoare triple {5182#true} assume true; {5182#true} is VALID [2020-07-08 22:22:30,213 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-08 22:22:30,214 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-08 22:22:30,215 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-08 22:22:30,215 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-08 22:22:30,216 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-08 22:22:30,216 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-08 22:22:30,217 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-08 22:22:30,217 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-08 22:22:30,218 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-08 22:22:30,218 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-08 22:22:30,219 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-08 22:22:30,220 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-08 22:22:30,221 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-08 22:22:30,221 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-08 22:22:30,222 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-08 22:22:30,222 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-08 22:22:30,223 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-08 22:22:30,223 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-08 22:22:30,223 INFO L280 TraceCheckUtils]: 81: Hoare triple {5183#false} ~new.base, ~new.offset := #in~new.base, #in~new.offset; {5183#false} is VALID [2020-07-08 22:22:30,223 INFO L280 TraceCheckUtils]: 82: Hoare triple {5183#false} ~head.base, ~head.offset := #in~head.base, #in~head.offset; {5183#false} is VALID [2020-07-08 22:22:30,223 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-08 22:22:30,223 INFO L263 TraceCheckUtils]: 84: Hoare triple {5183#false} call __blast_assert(); {5183#false} is VALID [2020-07-08 22:22:30,223 INFO L280 TraceCheckUtils]: 85: Hoare triple {5183#false} assume !false; {5183#false} is VALID [2020-07-08 22:22:30,230 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-08 22:22:30,230 INFO L354 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModulePreferences [746729587] [2020-07-08 22:22:30,230 INFO L220 FreeRefinementEngine]: Constructing automaton from 0 perfect and 1 imperfect interpolant sequences. [2020-07-08 22:22:30,231 INFO L233 FreeRefinementEngine]: Number of different interpolants: perfect sequences [] imperfect sequences [23] total 23 [2020-07-08 22:22:30,231 INFO L156 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [1639081161] [2020-07-08 22:22:30,231 INFO L78 Accepts]: Start accepts. Automaton has 23 states. Word has length 86 [2020-07-08 22:22:30,232 INFO L84 Accepts]: Finished accepts. word is accepted. [2020-07-08 22:22:30,232 INFO L86 InductivityCheck]: Starting indutivity check of a Floyd-Hoare automaton with 23 states. [2020-07-08 22:22:30,337 INFO L119 InductivityCheck]: Floyd-Hoare automaton has 86 edges. 86 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2020-07-08 22:22:30,337 INFO L459 AbstractCegarLoop]: Interpolant automaton has 23 states [2020-07-08 22:22:30,338 INFO L143 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy FIXED_PREFERENCES [2020-07-08 22:22:30,338 INFO L142 InterpolantAutomaton]: Constructing interpolant automaton starting with 23 interpolants. [2020-07-08 22:22:30,339 INFO L144 InterpolantAutomaton]: CoverageRelationStatistics Valid=47, Invalid=459, Unknown=0, NotChecked=0, Total=506 [2020-07-08 22:22:30,339 INFO L87 Difference]: Start difference. First operand 79 states and 83 transitions. Second operand 23 states. [2020-07-08 22:22:35,130 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2020-07-08 22:22:35,130 INFO L93 Difference]: Finished difference Result 87 states and 91 transitions. [2020-07-08 22:22:35,130 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 26 states. [2020-07-08 22:22:35,130 INFO L78 Accepts]: Start accepts. Automaton has 23 states. Word has length 86 [2020-07-08 22:22:35,131 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2020-07-08 22:22:35,131 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 23 states. [2020-07-08 22:22:35,133 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 26 states to 26 states and 76 transitions. [2020-07-08 22:22:35,134 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 23 states. [2020-07-08 22:22:35,136 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 26 states to 26 states and 76 transitions. [2020-07-08 22:22:35,136 INFO L86 InductivityCheck]: Starting indutivity check of a Floyd-Hoare automaton with 26 states and 76 transitions. [2020-07-08 22:22:35,272 INFO L119 InductivityCheck]: Floyd-Hoare automaton has 76 edges. 76 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2020-07-08 22:22:35,275 INFO L225 Difference]: With dead ends: 87 [2020-07-08 22:22:35,275 INFO L226 Difference]: Without dead ends: 70 [2020-07-08 22:22:35,276 INFO L675 BasicCegarLoop]: 0 DeclaredPredicates, 57 GetRequests, 14 SyntacticMatches, 0 SemanticMatches, 43 ConstructedPredicates, 0 IntricatePredicates, 0 DeprecatedPredicates, 232 ImplicationChecksByTransitivity, 1.2s TimeCoverageRelationStatistics Valid=214, Invalid=1766, Unknown=0, NotChecked=0, Total=1980 [2020-07-08 22:22:35,276 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 70 states. [2020-07-08 22:22:35,600 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 70 to 70. [2020-07-08 22:22:35,600 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2020-07-08 22:22:35,601 INFO L82 GeneralOperation]: Start isEquivalent. First operand 70 states. Second operand 70 states. [2020-07-08 22:22:35,601 INFO L74 IsIncluded]: Start isIncluded. First operand 70 states. Second operand 70 states. [2020-07-08 22:22:35,601 INFO L87 Difference]: Start difference. First operand 70 states. Second operand 70 states. [2020-07-08 22:22:35,605 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2020-07-08 22:22:35,605 INFO L93 Difference]: Finished difference Result 70 states and 71 transitions. [2020-07-08 22:22:35,605 INFO L276 IsEmpty]: Start isEmpty. Operand 70 states and 71 transitions. [2020-07-08 22:22:35,605 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2020-07-08 22:22:35,606 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2020-07-08 22:22:35,606 INFO L74 IsIncluded]: Start isIncluded. First operand 70 states. Second operand 70 states. [2020-07-08 22:22:35,606 INFO L87 Difference]: Start difference. First operand 70 states. Second operand 70 states. [2020-07-08 22:22:35,608 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2020-07-08 22:22:35,608 INFO L93 Difference]: Finished difference Result 70 states and 71 transitions. [2020-07-08 22:22:35,608 INFO L276 IsEmpty]: Start isEmpty. Operand 70 states and 71 transitions. [2020-07-08 22:22:35,609 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2020-07-08 22:22:35,609 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2020-07-08 22:22:35,609 INFO L88 GeneralOperation]: Finished isEquivalent. [2020-07-08 22:22:35,609 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2020-07-08 22:22:35,609 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 70 states. [2020-07-08 22:22:35,611 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 70 states to 70 states and 71 transitions. [2020-07-08 22:22:35,611 INFO L78 Accepts]: Start accepts. Automaton has 70 states and 71 transitions. Word has length 86 [2020-07-08 22:22:35,612 INFO L84 Accepts]: Finished accepts. word is rejected. [2020-07-08 22:22:35,612 INFO L479 AbstractCegarLoop]: Abstraction has 70 states and 71 transitions. [2020-07-08 22:22:35,612 INFO L480 AbstractCegarLoop]: Interpolant automaton has 23 states. [2020-07-08 22:22:35,612 INFO L86 InductivityCheck]: Starting indutivity check of a Floyd-Hoare automaton with 70 states and 71 transitions. [2020-07-08 22:22:35,780 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-08 22:22:35,780 INFO L276 IsEmpty]: Start isEmpty. Operand 70 states and 71 transitions. [2020-07-08 22:22:35,782 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 87 [2020-07-08 22:22:35,782 INFO L414 BasicCegarLoop]: Found error trace [2020-07-08 22:22:35,782 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-08 22:22:35,783 WARN L516 AbstractCegarLoop]: Destroyed unattended storables created during the last iteration: SelfDestructingSolverStorable8 [2020-07-08 22:22:35,783 INFO L427 AbstractCegarLoop]: === Iteration 10 === [__blast_assertErr0ASSERT_VIOLATIONERROR_FUNCTION]=== [2020-07-08 22:22:35,783 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2020-07-08 22:22:35,783 INFO L82 PathProgramCache]: Analyzing trace with hash -1773366491, now seen corresponding path program 2 times [2020-07-08 22:22:35,784 INFO L163 FreeRefinementEngine]: Executing refinement strategy FIXED_PREFERENCES [2020-07-08 22:22:35,784 INFO L354 FreeRefinementEngine]: Using trace check IpTcStrategyModulePreferences [710346637] [2020-07-08 22:22:35,784 INFO L94 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2020-07-08 22:22:35,799 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2020-07-08 22:22:36,001 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2020-07-08 22:22:36,010 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-08 22:22:36,011 INFO L280 TraceCheckUtils]: 1: Hoare triple {5795#true} #valid := #valid[0 := 0]; {5795#true} is VALID [2020-07-08 22:22:36,011 INFO L280 TraceCheckUtils]: 2: Hoare triple {5795#true} assume 0 < #StackHeapBarrier; {5795#true} is VALID [2020-07-08 22:22:36,012 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-08 22:22:36,012 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-08 22:22:36,013 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-08 22:22:36,013 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-08 22:22:36,015 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-08 22:22:36,015 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-08 22:22:36,016 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-08 22:22:36,036 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2020-07-08 22:22:36,078 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2020-07-08 22:22:36,111 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-08 22:22:36,112 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-08 22:22:36,113 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-08 22:22:36,113 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-08 22:22:36,114 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-08 22:22:36,115 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-08 22:22:36,115 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-08 22:22:36,116 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-08 22:22:36,116 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-08 22:22:36,117 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-08 22:22:36,118 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-08 22:22:36,119 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-08 22:22:36,120 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-08 22:22:36,121 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-08 22:22:36,121 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-08 22:22:36,122 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-08 22:22:36,123 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-08 22:22:36,123 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-08 22:22:36,124 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-08 22:22:36,124 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-08 22:22:36,125 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-08 22:22:36,126 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-08 22:22:36,127 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-08 22:22:36,128 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-08 22:22:36,129 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-08 22:22:36,129 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-08 22:22:36,130 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-08 22:22:36,131 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-08 22:22:36,137 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2020-07-08 22:22:36,193 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2020-07-08 22:22:36,234 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-08 22:22:36,234 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-08 22:22:36,235 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-08 22:22:36,236 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-08 22:22:36,237 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-08 22:22:36,238 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-08 22:22:36,239 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-08 22:22:36,240 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-08 22:22:36,241 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-08 22:22:36,242 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-08 22:22:36,244 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-08 22:22:36,245 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-08 22:22:36,246 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-08 22:22:36,247 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-08 22:22:36,248 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-08 22:22:36,249 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-08 22:22:36,250 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-08 22:22:36,251 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-08 22:22:36,252 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-08 22:22:36,252 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-08 22:22:36,253 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-08 22:22:36,254 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-08 22:22:36,255 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-08 22:22:36,257 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-08 22:22:36,258 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-08 22:22:36,259 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-08 22:22:36,260 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-08 22:22:36,261 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-08 22:22:36,293 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2020-07-08 22:22:36,299 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-08 22:22:36,299 INFO L280 TraceCheckUtils]: 1: Hoare triple {5795#true} ~head.base, ~head.offset := #in~head.base, #in~head.offset; {5795#true} is VALID [2020-07-08 22:22:36,300 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-08 22:22:36,300 INFO L280 TraceCheckUtils]: 3: Hoare triple {5795#true} assume -2147483648 <= #t~nondet31 && #t~nondet31 <= 2147483647; {5795#true} is VALID [2020-07-08 22:22:36,300 INFO L280 TraceCheckUtils]: 4: Hoare triple {5795#true} assume 0 != #t~nondet31; {5795#true} is VALID [2020-07-08 22:22:36,301 INFO L280 TraceCheckUtils]: 5: Hoare triple {5795#true} havoc #t~nondet31; {5795#true} is VALID [2020-07-08 22:22:36,301 INFO L280 TraceCheckUtils]: 6: Hoare triple {5795#true} ~elem~0.base, ~elem~0.offset := ~new.base, ~new.offset; {5795#true} is VALID [2020-07-08 22:22:36,301 INFO L280 TraceCheckUtils]: 7: Hoare triple {5795#true} assume true; {5795#true} is VALID [2020-07-08 22:22:36,303 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-08 22:22:36,305 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2020-07-08 22:22:36,310 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-08 22:22:36,310 INFO L280 TraceCheckUtils]: 1: Hoare triple {5795#true} ~head.base, ~head.offset := #in~head.base, #in~head.offset; {5795#true} is VALID [2020-07-08 22:22:36,311 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-08 22:22:36,311 INFO L280 TraceCheckUtils]: 3: Hoare triple {5795#true} assume -2147483648 <= #t~nondet31 && #t~nondet31 <= 2147483647; {5795#true} is VALID [2020-07-08 22:22:36,311 INFO L280 TraceCheckUtils]: 4: Hoare triple {5795#true} assume !(0 != #t~nondet31); {5795#true} is VALID [2020-07-08 22:22:36,312 INFO L280 TraceCheckUtils]: 5: Hoare triple {5795#true} havoc #t~nondet31; {5795#true} is VALID [2020-07-08 22:22:36,312 INFO L280 TraceCheckUtils]: 6: Hoare triple {5795#true} assume true; {5795#true} is VALID [2020-07-08 22:22:36,313 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-08 22:22:36,315 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2020-07-08 22:22:36,354 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-08 22:22:36,355 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-08 22:22:36,355 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-08 22:22:36,356 INFO L280 TraceCheckUtils]: 3: Hoare triple {5901#(= 0 ~elem~0.offset)} assume true; {5901#(= 0 ~elem~0.offset)} is VALID [2020-07-08 22:22:36,357 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-08 22:22:36,358 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-08 22:22:36,359 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-08 22:22:36,359 INFO L280 TraceCheckUtils]: 2: Hoare triple {5795#true} #valid := #valid[0 := 0]; {5795#true} is VALID [2020-07-08 22:22:36,359 INFO L280 TraceCheckUtils]: 3: Hoare triple {5795#true} assume 0 < #StackHeapBarrier; {5795#true} is VALID [2020-07-08 22:22:36,360 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-08 22:22:36,361 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-08 22:22:36,362 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-08 22:22:36,364 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-08 22:22:36,365 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-08 22:22:36,366 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-08 22:22:36,389 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-08 22:22:36,394 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-08 22:22:36,395 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-08 22:22:36,396 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-08 22:22:36,397 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-08 22:22:36,398 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-08 22:22:36,399 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-08 22:22:36,400 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-08 22:22:36,402 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-08 22:22:36,403 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-08 22:22:36,404 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-08 22:22:36,405 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-08 22:22:36,405 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-08 22:22:36,406 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-08 22:22:36,407 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-08 22:22:36,408 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-08 22:22:36,409 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-08 22:22:36,411 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-08 22:22:36,412 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-08 22:22:36,412 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-08 22:22:36,413 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-08 22:22:36,415 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-08 22:22:36,416 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-08 22:22:36,416 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-08 22:22:36,417 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-08 22:22:36,418 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-08 22:22:36,419 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-08 22:22:36,419 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-08 22:22:36,420 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-08 22:22:36,421 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-08 22:22:36,421 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-08 22:22:36,422 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-08 22:22:36,423 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-08 22:22:36,423 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-08 22:22:36,424 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-08 22:22:36,425 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-08 22:22:36,426 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-08 22:22:36,428 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-08 22:22:36,429 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-08 22:22:36,429 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-08 22:22:36,430 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-08 22:22:36,431 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-08 22:22:36,432 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-08 22:22:36,433 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-08 22:22:36,433 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-08 22:22:36,435 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-08 22:22:36,435 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-08 22:22:36,435 INFO L280 TraceCheckUtils]: 57: Hoare triple {5795#true} ~head.base, ~head.offset := #in~head.base, #in~head.offset; {5795#true} is VALID [2020-07-08 22:22:36,436 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-08 22:22:36,436 INFO L280 TraceCheckUtils]: 59: Hoare triple {5795#true} assume -2147483648 <= #t~nondet31 && #t~nondet31 <= 2147483647; {5795#true} is VALID [2020-07-08 22:22:36,436 INFO L280 TraceCheckUtils]: 60: Hoare triple {5795#true} assume 0 != #t~nondet31; {5795#true} is VALID [2020-07-08 22:22:36,437 INFO L280 TraceCheckUtils]: 61: Hoare triple {5795#true} havoc #t~nondet31; {5795#true} is VALID [2020-07-08 22:22:36,437 INFO L280 TraceCheckUtils]: 62: Hoare triple {5795#true} ~elem~0.base, ~elem~0.offset := ~new.base, ~new.offset; {5795#true} is VALID [2020-07-08 22:22:36,437 INFO L280 TraceCheckUtils]: 63: Hoare triple {5795#true} assume true; {5795#true} is VALID [2020-07-08 22:22:36,439 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-08 22:22:36,441 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-08 22:22:36,441 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-08 22:22:36,441 INFO L280 TraceCheckUtils]: 67: Hoare triple {5795#true} ~head.base, ~head.offset := #in~head.base, #in~head.offset; {5795#true} is VALID [2020-07-08 22:22:36,442 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-08 22:22:36,442 INFO L280 TraceCheckUtils]: 69: Hoare triple {5795#true} assume -2147483648 <= #t~nondet31 && #t~nondet31 <= 2147483647; {5795#true} is VALID [2020-07-08 22:22:36,442 INFO L280 TraceCheckUtils]: 70: Hoare triple {5795#true} assume !(0 != #t~nondet31); {5795#true} is VALID [2020-07-08 22:22:36,442 INFO L280 TraceCheckUtils]: 71: Hoare triple {5795#true} havoc #t~nondet31; {5795#true} is VALID [2020-07-08 22:22:36,443 INFO L280 TraceCheckUtils]: 72: Hoare triple {5795#true} assume true; {5795#true} is VALID [2020-07-08 22:22:36,444 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-08 22:22:36,446 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-08 22:22:36,446 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-08 22:22:36,446 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-08 22:22:36,447 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-08 22:22:36,449 INFO L280 TraceCheckUtils]: 78: Hoare triple {5901#(= 0 ~elem~0.offset)} assume true; {5901#(= 0 ~elem~0.offset)} is VALID [2020-07-08 22:22:36,450 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-08 22:22:36,452 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-08 22:22:36,453 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-08 22:22:36,454 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-08 22:22:36,455 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-08 22:22:36,456 INFO L263 TraceCheckUtils]: 84: Hoare triple {5796#false} call __blast_assert(); {5796#false} is VALID [2020-07-08 22:22:36,456 INFO L280 TraceCheckUtils]: 85: Hoare triple {5796#false} assume !false; {5796#false} is VALID [2020-07-08 22:22:36,473 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-08 22:22:36,474 INFO L354 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModulePreferences [710346637] [2020-07-08 22:22:36,474 INFO L220 FreeRefinementEngine]: Constructing automaton from 0 perfect and 1 imperfect interpolant sequences. [2020-07-08 22:22:36,474 INFO L233 FreeRefinementEngine]: Number of different interpolants: perfect sequences [] imperfect sequences [19] total 19 [2020-07-08 22:22:36,475 INFO L156 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [1600427868] [2020-07-08 22:22:36,475 INFO L78 Accepts]: Start accepts. Automaton has 19 states. Word has length 86 [2020-07-08 22:22:36,477 INFO L84 Accepts]: Finished accepts. word is accepted. [2020-07-08 22:22:36,477 INFO L86 InductivityCheck]: Starting indutivity check of a Floyd-Hoare automaton with 19 states. [2020-07-08 22:22:36,587 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-08 22:22:36,587 INFO L459 AbstractCegarLoop]: Interpolant automaton has 19 states [2020-07-08 22:22:36,588 INFO L143 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy FIXED_PREFERENCES [2020-07-08 22:22:36,588 INFO L142 InterpolantAutomaton]: Constructing interpolant automaton starting with 19 interpolants. [2020-07-08 22:22:36,588 INFO L144 InterpolantAutomaton]: CoverageRelationStatistics Valid=43, Invalid=299, Unknown=0, NotChecked=0, Total=342 [2020-07-08 22:22:36,589 INFO L87 Difference]: Start difference. First operand 70 states and 71 transitions. Second operand 19 states. [2020-07-08 22:22:40,400 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2020-07-08 22:22:40,400 INFO L93 Difference]: Finished difference Result 78 states and 80 transitions. [2020-07-08 22:22:40,401 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 26 states. [2020-07-08 22:22:40,401 INFO L78 Accepts]: Start accepts. Automaton has 19 states. Word has length 86 [2020-07-08 22:22:40,401 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2020-07-08 22:22:40,401 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 19 states. [2020-07-08 22:22:40,403 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 26 states to 26 states and 78 transitions. [2020-07-08 22:22:40,403 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 19 states. [2020-07-08 22:22:40,404 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 26 states to 26 states and 78 transitions. [2020-07-08 22:22:40,404 INFO L86 InductivityCheck]: Starting indutivity check of a Floyd-Hoare automaton with 26 states and 78 transitions. [2020-07-08 22:22:40,564 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-08 22:22:40,565 INFO L225 Difference]: With dead ends: 78 [2020-07-08 22:22:40,565 INFO L226 Difference]: Without dead ends: 0 [2020-07-08 22:22:40,567 INFO L675 BasicCegarLoop]: 0 DeclaredPredicates, 59 GetRequests, 19 SyntacticMatches, 0 SemanticMatches, 40 ConstructedPredicates, 0 IntricatePredicates, 0 DeprecatedPredicates, 279 ImplicationChecksByTransitivity, 1.1s TimeCoverageRelationStatistics Valid=253, Invalid=1469, Unknown=0, NotChecked=0, Total=1722 [2020-07-08 22:22:40,567 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 0 states. [2020-07-08 22:22:40,567 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 0 to 0. [2020-07-08 22:22:40,567 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2020-07-08 22:22:40,567 INFO L82 GeneralOperation]: Start isEquivalent. First operand 0 states. Second operand 0 states. [2020-07-08 22:22:40,568 INFO L74 IsIncluded]: Start isIncluded. First operand 0 states. Second operand 0 states. [2020-07-08 22:22:40,568 INFO L87 Difference]: Start difference. First operand 0 states. Second operand 0 states. [2020-07-08 22:22:40,568 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2020-07-08 22:22:40,568 INFO L93 Difference]: Finished difference Result 0 states and 0 transitions. [2020-07-08 22:22:40,568 INFO L276 IsEmpty]: Start isEmpty. Operand 0 states and 0 transitions. [2020-07-08 22:22:40,568 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2020-07-08 22:22:40,569 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2020-07-08 22:22:40,569 INFO L74 IsIncluded]: Start isIncluded. First operand 0 states. Second operand 0 states. [2020-07-08 22:22:40,569 INFO L87 Difference]: Start difference. First operand 0 states. Second operand 0 states. [2020-07-08 22:22:40,569 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2020-07-08 22:22:40,569 INFO L93 Difference]: Finished difference Result 0 states and 0 transitions. [2020-07-08 22:22:40,569 INFO L276 IsEmpty]: Start isEmpty. Operand 0 states and 0 transitions. [2020-07-08 22:22:40,570 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2020-07-08 22:22:40,570 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2020-07-08 22:22:40,570 INFO L88 GeneralOperation]: Finished isEquivalent. [2020-07-08 22:22:40,570 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2020-07-08 22:22:40,570 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 0 states. [2020-07-08 22:22:40,570 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 0 states to 0 states and 0 transitions. [2020-07-08 22:22:40,570 INFO L78 Accepts]: Start accepts. Automaton has 0 states and 0 transitions. Word has length 86 [2020-07-08 22:22:40,571 INFO L84 Accepts]: Finished accepts. word is rejected. [2020-07-08 22:22:40,571 INFO L479 AbstractCegarLoop]: Abstraction has 0 states and 0 transitions. [2020-07-08 22:22:40,571 INFO L480 AbstractCegarLoop]: Interpolant automaton has 19 states. [2020-07-08 22:22:40,571 INFO L86 InductivityCheck]: Starting indutivity check of a Floyd-Hoare automaton with 0 states and 0 transitions. [2020-07-08 22:22:40,571 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-08 22:22:40,571 INFO L276 IsEmpty]: Start isEmpty. Operand 0 states and 0 transitions. [2020-07-08 22:22:40,571 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2020-07-08 22:22:40,571 WARN L516 AbstractCegarLoop]: Destroyed unattended storables created during the last iteration: SelfDestructingSolverStorable9 [2020-07-08 22:22:40,574 INFO L343 DoubleDeckerVisitor]: Before removal of dead ends 0 states and 0 transitions. [2020-07-08 22:22:41,692 WARN L193 SmtUtils]: Spent 102.00 ms on a formula simplification. DAG size of input: 33 DAG size of output: 24 [2020-07-08 22:22:42,295 WARN L193 SmtUtils]: Spent 242.00 ms on a formula simplification. DAG size of input: 57 DAG size of output: 37 [2020-07-08 22:22:42,505 WARN L193 SmtUtils]: Spent 180.00 ms on a formula simplification. DAG size of input: 64 DAG size of output: 33 [2020-07-08 22:22:42,629 WARN L193 SmtUtils]: Spent 103.00 ms on a formula simplification. DAG size of input: 51 DAG size of output: 28 [2020-07-08 22:22:43,189 WARN L193 SmtUtils]: Spent 194.00 ms on a formula simplification. DAG size of input: 42 DAG size of output: 33 [2020-07-08 22:22:43,344 WARN L193 SmtUtils]: Spent 143.00 ms on a formula simplification. DAG size of input: 47 DAG size of output: 24 [2020-07-08 22:22:43,596 WARN L193 SmtUtils]: Spent 167.00 ms on a formula simplification. DAG size of input: 64 DAG size of output: 33 [2020-07-08 22:22:43,834 WARN L193 SmtUtils]: Spent 114.00 ms on a formula simplification. DAG size of input: 33 DAG size of output: 24 [2020-07-08 22:22:44,013 WARN L193 SmtUtils]: Spent 156.00 ms on a formula simplification. DAG size of input: 61 DAG size of output: 36 [2020-07-08 22:22:44,129 WARN L193 SmtUtils]: Spent 111.00 ms on a formula simplification. DAG size of input: 34 DAG size of output: 34 [2020-07-08 22:22:44,238 WARN L193 SmtUtils]: Spent 101.00 ms on a formula simplification. DAG size of input: 30 DAG size of output: 24 [2020-07-08 22:22:44,598 WARN L193 SmtUtils]: Spent 187.00 ms on a formula simplification. DAG size of input: 42 DAG size of output: 33 [2020-07-08 22:22:44,712 WARN L193 SmtUtils]: Spent 104.00 ms on a formula simplification. DAG size of input: 33 DAG size of output: 24 [2020-07-08 22:22:44,952 WARN L193 SmtUtils]: Spent 232.00 ms on a formula simplification. DAG size of input: 46 DAG size of output: 36 [2020-07-08 22:22:45,251 WARN L193 SmtUtils]: Spent 157.00 ms on a formula simplification. DAG size of input: 61 DAG size of output: 36 [2020-07-08 22:22:45,433 WARN L193 SmtUtils]: Spent 116.00 ms on a formula simplification. DAG size of input: 57 DAG size of output: 33 [2020-07-08 22:22:45,676 WARN L193 SmtUtils]: Spent 223.00 ms on a formula simplification. DAG size of input: 46 DAG size of output: 36 [2020-07-08 22:22:45,866 WARN L193 SmtUtils]: Spent 153.00 ms on a formula simplification. DAG size of input: 61 DAG size of output: 37 [2020-07-08 22:22:46,135 WARN L193 SmtUtils]: Spent 259.00 ms on a formula simplification. DAG size of input: 46 DAG size of output: 36 [2020-07-08 22:22:46,361 WARN L193 SmtUtils]: Spent 213.00 ms on a formula simplification. DAG size of input: 54 DAG size of output: 44 [2020-07-08 22:22:46,658 WARN L193 SmtUtils]: Spent 258.00 ms on a formula simplification. DAG size of input: 57 DAG size of output: 37 [2020-07-08 22:22:46,773 WARN L193 SmtUtils]: Spent 107.00 ms on a formula simplification. DAG size of input: 35 DAG size of output: 26 [2020-07-08 22:22:47,012 WARN L193 SmtUtils]: Spent 106.00 ms on a formula simplification. DAG size of input: 54 DAG size of output: 14 [2020-07-08 22:22:47,119 WARN L193 SmtUtils]: Spent 102.00 ms on a formula simplification. DAG size of input: 30 DAG size of output: 24 [2020-07-08 22:22:47,297 WARN L193 SmtUtils]: Spent 115.00 ms on a formula simplification. DAG size of input: 57 DAG size of output: 33 [2020-07-08 22:22:47,476 WARN L193 SmtUtils]: Spent 167.00 ms on a formula simplification. DAG size of input: 52 DAG size of output: 26 [2020-07-08 22:22:47,853 WARN L193 SmtUtils]: Spent 169.00 ms on a formula simplification. DAG size of input: 52 DAG size of output: 26 [2020-07-08 22:22:47,859 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-08 22:22:47,859 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-08 22:22:47,860 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-08 22:22:47,860 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-08 22:22:47,861 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-08 22:22:47,861 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-08 22:22:47,861 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-08 22:22:47,862 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-08 22:22:47,862 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-08 22:22:47,862 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-08 22:22:47,862 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-08 22:22:47,862 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-08 22:22:47,862 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-08 22:22:47,862 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-08 22:22:47,862 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-08 22:22:47,862 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-08 22:22:47,863 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-08 22:22:47,863 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-08 22:22:47,863 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-08 22:22:47,863 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-08 22:22:47,863 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-08 22:22:47,863 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-08 22:22:47,863 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-08 22:22:47,864 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-08 22:22:47,864 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-08 22:22:47,864 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-08 22:22:47,864 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-08 22:22:47,864 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-08 22:22:47,864 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-08 22:22:47,864 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-08 22:22:47,865 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-08 22:22:47,865 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-08 22:22:47,865 INFO L271 CegarLoopResult]: At program point __blast_assertErr0ASSERT_VIOLATIONERROR_FUNCTION(line 6) the Hoare annotation is: true [2020-07-08 22:22:47,865 INFO L271 CegarLoopResult]: At program point __blast_assertEXIT(lines 4 7) the Hoare annotation is: true [2020-07-08 22:22:47,865 INFO L271 CegarLoopResult]: At program point __blast_assertFINAL(lines 4 7) the Hoare annotation is: true [2020-07-08 22:22:47,865 INFO L271 CegarLoopResult]: At program point __blast_assertENTRY(lines 4 7) the Hoare annotation is: true [2020-07-08 22:22:47,865 INFO L271 CegarLoopResult]: At program point ULTIMATE.startEXIT(line -1) the Hoare annotation is: true [2020-07-08 22:22:47,865 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-08 22:22:47,866 INFO L271 CegarLoopResult]: At program point ULTIMATE.startENTRY(line -1) the Hoare annotation is: true [2020-07-08 22:22:47,866 INFO L271 CegarLoopResult]: At program point ULTIMATE.startFINAL(line -1) the Hoare annotation is: true [2020-07-08 22:22:47,866 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-08 22:22:47,866 INFO L271 CegarLoopResult]: At program point mainEXIT(lines 902 917) the Hoare annotation is: true [2020-07-08 22:22:47,866 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-08 22:22:47,866 INFO L271 CegarLoopResult]: At program point mainFINAL(lines 902 917) the Hoare annotation is: true [2020-07-08 22:22:47,866 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-08 22:22:47,867 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-08 22:22:47,867 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-08 22:22:47,867 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-08 22:22:47,867 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-08 22:22:47,867 INFO L271 CegarLoopResult]: At program point L906-1(lines 906 915) the Hoare annotation is: true [2020-07-08 22:22:47,867 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-08 22:22:47,868 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-08 22:22:47,868 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-08 22:22:47,868 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-08 22:22:47,868 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-08 22:22:47,868 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-08 22:22:47,868 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-08 22:22:47,868 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-08 22:22:47,869 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-08 22:22:47,869 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-08 22:22:47,869 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-08 22:22:47,869 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-08 22:22:47,869 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-08 22:22:47,869 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-08 22:22:47,869 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-08 22:22:47,870 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-08 22:22:47,870 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-08 22:22:47,870 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-08 22:22:47,870 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-08 22:22:47,870 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-08 22:22:47,909 WARN L151 areAnnotationChecker]: Transition #101#return; from 6211#list_delEXITtrue to 6193#L909true not inductive [2020-07-08 22:22:47,970 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-08 22:22:47,972 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-08 22:22:47,977 INFO L168 Benchmark]: Toolchain (without parser) took 59322.59 ms. Allocated memory was 144.7 MB in the beginning and 562.0 MB in the end (delta: 417.3 MB). Free memory was 100.9 MB in the beginning and 288.1 MB in the end (delta: -187.2 MB). Peak memory consumption was 230.1 MB. Max. memory is 7.1 GB. [2020-07-08 22:22:47,980 INFO L168 Benchmark]: CDTParser took 1.05 ms. Allocated memory is still 144.7 MB. Free memory was 120.0 MB in the beginning and 119.8 MB in the end (delta: 209.7 kB). Peak memory consumption was 209.7 kB. Max. memory is 7.1 GB. [2020-07-08 22:22:47,981 INFO L168 Benchmark]: CACSL2BoogieTranslator took 728.95 ms. Allocated memory was 144.7 MB in the beginning and 202.4 MB in the end (delta: 57.7 MB). Free memory was 100.7 MB in the beginning and 167.0 MB in the end (delta: -66.3 MB). Peak memory consumption was 22.2 MB. Max. memory is 7.1 GB. [2020-07-08 22:22:47,981 INFO L168 Benchmark]: Boogie Preprocessor took 116.76 ms. Allocated memory is still 202.4 MB. Free memory was 167.0 MB in the beginning and 163.6 MB in the end (delta: 3.4 MB). Peak memory consumption was 3.4 MB. Max. memory is 7.1 GB. [2020-07-08 22:22:47,985 INFO L168 Benchmark]: RCFGBuilder took 855.13 ms. Allocated memory is still 202.4 MB. Free memory was 163.6 MB in the beginning and 105.4 MB in the end (delta: 58.2 MB). Peak memory consumption was 58.2 MB. Max. memory is 7.1 GB. [2020-07-08 22:22:47,986 INFO L168 Benchmark]: TraceAbstraction took 57612.72 ms. Allocated memory was 202.4 MB in the beginning and 562.0 MB in the end (delta: 359.7 MB). Free memory was 104.7 MB in the beginning and 288.1 MB in the end (delta: -183.4 MB). Peak memory consumption was 176.3 MB. Max. memory is 7.1 GB. [2020-07-08 22:22:47,993 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 1.05 ms. Allocated memory is still 144.7 MB. Free memory was 120.0 MB in the beginning and 119.8 MB in the end (delta: 209.7 kB). Peak memory consumption was 209.7 kB. Max. memory is 7.1 GB. * CACSL2BoogieTranslator took 728.95 ms. Allocated memory was 144.7 MB in the beginning and 202.4 MB in the end (delta: 57.7 MB). Free memory was 100.7 MB in the beginning and 167.0 MB in the end (delta: -66.3 MB). Peak memory consumption was 22.2 MB. Max. memory is 7.1 GB. * Boogie Preprocessor took 116.76 ms. Allocated memory is still 202.4 MB. Free memory was 167.0 MB in the beginning and 163.6 MB in the end (delta: 3.4 MB). Peak memory consumption was 3.4 MB. Max. memory is 7.1 GB. * RCFGBuilder took 855.13 ms. Allocated memory is still 202.4 MB. Free memory was 163.6 MB in the beginning and 105.4 MB in the end (delta: 58.2 MB). Peak memory consumption was 58.2 MB. Max. memory is 7.1 GB. * TraceAbstraction took 57612.72 ms. Allocated memory was 202.4 MB in the beginning and 562.0 MB in the end (delta: 359.7 MB). Free memory was 104.7 MB in the beginning and 288.1 MB in the end (delta: -183.4 MB). Peak memory consumption was 176.3 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...