/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/list-ext2-properties/list_and_tree_cnstr-1.i -------------------------------------------------------------------------------- This is Ultimate 0.1.25-267fbe0 [2020-07-18 05:15:24,565 INFO L177 SettingsManager]: Resetting all preferences to default values... [2020-07-18 05:15:24,567 INFO L181 SettingsManager]: Resetting UltimateCore preferences to default values [2020-07-18 05:15:24,579 INFO L184 SettingsManager]: Ultimate Commandline Interface provides no preferences, ignoring... [2020-07-18 05:15:24,580 INFO L181 SettingsManager]: Resetting Boogie Preprocessor preferences to default values [2020-07-18 05:15:24,581 INFO L181 SettingsManager]: Resetting Boogie Procedure Inliner preferences to default values [2020-07-18 05:15:24,582 INFO L181 SettingsManager]: Resetting Abstract Interpretation preferences to default values [2020-07-18 05:15:24,584 INFO L181 SettingsManager]: Resetting LassoRanker preferences to default values [2020-07-18 05:15:24,586 INFO L181 SettingsManager]: Resetting Reaching Definitions preferences to default values [2020-07-18 05:15:24,587 INFO L181 SettingsManager]: Resetting SyntaxChecker preferences to default values [2020-07-18 05:15:24,588 INFO L181 SettingsManager]: Resetting Sifa preferences to default values [2020-07-18 05:15:24,589 INFO L184 SettingsManager]: Büchi Program Product provides no preferences, ignoring... [2020-07-18 05:15:24,589 INFO L181 SettingsManager]: Resetting LTL2Aut preferences to default values [2020-07-18 05:15:24,590 INFO L181 SettingsManager]: Resetting PEA to Boogie preferences to default values [2020-07-18 05:15:24,591 INFO L181 SettingsManager]: Resetting BlockEncodingV2 preferences to default values [2020-07-18 05:15:24,592 INFO L181 SettingsManager]: Resetting ChcToBoogie preferences to default values [2020-07-18 05:15:24,593 INFO L181 SettingsManager]: Resetting AutomataScriptInterpreter preferences to default values [2020-07-18 05:15:24,594 INFO L181 SettingsManager]: Resetting BuchiAutomizer preferences to default values [2020-07-18 05:15:24,595 INFO L181 SettingsManager]: Resetting CACSL2BoogieTranslator preferences to default values [2020-07-18 05:15:24,597 INFO L181 SettingsManager]: Resetting CodeCheck preferences to default values [2020-07-18 05:15:24,599 INFO L181 SettingsManager]: Resetting InvariantSynthesis preferences to default values [2020-07-18 05:15:24,600 INFO L181 SettingsManager]: Resetting RCFGBuilder preferences to default values [2020-07-18 05:15:24,601 INFO L181 SettingsManager]: Resetting Referee preferences to default values [2020-07-18 05:15:24,602 INFO L181 SettingsManager]: Resetting TraceAbstraction preferences to default values [2020-07-18 05:15:24,604 INFO L184 SettingsManager]: TraceAbstractionConcurrent provides no preferences, ignoring... [2020-07-18 05:15:24,605 INFO L184 SettingsManager]: TraceAbstractionWithAFAs provides no preferences, ignoring... [2020-07-18 05:15:24,605 INFO L181 SettingsManager]: Resetting TreeAutomizer preferences to default values [2020-07-18 05:15:24,606 INFO L181 SettingsManager]: Resetting IcfgToChc preferences to default values [2020-07-18 05:15:24,606 INFO L181 SettingsManager]: Resetting IcfgTransformer preferences to default values [2020-07-18 05:15:24,607 INFO L184 SettingsManager]: ReqToTest provides no preferences, ignoring... [2020-07-18 05:15:24,607 INFO L181 SettingsManager]: Resetting Boogie Printer preferences to default values [2020-07-18 05:15:24,608 INFO L181 SettingsManager]: Resetting ChcSmtPrinter preferences to default values [2020-07-18 05:15:24,609 INFO L181 SettingsManager]: Resetting ReqPrinter preferences to default values [2020-07-18 05:15:24,610 INFO L181 SettingsManager]: Resetting Witness Printer preferences to default values [2020-07-18 05:15:24,611 INFO L184 SettingsManager]: Boogie PL CUP Parser provides no preferences, ignoring... [2020-07-18 05:15:24,611 INFO L181 SettingsManager]: Resetting CDTParser preferences to default values [2020-07-18 05:15:24,612 INFO L184 SettingsManager]: AutomataScriptParser provides no preferences, ignoring... [2020-07-18 05:15:24,612 INFO L184 SettingsManager]: ReqParser provides no preferences, ignoring... [2020-07-18 05:15:24,612 INFO L181 SettingsManager]: Resetting SmtParser preferences to default values [2020-07-18 05:15:24,613 INFO L181 SettingsManager]: Resetting Witness Parser preferences to default values [2020-07-18 05:15:24,614 INFO L188 SettingsManager]: Finished resetting all preferences to default values... [2020-07-18 05:15:24,615 INFO L101 SettingsManager]: Beginning loading settings from /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/../../../trunk/examples/settings/automizer/acceleratedInterpolation/acceleratedInterpolationFastUPR_32.epf [2020-07-18 05:15:24,624 INFO L113 SettingsManager]: Loading preferences was successful [2020-07-18 05:15:24,625 INFO L115 SettingsManager]: Preferences different from defaults after loading the file: [2020-07-18 05:15:24,626 INFO L136 SettingsManager]: Preferences of CACSL2BoogieTranslator differ from their defaults: [2020-07-18 05:15:24,626 INFO L138 SettingsManager]: * sizeof long=4 [2020-07-18 05:15:24,626 INFO L138 SettingsManager]: * Overapproximate operations on floating types=true [2020-07-18 05:15:24,626 INFO L138 SettingsManager]: * sizeof POINTER=4 [2020-07-18 05:15:24,627 INFO L138 SettingsManager]: * Check division by zero=IGNORE [2020-07-18 05:15:24,627 INFO L138 SettingsManager]: * Pointer to allocated memory at dereference=IGNORE [2020-07-18 05:15:24,627 INFO L138 SettingsManager]: * If two pointers are subtracted or compared they have the same base address=IGNORE [2020-07-18 05:15:24,627 INFO L138 SettingsManager]: * Check array bounds for arrays that are off heap=IGNORE [2020-07-18 05:15:24,627 INFO L138 SettingsManager]: * sizeof long double=12 [2020-07-18 05:15:24,627 INFO L138 SettingsManager]: * Check if freed pointer was valid=false [2020-07-18 05:15:24,628 INFO L138 SettingsManager]: * Use constant arrays=true [2020-07-18 05:15:24,628 INFO L138 SettingsManager]: * Pointer base address is valid at dereference=IGNORE [2020-07-18 05:15:24,628 INFO L136 SettingsManager]: Preferences of RCFGBuilder differ from their defaults: [2020-07-18 05:15:24,628 INFO L138 SettingsManager]: * Size of a code block=SingleStatement [2020-07-18 05:15:24,628 INFO L138 SettingsManager]: * To the following directory=./dump/ [2020-07-18 05:15:24,629 INFO L138 SettingsManager]: * SMT solver=External_DefaultMode [2020-07-18 05:15:24,629 INFO L138 SettingsManager]: * Command for external solver=z3 SMTLIB2_COMPLIANT=true -memory:2024 -smt2 -in -t:2000 [2020-07-18 05:15:24,629 INFO L136 SettingsManager]: Preferences of TraceAbstraction differ from their defaults: [2020-07-18 05:15:24,629 INFO L138 SettingsManager]: * Compute Interpolants along a Counterexample=AcceleratedInterpolation [2020-07-18 05:15:24,629 INFO L138 SettingsManager]: * Compute Hoare Annotation of negated interpolant automaton, abstraction and CFG=true [2020-07-18 05:15:24,630 INFO L138 SettingsManager]: * Use separate solver for trace checks=false Applying setting for plugin de.uni_freiburg.informatik.ultimate.plugins.generator.traceabstraction: Compute Interpolants along a Counterexample -> Craig_NestedInterpolation Applying setting for plugin de.uni_freiburg.informatik.ultimate.plugins.generator.traceabstraction: Use separate solver for trace checks -> true [2020-07-18 05:15:24,936 INFO L81 nceAwareModelManager]: Repository-Root is: /tmp [2020-07-18 05:15:24,950 INFO L258 ainManager$Toolchain]: [Toolchain 1]: Applicable parser(s) successfully (re)initialized [2020-07-18 05:15:24,953 INFO L214 ainManager$Toolchain]: [Toolchain 1]: Toolchain selected. [2020-07-18 05:15:24,955 INFO L271 PluginConnector]: Initializing CDTParser... [2020-07-18 05:15:24,955 INFO L275 PluginConnector]: CDTParser initialized [2020-07-18 05:15:24,956 INFO L429 ainManager$Toolchain]: [Toolchain 1]: Parsing single file: /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/../../../trunk/examples/svcomp/list-ext2-properties/list_and_tree_cnstr-1.i [2020-07-18 05:15:25,019 INFO L220 CDTParser]: Created temporary CDT project at /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/data/fcc4bfa09/a5c07384c59444dfa4bd71d5a4e96f60/FLAG83fe0b4c1 [2020-07-18 05:15:25,602 INFO L306 CDTParser]: Found 1 translation units. [2020-07-18 05:15:25,602 INFO L160 CDTParser]: Scanning /storage/repos/ultimate/trunk/examples/svcomp/list-ext2-properties/list_and_tree_cnstr-1.i [2020-07-18 05:15:25,616 INFO L349 CDTParser]: About to delete temporary CDT project at /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/data/fcc4bfa09/a5c07384c59444dfa4bd71d5a4e96f60/FLAG83fe0b4c1 [2020-07-18 05:15:25,853 INFO L357 CDTParser]: Successfully deleted /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/data/fcc4bfa09/a5c07384c59444dfa4bd71d5a4e96f60 [2020-07-18 05:15:25,867 INFO L296 ainManager$Toolchain]: ####################### [Toolchain 1] ####################### [2020-07-18 05:15:25,870 INFO L131 ToolchainWalker]: Walking toolchain with 4 elements. [2020-07-18 05:15:25,876 INFO L113 PluginConnector]: ------------------------CACSL2BoogieTranslator---------------------------- [2020-07-18 05:15:25,877 INFO L271 PluginConnector]: Initializing CACSL2BoogieTranslator... [2020-07-18 05:15:25,880 INFO L275 PluginConnector]: CACSL2BoogieTranslator initialized [2020-07-18 05:15:25,882 INFO L185 PluginConnector]: Executing the observer ACSLObjectContainerObserver from plugin CACSL2BoogieTranslator for "CDTParser AST 18.07 05:15:25" (1/1) ... [2020-07-18 05:15:25,886 INFO L205 PluginConnector]: Invalid model from CACSL2BoogieTranslator for observer de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator.ACSLObjectContainerObserver@1d6f94b2 and model type de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 18.07 05:15:25, skipping insertion in model container [2020-07-18 05:15:25,886 INFO L185 PluginConnector]: Executing the observer CACSL2BoogieTranslatorObserver from plugin CACSL2BoogieTranslator for "CDTParser AST 18.07 05:15:25" (1/1) ... [2020-07-18 05:15:25,895 INFO L145 MainTranslator]: Starting translation in SV-COMP mode [2020-07-18 05:15:25,959 INFO L178 MainTranslator]: Built tables and reachable declarations [2020-07-18 05:15:26,392 INFO L206 PostProcessor]: Analyzing one entry point: main [2020-07-18 05:15:26,404 INFO L203 MainTranslator]: Completed pre-run [2020-07-18 05:15:26,483 INFO L206 PostProcessor]: Analyzing one entry point: main [2020-07-18 05:15:26,562 INFO L208 MainTranslator]: Completed translation [2020-07-18 05:15:26,563 INFO L202 PluginConnector]: Adding new model de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 18.07 05:15:26 WrapperNode [2020-07-18 05:15:26,563 INFO L132 PluginConnector]: ------------------------ END CACSL2BoogieTranslator---------------------------- [2020-07-18 05:15:26,564 INFO L113 PluginConnector]: ------------------------Boogie Preprocessor---------------------------- [2020-07-18 05:15:26,564 INFO L271 PluginConnector]: Initializing Boogie Preprocessor... [2020-07-18 05:15:26,564 INFO L275 PluginConnector]: Boogie Preprocessor initialized [2020-07-18 05:15:26,580 INFO L185 PluginConnector]: Executing the observer EnsureBoogieModelObserver from plugin Boogie Preprocessor for "de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 18.07 05:15:26" (1/1) ... [2020-07-18 05:15:26,580 INFO L185 PluginConnector]: Executing the observer TypeChecker from plugin Boogie Preprocessor for "de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 18.07 05:15:26" (1/1) ... [2020-07-18 05:15:26,616 INFO L185 PluginConnector]: Executing the observer ConstExpander from plugin Boogie Preprocessor for "de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 18.07 05:15:26" (1/1) ... [2020-07-18 05:15:26,616 INFO L185 PluginConnector]: Executing the observer StructExpander from plugin Boogie Preprocessor for "de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 18.07 05:15:26" (1/1) ... [2020-07-18 05:15:26,669 INFO L185 PluginConnector]: Executing the observer UnstructureCode from plugin Boogie Preprocessor for "de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 18.07 05:15:26" (1/1) ... [2020-07-18 05:15:26,686 INFO L185 PluginConnector]: Executing the observer FunctionInliner from plugin Boogie Preprocessor for "de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 18.07 05:15:26" (1/1) ... [2020-07-18 05:15:26,692 INFO L185 PluginConnector]: Executing the observer BoogieSymbolTableConstructor from plugin Boogie Preprocessor for "de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 18.07 05:15:26" (1/1) ... [2020-07-18 05:15:26,709 INFO L132 PluginConnector]: ------------------------ END Boogie Preprocessor---------------------------- [2020-07-18 05:15:26,710 INFO L113 PluginConnector]: ------------------------RCFGBuilder---------------------------- [2020-07-18 05:15:26,710 INFO L271 PluginConnector]: Initializing RCFGBuilder... [2020-07-18 05:15:26,713 INFO L275 PluginConnector]: RCFGBuilder initialized [2020-07-18 05:15:26,714 INFO L185 PluginConnector]: Executing the observer RCFGBuilderObserver from plugin RCFGBuilder for "de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 18.07 05:15:26" (1/1) ... No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 Starting monitored process 1 with z3 SMTLIB2_COMPLIANT=true -memory:2024 -smt2 -in -t:2000 (exit command is (exit), workingDir is null) Waiting until toolchain timeout for monitored process 1 with z3 SMTLIB2_COMPLIANT=true -memory:2024 -smt2 -in -t:2000 [2020-07-18 05:15:26,784 INFO L138 BoogieDeclarations]: Found implementation of procedure ULTIMATE.init [2020-07-18 05:15:26,784 INFO L138 BoogieDeclarations]: Found implementation of procedure ULTIMATE.start [2020-07-18 05:15:26,785 INFO L138 BoogieDeclarations]: Found implementation of procedure __bswap_32 [2020-07-18 05:15:26,785 INFO L138 BoogieDeclarations]: Found implementation of procedure __bswap_64 [2020-07-18 05:15:26,785 INFO L138 BoogieDeclarations]: Found implementation of procedure myexit [2020-07-18 05:15:26,785 INFO L138 BoogieDeclarations]: Found implementation of procedure main [2020-07-18 05:15:26,785 INFO L130 BoogieDeclarations]: Found specification of procedure __VERIFIER_error [2020-07-18 05:15:26,785 INFO L130 BoogieDeclarations]: Found specification of procedure __VERIFIER_nondet_int [2020-07-18 05:15:26,786 INFO L130 BoogieDeclarations]: Found specification of procedure __ctype_get_mb_cur_max [2020-07-18 05:15:26,786 INFO L130 BoogieDeclarations]: Found specification of procedure atof [2020-07-18 05:15:26,786 INFO L130 BoogieDeclarations]: Found specification of procedure atoi [2020-07-18 05:15:26,786 INFO L130 BoogieDeclarations]: Found specification of procedure atol [2020-07-18 05:15:26,786 INFO L130 BoogieDeclarations]: Found specification of procedure atoll [2020-07-18 05:15:26,786 INFO L130 BoogieDeclarations]: Found specification of procedure strtod [2020-07-18 05:15:26,787 INFO L130 BoogieDeclarations]: Found specification of procedure strtof [2020-07-18 05:15:26,787 INFO L130 BoogieDeclarations]: Found specification of procedure strtold [2020-07-18 05:15:26,787 INFO L130 BoogieDeclarations]: Found specification of procedure strtol [2020-07-18 05:15:26,787 INFO L130 BoogieDeclarations]: Found specification of procedure strtoul [2020-07-18 05:15:26,787 INFO L130 BoogieDeclarations]: Found specification of procedure strtoq [2020-07-18 05:15:26,788 INFO L130 BoogieDeclarations]: Found specification of procedure strtouq [2020-07-18 05:15:26,788 INFO L130 BoogieDeclarations]: Found specification of procedure strtoll [2020-07-18 05:15:26,788 INFO L130 BoogieDeclarations]: Found specification of procedure strtoull [2020-07-18 05:15:26,788 INFO L130 BoogieDeclarations]: Found specification of procedure l64a [2020-07-18 05:15:26,788 INFO L130 BoogieDeclarations]: Found specification of procedure a64l [2020-07-18 05:15:26,789 INFO L130 BoogieDeclarations]: Found specification of procedure __bswap_32 [2020-07-18 05:15:26,789 INFO L130 BoogieDeclarations]: Found specification of procedure __bswap_64 [2020-07-18 05:15:26,789 INFO L130 BoogieDeclarations]: Found specification of procedure select [2020-07-18 05:15:26,789 INFO L130 BoogieDeclarations]: Found specification of procedure pselect [2020-07-18 05:15:26,789 INFO L130 BoogieDeclarations]: Found specification of procedure gnu_dev_major [2020-07-18 05:15:26,789 INFO L130 BoogieDeclarations]: Found specification of procedure gnu_dev_minor [2020-07-18 05:15:26,789 INFO L130 BoogieDeclarations]: Found specification of procedure gnu_dev_makedev [2020-07-18 05:15:26,790 INFO L130 BoogieDeclarations]: Found specification of procedure random [2020-07-18 05:15:26,790 INFO L130 BoogieDeclarations]: Found specification of procedure srandom [2020-07-18 05:15:26,790 INFO L130 BoogieDeclarations]: Found specification of procedure initstate [2020-07-18 05:15:26,790 INFO L130 BoogieDeclarations]: Found specification of procedure setstate [2020-07-18 05:15:26,790 INFO L130 BoogieDeclarations]: Found specification of procedure random_r [2020-07-18 05:15:26,790 INFO L130 BoogieDeclarations]: Found specification of procedure srandom_r [2020-07-18 05:15:26,791 INFO L130 BoogieDeclarations]: Found specification of procedure initstate_r [2020-07-18 05:15:26,791 INFO L130 BoogieDeclarations]: Found specification of procedure setstate_r [2020-07-18 05:15:26,791 INFO L130 BoogieDeclarations]: Found specification of procedure rand [2020-07-18 05:15:26,791 INFO L130 BoogieDeclarations]: Found specification of procedure srand [2020-07-18 05:15:26,791 INFO L130 BoogieDeclarations]: Found specification of procedure rand_r [2020-07-18 05:15:26,791 INFO L130 BoogieDeclarations]: Found specification of procedure drand48 [2020-07-18 05:15:26,792 INFO L130 BoogieDeclarations]: Found specification of procedure erand48 [2020-07-18 05:15:26,792 INFO L130 BoogieDeclarations]: Found specification of procedure lrand48 [2020-07-18 05:15:26,792 INFO L130 BoogieDeclarations]: Found specification of procedure nrand48 [2020-07-18 05:15:26,792 INFO L130 BoogieDeclarations]: Found specification of procedure mrand48 [2020-07-18 05:15:26,792 INFO L130 BoogieDeclarations]: Found specification of procedure jrand48 [2020-07-18 05:15:26,792 INFO L130 BoogieDeclarations]: Found specification of procedure srand48 [2020-07-18 05:15:26,792 INFO L130 BoogieDeclarations]: Found specification of procedure seed48 [2020-07-18 05:15:26,793 INFO L130 BoogieDeclarations]: Found specification of procedure lcong48 [2020-07-18 05:15:26,793 INFO L130 BoogieDeclarations]: Found specification of procedure drand48_r [2020-07-18 05:15:26,793 INFO L130 BoogieDeclarations]: Found specification of procedure erand48_r [2020-07-18 05:15:26,793 INFO L130 BoogieDeclarations]: Found specification of procedure lrand48_r [2020-07-18 05:15:26,793 INFO L130 BoogieDeclarations]: Found specification of procedure nrand48_r [2020-07-18 05:15:26,793 INFO L130 BoogieDeclarations]: Found specification of procedure mrand48_r [2020-07-18 05:15:26,794 INFO L130 BoogieDeclarations]: Found specification of procedure jrand48_r [2020-07-18 05:15:26,794 INFO L130 BoogieDeclarations]: Found specification of procedure srand48_r [2020-07-18 05:15:26,794 INFO L130 BoogieDeclarations]: Found specification of procedure seed48_r [2020-07-18 05:15:26,794 INFO L130 BoogieDeclarations]: Found specification of procedure lcong48_r [2020-07-18 05:15:26,794 INFO L130 BoogieDeclarations]: Found specification of procedure malloc [2020-07-18 05:15:26,794 INFO L130 BoogieDeclarations]: Found specification of procedure calloc [2020-07-18 05:15:26,794 INFO L130 BoogieDeclarations]: Found specification of procedure realloc [2020-07-18 05:15:26,795 INFO L130 BoogieDeclarations]: Found specification of procedure free [2020-07-18 05:15:26,795 INFO L130 BoogieDeclarations]: Found specification of procedure cfree [2020-07-18 05:15:26,795 INFO L130 BoogieDeclarations]: Found specification of procedure alloca [2020-07-18 05:15:26,795 INFO L130 BoogieDeclarations]: Found specification of procedure valloc [2020-07-18 05:15:26,795 INFO L130 BoogieDeclarations]: Found specification of procedure posix_memalign [2020-07-18 05:15:26,795 INFO L130 BoogieDeclarations]: Found specification of procedure aligned_alloc [2020-07-18 05:15:26,796 INFO L130 BoogieDeclarations]: Found specification of procedure abort [2020-07-18 05:15:26,796 INFO L130 BoogieDeclarations]: Found specification of procedure atexit [2020-07-18 05:15:26,796 INFO L130 BoogieDeclarations]: Found specification of procedure at_quick_exit [2020-07-18 05:15:26,796 INFO L130 BoogieDeclarations]: Found specification of procedure on_exit [2020-07-18 05:15:26,796 INFO L130 BoogieDeclarations]: Found specification of procedure exit [2020-07-18 05:15:26,796 INFO L130 BoogieDeclarations]: Found specification of procedure quick_exit [2020-07-18 05:15:26,797 INFO L130 BoogieDeclarations]: Found specification of procedure _Exit [2020-07-18 05:15:26,797 INFO L130 BoogieDeclarations]: Found specification of procedure getenv [2020-07-18 05:15:26,797 INFO L130 BoogieDeclarations]: Found specification of procedure putenv [2020-07-18 05:15:26,797 INFO L130 BoogieDeclarations]: Found specification of procedure setenv [2020-07-18 05:15:26,797 INFO L130 BoogieDeclarations]: Found specification of procedure unsetenv [2020-07-18 05:15:26,797 INFO L130 BoogieDeclarations]: Found specification of procedure clearenv [2020-07-18 05:15:26,797 INFO L130 BoogieDeclarations]: Found specification of procedure mktemp [2020-07-18 05:15:26,798 INFO L130 BoogieDeclarations]: Found specification of procedure mkstemp [2020-07-18 05:15:26,798 INFO L130 BoogieDeclarations]: Found specification of procedure mkstemps [2020-07-18 05:15:26,798 INFO L130 BoogieDeclarations]: Found specification of procedure mkdtemp [2020-07-18 05:15:26,798 INFO L130 BoogieDeclarations]: Found specification of procedure system [2020-07-18 05:15:26,798 INFO L130 BoogieDeclarations]: Found specification of procedure realpath [2020-07-18 05:15:26,798 INFO L130 BoogieDeclarations]: Found specification of procedure bsearch [2020-07-18 05:15:26,799 INFO L130 BoogieDeclarations]: Found specification of procedure qsort [2020-07-18 05:15:26,799 INFO L130 BoogieDeclarations]: Found specification of procedure abs [2020-07-18 05:15:26,799 INFO L130 BoogieDeclarations]: Found specification of procedure labs [2020-07-18 05:15:26,799 INFO L130 BoogieDeclarations]: Found specification of procedure llabs [2020-07-18 05:15:26,799 INFO L130 BoogieDeclarations]: Found specification of procedure div [2020-07-18 05:15:26,799 INFO L130 BoogieDeclarations]: Found specification of procedure ldiv [2020-07-18 05:15:26,800 INFO L130 BoogieDeclarations]: Found specification of procedure lldiv [2020-07-18 05:15:26,800 INFO L130 BoogieDeclarations]: Found specification of procedure ecvt [2020-07-18 05:15:26,800 INFO L130 BoogieDeclarations]: Found specification of procedure fcvt [2020-07-18 05:15:26,800 INFO L130 BoogieDeclarations]: Found specification of procedure gcvt [2020-07-18 05:15:26,800 INFO L130 BoogieDeclarations]: Found specification of procedure qecvt [2020-07-18 05:15:26,800 INFO L130 BoogieDeclarations]: Found specification of procedure qfcvt [2020-07-18 05:15:26,800 INFO L130 BoogieDeclarations]: Found specification of procedure qgcvt [2020-07-18 05:15:26,801 INFO L130 BoogieDeclarations]: Found specification of procedure ecvt_r [2020-07-18 05:15:26,801 INFO L130 BoogieDeclarations]: Found specification of procedure fcvt_r [2020-07-18 05:15:26,801 INFO L130 BoogieDeclarations]: Found specification of procedure qecvt_r [2020-07-18 05:15:26,801 INFO L130 BoogieDeclarations]: Found specification of procedure qfcvt_r [2020-07-18 05:15:26,801 INFO L130 BoogieDeclarations]: Found specification of procedure mblen [2020-07-18 05:15:26,801 INFO L130 BoogieDeclarations]: Found specification of procedure mbtowc [2020-07-18 05:15:26,802 INFO L130 BoogieDeclarations]: Found specification of procedure wctomb [2020-07-18 05:15:26,802 INFO L130 BoogieDeclarations]: Found specification of procedure mbstowcs [2020-07-18 05:15:26,802 INFO L130 BoogieDeclarations]: Found specification of procedure wcstombs [2020-07-18 05:15:26,802 INFO L130 BoogieDeclarations]: Found specification of procedure rpmatch [2020-07-18 05:15:26,803 INFO L130 BoogieDeclarations]: Found specification of procedure getsubopt [2020-07-18 05:15:26,803 INFO L130 BoogieDeclarations]: Found specification of procedure getloadavg [2020-07-18 05:15:26,803 INFO L130 BoogieDeclarations]: Found specification of procedure myexit [2020-07-18 05:15:26,803 INFO L130 BoogieDeclarations]: Found specification of procedure main [2020-07-18 05:15:26,803 INFO L130 BoogieDeclarations]: Found specification of procedure #Ultimate.allocOnHeap [2020-07-18 05:15:26,803 INFO L130 BoogieDeclarations]: Found specification of procedure write~$Pointer$ [2020-07-18 05:15:26,803 INFO L130 BoogieDeclarations]: Found specification of procedure read~$Pointer$ [2020-07-18 05:15:26,803 INFO L130 BoogieDeclarations]: Found specification of procedure ULTIMATE.dealloc [2020-07-18 05:15:26,804 INFO L130 BoogieDeclarations]: Found specification of procedure write~int [2020-07-18 05:15:26,804 INFO L130 BoogieDeclarations]: Found specification of procedure read~int [2020-07-18 05:15:26,804 INFO L130 BoogieDeclarations]: Found specification of procedure ULTIMATE.init [2020-07-18 05:15:26,804 INFO L130 BoogieDeclarations]: Found specification of procedure ULTIMATE.start [2020-07-18 05:15:27,168 INFO L728 $ProcedureCfgBuilder]: dead code at ProgramPoint myexitFINAL: assume true; [2020-07-18 05:15:27,811 INFO L290 CfgBuilder]: Using the 1 location(s) as analysis (start of procedure ULTIMATE.start) [2020-07-18 05:15:27,812 INFO L295 CfgBuilder]: Removed 8 assume(true) statements. [2020-07-18 05:15:27,817 INFO L202 PluginConnector]: Adding new model de.uni_freiburg.informatik.ultimate.plugins.generator.rcfgbuilder CFG 18.07 05:15:27 BoogieIcfgContainer [2020-07-18 05:15:27,817 INFO L132 PluginConnector]: ------------------------ END RCFGBuilder---------------------------- [2020-07-18 05:15:27,819 INFO L113 PluginConnector]: ------------------------TraceAbstraction---------------------------- [2020-07-18 05:15:27,819 INFO L271 PluginConnector]: Initializing TraceAbstraction... [2020-07-18 05:15:27,822 INFO L275 PluginConnector]: TraceAbstraction initialized [2020-07-18 05:15:27,822 INFO L185 PluginConnector]: Executing the observer TraceAbstractionObserver from plugin TraceAbstraction for "CDTParser AST 18.07 05:15:25" (1/3) ... [2020-07-18 05:15:27,823 INFO L205 PluginConnector]: Invalid model from TraceAbstraction for observer de.uni_freiburg.informatik.ultimate.plugins.generator.traceabstraction.TraceAbstractionObserver@49f8a70f and model type de.uni_freiburg.informatik.ultimate.plugins.generator.traceabstraction AST 18.07 05:15:27, skipping insertion in model container [2020-07-18 05:15:27,823 INFO L185 PluginConnector]: Executing the observer TraceAbstractionObserver from plugin TraceAbstraction for "de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 18.07 05:15:26" (2/3) ... [2020-07-18 05:15:27,823 INFO L205 PluginConnector]: Invalid model from TraceAbstraction for observer de.uni_freiburg.informatik.ultimate.plugins.generator.traceabstraction.TraceAbstractionObserver@49f8a70f and model type de.uni_freiburg.informatik.ultimate.plugins.generator.traceabstraction AST 18.07 05:15:27, skipping insertion in model container [2020-07-18 05:15:27,824 INFO L185 PluginConnector]: Executing the observer TraceAbstractionObserver from plugin TraceAbstraction for "de.uni_freiburg.informatik.ultimate.plugins.generator.rcfgbuilder CFG 18.07 05:15:27" (3/3) ... [2020-07-18 05:15:27,825 INFO L109 eAbstractionObserver]: Analyzing ICFG list_and_tree_cnstr-1.i [2020-07-18 05:15:27,834 INFO L157 ceAbstractionStarter]: Automizer settings: Hoare:true NWA Interpolation:Craig_NestedInterpolation Determinization: PREDICATE_ABSTRACTION [2020-07-18 05:15:27,840 INFO L169 ceAbstractionStarter]: Appying trace abstraction to program that has 1 error locations. [2020-07-18 05:15:27,854 INFO L251 AbstractCegarLoop]: Starting to check reachability of 1 error locations. [2020-07-18 05:15:27,875 INFO L375 AbstractCegarLoop]: Interprodecural is true [2020-07-18 05:15:27,876 INFO L376 AbstractCegarLoop]: Hoare is true [2020-07-18 05:15:27,876 INFO L377 AbstractCegarLoop]: Compute interpolants for Craig_NestedInterpolation [2020-07-18 05:15:27,876 INFO L378 AbstractCegarLoop]: Backedges is STRAIGHT_LINE [2020-07-18 05:15:27,876 INFO L379 AbstractCegarLoop]: Determinization is PREDICATE_ABSTRACTION [2020-07-18 05:15:27,877 INFO L380 AbstractCegarLoop]: Difference is false [2020-07-18 05:15:27,877 INFO L381 AbstractCegarLoop]: Minimize is MINIMIZE_SEVPA [2020-07-18 05:15:27,877 INFO L385 AbstractCegarLoop]: ======== Iteration 0==of CEGAR loop == AllErrorsAtOnce======== [2020-07-18 05:15:27,896 INFO L276 IsEmpty]: Start isEmpty. Operand 177 states. [2020-07-18 05:15:27,910 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 32 [2020-07-18 05:15:27,911 INFO L414 BasicCegarLoop]: Found error trace [2020-07-18 05:15:27,912 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, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1] [2020-07-18 05:15:27,912 INFO L427 AbstractCegarLoop]: === Iteration 1 === [mainErr0ASSERT_VIOLATIONERROR_FUNCTION]=== [2020-07-18 05:15:27,919 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2020-07-18 05:15:27,919 INFO L82 PathProgramCache]: Analyzing trace with hash -652445128, now seen corresponding path program 1 times [2020-07-18 05:15:27,928 INFO L163 FreeRefinementEngine]: Executing refinement strategy FIXED_PREFERENCES [2020-07-18 05:15:27,929 INFO L354 FreeRefinementEngine]: Using trace check IpTcStrategyModulePreferences [1641254401] [2020-07-18 05:15:27,929 INFO L94 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2020-07-18 05:15:28,067 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2020-07-18 05:15:28,147 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2020-07-18 05:15:28,157 INFO L280 TraceCheckUtils]: 0: Hoare triple {187#(and (= |#valid| |old(#valid)|) (= |#NULL.base| |old(#NULL.base)|) (= |#NULL.offset| |old(#NULL.offset)|))} #NULL.base, #NULL.offset := 0, 0; {180#true} is VALID [2020-07-18 05:15:28,158 INFO L280 TraceCheckUtils]: 1: Hoare triple {180#true} #valid := #valid[0 := 0]; {180#true} is VALID [2020-07-18 05:15:28,159 INFO L280 TraceCheckUtils]: 2: Hoare triple {180#true} assume 0 < #StackHeapBarrier; {180#true} is VALID [2020-07-18 05:15:28,159 INFO L280 TraceCheckUtils]: 3: Hoare triple {180#true} assume true; {180#true} is VALID [2020-07-18 05:15:28,160 INFO L275 TraceCheckUtils]: 4: Hoare quadruple {180#true} {180#true} #349#return; {180#true} is VALID [2020-07-18 05:15:28,163 INFO L263 TraceCheckUtils]: 0: Hoare triple {180#true} call ULTIMATE.init(); {187#(and (= |#valid| |old(#valid)|) (= |#NULL.base| |old(#NULL.base)|) (= |#NULL.offset| |old(#NULL.offset)|))} is VALID [2020-07-18 05:15:28,164 INFO L280 TraceCheckUtils]: 1: Hoare triple {187#(and (= |#valid| |old(#valid)|) (= |#NULL.base| |old(#NULL.base)|) (= |#NULL.offset| |old(#NULL.offset)|))} #NULL.base, #NULL.offset := 0, 0; {180#true} is VALID [2020-07-18 05:15:28,164 INFO L280 TraceCheckUtils]: 2: Hoare triple {180#true} #valid := #valid[0 := 0]; {180#true} is VALID [2020-07-18 05:15:28,164 INFO L280 TraceCheckUtils]: 3: Hoare triple {180#true} assume 0 < #StackHeapBarrier; {180#true} is VALID [2020-07-18 05:15:28,165 INFO L280 TraceCheckUtils]: 4: Hoare triple {180#true} assume true; {180#true} is VALID [2020-07-18 05:15:28,165 INFO L275 TraceCheckUtils]: 5: Hoare quadruple {180#true} {180#true} #349#return; {180#true} is VALID [2020-07-18 05:15:28,165 INFO L263 TraceCheckUtils]: 6: Hoare triple {180#true} call #t~ret41 := main(); {180#true} is VALID [2020-07-18 05:15:28,166 INFO L280 TraceCheckUtils]: 7: Hoare triple {180#true} SUMMARY for call #t~malloc2.base, #t~malloc2.offset := #Ultimate.allocOnHeap(8); srcloc: mainENTRY {180#true} is VALID [2020-07-18 05:15:28,166 INFO L280 TraceCheckUtils]: 8: Hoare triple {180#true} ~root~0.base, ~root~0.offset := #t~malloc2.base, #t~malloc2.offset; {180#true} is VALID [2020-07-18 05:15:28,166 INFO L280 TraceCheckUtils]: 9: Hoare triple {180#true} havoc ~n~0.base, ~n~0.offset; {180#true} is VALID [2020-07-18 05:15:28,167 INFO L280 TraceCheckUtils]: 10: Hoare triple {180#true} SUMMARY for call write~$Pointer$(0, 0, ~root~0.base, ~root~0.offset, 4); srcloc: L542 {180#true} is VALID [2020-07-18 05:15:28,167 INFO L280 TraceCheckUtils]: 11: Hoare triple {180#true} SUMMARY for call write~$Pointer$(0, 0, ~root~0.base, 4 + ~root~0.offset, 4); srcloc: L542-1 {180#true} is VALID [2020-07-18 05:15:28,173 INFO L280 TraceCheckUtils]: 12: Hoare triple {180#true} assume !true; {181#false} is VALID [2020-07-18 05:15:28,174 INFO L280 TraceCheckUtils]: 13: Hoare triple {181#false} ~n~0.base, ~n~0.offset := 0, 0; {181#false} is VALID [2020-07-18 05:15:28,174 INFO L280 TraceCheckUtils]: 14: Hoare triple {181#false} havoc ~pred~0.base, ~pred~0.offset; {181#false} is VALID [2020-07-18 05:15:28,174 INFO L280 TraceCheckUtils]: 15: Hoare triple {181#false} assume !(~root~0.base != 0 || ~root~0.offset != 0); {181#false} is VALID [2020-07-18 05:15:28,175 INFO L280 TraceCheckUtils]: 16: Hoare triple {181#false} SUMMARY for call #t~malloc29.base, #t~malloc29.offset := #Ultimate.allocOnHeap(8); srcloc: L565-2 {181#false} is VALID [2020-07-18 05:15:28,175 INFO L280 TraceCheckUtils]: 17: Hoare triple {181#false} ~a~0.base, ~a~0.offset := #t~malloc29.base, #t~malloc29.offset; {181#false} is VALID [2020-07-18 05:15:28,175 INFO L280 TraceCheckUtils]: 18: Hoare triple {181#false} assume !(~a~0.base == 0 && ~a~0.offset == 0); {181#false} is VALID [2020-07-18 05:15:28,176 INFO L280 TraceCheckUtils]: 19: Hoare triple {181#false} havoc ~t~0.base, ~t~0.offset; {181#false} is VALID [2020-07-18 05:15:28,176 INFO L280 TraceCheckUtils]: 20: Hoare triple {181#false} ~p~0.base, ~p~0.offset := ~a~0.base, ~a~0.offset; {181#false} is VALID [2020-07-18 05:15:28,176 INFO L280 TraceCheckUtils]: 21: Hoare triple {181#false} assume !true; {181#false} is VALID [2020-07-18 05:15:28,177 INFO L280 TraceCheckUtils]: 22: Hoare triple {181#false} assume !true; {181#false} is VALID [2020-07-18 05:15:28,177 INFO L280 TraceCheckUtils]: 23: Hoare triple {181#false} SUMMARY for call write~int(3, ~p~0.base, ~p~0.offset, 4); srcloc: L595-5 {181#false} is VALID [2020-07-18 05:15:28,177 INFO L280 TraceCheckUtils]: 24: Hoare triple {181#false} ~p~0.base, ~p~0.offset := ~a~0.base, ~a~0.offset; {181#false} is VALID [2020-07-18 05:15:28,178 INFO L280 TraceCheckUtils]: 25: Hoare triple {181#false} assume !true; {181#false} is VALID [2020-07-18 05:15:28,178 INFO L280 TraceCheckUtils]: 26: Hoare triple {181#false} assume !true; {181#false} is VALID [2020-07-18 05:15:28,179 INFO L280 TraceCheckUtils]: 27: Hoare triple {181#false} SUMMARY for call #t~mem40 := read~int(~p~0.base, ~p~0.offset, 4); srcloc: L606-5 {181#false} is VALID [2020-07-18 05:15:28,179 INFO L280 TraceCheckUtils]: 28: Hoare triple {181#false} assume 3 != #t~mem40; {181#false} is VALID [2020-07-18 05:15:28,179 INFO L280 TraceCheckUtils]: 29: Hoare triple {181#false} havoc #t~mem40; {181#false} is VALID [2020-07-18 05:15:28,180 INFO L280 TraceCheckUtils]: 30: Hoare triple {181#false} assume !false; {181#false} is VALID [2020-07-18 05:15:28,184 INFO L134 CoverageAnalysis]: Checked inductivity of 0 backedges. 0 proven. 0 refuted. 0 times theorem prover too weak. 0 trivial. 0 not checked. [2020-07-18 05:15:28,185 INFO L354 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModulePreferences [1641254401] [2020-07-18 05:15:28,187 INFO L220 FreeRefinementEngine]: Constructing automaton from 1 perfect and 0 imperfect interpolant sequences. [2020-07-18 05:15:28,188 INFO L233 FreeRefinementEngine]: Number of different interpolants: perfect sequences [3] imperfect sequences [] total 3 [2020-07-18 05:15:28,189 INFO L156 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [618679553] [2020-07-18 05:15:28,196 INFO L78 Accepts]: Start accepts. Automaton has 3 states. Word has length 31 [2020-07-18 05:15:28,199 INFO L84 Accepts]: Finished accepts. word is accepted. [2020-07-18 05:15:28,203 INFO L86 InductivityCheck]: Starting indutivity check of a Floyd-Hoare automaton with 3 states. [2020-07-18 05:15:28,251 INFO L119 InductivityCheck]: Floyd-Hoare automaton has 31 edges. 31 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2020-07-18 05:15:28,251 INFO L459 AbstractCegarLoop]: Interpolant automaton has 3 states [2020-07-18 05:15:28,251 INFO L143 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy FIXED_PREFERENCES [2020-07-18 05:15:28,260 INFO L142 InterpolantAutomaton]: Constructing interpolant automaton starting with 3 interpolants. [2020-07-18 05:15:28,261 INFO L144 InterpolantAutomaton]: CoverageRelationStatistics Valid=3, Invalid=3, Unknown=0, NotChecked=0, Total=6 [2020-07-18 05:15:28,263 INFO L87 Difference]: Start difference. First operand 177 states. Second operand 3 states. [2020-07-18 05:15:29,205 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2020-07-18 05:15:29,206 INFO L93 Difference]: Finished difference Result 342 states and 400 transitions. [2020-07-18 05:15:29,206 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 3 states. [2020-07-18 05:15:29,206 INFO L78 Accepts]: Start accepts. Automaton has 3 states. Word has length 31 [2020-07-18 05:15:29,206 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2020-07-18 05:15:29,208 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 3 states. [2020-07-18 05:15:29,227 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 3 states to 3 states and 400 transitions. [2020-07-18 05:15:29,227 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 3 states. [2020-07-18 05:15:29,236 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 3 states to 3 states and 400 transitions. [2020-07-18 05:15:29,236 INFO L86 InductivityCheck]: Starting indutivity check of a Floyd-Hoare automaton with 3 states and 400 transitions. [2020-07-18 05:15:29,642 INFO L119 InductivityCheck]: Floyd-Hoare automaton has 400 edges. 400 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2020-07-18 05:15:29,696 INFO L225 Difference]: With dead ends: 342 [2020-07-18 05:15:29,696 INFO L226 Difference]: Without dead ends: 166 [2020-07-18 05:15:29,704 INFO L675 BasicCegarLoop]: 0 DeclaredPredicates, 4 GetRequests, 3 SyntacticMatches, 0 SemanticMatches, 1 ConstructedPredicates, 0 IntricatePredicates, 0 DeprecatedPredicates, 0 ImplicationChecksByTransitivity, 0.0s TimeCoverageRelationStatistics Valid=3, Invalid=3, Unknown=0, NotChecked=0, Total=6 [2020-07-18 05:15:29,727 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 166 states. [2020-07-18 05:15:29,849 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 166 to 166. [2020-07-18 05:15:29,850 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2020-07-18 05:15:29,850 INFO L82 GeneralOperation]: Start isEquivalent. First operand 166 states. Second operand 166 states. [2020-07-18 05:15:29,851 INFO L74 IsIncluded]: Start isIncluded. First operand 166 states. Second operand 166 states. [2020-07-18 05:15:29,851 INFO L87 Difference]: Start difference. First operand 166 states. Second operand 166 states. [2020-07-18 05:15:29,866 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2020-07-18 05:15:29,866 INFO L93 Difference]: Finished difference Result 166 states and 183 transitions. [2020-07-18 05:15:29,867 INFO L276 IsEmpty]: Start isEmpty. Operand 166 states and 183 transitions. [2020-07-18 05:15:29,869 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2020-07-18 05:15:29,869 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2020-07-18 05:15:29,869 INFO L74 IsIncluded]: Start isIncluded. First operand 166 states. Second operand 166 states. [2020-07-18 05:15:29,869 INFO L87 Difference]: Start difference. First operand 166 states. Second operand 166 states. [2020-07-18 05:15:29,883 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2020-07-18 05:15:29,883 INFO L93 Difference]: Finished difference Result 166 states and 183 transitions. [2020-07-18 05:15:29,883 INFO L276 IsEmpty]: Start isEmpty. Operand 166 states and 183 transitions. [2020-07-18 05:15:29,885 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2020-07-18 05:15:29,885 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2020-07-18 05:15:29,885 INFO L88 GeneralOperation]: Finished isEquivalent. [2020-07-18 05:15:29,886 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2020-07-18 05:15:29,886 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 166 states. [2020-07-18 05:15:29,897 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 166 states to 166 states and 183 transitions. [2020-07-18 05:15:29,899 INFO L78 Accepts]: Start accepts. Automaton has 166 states and 183 transitions. Word has length 31 [2020-07-18 05:15:29,900 INFO L84 Accepts]: Finished accepts. word is rejected. [2020-07-18 05:15:29,900 INFO L479 AbstractCegarLoop]: Abstraction has 166 states and 183 transitions. [2020-07-18 05:15:29,900 INFO L480 AbstractCegarLoop]: Interpolant automaton has 3 states. [2020-07-18 05:15:29,900 INFO L86 InductivityCheck]: Starting indutivity check of a Floyd-Hoare automaton with 166 states and 183 transitions. [2020-07-18 05:15:30,068 INFO L119 InductivityCheck]: Floyd-Hoare automaton has 183 edges. 183 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2020-07-18 05:15:30,068 INFO L276 IsEmpty]: Start isEmpty. Operand 166 states and 183 transitions. [2020-07-18 05:15:30,071 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 42 [2020-07-18 05:15:30,071 INFO L414 BasicCegarLoop]: Found error trace [2020-07-18 05:15:30,072 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, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1] [2020-07-18 05:15:30,072 WARN L516 AbstractCegarLoop]: Destroyed unattended storables created during the last iteration: SelfDestructingSolverStorable0 [2020-07-18 05:15:30,072 INFO L427 AbstractCegarLoop]: === Iteration 2 === [mainErr0ASSERT_VIOLATIONERROR_FUNCTION]=== [2020-07-18 05:15:30,072 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2020-07-18 05:15:30,073 INFO L82 PathProgramCache]: Analyzing trace with hash 473660712, now seen corresponding path program 1 times [2020-07-18 05:15:30,073 INFO L163 FreeRefinementEngine]: Executing refinement strategy FIXED_PREFERENCES [2020-07-18 05:15:30,073 INFO L354 FreeRefinementEngine]: Using trace check IpTcStrategyModulePreferences [714726804] [2020-07-18 05:15:30,073 INFO L94 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2020-07-18 05:15:30,124 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2020-07-18 05:15:30,210 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2020-07-18 05:15:30,217 INFO L280 TraceCheckUtils]: 0: Hoare triple {1547#(and (= |#valid| |old(#valid)|) (= |#NULL.base| |old(#NULL.base)|) (= |#NULL.offset| |old(#NULL.offset)|))} #NULL.base, #NULL.offset := 0, 0; {1538#true} is VALID [2020-07-18 05:15:30,217 INFO L280 TraceCheckUtils]: 1: Hoare triple {1538#true} #valid := #valid[0 := 0]; {1538#true} is VALID [2020-07-18 05:15:30,217 INFO L280 TraceCheckUtils]: 2: Hoare triple {1538#true} assume 0 < #StackHeapBarrier; {1538#true} is VALID [2020-07-18 05:15:30,218 INFO L280 TraceCheckUtils]: 3: Hoare triple {1538#true} assume true; {1538#true} is VALID [2020-07-18 05:15:30,218 INFO L275 TraceCheckUtils]: 4: Hoare quadruple {1538#true} {1538#true} #349#return; {1538#true} is VALID [2020-07-18 05:15:30,219 INFO L263 TraceCheckUtils]: 0: Hoare triple {1538#true} call ULTIMATE.init(); {1547#(and (= |#valid| |old(#valid)|) (= |#NULL.base| |old(#NULL.base)|) (= |#NULL.offset| |old(#NULL.offset)|))} is VALID [2020-07-18 05:15:30,220 INFO L280 TraceCheckUtils]: 1: Hoare triple {1547#(and (= |#valid| |old(#valid)|) (= |#NULL.base| |old(#NULL.base)|) (= |#NULL.offset| |old(#NULL.offset)|))} #NULL.base, #NULL.offset := 0, 0; {1538#true} is VALID [2020-07-18 05:15:30,220 INFO L280 TraceCheckUtils]: 2: Hoare triple {1538#true} #valid := #valid[0 := 0]; {1538#true} is VALID [2020-07-18 05:15:30,220 INFO L280 TraceCheckUtils]: 3: Hoare triple {1538#true} assume 0 < #StackHeapBarrier; {1538#true} is VALID [2020-07-18 05:15:30,221 INFO L280 TraceCheckUtils]: 4: Hoare triple {1538#true} assume true; {1538#true} is VALID [2020-07-18 05:15:30,221 INFO L275 TraceCheckUtils]: 5: Hoare quadruple {1538#true} {1538#true} #349#return; {1538#true} is VALID [2020-07-18 05:15:30,221 INFO L263 TraceCheckUtils]: 6: Hoare triple {1538#true} call #t~ret41 := main(); {1538#true} is VALID [2020-07-18 05:15:30,222 INFO L280 TraceCheckUtils]: 7: Hoare triple {1538#true} SUMMARY for call #t~malloc2.base, #t~malloc2.offset := #Ultimate.allocOnHeap(8); srcloc: mainENTRY {1545#(not (= 0 |main_#t~malloc2.base|))} is VALID [2020-07-18 05:15:30,223 INFO L280 TraceCheckUtils]: 8: Hoare triple {1545#(not (= 0 |main_#t~malloc2.base|))} ~root~0.base, ~root~0.offset := #t~malloc2.base, #t~malloc2.offset; {1546#(not (= 0 main_~root~0.base))} is VALID [2020-07-18 05:15:30,223 INFO L280 TraceCheckUtils]: 9: Hoare triple {1546#(not (= 0 main_~root~0.base))} havoc ~n~0.base, ~n~0.offset; {1546#(not (= 0 main_~root~0.base))} is VALID [2020-07-18 05:15:30,224 INFO L280 TraceCheckUtils]: 10: Hoare triple {1546#(not (= 0 main_~root~0.base))} SUMMARY for call write~$Pointer$(0, 0, ~root~0.base, ~root~0.offset, 4); srcloc: L542 {1546#(not (= 0 main_~root~0.base))} is VALID [2020-07-18 05:15:30,225 INFO L280 TraceCheckUtils]: 11: Hoare triple {1546#(not (= 0 main_~root~0.base))} SUMMARY for call write~$Pointer$(0, 0, ~root~0.base, 4 + ~root~0.offset, 4); srcloc: L542-1 {1546#(not (= 0 main_~root~0.base))} is VALID [2020-07-18 05:15:30,226 INFO L280 TraceCheckUtils]: 12: Hoare triple {1546#(not (= 0 main_~root~0.base))} assume -2147483648 <= #t~nondet3 && #t~nondet3 <= 2147483647; {1546#(not (= 0 main_~root~0.base))} is VALID [2020-07-18 05:15:30,226 INFO L280 TraceCheckUtils]: 13: Hoare triple {1546#(not (= 0 main_~root~0.base))} assume !(0 != #t~nondet3); {1546#(not (= 0 main_~root~0.base))} is VALID [2020-07-18 05:15:30,227 INFO L280 TraceCheckUtils]: 14: Hoare triple {1546#(not (= 0 main_~root~0.base))} havoc #t~nondet3; {1546#(not (= 0 main_~root~0.base))} is VALID [2020-07-18 05:15:30,228 INFO L280 TraceCheckUtils]: 15: Hoare triple {1546#(not (= 0 main_~root~0.base))} ~n~0.base, ~n~0.offset := 0, 0; {1546#(not (= 0 main_~root~0.base))} is VALID [2020-07-18 05:15:30,228 INFO L280 TraceCheckUtils]: 16: Hoare triple {1546#(not (= 0 main_~root~0.base))} havoc ~pred~0.base, ~pred~0.offset; {1546#(not (= 0 main_~root~0.base))} is VALID [2020-07-18 05:15:30,229 INFO L280 TraceCheckUtils]: 17: Hoare triple {1546#(not (= 0 main_~root~0.base))} assume !(~root~0.base != 0 || ~root~0.offset != 0); {1539#false} is VALID [2020-07-18 05:15:30,229 INFO L280 TraceCheckUtils]: 18: Hoare triple {1539#false} SUMMARY for call #t~malloc29.base, #t~malloc29.offset := #Ultimate.allocOnHeap(8); srcloc: L565-2 {1539#false} is VALID [2020-07-18 05:15:30,229 INFO L280 TraceCheckUtils]: 19: Hoare triple {1539#false} ~a~0.base, ~a~0.offset := #t~malloc29.base, #t~malloc29.offset; {1539#false} is VALID [2020-07-18 05:15:30,230 INFO L280 TraceCheckUtils]: 20: Hoare triple {1539#false} assume !(~a~0.base == 0 && ~a~0.offset == 0); {1539#false} is VALID [2020-07-18 05:15:30,230 INFO L280 TraceCheckUtils]: 21: Hoare triple {1539#false} havoc ~t~0.base, ~t~0.offset; {1539#false} is VALID [2020-07-18 05:15:30,230 INFO L280 TraceCheckUtils]: 22: Hoare triple {1539#false} ~p~0.base, ~p~0.offset := ~a~0.base, ~a~0.offset; {1539#false} is VALID [2020-07-18 05:15:30,230 INFO L280 TraceCheckUtils]: 23: Hoare triple {1539#false} assume -2147483648 <= #t~nondet30 && #t~nondet30 <= 2147483647; {1539#false} is VALID [2020-07-18 05:15:30,231 INFO L280 TraceCheckUtils]: 24: Hoare triple {1539#false} assume !(0 != #t~nondet30); {1539#false} is VALID [2020-07-18 05:15:30,231 INFO L280 TraceCheckUtils]: 25: Hoare triple {1539#false} havoc #t~nondet30; {1539#false} is VALID [2020-07-18 05:15:30,231 INFO L280 TraceCheckUtils]: 26: Hoare triple {1539#false} assume -2147483648 <= #t~nondet33 && #t~nondet33 <= 2147483647; {1539#false} is VALID [2020-07-18 05:15:30,232 INFO L280 TraceCheckUtils]: 27: Hoare triple {1539#false} assume !(0 != #t~nondet33); {1539#false} is VALID [2020-07-18 05:15:30,232 INFO L280 TraceCheckUtils]: 28: Hoare triple {1539#false} havoc #t~nondet33; {1539#false} is VALID [2020-07-18 05:15:30,232 INFO L280 TraceCheckUtils]: 29: Hoare triple {1539#false} SUMMARY for call write~int(3, ~p~0.base, ~p~0.offset, 4); srcloc: L595-5 {1539#false} is VALID [2020-07-18 05:15:30,232 INFO L280 TraceCheckUtils]: 30: Hoare triple {1539#false} ~p~0.base, ~p~0.offset := ~a~0.base, ~a~0.offset; {1539#false} is VALID [2020-07-18 05:15:30,233 INFO L280 TraceCheckUtils]: 31: Hoare triple {1539#false} SUMMARY for call #t~mem36 := read~int(~p~0.base, ~p~0.offset, 4); srcloc: L604-5 {1539#false} is VALID [2020-07-18 05:15:30,233 INFO L280 TraceCheckUtils]: 32: Hoare triple {1539#false} assume !(2 == #t~mem36); {1539#false} is VALID [2020-07-18 05:15:30,233 INFO L280 TraceCheckUtils]: 33: Hoare triple {1539#false} havoc #t~mem36; {1539#false} is VALID [2020-07-18 05:15:30,234 INFO L280 TraceCheckUtils]: 34: Hoare triple {1539#false} SUMMARY for call #t~mem38 := read~int(~p~0.base, ~p~0.offset, 4); srcloc: L606-4 {1539#false} is VALID [2020-07-18 05:15:30,234 INFO L280 TraceCheckUtils]: 35: Hoare triple {1539#false} assume !(1 == #t~mem38); {1539#false} is VALID [2020-07-18 05:15:30,234 INFO L280 TraceCheckUtils]: 36: Hoare triple {1539#false} havoc #t~mem38; {1539#false} is VALID [2020-07-18 05:15:30,235 INFO L280 TraceCheckUtils]: 37: Hoare triple {1539#false} SUMMARY for call #t~mem40 := read~int(~p~0.base, ~p~0.offset, 4); srcloc: L606-5 {1539#false} is VALID [2020-07-18 05:15:30,235 INFO L280 TraceCheckUtils]: 38: Hoare triple {1539#false} assume 3 != #t~mem40; {1539#false} is VALID [2020-07-18 05:15:30,235 INFO L280 TraceCheckUtils]: 39: Hoare triple {1539#false} havoc #t~mem40; {1539#false} is VALID [2020-07-18 05:15:30,235 INFO L280 TraceCheckUtils]: 40: Hoare triple {1539#false} assume !false; {1539#false} is VALID [2020-07-18 05:15:30,238 INFO L134 CoverageAnalysis]: Checked inductivity of 0 backedges. 0 proven. 0 refuted. 0 times theorem prover too weak. 0 trivial. 0 not checked. [2020-07-18 05:15:30,239 INFO L354 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModulePreferences [714726804] [2020-07-18 05:15:30,239 INFO L220 FreeRefinementEngine]: Constructing automaton from 1 perfect and 0 imperfect interpolant sequences. [2020-07-18 05:15:30,239 INFO L233 FreeRefinementEngine]: Number of different interpolants: perfect sequences [5] imperfect sequences [] total 5 [2020-07-18 05:15:30,239 INFO L156 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [691710740] [2020-07-18 05:15:30,241 INFO L78 Accepts]: Start accepts. Automaton has 5 states. Word has length 41 [2020-07-18 05:15:30,241 INFO L84 Accepts]: Finished accepts. word is accepted. [2020-07-18 05:15:30,241 INFO L86 InductivityCheck]: Starting indutivity check of a Floyd-Hoare automaton with 5 states. [2020-07-18 05:15:30,283 INFO L119 InductivityCheck]: Floyd-Hoare automaton has 41 edges. 41 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2020-07-18 05:15:30,283 INFO L459 AbstractCegarLoop]: Interpolant automaton has 5 states [2020-07-18 05:15:30,284 INFO L143 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy FIXED_PREFERENCES [2020-07-18 05:15:30,284 INFO L142 InterpolantAutomaton]: Constructing interpolant automaton starting with 5 interpolants. [2020-07-18 05:15:30,284 INFO L144 InterpolantAutomaton]: CoverageRelationStatistics Valid=7, Invalid=13, Unknown=0, NotChecked=0, Total=20 [2020-07-18 05:15:30,284 INFO L87 Difference]: Start difference. First operand 166 states and 183 transitions. Second operand 5 states. [2020-07-18 05:15:31,322 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2020-07-18 05:15:31,322 INFO L93 Difference]: Finished difference Result 251 states and 277 transitions. [2020-07-18 05:15:31,322 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 5 states. [2020-07-18 05:15:31,322 INFO L78 Accepts]: Start accepts. Automaton has 5 states. Word has length 41 [2020-07-18 05:15:31,323 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2020-07-18 05:15:31,323 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 5 states. [2020-07-18 05:15:31,327 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 5 states to 5 states and 277 transitions. [2020-07-18 05:15:31,327 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 5 states. [2020-07-18 05:15:31,331 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 5 states to 5 states and 277 transitions. [2020-07-18 05:15:31,332 INFO L86 InductivityCheck]: Starting indutivity check of a Floyd-Hoare automaton with 5 states and 277 transitions. [2020-07-18 05:15:31,663 INFO L119 InductivityCheck]: Floyd-Hoare automaton has 277 edges. 277 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2020-07-18 05:15:31,669 INFO L225 Difference]: With dead ends: 251 [2020-07-18 05:15:31,669 INFO L226 Difference]: Without dead ends: 201 [2020-07-18 05:15:31,670 INFO L675 BasicCegarLoop]: 0 DeclaredPredicates, 7 GetRequests, 3 SyntacticMatches, 0 SemanticMatches, 4 ConstructedPredicates, 0 IntricatePredicates, 0 DeprecatedPredicates, 0 ImplicationChecksByTransitivity, 0.0s TimeCoverageRelationStatistics Valid=11, Invalid=19, Unknown=0, NotChecked=0, Total=30 [2020-07-18 05:15:31,671 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 201 states. [2020-07-18 05:15:31,943 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 201 to 200. [2020-07-18 05:15:31,943 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2020-07-18 05:15:31,943 INFO L82 GeneralOperation]: Start isEquivalent. First operand 201 states. Second operand 200 states. [2020-07-18 05:15:31,943 INFO L74 IsIncluded]: Start isIncluded. First operand 201 states. Second operand 200 states. [2020-07-18 05:15:31,943 INFO L87 Difference]: Start difference. First operand 201 states. Second operand 200 states. [2020-07-18 05:15:31,953 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2020-07-18 05:15:31,953 INFO L93 Difference]: Finished difference Result 201 states and 223 transitions. [2020-07-18 05:15:31,953 INFO L276 IsEmpty]: Start isEmpty. Operand 201 states and 223 transitions. [2020-07-18 05:15:31,954 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2020-07-18 05:15:31,956 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2020-07-18 05:15:31,957 INFO L74 IsIncluded]: Start isIncluded. First operand 200 states. Second operand 201 states. [2020-07-18 05:15:31,957 INFO L87 Difference]: Start difference. First operand 200 states. Second operand 201 states. [2020-07-18 05:15:31,966 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2020-07-18 05:15:31,966 INFO L93 Difference]: Finished difference Result 201 states and 223 transitions. [2020-07-18 05:15:31,966 INFO L276 IsEmpty]: Start isEmpty. Operand 201 states and 223 transitions. [2020-07-18 05:15:31,967 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2020-07-18 05:15:31,967 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2020-07-18 05:15:31,967 INFO L88 GeneralOperation]: Finished isEquivalent. [2020-07-18 05:15:31,968 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2020-07-18 05:15:31,968 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 200 states. [2020-07-18 05:15:31,975 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 200 states to 200 states and 222 transitions. [2020-07-18 05:15:31,976 INFO L78 Accepts]: Start accepts. Automaton has 200 states and 222 transitions. Word has length 41 [2020-07-18 05:15:31,976 INFO L84 Accepts]: Finished accepts. word is rejected. [2020-07-18 05:15:31,976 INFO L479 AbstractCegarLoop]: Abstraction has 200 states and 222 transitions. [2020-07-18 05:15:31,976 INFO L480 AbstractCegarLoop]: Interpolant automaton has 5 states. [2020-07-18 05:15:31,976 INFO L86 InductivityCheck]: Starting indutivity check of a Floyd-Hoare automaton with 200 states and 222 transitions. [2020-07-18 05:15:32,223 INFO L119 InductivityCheck]: Floyd-Hoare automaton has 222 edges. 222 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2020-07-18 05:15:32,223 INFO L276 IsEmpty]: Start isEmpty. Operand 200 states and 222 transitions. [2020-07-18 05:15:32,225 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 55 [2020-07-18 05:15:32,225 INFO L414 BasicCegarLoop]: Found error trace [2020-07-18 05:15:32,226 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, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1] [2020-07-18 05:15:32,226 WARN L516 AbstractCegarLoop]: Destroyed unattended storables created during the last iteration: SelfDestructingSolverStorable1 [2020-07-18 05:15:32,226 INFO L427 AbstractCegarLoop]: === Iteration 3 === [mainErr0ASSERT_VIOLATIONERROR_FUNCTION]=== [2020-07-18 05:15:32,226 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2020-07-18 05:15:32,227 INFO L82 PathProgramCache]: Analyzing trace with hash 1870874818, now seen corresponding path program 1 times [2020-07-18 05:15:32,227 INFO L163 FreeRefinementEngine]: Executing refinement strategy FIXED_PREFERENCES [2020-07-18 05:15:32,227 INFO L354 FreeRefinementEngine]: Using trace check IpTcStrategyModulePreferences [438248846] [2020-07-18 05:15:32,227 INFO L94 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2020-07-18 05:15:32,247 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2020-07-18 05:15:32,288 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2020-07-18 05:15:32,303 INFO L280 TraceCheckUtils]: 0: Hoare triple {2864#(and (= |#valid| |old(#valid)|) (= |#NULL.base| |old(#NULL.base)|) (= |#NULL.offset| |old(#NULL.offset)|))} #NULL.base, #NULL.offset := 0, 0; {2856#true} is VALID [2020-07-18 05:15:32,304 INFO L280 TraceCheckUtils]: 1: Hoare triple {2856#true} #valid := #valid[0 := 0]; {2856#true} is VALID [2020-07-18 05:15:32,304 INFO L280 TraceCheckUtils]: 2: Hoare triple {2856#true} assume 0 < #StackHeapBarrier; {2856#true} is VALID [2020-07-18 05:15:32,304 INFO L280 TraceCheckUtils]: 3: Hoare triple {2856#true} assume true; {2856#true} is VALID [2020-07-18 05:15:32,304 INFO L275 TraceCheckUtils]: 4: Hoare quadruple {2856#true} {2856#true} #349#return; {2856#true} is VALID [2020-07-18 05:15:32,306 INFO L263 TraceCheckUtils]: 0: Hoare triple {2856#true} call ULTIMATE.init(); {2864#(and (= |#valid| |old(#valid)|) (= |#NULL.base| |old(#NULL.base)|) (= |#NULL.offset| |old(#NULL.offset)|))} is VALID [2020-07-18 05:15:32,306 INFO L280 TraceCheckUtils]: 1: Hoare triple {2864#(and (= |#valid| |old(#valid)|) (= |#NULL.base| |old(#NULL.base)|) (= |#NULL.offset| |old(#NULL.offset)|))} #NULL.base, #NULL.offset := 0, 0; {2856#true} is VALID [2020-07-18 05:15:32,306 INFO L280 TraceCheckUtils]: 2: Hoare triple {2856#true} #valid := #valid[0 := 0]; {2856#true} is VALID [2020-07-18 05:15:32,306 INFO L280 TraceCheckUtils]: 3: Hoare triple {2856#true} assume 0 < #StackHeapBarrier; {2856#true} is VALID [2020-07-18 05:15:32,307 INFO L280 TraceCheckUtils]: 4: Hoare triple {2856#true} assume true; {2856#true} is VALID [2020-07-18 05:15:32,307 INFO L275 TraceCheckUtils]: 5: Hoare quadruple {2856#true} {2856#true} #349#return; {2856#true} is VALID [2020-07-18 05:15:32,307 INFO L263 TraceCheckUtils]: 6: Hoare triple {2856#true} call #t~ret41 := main(); {2856#true} is VALID [2020-07-18 05:15:32,308 INFO L280 TraceCheckUtils]: 7: Hoare triple {2856#true} SUMMARY for call #t~malloc2.base, #t~malloc2.offset := #Ultimate.allocOnHeap(8); srcloc: mainENTRY {2856#true} is VALID [2020-07-18 05:15:32,308 INFO L280 TraceCheckUtils]: 8: Hoare triple {2856#true} ~root~0.base, ~root~0.offset := #t~malloc2.base, #t~malloc2.offset; {2856#true} is VALID [2020-07-18 05:15:32,308 INFO L280 TraceCheckUtils]: 9: Hoare triple {2856#true} havoc ~n~0.base, ~n~0.offset; {2856#true} is VALID [2020-07-18 05:15:32,308 INFO L280 TraceCheckUtils]: 10: Hoare triple {2856#true} SUMMARY for call write~$Pointer$(0, 0, ~root~0.base, ~root~0.offset, 4); srcloc: L542 {2856#true} is VALID [2020-07-18 05:15:32,309 INFO L280 TraceCheckUtils]: 11: Hoare triple {2856#true} SUMMARY for call write~$Pointer$(0, 0, ~root~0.base, 4 + ~root~0.offset, 4); srcloc: L542-1 {2856#true} is VALID [2020-07-18 05:15:32,309 INFO L280 TraceCheckUtils]: 12: Hoare triple {2856#true} assume -2147483648 <= #t~nondet3 && #t~nondet3 <= 2147483647; {2856#true} is VALID [2020-07-18 05:15:32,309 INFO L280 TraceCheckUtils]: 13: Hoare triple {2856#true} assume !(0 != #t~nondet3); {2856#true} is VALID [2020-07-18 05:15:32,309 INFO L280 TraceCheckUtils]: 14: Hoare triple {2856#true} havoc #t~nondet3; {2856#true} is VALID [2020-07-18 05:15:32,310 INFO L280 TraceCheckUtils]: 15: Hoare triple {2856#true} ~n~0.base, ~n~0.offset := 0, 0; {2856#true} is VALID [2020-07-18 05:15:32,310 INFO L280 TraceCheckUtils]: 16: Hoare triple {2856#true} havoc ~pred~0.base, ~pred~0.offset; {2856#true} is VALID [2020-07-18 05:15:32,310 INFO L280 TraceCheckUtils]: 17: Hoare triple {2856#true} assume !!(~root~0.base != 0 || ~root~0.offset != 0); {2856#true} is VALID [2020-07-18 05:15:32,311 INFO L280 TraceCheckUtils]: 18: Hoare triple {2856#true} ~pred~0.base, ~pred~0.offset := 0, 0; {2856#true} is VALID [2020-07-18 05:15:32,311 INFO L280 TraceCheckUtils]: 19: Hoare triple {2856#true} ~n~0.base, ~n~0.offset := ~root~0.base, ~root~0.offset; {2856#true} is VALID [2020-07-18 05:15:32,311 INFO L280 TraceCheckUtils]: 20: Hoare triple {2856#true} SUMMARY for call #t~mem22.base, #t~mem22.offset := read~$Pointer$(~n~0.base, ~n~0.offset, 4); srcloc: L570-5 {2856#true} is VALID [2020-07-18 05:15:32,312 INFO L280 TraceCheckUtils]: 21: Hoare triple {2856#true} #t~short24 := #t~mem22.base != 0 || #t~mem22.offset != 0; {2856#true} is VALID [2020-07-18 05:15:32,312 INFO L280 TraceCheckUtils]: 22: Hoare triple {2856#true} assume #t~short24; {2863#|main_#t~short24|} is VALID [2020-07-18 05:15:32,313 INFO L280 TraceCheckUtils]: 23: Hoare triple {2863#|main_#t~short24|} assume !#t~short24; {2857#false} is VALID [2020-07-18 05:15:32,313 INFO L280 TraceCheckUtils]: 24: Hoare triple {2857#false} havoc #t~mem22.base, #t~mem22.offset; {2857#false} is VALID [2020-07-18 05:15:32,314 INFO L280 TraceCheckUtils]: 25: Hoare triple {2857#false} havoc #t~mem23.base, #t~mem23.offset; {2857#false} is VALID [2020-07-18 05:15:32,314 INFO L280 TraceCheckUtils]: 26: Hoare triple {2857#false} havoc #t~short24; {2857#false} is VALID [2020-07-18 05:15:32,314 INFO L280 TraceCheckUtils]: 27: Hoare triple {2857#false} assume !(~pred~0.base != 0 || ~pred~0.offset != 0); {2857#false} is VALID [2020-07-18 05:15:32,315 INFO L280 TraceCheckUtils]: 28: Hoare triple {2857#false} ~root~0.base, ~root~0.offset := 0, 0; {2857#false} is VALID [2020-07-18 05:15:32,315 INFO L280 TraceCheckUtils]: 29: Hoare triple {2857#false} SUMMARY for call ULTIMATE.dealloc(~n~0.base, ~n~0.offset); srcloc: L575 {2857#false} is VALID [2020-07-18 05:15:32,315 INFO L280 TraceCheckUtils]: 30: Hoare triple {2857#false} assume !(~root~0.base != 0 || ~root~0.offset != 0); {2857#false} is VALID [2020-07-18 05:15:32,315 INFO L280 TraceCheckUtils]: 31: Hoare triple {2857#false} SUMMARY for call #t~malloc29.base, #t~malloc29.offset := #Ultimate.allocOnHeap(8); srcloc: L565-2 {2857#false} is VALID [2020-07-18 05:15:32,316 INFO L280 TraceCheckUtils]: 32: Hoare triple {2857#false} ~a~0.base, ~a~0.offset := #t~malloc29.base, #t~malloc29.offset; {2857#false} is VALID [2020-07-18 05:15:32,316 INFO L280 TraceCheckUtils]: 33: Hoare triple {2857#false} assume !(~a~0.base == 0 && ~a~0.offset == 0); {2857#false} is VALID [2020-07-18 05:15:32,316 INFO L280 TraceCheckUtils]: 34: Hoare triple {2857#false} havoc ~t~0.base, ~t~0.offset; {2857#false} is VALID [2020-07-18 05:15:32,316 INFO L280 TraceCheckUtils]: 35: Hoare triple {2857#false} ~p~0.base, ~p~0.offset := ~a~0.base, ~a~0.offset; {2857#false} is VALID [2020-07-18 05:15:32,317 INFO L280 TraceCheckUtils]: 36: Hoare triple {2857#false} assume -2147483648 <= #t~nondet30 && #t~nondet30 <= 2147483647; {2857#false} is VALID [2020-07-18 05:15:32,317 INFO L280 TraceCheckUtils]: 37: Hoare triple {2857#false} assume !(0 != #t~nondet30); {2857#false} is VALID [2020-07-18 05:15:32,317 INFO L280 TraceCheckUtils]: 38: Hoare triple {2857#false} havoc #t~nondet30; {2857#false} is VALID [2020-07-18 05:15:32,317 INFO L280 TraceCheckUtils]: 39: Hoare triple {2857#false} assume -2147483648 <= #t~nondet33 && #t~nondet33 <= 2147483647; {2857#false} is VALID [2020-07-18 05:15:32,318 INFO L280 TraceCheckUtils]: 40: Hoare triple {2857#false} assume !(0 != #t~nondet33); {2857#false} is VALID [2020-07-18 05:15:32,318 INFO L280 TraceCheckUtils]: 41: Hoare triple {2857#false} havoc #t~nondet33; {2857#false} is VALID [2020-07-18 05:15:32,318 INFO L280 TraceCheckUtils]: 42: Hoare triple {2857#false} SUMMARY for call write~int(3, ~p~0.base, ~p~0.offset, 4); srcloc: L595-5 {2857#false} is VALID [2020-07-18 05:15:32,319 INFO L280 TraceCheckUtils]: 43: Hoare triple {2857#false} ~p~0.base, ~p~0.offset := ~a~0.base, ~a~0.offset; {2857#false} is VALID [2020-07-18 05:15:32,319 INFO L280 TraceCheckUtils]: 44: Hoare triple {2857#false} SUMMARY for call #t~mem36 := read~int(~p~0.base, ~p~0.offset, 4); srcloc: L604-5 {2857#false} is VALID [2020-07-18 05:15:32,319 INFO L280 TraceCheckUtils]: 45: Hoare triple {2857#false} assume !(2 == #t~mem36); {2857#false} is VALID [2020-07-18 05:15:32,319 INFO L280 TraceCheckUtils]: 46: Hoare triple {2857#false} havoc #t~mem36; {2857#false} is VALID [2020-07-18 05:15:32,320 INFO L280 TraceCheckUtils]: 47: Hoare triple {2857#false} SUMMARY for call #t~mem38 := read~int(~p~0.base, ~p~0.offset, 4); srcloc: L606-4 {2857#false} is VALID [2020-07-18 05:15:32,320 INFO L280 TraceCheckUtils]: 48: Hoare triple {2857#false} assume !(1 == #t~mem38); {2857#false} is VALID [2020-07-18 05:15:32,320 INFO L280 TraceCheckUtils]: 49: Hoare triple {2857#false} havoc #t~mem38; {2857#false} is VALID [2020-07-18 05:15:32,320 INFO L280 TraceCheckUtils]: 50: Hoare triple {2857#false} SUMMARY for call #t~mem40 := read~int(~p~0.base, ~p~0.offset, 4); srcloc: L606-5 {2857#false} is VALID [2020-07-18 05:15:32,321 INFO L280 TraceCheckUtils]: 51: Hoare triple {2857#false} assume 3 != #t~mem40; {2857#false} is VALID [2020-07-18 05:15:32,321 INFO L280 TraceCheckUtils]: 52: Hoare triple {2857#false} havoc #t~mem40; {2857#false} is VALID [2020-07-18 05:15:32,321 INFO L280 TraceCheckUtils]: 53: Hoare triple {2857#false} assume !false; {2857#false} is VALID [2020-07-18 05:15:32,324 INFO L134 CoverageAnalysis]: Checked inductivity of 1 backedges. 1 proven. 0 refuted. 0 times theorem prover too weak. 0 trivial. 0 not checked. [2020-07-18 05:15:32,325 INFO L354 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModulePreferences [438248846] [2020-07-18 05:15:32,325 INFO L220 FreeRefinementEngine]: Constructing automaton from 1 perfect and 0 imperfect interpolant sequences. [2020-07-18 05:15:32,325 INFO L233 FreeRefinementEngine]: Number of different interpolants: perfect sequences [4] imperfect sequences [] total 4 [2020-07-18 05:15:32,325 INFO L156 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [1825191101] [2020-07-18 05:15:32,326 INFO L78 Accepts]: Start accepts. Automaton has 4 states. Word has length 54 [2020-07-18 05:15:32,326 INFO L84 Accepts]: Finished accepts. word is accepted. [2020-07-18 05:15:32,326 INFO L86 InductivityCheck]: Starting indutivity check of a Floyd-Hoare automaton with 4 states. [2020-07-18 05:15:32,381 INFO L119 InductivityCheck]: Floyd-Hoare automaton has 54 edges. 54 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2020-07-18 05:15:32,381 INFO L459 AbstractCegarLoop]: Interpolant automaton has 4 states [2020-07-18 05:15:32,381 INFO L143 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy FIXED_PREFERENCES [2020-07-18 05:15:32,382 INFO L142 InterpolantAutomaton]: Constructing interpolant automaton starting with 4 interpolants. [2020-07-18 05:15:32,382 INFO L144 InterpolantAutomaton]: CoverageRelationStatistics Valid=5, Invalid=7, Unknown=0, NotChecked=0, Total=12 [2020-07-18 05:15:32,382 INFO L87 Difference]: Start difference. First operand 200 states and 222 transitions. Second operand 4 states. [2020-07-18 05:15:33,255 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2020-07-18 05:15:33,255 INFO L93 Difference]: Finished difference Result 321 states and 359 transitions. [2020-07-18 05:15:33,256 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 4 states. [2020-07-18 05:15:33,256 INFO L78 Accepts]: Start accepts. Automaton has 4 states. Word has length 54 [2020-07-18 05:15:33,256 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2020-07-18 05:15:33,256 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 4 states. [2020-07-18 05:15:33,260 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 4 states to 4 states and 279 transitions. [2020-07-18 05:15:33,260 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 4 states. [2020-07-18 05:15:33,264 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 4 states to 4 states and 279 transitions. [2020-07-18 05:15:33,264 INFO L86 InductivityCheck]: Starting indutivity check of a Floyd-Hoare automaton with 4 states and 279 transitions. [2020-07-18 05:15:33,548 INFO L119 InductivityCheck]: Floyd-Hoare automaton has 279 edges. 279 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2020-07-18 05:15:33,553 INFO L225 Difference]: With dead ends: 321 [2020-07-18 05:15:33,553 INFO L226 Difference]: Without dead ends: 202 [2020-07-18 05:15:33,555 INFO L675 BasicCegarLoop]: 0 DeclaredPredicates, 5 GetRequests, 3 SyntacticMatches, 0 SemanticMatches, 2 ConstructedPredicates, 0 IntricatePredicates, 0 DeprecatedPredicates, 0 ImplicationChecksByTransitivity, 0.0s TimeCoverageRelationStatistics Valid=5, Invalid=7, Unknown=0, NotChecked=0, Total=12 [2020-07-18 05:15:33,555 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 202 states. [2020-07-18 05:15:33,816 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 202 to 202. [2020-07-18 05:15:33,816 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2020-07-18 05:15:33,817 INFO L82 GeneralOperation]: Start isEquivalent. First operand 202 states. Second operand 202 states. [2020-07-18 05:15:33,817 INFO L74 IsIncluded]: Start isIncluded. First operand 202 states. Second operand 202 states. [2020-07-18 05:15:33,817 INFO L87 Difference]: Start difference. First operand 202 states. Second operand 202 states. [2020-07-18 05:15:33,825 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2020-07-18 05:15:33,825 INFO L93 Difference]: Finished difference Result 202 states and 224 transitions. [2020-07-18 05:15:33,825 INFO L276 IsEmpty]: Start isEmpty. Operand 202 states and 224 transitions. [2020-07-18 05:15:33,826 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2020-07-18 05:15:33,826 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2020-07-18 05:15:33,826 INFO L74 IsIncluded]: Start isIncluded. First operand 202 states. Second operand 202 states. [2020-07-18 05:15:33,826 INFO L87 Difference]: Start difference. First operand 202 states. Second operand 202 states. [2020-07-18 05:15:33,833 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2020-07-18 05:15:33,834 INFO L93 Difference]: Finished difference Result 202 states and 224 transitions. [2020-07-18 05:15:33,834 INFO L276 IsEmpty]: Start isEmpty. Operand 202 states and 224 transitions. [2020-07-18 05:15:33,835 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2020-07-18 05:15:33,835 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2020-07-18 05:15:33,835 INFO L88 GeneralOperation]: Finished isEquivalent. [2020-07-18 05:15:33,835 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2020-07-18 05:15:33,835 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 202 states. [2020-07-18 05:15:33,843 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 202 states to 202 states and 224 transitions. [2020-07-18 05:15:33,843 INFO L78 Accepts]: Start accepts. Automaton has 202 states and 224 transitions. Word has length 54 [2020-07-18 05:15:33,843 INFO L84 Accepts]: Finished accepts. word is rejected. [2020-07-18 05:15:33,844 INFO L479 AbstractCegarLoop]: Abstraction has 202 states and 224 transitions. [2020-07-18 05:15:33,844 INFO L480 AbstractCegarLoop]: Interpolant automaton has 4 states. [2020-07-18 05:15:33,844 INFO L86 InductivityCheck]: Starting indutivity check of a Floyd-Hoare automaton with 202 states and 224 transitions. [2020-07-18 05:15:34,109 INFO L119 InductivityCheck]: Floyd-Hoare automaton has 224 edges. 224 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2020-07-18 05:15:34,110 INFO L276 IsEmpty]: Start isEmpty. Operand 202 states and 224 transitions. [2020-07-18 05:15:34,112 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 57 [2020-07-18 05:15:34,112 INFO L414 BasicCegarLoop]: Found error trace [2020-07-18 05:15:34,112 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, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1] [2020-07-18 05:15:34,112 WARN L516 AbstractCegarLoop]: Destroyed unattended storables created during the last iteration: SelfDestructingSolverStorable2 [2020-07-18 05:15:34,112 INFO L427 AbstractCegarLoop]: === Iteration 4 === [mainErr0ASSERT_VIOLATIONERROR_FUNCTION]=== [2020-07-18 05:15:34,113 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2020-07-18 05:15:34,113 INFO L82 PathProgramCache]: Analyzing trace with hash 129316031, now seen corresponding path program 1 times [2020-07-18 05:15:34,113 INFO L163 FreeRefinementEngine]: Executing refinement strategy FIXED_PREFERENCES [2020-07-18 05:15:34,113 INFO L354 FreeRefinementEngine]: Using trace check IpTcStrategyModulePreferences [323650445] [2020-07-18 05:15:34,114 INFO L94 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2020-07-18 05:15:34,145 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2020-07-18 05:15:34,258 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2020-07-18 05:15:34,263 INFO L280 TraceCheckUtils]: 0: Hoare triple {4328#(and (= |#valid| |old(#valid)|) (= |#NULL.base| |old(#NULL.base)|) (= |#NULL.offset| |old(#NULL.offset)|))} #NULL.base, #NULL.offset := 0, 0; {4317#true} is VALID [2020-07-18 05:15:34,264 INFO L280 TraceCheckUtils]: 1: Hoare triple {4317#true} #valid := #valid[0 := 0]; {4317#true} is VALID [2020-07-18 05:15:34,264 INFO L280 TraceCheckUtils]: 2: Hoare triple {4317#true} assume 0 < #StackHeapBarrier; {4317#true} is VALID [2020-07-18 05:15:34,264 INFO L280 TraceCheckUtils]: 3: Hoare triple {4317#true} assume true; {4317#true} is VALID [2020-07-18 05:15:34,264 INFO L275 TraceCheckUtils]: 4: Hoare quadruple {4317#true} {4317#true} #349#return; {4317#true} is VALID [2020-07-18 05:15:34,271 INFO L263 TraceCheckUtils]: 0: Hoare triple {4317#true} call ULTIMATE.init(); {4328#(and (= |#valid| |old(#valid)|) (= |#NULL.base| |old(#NULL.base)|) (= |#NULL.offset| |old(#NULL.offset)|))} is VALID [2020-07-18 05:15:34,271 INFO L280 TraceCheckUtils]: 1: Hoare triple {4328#(and (= |#valid| |old(#valid)|) (= |#NULL.base| |old(#NULL.base)|) (= |#NULL.offset| |old(#NULL.offset)|))} #NULL.base, #NULL.offset := 0, 0; {4317#true} is VALID [2020-07-18 05:15:34,271 INFO L280 TraceCheckUtils]: 2: Hoare triple {4317#true} #valid := #valid[0 := 0]; {4317#true} is VALID [2020-07-18 05:15:34,272 INFO L280 TraceCheckUtils]: 3: Hoare triple {4317#true} assume 0 < #StackHeapBarrier; {4317#true} is VALID [2020-07-18 05:15:34,272 INFO L280 TraceCheckUtils]: 4: Hoare triple {4317#true} assume true; {4317#true} is VALID [2020-07-18 05:15:34,272 INFO L275 TraceCheckUtils]: 5: Hoare quadruple {4317#true} {4317#true} #349#return; {4317#true} is VALID [2020-07-18 05:15:34,272 INFO L263 TraceCheckUtils]: 6: Hoare triple {4317#true} call #t~ret41 := main(); {4317#true} is VALID [2020-07-18 05:15:34,273 INFO L280 TraceCheckUtils]: 7: Hoare triple {4317#true} SUMMARY for call #t~malloc2.base, #t~malloc2.offset := #Ultimate.allocOnHeap(8); srcloc: mainENTRY {4317#true} is VALID [2020-07-18 05:15:34,273 INFO L280 TraceCheckUtils]: 8: Hoare triple {4317#true} ~root~0.base, ~root~0.offset := #t~malloc2.base, #t~malloc2.offset; {4317#true} is VALID [2020-07-18 05:15:34,273 INFO L280 TraceCheckUtils]: 9: Hoare triple {4317#true} havoc ~n~0.base, ~n~0.offset; {4317#true} is VALID [2020-07-18 05:15:34,273 INFO L280 TraceCheckUtils]: 10: Hoare triple {4317#true} SUMMARY for call write~$Pointer$(0, 0, ~root~0.base, ~root~0.offset, 4); srcloc: L542 {4317#true} is VALID [2020-07-18 05:15:34,274 INFO L280 TraceCheckUtils]: 11: Hoare triple {4317#true} SUMMARY for call write~$Pointer$(0, 0, ~root~0.base, 4 + ~root~0.offset, 4); srcloc: L542-1 {4317#true} is VALID [2020-07-18 05:15:34,274 INFO L280 TraceCheckUtils]: 12: Hoare triple {4317#true} assume -2147483648 <= #t~nondet3 && #t~nondet3 <= 2147483647; {4317#true} is VALID [2020-07-18 05:15:34,274 INFO L280 TraceCheckUtils]: 13: Hoare triple {4317#true} assume !(0 != #t~nondet3); {4317#true} is VALID [2020-07-18 05:15:34,274 INFO L280 TraceCheckUtils]: 14: Hoare triple {4317#true} havoc #t~nondet3; {4317#true} is VALID [2020-07-18 05:15:34,275 INFO L280 TraceCheckUtils]: 15: Hoare triple {4317#true} ~n~0.base, ~n~0.offset := 0, 0; {4317#true} is VALID [2020-07-18 05:15:34,275 INFO L280 TraceCheckUtils]: 16: Hoare triple {4317#true} havoc ~pred~0.base, ~pred~0.offset; {4317#true} is VALID [2020-07-18 05:15:34,275 INFO L280 TraceCheckUtils]: 17: Hoare triple {4317#true} assume !!(~root~0.base != 0 || ~root~0.offset != 0); {4317#true} is VALID [2020-07-18 05:15:34,275 INFO L280 TraceCheckUtils]: 18: Hoare triple {4317#true} ~pred~0.base, ~pred~0.offset := 0, 0; {4317#true} is VALID [2020-07-18 05:15:34,276 INFO L280 TraceCheckUtils]: 19: Hoare triple {4317#true} ~n~0.base, ~n~0.offset := ~root~0.base, ~root~0.offset; {4317#true} is VALID [2020-07-18 05:15:34,276 INFO L280 TraceCheckUtils]: 20: Hoare triple {4317#true} SUMMARY for call #t~mem22.base, #t~mem22.offset := read~$Pointer$(~n~0.base, ~n~0.offset, 4); srcloc: L570-5 {4317#true} is VALID [2020-07-18 05:15:34,276 INFO L280 TraceCheckUtils]: 21: Hoare triple {4317#true} #t~short24 := #t~mem22.base != 0 || #t~mem22.offset != 0; {4317#true} is VALID [2020-07-18 05:15:34,276 INFO L280 TraceCheckUtils]: 22: Hoare triple {4317#true} assume !#t~short24; {4317#true} is VALID [2020-07-18 05:15:34,277 INFO L280 TraceCheckUtils]: 23: Hoare triple {4317#true} SUMMARY for call #t~mem23.base, #t~mem23.offset := read~$Pointer$(~n~0.base, 4 + ~n~0.offset, 4); srcloc: L568-4 {4317#true} is VALID [2020-07-18 05:15:34,277 INFO L280 TraceCheckUtils]: 24: Hoare triple {4317#true} #t~short24 := #t~mem23.base != 0 || #t~mem23.offset != 0; {4317#true} is VALID [2020-07-18 05:15:34,277 INFO L280 TraceCheckUtils]: 25: Hoare triple {4317#true} assume !#t~short24; {4317#true} is VALID [2020-07-18 05:15:34,277 INFO L280 TraceCheckUtils]: 26: Hoare triple {4317#true} havoc #t~mem22.base, #t~mem22.offset; {4317#true} is VALID [2020-07-18 05:15:34,278 INFO L280 TraceCheckUtils]: 27: Hoare triple {4317#true} havoc #t~mem23.base, #t~mem23.offset; {4317#true} is VALID [2020-07-18 05:15:34,278 INFO L280 TraceCheckUtils]: 28: Hoare triple {4317#true} havoc #t~short24; {4317#true} is VALID [2020-07-18 05:15:34,278 INFO L280 TraceCheckUtils]: 29: Hoare triple {4317#true} assume !(~pred~0.base != 0 || ~pred~0.offset != 0); {4317#true} is VALID [2020-07-18 05:15:34,278 INFO L280 TraceCheckUtils]: 30: Hoare triple {4317#true} ~root~0.base, ~root~0.offset := 0, 0; {4317#true} is VALID [2020-07-18 05:15:34,279 INFO L280 TraceCheckUtils]: 31: Hoare triple {4317#true} SUMMARY for call ULTIMATE.dealloc(~n~0.base, ~n~0.offset); srcloc: L575 {4317#true} is VALID [2020-07-18 05:15:34,279 INFO L280 TraceCheckUtils]: 32: Hoare triple {4317#true} assume !(~root~0.base != 0 || ~root~0.offset != 0); {4317#true} is VALID [2020-07-18 05:15:34,279 INFO L280 TraceCheckUtils]: 33: Hoare triple {4317#true} SUMMARY for call #t~malloc29.base, #t~malloc29.offset := #Ultimate.allocOnHeap(8); srcloc: L565-2 {4317#true} is VALID [2020-07-18 05:15:34,279 INFO L280 TraceCheckUtils]: 34: Hoare triple {4317#true} ~a~0.base, ~a~0.offset := #t~malloc29.base, #t~malloc29.offset; {4317#true} is VALID [2020-07-18 05:15:34,279 INFO L280 TraceCheckUtils]: 35: Hoare triple {4317#true} assume !(~a~0.base == 0 && ~a~0.offset == 0); {4317#true} is VALID [2020-07-18 05:15:34,280 INFO L280 TraceCheckUtils]: 36: Hoare triple {4317#true} havoc ~t~0.base, ~t~0.offset; {4317#true} is VALID [2020-07-18 05:15:34,280 INFO L280 TraceCheckUtils]: 37: Hoare triple {4317#true} ~p~0.base, ~p~0.offset := ~a~0.base, ~a~0.offset; {4324#(and (= main_~a~0.base main_~p~0.base) (= main_~a~0.offset main_~p~0.offset))} is VALID [2020-07-18 05:15:34,281 INFO L280 TraceCheckUtils]: 38: Hoare triple {4324#(and (= main_~a~0.base main_~p~0.base) (= main_~a~0.offset main_~p~0.offset))} assume -2147483648 <= #t~nondet30 && #t~nondet30 <= 2147483647; {4324#(and (= main_~a~0.base main_~p~0.base) (= main_~a~0.offset main_~p~0.offset))} is VALID [2020-07-18 05:15:34,282 INFO L280 TraceCheckUtils]: 39: Hoare triple {4324#(and (= main_~a~0.base main_~p~0.base) (= main_~a~0.offset main_~p~0.offset))} assume !(0 != #t~nondet30); {4324#(and (= main_~a~0.base main_~p~0.base) (= main_~a~0.offset main_~p~0.offset))} is VALID [2020-07-18 05:15:34,283 INFO L280 TraceCheckUtils]: 40: Hoare triple {4324#(and (= main_~a~0.base main_~p~0.base) (= main_~a~0.offset main_~p~0.offset))} havoc #t~nondet30; {4324#(and (= main_~a~0.base main_~p~0.base) (= main_~a~0.offset main_~p~0.offset))} is VALID [2020-07-18 05:15:34,283 INFO L280 TraceCheckUtils]: 41: Hoare triple {4324#(and (= main_~a~0.base main_~p~0.base) (= main_~a~0.offset main_~p~0.offset))} assume -2147483648 <= #t~nondet33 && #t~nondet33 <= 2147483647; {4324#(and (= main_~a~0.base main_~p~0.base) (= main_~a~0.offset main_~p~0.offset))} is VALID [2020-07-18 05:15:34,284 INFO L280 TraceCheckUtils]: 42: Hoare triple {4324#(and (= main_~a~0.base main_~p~0.base) (= main_~a~0.offset main_~p~0.offset))} assume !(0 != #t~nondet33); {4324#(and (= main_~a~0.base main_~p~0.base) (= main_~a~0.offset main_~p~0.offset))} is VALID [2020-07-18 05:15:34,285 INFO L280 TraceCheckUtils]: 43: Hoare triple {4324#(and (= main_~a~0.base main_~p~0.base) (= main_~a~0.offset main_~p~0.offset))} havoc #t~nondet33; {4324#(and (= main_~a~0.base main_~p~0.base) (= main_~a~0.offset main_~p~0.offset))} is VALID [2020-07-18 05:15:34,286 INFO L280 TraceCheckUtils]: 44: Hoare triple {4324#(and (= main_~a~0.base main_~p~0.base) (= main_~a~0.offset main_~p~0.offset))} SUMMARY for call write~int(3, ~p~0.base, ~p~0.offset, 4); srcloc: L595-5 {4325#(= 3 (select (select |#memory_int| main_~a~0.base) main_~a~0.offset))} is VALID [2020-07-18 05:15:34,287 INFO L280 TraceCheckUtils]: 45: Hoare triple {4325#(= 3 (select (select |#memory_int| main_~a~0.base) main_~a~0.offset))} ~p~0.base, ~p~0.offset := ~a~0.base, ~a~0.offset; {4326#(= 3 (select (select |#memory_int| main_~p~0.base) main_~p~0.offset))} is VALID [2020-07-18 05:15:34,287 INFO L280 TraceCheckUtils]: 46: Hoare triple {4326#(= 3 (select (select |#memory_int| main_~p~0.base) main_~p~0.offset))} SUMMARY for call #t~mem36 := read~int(~p~0.base, ~p~0.offset, 4); srcloc: L604-5 {4326#(= 3 (select (select |#memory_int| main_~p~0.base) main_~p~0.offset))} is VALID [2020-07-18 05:15:34,288 INFO L280 TraceCheckUtils]: 47: Hoare triple {4326#(= 3 (select (select |#memory_int| main_~p~0.base) main_~p~0.offset))} assume !(2 == #t~mem36); {4326#(= 3 (select (select |#memory_int| main_~p~0.base) main_~p~0.offset))} is VALID [2020-07-18 05:15:34,288 INFO L280 TraceCheckUtils]: 48: Hoare triple {4326#(= 3 (select (select |#memory_int| main_~p~0.base) main_~p~0.offset))} havoc #t~mem36; {4326#(= 3 (select (select |#memory_int| main_~p~0.base) main_~p~0.offset))} is VALID [2020-07-18 05:15:34,289 INFO L280 TraceCheckUtils]: 49: Hoare triple {4326#(= 3 (select (select |#memory_int| main_~p~0.base) main_~p~0.offset))} SUMMARY for call #t~mem38 := read~int(~p~0.base, ~p~0.offset, 4); srcloc: L606-4 {4326#(= 3 (select (select |#memory_int| main_~p~0.base) main_~p~0.offset))} is VALID [2020-07-18 05:15:34,289 INFO L280 TraceCheckUtils]: 50: Hoare triple {4326#(= 3 (select (select |#memory_int| main_~p~0.base) main_~p~0.offset))} assume !(1 == #t~mem38); {4326#(= 3 (select (select |#memory_int| main_~p~0.base) main_~p~0.offset))} is VALID [2020-07-18 05:15:34,290 INFO L280 TraceCheckUtils]: 51: Hoare triple {4326#(= 3 (select (select |#memory_int| main_~p~0.base) main_~p~0.offset))} havoc #t~mem38; {4326#(= 3 (select (select |#memory_int| main_~p~0.base) main_~p~0.offset))} is VALID [2020-07-18 05:15:34,291 INFO L280 TraceCheckUtils]: 52: Hoare triple {4326#(= 3 (select (select |#memory_int| main_~p~0.base) main_~p~0.offset))} SUMMARY for call #t~mem40 := read~int(~p~0.base, ~p~0.offset, 4); srcloc: L606-5 {4327#(= |main_#t~mem40| 3)} is VALID [2020-07-18 05:15:34,291 INFO L280 TraceCheckUtils]: 53: Hoare triple {4327#(= |main_#t~mem40| 3)} assume 3 != #t~mem40; {4318#false} is VALID [2020-07-18 05:15:34,291 INFO L280 TraceCheckUtils]: 54: Hoare triple {4318#false} havoc #t~mem40; {4318#false} is VALID [2020-07-18 05:15:34,292 INFO L280 TraceCheckUtils]: 55: Hoare triple {4318#false} assume !false; {4318#false} is VALID [2020-07-18 05:15:34,296 INFO L134 CoverageAnalysis]: Checked inductivity of 1 backedges. 0 proven. 0 refuted. 0 times theorem prover too weak. 1 trivial. 0 not checked. [2020-07-18 05:15:34,296 INFO L354 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModulePreferences [323650445] [2020-07-18 05:15:34,297 INFO L220 FreeRefinementEngine]: Constructing automaton from 1 perfect and 0 imperfect interpolant sequences. [2020-07-18 05:15:34,297 INFO L233 FreeRefinementEngine]: Number of different interpolants: perfect sequences [7] imperfect sequences [] total 7 [2020-07-18 05:15:34,297 INFO L156 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [421316975] [2020-07-18 05:15:34,297 INFO L78 Accepts]: Start accepts. Automaton has 7 states. Word has length 56 [2020-07-18 05:15:34,298 INFO L84 Accepts]: Finished accepts. word is accepted. [2020-07-18 05:15:34,298 INFO L86 InductivityCheck]: Starting indutivity check of a Floyd-Hoare automaton with 7 states. [2020-07-18 05:15:34,346 INFO L119 InductivityCheck]: Floyd-Hoare automaton has 56 edges. 56 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2020-07-18 05:15:34,346 INFO L459 AbstractCegarLoop]: Interpolant automaton has 7 states [2020-07-18 05:15:34,346 INFO L143 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy FIXED_PREFERENCES [2020-07-18 05:15:34,347 INFO L142 InterpolantAutomaton]: Constructing interpolant automaton starting with 7 interpolants. [2020-07-18 05:15:34,347 INFO L144 InterpolantAutomaton]: CoverageRelationStatistics Valid=11, Invalid=31, Unknown=0, NotChecked=0, Total=42 [2020-07-18 05:15:34,347 INFO L87 Difference]: Start difference. First operand 202 states and 224 transitions. Second operand 7 states. [2020-07-18 05:15:35,867 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2020-07-18 05:15:35,868 INFO L93 Difference]: Finished difference Result 279 states and 306 transitions. [2020-07-18 05:15:35,868 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 8 states. [2020-07-18 05:15:35,868 INFO L78 Accepts]: Start accepts. Automaton has 7 states. Word has length 56 [2020-07-18 05:15:35,869 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2020-07-18 05:15:35,869 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 7 states. [2020-07-18 05:15:35,873 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 8 states to 8 states and 265 transitions. [2020-07-18 05:15:35,873 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 7 states. [2020-07-18 05:15:35,876 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 8 states to 8 states and 265 transitions. [2020-07-18 05:15:35,877 INFO L86 InductivityCheck]: Starting indutivity check of a Floyd-Hoare automaton with 8 states and 265 transitions. [2020-07-18 05:15:36,137 INFO L119 InductivityCheck]: Floyd-Hoare automaton has 265 edges. 265 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2020-07-18 05:15:36,145 INFO L225 Difference]: With dead ends: 279 [2020-07-18 05:15:36,145 INFO L226 Difference]: Without dead ends: 273 [2020-07-18 05:15:36,146 INFO L675 BasicCegarLoop]: 0 DeclaredPredicates, 10 GetRequests, 3 SyntacticMatches, 0 SemanticMatches, 7 ConstructedPredicates, 0 IntricatePredicates, 0 DeprecatedPredicates, 0 ImplicationChecksByTransitivity, 0.0s TimeCoverageRelationStatistics Valid=23, Invalid=49, Unknown=0, NotChecked=0, Total=72 [2020-07-18 05:15:36,147 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 273 states. [2020-07-18 05:15:36,490 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 273 to 215. [2020-07-18 05:15:36,490 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2020-07-18 05:15:36,490 INFO L82 GeneralOperation]: Start isEquivalent. First operand 273 states. Second operand 215 states. [2020-07-18 05:15:36,491 INFO L74 IsIncluded]: Start isIncluded. First operand 273 states. Second operand 215 states. [2020-07-18 05:15:36,491 INFO L87 Difference]: Start difference. First operand 273 states. Second operand 215 states. [2020-07-18 05:15:36,501 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2020-07-18 05:15:36,501 INFO L93 Difference]: Finished difference Result 273 states and 300 transitions. [2020-07-18 05:15:36,501 INFO L276 IsEmpty]: Start isEmpty. Operand 273 states and 300 transitions. [2020-07-18 05:15:36,502 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2020-07-18 05:15:36,502 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2020-07-18 05:15:36,502 INFO L74 IsIncluded]: Start isIncluded. First operand 215 states. Second operand 273 states. [2020-07-18 05:15:36,502 INFO L87 Difference]: Start difference. First operand 215 states. Second operand 273 states. [2020-07-18 05:15:36,511 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2020-07-18 05:15:36,511 INFO L93 Difference]: Finished difference Result 273 states and 300 transitions. [2020-07-18 05:15:36,511 INFO L276 IsEmpty]: Start isEmpty. Operand 273 states and 300 transitions. [2020-07-18 05:15:36,512 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2020-07-18 05:15:36,512 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2020-07-18 05:15:36,512 INFO L88 GeneralOperation]: Finished isEquivalent. [2020-07-18 05:15:36,513 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2020-07-18 05:15:36,513 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 215 states. [2020-07-18 05:15:36,519 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 215 states to 215 states and 240 transitions. [2020-07-18 05:15:36,520 INFO L78 Accepts]: Start accepts. Automaton has 215 states and 240 transitions. Word has length 56 [2020-07-18 05:15:36,520 INFO L84 Accepts]: Finished accepts. word is rejected. [2020-07-18 05:15:36,520 INFO L479 AbstractCegarLoop]: Abstraction has 215 states and 240 transitions. [2020-07-18 05:15:36,520 INFO L480 AbstractCegarLoop]: Interpolant automaton has 7 states. [2020-07-18 05:15:36,521 INFO L86 InductivityCheck]: Starting indutivity check of a Floyd-Hoare automaton with 215 states and 240 transitions. [2020-07-18 05:15:36,811 INFO L119 InductivityCheck]: Floyd-Hoare automaton has 240 edges. 240 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2020-07-18 05:15:36,811 INFO L276 IsEmpty]: Start isEmpty. Operand 215 states and 240 transitions. [2020-07-18 05:15:36,813 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 63 [2020-07-18 05:15:36,813 INFO L414 BasicCegarLoop]: Found error trace [2020-07-18 05:15:36,814 INFO L422 BasicCegarLoop]: trace histogram [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, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1] [2020-07-18 05:15:36,814 WARN L516 AbstractCegarLoop]: Destroyed unattended storables created during the last iteration: SelfDestructingSolverStorable3 [2020-07-18 05:15:36,815 INFO L427 AbstractCegarLoop]: === Iteration 5 === [mainErr0ASSERT_VIOLATIONERROR_FUNCTION]=== [2020-07-18 05:15:36,815 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2020-07-18 05:15:36,815 INFO L82 PathProgramCache]: Analyzing trace with hash 593034583, now seen corresponding path program 1 times [2020-07-18 05:15:36,816 INFO L163 FreeRefinementEngine]: Executing refinement strategy FIXED_PREFERENCES [2020-07-18 05:15:36,816 INFO L354 FreeRefinementEngine]: Using trace check IpTcStrategyModulePreferences [220725243] [2020-07-18 05:15:36,816 INFO L94 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2020-07-18 05:15:36,843 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2020-07-18 05:15:36,937 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2020-07-18 05:15:36,950 INFO L280 TraceCheckUtils]: 0: Hoare triple {5880#(and (= |#valid| |old(#valid)|) (= |#NULL.base| |old(#NULL.base)|) (= |#NULL.offset| |old(#NULL.offset)|))} #NULL.base, #NULL.offset := 0, 0; {5869#true} is VALID [2020-07-18 05:15:36,950 INFO L280 TraceCheckUtils]: 1: Hoare triple {5869#true} #valid := #valid[0 := 0]; {5869#true} is VALID [2020-07-18 05:15:36,950 INFO L280 TraceCheckUtils]: 2: Hoare triple {5869#true} assume 0 < #StackHeapBarrier; {5869#true} is VALID [2020-07-18 05:15:36,950 INFO L280 TraceCheckUtils]: 3: Hoare triple {5869#true} assume true; {5869#true} is VALID [2020-07-18 05:15:36,951 INFO L275 TraceCheckUtils]: 4: Hoare quadruple {5869#true} {5869#true} #349#return; {5869#true} is VALID [2020-07-18 05:15:36,952 INFO L263 TraceCheckUtils]: 0: Hoare triple {5869#true} call ULTIMATE.init(); {5880#(and (= |#valid| |old(#valid)|) (= |#NULL.base| |old(#NULL.base)|) (= |#NULL.offset| |old(#NULL.offset)|))} is VALID [2020-07-18 05:15:36,952 INFO L280 TraceCheckUtils]: 1: Hoare triple {5880#(and (= |#valid| |old(#valid)|) (= |#NULL.base| |old(#NULL.base)|) (= |#NULL.offset| |old(#NULL.offset)|))} #NULL.base, #NULL.offset := 0, 0; {5869#true} is VALID [2020-07-18 05:15:36,952 INFO L280 TraceCheckUtils]: 2: Hoare triple {5869#true} #valid := #valid[0 := 0]; {5869#true} is VALID [2020-07-18 05:15:36,953 INFO L280 TraceCheckUtils]: 3: Hoare triple {5869#true} assume 0 < #StackHeapBarrier; {5869#true} is VALID [2020-07-18 05:15:36,953 INFO L280 TraceCheckUtils]: 4: Hoare triple {5869#true} assume true; {5869#true} is VALID [2020-07-18 05:15:36,953 INFO L275 TraceCheckUtils]: 5: Hoare quadruple {5869#true} {5869#true} #349#return; {5869#true} is VALID [2020-07-18 05:15:36,953 INFO L263 TraceCheckUtils]: 6: Hoare triple {5869#true} call #t~ret41 := main(); {5869#true} is VALID [2020-07-18 05:15:36,954 INFO L280 TraceCheckUtils]: 7: Hoare triple {5869#true} SUMMARY for call #t~malloc2.base, #t~malloc2.offset := #Ultimate.allocOnHeap(8); srcloc: mainENTRY {5869#true} is VALID [2020-07-18 05:15:36,954 INFO L280 TraceCheckUtils]: 8: Hoare triple {5869#true} ~root~0.base, ~root~0.offset := #t~malloc2.base, #t~malloc2.offset; {5869#true} is VALID [2020-07-18 05:15:36,954 INFO L280 TraceCheckUtils]: 9: Hoare triple {5869#true} havoc ~n~0.base, ~n~0.offset; {5869#true} is VALID [2020-07-18 05:15:36,954 INFO L280 TraceCheckUtils]: 10: Hoare triple {5869#true} SUMMARY for call write~$Pointer$(0, 0, ~root~0.base, ~root~0.offset, 4); srcloc: L542 {5869#true} is VALID [2020-07-18 05:15:36,954 INFO L280 TraceCheckUtils]: 11: Hoare triple {5869#true} SUMMARY for call write~$Pointer$(0, 0, ~root~0.base, 4 + ~root~0.offset, 4); srcloc: L542-1 {5869#true} is VALID [2020-07-18 05:15:36,955 INFO L280 TraceCheckUtils]: 12: Hoare triple {5869#true} assume -2147483648 <= #t~nondet3 && #t~nondet3 <= 2147483647; {5869#true} is VALID [2020-07-18 05:15:36,955 INFO L280 TraceCheckUtils]: 13: Hoare triple {5869#true} assume !(0 != #t~nondet3); {5869#true} is VALID [2020-07-18 05:15:36,955 INFO L280 TraceCheckUtils]: 14: Hoare triple {5869#true} havoc #t~nondet3; {5869#true} is VALID [2020-07-18 05:15:36,955 INFO L280 TraceCheckUtils]: 15: Hoare triple {5869#true} ~n~0.base, ~n~0.offset := 0, 0; {5869#true} is VALID [2020-07-18 05:15:36,956 INFO L280 TraceCheckUtils]: 16: Hoare triple {5869#true} havoc ~pred~0.base, ~pred~0.offset; {5869#true} is VALID [2020-07-18 05:15:36,956 INFO L280 TraceCheckUtils]: 17: Hoare triple {5869#true} assume !!(~root~0.base != 0 || ~root~0.offset != 0); {5869#true} is VALID [2020-07-18 05:15:36,956 INFO L280 TraceCheckUtils]: 18: Hoare triple {5869#true} ~pred~0.base, ~pred~0.offset := 0, 0; {5869#true} is VALID [2020-07-18 05:15:36,956 INFO L280 TraceCheckUtils]: 19: Hoare triple {5869#true} ~n~0.base, ~n~0.offset := ~root~0.base, ~root~0.offset; {5869#true} is VALID [2020-07-18 05:15:36,956 INFO L280 TraceCheckUtils]: 20: Hoare triple {5869#true} SUMMARY for call #t~mem22.base, #t~mem22.offset := read~$Pointer$(~n~0.base, ~n~0.offset, 4); srcloc: L570-5 {5869#true} is VALID [2020-07-18 05:15:36,957 INFO L280 TraceCheckUtils]: 21: Hoare triple {5869#true} #t~short24 := #t~mem22.base != 0 || #t~mem22.offset != 0; {5869#true} is VALID [2020-07-18 05:15:36,957 INFO L280 TraceCheckUtils]: 22: Hoare triple {5869#true} assume !#t~short24; {5869#true} is VALID [2020-07-18 05:15:36,957 INFO L280 TraceCheckUtils]: 23: Hoare triple {5869#true} SUMMARY for call #t~mem23.base, #t~mem23.offset := read~$Pointer$(~n~0.base, 4 + ~n~0.offset, 4); srcloc: L568-4 {5869#true} is VALID [2020-07-18 05:15:36,957 INFO L280 TraceCheckUtils]: 24: Hoare triple {5869#true} #t~short24 := #t~mem23.base != 0 || #t~mem23.offset != 0; {5869#true} is VALID [2020-07-18 05:15:36,958 INFO L280 TraceCheckUtils]: 25: Hoare triple {5869#true} assume !#t~short24; {5869#true} is VALID [2020-07-18 05:15:36,958 INFO L280 TraceCheckUtils]: 26: Hoare triple {5869#true} havoc #t~mem22.base, #t~mem22.offset; {5869#true} is VALID [2020-07-18 05:15:36,958 INFO L280 TraceCheckUtils]: 27: Hoare triple {5869#true} havoc #t~mem23.base, #t~mem23.offset; {5869#true} is VALID [2020-07-18 05:15:36,958 INFO L280 TraceCheckUtils]: 28: Hoare triple {5869#true} havoc #t~short24; {5869#true} is VALID [2020-07-18 05:15:36,958 INFO L280 TraceCheckUtils]: 29: Hoare triple {5869#true} assume !(~pred~0.base != 0 || ~pred~0.offset != 0); {5869#true} is VALID [2020-07-18 05:15:36,959 INFO L280 TraceCheckUtils]: 30: Hoare triple {5869#true} ~root~0.base, ~root~0.offset := 0, 0; {5869#true} is VALID [2020-07-18 05:15:36,959 INFO L280 TraceCheckUtils]: 31: Hoare triple {5869#true} SUMMARY for call ULTIMATE.dealloc(~n~0.base, ~n~0.offset); srcloc: L575 {5869#true} is VALID [2020-07-18 05:15:36,959 INFO L280 TraceCheckUtils]: 32: Hoare triple {5869#true} assume !(~root~0.base != 0 || ~root~0.offset != 0); {5869#true} is VALID [2020-07-18 05:15:36,959 INFO L280 TraceCheckUtils]: 33: Hoare triple {5869#true} SUMMARY for call #t~malloc29.base, #t~malloc29.offset := #Ultimate.allocOnHeap(8); srcloc: L565-2 {5869#true} is VALID [2020-07-18 05:15:36,960 INFO L280 TraceCheckUtils]: 34: Hoare triple {5869#true} ~a~0.base, ~a~0.offset := #t~malloc29.base, #t~malloc29.offset; {5869#true} is VALID [2020-07-18 05:15:36,960 INFO L280 TraceCheckUtils]: 35: Hoare triple {5869#true} assume !(~a~0.base == 0 && ~a~0.offset == 0); {5869#true} is VALID [2020-07-18 05:15:36,960 INFO L280 TraceCheckUtils]: 36: Hoare triple {5869#true} havoc ~t~0.base, ~t~0.offset; {5869#true} is VALID [2020-07-18 05:15:36,961 INFO L280 TraceCheckUtils]: 37: Hoare triple {5869#true} ~p~0.base, ~p~0.offset := ~a~0.base, ~a~0.offset; {5876#(and (= main_~a~0.base main_~p~0.base) (= main_~a~0.offset main_~p~0.offset))} is VALID [2020-07-18 05:15:36,962 INFO L280 TraceCheckUtils]: 38: Hoare triple {5876#(and (= main_~a~0.base main_~p~0.base) (= main_~a~0.offset main_~p~0.offset))} assume -2147483648 <= #t~nondet30 && #t~nondet30 <= 2147483647; {5876#(and (= main_~a~0.base main_~p~0.base) (= main_~a~0.offset main_~p~0.offset))} is VALID [2020-07-18 05:15:36,962 INFO L280 TraceCheckUtils]: 39: Hoare triple {5876#(and (= main_~a~0.base main_~p~0.base) (= main_~a~0.offset main_~p~0.offset))} assume !(0 != #t~nondet30); {5876#(and (= main_~a~0.base main_~p~0.base) (= main_~a~0.offset main_~p~0.offset))} is VALID [2020-07-18 05:15:36,963 INFO L280 TraceCheckUtils]: 40: Hoare triple {5876#(and (= main_~a~0.base main_~p~0.base) (= main_~a~0.offset main_~p~0.offset))} havoc #t~nondet30; {5876#(and (= main_~a~0.base main_~p~0.base) (= main_~a~0.offset main_~p~0.offset))} is VALID [2020-07-18 05:15:36,964 INFO L280 TraceCheckUtils]: 41: Hoare triple {5876#(and (= main_~a~0.base main_~p~0.base) (= main_~a~0.offset main_~p~0.offset))} assume -2147483648 <= #t~nondet33 && #t~nondet33 <= 2147483647; {5876#(and (= main_~a~0.base main_~p~0.base) (= main_~a~0.offset main_~p~0.offset))} is VALID [2020-07-18 05:15:36,964 INFO L280 TraceCheckUtils]: 42: Hoare triple {5876#(and (= main_~a~0.base main_~p~0.base) (= main_~a~0.offset main_~p~0.offset))} assume !(0 != #t~nondet33); {5876#(and (= main_~a~0.base main_~p~0.base) (= main_~a~0.offset main_~p~0.offset))} is VALID [2020-07-18 05:15:36,965 INFO L280 TraceCheckUtils]: 43: Hoare triple {5876#(and (= main_~a~0.base main_~p~0.base) (= main_~a~0.offset main_~p~0.offset))} havoc #t~nondet33; {5876#(and (= main_~a~0.base main_~p~0.base) (= main_~a~0.offset main_~p~0.offset))} is VALID [2020-07-18 05:15:36,966 INFO L280 TraceCheckUtils]: 44: Hoare triple {5876#(and (= main_~a~0.base main_~p~0.base) (= main_~a~0.offset main_~p~0.offset))} SUMMARY for call write~int(3, ~p~0.base, ~p~0.offset, 4); srcloc: L595-5 {5877#(= 3 (select (select |#memory_int| main_~a~0.base) main_~a~0.offset))} is VALID [2020-07-18 05:15:36,967 INFO L280 TraceCheckUtils]: 45: Hoare triple {5877#(= 3 (select (select |#memory_int| main_~a~0.base) main_~a~0.offset))} ~p~0.base, ~p~0.offset := ~a~0.base, ~a~0.offset; {5878#(= 3 (select (select |#memory_int| main_~p~0.base) main_~p~0.offset))} is VALID [2020-07-18 05:15:36,968 INFO L280 TraceCheckUtils]: 46: Hoare triple {5878#(= 3 (select (select |#memory_int| main_~p~0.base) main_~p~0.offset))} SUMMARY for call #t~mem36 := read~int(~p~0.base, ~p~0.offset, 4); srcloc: L604-5 {5878#(= 3 (select (select |#memory_int| main_~p~0.base) main_~p~0.offset))} is VALID [2020-07-18 05:15:36,969 INFO L280 TraceCheckUtils]: 47: Hoare triple {5878#(= 3 (select (select |#memory_int| main_~p~0.base) main_~p~0.offset))} assume !(2 == #t~mem36); {5878#(= 3 (select (select |#memory_int| main_~p~0.base) main_~p~0.offset))} is VALID [2020-07-18 05:15:36,969 INFO L280 TraceCheckUtils]: 48: Hoare triple {5878#(= 3 (select (select |#memory_int| main_~p~0.base) main_~p~0.offset))} havoc #t~mem36; {5878#(= 3 (select (select |#memory_int| main_~p~0.base) main_~p~0.offset))} is VALID [2020-07-18 05:15:36,970 INFO L280 TraceCheckUtils]: 49: Hoare triple {5878#(= 3 (select (select |#memory_int| main_~p~0.base) main_~p~0.offset))} SUMMARY for call #t~mem38 := read~int(~p~0.base, ~p~0.offset, 4); srcloc: L606-4 {5879#(= |main_#t~mem38| 3)} is VALID [2020-07-18 05:15:36,971 INFO L280 TraceCheckUtils]: 50: Hoare triple {5879#(= |main_#t~mem38| 3)} assume !!(1 == #t~mem38); {5870#false} is VALID [2020-07-18 05:15:36,971 INFO L280 TraceCheckUtils]: 51: Hoare triple {5870#false} havoc #t~mem38; {5870#false} is VALID [2020-07-18 05:15:36,971 INFO L280 TraceCheckUtils]: 52: Hoare triple {5870#false} SUMMARY for call #t~mem39.base, #t~mem39.offset := read~$Pointer$(~p~0.base, 4 + ~p~0.offset, 4); srcloc: L607 {5870#false} is VALID [2020-07-18 05:15:36,972 INFO L280 TraceCheckUtils]: 53: Hoare triple {5870#false} ~p~0.base, ~p~0.offset := #t~mem39.base, #t~mem39.offset; {5870#false} is VALID [2020-07-18 05:15:36,972 INFO L280 TraceCheckUtils]: 54: Hoare triple {5870#false} havoc #t~mem39.base, #t~mem39.offset; {5870#false} is VALID [2020-07-18 05:15:36,972 INFO L280 TraceCheckUtils]: 55: Hoare triple {5870#false} SUMMARY for call #t~mem38 := read~int(~p~0.base, ~p~0.offset, 4); srcloc: L606-4 {5870#false} is VALID [2020-07-18 05:15:36,972 INFO L280 TraceCheckUtils]: 56: Hoare triple {5870#false} assume !(1 == #t~mem38); {5870#false} is VALID [2020-07-18 05:15:36,972 INFO L280 TraceCheckUtils]: 57: Hoare triple {5870#false} havoc #t~mem38; {5870#false} is VALID [2020-07-18 05:15:36,973 INFO L280 TraceCheckUtils]: 58: Hoare triple {5870#false} SUMMARY for call #t~mem40 := read~int(~p~0.base, ~p~0.offset, 4); srcloc: L606-5 {5870#false} is VALID [2020-07-18 05:15:36,973 INFO L280 TraceCheckUtils]: 59: Hoare triple {5870#false} assume 3 != #t~mem40; {5870#false} is VALID [2020-07-18 05:15:36,973 INFO L280 TraceCheckUtils]: 60: Hoare triple {5870#false} havoc #t~mem40; {5870#false} is VALID [2020-07-18 05:15:36,973 INFO L280 TraceCheckUtils]: 61: Hoare triple {5870#false} assume !false; {5870#false} is VALID [2020-07-18 05:15:36,977 INFO L134 CoverageAnalysis]: Checked inductivity of 3 backedges. 2 proven. 0 refuted. 0 times theorem prover too weak. 1 trivial. 0 not checked. [2020-07-18 05:15:36,977 INFO L354 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModulePreferences [220725243] [2020-07-18 05:15:36,977 INFO L220 FreeRefinementEngine]: Constructing automaton from 1 perfect and 0 imperfect interpolant sequences. [2020-07-18 05:15:36,978 INFO L233 FreeRefinementEngine]: Number of different interpolants: perfect sequences [7] imperfect sequences [] total 7 [2020-07-18 05:15:36,978 INFO L156 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [78167159] [2020-07-18 05:15:36,978 INFO L78 Accepts]: Start accepts. Automaton has 7 states. Word has length 62 [2020-07-18 05:15:36,979 INFO L84 Accepts]: Finished accepts. word is accepted. [2020-07-18 05:15:36,979 INFO L86 InductivityCheck]: Starting indutivity check of a Floyd-Hoare automaton with 7 states. [2020-07-18 05:15:37,039 INFO L119 InductivityCheck]: Floyd-Hoare automaton has 62 edges. 62 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2020-07-18 05:15:37,039 INFO L459 AbstractCegarLoop]: Interpolant automaton has 7 states [2020-07-18 05:15:37,039 INFO L143 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy FIXED_PREFERENCES [2020-07-18 05:15:37,040 INFO L142 InterpolantAutomaton]: Constructing interpolant automaton starting with 7 interpolants. [2020-07-18 05:15:37,040 INFO L144 InterpolantAutomaton]: CoverageRelationStatistics Valid=11, Invalid=31, Unknown=0, NotChecked=0, Total=42 [2020-07-18 05:15:37,040 INFO L87 Difference]: Start difference. First operand 215 states and 240 transitions. Second operand 7 states. [2020-07-18 05:15:38,700 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2020-07-18 05:15:38,700 INFO L93 Difference]: Finished difference Result 282 states and 309 transitions. [2020-07-18 05:15:38,700 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 8 states. [2020-07-18 05:15:38,701 INFO L78 Accepts]: Start accepts. Automaton has 7 states. Word has length 62 [2020-07-18 05:15:38,704 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2020-07-18 05:15:38,704 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 7 states. [2020-07-18 05:15:38,712 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 8 states to 8 states and 268 transitions. [2020-07-18 05:15:38,717 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 7 states. [2020-07-18 05:15:38,730 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 8 states to 8 states and 268 transitions. [2020-07-18 05:15:38,730 INFO L86 InductivityCheck]: Starting indutivity check of a Floyd-Hoare automaton with 8 states and 268 transitions. [2020-07-18 05:15:38,991 INFO L119 InductivityCheck]: Floyd-Hoare automaton has 268 edges. 268 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2020-07-18 05:15:38,997 INFO L225 Difference]: With dead ends: 282 [2020-07-18 05:15:38,997 INFO L226 Difference]: Without dead ends: 267 [2020-07-18 05:15:38,998 INFO L675 BasicCegarLoop]: 0 DeclaredPredicates, 10 GetRequests, 3 SyntacticMatches, 0 SemanticMatches, 7 ConstructedPredicates, 0 IntricatePredicates, 0 DeprecatedPredicates, 0 ImplicationChecksByTransitivity, 0.0s TimeCoverageRelationStatistics Valid=23, Invalid=49, Unknown=0, NotChecked=0, Total=72 [2020-07-18 05:15:38,999 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 267 states. [2020-07-18 05:15:39,311 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 267 to 212. [2020-07-18 05:15:39,312 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2020-07-18 05:15:39,312 INFO L82 GeneralOperation]: Start isEquivalent. First operand 267 states. Second operand 212 states. [2020-07-18 05:15:39,312 INFO L74 IsIncluded]: Start isIncluded. First operand 267 states. Second operand 212 states. [2020-07-18 05:15:39,312 INFO L87 Difference]: Start difference. First operand 267 states. Second operand 212 states. [2020-07-18 05:15:39,321 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2020-07-18 05:15:39,321 INFO L93 Difference]: Finished difference Result 267 states and 293 transitions. [2020-07-18 05:15:39,321 INFO L276 IsEmpty]: Start isEmpty. Operand 267 states and 293 transitions. [2020-07-18 05:15:39,322 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2020-07-18 05:15:39,322 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2020-07-18 05:15:39,322 INFO L74 IsIncluded]: Start isIncluded. First operand 212 states. Second operand 267 states. [2020-07-18 05:15:39,322 INFO L87 Difference]: Start difference. First operand 212 states. Second operand 267 states. [2020-07-18 05:15:39,331 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2020-07-18 05:15:39,331 INFO L93 Difference]: Finished difference Result 267 states and 293 transitions. [2020-07-18 05:15:39,331 INFO L276 IsEmpty]: Start isEmpty. Operand 267 states and 293 transitions. [2020-07-18 05:15:39,332 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2020-07-18 05:15:39,332 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2020-07-18 05:15:39,332 INFO L88 GeneralOperation]: Finished isEquivalent. [2020-07-18 05:15:39,333 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2020-07-18 05:15:39,333 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 212 states. [2020-07-18 05:15:39,340 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 212 states to 212 states and 236 transitions. [2020-07-18 05:15:39,340 INFO L78 Accepts]: Start accepts. Automaton has 212 states and 236 transitions. Word has length 62 [2020-07-18 05:15:39,340 INFO L84 Accepts]: Finished accepts. word is rejected. [2020-07-18 05:15:39,340 INFO L479 AbstractCegarLoop]: Abstraction has 212 states and 236 transitions. [2020-07-18 05:15:39,340 INFO L480 AbstractCegarLoop]: Interpolant automaton has 7 states. [2020-07-18 05:15:39,341 INFO L86 InductivityCheck]: Starting indutivity check of a Floyd-Hoare automaton with 212 states and 236 transitions. [2020-07-18 05:15:39,635 INFO L119 InductivityCheck]: Floyd-Hoare automaton has 236 edges. 236 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2020-07-18 05:15:39,635 INFO L276 IsEmpty]: Start isEmpty. Operand 212 states and 236 transitions. [2020-07-18 05:15:39,637 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 63 [2020-07-18 05:15:39,637 INFO L414 BasicCegarLoop]: Found error trace [2020-07-18 05:15:39,637 INFO L422 BasicCegarLoop]: trace histogram [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, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1] [2020-07-18 05:15:39,637 WARN L516 AbstractCegarLoop]: Destroyed unattended storables created during the last iteration: SelfDestructingSolverStorable4 [2020-07-18 05:15:39,638 INFO L427 AbstractCegarLoop]: === Iteration 6 === [mainErr0ASSERT_VIOLATIONERROR_FUNCTION]=== [2020-07-18 05:15:39,638 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2020-07-18 05:15:39,638 INFO L82 PathProgramCache]: Analyzing trace with hash 1629716359, now seen corresponding path program 1 times [2020-07-18 05:15:39,638 INFO L163 FreeRefinementEngine]: Executing refinement strategy FIXED_PREFERENCES [2020-07-18 05:15:39,638 INFO L354 FreeRefinementEngine]: Using trace check IpTcStrategyModulePreferences [263998867] [2020-07-18 05:15:39,638 INFO L94 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2020-07-18 05:15:39,656 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2020-07-18 05:15:39,762 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2020-07-18 05:15:39,769 INFO L280 TraceCheckUtils]: 0: Hoare triple {7420#(and (= |#valid| |old(#valid)|) (= |#NULL.base| |old(#NULL.base)|) (= |#NULL.offset| |old(#NULL.offset)|))} #NULL.base, #NULL.offset := 0, 0; {7409#true} is VALID [2020-07-18 05:15:39,770 INFO L280 TraceCheckUtils]: 1: Hoare triple {7409#true} #valid := #valid[0 := 0]; {7409#true} is VALID [2020-07-18 05:15:39,770 INFO L280 TraceCheckUtils]: 2: Hoare triple {7409#true} assume 0 < #StackHeapBarrier; {7409#true} is VALID [2020-07-18 05:15:39,770 INFO L280 TraceCheckUtils]: 3: Hoare triple {7409#true} assume true; {7409#true} is VALID [2020-07-18 05:15:39,770 INFO L275 TraceCheckUtils]: 4: Hoare quadruple {7409#true} {7409#true} #349#return; {7409#true} is VALID [2020-07-18 05:15:39,772 INFO L263 TraceCheckUtils]: 0: Hoare triple {7409#true} call ULTIMATE.init(); {7420#(and (= |#valid| |old(#valid)|) (= |#NULL.base| |old(#NULL.base)|) (= |#NULL.offset| |old(#NULL.offset)|))} is VALID [2020-07-18 05:15:39,772 INFO L280 TraceCheckUtils]: 1: Hoare triple {7420#(and (= |#valid| |old(#valid)|) (= |#NULL.base| |old(#NULL.base)|) (= |#NULL.offset| |old(#NULL.offset)|))} #NULL.base, #NULL.offset := 0, 0; {7409#true} is VALID [2020-07-18 05:15:39,772 INFO L280 TraceCheckUtils]: 2: Hoare triple {7409#true} #valid := #valid[0 := 0]; {7409#true} is VALID [2020-07-18 05:15:39,773 INFO L280 TraceCheckUtils]: 3: Hoare triple {7409#true} assume 0 < #StackHeapBarrier; {7409#true} is VALID [2020-07-18 05:15:39,773 INFO L280 TraceCheckUtils]: 4: Hoare triple {7409#true} assume true; {7409#true} is VALID [2020-07-18 05:15:39,773 INFO L275 TraceCheckUtils]: 5: Hoare quadruple {7409#true} {7409#true} #349#return; {7409#true} is VALID [2020-07-18 05:15:39,773 INFO L263 TraceCheckUtils]: 6: Hoare triple {7409#true} call #t~ret41 := main(); {7409#true} is VALID [2020-07-18 05:15:39,774 INFO L280 TraceCheckUtils]: 7: Hoare triple {7409#true} SUMMARY for call #t~malloc2.base, #t~malloc2.offset := #Ultimate.allocOnHeap(8); srcloc: mainENTRY {7409#true} is VALID [2020-07-18 05:15:39,774 INFO L280 TraceCheckUtils]: 8: Hoare triple {7409#true} ~root~0.base, ~root~0.offset := #t~malloc2.base, #t~malloc2.offset; {7409#true} is VALID [2020-07-18 05:15:39,774 INFO L280 TraceCheckUtils]: 9: Hoare triple {7409#true} havoc ~n~0.base, ~n~0.offset; {7409#true} is VALID [2020-07-18 05:15:39,774 INFO L280 TraceCheckUtils]: 10: Hoare triple {7409#true} SUMMARY for call write~$Pointer$(0, 0, ~root~0.base, ~root~0.offset, 4); srcloc: L542 {7409#true} is VALID [2020-07-18 05:15:39,774 INFO L280 TraceCheckUtils]: 11: Hoare triple {7409#true} SUMMARY for call write~$Pointer$(0, 0, ~root~0.base, 4 + ~root~0.offset, 4); srcloc: L542-1 {7409#true} is VALID [2020-07-18 05:15:39,775 INFO L280 TraceCheckUtils]: 12: Hoare triple {7409#true} assume -2147483648 <= #t~nondet3 && #t~nondet3 <= 2147483647; {7409#true} is VALID [2020-07-18 05:15:39,775 INFO L280 TraceCheckUtils]: 13: Hoare triple {7409#true} assume !(0 != #t~nondet3); {7409#true} is VALID [2020-07-18 05:15:39,775 INFO L280 TraceCheckUtils]: 14: Hoare triple {7409#true} havoc #t~nondet3; {7409#true} is VALID [2020-07-18 05:15:39,775 INFO L280 TraceCheckUtils]: 15: Hoare triple {7409#true} ~n~0.base, ~n~0.offset := 0, 0; {7409#true} is VALID [2020-07-18 05:15:39,776 INFO L280 TraceCheckUtils]: 16: Hoare triple {7409#true} havoc ~pred~0.base, ~pred~0.offset; {7409#true} is VALID [2020-07-18 05:15:39,777 INFO L280 TraceCheckUtils]: 17: Hoare triple {7409#true} assume !!(~root~0.base != 0 || ~root~0.offset != 0); {7409#true} is VALID [2020-07-18 05:15:39,777 INFO L280 TraceCheckUtils]: 18: Hoare triple {7409#true} ~pred~0.base, ~pred~0.offset := 0, 0; {7409#true} is VALID [2020-07-18 05:15:39,777 INFO L280 TraceCheckUtils]: 19: Hoare triple {7409#true} ~n~0.base, ~n~0.offset := ~root~0.base, ~root~0.offset; {7409#true} is VALID [2020-07-18 05:15:39,778 INFO L280 TraceCheckUtils]: 20: Hoare triple {7409#true} SUMMARY for call #t~mem22.base, #t~mem22.offset := read~$Pointer$(~n~0.base, ~n~0.offset, 4); srcloc: L570-5 {7409#true} is VALID [2020-07-18 05:15:39,778 INFO L280 TraceCheckUtils]: 21: Hoare triple {7409#true} #t~short24 := #t~mem22.base != 0 || #t~mem22.offset != 0; {7409#true} is VALID [2020-07-18 05:15:39,778 INFO L280 TraceCheckUtils]: 22: Hoare triple {7409#true} assume !#t~short24; {7409#true} is VALID [2020-07-18 05:15:39,778 INFO L280 TraceCheckUtils]: 23: Hoare triple {7409#true} SUMMARY for call #t~mem23.base, #t~mem23.offset := read~$Pointer$(~n~0.base, 4 + ~n~0.offset, 4); srcloc: L568-4 {7409#true} is VALID [2020-07-18 05:15:39,778 INFO L280 TraceCheckUtils]: 24: Hoare triple {7409#true} #t~short24 := #t~mem23.base != 0 || #t~mem23.offset != 0; {7409#true} is VALID [2020-07-18 05:15:39,779 INFO L280 TraceCheckUtils]: 25: Hoare triple {7409#true} assume !#t~short24; {7409#true} is VALID [2020-07-18 05:15:39,779 INFO L280 TraceCheckUtils]: 26: Hoare triple {7409#true} havoc #t~mem22.base, #t~mem22.offset; {7409#true} is VALID [2020-07-18 05:15:39,779 INFO L280 TraceCheckUtils]: 27: Hoare triple {7409#true} havoc #t~mem23.base, #t~mem23.offset; {7409#true} is VALID [2020-07-18 05:15:39,779 INFO L280 TraceCheckUtils]: 28: Hoare triple {7409#true} havoc #t~short24; {7409#true} is VALID [2020-07-18 05:15:39,779 INFO L280 TraceCheckUtils]: 29: Hoare triple {7409#true} assume !(~pred~0.base != 0 || ~pred~0.offset != 0); {7409#true} is VALID [2020-07-18 05:15:39,780 INFO L280 TraceCheckUtils]: 30: Hoare triple {7409#true} ~root~0.base, ~root~0.offset := 0, 0; {7409#true} is VALID [2020-07-18 05:15:39,780 INFO L280 TraceCheckUtils]: 31: Hoare triple {7409#true} SUMMARY for call ULTIMATE.dealloc(~n~0.base, ~n~0.offset); srcloc: L575 {7409#true} is VALID [2020-07-18 05:15:39,780 INFO L280 TraceCheckUtils]: 32: Hoare triple {7409#true} assume !(~root~0.base != 0 || ~root~0.offset != 0); {7409#true} is VALID [2020-07-18 05:15:39,780 INFO L280 TraceCheckUtils]: 33: Hoare triple {7409#true} SUMMARY for call #t~malloc29.base, #t~malloc29.offset := #Ultimate.allocOnHeap(8); srcloc: L565-2 {7409#true} is VALID [2020-07-18 05:15:39,780 INFO L280 TraceCheckUtils]: 34: Hoare triple {7409#true} ~a~0.base, ~a~0.offset := #t~malloc29.base, #t~malloc29.offset; {7409#true} is VALID [2020-07-18 05:15:39,781 INFO L280 TraceCheckUtils]: 35: Hoare triple {7409#true} assume !(~a~0.base == 0 && ~a~0.offset == 0); {7409#true} is VALID [2020-07-18 05:15:39,781 INFO L280 TraceCheckUtils]: 36: Hoare triple {7409#true} havoc ~t~0.base, ~t~0.offset; {7409#true} is VALID [2020-07-18 05:15:39,782 INFO L280 TraceCheckUtils]: 37: Hoare triple {7409#true} ~p~0.base, ~p~0.offset := ~a~0.base, ~a~0.offset; {7416#(and (= main_~a~0.base main_~p~0.base) (= main_~a~0.offset main_~p~0.offset))} is VALID [2020-07-18 05:15:39,782 INFO L280 TraceCheckUtils]: 38: Hoare triple {7416#(and (= main_~a~0.base main_~p~0.base) (= main_~a~0.offset main_~p~0.offset))} assume -2147483648 <= #t~nondet30 && #t~nondet30 <= 2147483647; {7416#(and (= main_~a~0.base main_~p~0.base) (= main_~a~0.offset main_~p~0.offset))} is VALID [2020-07-18 05:15:39,783 INFO L280 TraceCheckUtils]: 39: Hoare triple {7416#(and (= main_~a~0.base main_~p~0.base) (= main_~a~0.offset main_~p~0.offset))} assume !(0 != #t~nondet30); {7416#(and (= main_~a~0.base main_~p~0.base) (= main_~a~0.offset main_~p~0.offset))} is VALID [2020-07-18 05:15:39,783 INFO L280 TraceCheckUtils]: 40: Hoare triple {7416#(and (= main_~a~0.base main_~p~0.base) (= main_~a~0.offset main_~p~0.offset))} havoc #t~nondet30; {7416#(and (= main_~a~0.base main_~p~0.base) (= main_~a~0.offset main_~p~0.offset))} is VALID [2020-07-18 05:15:39,784 INFO L280 TraceCheckUtils]: 41: Hoare triple {7416#(and (= main_~a~0.base main_~p~0.base) (= main_~a~0.offset main_~p~0.offset))} assume -2147483648 <= #t~nondet33 && #t~nondet33 <= 2147483647; {7416#(and (= main_~a~0.base main_~p~0.base) (= main_~a~0.offset main_~p~0.offset))} is VALID [2020-07-18 05:15:39,788 INFO L280 TraceCheckUtils]: 42: Hoare triple {7416#(and (= main_~a~0.base main_~p~0.base) (= main_~a~0.offset main_~p~0.offset))} assume !(0 != #t~nondet33); {7416#(and (= main_~a~0.base main_~p~0.base) (= main_~a~0.offset main_~p~0.offset))} is VALID [2020-07-18 05:15:39,789 INFO L280 TraceCheckUtils]: 43: Hoare triple {7416#(and (= main_~a~0.base main_~p~0.base) (= main_~a~0.offset main_~p~0.offset))} havoc #t~nondet33; {7416#(and (= main_~a~0.base main_~p~0.base) (= main_~a~0.offset main_~p~0.offset))} is VALID [2020-07-18 05:15:39,790 INFO L280 TraceCheckUtils]: 44: Hoare triple {7416#(and (= main_~a~0.base main_~p~0.base) (= main_~a~0.offset main_~p~0.offset))} SUMMARY for call write~int(3, ~p~0.base, ~p~0.offset, 4); srcloc: L595-5 {7417#(= 3 (select (select |#memory_int| main_~a~0.base) main_~a~0.offset))} is VALID [2020-07-18 05:15:39,792 INFO L280 TraceCheckUtils]: 45: Hoare triple {7417#(= 3 (select (select |#memory_int| main_~a~0.base) main_~a~0.offset))} ~p~0.base, ~p~0.offset := ~a~0.base, ~a~0.offset; {7418#(= 3 (select (select |#memory_int| main_~p~0.base) main_~p~0.offset))} is VALID [2020-07-18 05:15:39,792 INFO L280 TraceCheckUtils]: 46: Hoare triple {7418#(= 3 (select (select |#memory_int| main_~p~0.base) main_~p~0.offset))} SUMMARY for call #t~mem36 := read~int(~p~0.base, ~p~0.offset, 4); srcloc: L604-5 {7419#(= |main_#t~mem36| 3)} is VALID [2020-07-18 05:15:39,793 INFO L280 TraceCheckUtils]: 47: Hoare triple {7419#(= |main_#t~mem36| 3)} assume !!(2 == #t~mem36); {7410#false} is VALID [2020-07-18 05:15:39,793 INFO L280 TraceCheckUtils]: 48: Hoare triple {7410#false} havoc #t~mem36; {7410#false} is VALID [2020-07-18 05:15:39,794 INFO L280 TraceCheckUtils]: 49: Hoare triple {7410#false} SUMMARY for call #t~mem37.base, #t~mem37.offset := read~$Pointer$(~p~0.base, 4 + ~p~0.offset, 4); srcloc: L605 {7410#false} is VALID [2020-07-18 05:15:39,794 INFO L280 TraceCheckUtils]: 50: Hoare triple {7410#false} ~p~0.base, ~p~0.offset := #t~mem37.base, #t~mem37.offset; {7410#false} is VALID [2020-07-18 05:15:39,794 INFO L280 TraceCheckUtils]: 51: Hoare triple {7410#false} havoc #t~mem37.base, #t~mem37.offset; {7410#false} is VALID [2020-07-18 05:15:39,794 INFO L280 TraceCheckUtils]: 52: Hoare triple {7410#false} SUMMARY for call #t~mem36 := read~int(~p~0.base, ~p~0.offset, 4); srcloc: L604-5 {7410#false} is VALID [2020-07-18 05:15:39,794 INFO L280 TraceCheckUtils]: 53: Hoare triple {7410#false} assume !(2 == #t~mem36); {7410#false} is VALID [2020-07-18 05:15:39,795 INFO L280 TraceCheckUtils]: 54: Hoare triple {7410#false} havoc #t~mem36; {7410#false} is VALID [2020-07-18 05:15:39,795 INFO L280 TraceCheckUtils]: 55: Hoare triple {7410#false} SUMMARY for call #t~mem38 := read~int(~p~0.base, ~p~0.offset, 4); srcloc: L606-4 {7410#false} is VALID [2020-07-18 05:15:39,795 INFO L280 TraceCheckUtils]: 56: Hoare triple {7410#false} assume !(1 == #t~mem38); {7410#false} is VALID [2020-07-18 05:15:39,795 INFO L280 TraceCheckUtils]: 57: Hoare triple {7410#false} havoc #t~mem38; {7410#false} is VALID [2020-07-18 05:15:39,795 INFO L280 TraceCheckUtils]: 58: Hoare triple {7410#false} SUMMARY for call #t~mem40 := read~int(~p~0.base, ~p~0.offset, 4); srcloc: L606-5 {7410#false} is VALID [2020-07-18 05:15:39,795 INFO L280 TraceCheckUtils]: 59: Hoare triple {7410#false} assume 3 != #t~mem40; {7410#false} is VALID [2020-07-18 05:15:39,796 INFO L280 TraceCheckUtils]: 60: Hoare triple {7410#false} havoc #t~mem40; {7410#false} is VALID [2020-07-18 05:15:39,796 INFO L280 TraceCheckUtils]: 61: Hoare triple {7410#false} assume !false; {7410#false} is VALID [2020-07-18 05:15:39,798 INFO L134 CoverageAnalysis]: Checked inductivity of 3 backedges. 2 proven. 0 refuted. 0 times theorem prover too weak. 1 trivial. 0 not checked. [2020-07-18 05:15:39,799 INFO L354 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModulePreferences [263998867] [2020-07-18 05:15:39,799 INFO L220 FreeRefinementEngine]: Constructing automaton from 1 perfect and 0 imperfect interpolant sequences. [2020-07-18 05:15:39,799 INFO L233 FreeRefinementEngine]: Number of different interpolants: perfect sequences [7] imperfect sequences [] total 7 [2020-07-18 05:15:39,799 INFO L156 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [252242251] [2020-07-18 05:15:39,800 INFO L78 Accepts]: Start accepts. Automaton has 7 states. Word has length 62 [2020-07-18 05:15:39,800 INFO L84 Accepts]: Finished accepts. word is accepted. [2020-07-18 05:15:39,800 INFO L86 InductivityCheck]: Starting indutivity check of a Floyd-Hoare automaton with 7 states. [2020-07-18 05:15:39,860 INFO L119 InductivityCheck]: Floyd-Hoare automaton has 62 edges. 62 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2020-07-18 05:15:39,861 INFO L459 AbstractCegarLoop]: Interpolant automaton has 7 states [2020-07-18 05:15:39,861 INFO L143 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy FIXED_PREFERENCES [2020-07-18 05:15:39,861 INFO L142 InterpolantAutomaton]: Constructing interpolant automaton starting with 7 interpolants. [2020-07-18 05:15:39,861 INFO L144 InterpolantAutomaton]: CoverageRelationStatistics Valid=11, Invalid=31, Unknown=0, NotChecked=0, Total=42 [2020-07-18 05:15:39,862 INFO L87 Difference]: Start difference. First operand 212 states and 236 transitions. Second operand 7 states. [2020-07-18 05:15:41,296 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2020-07-18 05:15:41,296 INFO L93 Difference]: Finished difference Result 264 states and 290 transitions. [2020-07-18 05:15:41,296 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 7 states. [2020-07-18 05:15:41,297 INFO L78 Accepts]: Start accepts. Automaton has 7 states. Word has length 62 [2020-07-18 05:15:41,297 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2020-07-18 05:15:41,297 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 7 states. [2020-07-18 05:15:41,300 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 7 states to 7 states and 249 transitions. [2020-07-18 05:15:41,301 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 7 states. [2020-07-18 05:15:41,305 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 7 states to 7 states and 249 transitions. [2020-07-18 05:15:41,305 INFO L86 InductivityCheck]: Starting indutivity check of a Floyd-Hoare automaton with 7 states and 249 transitions. [2020-07-18 05:15:41,555 INFO L119 InductivityCheck]: Floyd-Hoare automaton has 249 edges. 249 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2020-07-18 05:15:41,560 INFO L225 Difference]: With dead ends: 264 [2020-07-18 05:15:41,560 INFO L226 Difference]: Without dead ends: 240 [2020-07-18 05:15:41,561 INFO L675 BasicCegarLoop]: 0 DeclaredPredicates, 10 GetRequests, 3 SyntacticMatches, 0 SemanticMatches, 7 ConstructedPredicates, 0 IntricatePredicates, 0 DeprecatedPredicates, 0 ImplicationChecksByTransitivity, 0.0s TimeCoverageRelationStatistics Valid=23, Invalid=49, Unknown=0, NotChecked=0, Total=72 [2020-07-18 05:15:41,562 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 240 states. [2020-07-18 05:15:41,841 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 240 to 207. [2020-07-18 05:15:41,841 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2020-07-18 05:15:41,841 INFO L82 GeneralOperation]: Start isEquivalent. First operand 240 states. Second operand 207 states. [2020-07-18 05:15:41,841 INFO L74 IsIncluded]: Start isIncluded. First operand 240 states. Second operand 207 states. [2020-07-18 05:15:41,842 INFO L87 Difference]: Start difference. First operand 240 states. Second operand 207 states. [2020-07-18 05:15:41,847 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2020-07-18 05:15:41,848 INFO L93 Difference]: Finished difference Result 240 states and 264 transitions. [2020-07-18 05:15:41,848 INFO L276 IsEmpty]: Start isEmpty. Operand 240 states and 264 transitions. [2020-07-18 05:15:41,849 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2020-07-18 05:15:41,849 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2020-07-18 05:15:41,849 INFO L74 IsIncluded]: Start isIncluded. First operand 207 states. Second operand 240 states. [2020-07-18 05:15:41,849 INFO L87 Difference]: Start difference. First operand 207 states. Second operand 240 states. [2020-07-18 05:15:41,855 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2020-07-18 05:15:41,855 INFO L93 Difference]: Finished difference Result 240 states and 264 transitions. [2020-07-18 05:15:41,855 INFO L276 IsEmpty]: Start isEmpty. Operand 240 states and 264 transitions. [2020-07-18 05:15:41,856 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2020-07-18 05:15:41,856 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2020-07-18 05:15:41,856 INFO L88 GeneralOperation]: Finished isEquivalent. [2020-07-18 05:15:41,856 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2020-07-18 05:15:41,856 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 207 states. [2020-07-18 05:15:41,861 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 207 states to 207 states and 230 transitions. [2020-07-18 05:15:41,861 INFO L78 Accepts]: Start accepts. Automaton has 207 states and 230 transitions. Word has length 62 [2020-07-18 05:15:41,861 INFO L84 Accepts]: Finished accepts. word is rejected. [2020-07-18 05:15:41,861 INFO L479 AbstractCegarLoop]: Abstraction has 207 states and 230 transitions. [2020-07-18 05:15:41,862 INFO L480 AbstractCegarLoop]: Interpolant automaton has 7 states. [2020-07-18 05:15:41,862 INFO L86 InductivityCheck]: Starting indutivity check of a Floyd-Hoare automaton with 207 states and 230 transitions. [2020-07-18 05:15:42,124 INFO L119 InductivityCheck]: Floyd-Hoare automaton has 230 edges. 230 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2020-07-18 05:15:42,125 INFO L276 IsEmpty]: Start isEmpty. Operand 207 states and 230 transitions. [2020-07-18 05:15:42,126 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 68 [2020-07-18 05:15:42,126 INFO L414 BasicCegarLoop]: Found error trace [2020-07-18 05:15:42,126 INFO L422 BasicCegarLoop]: trace histogram [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, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1] [2020-07-18 05:15:42,126 WARN L516 AbstractCegarLoop]: Destroyed unattended storables created during the last iteration: SelfDestructingSolverStorable5 [2020-07-18 05:15:42,127 INFO L427 AbstractCegarLoop]: === Iteration 7 === [mainErr0ASSERT_VIOLATIONERROR_FUNCTION]=== [2020-07-18 05:15:42,127 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2020-07-18 05:15:42,127 INFO L82 PathProgramCache]: Analyzing trace with hash 852438762, now seen corresponding path program 1 times [2020-07-18 05:15:42,127 INFO L163 FreeRefinementEngine]: Executing refinement strategy FIXED_PREFERENCES [2020-07-18 05:15:42,128 INFO L354 FreeRefinementEngine]: Using trace check IpTcStrategyModulePreferences [255461956] [2020-07-18 05:15:42,128 INFO L94 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2020-07-18 05:15:42,156 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2020-07-18 05:15:42,497 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2020-07-18 05:15:42,503 INFO L280 TraceCheckUtils]: 0: Hoare triple {8868#(and (= |#valid| |old(#valid)|) (= |#NULL.base| |old(#NULL.base)|) (= |#NULL.offset| |old(#NULL.offset)|))} #NULL.base, #NULL.offset := 0, 0; {8849#true} is VALID [2020-07-18 05:15:42,504 INFO L280 TraceCheckUtils]: 1: Hoare triple {8849#true} #valid := #valid[0 := 0]; {8849#true} is VALID [2020-07-18 05:15:42,504 INFO L280 TraceCheckUtils]: 2: Hoare triple {8849#true} assume 0 < #StackHeapBarrier; {8849#true} is VALID [2020-07-18 05:15:42,504 INFO L280 TraceCheckUtils]: 3: Hoare triple {8849#true} assume true; {8849#true} is VALID [2020-07-18 05:15:42,504 INFO L275 TraceCheckUtils]: 4: Hoare quadruple {8849#true} {8849#true} #349#return; {8849#true} is VALID [2020-07-18 05:15:42,506 INFO L263 TraceCheckUtils]: 0: Hoare triple {8849#true} call ULTIMATE.init(); {8868#(and (= |#valid| |old(#valid)|) (= |#NULL.base| |old(#NULL.base)|) (= |#NULL.offset| |old(#NULL.offset)|))} is VALID [2020-07-18 05:15:42,506 INFO L280 TraceCheckUtils]: 1: Hoare triple {8868#(and (= |#valid| |old(#valid)|) (= |#NULL.base| |old(#NULL.base)|) (= |#NULL.offset| |old(#NULL.offset)|))} #NULL.base, #NULL.offset := 0, 0; {8849#true} is VALID [2020-07-18 05:15:42,506 INFO L280 TraceCheckUtils]: 2: Hoare triple {8849#true} #valid := #valid[0 := 0]; {8849#true} is VALID [2020-07-18 05:15:42,506 INFO L280 TraceCheckUtils]: 3: Hoare triple {8849#true} assume 0 < #StackHeapBarrier; {8849#true} is VALID [2020-07-18 05:15:42,506 INFO L280 TraceCheckUtils]: 4: Hoare triple {8849#true} assume true; {8849#true} is VALID [2020-07-18 05:15:42,507 INFO L275 TraceCheckUtils]: 5: Hoare quadruple {8849#true} {8849#true} #349#return; {8849#true} is VALID [2020-07-18 05:15:42,507 INFO L263 TraceCheckUtils]: 6: Hoare triple {8849#true} call #t~ret41 := main(); {8849#true} is VALID [2020-07-18 05:15:42,507 INFO L280 TraceCheckUtils]: 7: Hoare triple {8849#true} SUMMARY for call #t~malloc2.base, #t~malloc2.offset := #Ultimate.allocOnHeap(8); srcloc: mainENTRY {8849#true} is VALID [2020-07-18 05:15:42,507 INFO L280 TraceCheckUtils]: 8: Hoare triple {8849#true} ~root~0.base, ~root~0.offset := #t~malloc2.base, #t~malloc2.offset; {8849#true} is VALID [2020-07-18 05:15:42,508 INFO L280 TraceCheckUtils]: 9: Hoare triple {8849#true} havoc ~n~0.base, ~n~0.offset; {8849#true} is VALID [2020-07-18 05:15:42,508 INFO L280 TraceCheckUtils]: 10: Hoare triple {8849#true} SUMMARY for call write~$Pointer$(0, 0, ~root~0.base, ~root~0.offset, 4); srcloc: L542 {8849#true} is VALID [2020-07-18 05:15:42,508 INFO L280 TraceCheckUtils]: 11: Hoare triple {8849#true} SUMMARY for call write~$Pointer$(0, 0, ~root~0.base, 4 + ~root~0.offset, 4); srcloc: L542-1 {8849#true} is VALID [2020-07-18 05:15:42,508 INFO L280 TraceCheckUtils]: 12: Hoare triple {8849#true} assume -2147483648 <= #t~nondet3 && #t~nondet3 <= 2147483647; {8849#true} is VALID [2020-07-18 05:15:42,509 INFO L280 TraceCheckUtils]: 13: Hoare triple {8849#true} assume !(0 != #t~nondet3); {8849#true} is VALID [2020-07-18 05:15:42,509 INFO L280 TraceCheckUtils]: 14: Hoare triple {8849#true} havoc #t~nondet3; {8849#true} is VALID [2020-07-18 05:15:42,509 INFO L280 TraceCheckUtils]: 15: Hoare triple {8849#true} ~n~0.base, ~n~0.offset := 0, 0; {8849#true} is VALID [2020-07-18 05:15:42,509 INFO L280 TraceCheckUtils]: 16: Hoare triple {8849#true} havoc ~pred~0.base, ~pred~0.offset; {8849#true} is VALID [2020-07-18 05:15:42,510 INFO L280 TraceCheckUtils]: 17: Hoare triple {8849#true} assume !!(~root~0.base != 0 || ~root~0.offset != 0); {8849#true} is VALID [2020-07-18 05:15:42,510 INFO L280 TraceCheckUtils]: 18: Hoare triple {8849#true} ~pred~0.base, ~pred~0.offset := 0, 0; {8849#true} is VALID [2020-07-18 05:15:42,510 INFO L280 TraceCheckUtils]: 19: Hoare triple {8849#true} ~n~0.base, ~n~0.offset := ~root~0.base, ~root~0.offset; {8849#true} is VALID [2020-07-18 05:15:42,510 INFO L280 TraceCheckUtils]: 20: Hoare triple {8849#true} SUMMARY for call #t~mem22.base, #t~mem22.offset := read~$Pointer$(~n~0.base, ~n~0.offset, 4); srcloc: L570-5 {8849#true} is VALID [2020-07-18 05:15:42,511 INFO L280 TraceCheckUtils]: 21: Hoare triple {8849#true} #t~short24 := #t~mem22.base != 0 || #t~mem22.offset != 0; {8849#true} is VALID [2020-07-18 05:15:42,511 INFO L280 TraceCheckUtils]: 22: Hoare triple {8849#true} assume !#t~short24; {8849#true} is VALID [2020-07-18 05:15:42,511 INFO L280 TraceCheckUtils]: 23: Hoare triple {8849#true} SUMMARY for call #t~mem23.base, #t~mem23.offset := read~$Pointer$(~n~0.base, 4 + ~n~0.offset, 4); srcloc: L568-4 {8849#true} is VALID [2020-07-18 05:15:42,511 INFO L280 TraceCheckUtils]: 24: Hoare triple {8849#true} #t~short24 := #t~mem23.base != 0 || #t~mem23.offset != 0; {8849#true} is VALID [2020-07-18 05:15:42,511 INFO L280 TraceCheckUtils]: 25: Hoare triple {8849#true} assume !#t~short24; {8849#true} is VALID [2020-07-18 05:15:42,512 INFO L280 TraceCheckUtils]: 26: Hoare triple {8849#true} havoc #t~mem22.base, #t~mem22.offset; {8849#true} is VALID [2020-07-18 05:15:42,512 INFO L280 TraceCheckUtils]: 27: Hoare triple {8849#true} havoc #t~mem23.base, #t~mem23.offset; {8849#true} is VALID [2020-07-18 05:15:42,512 INFO L280 TraceCheckUtils]: 28: Hoare triple {8849#true} havoc #t~short24; {8849#true} is VALID [2020-07-18 05:15:42,512 INFO L280 TraceCheckUtils]: 29: Hoare triple {8849#true} assume !(~pred~0.base != 0 || ~pred~0.offset != 0); {8849#true} is VALID [2020-07-18 05:15:42,512 INFO L280 TraceCheckUtils]: 30: Hoare triple {8849#true} ~root~0.base, ~root~0.offset := 0, 0; {8849#true} is VALID [2020-07-18 05:15:42,512 INFO L280 TraceCheckUtils]: 31: Hoare triple {8849#true} SUMMARY for call ULTIMATE.dealloc(~n~0.base, ~n~0.offset); srcloc: L575 {8849#true} is VALID [2020-07-18 05:15:42,512 INFO L280 TraceCheckUtils]: 32: Hoare triple {8849#true} assume !(~root~0.base != 0 || ~root~0.offset != 0); {8849#true} is VALID [2020-07-18 05:15:42,513 INFO L280 TraceCheckUtils]: 33: Hoare triple {8849#true} SUMMARY for call #t~malloc29.base, #t~malloc29.offset := #Ultimate.allocOnHeap(8); srcloc: L565-2 {8856#(= 1 (select |#valid| |main_#t~malloc29.base|))} is VALID [2020-07-18 05:15:42,514 INFO L280 TraceCheckUtils]: 34: Hoare triple {8856#(= 1 (select |#valid| |main_#t~malloc29.base|))} ~a~0.base, ~a~0.offset := #t~malloc29.base, #t~malloc29.offset; {8857#(= 1 (select |#valid| main_~a~0.base))} is VALID [2020-07-18 05:15:42,514 INFO L280 TraceCheckUtils]: 35: Hoare triple {8857#(= 1 (select |#valid| main_~a~0.base))} assume !(~a~0.base == 0 && ~a~0.offset == 0); {8857#(= 1 (select |#valid| main_~a~0.base))} is VALID [2020-07-18 05:15:42,515 INFO L280 TraceCheckUtils]: 36: Hoare triple {8857#(= 1 (select |#valid| main_~a~0.base))} havoc ~t~0.base, ~t~0.offset; {8857#(= 1 (select |#valid| main_~a~0.base))} is VALID [2020-07-18 05:15:42,515 INFO L280 TraceCheckUtils]: 37: Hoare triple {8857#(= 1 (select |#valid| main_~a~0.base))} ~p~0.base, ~p~0.offset := ~a~0.base, ~a~0.offset; {8858#(and (= main_~a~0.base main_~p~0.base) (= 1 (select |#valid| main_~p~0.base)) (= main_~a~0.offset main_~p~0.offset))} is VALID [2020-07-18 05:15:42,516 INFO L280 TraceCheckUtils]: 38: Hoare triple {8858#(and (= main_~a~0.base main_~p~0.base) (= 1 (select |#valid| main_~p~0.base)) (= main_~a~0.offset main_~p~0.offset))} assume -2147483648 <= #t~nondet30 && #t~nondet30 <= 2147483647; {8858#(and (= main_~a~0.base main_~p~0.base) (= 1 (select |#valid| main_~p~0.base)) (= main_~a~0.offset main_~p~0.offset))} is VALID [2020-07-18 05:15:42,517 INFO L280 TraceCheckUtils]: 39: Hoare triple {8858#(and (= main_~a~0.base main_~p~0.base) (= 1 (select |#valid| main_~p~0.base)) (= main_~a~0.offset main_~p~0.offset))} assume !(0 != #t~nondet30); {8858#(and (= main_~a~0.base main_~p~0.base) (= 1 (select |#valid| main_~p~0.base)) (= main_~a~0.offset main_~p~0.offset))} is VALID [2020-07-18 05:15:42,517 INFO L280 TraceCheckUtils]: 40: Hoare triple {8858#(and (= main_~a~0.base main_~p~0.base) (= 1 (select |#valid| main_~p~0.base)) (= main_~a~0.offset main_~p~0.offset))} havoc #t~nondet30; {8858#(and (= main_~a~0.base main_~p~0.base) (= 1 (select |#valid| main_~p~0.base)) (= main_~a~0.offset main_~p~0.offset))} is VALID [2020-07-18 05:15:42,518 INFO L280 TraceCheckUtils]: 41: Hoare triple {8858#(and (= main_~a~0.base main_~p~0.base) (= 1 (select |#valid| main_~p~0.base)) (= main_~a~0.offset main_~p~0.offset))} assume -2147483648 <= #t~nondet33 && #t~nondet33 <= 2147483647; {8858#(and (= main_~a~0.base main_~p~0.base) (= 1 (select |#valid| main_~p~0.base)) (= main_~a~0.offset main_~p~0.offset))} is VALID [2020-07-18 05:15:42,520 INFO L280 TraceCheckUtils]: 42: Hoare triple {8858#(and (= main_~a~0.base main_~p~0.base) (= 1 (select |#valid| main_~p~0.base)) (= main_~a~0.offset main_~p~0.offset))} assume !!(0 != #t~nondet33); {8858#(and (= main_~a~0.base main_~p~0.base) (= 1 (select |#valid| main_~p~0.base)) (= main_~a~0.offset main_~p~0.offset))} is VALID [2020-07-18 05:15:42,523 INFO L280 TraceCheckUtils]: 43: Hoare triple {8858#(and (= main_~a~0.base main_~p~0.base) (= 1 (select |#valid| main_~p~0.base)) (= main_~a~0.offset main_~p~0.offset))} havoc #t~nondet33; {8858#(and (= main_~a~0.base main_~p~0.base) (= 1 (select |#valid| main_~p~0.base)) (= main_~a~0.offset main_~p~0.offset))} is VALID [2020-07-18 05:15:42,524 INFO L280 TraceCheckUtils]: 44: Hoare triple {8858#(and (= main_~a~0.base main_~p~0.base) (= 1 (select |#valid| main_~p~0.base)) (= main_~a~0.offset main_~p~0.offset))} SUMMARY for call write~int(2, ~p~0.base, ~p~0.offset, 4); srcloc: L596 {8859#(and (= main_~a~0.base main_~p~0.base) (= 2 (select (select |#memory_int| main_~p~0.base) main_~p~0.offset)) (= 1 (select |#valid| main_~p~0.base)) (= main_~a~0.offset main_~p~0.offset))} is VALID [2020-07-18 05:15:42,526 INFO L280 TraceCheckUtils]: 45: Hoare triple {8859#(and (= main_~a~0.base main_~p~0.base) (= 2 (select (select |#memory_int| main_~p~0.base) main_~p~0.offset)) (= 1 (select |#valid| main_~p~0.base)) (= main_~a~0.offset main_~p~0.offset))} SUMMARY for call #t~malloc34.base, #t~malloc34.offset := #Ultimate.allocOnHeap(8); srcloc: L596-1 {8860#(and (= main_~a~0.base main_~p~0.base) (= 2 (select (select |#memory_int| main_~p~0.base) main_~p~0.offset)) (= main_~a~0.offset main_~p~0.offset) (not (= main_~p~0.base |main_#t~malloc34.base|)))} is VALID [2020-07-18 05:15:42,526 INFO L280 TraceCheckUtils]: 46: Hoare triple {8860#(and (= main_~a~0.base main_~p~0.base) (= 2 (select (select |#memory_int| main_~p~0.base) main_~p~0.offset)) (= main_~a~0.offset main_~p~0.offset) (not (= main_~p~0.base |main_#t~malloc34.base|)))} ~t~0.base, ~t~0.offset := #t~malloc34.base, #t~malloc34.offset; {8861#(and (= main_~a~0.base main_~p~0.base) (= 2 (select (select |#memory_int| main_~p~0.base) main_~p~0.offset)) (not (= main_~t~0.base main_~p~0.base)) (= main_~a~0.offset main_~p~0.offset))} is VALID [2020-07-18 05:15:42,527 INFO L280 TraceCheckUtils]: 47: Hoare triple {8861#(and (= main_~a~0.base main_~p~0.base) (= 2 (select (select |#memory_int| main_~p~0.base) main_~p~0.offset)) (not (= main_~t~0.base main_~p~0.base)) (= main_~a~0.offset main_~p~0.offset))} assume !(~t~0.base == 0 && ~t~0.offset == 0); {8861#(and (= main_~a~0.base main_~p~0.base) (= 2 (select (select |#memory_int| main_~p~0.base) main_~p~0.offset)) (not (= main_~t~0.base main_~p~0.base)) (= main_~a~0.offset main_~p~0.offset))} is VALID [2020-07-18 05:15:42,529 INFO L280 TraceCheckUtils]: 48: Hoare triple {8861#(and (= main_~a~0.base main_~p~0.base) (= 2 (select (select |#memory_int| main_~p~0.base) main_~p~0.offset)) (not (= main_~t~0.base main_~p~0.base)) (= main_~a~0.offset main_~p~0.offset))} SUMMARY for call write~$Pointer$(~t~0.base, ~t~0.offset, ~p~0.base, 4 + ~p~0.offset, 4); srcloc: L598-3 {8862#(and (= main_~a~0.base main_~p~0.base) (not (= (select (select |#memory_$Pointer$.base| main_~p~0.base) (+ main_~p~0.offset 4)) main_~p~0.base)) (= 2 (select (select |#memory_int| main_~p~0.base) main_~p~0.offset)) (= main_~a~0.offset main_~p~0.offset))} is VALID [2020-07-18 05:15:42,530 INFO L280 TraceCheckUtils]: 49: Hoare triple {8862#(and (= main_~a~0.base main_~p~0.base) (not (= (select (select |#memory_$Pointer$.base| main_~p~0.base) (+ main_~p~0.offset 4)) main_~p~0.base)) (= 2 (select (select |#memory_int| main_~p~0.base) main_~p~0.offset)) (= main_~a~0.offset main_~p~0.offset))} SUMMARY for call #t~mem35.base, #t~mem35.offset := read~$Pointer$(~p~0.base, 4 + ~p~0.offset, 4); srcloc: L599 {8863#(and (not (= main_~a~0.base |main_#t~mem35.base|)) (= 2 (select (select |#memory_int| main_~a~0.base) main_~a~0.offset)))} is VALID [2020-07-18 05:15:42,531 INFO L280 TraceCheckUtils]: 50: Hoare triple {8863#(and (not (= main_~a~0.base |main_#t~mem35.base|)) (= 2 (select (select |#memory_int| main_~a~0.base) main_~a~0.offset)))} ~p~0.base, ~p~0.offset := #t~mem35.base, #t~mem35.offset; {8864#(and (not (= main_~a~0.base main_~p~0.base)) (= 2 (select (select |#memory_int| main_~a~0.base) main_~a~0.offset)))} is VALID [2020-07-18 05:15:42,531 INFO L280 TraceCheckUtils]: 51: Hoare triple {8864#(and (not (= main_~a~0.base main_~p~0.base)) (= 2 (select (select |#memory_int| main_~a~0.base) main_~a~0.offset)))} havoc #t~mem35.base, #t~mem35.offset; {8864#(and (not (= main_~a~0.base main_~p~0.base)) (= 2 (select (select |#memory_int| main_~a~0.base) main_~a~0.offset)))} is VALID [2020-07-18 05:15:42,532 INFO L280 TraceCheckUtils]: 52: Hoare triple {8864#(and (not (= main_~a~0.base main_~p~0.base)) (= 2 (select (select |#memory_int| main_~a~0.base) main_~a~0.offset)))} assume -2147483648 <= #t~nondet33 && #t~nondet33 <= 2147483647; {8864#(and (not (= main_~a~0.base main_~p~0.base)) (= 2 (select (select |#memory_int| main_~a~0.base) main_~a~0.offset)))} is VALID [2020-07-18 05:15:42,532 INFO L280 TraceCheckUtils]: 53: Hoare triple {8864#(and (not (= main_~a~0.base main_~p~0.base)) (= 2 (select (select |#memory_int| main_~a~0.base) main_~a~0.offset)))} assume !(0 != #t~nondet33); {8864#(and (not (= main_~a~0.base main_~p~0.base)) (= 2 (select (select |#memory_int| main_~a~0.base) main_~a~0.offset)))} is VALID [2020-07-18 05:15:42,533 INFO L280 TraceCheckUtils]: 54: Hoare triple {8864#(and (not (= main_~a~0.base main_~p~0.base)) (= 2 (select (select |#memory_int| main_~a~0.base) main_~a~0.offset)))} havoc #t~nondet33; {8864#(and (not (= main_~a~0.base main_~p~0.base)) (= 2 (select (select |#memory_int| main_~a~0.base) main_~a~0.offset)))} is VALID [2020-07-18 05:15:42,534 INFO L280 TraceCheckUtils]: 55: Hoare triple {8864#(and (not (= main_~a~0.base main_~p~0.base)) (= 2 (select (select |#memory_int| main_~a~0.base) main_~a~0.offset)))} SUMMARY for call write~int(3, ~p~0.base, ~p~0.offset, 4); srcloc: L595-5 {8865#(= 2 (select (select |#memory_int| main_~a~0.base) main_~a~0.offset))} is VALID [2020-07-18 05:15:42,534 INFO L280 TraceCheckUtils]: 56: Hoare triple {8865#(= 2 (select (select |#memory_int| main_~a~0.base) main_~a~0.offset))} ~p~0.base, ~p~0.offset := ~a~0.base, ~a~0.offset; {8866#(= 2 (select (select |#memory_int| main_~p~0.base) main_~p~0.offset))} is VALID [2020-07-18 05:15:42,535 INFO L280 TraceCheckUtils]: 57: Hoare triple {8866#(= 2 (select (select |#memory_int| main_~p~0.base) main_~p~0.offset))} SUMMARY for call #t~mem36 := read~int(~p~0.base, ~p~0.offset, 4); srcloc: L604-5 {8867#(= |main_#t~mem36| 2)} is VALID [2020-07-18 05:15:42,535 INFO L280 TraceCheckUtils]: 58: Hoare triple {8867#(= |main_#t~mem36| 2)} assume !(2 == #t~mem36); {8850#false} is VALID [2020-07-18 05:15:42,535 INFO L280 TraceCheckUtils]: 59: Hoare triple {8850#false} havoc #t~mem36; {8850#false} is VALID [2020-07-18 05:15:42,535 INFO L280 TraceCheckUtils]: 60: Hoare triple {8850#false} SUMMARY for call #t~mem38 := read~int(~p~0.base, ~p~0.offset, 4); srcloc: L606-4 {8850#false} is VALID [2020-07-18 05:15:42,535 INFO L280 TraceCheckUtils]: 61: Hoare triple {8850#false} assume !(1 == #t~mem38); {8850#false} is VALID [2020-07-18 05:15:42,536 INFO L280 TraceCheckUtils]: 62: Hoare triple {8850#false} havoc #t~mem38; {8850#false} is VALID [2020-07-18 05:15:42,536 INFO L280 TraceCheckUtils]: 63: Hoare triple {8850#false} SUMMARY for call #t~mem40 := read~int(~p~0.base, ~p~0.offset, 4); srcloc: L606-5 {8850#false} is VALID [2020-07-18 05:15:42,536 INFO L280 TraceCheckUtils]: 64: Hoare triple {8850#false} assume 3 != #t~mem40; {8850#false} is VALID [2020-07-18 05:15:42,536 INFO L280 TraceCheckUtils]: 65: Hoare triple {8850#false} havoc #t~mem40; {8850#false} is VALID [2020-07-18 05:15:42,536 INFO L280 TraceCheckUtils]: 66: Hoare triple {8850#false} assume !false; {8850#false} is VALID [2020-07-18 05:15:42,545 INFO L134 CoverageAnalysis]: Checked inductivity of 3 backedges. 0 proven. 2 refuted. 0 times theorem prover too weak. 1 trivial. 0 not checked. [2020-07-18 05:15:42,546 INFO L354 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModulePreferences [255461956] [2020-07-18 05:15:42,546 INFO L220 FreeRefinementEngine]: Constructing automaton from 0 perfect and 1 imperfect interpolant sequences. [2020-07-18 05:15:42,546 INFO L233 FreeRefinementEngine]: Number of different interpolants: perfect sequences [] imperfect sequences [15] total 15 [2020-07-18 05:15:42,546 INFO L156 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [1345046290] [2020-07-18 05:15:42,547 INFO L78 Accepts]: Start accepts. Automaton has 15 states. Word has length 67 [2020-07-18 05:15:42,547 INFO L84 Accepts]: Finished accepts. word is accepted. [2020-07-18 05:15:42,547 INFO L86 InductivityCheck]: Starting indutivity check of a Floyd-Hoare automaton with 15 states. [2020-07-18 05:15:42,615 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-18 05:15:42,615 INFO L459 AbstractCegarLoop]: Interpolant automaton has 15 states [2020-07-18 05:15:42,616 INFO L143 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy FIXED_PREFERENCES [2020-07-18 05:15:42,616 INFO L142 InterpolantAutomaton]: Constructing interpolant automaton starting with 15 interpolants. [2020-07-18 05:15:42,616 INFO L144 InterpolantAutomaton]: CoverageRelationStatistics Valid=40, Invalid=170, Unknown=0, NotChecked=0, Total=210 [2020-07-18 05:15:42,617 INFO L87 Difference]: Start difference. First operand 207 states and 230 transitions. Second operand 15 states. [2020-07-18 05:15:45,762 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2020-07-18 05:15:45,763 INFO L93 Difference]: Finished difference Result 302 states and 330 transitions. [2020-07-18 05:15:45,763 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 21 states. [2020-07-18 05:15:45,763 INFO L78 Accepts]: Start accepts. Automaton has 15 states. Word has length 67 [2020-07-18 05:15:45,763 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2020-07-18 05:15:45,764 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 15 states. [2020-07-18 05:15:45,767 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 21 states to 21 states and 289 transitions. [2020-07-18 05:15:45,768 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 15 states. [2020-07-18 05:15:45,771 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 21 states to 21 states and 289 transitions. [2020-07-18 05:15:45,771 INFO L86 InductivityCheck]: Starting indutivity check of a Floyd-Hoare automaton with 21 states and 289 transitions. [2020-07-18 05:15:46,098 INFO L119 InductivityCheck]: Floyd-Hoare automaton has 289 edges. 289 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2020-07-18 05:15:46,107 INFO L225 Difference]: With dead ends: 302 [2020-07-18 05:15:46,107 INFO L226 Difference]: Without dead ends: 289 [2020-07-18 05:15:46,109 INFO L675 BasicCegarLoop]: 0 DeclaredPredicates, 33 GetRequests, 3 SyntacticMatches, 0 SemanticMatches, 30 ConstructedPredicates, 0 IntricatePredicates, 0 DeprecatedPredicates, 145 ImplicationChecksByTransitivity, 0.6s TimeCoverageRelationStatistics Valid=228, Invalid=764, Unknown=0, NotChecked=0, Total=992 [2020-07-18 05:15:46,110 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 289 states. [2020-07-18 05:15:46,535 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 289 to 223. [2020-07-18 05:15:46,535 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2020-07-18 05:15:46,536 INFO L82 GeneralOperation]: Start isEquivalent. First operand 289 states. Second operand 223 states. [2020-07-18 05:15:46,536 INFO L74 IsIncluded]: Start isIncluded. First operand 289 states. Second operand 223 states. [2020-07-18 05:15:46,536 INFO L87 Difference]: Start difference. First operand 289 states. Second operand 223 states. [2020-07-18 05:15:46,545 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2020-07-18 05:15:46,545 INFO L93 Difference]: Finished difference Result 289 states and 316 transitions. [2020-07-18 05:15:46,545 INFO L276 IsEmpty]: Start isEmpty. Operand 289 states and 316 transitions. [2020-07-18 05:15:46,547 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2020-07-18 05:15:46,547 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2020-07-18 05:15:46,547 INFO L74 IsIncluded]: Start isIncluded. First operand 223 states. Second operand 289 states. [2020-07-18 05:15:46,547 INFO L87 Difference]: Start difference. First operand 223 states. Second operand 289 states. [2020-07-18 05:15:46,562 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2020-07-18 05:15:46,563 INFO L93 Difference]: Finished difference Result 289 states and 316 transitions. [2020-07-18 05:15:46,563 INFO L276 IsEmpty]: Start isEmpty. Operand 289 states and 316 transitions. [2020-07-18 05:15:46,564 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2020-07-18 05:15:46,564 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2020-07-18 05:15:46,565 INFO L88 GeneralOperation]: Finished isEquivalent. [2020-07-18 05:15:46,565 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2020-07-18 05:15:46,565 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 223 states. [2020-07-18 05:15:46,573 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 223 states to 223 states and 247 transitions. [2020-07-18 05:15:46,573 INFO L78 Accepts]: Start accepts. Automaton has 223 states and 247 transitions. Word has length 67 [2020-07-18 05:15:46,574 INFO L84 Accepts]: Finished accepts. word is rejected. [2020-07-18 05:15:46,574 INFO L479 AbstractCegarLoop]: Abstraction has 223 states and 247 transitions. [2020-07-18 05:15:46,574 INFO L480 AbstractCegarLoop]: Interpolant automaton has 15 states. [2020-07-18 05:15:46,574 INFO L86 InductivityCheck]: Starting indutivity check of a Floyd-Hoare automaton with 223 states and 247 transitions. [2020-07-18 05:15:47,004 INFO L119 InductivityCheck]: Floyd-Hoare automaton has 247 edges. 247 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2020-07-18 05:15:47,004 INFO L276 IsEmpty]: Start isEmpty. Operand 223 states and 247 transitions. [2020-07-18 05:15:47,005 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 68 [2020-07-18 05:15:47,006 INFO L414 BasicCegarLoop]: Found error trace [2020-07-18 05:15:47,006 INFO L422 BasicCegarLoop]: trace histogram [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, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1] [2020-07-18 05:15:47,006 WARN L516 AbstractCegarLoop]: Destroyed unattended storables created during the last iteration: SelfDestructingSolverStorable6 [2020-07-18 05:15:47,006 INFO L427 AbstractCegarLoop]: === Iteration 8 === [mainErr0ASSERT_VIOLATIONERROR_FUNCTION]=== [2020-07-18 05:15:47,007 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2020-07-18 05:15:47,007 INFO L82 PathProgramCache]: Analyzing trace with hash -1742912072, now seen corresponding path program 1 times [2020-07-18 05:15:47,007 INFO L163 FreeRefinementEngine]: Executing refinement strategy FIXED_PREFERENCES [2020-07-18 05:15:47,007 INFO L354 FreeRefinementEngine]: Using trace check IpTcStrategyModulePreferences [2106518015] [2020-07-18 05:15:47,008 INFO L94 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2020-07-18 05:15:47,061 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2020-07-18 05:15:47,382 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2020-07-18 05:15:47,394 INFO L280 TraceCheckUtils]: 0: Hoare triple {10552#(and (= |#valid| |old(#valid)|) (= |#NULL.base| |old(#NULL.base)|) (= |#NULL.offset| |old(#NULL.offset)|))} #NULL.base, #NULL.offset := 0, 0; {10533#true} is VALID [2020-07-18 05:15:47,394 INFO L280 TraceCheckUtils]: 1: Hoare triple {10533#true} #valid := #valid[0 := 0]; {10533#true} is VALID [2020-07-18 05:15:47,395 INFO L280 TraceCheckUtils]: 2: Hoare triple {10533#true} assume 0 < #StackHeapBarrier; {10533#true} is VALID [2020-07-18 05:15:47,395 INFO L280 TraceCheckUtils]: 3: Hoare triple {10533#true} assume true; {10533#true} is VALID [2020-07-18 05:15:47,395 INFO L275 TraceCheckUtils]: 4: Hoare quadruple {10533#true} {10533#true} #349#return; {10533#true} is VALID [2020-07-18 05:15:47,396 INFO L263 TraceCheckUtils]: 0: Hoare triple {10533#true} call ULTIMATE.init(); {10552#(and (= |#valid| |old(#valid)|) (= |#NULL.base| |old(#NULL.base)|) (= |#NULL.offset| |old(#NULL.offset)|))} is VALID [2020-07-18 05:15:47,396 INFO L280 TraceCheckUtils]: 1: Hoare triple {10552#(and (= |#valid| |old(#valid)|) (= |#NULL.base| |old(#NULL.base)|) (= |#NULL.offset| |old(#NULL.offset)|))} #NULL.base, #NULL.offset := 0, 0; {10533#true} is VALID [2020-07-18 05:15:47,397 INFO L280 TraceCheckUtils]: 2: Hoare triple {10533#true} #valid := #valid[0 := 0]; {10533#true} is VALID [2020-07-18 05:15:47,397 INFO L280 TraceCheckUtils]: 3: Hoare triple {10533#true} assume 0 < #StackHeapBarrier; {10533#true} is VALID [2020-07-18 05:15:47,397 INFO L280 TraceCheckUtils]: 4: Hoare triple {10533#true} assume true; {10533#true} is VALID [2020-07-18 05:15:47,397 INFO L275 TraceCheckUtils]: 5: Hoare quadruple {10533#true} {10533#true} #349#return; {10533#true} is VALID [2020-07-18 05:15:47,398 INFO L263 TraceCheckUtils]: 6: Hoare triple {10533#true} call #t~ret41 := main(); {10533#true} is VALID [2020-07-18 05:15:47,398 INFO L280 TraceCheckUtils]: 7: Hoare triple {10533#true} SUMMARY for call #t~malloc2.base, #t~malloc2.offset := #Ultimate.allocOnHeap(8); srcloc: mainENTRY {10533#true} is VALID [2020-07-18 05:15:47,398 INFO L280 TraceCheckUtils]: 8: Hoare triple {10533#true} ~root~0.base, ~root~0.offset := #t~malloc2.base, #t~malloc2.offset; {10533#true} is VALID [2020-07-18 05:15:47,401 INFO L280 TraceCheckUtils]: 9: Hoare triple {10533#true} havoc ~n~0.base, ~n~0.offset; {10533#true} is VALID [2020-07-18 05:15:47,402 INFO L280 TraceCheckUtils]: 10: Hoare triple {10533#true} SUMMARY for call write~$Pointer$(0, 0, ~root~0.base, ~root~0.offset, 4); srcloc: L542 {10533#true} is VALID [2020-07-18 05:15:47,402 INFO L280 TraceCheckUtils]: 11: Hoare triple {10533#true} SUMMARY for call write~$Pointer$(0, 0, ~root~0.base, 4 + ~root~0.offset, 4); srcloc: L542-1 {10533#true} is VALID [2020-07-18 05:15:47,402 INFO L280 TraceCheckUtils]: 12: Hoare triple {10533#true} assume -2147483648 <= #t~nondet3 && #t~nondet3 <= 2147483647; {10533#true} is VALID [2020-07-18 05:15:47,402 INFO L280 TraceCheckUtils]: 13: Hoare triple {10533#true} assume !(0 != #t~nondet3); {10533#true} is VALID [2020-07-18 05:15:47,402 INFO L280 TraceCheckUtils]: 14: Hoare triple {10533#true} havoc #t~nondet3; {10533#true} is VALID [2020-07-18 05:15:47,403 INFO L280 TraceCheckUtils]: 15: Hoare triple {10533#true} ~n~0.base, ~n~0.offset := 0, 0; {10533#true} is VALID [2020-07-18 05:15:47,403 INFO L280 TraceCheckUtils]: 16: Hoare triple {10533#true} havoc ~pred~0.base, ~pred~0.offset; {10533#true} is VALID [2020-07-18 05:15:47,403 INFO L280 TraceCheckUtils]: 17: Hoare triple {10533#true} assume !!(~root~0.base != 0 || ~root~0.offset != 0); {10533#true} is VALID [2020-07-18 05:15:47,403 INFO L280 TraceCheckUtils]: 18: Hoare triple {10533#true} ~pred~0.base, ~pred~0.offset := 0, 0; {10533#true} is VALID [2020-07-18 05:15:47,403 INFO L280 TraceCheckUtils]: 19: Hoare triple {10533#true} ~n~0.base, ~n~0.offset := ~root~0.base, ~root~0.offset; {10533#true} is VALID [2020-07-18 05:15:47,404 INFO L280 TraceCheckUtils]: 20: Hoare triple {10533#true} SUMMARY for call #t~mem22.base, #t~mem22.offset := read~$Pointer$(~n~0.base, ~n~0.offset, 4); srcloc: L570-5 {10533#true} is VALID [2020-07-18 05:15:47,404 INFO L280 TraceCheckUtils]: 21: Hoare triple {10533#true} #t~short24 := #t~mem22.base != 0 || #t~mem22.offset != 0; {10533#true} is VALID [2020-07-18 05:15:47,404 INFO L280 TraceCheckUtils]: 22: Hoare triple {10533#true} assume !#t~short24; {10533#true} is VALID [2020-07-18 05:15:47,408 INFO L280 TraceCheckUtils]: 23: Hoare triple {10533#true} SUMMARY for call #t~mem23.base, #t~mem23.offset := read~$Pointer$(~n~0.base, 4 + ~n~0.offset, 4); srcloc: L568-4 {10533#true} is VALID [2020-07-18 05:15:47,408 INFO L280 TraceCheckUtils]: 24: Hoare triple {10533#true} #t~short24 := #t~mem23.base != 0 || #t~mem23.offset != 0; {10533#true} is VALID [2020-07-18 05:15:47,408 INFO L280 TraceCheckUtils]: 25: Hoare triple {10533#true} assume !#t~short24; {10533#true} is VALID [2020-07-18 05:15:47,408 INFO L280 TraceCheckUtils]: 26: Hoare triple {10533#true} havoc #t~mem22.base, #t~mem22.offset; {10533#true} is VALID [2020-07-18 05:15:47,409 INFO L280 TraceCheckUtils]: 27: Hoare triple {10533#true} havoc #t~mem23.base, #t~mem23.offset; {10533#true} is VALID [2020-07-18 05:15:47,409 INFO L280 TraceCheckUtils]: 28: Hoare triple {10533#true} havoc #t~short24; {10533#true} is VALID [2020-07-18 05:15:47,409 INFO L280 TraceCheckUtils]: 29: Hoare triple {10533#true} assume !(~pred~0.base != 0 || ~pred~0.offset != 0); {10533#true} is VALID [2020-07-18 05:15:47,409 INFO L280 TraceCheckUtils]: 30: Hoare triple {10533#true} ~root~0.base, ~root~0.offset := 0, 0; {10533#true} is VALID [2020-07-18 05:15:47,409 INFO L280 TraceCheckUtils]: 31: Hoare triple {10533#true} SUMMARY for call ULTIMATE.dealloc(~n~0.base, ~n~0.offset); srcloc: L575 {10533#true} is VALID [2020-07-18 05:15:47,410 INFO L280 TraceCheckUtils]: 32: Hoare triple {10533#true} assume !(~root~0.base != 0 || ~root~0.offset != 0); {10533#true} is VALID [2020-07-18 05:15:47,411 INFO L280 TraceCheckUtils]: 33: Hoare triple {10533#true} SUMMARY for call #t~malloc29.base, #t~malloc29.offset := #Ultimate.allocOnHeap(8); srcloc: L565-2 {10540#(= 1 (select |#valid| |main_#t~malloc29.base|))} is VALID [2020-07-18 05:15:47,412 INFO L280 TraceCheckUtils]: 34: Hoare triple {10540#(= 1 (select |#valid| |main_#t~malloc29.base|))} ~a~0.base, ~a~0.offset := #t~malloc29.base, #t~malloc29.offset; {10541#(= 1 (select |#valid| main_~a~0.base))} is VALID [2020-07-18 05:15:47,412 INFO L280 TraceCheckUtils]: 35: Hoare triple {10541#(= 1 (select |#valid| main_~a~0.base))} assume !(~a~0.base == 0 && ~a~0.offset == 0); {10541#(= 1 (select |#valid| main_~a~0.base))} is VALID [2020-07-18 05:15:47,413 INFO L280 TraceCheckUtils]: 36: Hoare triple {10541#(= 1 (select |#valid| main_~a~0.base))} havoc ~t~0.base, ~t~0.offset; {10541#(= 1 (select |#valid| main_~a~0.base))} is VALID [2020-07-18 05:15:47,414 INFO L280 TraceCheckUtils]: 37: Hoare triple {10541#(= 1 (select |#valid| main_~a~0.base))} ~p~0.base, ~p~0.offset := ~a~0.base, ~a~0.offset; {10542#(and (= main_~a~0.base main_~p~0.base) (= 1 (select |#valid| main_~p~0.base)) (= main_~a~0.offset main_~p~0.offset))} is VALID [2020-07-18 05:15:47,414 INFO L280 TraceCheckUtils]: 38: Hoare triple {10542#(and (= main_~a~0.base main_~p~0.base) (= 1 (select |#valid| main_~p~0.base)) (= main_~a~0.offset main_~p~0.offset))} assume -2147483648 <= #t~nondet30 && #t~nondet30 <= 2147483647; {10542#(and (= main_~a~0.base main_~p~0.base) (= 1 (select |#valid| main_~p~0.base)) (= main_~a~0.offset main_~p~0.offset))} is VALID [2020-07-18 05:15:47,415 INFO L280 TraceCheckUtils]: 39: Hoare triple {10542#(and (= main_~a~0.base main_~p~0.base) (= 1 (select |#valid| main_~p~0.base)) (= main_~a~0.offset main_~p~0.offset))} assume !!(0 != #t~nondet30); {10542#(and (= main_~a~0.base main_~p~0.base) (= 1 (select |#valid| main_~p~0.base)) (= main_~a~0.offset main_~p~0.offset))} is VALID [2020-07-18 05:15:47,416 INFO L280 TraceCheckUtils]: 40: Hoare triple {10542#(and (= main_~a~0.base main_~p~0.base) (= 1 (select |#valid| main_~p~0.base)) (= main_~a~0.offset main_~p~0.offset))} havoc #t~nondet30; {10542#(and (= main_~a~0.base main_~p~0.base) (= 1 (select |#valid| main_~p~0.base)) (= main_~a~0.offset main_~p~0.offset))} is VALID [2020-07-18 05:15:47,417 INFO L280 TraceCheckUtils]: 41: Hoare triple {10542#(and (= main_~a~0.base main_~p~0.base) (= 1 (select |#valid| main_~p~0.base)) (= main_~a~0.offset main_~p~0.offset))} SUMMARY for call write~int(1, ~p~0.base, ~p~0.offset, 4); srcloc: L589 {10543#(and (= main_~a~0.base main_~p~0.base) (= 1 (select (select |#memory_int| main_~p~0.base) main_~p~0.offset)) (= 1 (select |#valid| main_~p~0.base)) (= main_~a~0.offset main_~p~0.offset))} is VALID [2020-07-18 05:15:47,418 INFO L280 TraceCheckUtils]: 42: Hoare triple {10543#(and (= main_~a~0.base main_~p~0.base) (= 1 (select (select |#memory_int| main_~p~0.base) main_~p~0.offset)) (= 1 (select |#valid| main_~p~0.base)) (= main_~a~0.offset main_~p~0.offset))} SUMMARY for call #t~malloc31.base, #t~malloc31.offset := #Ultimate.allocOnHeap(8); srcloc: L589-1 {10544#(and (= main_~a~0.base main_~p~0.base) (not (= main_~p~0.base |main_#t~malloc31.base|)) (= 1 (select (select |#memory_int| main_~p~0.base) main_~p~0.offset)) (= main_~a~0.offset main_~p~0.offset))} is VALID [2020-07-18 05:15:47,419 INFO L280 TraceCheckUtils]: 43: Hoare triple {10544#(and (= main_~a~0.base main_~p~0.base) (not (= main_~p~0.base |main_#t~malloc31.base|)) (= 1 (select (select |#memory_int| main_~p~0.base) main_~p~0.offset)) (= main_~a~0.offset main_~p~0.offset))} ~t~0.base, ~t~0.offset := #t~malloc31.base, #t~malloc31.offset; {10545#(and (= main_~a~0.base main_~p~0.base) (= 1 (select (select |#memory_int| main_~p~0.base) main_~p~0.offset)) (not (= main_~t~0.base main_~p~0.base)) (= main_~a~0.offset main_~p~0.offset))} is VALID [2020-07-18 05:15:47,420 INFO L280 TraceCheckUtils]: 44: Hoare triple {10545#(and (= main_~a~0.base main_~p~0.base) (= 1 (select (select |#memory_int| main_~p~0.base) main_~p~0.offset)) (not (= main_~t~0.base main_~p~0.base)) (= main_~a~0.offset main_~p~0.offset))} assume !(~t~0.base == 0 && ~t~0.offset == 0); {10545#(and (= main_~a~0.base main_~p~0.base) (= 1 (select (select |#memory_int| main_~p~0.base) main_~p~0.offset)) (not (= main_~t~0.base main_~p~0.base)) (= main_~a~0.offset main_~p~0.offset))} is VALID [2020-07-18 05:15:47,421 INFO L280 TraceCheckUtils]: 45: Hoare triple {10545#(and (= main_~a~0.base main_~p~0.base) (= 1 (select (select |#memory_int| main_~p~0.base) main_~p~0.offset)) (not (= main_~t~0.base main_~p~0.base)) (= main_~a~0.offset main_~p~0.offset))} SUMMARY for call write~$Pointer$(~t~0.base, ~t~0.offset, ~p~0.base, 4 + ~p~0.offset, 4); srcloc: L591-3 {10546#(and (= main_~a~0.base main_~p~0.base) (not (= (select (select |#memory_$Pointer$.base| main_~p~0.base) (+ main_~p~0.offset 4)) main_~p~0.base)) (= 1 (select (select |#memory_int| main_~p~0.base) main_~p~0.offset)) (= main_~a~0.offset main_~p~0.offset))} is VALID [2020-07-18 05:15:47,431 INFO L280 TraceCheckUtils]: 46: Hoare triple {10546#(and (= main_~a~0.base main_~p~0.base) (not (= (select (select |#memory_$Pointer$.base| main_~p~0.base) (+ main_~p~0.offset 4)) main_~p~0.base)) (= 1 (select (select |#memory_int| main_~p~0.base) main_~p~0.offset)) (= main_~a~0.offset main_~p~0.offset))} SUMMARY for call #t~mem32.base, #t~mem32.offset := read~$Pointer$(~p~0.base, 4 + ~p~0.offset, 4); srcloc: L592 {10547#(and (not (= main_~a~0.base |main_#t~mem32.base|)) (= 1 (select (select |#memory_int| main_~a~0.base) main_~a~0.offset)))} is VALID [2020-07-18 05:15:47,432 INFO L280 TraceCheckUtils]: 47: Hoare triple {10547#(and (not (= main_~a~0.base |main_#t~mem32.base|)) (= 1 (select (select |#memory_int| main_~a~0.base) main_~a~0.offset)))} ~p~0.base, ~p~0.offset := #t~mem32.base, #t~mem32.offset; {10548#(and (not (= main_~a~0.base main_~p~0.base)) (= 1 (select (select |#memory_int| main_~a~0.base) main_~a~0.offset)))} is VALID [2020-07-18 05:15:47,432 INFO L280 TraceCheckUtils]: 48: Hoare triple {10548#(and (not (= main_~a~0.base main_~p~0.base)) (= 1 (select (select |#memory_int| main_~a~0.base) main_~a~0.offset)))} havoc #t~mem32.base, #t~mem32.offset; {10548#(and (not (= main_~a~0.base main_~p~0.base)) (= 1 (select (select |#memory_int| main_~a~0.base) main_~a~0.offset)))} is VALID [2020-07-18 05:15:47,433 INFO L280 TraceCheckUtils]: 49: Hoare triple {10548#(and (not (= main_~a~0.base main_~p~0.base)) (= 1 (select (select |#memory_int| main_~a~0.base) main_~a~0.offset)))} assume -2147483648 <= #t~nondet30 && #t~nondet30 <= 2147483647; {10548#(and (not (= main_~a~0.base main_~p~0.base)) (= 1 (select (select |#memory_int| main_~a~0.base) main_~a~0.offset)))} is VALID [2020-07-18 05:15:47,434 INFO L280 TraceCheckUtils]: 50: Hoare triple {10548#(and (not (= main_~a~0.base main_~p~0.base)) (= 1 (select (select |#memory_int| main_~a~0.base) main_~a~0.offset)))} assume !(0 != #t~nondet30); {10548#(and (not (= main_~a~0.base main_~p~0.base)) (= 1 (select (select |#memory_int| main_~a~0.base) main_~a~0.offset)))} is VALID [2020-07-18 05:15:47,434 INFO L280 TraceCheckUtils]: 51: Hoare triple {10548#(and (not (= main_~a~0.base main_~p~0.base)) (= 1 (select (select |#memory_int| main_~a~0.base) main_~a~0.offset)))} havoc #t~nondet30; {10548#(and (not (= main_~a~0.base main_~p~0.base)) (= 1 (select (select |#memory_int| main_~a~0.base) main_~a~0.offset)))} is VALID [2020-07-18 05:15:47,435 INFO L280 TraceCheckUtils]: 52: Hoare triple {10548#(and (not (= main_~a~0.base main_~p~0.base)) (= 1 (select (select |#memory_int| main_~a~0.base) main_~a~0.offset)))} assume -2147483648 <= #t~nondet33 && #t~nondet33 <= 2147483647; {10548#(and (not (= main_~a~0.base main_~p~0.base)) (= 1 (select (select |#memory_int| main_~a~0.base) main_~a~0.offset)))} is VALID [2020-07-18 05:15:47,435 INFO L280 TraceCheckUtils]: 53: Hoare triple {10548#(and (not (= main_~a~0.base main_~p~0.base)) (= 1 (select (select |#memory_int| main_~a~0.base) main_~a~0.offset)))} assume !(0 != #t~nondet33); {10548#(and (not (= main_~a~0.base main_~p~0.base)) (= 1 (select (select |#memory_int| main_~a~0.base) main_~a~0.offset)))} is VALID [2020-07-18 05:15:47,435 INFO L280 TraceCheckUtils]: 54: Hoare triple {10548#(and (not (= main_~a~0.base main_~p~0.base)) (= 1 (select (select |#memory_int| main_~a~0.base) main_~a~0.offset)))} havoc #t~nondet33; {10548#(and (not (= main_~a~0.base main_~p~0.base)) (= 1 (select (select |#memory_int| main_~a~0.base) main_~a~0.offset)))} is VALID [2020-07-18 05:15:47,437 INFO L280 TraceCheckUtils]: 55: Hoare triple {10548#(and (not (= main_~a~0.base main_~p~0.base)) (= 1 (select (select |#memory_int| main_~a~0.base) main_~a~0.offset)))} SUMMARY for call write~int(3, ~p~0.base, ~p~0.offset, 4); srcloc: L595-5 {10549#(= 1 (select (select |#memory_int| main_~a~0.base) main_~a~0.offset))} is VALID [2020-07-18 05:15:47,437 INFO L280 TraceCheckUtils]: 56: Hoare triple {10549#(= 1 (select (select |#memory_int| main_~a~0.base) main_~a~0.offset))} ~p~0.base, ~p~0.offset := ~a~0.base, ~a~0.offset; {10550#(= 1 (select (select |#memory_int| main_~p~0.base) main_~p~0.offset))} is VALID [2020-07-18 05:15:47,438 INFO L280 TraceCheckUtils]: 57: Hoare triple {10550#(= 1 (select (select |#memory_int| main_~p~0.base) main_~p~0.offset))} SUMMARY for call #t~mem36 := read~int(~p~0.base, ~p~0.offset, 4); srcloc: L604-5 {10550#(= 1 (select (select |#memory_int| main_~p~0.base) main_~p~0.offset))} is VALID [2020-07-18 05:15:47,439 INFO L280 TraceCheckUtils]: 58: Hoare triple {10550#(= 1 (select (select |#memory_int| main_~p~0.base) main_~p~0.offset))} assume !(2 == #t~mem36); {10550#(= 1 (select (select |#memory_int| main_~p~0.base) main_~p~0.offset))} is VALID [2020-07-18 05:15:47,439 INFO L280 TraceCheckUtils]: 59: Hoare triple {10550#(= 1 (select (select |#memory_int| main_~p~0.base) main_~p~0.offset))} havoc #t~mem36; {10550#(= 1 (select (select |#memory_int| main_~p~0.base) main_~p~0.offset))} is VALID [2020-07-18 05:15:47,440 INFO L280 TraceCheckUtils]: 60: Hoare triple {10550#(= 1 (select (select |#memory_int| main_~p~0.base) main_~p~0.offset))} SUMMARY for call #t~mem38 := read~int(~p~0.base, ~p~0.offset, 4); srcloc: L606-4 {10551#(= |main_#t~mem38| 1)} is VALID [2020-07-18 05:15:47,441 INFO L280 TraceCheckUtils]: 61: Hoare triple {10551#(= |main_#t~mem38| 1)} assume !(1 == #t~mem38); {10534#false} is VALID [2020-07-18 05:15:47,441 INFO L280 TraceCheckUtils]: 62: Hoare triple {10534#false} havoc #t~mem38; {10534#false} is VALID [2020-07-18 05:15:47,441 INFO L280 TraceCheckUtils]: 63: Hoare triple {10534#false} SUMMARY for call #t~mem40 := read~int(~p~0.base, ~p~0.offset, 4); srcloc: L606-5 {10534#false} is VALID [2020-07-18 05:15:47,441 INFO L280 TraceCheckUtils]: 64: Hoare triple {10534#false} assume 3 != #t~mem40; {10534#false} is VALID [2020-07-18 05:15:47,442 INFO L280 TraceCheckUtils]: 65: Hoare triple {10534#false} havoc #t~mem40; {10534#false} is VALID [2020-07-18 05:15:47,442 INFO L280 TraceCheckUtils]: 66: Hoare triple {10534#false} assume !false; {10534#false} is VALID [2020-07-18 05:15:47,447 INFO L134 CoverageAnalysis]: Checked inductivity of 3 backedges. 0 proven. 2 refuted. 0 times theorem prover too weak. 1 trivial. 0 not checked. [2020-07-18 05:15:47,448 INFO L354 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModulePreferences [2106518015] [2020-07-18 05:15:47,448 INFO L220 FreeRefinementEngine]: Constructing automaton from 0 perfect and 1 imperfect interpolant sequences. [2020-07-18 05:15:47,448 INFO L233 FreeRefinementEngine]: Number of different interpolants: perfect sequences [] imperfect sequences [15] total 15 [2020-07-18 05:15:47,448 INFO L156 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [1370401454] [2020-07-18 05:15:47,448 INFO L78 Accepts]: Start accepts. Automaton has 15 states. Word has length 67 [2020-07-18 05:15:47,449 INFO L84 Accepts]: Finished accepts. word is accepted. [2020-07-18 05:15:47,449 INFO L86 InductivityCheck]: Starting indutivity check of a Floyd-Hoare automaton with 15 states. [2020-07-18 05:15:47,520 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-18 05:15:47,520 INFO L459 AbstractCegarLoop]: Interpolant automaton has 15 states [2020-07-18 05:15:47,521 INFO L143 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy FIXED_PREFERENCES [2020-07-18 05:15:47,521 INFO L142 InterpolantAutomaton]: Constructing interpolant automaton starting with 15 interpolants. [2020-07-18 05:15:47,521 INFO L144 InterpolantAutomaton]: CoverageRelationStatistics Valid=40, Invalid=170, Unknown=0, NotChecked=0, Total=210 [2020-07-18 05:15:47,521 INFO L87 Difference]: Start difference. First operand 223 states and 247 transitions. Second operand 15 states. [2020-07-18 05:15:51,878 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2020-07-18 05:15:51,879 INFO L93 Difference]: Finished difference Result 326 states and 357 transitions. [2020-07-18 05:15:51,879 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 21 states. [2020-07-18 05:15:51,879 INFO L78 Accepts]: Start accepts. Automaton has 15 states. Word has length 67 [2020-07-18 05:15:51,879 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2020-07-18 05:15:51,879 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 15 states. [2020-07-18 05:15:51,882 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 21 states to 21 states and 307 transitions. [2020-07-18 05:15:51,883 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 15 states. [2020-07-18 05:15:51,885 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 21 states to 21 states and 307 transitions. [2020-07-18 05:15:51,885 INFO L86 InductivityCheck]: Starting indutivity check of a Floyd-Hoare automaton with 21 states and 307 transitions. [2020-07-18 05:15:52,218 INFO L119 InductivityCheck]: Floyd-Hoare automaton has 307 edges. 307 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2020-07-18 05:15:52,229 INFO L225 Difference]: With dead ends: 326 [2020-07-18 05:15:52,229 INFO L226 Difference]: Without dead ends: 320 [2020-07-18 05:15:52,230 INFO L675 BasicCegarLoop]: 0 DeclaredPredicates, 33 GetRequests, 3 SyntacticMatches, 0 SemanticMatches, 30 ConstructedPredicates, 0 IntricatePredicates, 0 DeprecatedPredicates, 144 ImplicationChecksByTransitivity, 0.6s TimeCoverageRelationStatistics Valid=228, Invalid=764, Unknown=0, NotChecked=0, Total=992 [2020-07-18 05:15:52,231 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 320 states. [2020-07-18 05:15:52,766 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 320 to 245. [2020-07-18 05:15:52,766 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2020-07-18 05:15:52,767 INFO L82 GeneralOperation]: Start isEquivalent. First operand 320 states. Second operand 245 states. [2020-07-18 05:15:52,767 INFO L74 IsIncluded]: Start isIncluded. First operand 320 states. Second operand 245 states. [2020-07-18 05:15:52,767 INFO L87 Difference]: Start difference. First operand 320 states. Second operand 245 states. [2020-07-18 05:15:52,778 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2020-07-18 05:15:52,779 INFO L93 Difference]: Finished difference Result 320 states and 351 transitions. [2020-07-18 05:15:52,779 INFO L276 IsEmpty]: Start isEmpty. Operand 320 states and 351 transitions. [2020-07-18 05:15:52,780 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2020-07-18 05:15:52,780 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2020-07-18 05:15:52,780 INFO L74 IsIncluded]: Start isIncluded. First operand 245 states. Second operand 320 states. [2020-07-18 05:15:52,780 INFO L87 Difference]: Start difference. First operand 245 states. Second operand 320 states. [2020-07-18 05:15:52,789 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2020-07-18 05:15:52,790 INFO L93 Difference]: Finished difference Result 320 states and 351 transitions. [2020-07-18 05:15:52,790 INFO L276 IsEmpty]: Start isEmpty. Operand 320 states and 351 transitions. [2020-07-18 05:15:52,791 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2020-07-18 05:15:52,791 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2020-07-18 05:15:52,791 INFO L88 GeneralOperation]: Finished isEquivalent. [2020-07-18 05:15:52,791 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2020-07-18 05:15:52,791 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 245 states. [2020-07-18 05:15:52,797 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 245 states to 245 states and 272 transitions. [2020-07-18 05:15:52,797 INFO L78 Accepts]: Start accepts. Automaton has 245 states and 272 transitions. Word has length 67 [2020-07-18 05:15:52,798 INFO L84 Accepts]: Finished accepts. word is rejected. [2020-07-18 05:15:52,798 INFO L479 AbstractCegarLoop]: Abstraction has 245 states and 272 transitions. [2020-07-18 05:15:52,798 INFO L480 AbstractCegarLoop]: Interpolant automaton has 15 states. [2020-07-18 05:15:52,798 INFO L86 InductivityCheck]: Starting indutivity check of a Floyd-Hoare automaton with 245 states and 272 transitions. [2020-07-18 05:15:53,210 INFO L119 InductivityCheck]: Floyd-Hoare automaton has 272 edges. 272 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2020-07-18 05:15:53,210 INFO L276 IsEmpty]: Start isEmpty. Operand 245 states and 272 transitions. [2020-07-18 05:15:53,211 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 74 [2020-07-18 05:15:53,212 INFO L414 BasicCegarLoop]: Found error trace [2020-07-18 05:15:53,212 INFO L422 BasicCegarLoop]: trace histogram [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, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1] [2020-07-18 05:15:53,212 WARN L516 AbstractCegarLoop]: Destroyed unattended storables created during the last iteration: SelfDestructingSolverStorable7 [2020-07-18 05:15:53,212 INFO L427 AbstractCegarLoop]: === Iteration 9 === [mainErr0ASSERT_VIOLATIONERROR_FUNCTION]=== [2020-07-18 05:15:53,212 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2020-07-18 05:15:53,213 INFO L82 PathProgramCache]: Analyzing trace with hash -838472334, now seen corresponding path program 1 times [2020-07-18 05:15:53,213 INFO L163 FreeRefinementEngine]: Executing refinement strategy FIXED_PREFERENCES [2020-07-18 05:15:53,213 INFO L354 FreeRefinementEngine]: Using trace check IpTcStrategyModulePreferences [1339026571] [2020-07-18 05:15:53,213 INFO L94 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2020-07-18 05:15:53,258 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2020-07-18 05:15:53,847 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2020-07-18 05:15:53,854 INFO L280 TraceCheckUtils]: 0: Hoare triple {12392#(and (= |#valid| |old(#valid)|) (= |#NULL.base| |old(#NULL.base)|) (= |#NULL.offset| |old(#NULL.offset)|))} #NULL.base, #NULL.offset := 0, 0; {12371#true} is VALID [2020-07-18 05:15:53,854 INFO L280 TraceCheckUtils]: 1: Hoare triple {12371#true} #valid := #valid[0 := 0]; {12371#true} is VALID [2020-07-18 05:15:53,855 INFO L280 TraceCheckUtils]: 2: Hoare triple {12371#true} assume 0 < #StackHeapBarrier; {12371#true} is VALID [2020-07-18 05:15:53,855 INFO L280 TraceCheckUtils]: 3: Hoare triple {12371#true} assume true; {12371#true} is VALID [2020-07-18 05:15:53,856 INFO L275 TraceCheckUtils]: 4: Hoare quadruple {12371#true} {12371#true} #349#return; {12371#true} is VALID [2020-07-18 05:15:53,857 INFO L263 TraceCheckUtils]: 0: Hoare triple {12371#true} call ULTIMATE.init(); {12392#(and (= |#valid| |old(#valid)|) (= |#NULL.base| |old(#NULL.base)|) (= |#NULL.offset| |old(#NULL.offset)|))} is VALID [2020-07-18 05:15:53,857 INFO L280 TraceCheckUtils]: 1: Hoare triple {12392#(and (= |#valid| |old(#valid)|) (= |#NULL.base| |old(#NULL.base)|) (= |#NULL.offset| |old(#NULL.offset)|))} #NULL.base, #NULL.offset := 0, 0; {12371#true} is VALID [2020-07-18 05:15:53,857 INFO L280 TraceCheckUtils]: 2: Hoare triple {12371#true} #valid := #valid[0 := 0]; {12371#true} is VALID [2020-07-18 05:15:53,857 INFO L280 TraceCheckUtils]: 3: Hoare triple {12371#true} assume 0 < #StackHeapBarrier; {12371#true} is VALID [2020-07-18 05:15:53,857 INFO L280 TraceCheckUtils]: 4: Hoare triple {12371#true} assume true; {12371#true} is VALID [2020-07-18 05:15:53,858 INFO L275 TraceCheckUtils]: 5: Hoare quadruple {12371#true} {12371#true} #349#return; {12371#true} is VALID [2020-07-18 05:15:53,858 INFO L263 TraceCheckUtils]: 6: Hoare triple {12371#true} call #t~ret41 := main(); {12371#true} is VALID [2020-07-18 05:15:53,858 INFO L280 TraceCheckUtils]: 7: Hoare triple {12371#true} SUMMARY for call #t~malloc2.base, #t~malloc2.offset := #Ultimate.allocOnHeap(8); srcloc: mainENTRY {12378#(= 0 |main_#t~malloc2.offset|)} is VALID [2020-07-18 05:15:53,859 INFO L280 TraceCheckUtils]: 8: Hoare triple {12378#(= 0 |main_#t~malloc2.offset|)} ~root~0.base, ~root~0.offset := #t~malloc2.base, #t~malloc2.offset; {12371#true} is VALID [2020-07-18 05:15:53,859 INFO L280 TraceCheckUtils]: 9: Hoare triple {12371#true} havoc ~n~0.base, ~n~0.offset; {12371#true} is VALID [2020-07-18 05:15:53,859 INFO L280 TraceCheckUtils]: 10: Hoare triple {12371#true} SUMMARY for call write~$Pointer$(0, 0, ~root~0.base, ~root~0.offset, 4); srcloc: L542 {12371#true} is VALID [2020-07-18 05:15:53,859 INFO L280 TraceCheckUtils]: 11: Hoare triple {12371#true} SUMMARY for call write~$Pointer$(0, 0, ~root~0.base, 4 + ~root~0.offset, 4); srcloc: L542-1 {12371#true} is VALID [2020-07-18 05:15:53,859 INFO L280 TraceCheckUtils]: 12: Hoare triple {12371#true} assume -2147483648 <= #t~nondet3 && #t~nondet3 <= 2147483647; {12371#true} is VALID [2020-07-18 05:15:53,860 INFO L280 TraceCheckUtils]: 13: Hoare triple {12371#true} assume !(0 != #t~nondet3); {12371#true} is VALID [2020-07-18 05:15:53,860 INFO L280 TraceCheckUtils]: 14: Hoare triple {12371#true} havoc #t~nondet3; {12371#true} is VALID [2020-07-18 05:15:53,860 INFO L280 TraceCheckUtils]: 15: Hoare triple {12371#true} ~n~0.base, ~n~0.offset := 0, 0; {12371#true} is VALID [2020-07-18 05:15:53,860 INFO L280 TraceCheckUtils]: 16: Hoare triple {12371#true} havoc ~pred~0.base, ~pred~0.offset; {12371#true} is VALID [2020-07-18 05:15:53,860 INFO L280 TraceCheckUtils]: 17: Hoare triple {12371#true} assume !!(~root~0.base != 0 || ~root~0.offset != 0); {12371#true} is VALID [2020-07-18 05:15:53,861 INFO L280 TraceCheckUtils]: 18: Hoare triple {12371#true} ~pred~0.base, ~pred~0.offset := 0, 0; {12371#true} is VALID [2020-07-18 05:15:53,861 INFO L280 TraceCheckUtils]: 19: Hoare triple {12371#true} ~n~0.base, ~n~0.offset := ~root~0.base, ~root~0.offset; {12371#true} is VALID [2020-07-18 05:15:53,861 INFO L280 TraceCheckUtils]: 20: Hoare triple {12371#true} SUMMARY for call #t~mem22.base, #t~mem22.offset := read~$Pointer$(~n~0.base, ~n~0.offset, 4); srcloc: L570-5 {12371#true} is VALID [2020-07-18 05:15:53,861 INFO L280 TraceCheckUtils]: 21: Hoare triple {12371#true} #t~short24 := #t~mem22.base != 0 || #t~mem22.offset != 0; {12371#true} is VALID [2020-07-18 05:15:53,861 INFO L280 TraceCheckUtils]: 22: Hoare triple {12371#true} assume !#t~short24; {12371#true} is VALID [2020-07-18 05:15:53,862 INFO L280 TraceCheckUtils]: 23: Hoare triple {12371#true} SUMMARY for call #t~mem23.base, #t~mem23.offset := read~$Pointer$(~n~0.base, 4 + ~n~0.offset, 4); srcloc: L568-4 {12371#true} is VALID [2020-07-18 05:15:53,862 INFO L280 TraceCheckUtils]: 24: Hoare triple {12371#true} #t~short24 := #t~mem23.base != 0 || #t~mem23.offset != 0; {12371#true} is VALID [2020-07-18 05:15:53,862 INFO L280 TraceCheckUtils]: 25: Hoare triple {12371#true} assume !#t~short24; {12371#true} is VALID [2020-07-18 05:15:53,862 INFO L280 TraceCheckUtils]: 26: Hoare triple {12371#true} havoc #t~mem22.base, #t~mem22.offset; {12371#true} is VALID [2020-07-18 05:15:53,862 INFO L280 TraceCheckUtils]: 27: Hoare triple {12371#true} havoc #t~mem23.base, #t~mem23.offset; {12371#true} is VALID [2020-07-18 05:15:53,863 INFO L280 TraceCheckUtils]: 28: Hoare triple {12371#true} havoc #t~short24; {12371#true} is VALID [2020-07-18 05:15:53,863 INFO L280 TraceCheckUtils]: 29: Hoare triple {12371#true} assume !(~pred~0.base != 0 || ~pred~0.offset != 0); {12371#true} is VALID [2020-07-18 05:15:53,863 INFO L280 TraceCheckUtils]: 30: Hoare triple {12371#true} ~root~0.base, ~root~0.offset := 0, 0; {12371#true} is VALID [2020-07-18 05:15:53,863 INFO L280 TraceCheckUtils]: 31: Hoare triple {12371#true} SUMMARY for call ULTIMATE.dealloc(~n~0.base, ~n~0.offset); srcloc: L575 {12371#true} is VALID [2020-07-18 05:15:53,863 INFO L280 TraceCheckUtils]: 32: Hoare triple {12371#true} assume !(~root~0.base != 0 || ~root~0.offset != 0); {12371#true} is VALID [2020-07-18 05:15:53,880 INFO L280 TraceCheckUtils]: 33: Hoare triple {12371#true} SUMMARY for call #t~malloc29.base, #t~malloc29.offset := #Ultimate.allocOnHeap(8); srcloc: L565-2 {12379#(and (= 1 (select |#valid| |main_#t~malloc29.base|)) (= 0 |main_#t~malloc29.offset|))} is VALID [2020-07-18 05:15:53,881 INFO L280 TraceCheckUtils]: 34: Hoare triple {12379#(and (= 1 (select |#valid| |main_#t~malloc29.base|)) (= 0 |main_#t~malloc29.offset|))} ~a~0.base, ~a~0.offset := #t~malloc29.base, #t~malloc29.offset; {12380#(and (= 1 (select |#valid| main_~a~0.base)) (= 0 main_~a~0.offset))} is VALID [2020-07-18 05:15:53,881 INFO L280 TraceCheckUtils]: 35: Hoare triple {12380#(and (= 1 (select |#valid| main_~a~0.base)) (= 0 main_~a~0.offset))} assume !(~a~0.base == 0 && ~a~0.offset == 0); {12380#(and (= 1 (select |#valid| main_~a~0.base)) (= 0 main_~a~0.offset))} is VALID [2020-07-18 05:15:53,882 INFO L280 TraceCheckUtils]: 36: Hoare triple {12380#(and (= 1 (select |#valid| main_~a~0.base)) (= 0 main_~a~0.offset))} havoc ~t~0.base, ~t~0.offset; {12380#(and (= 1 (select |#valid| main_~a~0.base)) (= 0 main_~a~0.offset))} is VALID [2020-07-18 05:15:53,883 INFO L280 TraceCheckUtils]: 37: Hoare triple {12380#(and (= 1 (select |#valid| main_~a~0.base)) (= 0 main_~a~0.offset))} ~p~0.base, ~p~0.offset := ~a~0.base, ~a~0.offset; {12381#(and (= main_~a~0.base main_~p~0.base) (= 0 main_~p~0.offset) (= 0 main_~a~0.offset) (= 1 (select |#valid| main_~p~0.base)))} is VALID [2020-07-18 05:15:53,884 INFO L280 TraceCheckUtils]: 38: Hoare triple {12381#(and (= main_~a~0.base main_~p~0.base) (= 0 main_~p~0.offset) (= 0 main_~a~0.offset) (= 1 (select |#valid| main_~p~0.base)))} assume -2147483648 <= #t~nondet30 && #t~nondet30 <= 2147483647; {12381#(and (= main_~a~0.base main_~p~0.base) (= 0 main_~p~0.offset) (= 0 main_~a~0.offset) (= 1 (select |#valid| main_~p~0.base)))} is VALID [2020-07-18 05:15:53,884 INFO L280 TraceCheckUtils]: 39: Hoare triple {12381#(and (= main_~a~0.base main_~p~0.base) (= 0 main_~p~0.offset) (= 0 main_~a~0.offset) (= 1 (select |#valid| main_~p~0.base)))} assume !(0 != #t~nondet30); {12381#(and (= main_~a~0.base main_~p~0.base) (= 0 main_~p~0.offset) (= 0 main_~a~0.offset) (= 1 (select |#valid| main_~p~0.base)))} is VALID [2020-07-18 05:15:53,885 INFO L280 TraceCheckUtils]: 40: Hoare triple {12381#(and (= main_~a~0.base main_~p~0.base) (= 0 main_~p~0.offset) (= 0 main_~a~0.offset) (= 1 (select |#valid| main_~p~0.base)))} havoc #t~nondet30; {12381#(and (= main_~a~0.base main_~p~0.base) (= 0 main_~p~0.offset) (= 0 main_~a~0.offset) (= 1 (select |#valid| main_~p~0.base)))} is VALID [2020-07-18 05:15:53,886 INFO L280 TraceCheckUtils]: 41: Hoare triple {12381#(and (= main_~a~0.base main_~p~0.base) (= 0 main_~p~0.offset) (= 0 main_~a~0.offset) (= 1 (select |#valid| main_~p~0.base)))} assume -2147483648 <= #t~nondet33 && #t~nondet33 <= 2147483647; {12381#(and (= main_~a~0.base main_~p~0.base) (= 0 main_~p~0.offset) (= 0 main_~a~0.offset) (= 1 (select |#valid| main_~p~0.base)))} is VALID [2020-07-18 05:15:53,887 INFO L280 TraceCheckUtils]: 42: Hoare triple {12381#(and (= main_~a~0.base main_~p~0.base) (= 0 main_~p~0.offset) (= 0 main_~a~0.offset) (= 1 (select |#valid| main_~p~0.base)))} assume !!(0 != #t~nondet33); {12381#(and (= main_~a~0.base main_~p~0.base) (= 0 main_~p~0.offset) (= 0 main_~a~0.offset) (= 1 (select |#valid| main_~p~0.base)))} is VALID [2020-07-18 05:15:53,887 INFO L280 TraceCheckUtils]: 43: Hoare triple {12381#(and (= main_~a~0.base main_~p~0.base) (= 0 main_~p~0.offset) (= 0 main_~a~0.offset) (= 1 (select |#valid| main_~p~0.base)))} havoc #t~nondet33; {12381#(and (= main_~a~0.base main_~p~0.base) (= 0 main_~p~0.offset) (= 0 main_~a~0.offset) (= 1 (select |#valid| main_~p~0.base)))} is VALID [2020-07-18 05:15:53,888 INFO L280 TraceCheckUtils]: 44: Hoare triple {12381#(and (= main_~a~0.base main_~p~0.base) (= 0 main_~p~0.offset) (= 0 main_~a~0.offset) (= 1 (select |#valid| main_~p~0.base)))} SUMMARY for call write~int(2, ~p~0.base, ~p~0.offset, 4); srcloc: L596 {12381#(and (= main_~a~0.base main_~p~0.base) (= 0 main_~p~0.offset) (= 0 main_~a~0.offset) (= 1 (select |#valid| main_~p~0.base)))} is VALID [2020-07-18 05:15:53,889 INFO L280 TraceCheckUtils]: 45: Hoare triple {12381#(and (= main_~a~0.base main_~p~0.base) (= 0 main_~p~0.offset) (= 0 main_~a~0.offset) (= 1 (select |#valid| main_~p~0.base)))} SUMMARY for call #t~malloc34.base, #t~malloc34.offset := #Ultimate.allocOnHeap(8); srcloc: L596-1 {12382#(and (= main_~a~0.base main_~p~0.base) (= 0 main_~p~0.offset) (= 0 main_~a~0.offset) (not (= main_~p~0.base |main_#t~malloc34.base|)))} is VALID [2020-07-18 05:15:53,890 INFO L280 TraceCheckUtils]: 46: Hoare triple {12382#(and (= main_~a~0.base main_~p~0.base) (= 0 main_~p~0.offset) (= 0 main_~a~0.offset) (not (= main_~p~0.base |main_#t~malloc34.base|)))} ~t~0.base, ~t~0.offset := #t~malloc34.base, #t~malloc34.offset; {12383#(and (= main_~a~0.base main_~p~0.base) (= 0 main_~p~0.offset) (= 0 main_~a~0.offset) (not (= main_~t~0.base main_~p~0.base)))} is VALID [2020-07-18 05:15:53,890 INFO L280 TraceCheckUtils]: 47: Hoare triple {12383#(and (= main_~a~0.base main_~p~0.base) (= 0 main_~p~0.offset) (= 0 main_~a~0.offset) (not (= main_~t~0.base main_~p~0.base)))} assume !(~t~0.base == 0 && ~t~0.offset == 0); {12383#(and (= main_~a~0.base main_~p~0.base) (= 0 main_~p~0.offset) (= 0 main_~a~0.offset) (not (= main_~t~0.base main_~p~0.base)))} is VALID [2020-07-18 05:15:53,892 INFO L280 TraceCheckUtils]: 48: Hoare triple {12383#(and (= main_~a~0.base main_~p~0.base) (= 0 main_~p~0.offset) (= 0 main_~a~0.offset) (not (= main_~t~0.base main_~p~0.base)))} SUMMARY for call write~$Pointer$(~t~0.base, ~t~0.offset, ~p~0.base, 4 + ~p~0.offset, 4); srcloc: L598-3 {12384#(and (= main_~a~0.base main_~p~0.base) (not (= (select (select |#memory_$Pointer$.base| main_~p~0.base) (+ main_~p~0.offset 4)) main_~p~0.base)) (= 0 main_~p~0.offset) (= 0 main_~a~0.offset))} is VALID [2020-07-18 05:15:53,893 INFO L280 TraceCheckUtils]: 49: Hoare triple {12384#(and (= main_~a~0.base main_~p~0.base) (not (= (select (select |#memory_$Pointer$.base| main_~p~0.base) (+ main_~p~0.offset 4)) main_~p~0.base)) (= 0 main_~p~0.offset) (= 0 main_~a~0.offset))} SUMMARY for call #t~mem35.base, #t~mem35.offset := read~$Pointer$(~p~0.base, 4 + ~p~0.offset, 4); srcloc: L599 {12385#(and (= |main_#t~mem35.base| (select (select |#memory_$Pointer$.base| main_~a~0.base) 4)) (not (= main_~a~0.base |main_#t~mem35.base|)) (= |main_#t~mem35.offset| (select (select |#memory_$Pointer$.offset| main_~a~0.base) 4)) (= 0 main_~a~0.offset))} is VALID [2020-07-18 05:15:53,893 INFO L280 TraceCheckUtils]: 50: Hoare triple {12385#(and (= |main_#t~mem35.base| (select (select |#memory_$Pointer$.base| main_~a~0.base) 4)) (not (= main_~a~0.base |main_#t~mem35.base|)) (= |main_#t~mem35.offset| (select (select |#memory_$Pointer$.offset| main_~a~0.base) 4)) (= 0 main_~a~0.offset))} ~p~0.base, ~p~0.offset := #t~mem35.base, #t~mem35.offset; {12386#(and (not (= main_~a~0.base main_~p~0.base)) (= main_~p~0.base (select (select |#memory_$Pointer$.base| main_~a~0.base) 4)) (= 0 main_~a~0.offset) (= (select (select |#memory_$Pointer$.offset| main_~a~0.base) 4) main_~p~0.offset))} is VALID [2020-07-18 05:15:53,894 INFO L280 TraceCheckUtils]: 51: Hoare triple {12386#(and (not (= main_~a~0.base main_~p~0.base)) (= main_~p~0.base (select (select |#memory_$Pointer$.base| main_~a~0.base) 4)) (= 0 main_~a~0.offset) (= (select (select |#memory_$Pointer$.offset| main_~a~0.base) 4) main_~p~0.offset))} havoc #t~mem35.base, #t~mem35.offset; {12386#(and (not (= main_~a~0.base main_~p~0.base)) (= main_~p~0.base (select (select |#memory_$Pointer$.base| main_~a~0.base) 4)) (= 0 main_~a~0.offset) (= (select (select |#memory_$Pointer$.offset| main_~a~0.base) 4) main_~p~0.offset))} is VALID [2020-07-18 05:15:53,895 INFO L280 TraceCheckUtils]: 52: Hoare triple {12386#(and (not (= main_~a~0.base main_~p~0.base)) (= main_~p~0.base (select (select |#memory_$Pointer$.base| main_~a~0.base) 4)) (= 0 main_~a~0.offset) (= (select (select |#memory_$Pointer$.offset| main_~a~0.base) 4) main_~p~0.offset))} assume -2147483648 <= #t~nondet33 && #t~nondet33 <= 2147483647; {12386#(and (not (= main_~a~0.base main_~p~0.base)) (= main_~p~0.base (select (select |#memory_$Pointer$.base| main_~a~0.base) 4)) (= 0 main_~a~0.offset) (= (select (select |#memory_$Pointer$.offset| main_~a~0.base) 4) main_~p~0.offset))} is VALID [2020-07-18 05:15:53,896 INFO L280 TraceCheckUtils]: 53: Hoare triple {12386#(and (not (= main_~a~0.base main_~p~0.base)) (= main_~p~0.base (select (select |#memory_$Pointer$.base| main_~a~0.base) 4)) (= 0 main_~a~0.offset) (= (select (select |#memory_$Pointer$.offset| main_~a~0.base) 4) main_~p~0.offset))} assume !(0 != #t~nondet33); {12386#(and (not (= main_~a~0.base main_~p~0.base)) (= main_~p~0.base (select (select |#memory_$Pointer$.base| main_~a~0.base) 4)) (= 0 main_~a~0.offset) (= (select (select |#memory_$Pointer$.offset| main_~a~0.base) 4) main_~p~0.offset))} is VALID [2020-07-18 05:15:53,897 INFO L280 TraceCheckUtils]: 54: Hoare triple {12386#(and (not (= main_~a~0.base main_~p~0.base)) (= main_~p~0.base (select (select |#memory_$Pointer$.base| main_~a~0.base) 4)) (= 0 main_~a~0.offset) (= (select (select |#memory_$Pointer$.offset| main_~a~0.base) 4) main_~p~0.offset))} havoc #t~nondet33; {12386#(and (not (= main_~a~0.base main_~p~0.base)) (= main_~p~0.base (select (select |#memory_$Pointer$.base| main_~a~0.base) 4)) (= 0 main_~a~0.offset) (= (select (select |#memory_$Pointer$.offset| main_~a~0.base) 4) main_~p~0.offset))} is VALID [2020-07-18 05:15:53,898 INFO L280 TraceCheckUtils]: 55: Hoare triple {12386#(and (not (= main_~a~0.base main_~p~0.base)) (= main_~p~0.base (select (select |#memory_$Pointer$.base| main_~a~0.base) 4)) (= 0 main_~a~0.offset) (= (select (select |#memory_$Pointer$.offset| main_~a~0.base) 4) main_~p~0.offset))} SUMMARY for call write~int(3, ~p~0.base, ~p~0.offset, 4); srcloc: L595-5 {12387#(and (= 0 main_~a~0.offset) (= 3 (select (select |#memory_int| (select (select |#memory_$Pointer$.base| main_~a~0.base) 4)) (select (select |#memory_$Pointer$.offset| main_~a~0.base) 4))))} is VALID [2020-07-18 05:15:53,899 INFO L280 TraceCheckUtils]: 56: Hoare triple {12387#(and (= 0 main_~a~0.offset) (= 3 (select (select |#memory_int| (select (select |#memory_$Pointer$.base| main_~a~0.base) 4)) (select (select |#memory_$Pointer$.offset| main_~a~0.base) 4))))} ~p~0.base, ~p~0.offset := ~a~0.base, ~a~0.offset; {12388#(and (= 0 main_~p~0.offset) (= 3 (select (select |#memory_int| (select (select |#memory_$Pointer$.base| main_~p~0.base) (+ main_~p~0.offset 4))) (select (select |#memory_$Pointer$.offset| main_~p~0.base) (+ main_~p~0.offset 4)))))} is VALID [2020-07-18 05:15:53,900 INFO L280 TraceCheckUtils]: 57: Hoare triple {12388#(and (= 0 main_~p~0.offset) (= 3 (select (select |#memory_int| (select (select |#memory_$Pointer$.base| main_~p~0.base) (+ main_~p~0.offset 4))) (select (select |#memory_$Pointer$.offset| main_~p~0.base) (+ main_~p~0.offset 4)))))} SUMMARY for call #t~mem36 := read~int(~p~0.base, ~p~0.offset, 4); srcloc: L604-5 {12388#(and (= 0 main_~p~0.offset) (= 3 (select (select |#memory_int| (select (select |#memory_$Pointer$.base| main_~p~0.base) (+ main_~p~0.offset 4))) (select (select |#memory_$Pointer$.offset| main_~p~0.base) (+ main_~p~0.offset 4)))))} is VALID [2020-07-18 05:15:53,900 INFO L280 TraceCheckUtils]: 58: Hoare triple {12388#(and (= 0 main_~p~0.offset) (= 3 (select (select |#memory_int| (select (select |#memory_$Pointer$.base| main_~p~0.base) (+ main_~p~0.offset 4))) (select (select |#memory_$Pointer$.offset| main_~p~0.base) (+ main_~p~0.offset 4)))))} assume !!(2 == #t~mem36); {12388#(and (= 0 main_~p~0.offset) (= 3 (select (select |#memory_int| (select (select |#memory_$Pointer$.base| main_~p~0.base) (+ main_~p~0.offset 4))) (select (select |#memory_$Pointer$.offset| main_~p~0.base) (+ main_~p~0.offset 4)))))} is VALID [2020-07-18 05:15:53,901 INFO L280 TraceCheckUtils]: 59: Hoare triple {12388#(and (= 0 main_~p~0.offset) (= 3 (select (select |#memory_int| (select (select |#memory_$Pointer$.base| main_~p~0.base) (+ main_~p~0.offset 4))) (select (select |#memory_$Pointer$.offset| main_~p~0.base) (+ main_~p~0.offset 4)))))} havoc #t~mem36; {12388#(and (= 0 main_~p~0.offset) (= 3 (select (select |#memory_int| (select (select |#memory_$Pointer$.base| main_~p~0.base) (+ main_~p~0.offset 4))) (select (select |#memory_$Pointer$.offset| main_~p~0.base) (+ main_~p~0.offset 4)))))} is VALID [2020-07-18 05:15:53,902 INFO L280 TraceCheckUtils]: 60: Hoare triple {12388#(and (= 0 main_~p~0.offset) (= 3 (select (select |#memory_int| (select (select |#memory_$Pointer$.base| main_~p~0.base) (+ main_~p~0.offset 4))) (select (select |#memory_$Pointer$.offset| main_~p~0.base) (+ main_~p~0.offset 4)))))} SUMMARY for call #t~mem37.base, #t~mem37.offset := read~$Pointer$(~p~0.base, 4 + ~p~0.offset, 4); srcloc: L605 {12389#(= 3 (select (select |#memory_int| |main_#t~mem37.base|) |main_#t~mem37.offset|))} is VALID [2020-07-18 05:15:53,903 INFO L280 TraceCheckUtils]: 61: Hoare triple {12389#(= 3 (select (select |#memory_int| |main_#t~mem37.base|) |main_#t~mem37.offset|))} ~p~0.base, ~p~0.offset := #t~mem37.base, #t~mem37.offset; {12390#(= 3 (select (select |#memory_int| main_~p~0.base) main_~p~0.offset))} is VALID [2020-07-18 05:15:53,903 INFO L280 TraceCheckUtils]: 62: Hoare triple {12390#(= 3 (select (select |#memory_int| main_~p~0.base) main_~p~0.offset))} havoc #t~mem37.base, #t~mem37.offset; {12390#(= 3 (select (select |#memory_int| main_~p~0.base) main_~p~0.offset))} is VALID [2020-07-18 05:15:53,904 INFO L280 TraceCheckUtils]: 63: Hoare triple {12390#(= 3 (select (select |#memory_int| main_~p~0.base) main_~p~0.offset))} SUMMARY for call #t~mem36 := read~int(~p~0.base, ~p~0.offset, 4); srcloc: L604-5 {12390#(= 3 (select (select |#memory_int| main_~p~0.base) main_~p~0.offset))} is VALID [2020-07-18 05:15:53,904 INFO L280 TraceCheckUtils]: 64: Hoare triple {12390#(= 3 (select (select |#memory_int| main_~p~0.base) main_~p~0.offset))} assume !(2 == #t~mem36); {12390#(= 3 (select (select |#memory_int| main_~p~0.base) main_~p~0.offset))} is VALID [2020-07-18 05:15:53,905 INFO L280 TraceCheckUtils]: 65: Hoare triple {12390#(= 3 (select (select |#memory_int| main_~p~0.base) main_~p~0.offset))} havoc #t~mem36; {12390#(= 3 (select (select |#memory_int| main_~p~0.base) main_~p~0.offset))} is VALID [2020-07-18 05:15:53,905 INFO L280 TraceCheckUtils]: 66: Hoare triple {12390#(= 3 (select (select |#memory_int| main_~p~0.base) main_~p~0.offset))} SUMMARY for call #t~mem38 := read~int(~p~0.base, ~p~0.offset, 4); srcloc: L606-4 {12390#(= 3 (select (select |#memory_int| main_~p~0.base) main_~p~0.offset))} is VALID [2020-07-18 05:15:53,906 INFO L280 TraceCheckUtils]: 67: Hoare triple {12390#(= 3 (select (select |#memory_int| main_~p~0.base) main_~p~0.offset))} assume !(1 == #t~mem38); {12390#(= 3 (select (select |#memory_int| main_~p~0.base) main_~p~0.offset))} is VALID [2020-07-18 05:15:53,906 INFO L280 TraceCheckUtils]: 68: Hoare triple {12390#(= 3 (select (select |#memory_int| main_~p~0.base) main_~p~0.offset))} havoc #t~mem38; {12390#(= 3 (select (select |#memory_int| main_~p~0.base) main_~p~0.offset))} is VALID [2020-07-18 05:15:53,907 INFO L280 TraceCheckUtils]: 69: Hoare triple {12390#(= 3 (select (select |#memory_int| main_~p~0.base) main_~p~0.offset))} SUMMARY for call #t~mem40 := read~int(~p~0.base, ~p~0.offset, 4); srcloc: L606-5 {12391#(= |main_#t~mem40| 3)} is VALID [2020-07-18 05:15:53,908 INFO L280 TraceCheckUtils]: 70: Hoare triple {12391#(= |main_#t~mem40| 3)} assume 3 != #t~mem40; {12372#false} is VALID [2020-07-18 05:15:53,908 INFO L280 TraceCheckUtils]: 71: Hoare triple {12372#false} havoc #t~mem40; {12372#false} is VALID [2020-07-18 05:15:53,908 INFO L280 TraceCheckUtils]: 72: Hoare triple {12372#false} assume !false; {12372#false} is VALID [2020-07-18 05:15:53,919 INFO L134 CoverageAnalysis]: Checked inductivity of 5 backedges. 0 proven. 4 refuted. 0 times theorem prover too weak. 1 trivial. 0 not checked. [2020-07-18 05:15:53,919 INFO L354 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModulePreferences [1339026571] [2020-07-18 05:15:53,919 INFO L220 FreeRefinementEngine]: Constructing automaton from 0 perfect and 1 imperfect interpolant sequences. [2020-07-18 05:15:53,920 INFO L233 FreeRefinementEngine]: Number of different interpolants: perfect sequences [] imperfect sequences [17] total 17 [2020-07-18 05:15:53,920 INFO L156 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [234988031] [2020-07-18 05:15:53,920 INFO L78 Accepts]: Start accepts. Automaton has 17 states. Word has length 73 [2020-07-18 05:15:53,921 INFO L84 Accepts]: Finished accepts. word is accepted. [2020-07-18 05:15:53,921 INFO L86 InductivityCheck]: Starting indutivity check of a Floyd-Hoare automaton with 17 states. [2020-07-18 05:15:54,010 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-18 05:15:54,010 INFO L459 AbstractCegarLoop]: Interpolant automaton has 17 states [2020-07-18 05:15:54,010 INFO L143 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy FIXED_PREFERENCES [2020-07-18 05:15:54,011 INFO L142 InterpolantAutomaton]: Constructing interpolant automaton starting with 17 interpolants. [2020-07-18 05:15:54,011 INFO L144 InterpolantAutomaton]: CoverageRelationStatistics Valid=32, Invalid=240, Unknown=0, NotChecked=0, Total=272 [2020-07-18 05:15:54,011 INFO L87 Difference]: Start difference. First operand 245 states and 272 transitions. Second operand 17 states. [2020-07-18 05:15:59,680 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2020-07-18 05:15:59,680 INFO L93 Difference]: Finished difference Result 310 states and 340 transitions. [2020-07-18 05:15:59,680 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 21 states. [2020-07-18 05:15:59,680 INFO L78 Accepts]: Start accepts. Automaton has 17 states. Word has length 73 [2020-07-18 05:15:59,681 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2020-07-18 05:15:59,681 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 17 states. [2020-07-18 05:15:59,684 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 21 states to 21 states and 282 transitions. [2020-07-18 05:15:59,684 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 17 states. [2020-07-18 05:15:59,687 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 21 states to 21 states and 282 transitions. [2020-07-18 05:15:59,688 INFO L86 InductivityCheck]: Starting indutivity check of a Floyd-Hoare automaton with 21 states and 282 transitions. [2020-07-18 05:16:00,043 INFO L119 InductivityCheck]: Floyd-Hoare automaton has 282 edges. 282 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2020-07-18 05:16:00,050 INFO L225 Difference]: With dead ends: 310 [2020-07-18 05:16:00,051 INFO L226 Difference]: Without dead ends: 304 [2020-07-18 05:16:00,052 INFO L675 BasicCegarLoop]: 0 DeclaredPredicates, 36 GetRequests, 4 SyntacticMatches, 0 SemanticMatches, 32 ConstructedPredicates, 0 IntricatePredicates, 0 DeprecatedPredicates, 100 ImplicationChecksByTransitivity, 1.1s TimeCoverageRelationStatistics Valid=215, Invalid=907, Unknown=0, NotChecked=0, Total=1122 [2020-07-18 05:16:00,053 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 304 states. [2020-07-18 05:16:00,786 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 304 to 249. [2020-07-18 05:16:00,787 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2020-07-18 05:16:00,787 INFO L82 GeneralOperation]: Start isEquivalent. First operand 304 states. Second operand 249 states. [2020-07-18 05:16:00,787 INFO L74 IsIncluded]: Start isIncluded. First operand 304 states. Second operand 249 states. [2020-07-18 05:16:00,787 INFO L87 Difference]: Start difference. First operand 304 states. Second operand 249 states. [2020-07-18 05:16:00,794 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2020-07-18 05:16:00,795 INFO L93 Difference]: Finished difference Result 304 states and 334 transitions. [2020-07-18 05:16:00,795 INFO L276 IsEmpty]: Start isEmpty. Operand 304 states and 334 transitions. [2020-07-18 05:16:00,796 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2020-07-18 05:16:00,796 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2020-07-18 05:16:00,796 INFO L74 IsIncluded]: Start isIncluded. First operand 249 states. Second operand 304 states. [2020-07-18 05:16:00,796 INFO L87 Difference]: Start difference. First operand 249 states. Second operand 304 states. [2020-07-18 05:16:00,804 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2020-07-18 05:16:00,804 INFO L93 Difference]: Finished difference Result 304 states and 334 transitions. [2020-07-18 05:16:00,805 INFO L276 IsEmpty]: Start isEmpty. Operand 304 states and 334 transitions. [2020-07-18 05:16:00,805 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2020-07-18 05:16:00,806 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2020-07-18 05:16:00,806 INFO L88 GeneralOperation]: Finished isEquivalent. [2020-07-18 05:16:00,806 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2020-07-18 05:16:00,806 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 249 states. [2020-07-18 05:16:00,812 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 249 states to 249 states and 276 transitions. [2020-07-18 05:16:00,812 INFO L78 Accepts]: Start accepts. Automaton has 249 states and 276 transitions. Word has length 73 [2020-07-18 05:16:00,813 INFO L84 Accepts]: Finished accepts. word is rejected. [2020-07-18 05:16:00,813 INFO L479 AbstractCegarLoop]: Abstraction has 249 states and 276 transitions. [2020-07-18 05:16:00,813 INFO L480 AbstractCegarLoop]: Interpolant automaton has 17 states. [2020-07-18 05:16:00,813 INFO L86 InductivityCheck]: Starting indutivity check of a Floyd-Hoare automaton with 249 states and 276 transitions. [2020-07-18 05:16:01,276 INFO L119 InductivityCheck]: Floyd-Hoare automaton has 276 edges. 276 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2020-07-18 05:16:01,276 INFO L276 IsEmpty]: Start isEmpty. Operand 249 states and 276 transitions. [2020-07-18 05:16:01,277 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 74 [2020-07-18 05:16:01,278 INFO L414 BasicCegarLoop]: Found error trace [2020-07-18 05:16:01,278 INFO L422 BasicCegarLoop]: trace histogram [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, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1] [2020-07-18 05:16:01,278 WARN L516 AbstractCegarLoop]: Destroyed unattended storables created during the last iteration: SelfDestructingSolverStorable8 [2020-07-18 05:16:01,278 INFO L427 AbstractCegarLoop]: === Iteration 10 === [mainErr0ASSERT_VIOLATIONERROR_FUNCTION]=== [2020-07-18 05:16:01,279 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2020-07-18 05:16:01,279 INFO L82 PathProgramCache]: Analyzing trace with hash -1654345840, now seen corresponding path program 1 times [2020-07-18 05:16:01,279 INFO L163 FreeRefinementEngine]: Executing refinement strategy FIXED_PREFERENCES [2020-07-18 05:16:01,279 INFO L354 FreeRefinementEngine]: Using trace check IpTcStrategyModulePreferences [147143218] [2020-07-18 05:16:01,280 INFO L94 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2020-07-18 05:16:01,318 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2020-07-18 05:16:01,857 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2020-07-18 05:16:01,860 INFO L280 TraceCheckUtils]: 0: Hoare triple {14176#(and (= |#valid| |old(#valid)|) (= |#NULL.base| |old(#NULL.base)|) (= |#NULL.offset| |old(#NULL.offset)|))} #NULL.base, #NULL.offset := 0, 0; {14155#true} is VALID [2020-07-18 05:16:01,861 INFO L280 TraceCheckUtils]: 1: Hoare triple {14155#true} #valid := #valid[0 := 0]; {14155#true} is VALID [2020-07-18 05:16:01,861 INFO L280 TraceCheckUtils]: 2: Hoare triple {14155#true} assume 0 < #StackHeapBarrier; {14155#true} is VALID [2020-07-18 05:16:01,861 INFO L280 TraceCheckUtils]: 3: Hoare triple {14155#true} assume true; {14155#true} is VALID [2020-07-18 05:16:01,861 INFO L275 TraceCheckUtils]: 4: Hoare quadruple {14155#true} {14155#true} #349#return; {14155#true} is VALID [2020-07-18 05:16:01,862 INFO L263 TraceCheckUtils]: 0: Hoare triple {14155#true} call ULTIMATE.init(); {14176#(and (= |#valid| |old(#valid)|) (= |#NULL.base| |old(#NULL.base)|) (= |#NULL.offset| |old(#NULL.offset)|))} is VALID [2020-07-18 05:16:01,863 INFO L280 TraceCheckUtils]: 1: Hoare triple {14176#(and (= |#valid| |old(#valid)|) (= |#NULL.base| |old(#NULL.base)|) (= |#NULL.offset| |old(#NULL.offset)|))} #NULL.base, #NULL.offset := 0, 0; {14155#true} is VALID [2020-07-18 05:16:01,863 INFO L280 TraceCheckUtils]: 2: Hoare triple {14155#true} #valid := #valid[0 := 0]; {14155#true} is VALID [2020-07-18 05:16:01,863 INFO L280 TraceCheckUtils]: 3: Hoare triple {14155#true} assume 0 < #StackHeapBarrier; {14155#true} is VALID [2020-07-18 05:16:01,863 INFO L280 TraceCheckUtils]: 4: Hoare triple {14155#true} assume true; {14155#true} is VALID [2020-07-18 05:16:01,864 INFO L275 TraceCheckUtils]: 5: Hoare quadruple {14155#true} {14155#true} #349#return; {14155#true} is VALID [2020-07-18 05:16:01,864 INFO L263 TraceCheckUtils]: 6: Hoare triple {14155#true} call #t~ret41 := main(); {14155#true} is VALID [2020-07-18 05:16:01,864 INFO L280 TraceCheckUtils]: 7: Hoare triple {14155#true} SUMMARY for call #t~malloc2.base, #t~malloc2.offset := #Ultimate.allocOnHeap(8); srcloc: mainENTRY {14162#(= 0 |main_#t~malloc2.offset|)} is VALID [2020-07-18 05:16:01,865 INFO L280 TraceCheckUtils]: 8: Hoare triple {14162#(= 0 |main_#t~malloc2.offset|)} ~root~0.base, ~root~0.offset := #t~malloc2.base, #t~malloc2.offset; {14155#true} is VALID [2020-07-18 05:16:01,865 INFO L280 TraceCheckUtils]: 9: Hoare triple {14155#true} havoc ~n~0.base, ~n~0.offset; {14155#true} is VALID [2020-07-18 05:16:01,865 INFO L280 TraceCheckUtils]: 10: Hoare triple {14155#true} SUMMARY for call write~$Pointer$(0, 0, ~root~0.base, ~root~0.offset, 4); srcloc: L542 {14155#true} is VALID [2020-07-18 05:16:01,865 INFO L280 TraceCheckUtils]: 11: Hoare triple {14155#true} SUMMARY for call write~$Pointer$(0, 0, ~root~0.base, 4 + ~root~0.offset, 4); srcloc: L542-1 {14155#true} is VALID [2020-07-18 05:16:01,865 INFO L280 TraceCheckUtils]: 12: Hoare triple {14155#true} assume -2147483648 <= #t~nondet3 && #t~nondet3 <= 2147483647; {14155#true} is VALID [2020-07-18 05:16:01,865 INFO L280 TraceCheckUtils]: 13: Hoare triple {14155#true} assume !(0 != #t~nondet3); {14155#true} is VALID [2020-07-18 05:16:01,866 INFO L280 TraceCheckUtils]: 14: Hoare triple {14155#true} havoc #t~nondet3; {14155#true} is VALID [2020-07-18 05:16:01,866 INFO L280 TraceCheckUtils]: 15: Hoare triple {14155#true} ~n~0.base, ~n~0.offset := 0, 0; {14155#true} is VALID [2020-07-18 05:16:01,866 INFO L280 TraceCheckUtils]: 16: Hoare triple {14155#true} havoc ~pred~0.base, ~pred~0.offset; {14155#true} is VALID [2020-07-18 05:16:01,866 INFO L280 TraceCheckUtils]: 17: Hoare triple {14155#true} assume !!(~root~0.base != 0 || ~root~0.offset != 0); {14155#true} is VALID [2020-07-18 05:16:01,866 INFO L280 TraceCheckUtils]: 18: Hoare triple {14155#true} ~pred~0.base, ~pred~0.offset := 0, 0; {14155#true} is VALID [2020-07-18 05:16:01,867 INFO L280 TraceCheckUtils]: 19: Hoare triple {14155#true} ~n~0.base, ~n~0.offset := ~root~0.base, ~root~0.offset; {14155#true} is VALID [2020-07-18 05:16:01,867 INFO L280 TraceCheckUtils]: 20: Hoare triple {14155#true} SUMMARY for call #t~mem22.base, #t~mem22.offset := read~$Pointer$(~n~0.base, ~n~0.offset, 4); srcloc: L570-5 {14155#true} is VALID [2020-07-18 05:16:01,867 INFO L280 TraceCheckUtils]: 21: Hoare triple {14155#true} #t~short24 := #t~mem22.base != 0 || #t~mem22.offset != 0; {14155#true} is VALID [2020-07-18 05:16:01,867 INFO L280 TraceCheckUtils]: 22: Hoare triple {14155#true} assume !#t~short24; {14155#true} is VALID [2020-07-18 05:16:01,867 INFO L280 TraceCheckUtils]: 23: Hoare triple {14155#true} SUMMARY for call #t~mem23.base, #t~mem23.offset := read~$Pointer$(~n~0.base, 4 + ~n~0.offset, 4); srcloc: L568-4 {14155#true} is VALID [2020-07-18 05:16:01,867 INFO L280 TraceCheckUtils]: 24: Hoare triple {14155#true} #t~short24 := #t~mem23.base != 0 || #t~mem23.offset != 0; {14155#true} is VALID [2020-07-18 05:16:01,867 INFO L280 TraceCheckUtils]: 25: Hoare triple {14155#true} assume !#t~short24; {14155#true} is VALID [2020-07-18 05:16:01,867 INFO L280 TraceCheckUtils]: 26: Hoare triple {14155#true} havoc #t~mem22.base, #t~mem22.offset; {14155#true} is VALID [2020-07-18 05:16:01,868 INFO L280 TraceCheckUtils]: 27: Hoare triple {14155#true} havoc #t~mem23.base, #t~mem23.offset; {14155#true} is VALID [2020-07-18 05:16:01,868 INFO L280 TraceCheckUtils]: 28: Hoare triple {14155#true} havoc #t~short24; {14155#true} is VALID [2020-07-18 05:16:01,868 INFO L280 TraceCheckUtils]: 29: Hoare triple {14155#true} assume !(~pred~0.base != 0 || ~pred~0.offset != 0); {14155#true} is VALID [2020-07-18 05:16:01,868 INFO L280 TraceCheckUtils]: 30: Hoare triple {14155#true} ~root~0.base, ~root~0.offset := 0, 0; {14155#true} is VALID [2020-07-18 05:16:01,868 INFO L280 TraceCheckUtils]: 31: Hoare triple {14155#true} SUMMARY for call ULTIMATE.dealloc(~n~0.base, ~n~0.offset); srcloc: L575 {14155#true} is VALID [2020-07-18 05:16:01,868 INFO L280 TraceCheckUtils]: 32: Hoare triple {14155#true} assume !(~root~0.base != 0 || ~root~0.offset != 0); {14155#true} is VALID [2020-07-18 05:16:01,869 INFO L280 TraceCheckUtils]: 33: Hoare triple {14155#true} SUMMARY for call #t~malloc29.base, #t~malloc29.offset := #Ultimate.allocOnHeap(8); srcloc: L565-2 {14163#(and (= 1 (select |#valid| |main_#t~malloc29.base|)) (= 0 |main_#t~malloc29.offset|))} is VALID [2020-07-18 05:16:01,870 INFO L280 TraceCheckUtils]: 34: Hoare triple {14163#(and (= 1 (select |#valid| |main_#t~malloc29.base|)) (= 0 |main_#t~malloc29.offset|))} ~a~0.base, ~a~0.offset := #t~malloc29.base, #t~malloc29.offset; {14164#(and (= 1 (select |#valid| main_~a~0.base)) (= 0 main_~a~0.offset))} is VALID [2020-07-18 05:16:01,870 INFO L280 TraceCheckUtils]: 35: Hoare triple {14164#(and (= 1 (select |#valid| main_~a~0.base)) (= 0 main_~a~0.offset))} assume !(~a~0.base == 0 && ~a~0.offset == 0); {14164#(and (= 1 (select |#valid| main_~a~0.base)) (= 0 main_~a~0.offset))} is VALID [2020-07-18 05:16:01,871 INFO L280 TraceCheckUtils]: 36: Hoare triple {14164#(and (= 1 (select |#valid| main_~a~0.base)) (= 0 main_~a~0.offset))} havoc ~t~0.base, ~t~0.offset; {14164#(and (= 1 (select |#valid| main_~a~0.base)) (= 0 main_~a~0.offset))} is VALID [2020-07-18 05:16:01,871 INFO L280 TraceCheckUtils]: 37: Hoare triple {14164#(and (= 1 (select |#valid| main_~a~0.base)) (= 0 main_~a~0.offset))} ~p~0.base, ~p~0.offset := ~a~0.base, ~a~0.offset; {14165#(and (= main_~a~0.base main_~p~0.base) (= 0 main_~p~0.offset) (= 0 main_~a~0.offset) (= 1 (select |#valid| main_~p~0.base)))} is VALID [2020-07-18 05:16:01,872 INFO L280 TraceCheckUtils]: 38: Hoare triple {14165#(and (= main_~a~0.base main_~p~0.base) (= 0 main_~p~0.offset) (= 0 main_~a~0.offset) (= 1 (select |#valid| main_~p~0.base)))} assume -2147483648 <= #t~nondet30 && #t~nondet30 <= 2147483647; {14165#(and (= main_~a~0.base main_~p~0.base) (= 0 main_~p~0.offset) (= 0 main_~a~0.offset) (= 1 (select |#valid| main_~p~0.base)))} is VALID [2020-07-18 05:16:01,872 INFO L280 TraceCheckUtils]: 39: Hoare triple {14165#(and (= main_~a~0.base main_~p~0.base) (= 0 main_~p~0.offset) (= 0 main_~a~0.offset) (= 1 (select |#valid| main_~p~0.base)))} assume !!(0 != #t~nondet30); {14165#(and (= main_~a~0.base main_~p~0.base) (= 0 main_~p~0.offset) (= 0 main_~a~0.offset) (= 1 (select |#valid| main_~p~0.base)))} is VALID [2020-07-18 05:16:01,873 INFO L280 TraceCheckUtils]: 40: Hoare triple {14165#(and (= main_~a~0.base main_~p~0.base) (= 0 main_~p~0.offset) (= 0 main_~a~0.offset) (= 1 (select |#valid| main_~p~0.base)))} havoc #t~nondet30; {14165#(and (= main_~a~0.base main_~p~0.base) (= 0 main_~p~0.offset) (= 0 main_~a~0.offset) (= 1 (select |#valid| main_~p~0.base)))} is VALID [2020-07-18 05:16:01,873 INFO L280 TraceCheckUtils]: 41: Hoare triple {14165#(and (= main_~a~0.base main_~p~0.base) (= 0 main_~p~0.offset) (= 0 main_~a~0.offset) (= 1 (select |#valid| main_~p~0.base)))} SUMMARY for call write~int(1, ~p~0.base, ~p~0.offset, 4); srcloc: L589 {14165#(and (= main_~a~0.base main_~p~0.base) (= 0 main_~p~0.offset) (= 0 main_~a~0.offset) (= 1 (select |#valid| main_~p~0.base)))} is VALID [2020-07-18 05:16:01,874 INFO L280 TraceCheckUtils]: 42: Hoare triple {14165#(and (= main_~a~0.base main_~p~0.base) (= 0 main_~p~0.offset) (= 0 main_~a~0.offset) (= 1 (select |#valid| main_~p~0.base)))} SUMMARY for call #t~malloc31.base, #t~malloc31.offset := #Ultimate.allocOnHeap(8); srcloc: L589-1 {14166#(and (= main_~a~0.base main_~p~0.base) (not (= main_~p~0.base |main_#t~malloc31.base|)) (= 0 main_~p~0.offset) (= 0 main_~a~0.offset))} is VALID [2020-07-18 05:16:01,875 INFO L280 TraceCheckUtils]: 43: Hoare triple {14166#(and (= main_~a~0.base main_~p~0.base) (not (= main_~p~0.base |main_#t~malloc31.base|)) (= 0 main_~p~0.offset) (= 0 main_~a~0.offset))} ~t~0.base, ~t~0.offset := #t~malloc31.base, #t~malloc31.offset; {14167#(and (= main_~a~0.base main_~p~0.base) (= 0 main_~p~0.offset) (= 0 main_~a~0.offset) (not (= main_~t~0.base main_~p~0.base)))} is VALID [2020-07-18 05:16:01,876 INFO L280 TraceCheckUtils]: 44: Hoare triple {14167#(and (= main_~a~0.base main_~p~0.base) (= 0 main_~p~0.offset) (= 0 main_~a~0.offset) (not (= main_~t~0.base main_~p~0.base)))} assume !(~t~0.base == 0 && ~t~0.offset == 0); {14167#(and (= main_~a~0.base main_~p~0.base) (= 0 main_~p~0.offset) (= 0 main_~a~0.offset) (not (= main_~t~0.base main_~p~0.base)))} is VALID [2020-07-18 05:16:01,877 INFO L280 TraceCheckUtils]: 45: Hoare triple {14167#(and (= main_~a~0.base main_~p~0.base) (= 0 main_~p~0.offset) (= 0 main_~a~0.offset) (not (= main_~t~0.base main_~p~0.base)))} SUMMARY for call write~$Pointer$(~t~0.base, ~t~0.offset, ~p~0.base, 4 + ~p~0.offset, 4); srcloc: L591-3 {14168#(and (= main_~a~0.base main_~p~0.base) (not (= (select (select |#memory_$Pointer$.base| main_~p~0.base) (+ main_~p~0.offset 4)) main_~p~0.base)) (= 0 main_~p~0.offset) (= 0 main_~a~0.offset))} is VALID [2020-07-18 05:16:01,878 INFO L280 TraceCheckUtils]: 46: Hoare triple {14168#(and (= main_~a~0.base main_~p~0.base) (not (= (select (select |#memory_$Pointer$.base| main_~p~0.base) (+ main_~p~0.offset 4)) main_~p~0.base)) (= 0 main_~p~0.offset) (= 0 main_~a~0.offset))} SUMMARY for call #t~mem32.base, #t~mem32.offset := read~$Pointer$(~p~0.base, 4 + ~p~0.offset, 4); srcloc: L592 {14169#(and (not (= main_~a~0.base |main_#t~mem32.base|)) (= 0 main_~a~0.offset) (= |main_#t~mem32.offset| (select (select |#memory_$Pointer$.offset| main_~a~0.base) 4)) (= |main_#t~mem32.base| (select (select |#memory_$Pointer$.base| main_~a~0.base) 4)))} is VALID [2020-07-18 05:16:01,878 INFO L280 TraceCheckUtils]: 47: Hoare triple {14169#(and (not (= main_~a~0.base |main_#t~mem32.base|)) (= 0 main_~a~0.offset) (= |main_#t~mem32.offset| (select (select |#memory_$Pointer$.offset| main_~a~0.base) 4)) (= |main_#t~mem32.base| (select (select |#memory_$Pointer$.base| main_~a~0.base) 4)))} ~p~0.base, ~p~0.offset := #t~mem32.base, #t~mem32.offset; {14170#(and (not (= main_~a~0.base main_~p~0.base)) (= main_~p~0.base (select (select |#memory_$Pointer$.base| main_~a~0.base) 4)) (= 0 main_~a~0.offset) (= (select (select |#memory_$Pointer$.offset| main_~a~0.base) 4) main_~p~0.offset))} is VALID [2020-07-18 05:16:01,879 INFO L280 TraceCheckUtils]: 48: Hoare triple {14170#(and (not (= main_~a~0.base main_~p~0.base)) (= main_~p~0.base (select (select |#memory_$Pointer$.base| main_~a~0.base) 4)) (= 0 main_~a~0.offset) (= (select (select |#memory_$Pointer$.offset| main_~a~0.base) 4) main_~p~0.offset))} havoc #t~mem32.base, #t~mem32.offset; {14170#(and (not (= main_~a~0.base main_~p~0.base)) (= main_~p~0.base (select (select |#memory_$Pointer$.base| main_~a~0.base) 4)) (= 0 main_~a~0.offset) (= (select (select |#memory_$Pointer$.offset| main_~a~0.base) 4) main_~p~0.offset))} is VALID [2020-07-18 05:16:01,879 INFO L280 TraceCheckUtils]: 49: Hoare triple {14170#(and (not (= main_~a~0.base main_~p~0.base)) (= main_~p~0.base (select (select |#memory_$Pointer$.base| main_~a~0.base) 4)) (= 0 main_~a~0.offset) (= (select (select |#memory_$Pointer$.offset| main_~a~0.base) 4) main_~p~0.offset))} assume -2147483648 <= #t~nondet30 && #t~nondet30 <= 2147483647; {14170#(and (not (= main_~a~0.base main_~p~0.base)) (= main_~p~0.base (select (select |#memory_$Pointer$.base| main_~a~0.base) 4)) (= 0 main_~a~0.offset) (= (select (select |#memory_$Pointer$.offset| main_~a~0.base) 4) main_~p~0.offset))} is VALID [2020-07-18 05:16:01,880 INFO L280 TraceCheckUtils]: 50: Hoare triple {14170#(and (not (= main_~a~0.base main_~p~0.base)) (= main_~p~0.base (select (select |#memory_$Pointer$.base| main_~a~0.base) 4)) (= 0 main_~a~0.offset) (= (select (select |#memory_$Pointer$.offset| main_~a~0.base) 4) main_~p~0.offset))} assume !(0 != #t~nondet30); {14170#(and (not (= main_~a~0.base main_~p~0.base)) (= main_~p~0.base (select (select |#memory_$Pointer$.base| main_~a~0.base) 4)) (= 0 main_~a~0.offset) (= (select (select |#memory_$Pointer$.offset| main_~a~0.base) 4) main_~p~0.offset))} is VALID [2020-07-18 05:16:01,881 INFO L280 TraceCheckUtils]: 51: Hoare triple {14170#(and (not (= main_~a~0.base main_~p~0.base)) (= main_~p~0.base (select (select |#memory_$Pointer$.base| main_~a~0.base) 4)) (= 0 main_~a~0.offset) (= (select (select |#memory_$Pointer$.offset| main_~a~0.base) 4) main_~p~0.offset))} havoc #t~nondet30; {14170#(and (not (= main_~a~0.base main_~p~0.base)) (= main_~p~0.base (select (select |#memory_$Pointer$.base| main_~a~0.base) 4)) (= 0 main_~a~0.offset) (= (select (select |#memory_$Pointer$.offset| main_~a~0.base) 4) main_~p~0.offset))} is VALID [2020-07-18 05:16:01,882 INFO L280 TraceCheckUtils]: 52: Hoare triple {14170#(and (not (= main_~a~0.base main_~p~0.base)) (= main_~p~0.base (select (select |#memory_$Pointer$.base| main_~a~0.base) 4)) (= 0 main_~a~0.offset) (= (select (select |#memory_$Pointer$.offset| main_~a~0.base) 4) main_~p~0.offset))} assume -2147483648 <= #t~nondet33 && #t~nondet33 <= 2147483647; {14170#(and (not (= main_~a~0.base main_~p~0.base)) (= main_~p~0.base (select (select |#memory_$Pointer$.base| main_~a~0.base) 4)) (= 0 main_~a~0.offset) (= (select (select |#memory_$Pointer$.offset| main_~a~0.base) 4) main_~p~0.offset))} is VALID [2020-07-18 05:16:01,882 INFO L280 TraceCheckUtils]: 53: Hoare triple {14170#(and (not (= main_~a~0.base main_~p~0.base)) (= main_~p~0.base (select (select |#memory_$Pointer$.base| main_~a~0.base) 4)) (= 0 main_~a~0.offset) (= (select (select |#memory_$Pointer$.offset| main_~a~0.base) 4) main_~p~0.offset))} assume !(0 != #t~nondet33); {14170#(and (not (= main_~a~0.base main_~p~0.base)) (= main_~p~0.base (select (select |#memory_$Pointer$.base| main_~a~0.base) 4)) (= 0 main_~a~0.offset) (= (select (select |#memory_$Pointer$.offset| main_~a~0.base) 4) main_~p~0.offset))} is VALID [2020-07-18 05:16:01,883 INFO L280 TraceCheckUtils]: 54: Hoare triple {14170#(and (not (= main_~a~0.base main_~p~0.base)) (= main_~p~0.base (select (select |#memory_$Pointer$.base| main_~a~0.base) 4)) (= 0 main_~a~0.offset) (= (select (select |#memory_$Pointer$.offset| main_~a~0.base) 4) main_~p~0.offset))} havoc #t~nondet33; {14170#(and (not (= main_~a~0.base main_~p~0.base)) (= main_~p~0.base (select (select |#memory_$Pointer$.base| main_~a~0.base) 4)) (= 0 main_~a~0.offset) (= (select (select |#memory_$Pointer$.offset| main_~a~0.base) 4) main_~p~0.offset))} is VALID [2020-07-18 05:16:01,884 INFO L280 TraceCheckUtils]: 55: Hoare triple {14170#(and (not (= main_~a~0.base main_~p~0.base)) (= main_~p~0.base (select (select |#memory_$Pointer$.base| main_~a~0.base) 4)) (= 0 main_~a~0.offset) (= (select (select |#memory_$Pointer$.offset| main_~a~0.base) 4) main_~p~0.offset))} SUMMARY for call write~int(3, ~p~0.base, ~p~0.offset, 4); srcloc: L595-5 {14171#(and (= 0 main_~a~0.offset) (= 3 (select (select |#memory_int| (select (select |#memory_$Pointer$.base| main_~a~0.base) 4)) (select (select |#memory_$Pointer$.offset| main_~a~0.base) 4))))} is VALID [2020-07-18 05:16:01,885 INFO L280 TraceCheckUtils]: 56: Hoare triple {14171#(and (= 0 main_~a~0.offset) (= 3 (select (select |#memory_int| (select (select |#memory_$Pointer$.base| main_~a~0.base) 4)) (select (select |#memory_$Pointer$.offset| main_~a~0.base) 4))))} ~p~0.base, ~p~0.offset := ~a~0.base, ~a~0.offset; {14172#(and (= 0 main_~p~0.offset) (= 3 (select (select |#memory_int| (select (select |#memory_$Pointer$.base| main_~p~0.base) (+ main_~p~0.offset 4))) (select (select |#memory_$Pointer$.offset| main_~p~0.base) (+ main_~p~0.offset 4)))))} is VALID [2020-07-18 05:16:01,886 INFO L280 TraceCheckUtils]: 57: Hoare triple {14172#(and (= 0 main_~p~0.offset) (= 3 (select (select |#memory_int| (select (select |#memory_$Pointer$.base| main_~p~0.base) (+ main_~p~0.offset 4))) (select (select |#memory_$Pointer$.offset| main_~p~0.base) (+ main_~p~0.offset 4)))))} SUMMARY for call #t~mem36 := read~int(~p~0.base, ~p~0.offset, 4); srcloc: L604-5 {14172#(and (= 0 main_~p~0.offset) (= 3 (select (select |#memory_int| (select (select |#memory_$Pointer$.base| main_~p~0.base) (+ main_~p~0.offset 4))) (select (select |#memory_$Pointer$.offset| main_~p~0.base) (+ main_~p~0.offset 4)))))} is VALID [2020-07-18 05:16:01,886 INFO L280 TraceCheckUtils]: 58: Hoare triple {14172#(and (= 0 main_~p~0.offset) (= 3 (select (select |#memory_int| (select (select |#memory_$Pointer$.base| main_~p~0.base) (+ main_~p~0.offset 4))) (select (select |#memory_$Pointer$.offset| main_~p~0.base) (+ main_~p~0.offset 4)))))} assume !(2 == #t~mem36); {14172#(and (= 0 main_~p~0.offset) (= 3 (select (select |#memory_int| (select (select |#memory_$Pointer$.base| main_~p~0.base) (+ main_~p~0.offset 4))) (select (select |#memory_$Pointer$.offset| main_~p~0.base) (+ main_~p~0.offset 4)))))} is VALID [2020-07-18 05:16:01,887 INFO L280 TraceCheckUtils]: 59: Hoare triple {14172#(and (= 0 main_~p~0.offset) (= 3 (select (select |#memory_int| (select (select |#memory_$Pointer$.base| main_~p~0.base) (+ main_~p~0.offset 4))) (select (select |#memory_$Pointer$.offset| main_~p~0.base) (+ main_~p~0.offset 4)))))} havoc #t~mem36; {14172#(and (= 0 main_~p~0.offset) (= 3 (select (select |#memory_int| (select (select |#memory_$Pointer$.base| main_~p~0.base) (+ main_~p~0.offset 4))) (select (select |#memory_$Pointer$.offset| main_~p~0.base) (+ main_~p~0.offset 4)))))} is VALID [2020-07-18 05:16:01,887 INFO L280 TraceCheckUtils]: 60: Hoare triple {14172#(and (= 0 main_~p~0.offset) (= 3 (select (select |#memory_int| (select (select |#memory_$Pointer$.base| main_~p~0.base) (+ main_~p~0.offset 4))) (select (select |#memory_$Pointer$.offset| main_~p~0.base) (+ main_~p~0.offset 4)))))} SUMMARY for call #t~mem38 := read~int(~p~0.base, ~p~0.offset, 4); srcloc: L606-4 {14172#(and (= 0 main_~p~0.offset) (= 3 (select (select |#memory_int| (select (select |#memory_$Pointer$.base| main_~p~0.base) (+ main_~p~0.offset 4))) (select (select |#memory_$Pointer$.offset| main_~p~0.base) (+ main_~p~0.offset 4)))))} is VALID [2020-07-18 05:16:01,888 INFO L280 TraceCheckUtils]: 61: Hoare triple {14172#(and (= 0 main_~p~0.offset) (= 3 (select (select |#memory_int| (select (select |#memory_$Pointer$.base| main_~p~0.base) (+ main_~p~0.offset 4))) (select (select |#memory_$Pointer$.offset| main_~p~0.base) (+ main_~p~0.offset 4)))))} assume !!(1 == #t~mem38); {14172#(and (= 0 main_~p~0.offset) (= 3 (select (select |#memory_int| (select (select |#memory_$Pointer$.base| main_~p~0.base) (+ main_~p~0.offset 4))) (select (select |#memory_$Pointer$.offset| main_~p~0.base) (+ main_~p~0.offset 4)))))} is VALID [2020-07-18 05:16:01,889 INFO L280 TraceCheckUtils]: 62: Hoare triple {14172#(and (= 0 main_~p~0.offset) (= 3 (select (select |#memory_int| (select (select |#memory_$Pointer$.base| main_~p~0.base) (+ main_~p~0.offset 4))) (select (select |#memory_$Pointer$.offset| main_~p~0.base) (+ main_~p~0.offset 4)))))} havoc #t~mem38; {14172#(and (= 0 main_~p~0.offset) (= 3 (select (select |#memory_int| (select (select |#memory_$Pointer$.base| main_~p~0.base) (+ main_~p~0.offset 4))) (select (select |#memory_$Pointer$.offset| main_~p~0.base) (+ main_~p~0.offset 4)))))} is VALID [2020-07-18 05:16:01,890 INFO L280 TraceCheckUtils]: 63: Hoare triple {14172#(and (= 0 main_~p~0.offset) (= 3 (select (select |#memory_int| (select (select |#memory_$Pointer$.base| main_~p~0.base) (+ main_~p~0.offset 4))) (select (select |#memory_$Pointer$.offset| main_~p~0.base) (+ main_~p~0.offset 4)))))} SUMMARY for call #t~mem39.base, #t~mem39.offset := read~$Pointer$(~p~0.base, 4 + ~p~0.offset, 4); srcloc: L607 {14173#(= 3 (select (select |#memory_int| |main_#t~mem39.base|) |main_#t~mem39.offset|))} is VALID [2020-07-18 05:16:01,890 INFO L280 TraceCheckUtils]: 64: Hoare triple {14173#(= 3 (select (select |#memory_int| |main_#t~mem39.base|) |main_#t~mem39.offset|))} ~p~0.base, ~p~0.offset := #t~mem39.base, #t~mem39.offset; {14174#(= 3 (select (select |#memory_int| main_~p~0.base) main_~p~0.offset))} is VALID [2020-07-18 05:16:01,891 INFO L280 TraceCheckUtils]: 65: Hoare triple {14174#(= 3 (select (select |#memory_int| main_~p~0.base) main_~p~0.offset))} havoc #t~mem39.base, #t~mem39.offset; {14174#(= 3 (select (select |#memory_int| main_~p~0.base) main_~p~0.offset))} is VALID [2020-07-18 05:16:01,891 INFO L280 TraceCheckUtils]: 66: Hoare triple {14174#(= 3 (select (select |#memory_int| main_~p~0.base) main_~p~0.offset))} SUMMARY for call #t~mem38 := read~int(~p~0.base, ~p~0.offset, 4); srcloc: L606-4 {14174#(= 3 (select (select |#memory_int| main_~p~0.base) main_~p~0.offset))} is VALID [2020-07-18 05:16:01,891 INFO L280 TraceCheckUtils]: 67: Hoare triple {14174#(= 3 (select (select |#memory_int| main_~p~0.base) main_~p~0.offset))} assume !(1 == #t~mem38); {14174#(= 3 (select (select |#memory_int| main_~p~0.base) main_~p~0.offset))} is VALID [2020-07-18 05:16:01,892 INFO L280 TraceCheckUtils]: 68: Hoare triple {14174#(= 3 (select (select |#memory_int| main_~p~0.base) main_~p~0.offset))} havoc #t~mem38; {14174#(= 3 (select (select |#memory_int| main_~p~0.base) main_~p~0.offset))} is VALID [2020-07-18 05:16:01,892 INFO L280 TraceCheckUtils]: 69: Hoare triple {14174#(= 3 (select (select |#memory_int| main_~p~0.base) main_~p~0.offset))} SUMMARY for call #t~mem40 := read~int(~p~0.base, ~p~0.offset, 4); srcloc: L606-5 {14175#(= |main_#t~mem40| 3)} is VALID [2020-07-18 05:16:01,893 INFO L280 TraceCheckUtils]: 70: Hoare triple {14175#(= |main_#t~mem40| 3)} assume 3 != #t~mem40; {14156#false} is VALID [2020-07-18 05:16:01,893 INFO L280 TraceCheckUtils]: 71: Hoare triple {14156#false} havoc #t~mem40; {14156#false} is VALID [2020-07-18 05:16:01,893 INFO L280 TraceCheckUtils]: 72: Hoare triple {14156#false} assume !false; {14156#false} is VALID [2020-07-18 05:16:01,904 INFO L134 CoverageAnalysis]: Checked inductivity of 5 backedges. 0 proven. 4 refuted. 0 times theorem prover too weak. 1 trivial. 0 not checked. [2020-07-18 05:16:01,905 INFO L354 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModulePreferences [147143218] [2020-07-18 05:16:01,905 INFO L220 FreeRefinementEngine]: Constructing automaton from 0 perfect and 1 imperfect interpolant sequences. [2020-07-18 05:16:01,905 INFO L233 FreeRefinementEngine]: Number of different interpolants: perfect sequences [] imperfect sequences [17] total 17 [2020-07-18 05:16:01,905 INFO L156 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [2049099351] [2020-07-18 05:16:01,906 INFO L78 Accepts]: Start accepts. Automaton has 17 states. Word has length 73 [2020-07-18 05:16:01,906 INFO L84 Accepts]: Finished accepts. word is accepted. [2020-07-18 05:16:01,906 INFO L86 InductivityCheck]: Starting indutivity check of a Floyd-Hoare automaton with 17 states. [2020-07-18 05:16:01,999 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-18 05:16:02,000 INFO L459 AbstractCegarLoop]: Interpolant automaton has 17 states [2020-07-18 05:16:02,000 INFO L143 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy FIXED_PREFERENCES [2020-07-18 05:16:02,000 INFO L142 InterpolantAutomaton]: Constructing interpolant automaton starting with 17 interpolants. [2020-07-18 05:16:02,001 INFO L144 InterpolantAutomaton]: CoverageRelationStatistics Valid=32, Invalid=240, Unknown=0, NotChecked=0, Total=272 [2020-07-18 05:16:02,001 INFO L87 Difference]: Start difference. First operand 249 states and 276 transitions. Second operand 17 states. [2020-07-18 05:16:08,067 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2020-07-18 05:16:08,068 INFO L93 Difference]: Finished difference Result 324 states and 354 transitions. [2020-07-18 05:16:08,068 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 21 states. [2020-07-18 05:16:08,068 INFO L78 Accepts]: Start accepts. Automaton has 17 states. Word has length 73 [2020-07-18 05:16:08,068 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2020-07-18 05:16:08,069 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 17 states. [2020-07-18 05:16:08,071 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 21 states to 21 states and 294 transitions. [2020-07-18 05:16:08,071 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 17 states. [2020-07-18 05:16:08,073 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 21 states to 21 states and 294 transitions. [2020-07-18 05:16:08,073 INFO L86 InductivityCheck]: Starting indutivity check of a Floyd-Hoare automaton with 21 states and 294 transitions. [2020-07-18 05:16:08,462 INFO L119 InductivityCheck]: Floyd-Hoare automaton has 294 edges. 294 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2020-07-18 05:16:08,469 INFO L225 Difference]: With dead ends: 324 [2020-07-18 05:16:08,470 INFO L226 Difference]: Without dead ends: 318 [2020-07-18 05:16:08,471 INFO L675 BasicCegarLoop]: 0 DeclaredPredicates, 36 GetRequests, 4 SyntacticMatches, 0 SemanticMatches, 32 ConstructedPredicates, 0 IntricatePredicates, 0 DeprecatedPredicates, 95 ImplicationChecksByTransitivity, 1.1s TimeCoverageRelationStatistics Valid=215, Invalid=907, Unknown=0, NotChecked=0, Total=1122 [2020-07-18 05:16:08,472 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 318 states. [2020-07-18 05:16:09,288 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 318 to 258. [2020-07-18 05:16:09,288 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2020-07-18 05:16:09,288 INFO L82 GeneralOperation]: Start isEquivalent. First operand 318 states. Second operand 258 states. [2020-07-18 05:16:09,288 INFO L74 IsIncluded]: Start isIncluded. First operand 318 states. Second operand 258 states. [2020-07-18 05:16:09,289 INFO L87 Difference]: Start difference. First operand 318 states. Second operand 258 states. [2020-07-18 05:16:09,298 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2020-07-18 05:16:09,299 INFO L93 Difference]: Finished difference Result 318 states and 348 transitions. [2020-07-18 05:16:09,299 INFO L276 IsEmpty]: Start isEmpty. Operand 318 states and 348 transitions. [2020-07-18 05:16:09,300 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2020-07-18 05:16:09,300 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2020-07-18 05:16:09,300 INFO L74 IsIncluded]: Start isIncluded. First operand 258 states. Second operand 318 states. [2020-07-18 05:16:09,300 INFO L87 Difference]: Start difference. First operand 258 states. Second operand 318 states. [2020-07-18 05:16:09,307 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2020-07-18 05:16:09,307 INFO L93 Difference]: Finished difference Result 318 states and 348 transitions. [2020-07-18 05:16:09,307 INFO L276 IsEmpty]: Start isEmpty. Operand 318 states and 348 transitions. [2020-07-18 05:16:09,308 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2020-07-18 05:16:09,308 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2020-07-18 05:16:09,308 INFO L88 GeneralOperation]: Finished isEquivalent. [2020-07-18 05:16:09,308 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2020-07-18 05:16:09,309 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 258 states. [2020-07-18 05:16:09,314 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 258 states to 258 states and 286 transitions. [2020-07-18 05:16:09,314 INFO L78 Accepts]: Start accepts. Automaton has 258 states and 286 transitions. Word has length 73 [2020-07-18 05:16:09,314 INFO L84 Accepts]: Finished accepts. word is rejected. [2020-07-18 05:16:09,314 INFO L479 AbstractCegarLoop]: Abstraction has 258 states and 286 transitions. [2020-07-18 05:16:09,314 INFO L480 AbstractCegarLoop]: Interpolant automaton has 17 states. [2020-07-18 05:16:09,315 INFO L86 InductivityCheck]: Starting indutivity check of a Floyd-Hoare automaton with 258 states and 286 transitions. [2020-07-18 05:16:09,826 INFO L119 InductivityCheck]: Floyd-Hoare automaton has 286 edges. 286 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2020-07-18 05:16:09,826 INFO L276 IsEmpty]: Start isEmpty. Operand 258 states and 286 transitions. [2020-07-18 05:16:09,827 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 74 [2020-07-18 05:16:09,827 INFO L414 BasicCegarLoop]: Found error trace [2020-07-18 05:16:09,828 INFO L422 BasicCegarLoop]: trace histogram [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, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1] [2020-07-18 05:16:09,828 WARN L516 AbstractCegarLoop]: Destroyed unattended storables created during the last iteration: SelfDestructingSolverStorable9 [2020-07-18 05:16:09,828 INFO L427 AbstractCegarLoop]: === Iteration 11 === [mainErr0ASSERT_VIOLATIONERROR_FUNCTION]=== [2020-07-18 05:16:09,828 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2020-07-18 05:16:09,828 INFO L82 PathProgramCache]: Analyzing trace with hash -617664064, now seen corresponding path program 1 times [2020-07-18 05:16:09,829 INFO L163 FreeRefinementEngine]: Executing refinement strategy FIXED_PREFERENCES [2020-07-18 05:16:09,829 INFO L354 FreeRefinementEngine]: Using trace check IpTcStrategyModulePreferences [384126112] [2020-07-18 05:16:09,829 INFO L94 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2020-07-18 05:16:09,844 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2020-07-18 05:16:10,104 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2020-07-18 05:16:10,110 INFO L280 TraceCheckUtils]: 0: Hoare triple {16032#(and (= |#valid| |old(#valid)|) (= |#NULL.base| |old(#NULL.base)|) (= |#NULL.offset| |old(#NULL.offset)|))} #NULL.base, #NULL.offset := 0, 0; {16013#true} is VALID [2020-07-18 05:16:10,110 INFO L280 TraceCheckUtils]: 1: Hoare triple {16013#true} #valid := #valid[0 := 0]; {16013#true} is VALID [2020-07-18 05:16:10,111 INFO L280 TraceCheckUtils]: 2: Hoare triple {16013#true} assume 0 < #StackHeapBarrier; {16013#true} is VALID [2020-07-18 05:16:10,111 INFO L280 TraceCheckUtils]: 3: Hoare triple {16013#true} assume true; {16013#true} is VALID [2020-07-18 05:16:10,111 INFO L275 TraceCheckUtils]: 4: Hoare quadruple {16013#true} {16013#true} #349#return; {16013#true} is VALID [2020-07-18 05:16:10,112 INFO L263 TraceCheckUtils]: 0: Hoare triple {16013#true} call ULTIMATE.init(); {16032#(and (= |#valid| |old(#valid)|) (= |#NULL.base| |old(#NULL.base)|) (= |#NULL.offset| |old(#NULL.offset)|))} is VALID [2020-07-18 05:16:10,112 INFO L280 TraceCheckUtils]: 1: Hoare triple {16032#(and (= |#valid| |old(#valid)|) (= |#NULL.base| |old(#NULL.base)|) (= |#NULL.offset| |old(#NULL.offset)|))} #NULL.base, #NULL.offset := 0, 0; {16013#true} is VALID [2020-07-18 05:16:10,112 INFO L280 TraceCheckUtils]: 2: Hoare triple {16013#true} #valid := #valid[0 := 0]; {16013#true} is VALID [2020-07-18 05:16:10,112 INFO L280 TraceCheckUtils]: 3: Hoare triple {16013#true} assume 0 < #StackHeapBarrier; {16013#true} is VALID [2020-07-18 05:16:10,112 INFO L280 TraceCheckUtils]: 4: Hoare triple {16013#true} assume true; {16013#true} is VALID [2020-07-18 05:16:10,112 INFO L275 TraceCheckUtils]: 5: Hoare quadruple {16013#true} {16013#true} #349#return; {16013#true} is VALID [2020-07-18 05:16:10,112 INFO L263 TraceCheckUtils]: 6: Hoare triple {16013#true} call #t~ret41 := main(); {16013#true} is VALID [2020-07-18 05:16:10,112 INFO L280 TraceCheckUtils]: 7: Hoare triple {16013#true} SUMMARY for call #t~malloc2.base, #t~malloc2.offset := #Ultimate.allocOnHeap(8); srcloc: mainENTRY {16013#true} is VALID [2020-07-18 05:16:10,113 INFO L280 TraceCheckUtils]: 8: Hoare triple {16013#true} ~root~0.base, ~root~0.offset := #t~malloc2.base, #t~malloc2.offset; {16013#true} is VALID [2020-07-18 05:16:10,113 INFO L280 TraceCheckUtils]: 9: Hoare triple {16013#true} havoc ~n~0.base, ~n~0.offset; {16013#true} is VALID [2020-07-18 05:16:10,113 INFO L280 TraceCheckUtils]: 10: Hoare triple {16013#true} SUMMARY for call write~$Pointer$(0, 0, ~root~0.base, ~root~0.offset, 4); srcloc: L542 {16013#true} is VALID [2020-07-18 05:16:10,113 INFO L280 TraceCheckUtils]: 11: Hoare triple {16013#true} SUMMARY for call write~$Pointer$(0, 0, ~root~0.base, 4 + ~root~0.offset, 4); srcloc: L542-1 {16013#true} is VALID [2020-07-18 05:16:10,113 INFO L280 TraceCheckUtils]: 12: Hoare triple {16013#true} assume -2147483648 <= #t~nondet3 && #t~nondet3 <= 2147483647; {16013#true} is VALID [2020-07-18 05:16:10,113 INFO L280 TraceCheckUtils]: 13: Hoare triple {16013#true} assume !(0 != #t~nondet3); {16013#true} is VALID [2020-07-18 05:16:10,113 INFO L280 TraceCheckUtils]: 14: Hoare triple {16013#true} havoc #t~nondet3; {16013#true} is VALID [2020-07-18 05:16:10,113 INFO L280 TraceCheckUtils]: 15: Hoare triple {16013#true} ~n~0.base, ~n~0.offset := 0, 0; {16013#true} is VALID [2020-07-18 05:16:10,114 INFO L280 TraceCheckUtils]: 16: Hoare triple {16013#true} havoc ~pred~0.base, ~pred~0.offset; {16013#true} is VALID [2020-07-18 05:16:10,114 INFO L280 TraceCheckUtils]: 17: Hoare triple {16013#true} assume !!(~root~0.base != 0 || ~root~0.offset != 0); {16013#true} is VALID [2020-07-18 05:16:10,114 INFO L280 TraceCheckUtils]: 18: Hoare triple {16013#true} ~pred~0.base, ~pred~0.offset := 0, 0; {16013#true} is VALID [2020-07-18 05:16:10,114 INFO L280 TraceCheckUtils]: 19: Hoare triple {16013#true} ~n~0.base, ~n~0.offset := ~root~0.base, ~root~0.offset; {16013#true} is VALID [2020-07-18 05:16:10,114 INFO L280 TraceCheckUtils]: 20: Hoare triple {16013#true} SUMMARY for call #t~mem22.base, #t~mem22.offset := read~$Pointer$(~n~0.base, ~n~0.offset, 4); srcloc: L570-5 {16013#true} is VALID [2020-07-18 05:16:10,114 INFO L280 TraceCheckUtils]: 21: Hoare triple {16013#true} #t~short24 := #t~mem22.base != 0 || #t~mem22.offset != 0; {16013#true} is VALID [2020-07-18 05:16:10,114 INFO L280 TraceCheckUtils]: 22: Hoare triple {16013#true} assume !#t~short24; {16013#true} is VALID [2020-07-18 05:16:10,114 INFO L280 TraceCheckUtils]: 23: Hoare triple {16013#true} SUMMARY for call #t~mem23.base, #t~mem23.offset := read~$Pointer$(~n~0.base, 4 + ~n~0.offset, 4); srcloc: L568-4 {16013#true} is VALID [2020-07-18 05:16:10,115 INFO L280 TraceCheckUtils]: 24: Hoare triple {16013#true} #t~short24 := #t~mem23.base != 0 || #t~mem23.offset != 0; {16013#true} is VALID [2020-07-18 05:16:10,115 INFO L280 TraceCheckUtils]: 25: Hoare triple {16013#true} assume !#t~short24; {16013#true} is VALID [2020-07-18 05:16:10,115 INFO L280 TraceCheckUtils]: 26: Hoare triple {16013#true} havoc #t~mem22.base, #t~mem22.offset; {16013#true} is VALID [2020-07-18 05:16:10,115 INFO L280 TraceCheckUtils]: 27: Hoare triple {16013#true} havoc #t~mem23.base, #t~mem23.offset; {16013#true} is VALID [2020-07-18 05:16:10,115 INFO L280 TraceCheckUtils]: 28: Hoare triple {16013#true} havoc #t~short24; {16013#true} is VALID [2020-07-18 05:16:10,115 INFO L280 TraceCheckUtils]: 29: Hoare triple {16013#true} assume !(~pred~0.base != 0 || ~pred~0.offset != 0); {16013#true} is VALID [2020-07-18 05:16:10,115 INFO L280 TraceCheckUtils]: 30: Hoare triple {16013#true} ~root~0.base, ~root~0.offset := 0, 0; {16013#true} is VALID [2020-07-18 05:16:10,115 INFO L280 TraceCheckUtils]: 31: Hoare triple {16013#true} SUMMARY for call ULTIMATE.dealloc(~n~0.base, ~n~0.offset); srcloc: L575 {16013#true} is VALID [2020-07-18 05:16:10,116 INFO L280 TraceCheckUtils]: 32: Hoare triple {16013#true} assume !(~root~0.base != 0 || ~root~0.offset != 0); {16013#true} is VALID [2020-07-18 05:16:10,116 INFO L280 TraceCheckUtils]: 33: Hoare triple {16013#true} SUMMARY for call #t~malloc29.base, #t~malloc29.offset := #Ultimate.allocOnHeap(8); srcloc: L565-2 {16020#(= 1 (select |#valid| |main_#t~malloc29.base|))} is VALID [2020-07-18 05:16:10,117 INFO L280 TraceCheckUtils]: 34: Hoare triple {16020#(= 1 (select |#valid| |main_#t~malloc29.base|))} ~a~0.base, ~a~0.offset := #t~malloc29.base, #t~malloc29.offset; {16021#(= 1 (select |#valid| main_~a~0.base))} is VALID [2020-07-18 05:16:10,117 INFO L280 TraceCheckUtils]: 35: Hoare triple {16021#(= 1 (select |#valid| main_~a~0.base))} assume !(~a~0.base == 0 && ~a~0.offset == 0); {16021#(= 1 (select |#valid| main_~a~0.base))} is VALID [2020-07-18 05:16:10,118 INFO L280 TraceCheckUtils]: 36: Hoare triple {16021#(= 1 (select |#valid| main_~a~0.base))} havoc ~t~0.base, ~t~0.offset; {16021#(= 1 (select |#valid| main_~a~0.base))} is VALID [2020-07-18 05:16:10,118 INFO L280 TraceCheckUtils]: 37: Hoare triple {16021#(= 1 (select |#valid| main_~a~0.base))} ~p~0.base, ~p~0.offset := ~a~0.base, ~a~0.offset; {16022#(and (= main_~a~0.base main_~p~0.base) (= 1 (select |#valid| main_~p~0.base)) (= main_~a~0.offset main_~p~0.offset))} is VALID [2020-07-18 05:16:10,119 INFO L280 TraceCheckUtils]: 38: Hoare triple {16022#(and (= main_~a~0.base main_~p~0.base) (= 1 (select |#valid| main_~p~0.base)) (= main_~a~0.offset main_~p~0.offset))} assume -2147483648 <= #t~nondet30 && #t~nondet30 <= 2147483647; {16022#(and (= main_~a~0.base main_~p~0.base) (= 1 (select |#valid| main_~p~0.base)) (= main_~a~0.offset main_~p~0.offset))} is VALID [2020-07-18 05:16:10,119 INFO L280 TraceCheckUtils]: 39: Hoare triple {16022#(and (= main_~a~0.base main_~p~0.base) (= 1 (select |#valid| main_~p~0.base)) (= main_~a~0.offset main_~p~0.offset))} assume !!(0 != #t~nondet30); {16022#(and (= main_~a~0.base main_~p~0.base) (= 1 (select |#valid| main_~p~0.base)) (= main_~a~0.offset main_~p~0.offset))} is VALID [2020-07-18 05:16:10,120 INFO L280 TraceCheckUtils]: 40: Hoare triple {16022#(and (= main_~a~0.base main_~p~0.base) (= 1 (select |#valid| main_~p~0.base)) (= main_~a~0.offset main_~p~0.offset))} havoc #t~nondet30; {16022#(and (= main_~a~0.base main_~p~0.base) (= 1 (select |#valid| main_~p~0.base)) (= main_~a~0.offset main_~p~0.offset))} is VALID [2020-07-18 05:16:10,120 INFO L280 TraceCheckUtils]: 41: Hoare triple {16022#(and (= main_~a~0.base main_~p~0.base) (= 1 (select |#valid| main_~p~0.base)) (= main_~a~0.offset main_~p~0.offset))} SUMMARY for call write~int(1, ~p~0.base, ~p~0.offset, 4); srcloc: L589 {16023#(and (= main_~a~0.base main_~p~0.base) (= 1 (select (select |#memory_int| main_~p~0.base) main_~p~0.offset)) (= 1 (select |#valid| main_~p~0.base)) (= main_~a~0.offset main_~p~0.offset))} is VALID [2020-07-18 05:16:10,121 INFO L280 TraceCheckUtils]: 42: Hoare triple {16023#(and (= main_~a~0.base main_~p~0.base) (= 1 (select (select |#memory_int| main_~p~0.base) main_~p~0.offset)) (= 1 (select |#valid| main_~p~0.base)) (= main_~a~0.offset main_~p~0.offset))} SUMMARY for call #t~malloc31.base, #t~malloc31.offset := #Ultimate.allocOnHeap(8); srcloc: L589-1 {16024#(and (= main_~a~0.base main_~p~0.base) (not (= main_~p~0.base |main_#t~malloc31.base|)) (= 1 (select (select |#memory_int| main_~p~0.base) main_~p~0.offset)) (= main_~a~0.offset main_~p~0.offset))} is VALID [2020-07-18 05:16:10,122 INFO L280 TraceCheckUtils]: 43: Hoare triple {16024#(and (= main_~a~0.base main_~p~0.base) (not (= main_~p~0.base |main_#t~malloc31.base|)) (= 1 (select (select |#memory_int| main_~p~0.base) main_~p~0.offset)) (= main_~a~0.offset main_~p~0.offset))} ~t~0.base, ~t~0.offset := #t~malloc31.base, #t~malloc31.offset; {16025#(and (= main_~a~0.base main_~p~0.base) (= 1 (select (select |#memory_int| main_~p~0.base) main_~p~0.offset)) (not (= main_~t~0.base main_~p~0.base)) (= main_~a~0.offset main_~p~0.offset))} is VALID [2020-07-18 05:16:10,123 INFO L280 TraceCheckUtils]: 44: Hoare triple {16025#(and (= main_~a~0.base main_~p~0.base) (= 1 (select (select |#memory_int| main_~p~0.base) main_~p~0.offset)) (not (= main_~t~0.base main_~p~0.base)) (= main_~a~0.offset main_~p~0.offset))} assume !(~t~0.base == 0 && ~t~0.offset == 0); {16025#(and (= main_~a~0.base main_~p~0.base) (= 1 (select (select |#memory_int| main_~p~0.base) main_~p~0.offset)) (not (= main_~t~0.base main_~p~0.base)) (= main_~a~0.offset main_~p~0.offset))} is VALID [2020-07-18 05:16:10,125 INFO L280 TraceCheckUtils]: 45: Hoare triple {16025#(and (= main_~a~0.base main_~p~0.base) (= 1 (select (select |#memory_int| main_~p~0.base) main_~p~0.offset)) (not (= main_~t~0.base main_~p~0.base)) (= main_~a~0.offset main_~p~0.offset))} SUMMARY for call write~$Pointer$(~t~0.base, ~t~0.offset, ~p~0.base, 4 + ~p~0.offset, 4); srcloc: L591-3 {16026#(and (= main_~a~0.base main_~p~0.base) (not (= (select (select |#memory_$Pointer$.base| main_~p~0.base) (+ main_~p~0.offset 4)) main_~p~0.base)) (= 1 (select (select |#memory_int| main_~p~0.base) main_~p~0.offset)) (= main_~a~0.offset main_~p~0.offset))} is VALID [2020-07-18 05:16:10,133 INFO L280 TraceCheckUtils]: 46: Hoare triple {16026#(and (= main_~a~0.base main_~p~0.base) (not (= (select (select |#memory_$Pointer$.base| main_~p~0.base) (+ main_~p~0.offset 4)) main_~p~0.base)) (= 1 (select (select |#memory_int| main_~p~0.base) main_~p~0.offset)) (= main_~a~0.offset main_~p~0.offset))} SUMMARY for call #t~mem32.base, #t~mem32.offset := read~$Pointer$(~p~0.base, 4 + ~p~0.offset, 4); srcloc: L592 {16027#(and (not (= main_~a~0.base |main_#t~mem32.base|)) (= 1 (select (select |#memory_int| main_~a~0.base) main_~a~0.offset)))} is VALID [2020-07-18 05:16:10,134 INFO L280 TraceCheckUtils]: 47: Hoare triple {16027#(and (not (= main_~a~0.base |main_#t~mem32.base|)) (= 1 (select (select |#memory_int| main_~a~0.base) main_~a~0.offset)))} ~p~0.base, ~p~0.offset := #t~mem32.base, #t~mem32.offset; {16028#(and (not (= main_~a~0.base main_~p~0.base)) (= 1 (select (select |#memory_int| main_~a~0.base) main_~a~0.offset)))} is VALID [2020-07-18 05:16:10,134 INFO L280 TraceCheckUtils]: 48: Hoare triple {16028#(and (not (= main_~a~0.base main_~p~0.base)) (= 1 (select (select |#memory_int| main_~a~0.base) main_~a~0.offset)))} havoc #t~mem32.base, #t~mem32.offset; {16028#(and (not (= main_~a~0.base main_~p~0.base)) (= 1 (select (select |#memory_int| main_~a~0.base) main_~a~0.offset)))} is VALID [2020-07-18 05:16:10,135 INFO L280 TraceCheckUtils]: 49: Hoare triple {16028#(and (not (= main_~a~0.base main_~p~0.base)) (= 1 (select (select |#memory_int| main_~a~0.base) main_~a~0.offset)))} assume -2147483648 <= #t~nondet30 && #t~nondet30 <= 2147483647; {16028#(and (not (= main_~a~0.base main_~p~0.base)) (= 1 (select (select |#memory_int| main_~a~0.base) main_~a~0.offset)))} is VALID [2020-07-18 05:16:10,135 INFO L280 TraceCheckUtils]: 50: Hoare triple {16028#(and (not (= main_~a~0.base main_~p~0.base)) (= 1 (select (select |#memory_int| main_~a~0.base) main_~a~0.offset)))} assume !(0 != #t~nondet30); {16028#(and (not (= main_~a~0.base main_~p~0.base)) (= 1 (select (select |#memory_int| main_~a~0.base) main_~a~0.offset)))} is VALID [2020-07-18 05:16:10,136 INFO L280 TraceCheckUtils]: 51: Hoare triple {16028#(and (not (= main_~a~0.base main_~p~0.base)) (= 1 (select (select |#memory_int| main_~a~0.base) main_~a~0.offset)))} havoc #t~nondet30; {16028#(and (not (= main_~a~0.base main_~p~0.base)) (= 1 (select (select |#memory_int| main_~a~0.base) main_~a~0.offset)))} is VALID [2020-07-18 05:16:10,137 INFO L280 TraceCheckUtils]: 52: Hoare triple {16028#(and (not (= main_~a~0.base main_~p~0.base)) (= 1 (select (select |#memory_int| main_~a~0.base) main_~a~0.offset)))} assume -2147483648 <= #t~nondet33 && #t~nondet33 <= 2147483647; {16028#(and (not (= main_~a~0.base main_~p~0.base)) (= 1 (select (select |#memory_int| main_~a~0.base) main_~a~0.offset)))} is VALID [2020-07-18 05:16:10,137 INFO L280 TraceCheckUtils]: 53: Hoare triple {16028#(and (not (= main_~a~0.base main_~p~0.base)) (= 1 (select (select |#memory_int| main_~a~0.base) main_~a~0.offset)))} assume !(0 != #t~nondet33); {16028#(and (not (= main_~a~0.base main_~p~0.base)) (= 1 (select (select |#memory_int| main_~a~0.base) main_~a~0.offset)))} is VALID [2020-07-18 05:16:10,138 INFO L280 TraceCheckUtils]: 54: Hoare triple {16028#(and (not (= main_~a~0.base main_~p~0.base)) (= 1 (select (select |#memory_int| main_~a~0.base) main_~a~0.offset)))} havoc #t~nondet33; {16028#(and (not (= main_~a~0.base main_~p~0.base)) (= 1 (select (select |#memory_int| main_~a~0.base) main_~a~0.offset)))} is VALID [2020-07-18 05:16:10,139 INFO L280 TraceCheckUtils]: 55: Hoare triple {16028#(and (not (= main_~a~0.base main_~p~0.base)) (= 1 (select (select |#memory_int| main_~a~0.base) main_~a~0.offset)))} SUMMARY for call write~int(3, ~p~0.base, ~p~0.offset, 4); srcloc: L595-5 {16029#(= 1 (select (select |#memory_int| main_~a~0.base) main_~a~0.offset))} is VALID [2020-07-18 05:16:10,140 INFO L280 TraceCheckUtils]: 56: Hoare triple {16029#(= 1 (select (select |#memory_int| main_~a~0.base) main_~a~0.offset))} ~p~0.base, ~p~0.offset := ~a~0.base, ~a~0.offset; {16030#(= 1 (select (select |#memory_int| main_~p~0.base) main_~p~0.offset))} is VALID [2020-07-18 05:16:10,140 INFO L280 TraceCheckUtils]: 57: Hoare triple {16030#(= 1 (select (select |#memory_int| main_~p~0.base) main_~p~0.offset))} SUMMARY for call #t~mem36 := read~int(~p~0.base, ~p~0.offset, 4); srcloc: L604-5 {16031#(= |main_#t~mem36| 1)} is VALID [2020-07-18 05:16:10,141 INFO L280 TraceCheckUtils]: 58: Hoare triple {16031#(= |main_#t~mem36| 1)} assume !!(2 == #t~mem36); {16014#false} is VALID [2020-07-18 05:16:10,141 INFO L280 TraceCheckUtils]: 59: Hoare triple {16014#false} havoc #t~mem36; {16014#false} is VALID [2020-07-18 05:16:10,141 INFO L280 TraceCheckUtils]: 60: Hoare triple {16014#false} SUMMARY for call #t~mem37.base, #t~mem37.offset := read~$Pointer$(~p~0.base, 4 + ~p~0.offset, 4); srcloc: L605 {16014#false} is VALID [2020-07-18 05:16:10,141 INFO L280 TraceCheckUtils]: 61: Hoare triple {16014#false} ~p~0.base, ~p~0.offset := #t~mem37.base, #t~mem37.offset; {16014#false} is VALID [2020-07-18 05:16:10,141 INFO L280 TraceCheckUtils]: 62: Hoare triple {16014#false} havoc #t~mem37.base, #t~mem37.offset; {16014#false} is VALID [2020-07-18 05:16:10,142 INFO L280 TraceCheckUtils]: 63: Hoare triple {16014#false} SUMMARY for call #t~mem36 := read~int(~p~0.base, ~p~0.offset, 4); srcloc: L604-5 {16014#false} is VALID [2020-07-18 05:16:10,142 INFO L280 TraceCheckUtils]: 64: Hoare triple {16014#false} assume !(2 == #t~mem36); {16014#false} is VALID [2020-07-18 05:16:10,142 INFO L280 TraceCheckUtils]: 65: Hoare triple {16014#false} havoc #t~mem36; {16014#false} is VALID [2020-07-18 05:16:10,142 INFO L280 TraceCheckUtils]: 66: Hoare triple {16014#false} SUMMARY for call #t~mem38 := read~int(~p~0.base, ~p~0.offset, 4); srcloc: L606-4 {16014#false} is VALID [2020-07-18 05:16:10,142 INFO L280 TraceCheckUtils]: 67: Hoare triple {16014#false} assume !(1 == #t~mem38); {16014#false} is VALID [2020-07-18 05:16:10,142 INFO L280 TraceCheckUtils]: 68: Hoare triple {16014#false} havoc #t~mem38; {16014#false} is VALID [2020-07-18 05:16:10,143 INFO L280 TraceCheckUtils]: 69: Hoare triple {16014#false} SUMMARY for call #t~mem40 := read~int(~p~0.base, ~p~0.offset, 4); srcloc: L606-5 {16014#false} is VALID [2020-07-18 05:16:10,143 INFO L280 TraceCheckUtils]: 70: Hoare triple {16014#false} assume 3 != #t~mem40; {16014#false} is VALID [2020-07-18 05:16:10,143 INFO L280 TraceCheckUtils]: 71: Hoare triple {16014#false} havoc #t~mem40; {16014#false} is VALID [2020-07-18 05:16:10,143 INFO L280 TraceCheckUtils]: 72: Hoare triple {16014#false} assume !false; {16014#false} is VALID [2020-07-18 05:16:10,150 INFO L134 CoverageAnalysis]: Checked inductivity of 5 backedges. 2 proven. 2 refuted. 0 times theorem prover too weak. 1 trivial. 0 not checked. [2020-07-18 05:16:10,151 INFO L354 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModulePreferences [384126112] [2020-07-18 05:16:10,151 INFO L220 FreeRefinementEngine]: Constructing automaton from 0 perfect and 1 imperfect interpolant sequences. [2020-07-18 05:16:10,151 INFO L233 FreeRefinementEngine]: Number of different interpolants: perfect sequences [] imperfect sequences [15] total 15 [2020-07-18 05:16:10,151 INFO L156 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [640508501] [2020-07-18 05:16:10,152 INFO L78 Accepts]: Start accepts. Automaton has 15 states. Word has length 73 [2020-07-18 05:16:10,152 INFO L84 Accepts]: Finished accepts. word is accepted. [2020-07-18 05:16:10,152 INFO L86 InductivityCheck]: Starting indutivity check of a Floyd-Hoare automaton with 15 states. [2020-07-18 05:16:10,226 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-18 05:16:10,226 INFO L459 AbstractCegarLoop]: Interpolant automaton has 15 states [2020-07-18 05:16:10,226 INFO L143 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy FIXED_PREFERENCES [2020-07-18 05:16:10,226 INFO L142 InterpolantAutomaton]: Constructing interpolant automaton starting with 15 interpolants. [2020-07-18 05:16:10,227 INFO L144 InterpolantAutomaton]: CoverageRelationStatistics Valid=40, Invalid=170, Unknown=0, NotChecked=0, Total=210 [2020-07-18 05:16:10,227 INFO L87 Difference]: Start difference. First operand 258 states and 286 transitions. Second operand 15 states. [2020-07-18 05:16:14,629 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2020-07-18 05:16:14,629 INFO L93 Difference]: Finished difference Result 341 states and 373 transitions. [2020-07-18 05:16:14,629 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 18 states. [2020-07-18 05:16:14,629 INFO L78 Accepts]: Start accepts. Automaton has 15 states. Word has length 73 [2020-07-18 05:16:14,629 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2020-07-18 05:16:14,630 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 15 states. [2020-07-18 05:16:14,633 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 18 states to 18 states and 310 transitions. [2020-07-18 05:16:14,633 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 15 states. [2020-07-18 05:16:14,635 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 18 states to 18 states and 310 transitions. [2020-07-18 05:16:14,635 INFO L86 InductivityCheck]: Starting indutivity check of a Floyd-Hoare automaton with 18 states and 310 transitions. [2020-07-18 05:16:14,997 INFO L119 InductivityCheck]: Floyd-Hoare automaton has 310 edges. 310 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2020-07-18 05:16:15,005 INFO L225 Difference]: With dead ends: 341 [2020-07-18 05:16:15,005 INFO L226 Difference]: Without dead ends: 322 [2020-07-18 05:16:15,006 INFO L675 BasicCegarLoop]: 0 DeclaredPredicates, 30 GetRequests, 3 SyntacticMatches, 0 SemanticMatches, 27 ConstructedPredicates, 0 IntricatePredicates, 0 DeprecatedPredicates, 105 ImplicationChecksByTransitivity, 0.5s TimeCoverageRelationStatistics Valid=201, Invalid=611, Unknown=0, NotChecked=0, Total=812 [2020-07-18 05:16:15,007 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 322 states. [2020-07-18 05:16:15,839 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 322 to 258. [2020-07-18 05:16:15,840 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2020-07-18 05:16:15,840 INFO L82 GeneralOperation]: Start isEquivalent. First operand 322 states. Second operand 258 states. [2020-07-18 05:16:15,840 INFO L74 IsIncluded]: Start isIncluded. First operand 322 states. Second operand 258 states. [2020-07-18 05:16:15,840 INFO L87 Difference]: Start difference. First operand 322 states. Second operand 258 states. [2020-07-18 05:16:15,848 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2020-07-18 05:16:15,848 INFO L93 Difference]: Finished difference Result 322 states and 352 transitions. [2020-07-18 05:16:15,848 INFO L276 IsEmpty]: Start isEmpty. Operand 322 states and 352 transitions. [2020-07-18 05:16:15,849 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2020-07-18 05:16:15,849 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2020-07-18 05:16:15,849 INFO L74 IsIncluded]: Start isIncluded. First operand 258 states. Second operand 322 states. [2020-07-18 05:16:15,849 INFO L87 Difference]: Start difference. First operand 258 states. Second operand 322 states. [2020-07-18 05:16:15,856 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2020-07-18 05:16:15,857 INFO L93 Difference]: Finished difference Result 322 states and 352 transitions. [2020-07-18 05:16:15,857 INFO L276 IsEmpty]: Start isEmpty. Operand 322 states and 352 transitions. [2020-07-18 05:16:15,858 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2020-07-18 05:16:15,858 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2020-07-18 05:16:15,858 INFO L88 GeneralOperation]: Finished isEquivalent. [2020-07-18 05:16:15,858 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2020-07-18 05:16:15,858 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 258 states. [2020-07-18 05:16:15,862 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 258 states to 258 states and 285 transitions. [2020-07-18 05:16:15,863 INFO L78 Accepts]: Start accepts. Automaton has 258 states and 285 transitions. Word has length 73 [2020-07-18 05:16:15,863 INFO L84 Accepts]: Finished accepts. word is rejected. [2020-07-18 05:16:15,863 INFO L479 AbstractCegarLoop]: Abstraction has 258 states and 285 transitions. [2020-07-18 05:16:15,863 INFO L480 AbstractCegarLoop]: Interpolant automaton has 15 states. [2020-07-18 05:16:15,863 INFO L86 InductivityCheck]: Starting indutivity check of a Floyd-Hoare automaton with 258 states and 285 transitions. [2020-07-18 05:16:16,390 INFO L119 InductivityCheck]: Floyd-Hoare automaton has 285 edges. 285 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2020-07-18 05:16:16,391 INFO L276 IsEmpty]: Start isEmpty. Operand 258 states and 285 transitions. [2020-07-18 05:16:16,391 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 79 [2020-07-18 05:16:16,392 INFO L414 BasicCegarLoop]: Found error trace [2020-07-18 05:16:16,392 INFO L422 BasicCegarLoop]: trace histogram [3, 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, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1] [2020-07-18 05:16:16,392 WARN L516 AbstractCegarLoop]: Destroyed unattended storables created during the last iteration: SelfDestructingSolverStorable10 [2020-07-18 05:16:16,392 INFO L427 AbstractCegarLoop]: === Iteration 12 === [mainErr0ASSERT_VIOLATIONERROR_FUNCTION]=== [2020-07-18 05:16:16,393 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2020-07-18 05:16:16,393 INFO L82 PathProgramCache]: Analyzing trace with hash 342604767, now seen corresponding path program 2 times [2020-07-18 05:16:16,393 INFO L163 FreeRefinementEngine]: Executing refinement strategy FIXED_PREFERENCES [2020-07-18 05:16:16,393 INFO L354 FreeRefinementEngine]: Using trace check IpTcStrategyModulePreferences [1937848919] [2020-07-18 05:16:16,394 INFO L94 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2020-07-18 05:16:16,410 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2020-07-18 05:16:16,960 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2020-07-18 05:16:16,970 INFO L280 TraceCheckUtils]: 0: Hoare triple {17931#(and (= |#valid| |old(#valid)|) (= |#NULL.base| |old(#NULL.base)|) (= |#NULL.offset| |old(#NULL.offset)|))} #NULL.base, #NULL.offset := 0, 0; {17905#true} is VALID [2020-07-18 05:16:16,970 INFO L280 TraceCheckUtils]: 1: Hoare triple {17905#true} #valid := #valid[0 := 0]; {17905#true} is VALID [2020-07-18 05:16:16,971 INFO L280 TraceCheckUtils]: 2: Hoare triple {17905#true} assume 0 < #StackHeapBarrier; {17905#true} is VALID [2020-07-18 05:16:16,971 INFO L280 TraceCheckUtils]: 3: Hoare triple {17905#true} assume true; {17905#true} is VALID [2020-07-18 05:16:16,971 INFO L275 TraceCheckUtils]: 4: Hoare quadruple {17905#true} {17905#true} #349#return; {17905#true} is VALID [2020-07-18 05:16:16,972 INFO L263 TraceCheckUtils]: 0: Hoare triple {17905#true} call ULTIMATE.init(); {17931#(and (= |#valid| |old(#valid)|) (= |#NULL.base| |old(#NULL.base)|) (= |#NULL.offset| |old(#NULL.offset)|))} is VALID [2020-07-18 05:16:16,972 INFO L280 TraceCheckUtils]: 1: Hoare triple {17931#(and (= |#valid| |old(#valid)|) (= |#NULL.base| |old(#NULL.base)|) (= |#NULL.offset| |old(#NULL.offset)|))} #NULL.base, #NULL.offset := 0, 0; {17905#true} is VALID [2020-07-18 05:16:16,972 INFO L280 TraceCheckUtils]: 2: Hoare triple {17905#true} #valid := #valid[0 := 0]; {17905#true} is VALID [2020-07-18 05:16:16,972 INFO L280 TraceCheckUtils]: 3: Hoare triple {17905#true} assume 0 < #StackHeapBarrier; {17905#true} is VALID [2020-07-18 05:16:16,973 INFO L280 TraceCheckUtils]: 4: Hoare triple {17905#true} assume true; {17905#true} is VALID [2020-07-18 05:16:16,973 INFO L275 TraceCheckUtils]: 5: Hoare quadruple {17905#true} {17905#true} #349#return; {17905#true} is VALID [2020-07-18 05:16:16,973 INFO L263 TraceCheckUtils]: 6: Hoare triple {17905#true} call #t~ret41 := main(); {17905#true} is VALID [2020-07-18 05:16:16,973 INFO L280 TraceCheckUtils]: 7: Hoare triple {17905#true} SUMMARY for call #t~malloc2.base, #t~malloc2.offset := #Ultimate.allocOnHeap(8); srcloc: mainENTRY {17905#true} is VALID [2020-07-18 05:16:16,973 INFO L280 TraceCheckUtils]: 8: Hoare triple {17905#true} ~root~0.base, ~root~0.offset := #t~malloc2.base, #t~malloc2.offset; {17905#true} is VALID [2020-07-18 05:16:16,973 INFO L280 TraceCheckUtils]: 9: Hoare triple {17905#true} havoc ~n~0.base, ~n~0.offset; {17905#true} is VALID [2020-07-18 05:16:16,974 INFO L280 TraceCheckUtils]: 10: Hoare triple {17905#true} SUMMARY for call write~$Pointer$(0, 0, ~root~0.base, ~root~0.offset, 4); srcloc: L542 {17905#true} is VALID [2020-07-18 05:16:16,974 INFO L280 TraceCheckUtils]: 11: Hoare triple {17905#true} SUMMARY for call write~$Pointer$(0, 0, ~root~0.base, 4 + ~root~0.offset, 4); srcloc: L542-1 {17905#true} is VALID [2020-07-18 05:16:16,974 INFO L280 TraceCheckUtils]: 12: Hoare triple {17905#true} assume -2147483648 <= #t~nondet3 && #t~nondet3 <= 2147483647; {17905#true} is VALID [2020-07-18 05:16:16,974 INFO L280 TraceCheckUtils]: 13: Hoare triple {17905#true} assume !(0 != #t~nondet3); {17905#true} is VALID [2020-07-18 05:16:16,974 INFO L280 TraceCheckUtils]: 14: Hoare triple {17905#true} havoc #t~nondet3; {17905#true} is VALID [2020-07-18 05:16:16,974 INFO L280 TraceCheckUtils]: 15: Hoare triple {17905#true} ~n~0.base, ~n~0.offset := 0, 0; {17905#true} is VALID [2020-07-18 05:16:16,975 INFO L280 TraceCheckUtils]: 16: Hoare triple {17905#true} havoc ~pred~0.base, ~pred~0.offset; {17905#true} is VALID [2020-07-18 05:16:16,975 INFO L280 TraceCheckUtils]: 17: Hoare triple {17905#true} assume !!(~root~0.base != 0 || ~root~0.offset != 0); {17905#true} is VALID [2020-07-18 05:16:16,975 INFO L280 TraceCheckUtils]: 18: Hoare triple {17905#true} ~pred~0.base, ~pred~0.offset := 0, 0; {17905#true} is VALID [2020-07-18 05:16:16,975 INFO L280 TraceCheckUtils]: 19: Hoare triple {17905#true} ~n~0.base, ~n~0.offset := ~root~0.base, ~root~0.offset; {17905#true} is VALID [2020-07-18 05:16:16,975 INFO L280 TraceCheckUtils]: 20: Hoare triple {17905#true} SUMMARY for call #t~mem22.base, #t~mem22.offset := read~$Pointer$(~n~0.base, ~n~0.offset, 4); srcloc: L570-5 {17905#true} is VALID [2020-07-18 05:16:16,975 INFO L280 TraceCheckUtils]: 21: Hoare triple {17905#true} #t~short24 := #t~mem22.base != 0 || #t~mem22.offset != 0; {17905#true} is VALID [2020-07-18 05:16:16,976 INFO L280 TraceCheckUtils]: 22: Hoare triple {17905#true} assume !#t~short24; {17905#true} is VALID [2020-07-18 05:16:16,976 INFO L280 TraceCheckUtils]: 23: Hoare triple {17905#true} SUMMARY for call #t~mem23.base, #t~mem23.offset := read~$Pointer$(~n~0.base, 4 + ~n~0.offset, 4); srcloc: L568-4 {17905#true} is VALID [2020-07-18 05:16:16,976 INFO L280 TraceCheckUtils]: 24: Hoare triple {17905#true} #t~short24 := #t~mem23.base != 0 || #t~mem23.offset != 0; {17905#true} is VALID [2020-07-18 05:16:16,976 INFO L280 TraceCheckUtils]: 25: Hoare triple {17905#true} assume !#t~short24; {17905#true} is VALID [2020-07-18 05:16:16,976 INFO L280 TraceCheckUtils]: 26: Hoare triple {17905#true} havoc #t~mem22.base, #t~mem22.offset; {17905#true} is VALID [2020-07-18 05:16:16,976 INFO L280 TraceCheckUtils]: 27: Hoare triple {17905#true} havoc #t~mem23.base, #t~mem23.offset; {17905#true} is VALID [2020-07-18 05:16:16,977 INFO L280 TraceCheckUtils]: 28: Hoare triple {17905#true} havoc #t~short24; {17905#true} is VALID [2020-07-18 05:16:16,977 INFO L280 TraceCheckUtils]: 29: Hoare triple {17905#true} assume !(~pred~0.base != 0 || ~pred~0.offset != 0); {17905#true} is VALID [2020-07-18 05:16:16,977 INFO L280 TraceCheckUtils]: 30: Hoare triple {17905#true} ~root~0.base, ~root~0.offset := 0, 0; {17905#true} is VALID [2020-07-18 05:16:16,977 INFO L280 TraceCheckUtils]: 31: Hoare triple {17905#true} SUMMARY for call ULTIMATE.dealloc(~n~0.base, ~n~0.offset); srcloc: L575 {17905#true} is VALID [2020-07-18 05:16:16,977 INFO L280 TraceCheckUtils]: 32: Hoare triple {17905#true} assume !(~root~0.base != 0 || ~root~0.offset != 0); {17905#true} is VALID [2020-07-18 05:16:16,979 INFO L280 TraceCheckUtils]: 33: Hoare triple {17905#true} SUMMARY for call #t~malloc29.base, #t~malloc29.offset := #Ultimate.allocOnHeap(8); srcloc: L565-2 {17912#(and (= 1 (select |#valid| |main_#t~malloc29.base|)) (= 0 |main_#t~malloc29.offset|))} is VALID [2020-07-18 05:16:16,980 INFO L280 TraceCheckUtils]: 34: Hoare triple {17912#(and (= 1 (select |#valid| |main_#t~malloc29.base|)) (= 0 |main_#t~malloc29.offset|))} ~a~0.base, ~a~0.offset := #t~malloc29.base, #t~malloc29.offset; {17913#(and (= 1 (select |#valid| main_~a~0.base)) (= 0 main_~a~0.offset))} is VALID [2020-07-18 05:16:16,981 INFO L280 TraceCheckUtils]: 35: Hoare triple {17913#(and (= 1 (select |#valid| main_~a~0.base)) (= 0 main_~a~0.offset))} assume !(~a~0.base == 0 && ~a~0.offset == 0); {17913#(and (= 1 (select |#valid| main_~a~0.base)) (= 0 main_~a~0.offset))} is VALID [2020-07-18 05:16:16,981 INFO L280 TraceCheckUtils]: 36: Hoare triple {17913#(and (= 1 (select |#valid| main_~a~0.base)) (= 0 main_~a~0.offset))} havoc ~t~0.base, ~t~0.offset; {17913#(and (= 1 (select |#valid| main_~a~0.base)) (= 0 main_~a~0.offset))} is VALID [2020-07-18 05:16:16,982 INFO L280 TraceCheckUtils]: 37: Hoare triple {17913#(and (= 1 (select |#valid| main_~a~0.base)) (= 0 main_~a~0.offset))} ~p~0.base, ~p~0.offset := ~a~0.base, ~a~0.offset; {17914#(and (= main_~a~0.base main_~p~0.base) (= 0 main_~a~0.offset) (= 1 (select |#valid| main_~p~0.base)) (= main_~a~0.offset main_~p~0.offset))} is VALID [2020-07-18 05:16:16,983 INFO L280 TraceCheckUtils]: 38: Hoare triple {17914#(and (= main_~a~0.base main_~p~0.base) (= 0 main_~a~0.offset) (= 1 (select |#valid| main_~p~0.base)) (= main_~a~0.offset main_~p~0.offset))} assume -2147483648 <= #t~nondet30 && #t~nondet30 <= 2147483647; {17914#(and (= main_~a~0.base main_~p~0.base) (= 0 main_~a~0.offset) (= 1 (select |#valid| main_~p~0.base)) (= main_~a~0.offset main_~p~0.offset))} is VALID [2020-07-18 05:16:16,983 INFO L280 TraceCheckUtils]: 39: Hoare triple {17914#(and (= main_~a~0.base main_~p~0.base) (= 0 main_~a~0.offset) (= 1 (select |#valid| main_~p~0.base)) (= main_~a~0.offset main_~p~0.offset))} assume !(0 != #t~nondet30); {17914#(and (= main_~a~0.base main_~p~0.base) (= 0 main_~a~0.offset) (= 1 (select |#valid| main_~p~0.base)) (= main_~a~0.offset main_~p~0.offset))} is VALID [2020-07-18 05:16:16,984 INFO L280 TraceCheckUtils]: 40: Hoare triple {17914#(and (= main_~a~0.base main_~p~0.base) (= 0 main_~a~0.offset) (= 1 (select |#valid| main_~p~0.base)) (= main_~a~0.offset main_~p~0.offset))} havoc #t~nondet30; {17914#(and (= main_~a~0.base main_~p~0.base) (= 0 main_~a~0.offset) (= 1 (select |#valid| main_~p~0.base)) (= main_~a~0.offset main_~p~0.offset))} is VALID [2020-07-18 05:16:16,985 INFO L280 TraceCheckUtils]: 41: Hoare triple {17914#(and (= main_~a~0.base main_~p~0.base) (= 0 main_~a~0.offset) (= 1 (select |#valid| main_~p~0.base)) (= main_~a~0.offset main_~p~0.offset))} assume -2147483648 <= #t~nondet33 && #t~nondet33 <= 2147483647; {17914#(and (= main_~a~0.base main_~p~0.base) (= 0 main_~a~0.offset) (= 1 (select |#valid| main_~p~0.base)) (= main_~a~0.offset main_~p~0.offset))} is VALID [2020-07-18 05:16:16,985 INFO L280 TraceCheckUtils]: 42: Hoare triple {17914#(and (= main_~a~0.base main_~p~0.base) (= 0 main_~a~0.offset) (= 1 (select |#valid| main_~p~0.base)) (= main_~a~0.offset main_~p~0.offset))} assume !!(0 != #t~nondet33); {17914#(and (= main_~a~0.base main_~p~0.base) (= 0 main_~a~0.offset) (= 1 (select |#valid| main_~p~0.base)) (= main_~a~0.offset main_~p~0.offset))} is VALID [2020-07-18 05:16:16,986 INFO L280 TraceCheckUtils]: 43: Hoare triple {17914#(and (= main_~a~0.base main_~p~0.base) (= 0 main_~a~0.offset) (= 1 (select |#valid| main_~p~0.base)) (= main_~a~0.offset main_~p~0.offset))} havoc #t~nondet33; {17914#(and (= main_~a~0.base main_~p~0.base) (= 0 main_~a~0.offset) (= 1 (select |#valid| main_~p~0.base)) (= main_~a~0.offset main_~p~0.offset))} is VALID [2020-07-18 05:16:16,987 INFO L280 TraceCheckUtils]: 44: Hoare triple {17914#(and (= main_~a~0.base main_~p~0.base) (= 0 main_~a~0.offset) (= 1 (select |#valid| main_~p~0.base)) (= main_~a~0.offset main_~p~0.offset))} SUMMARY for call write~int(2, ~p~0.base, ~p~0.offset, 4); srcloc: L596 {17915#(and (= main_~a~0.base main_~p~0.base) (= 2 (select (select |#memory_int| main_~p~0.base) main_~p~0.offset)) (= 0 main_~a~0.offset) (= 1 (select |#valid| main_~p~0.base)) (= main_~a~0.offset main_~p~0.offset))} is VALID [2020-07-18 05:16:16,988 INFO L280 TraceCheckUtils]: 45: Hoare triple {17915#(and (= main_~a~0.base main_~p~0.base) (= 2 (select (select |#memory_int| main_~p~0.base) main_~p~0.offset)) (= 0 main_~a~0.offset) (= 1 (select |#valid| main_~p~0.base)) (= main_~a~0.offset main_~p~0.offset))} SUMMARY for call #t~malloc34.base, #t~malloc34.offset := #Ultimate.allocOnHeap(8); srcloc: L596-1 {17916#(and (= main_~a~0.base main_~p~0.base) (= 2 (select (select |#memory_int| main_~p~0.base) main_~p~0.offset)) (= 0 main_~a~0.offset) (= main_~a~0.offset main_~p~0.offset) (not (= main_~p~0.base |main_#t~malloc34.base|)))} is VALID [2020-07-18 05:16:16,989 INFO L280 TraceCheckUtils]: 46: Hoare triple {17916#(and (= main_~a~0.base main_~p~0.base) (= 2 (select (select |#memory_int| main_~p~0.base) main_~p~0.offset)) (= 0 main_~a~0.offset) (= main_~a~0.offset main_~p~0.offset) (not (= main_~p~0.base |main_#t~malloc34.base|)))} ~t~0.base, ~t~0.offset := #t~malloc34.base, #t~malloc34.offset; {17917#(and (= main_~a~0.base main_~p~0.base) (= 2 (select (select |#memory_int| main_~p~0.base) main_~p~0.offset)) (= 0 main_~a~0.offset) (not (= main_~t~0.base main_~p~0.base)) (= main_~a~0.offset main_~p~0.offset))} is VALID [2020-07-18 05:16:16,989 INFO L280 TraceCheckUtils]: 47: Hoare triple {17917#(and (= main_~a~0.base main_~p~0.base) (= 2 (select (select |#memory_int| main_~p~0.base) main_~p~0.offset)) (= 0 main_~a~0.offset) (not (= main_~t~0.base main_~p~0.base)) (= main_~a~0.offset main_~p~0.offset))} assume !(~t~0.base == 0 && ~t~0.offset == 0); {17917#(and (= main_~a~0.base main_~p~0.base) (= 2 (select (select |#memory_int| main_~p~0.base) main_~p~0.offset)) (= 0 main_~a~0.offset) (not (= main_~t~0.base main_~p~0.base)) (= main_~a~0.offset main_~p~0.offset))} is VALID [2020-07-18 05:16:16,990 INFO L280 TraceCheckUtils]: 48: Hoare triple {17917#(and (= main_~a~0.base main_~p~0.base) (= 2 (select (select |#memory_int| main_~p~0.base) main_~p~0.offset)) (= 0 main_~a~0.offset) (not (= main_~t~0.base main_~p~0.base)) (= main_~a~0.offset main_~p~0.offset))} SUMMARY for call write~$Pointer$(~t~0.base, ~t~0.offset, ~p~0.base, 4 + ~p~0.offset, 4); srcloc: L598-3 {17918#(and (= main_~a~0.base main_~p~0.base) (not (= (select (select |#memory_$Pointer$.base| main_~p~0.base) (+ main_~p~0.offset 4)) main_~p~0.base)) (= 2 (select (select |#memory_int| main_~p~0.base) main_~p~0.offset)) (= 0 main_~a~0.offset) (= main_~a~0.offset main_~p~0.offset))} is VALID [2020-07-18 05:16:16,991 INFO L280 TraceCheckUtils]: 49: Hoare triple {17918#(and (= main_~a~0.base main_~p~0.base) (not (= (select (select |#memory_$Pointer$.base| main_~p~0.base) (+ main_~p~0.offset 4)) main_~p~0.base)) (= 2 (select (select |#memory_int| main_~p~0.base) main_~p~0.offset)) (= 0 main_~a~0.offset) (= main_~a~0.offset main_~p~0.offset))} SUMMARY for call #t~mem35.base, #t~mem35.offset := read~$Pointer$(~p~0.base, 4 + ~p~0.offset, 4); srcloc: L599 {17919#(and (not (= main_~a~0.base |main_#t~mem35.base|)) (= 2 (select (select |#memory_int| main_~a~0.base) main_~a~0.offset)) (= 0 main_~a~0.offset))} is VALID [2020-07-18 05:16:16,992 INFO L280 TraceCheckUtils]: 50: Hoare triple {17919#(and (not (= main_~a~0.base |main_#t~mem35.base|)) (= 2 (select (select |#memory_int| main_~a~0.base) main_~a~0.offset)) (= 0 main_~a~0.offset))} ~p~0.base, ~p~0.offset := #t~mem35.base, #t~mem35.offset; {17920#(and (not (= main_~a~0.base main_~p~0.base)) (= 2 (select (select |#memory_int| main_~a~0.base) main_~a~0.offset)) (= 0 main_~a~0.offset))} is VALID [2020-07-18 05:16:16,992 INFO L280 TraceCheckUtils]: 51: Hoare triple {17920#(and (not (= main_~a~0.base main_~p~0.base)) (= 2 (select (select |#memory_int| main_~a~0.base) main_~a~0.offset)) (= 0 main_~a~0.offset))} havoc #t~mem35.base, #t~mem35.offset; {17920#(and (not (= main_~a~0.base main_~p~0.base)) (= 2 (select (select |#memory_int| main_~a~0.base) main_~a~0.offset)) (= 0 main_~a~0.offset))} is VALID [2020-07-18 05:16:16,993 INFO L280 TraceCheckUtils]: 52: Hoare triple {17920#(and (not (= main_~a~0.base main_~p~0.base)) (= 2 (select (select |#memory_int| main_~a~0.base) main_~a~0.offset)) (= 0 main_~a~0.offset))} assume -2147483648 <= #t~nondet33 && #t~nondet33 <= 2147483647; {17920#(and (not (= main_~a~0.base main_~p~0.base)) (= 2 (select (select |#memory_int| main_~a~0.base) main_~a~0.offset)) (= 0 main_~a~0.offset))} is VALID [2020-07-18 05:16:16,993 INFO L280 TraceCheckUtils]: 53: Hoare triple {17920#(and (not (= main_~a~0.base main_~p~0.base)) (= 2 (select (select |#memory_int| main_~a~0.base) main_~a~0.offset)) (= 0 main_~a~0.offset))} assume !!(0 != #t~nondet33); {17920#(and (not (= main_~a~0.base main_~p~0.base)) (= 2 (select (select |#memory_int| main_~a~0.base) main_~a~0.offset)) (= 0 main_~a~0.offset))} is VALID [2020-07-18 05:16:16,994 INFO L280 TraceCheckUtils]: 54: Hoare triple {17920#(and (not (= main_~a~0.base main_~p~0.base)) (= 2 (select (select |#memory_int| main_~a~0.base) main_~a~0.offset)) (= 0 main_~a~0.offset))} havoc #t~nondet33; {17920#(and (not (= main_~a~0.base main_~p~0.base)) (= 2 (select (select |#memory_int| main_~a~0.base) main_~a~0.offset)) (= 0 main_~a~0.offset))} is VALID [2020-07-18 05:16:16,995 INFO L280 TraceCheckUtils]: 55: Hoare triple {17920#(and (not (= main_~a~0.base main_~p~0.base)) (= 2 (select (select |#memory_int| main_~a~0.base) main_~a~0.offset)) (= 0 main_~a~0.offset))} SUMMARY for call write~int(2, ~p~0.base, ~p~0.offset, 4); srcloc: L596 {17920#(and (not (= main_~a~0.base main_~p~0.base)) (= 2 (select (select |#memory_int| main_~a~0.base) main_~a~0.offset)) (= 0 main_~a~0.offset))} is VALID [2020-07-18 05:16:16,995 INFO L280 TraceCheckUtils]: 56: Hoare triple {17920#(and (not (= main_~a~0.base main_~p~0.base)) (= 2 (select (select |#memory_int| main_~a~0.base) main_~a~0.offset)) (= 0 main_~a~0.offset))} SUMMARY for call #t~malloc34.base, #t~malloc34.offset := #Ultimate.allocOnHeap(8); srcloc: L596-1 {17921#(and (not (= main_~a~0.base main_~p~0.base)) (= main_~a~0.offset |main_#t~malloc34.offset|) (= 2 (select (select |#memory_int| main_~a~0.base) main_~a~0.offset)))} is VALID [2020-07-18 05:16:16,996 INFO L280 TraceCheckUtils]: 57: Hoare triple {17921#(and (not (= main_~a~0.base main_~p~0.base)) (= main_~a~0.offset |main_#t~malloc34.offset|) (= 2 (select (select |#memory_int| main_~a~0.base) main_~a~0.offset)))} ~t~0.base, ~t~0.offset := #t~malloc34.base, #t~malloc34.offset; {17922#(and (not (= main_~a~0.base main_~p~0.base)) (= main_~a~0.offset main_~t~0.offset) (= 2 (select (select |#memory_int| main_~a~0.base) main_~a~0.offset)))} is VALID [2020-07-18 05:16:17,001 INFO L280 TraceCheckUtils]: 58: Hoare triple {17922#(and (not (= main_~a~0.base main_~p~0.base)) (= main_~a~0.offset main_~t~0.offset) (= 2 (select (select |#memory_int| main_~a~0.base) main_~a~0.offset)))} assume !(~t~0.base == 0 && ~t~0.offset == 0); {17922#(and (not (= main_~a~0.base main_~p~0.base)) (= main_~a~0.offset main_~t~0.offset) (= 2 (select (select |#memory_int| main_~a~0.base) main_~a~0.offset)))} is VALID [2020-07-18 05:16:17,004 INFO L280 TraceCheckUtils]: 59: Hoare triple {17922#(and (not (= main_~a~0.base main_~p~0.base)) (= main_~a~0.offset main_~t~0.offset) (= 2 (select (select |#memory_int| main_~a~0.base) main_~a~0.offset)))} SUMMARY for call write~$Pointer$(~t~0.base, ~t~0.offset, ~p~0.base, 4 + ~p~0.offset, 4); srcloc: L598-3 {17923#(and (= 2 (select (select |#memory_int| main_~a~0.base) main_~a~0.offset)) (= (select (select |#memory_$Pointer$.offset| main_~p~0.base) (+ main_~p~0.offset 4)) main_~a~0.offset))} is VALID [2020-07-18 05:16:17,005 INFO L280 TraceCheckUtils]: 60: Hoare triple {17923#(and (= 2 (select (select |#memory_int| main_~a~0.base) main_~a~0.offset)) (= (select (select |#memory_$Pointer$.offset| main_~p~0.base) (+ main_~p~0.offset 4)) main_~a~0.offset))} SUMMARY for call #t~mem35.base, #t~mem35.offset := read~$Pointer$(~p~0.base, 4 + ~p~0.offset, 4); srcloc: L599 {17924#(and (= 2 (select (select |#memory_int| main_~a~0.base) main_~a~0.offset)) (= main_~a~0.offset |main_#t~mem35.offset|))} is VALID [2020-07-18 05:16:17,006 INFO L280 TraceCheckUtils]: 61: Hoare triple {17924#(and (= 2 (select (select |#memory_int| main_~a~0.base) main_~a~0.offset)) (= main_~a~0.offset |main_#t~mem35.offset|))} ~p~0.base, ~p~0.offset := #t~mem35.base, #t~mem35.offset; {17925#(and (= 2 (select (select |#memory_int| main_~a~0.base) main_~a~0.offset)) (= main_~a~0.offset main_~p~0.offset))} is VALID [2020-07-18 05:16:17,007 INFO L280 TraceCheckUtils]: 62: Hoare triple {17925#(and (= 2 (select (select |#memory_int| main_~a~0.base) main_~a~0.offset)) (= main_~a~0.offset main_~p~0.offset))} havoc #t~mem35.base, #t~mem35.offset; {17925#(and (= 2 (select (select |#memory_int| main_~a~0.base) main_~a~0.offset)) (= main_~a~0.offset main_~p~0.offset))} is VALID [2020-07-18 05:16:17,008 INFO L280 TraceCheckUtils]: 63: Hoare triple {17925#(and (= 2 (select (select |#memory_int| main_~a~0.base) main_~a~0.offset)) (= main_~a~0.offset main_~p~0.offset))} assume -2147483648 <= #t~nondet33 && #t~nondet33 <= 2147483647; {17925#(and (= 2 (select (select |#memory_int| main_~a~0.base) main_~a~0.offset)) (= main_~a~0.offset main_~p~0.offset))} is VALID [2020-07-18 05:16:17,008 INFO L280 TraceCheckUtils]: 64: Hoare triple {17925#(and (= 2 (select (select |#memory_int| main_~a~0.base) main_~a~0.offset)) (= main_~a~0.offset main_~p~0.offset))} assume !(0 != #t~nondet33); {17925#(and (= 2 (select (select |#memory_int| main_~a~0.base) main_~a~0.offset)) (= main_~a~0.offset main_~p~0.offset))} is VALID [2020-07-18 05:16:17,009 INFO L280 TraceCheckUtils]: 65: Hoare triple {17925#(and (= 2 (select (select |#memory_int| main_~a~0.base) main_~a~0.offset)) (= main_~a~0.offset main_~p~0.offset))} havoc #t~nondet33; {17925#(and (= 2 (select (select |#memory_int| main_~a~0.base) main_~a~0.offset)) (= main_~a~0.offset main_~p~0.offset))} is VALID [2020-07-18 05:16:17,010 INFO L280 TraceCheckUtils]: 66: Hoare triple {17925#(and (= 2 (select (select |#memory_int| main_~a~0.base) main_~a~0.offset)) (= main_~a~0.offset main_~p~0.offset))} SUMMARY for call write~int(3, ~p~0.base, ~p~0.offset, 4); srcloc: L595-5 {17926#(or (= 3 (select (select |#memory_int| main_~a~0.base) main_~a~0.offset)) (= 2 (select (select |#memory_int| main_~a~0.base) main_~a~0.offset)))} is VALID [2020-07-18 05:16:17,011 INFO L280 TraceCheckUtils]: 67: Hoare triple {17926#(or (= 3 (select (select |#memory_int| main_~a~0.base) main_~a~0.offset)) (= 2 (select (select |#memory_int| main_~a~0.base) main_~a~0.offset)))} ~p~0.base, ~p~0.offset := ~a~0.base, ~a~0.offset; {17927#(or (= 2 (select (select |#memory_int| main_~p~0.base) main_~p~0.offset)) (= 3 (select (select |#memory_int| main_~p~0.base) main_~p~0.offset)))} is VALID [2020-07-18 05:16:17,012 INFO L280 TraceCheckUtils]: 68: Hoare triple {17927#(or (= 2 (select (select |#memory_int| main_~p~0.base) main_~p~0.offset)) (= 3 (select (select |#memory_int| main_~p~0.base) main_~p~0.offset)))} SUMMARY for call #t~mem36 := read~int(~p~0.base, ~p~0.offset, 4); srcloc: L604-5 {17928#(or (= 3 (select (select |#memory_int| main_~p~0.base) main_~p~0.offset)) (= |main_#t~mem36| 2))} is VALID [2020-07-18 05:16:17,013 INFO L280 TraceCheckUtils]: 69: Hoare triple {17928#(or (= 3 (select (select |#memory_int| main_~p~0.base) main_~p~0.offset)) (= |main_#t~mem36| 2))} assume !(2 == #t~mem36); {17929#(= 3 (select (select |#memory_int| main_~p~0.base) main_~p~0.offset))} is VALID [2020-07-18 05:16:17,013 INFO L280 TraceCheckUtils]: 70: Hoare triple {17929#(= 3 (select (select |#memory_int| main_~p~0.base) main_~p~0.offset))} havoc #t~mem36; {17929#(= 3 (select (select |#memory_int| main_~p~0.base) main_~p~0.offset))} is VALID [2020-07-18 05:16:17,014 INFO L280 TraceCheckUtils]: 71: Hoare triple {17929#(= 3 (select (select |#memory_int| main_~p~0.base) main_~p~0.offset))} SUMMARY for call #t~mem38 := read~int(~p~0.base, ~p~0.offset, 4); srcloc: L606-4 {17929#(= 3 (select (select |#memory_int| main_~p~0.base) main_~p~0.offset))} is VALID [2020-07-18 05:16:17,014 INFO L280 TraceCheckUtils]: 72: Hoare triple {17929#(= 3 (select (select |#memory_int| main_~p~0.base) main_~p~0.offset))} assume !(1 == #t~mem38); {17929#(= 3 (select (select |#memory_int| main_~p~0.base) main_~p~0.offset))} is VALID [2020-07-18 05:16:17,015 INFO L280 TraceCheckUtils]: 73: Hoare triple {17929#(= 3 (select (select |#memory_int| main_~p~0.base) main_~p~0.offset))} havoc #t~mem38; {17929#(= 3 (select (select |#memory_int| main_~p~0.base) main_~p~0.offset))} is VALID [2020-07-18 05:16:17,015 INFO L280 TraceCheckUtils]: 74: Hoare triple {17929#(= 3 (select (select |#memory_int| main_~p~0.base) main_~p~0.offset))} SUMMARY for call #t~mem40 := read~int(~p~0.base, ~p~0.offset, 4); srcloc: L606-5 {17930#(= |main_#t~mem40| 3)} is VALID [2020-07-18 05:16:17,016 INFO L280 TraceCheckUtils]: 75: Hoare triple {17930#(= |main_#t~mem40| 3)} assume 3 != #t~mem40; {17906#false} is VALID [2020-07-18 05:16:17,016 INFO L280 TraceCheckUtils]: 76: Hoare triple {17906#false} havoc #t~mem40; {17906#false} is VALID [2020-07-18 05:16:17,016 INFO L280 TraceCheckUtils]: 77: Hoare triple {17906#false} assume !false; {17906#false} is VALID [2020-07-18 05:16:17,031 INFO L134 CoverageAnalysis]: Checked inductivity of 16 backedges. 0 proven. 15 refuted. 0 times theorem prover too weak. 1 trivial. 0 not checked. [2020-07-18 05:16:17,031 INFO L354 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModulePreferences [1937848919] [2020-07-18 05:16:17,031 INFO L220 FreeRefinementEngine]: Constructing automaton from 0 perfect and 1 imperfect interpolant sequences. [2020-07-18 05:16:17,031 INFO L233 FreeRefinementEngine]: Number of different interpolants: perfect sequences [] imperfect sequences [22] total 22 [2020-07-18 05:16:17,032 INFO L156 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [1976552800] [2020-07-18 05:16:17,032 INFO L78 Accepts]: Start accepts. Automaton has 22 states. Word has length 78 [2020-07-18 05:16:17,032 INFO L84 Accepts]: Finished accepts. word is accepted. [2020-07-18 05:16:17,033 INFO L86 InductivityCheck]: Starting indutivity check of a Floyd-Hoare automaton with 22 states. [2020-07-18 05:16:17,126 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-18 05:16:17,126 INFO L459 AbstractCegarLoop]: Interpolant automaton has 22 states [2020-07-18 05:16:17,127 INFO L143 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy FIXED_PREFERENCES [2020-07-18 05:16:17,127 INFO L142 InterpolantAutomaton]: Constructing interpolant automaton starting with 22 interpolants. [2020-07-18 05:16:17,128 INFO L144 InterpolantAutomaton]: CoverageRelationStatistics Valid=65, Invalid=397, Unknown=0, NotChecked=0, Total=462 [2020-07-18 05:16:17,128 INFO L87 Difference]: Start difference. First operand 258 states and 285 transitions. Second operand 22 states. [2020-07-18 05:16:23,792 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2020-07-18 05:16:23,793 INFO L93 Difference]: Finished difference Result 346 states and 378 transitions. [2020-07-18 05:16:23,793 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 35 states. [2020-07-18 05:16:23,793 INFO L78 Accepts]: Start accepts. Automaton has 22 states. Word has length 78 [2020-07-18 05:16:23,793 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2020-07-18 05:16:23,793 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 22 states. [2020-07-18 05:16:23,798 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 35 states to 35 states and 308 transitions. [2020-07-18 05:16:23,798 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 22 states. [2020-07-18 05:16:23,802 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 35 states to 35 states and 308 transitions. [2020-07-18 05:16:23,802 INFO L86 InductivityCheck]: Starting indutivity check of a Floyd-Hoare automaton with 35 states and 308 transitions. [2020-07-18 05:16:24,232 INFO L119 InductivityCheck]: Floyd-Hoare automaton has 308 edges. 308 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2020-07-18 05:16:24,239 INFO L225 Difference]: With dead ends: 346 [2020-07-18 05:16:24,239 INFO L226 Difference]: Without dead ends: 340 [2020-07-18 05:16:24,240 INFO L675 BasicCegarLoop]: 0 DeclaredPredicates, 55 GetRequests, 4 SyntacticMatches, 0 SemanticMatches, 51 ConstructedPredicates, 0 IntricatePredicates, 0 DeprecatedPredicates, 504 ImplicationChecksByTransitivity, 1.8s TimeCoverageRelationStatistics Valid=493, Invalid=2263, Unknown=0, NotChecked=0, Total=2756 [2020-07-18 05:16:24,241 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 340 states. [2020-07-18 05:16:25,248 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 340 to 283. [2020-07-18 05:16:25,248 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2020-07-18 05:16:25,248 INFO L82 GeneralOperation]: Start isEquivalent. First operand 340 states. Second operand 283 states. [2020-07-18 05:16:25,249 INFO L74 IsIncluded]: Start isIncluded. First operand 340 states. Second operand 283 states. [2020-07-18 05:16:25,249 INFO L87 Difference]: Start difference. First operand 340 states. Second operand 283 states. [2020-07-18 05:16:25,258 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2020-07-18 05:16:25,258 INFO L93 Difference]: Finished difference Result 340 states and 372 transitions. [2020-07-18 05:16:25,258 INFO L276 IsEmpty]: Start isEmpty. Operand 340 states and 372 transitions. [2020-07-18 05:16:25,259 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2020-07-18 05:16:25,259 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2020-07-18 05:16:25,259 INFO L74 IsIncluded]: Start isIncluded. First operand 283 states. Second operand 340 states. [2020-07-18 05:16:25,259 INFO L87 Difference]: Start difference. First operand 283 states. Second operand 340 states. [2020-07-18 05:16:25,268 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2020-07-18 05:16:25,268 INFO L93 Difference]: Finished difference Result 340 states and 372 transitions. [2020-07-18 05:16:25,268 INFO L276 IsEmpty]: Start isEmpty. Operand 340 states and 372 transitions. [2020-07-18 05:16:25,269 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2020-07-18 05:16:25,269 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2020-07-18 05:16:25,269 INFO L88 GeneralOperation]: Finished isEquivalent. [2020-07-18 05:16:25,269 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2020-07-18 05:16:25,269 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 283 states. [2020-07-18 05:16:25,275 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 283 states to 283 states and 312 transitions. [2020-07-18 05:16:25,276 INFO L78 Accepts]: Start accepts. Automaton has 283 states and 312 transitions. Word has length 78 [2020-07-18 05:16:25,276 INFO L84 Accepts]: Finished accepts. word is rejected. [2020-07-18 05:16:25,276 INFO L479 AbstractCegarLoop]: Abstraction has 283 states and 312 transitions. [2020-07-18 05:16:25,276 INFO L480 AbstractCegarLoop]: Interpolant automaton has 22 states. [2020-07-18 05:16:25,276 INFO L86 InductivityCheck]: Starting indutivity check of a Floyd-Hoare automaton with 283 states and 312 transitions. [2020-07-18 05:16:25,910 INFO L119 InductivityCheck]: Floyd-Hoare automaton has 312 edges. 312 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2020-07-18 05:16:25,910 INFO L276 IsEmpty]: Start isEmpty. Operand 283 states and 312 transitions. [2020-07-18 05:16:25,912 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 79 [2020-07-18 05:16:25,912 INFO L414 BasicCegarLoop]: Found error trace [2020-07-18 05:16:25,912 INFO L422 BasicCegarLoop]: trace histogram [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, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1] [2020-07-18 05:16:25,913 WARN L516 AbstractCegarLoop]: Destroyed unattended storables created during the last iteration: SelfDestructingSolverStorable11 [2020-07-18 05:16:25,913 INFO L427 AbstractCegarLoop]: === Iteration 13 === [mainErr0ASSERT_VIOLATIONERROR_FUNCTION]=== [2020-07-18 05:16:25,913 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2020-07-18 05:16:25,913 INFO L82 PathProgramCache]: Analyzing trace with hash 1736898641, now seen corresponding path program 1 times [2020-07-18 05:16:25,913 INFO L163 FreeRefinementEngine]: Executing refinement strategy FIXED_PREFERENCES [2020-07-18 05:16:25,914 INFO L354 FreeRefinementEngine]: Using trace check IpTcStrategyModulePreferences [282827790] [2020-07-18 05:16:25,914 INFO L94 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2020-07-18 05:16:25,938 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2020-07-18 05:16:26,507 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2020-07-18 05:16:26,517 INFO L280 TraceCheckUtils]: 0: Hoare triple {19960#(and (= |#valid| |old(#valid)|) (= |#NULL.base| |old(#NULL.base)|) (= |#NULL.offset| |old(#NULL.offset)|))} #NULL.base, #NULL.offset := 0, 0; {19934#true} is VALID [2020-07-18 05:16:26,517 INFO L280 TraceCheckUtils]: 1: Hoare triple {19934#true} #valid := #valid[0 := 0]; {19934#true} is VALID [2020-07-18 05:16:26,517 INFO L280 TraceCheckUtils]: 2: Hoare triple {19934#true} assume 0 < #StackHeapBarrier; {19934#true} is VALID [2020-07-18 05:16:26,518 INFO L280 TraceCheckUtils]: 3: Hoare triple {19934#true} assume true; {19934#true} is VALID [2020-07-18 05:16:26,518 INFO L275 TraceCheckUtils]: 4: Hoare quadruple {19934#true} {19934#true} #349#return; {19934#true} is VALID [2020-07-18 05:16:26,519 INFO L263 TraceCheckUtils]: 0: Hoare triple {19934#true} call ULTIMATE.init(); {19960#(and (= |#valid| |old(#valid)|) (= |#NULL.base| |old(#NULL.base)|) (= |#NULL.offset| |old(#NULL.offset)|))} is VALID [2020-07-18 05:16:26,519 INFO L280 TraceCheckUtils]: 1: Hoare triple {19960#(and (= |#valid| |old(#valid)|) (= |#NULL.base| |old(#NULL.base)|) (= |#NULL.offset| |old(#NULL.offset)|))} #NULL.base, #NULL.offset := 0, 0; {19934#true} is VALID [2020-07-18 05:16:26,519 INFO L280 TraceCheckUtils]: 2: Hoare triple {19934#true} #valid := #valid[0 := 0]; {19934#true} is VALID [2020-07-18 05:16:26,519 INFO L280 TraceCheckUtils]: 3: Hoare triple {19934#true} assume 0 < #StackHeapBarrier; {19934#true} is VALID [2020-07-18 05:16:26,519 INFO L280 TraceCheckUtils]: 4: Hoare triple {19934#true} assume true; {19934#true} is VALID [2020-07-18 05:16:26,520 INFO L275 TraceCheckUtils]: 5: Hoare quadruple {19934#true} {19934#true} #349#return; {19934#true} is VALID [2020-07-18 05:16:26,520 INFO L263 TraceCheckUtils]: 6: Hoare triple {19934#true} call #t~ret41 := main(); {19934#true} is VALID [2020-07-18 05:16:26,520 INFO L280 TraceCheckUtils]: 7: Hoare triple {19934#true} SUMMARY for call #t~malloc2.base, #t~malloc2.offset := #Ultimate.allocOnHeap(8); srcloc: mainENTRY {19934#true} is VALID [2020-07-18 05:16:26,520 INFO L280 TraceCheckUtils]: 8: Hoare triple {19934#true} ~root~0.base, ~root~0.offset := #t~malloc2.base, #t~malloc2.offset; {19934#true} is VALID [2020-07-18 05:16:26,520 INFO L280 TraceCheckUtils]: 9: Hoare triple {19934#true} havoc ~n~0.base, ~n~0.offset; {19934#true} is VALID [2020-07-18 05:16:26,520 INFO L280 TraceCheckUtils]: 10: Hoare triple {19934#true} SUMMARY for call write~$Pointer$(0, 0, ~root~0.base, ~root~0.offset, 4); srcloc: L542 {19934#true} is VALID [2020-07-18 05:16:26,521 INFO L280 TraceCheckUtils]: 11: Hoare triple {19934#true} SUMMARY for call write~$Pointer$(0, 0, ~root~0.base, 4 + ~root~0.offset, 4); srcloc: L542-1 {19934#true} is VALID [2020-07-18 05:16:26,521 INFO L280 TraceCheckUtils]: 12: Hoare triple {19934#true} assume -2147483648 <= #t~nondet3 && #t~nondet3 <= 2147483647; {19934#true} is VALID [2020-07-18 05:16:26,521 INFO L280 TraceCheckUtils]: 13: Hoare triple {19934#true} assume !(0 != #t~nondet3); {19934#true} is VALID [2020-07-18 05:16:26,521 INFO L280 TraceCheckUtils]: 14: Hoare triple {19934#true} havoc #t~nondet3; {19934#true} is VALID [2020-07-18 05:16:26,521 INFO L280 TraceCheckUtils]: 15: Hoare triple {19934#true} ~n~0.base, ~n~0.offset := 0, 0; {19934#true} is VALID [2020-07-18 05:16:26,521 INFO L280 TraceCheckUtils]: 16: Hoare triple {19934#true} havoc ~pred~0.base, ~pred~0.offset; {19934#true} is VALID [2020-07-18 05:16:26,522 INFO L280 TraceCheckUtils]: 17: Hoare triple {19934#true} assume !!(~root~0.base != 0 || ~root~0.offset != 0); {19934#true} is VALID [2020-07-18 05:16:26,522 INFO L280 TraceCheckUtils]: 18: Hoare triple {19934#true} ~pred~0.base, ~pred~0.offset := 0, 0; {19934#true} is VALID [2020-07-18 05:16:26,522 INFO L280 TraceCheckUtils]: 19: Hoare triple {19934#true} ~n~0.base, ~n~0.offset := ~root~0.base, ~root~0.offset; {19934#true} is VALID [2020-07-18 05:16:26,522 INFO L280 TraceCheckUtils]: 20: Hoare triple {19934#true} SUMMARY for call #t~mem22.base, #t~mem22.offset := read~$Pointer$(~n~0.base, ~n~0.offset, 4); srcloc: L570-5 {19934#true} is VALID [2020-07-18 05:16:26,522 INFO L280 TraceCheckUtils]: 21: Hoare triple {19934#true} #t~short24 := #t~mem22.base != 0 || #t~mem22.offset != 0; {19934#true} is VALID [2020-07-18 05:16:26,522 INFO L280 TraceCheckUtils]: 22: Hoare triple {19934#true} assume !#t~short24; {19934#true} is VALID [2020-07-18 05:16:26,523 INFO L280 TraceCheckUtils]: 23: Hoare triple {19934#true} SUMMARY for call #t~mem23.base, #t~mem23.offset := read~$Pointer$(~n~0.base, 4 + ~n~0.offset, 4); srcloc: L568-4 {19934#true} is VALID [2020-07-18 05:16:26,523 INFO L280 TraceCheckUtils]: 24: Hoare triple {19934#true} #t~short24 := #t~mem23.base != 0 || #t~mem23.offset != 0; {19934#true} is VALID [2020-07-18 05:16:26,523 INFO L280 TraceCheckUtils]: 25: Hoare triple {19934#true} assume !#t~short24; {19934#true} is VALID [2020-07-18 05:16:26,523 INFO L280 TraceCheckUtils]: 26: Hoare triple {19934#true} havoc #t~mem22.base, #t~mem22.offset; {19934#true} is VALID [2020-07-18 05:16:26,523 INFO L280 TraceCheckUtils]: 27: Hoare triple {19934#true} havoc #t~mem23.base, #t~mem23.offset; {19934#true} is VALID [2020-07-18 05:16:26,523 INFO L280 TraceCheckUtils]: 28: Hoare triple {19934#true} havoc #t~short24; {19934#true} is VALID [2020-07-18 05:16:26,524 INFO L280 TraceCheckUtils]: 29: Hoare triple {19934#true} assume !(~pred~0.base != 0 || ~pred~0.offset != 0); {19934#true} is VALID [2020-07-18 05:16:26,524 INFO L280 TraceCheckUtils]: 30: Hoare triple {19934#true} ~root~0.base, ~root~0.offset := 0, 0; {19934#true} is VALID [2020-07-18 05:16:26,524 INFO L280 TraceCheckUtils]: 31: Hoare triple {19934#true} SUMMARY for call ULTIMATE.dealloc(~n~0.base, ~n~0.offset); srcloc: L575 {19934#true} is VALID [2020-07-18 05:16:26,524 INFO L280 TraceCheckUtils]: 32: Hoare triple {19934#true} assume !(~root~0.base != 0 || ~root~0.offset != 0); {19934#true} is VALID [2020-07-18 05:16:26,527 INFO L280 TraceCheckUtils]: 33: Hoare triple {19934#true} SUMMARY for call #t~malloc29.base, #t~malloc29.offset := #Ultimate.allocOnHeap(8); srcloc: L565-2 {19941#(and (= 1 (select |#valid| |main_#t~malloc29.base|)) (= 0 |main_#t~malloc29.offset|))} is VALID [2020-07-18 05:16:26,528 INFO L280 TraceCheckUtils]: 34: Hoare triple {19941#(and (= 1 (select |#valid| |main_#t~malloc29.base|)) (= 0 |main_#t~malloc29.offset|))} ~a~0.base, ~a~0.offset := #t~malloc29.base, #t~malloc29.offset; {19942#(and (= 1 (select |#valid| main_~a~0.base)) (= 0 main_~a~0.offset))} is VALID [2020-07-18 05:16:26,529 INFO L280 TraceCheckUtils]: 35: Hoare triple {19942#(and (= 1 (select |#valid| main_~a~0.base)) (= 0 main_~a~0.offset))} assume !(~a~0.base == 0 && ~a~0.offset == 0); {19942#(and (= 1 (select |#valid| main_~a~0.base)) (= 0 main_~a~0.offset))} is VALID [2020-07-18 05:16:26,529 INFO L280 TraceCheckUtils]: 36: Hoare triple {19942#(and (= 1 (select |#valid| main_~a~0.base)) (= 0 main_~a~0.offset))} havoc ~t~0.base, ~t~0.offset; {19942#(and (= 1 (select |#valid| main_~a~0.base)) (= 0 main_~a~0.offset))} is VALID [2020-07-18 05:16:26,530 INFO L280 TraceCheckUtils]: 37: Hoare triple {19942#(and (= 1 (select |#valid| main_~a~0.base)) (= 0 main_~a~0.offset))} ~p~0.base, ~p~0.offset := ~a~0.base, ~a~0.offset; {19943#(and (= main_~a~0.base main_~p~0.base) (= 0 main_~a~0.offset) (= 1 (select |#valid| main_~p~0.base)) (= main_~a~0.offset main_~p~0.offset))} is VALID [2020-07-18 05:16:26,531 INFO L280 TraceCheckUtils]: 38: Hoare triple {19943#(and (= main_~a~0.base main_~p~0.base) (= 0 main_~a~0.offset) (= 1 (select |#valid| main_~p~0.base)) (= main_~a~0.offset main_~p~0.offset))} assume -2147483648 <= #t~nondet30 && #t~nondet30 <= 2147483647; {19943#(and (= main_~a~0.base main_~p~0.base) (= 0 main_~a~0.offset) (= 1 (select |#valid| main_~p~0.base)) (= main_~a~0.offset main_~p~0.offset))} is VALID [2020-07-18 05:16:26,532 INFO L280 TraceCheckUtils]: 39: Hoare triple {19943#(and (= main_~a~0.base main_~p~0.base) (= 0 main_~a~0.offset) (= 1 (select |#valid| main_~p~0.base)) (= main_~a~0.offset main_~p~0.offset))} assume !!(0 != #t~nondet30); {19943#(and (= main_~a~0.base main_~p~0.base) (= 0 main_~a~0.offset) (= 1 (select |#valid| main_~p~0.base)) (= main_~a~0.offset main_~p~0.offset))} is VALID [2020-07-18 05:16:26,532 INFO L280 TraceCheckUtils]: 40: Hoare triple {19943#(and (= main_~a~0.base main_~p~0.base) (= 0 main_~a~0.offset) (= 1 (select |#valid| main_~p~0.base)) (= main_~a~0.offset main_~p~0.offset))} havoc #t~nondet30; {19943#(and (= main_~a~0.base main_~p~0.base) (= 0 main_~a~0.offset) (= 1 (select |#valid| main_~p~0.base)) (= main_~a~0.offset main_~p~0.offset))} is VALID [2020-07-18 05:16:26,533 INFO L280 TraceCheckUtils]: 41: Hoare triple {19943#(and (= main_~a~0.base main_~p~0.base) (= 0 main_~a~0.offset) (= 1 (select |#valid| main_~p~0.base)) (= main_~a~0.offset main_~p~0.offset))} SUMMARY for call write~int(1, ~p~0.base, ~p~0.offset, 4); srcloc: L589 {19944#(and (= main_~a~0.base main_~p~0.base) (= 1 (select (select |#memory_int| main_~p~0.base) main_~p~0.offset)) (= 0 main_~a~0.offset) (= 1 (select |#valid| main_~p~0.base)) (= main_~a~0.offset main_~p~0.offset))} is VALID [2020-07-18 05:16:26,534 INFO L280 TraceCheckUtils]: 42: Hoare triple {19944#(and (= main_~a~0.base main_~p~0.base) (= 1 (select (select |#memory_int| main_~p~0.base) main_~p~0.offset)) (= 0 main_~a~0.offset) (= 1 (select |#valid| main_~p~0.base)) (= main_~a~0.offset main_~p~0.offset))} SUMMARY for call #t~malloc31.base, #t~malloc31.offset := #Ultimate.allocOnHeap(8); srcloc: L589-1 {19945#(and (= main_~a~0.base main_~p~0.base) (not (= main_~p~0.base |main_#t~malloc31.base|)) (= 1 (select (select |#memory_int| main_~p~0.base) main_~p~0.offset)) (= 0 main_~a~0.offset) (= main_~a~0.offset main_~p~0.offset))} is VALID [2020-07-18 05:16:26,535 INFO L280 TraceCheckUtils]: 43: Hoare triple {19945#(and (= main_~a~0.base main_~p~0.base) (not (= main_~p~0.base |main_#t~malloc31.base|)) (= 1 (select (select |#memory_int| main_~p~0.base) main_~p~0.offset)) (= 0 main_~a~0.offset) (= main_~a~0.offset main_~p~0.offset))} ~t~0.base, ~t~0.offset := #t~malloc31.base, #t~malloc31.offset; {19946#(and (= main_~a~0.base main_~p~0.base) (= 1 (select (select |#memory_int| main_~p~0.base) main_~p~0.offset)) (= 0 main_~a~0.offset) (not (= main_~t~0.base main_~p~0.base)) (= main_~a~0.offset main_~p~0.offset))} is VALID [2020-07-18 05:16:26,536 INFO L280 TraceCheckUtils]: 44: Hoare triple {19946#(and (= main_~a~0.base main_~p~0.base) (= 1 (select (select |#memory_int| main_~p~0.base) main_~p~0.offset)) (= 0 main_~a~0.offset) (not (= main_~t~0.base main_~p~0.base)) (= main_~a~0.offset main_~p~0.offset))} assume !(~t~0.base == 0 && ~t~0.offset == 0); {19946#(and (= main_~a~0.base main_~p~0.base) (= 1 (select (select |#memory_int| main_~p~0.base) main_~p~0.offset)) (= 0 main_~a~0.offset) (not (= main_~t~0.base main_~p~0.base)) (= main_~a~0.offset main_~p~0.offset))} is VALID [2020-07-18 05:16:26,537 INFO L280 TraceCheckUtils]: 45: Hoare triple {19946#(and (= main_~a~0.base main_~p~0.base) (= 1 (select (select |#memory_int| main_~p~0.base) main_~p~0.offset)) (= 0 main_~a~0.offset) (not (= main_~t~0.base main_~p~0.base)) (= main_~a~0.offset main_~p~0.offset))} SUMMARY for call write~$Pointer$(~t~0.base, ~t~0.offset, ~p~0.base, 4 + ~p~0.offset, 4); srcloc: L591-3 {19947#(and (= main_~a~0.base main_~p~0.base) (not (= (select (select |#memory_$Pointer$.base| main_~p~0.base) (+ main_~p~0.offset 4)) main_~p~0.base)) (= 1 (select (select |#memory_int| main_~p~0.base) main_~p~0.offset)) (= 0 main_~a~0.offset) (= main_~a~0.offset main_~p~0.offset))} is VALID [2020-07-18 05:16:26,538 INFO L280 TraceCheckUtils]: 46: Hoare triple {19947#(and (= main_~a~0.base main_~p~0.base) (not (= (select (select |#memory_$Pointer$.base| main_~p~0.base) (+ main_~p~0.offset 4)) main_~p~0.base)) (= 1 (select (select |#memory_int| main_~p~0.base) main_~p~0.offset)) (= 0 main_~a~0.offset) (= main_~a~0.offset main_~p~0.offset))} SUMMARY for call #t~mem32.base, #t~mem32.offset := read~$Pointer$(~p~0.base, 4 + ~p~0.offset, 4); srcloc: L592 {19948#(and (not (= main_~a~0.base |main_#t~mem32.base|)) (= 1 (select (select |#memory_int| main_~a~0.base) main_~a~0.offset)) (= 0 main_~a~0.offset))} is VALID [2020-07-18 05:16:26,539 INFO L280 TraceCheckUtils]: 47: Hoare triple {19948#(and (not (= main_~a~0.base |main_#t~mem32.base|)) (= 1 (select (select |#memory_int| main_~a~0.base) main_~a~0.offset)) (= 0 main_~a~0.offset))} ~p~0.base, ~p~0.offset := #t~mem32.base, #t~mem32.offset; {19949#(and (not (= main_~a~0.base main_~p~0.base)) (= 1 (select (select |#memory_int| main_~a~0.base) main_~a~0.offset)) (= 0 main_~a~0.offset))} is VALID [2020-07-18 05:16:26,540 INFO L280 TraceCheckUtils]: 48: Hoare triple {19949#(and (not (= main_~a~0.base main_~p~0.base)) (= 1 (select (select |#memory_int| main_~a~0.base) main_~a~0.offset)) (= 0 main_~a~0.offset))} havoc #t~mem32.base, #t~mem32.offset; {19949#(and (not (= main_~a~0.base main_~p~0.base)) (= 1 (select (select |#memory_int| main_~a~0.base) main_~a~0.offset)) (= 0 main_~a~0.offset))} is VALID [2020-07-18 05:16:26,540 INFO L280 TraceCheckUtils]: 49: Hoare triple {19949#(and (not (= main_~a~0.base main_~p~0.base)) (= 1 (select (select |#memory_int| main_~a~0.base) main_~a~0.offset)) (= 0 main_~a~0.offset))} assume -2147483648 <= #t~nondet30 && #t~nondet30 <= 2147483647; {19949#(and (not (= main_~a~0.base main_~p~0.base)) (= 1 (select (select |#memory_int| main_~a~0.base) main_~a~0.offset)) (= 0 main_~a~0.offset))} is VALID [2020-07-18 05:16:26,541 INFO L280 TraceCheckUtils]: 50: Hoare triple {19949#(and (not (= main_~a~0.base main_~p~0.base)) (= 1 (select (select |#memory_int| main_~a~0.base) main_~a~0.offset)) (= 0 main_~a~0.offset))} assume !(0 != #t~nondet30); {19949#(and (not (= main_~a~0.base main_~p~0.base)) (= 1 (select (select |#memory_int| main_~a~0.base) main_~a~0.offset)) (= 0 main_~a~0.offset))} is VALID [2020-07-18 05:16:26,543 INFO L280 TraceCheckUtils]: 51: Hoare triple {19949#(and (not (= main_~a~0.base main_~p~0.base)) (= 1 (select (select |#memory_int| main_~a~0.base) main_~a~0.offset)) (= 0 main_~a~0.offset))} havoc #t~nondet30; {19949#(and (not (= main_~a~0.base main_~p~0.base)) (= 1 (select (select |#memory_int| main_~a~0.base) main_~a~0.offset)) (= 0 main_~a~0.offset))} is VALID [2020-07-18 05:16:26,543 INFO L280 TraceCheckUtils]: 52: Hoare triple {19949#(and (not (= main_~a~0.base main_~p~0.base)) (= 1 (select (select |#memory_int| main_~a~0.base) main_~a~0.offset)) (= 0 main_~a~0.offset))} assume -2147483648 <= #t~nondet33 && #t~nondet33 <= 2147483647; {19949#(and (not (= main_~a~0.base main_~p~0.base)) (= 1 (select (select |#memory_int| main_~a~0.base) main_~a~0.offset)) (= 0 main_~a~0.offset))} is VALID [2020-07-18 05:16:26,544 INFO L280 TraceCheckUtils]: 53: Hoare triple {19949#(and (not (= main_~a~0.base main_~p~0.base)) (= 1 (select (select |#memory_int| main_~a~0.base) main_~a~0.offset)) (= 0 main_~a~0.offset))} assume !!(0 != #t~nondet33); {19949#(and (not (= main_~a~0.base main_~p~0.base)) (= 1 (select (select |#memory_int| main_~a~0.base) main_~a~0.offset)) (= 0 main_~a~0.offset))} is VALID [2020-07-18 05:16:26,545 INFO L280 TraceCheckUtils]: 54: Hoare triple {19949#(and (not (= main_~a~0.base main_~p~0.base)) (= 1 (select (select |#memory_int| main_~a~0.base) main_~a~0.offset)) (= 0 main_~a~0.offset))} havoc #t~nondet33; {19949#(and (not (= main_~a~0.base main_~p~0.base)) (= 1 (select (select |#memory_int| main_~a~0.base) main_~a~0.offset)) (= 0 main_~a~0.offset))} is VALID [2020-07-18 05:16:26,546 INFO L280 TraceCheckUtils]: 55: Hoare triple {19949#(and (not (= main_~a~0.base main_~p~0.base)) (= 1 (select (select |#memory_int| main_~a~0.base) main_~a~0.offset)) (= 0 main_~a~0.offset))} SUMMARY for call write~int(2, ~p~0.base, ~p~0.offset, 4); srcloc: L596 {19949#(and (not (= main_~a~0.base main_~p~0.base)) (= 1 (select (select |#memory_int| main_~a~0.base) main_~a~0.offset)) (= 0 main_~a~0.offset))} is VALID [2020-07-18 05:16:26,547 INFO L280 TraceCheckUtils]: 56: Hoare triple {19949#(and (not (= main_~a~0.base main_~p~0.base)) (= 1 (select (select |#memory_int| main_~a~0.base) main_~a~0.offset)) (= 0 main_~a~0.offset))} SUMMARY for call #t~malloc34.base, #t~malloc34.offset := #Ultimate.allocOnHeap(8); srcloc: L596-1 {19950#(and (not (= main_~a~0.base main_~p~0.base)) (= 1 (select (select |#memory_int| main_~a~0.base) main_~a~0.offset)) (= main_~a~0.offset |main_#t~malloc34.offset|))} is VALID [2020-07-18 05:16:26,547 INFO L280 TraceCheckUtils]: 57: Hoare triple {19950#(and (not (= main_~a~0.base main_~p~0.base)) (= 1 (select (select |#memory_int| main_~a~0.base) main_~a~0.offset)) (= main_~a~0.offset |main_#t~malloc34.offset|))} ~t~0.base, ~t~0.offset := #t~malloc34.base, #t~malloc34.offset; {19951#(and (not (= main_~a~0.base main_~p~0.base)) (= 1 (select (select |#memory_int| main_~a~0.base) main_~a~0.offset)) (= main_~a~0.offset main_~t~0.offset))} is VALID [2020-07-18 05:16:26,548 INFO L280 TraceCheckUtils]: 58: Hoare triple {19951#(and (not (= main_~a~0.base main_~p~0.base)) (= 1 (select (select |#memory_int| main_~a~0.base) main_~a~0.offset)) (= main_~a~0.offset main_~t~0.offset))} assume !(~t~0.base == 0 && ~t~0.offset == 0); {19951#(and (not (= main_~a~0.base main_~p~0.base)) (= 1 (select (select |#memory_int| main_~a~0.base) main_~a~0.offset)) (= main_~a~0.offset main_~t~0.offset))} is VALID [2020-07-18 05:16:26,549 INFO L280 TraceCheckUtils]: 59: Hoare triple {19951#(and (not (= main_~a~0.base main_~p~0.base)) (= 1 (select (select |#memory_int| main_~a~0.base) main_~a~0.offset)) (= main_~a~0.offset main_~t~0.offset))} SUMMARY for call write~$Pointer$(~t~0.base, ~t~0.offset, ~p~0.base, 4 + ~p~0.offset, 4); srcloc: L598-3 {19952#(and (= 1 (select (select |#memory_int| main_~a~0.base) main_~a~0.offset)) (= (select (select |#memory_$Pointer$.offset| main_~p~0.base) (+ main_~p~0.offset 4)) main_~a~0.offset))} is VALID [2020-07-18 05:16:26,550 INFO L280 TraceCheckUtils]: 60: Hoare triple {19952#(and (= 1 (select (select |#memory_int| main_~a~0.base) main_~a~0.offset)) (= (select (select |#memory_$Pointer$.offset| main_~p~0.base) (+ main_~p~0.offset 4)) main_~a~0.offset))} SUMMARY for call #t~mem35.base, #t~mem35.offset := read~$Pointer$(~p~0.base, 4 + ~p~0.offset, 4); srcloc: L599 {19953#(and (= 1 (select (select |#memory_int| main_~a~0.base) main_~a~0.offset)) (= main_~a~0.offset |main_#t~mem35.offset|))} is VALID [2020-07-18 05:16:26,551 INFO L280 TraceCheckUtils]: 61: Hoare triple {19953#(and (= 1 (select (select |#memory_int| main_~a~0.base) main_~a~0.offset)) (= main_~a~0.offset |main_#t~mem35.offset|))} ~p~0.base, ~p~0.offset := #t~mem35.base, #t~mem35.offset; {19954#(and (= 1 (select (select |#memory_int| main_~a~0.base) main_~a~0.offset)) (= main_~a~0.offset main_~p~0.offset))} is VALID [2020-07-18 05:16:26,552 INFO L280 TraceCheckUtils]: 62: Hoare triple {19954#(and (= 1 (select (select |#memory_int| main_~a~0.base) main_~a~0.offset)) (= main_~a~0.offset main_~p~0.offset))} havoc #t~mem35.base, #t~mem35.offset; {19954#(and (= 1 (select (select |#memory_int| main_~a~0.base) main_~a~0.offset)) (= main_~a~0.offset main_~p~0.offset))} is VALID [2020-07-18 05:16:26,552 INFO L280 TraceCheckUtils]: 63: Hoare triple {19954#(and (= 1 (select (select |#memory_int| main_~a~0.base) main_~a~0.offset)) (= main_~a~0.offset main_~p~0.offset))} assume -2147483648 <= #t~nondet33 && #t~nondet33 <= 2147483647; {19954#(and (= 1 (select (select |#memory_int| main_~a~0.base) main_~a~0.offset)) (= main_~a~0.offset main_~p~0.offset))} is VALID [2020-07-18 05:16:26,553 INFO L280 TraceCheckUtils]: 64: Hoare triple {19954#(and (= 1 (select (select |#memory_int| main_~a~0.base) main_~a~0.offset)) (= main_~a~0.offset main_~p~0.offset))} assume !(0 != #t~nondet33); {19954#(and (= 1 (select (select |#memory_int| main_~a~0.base) main_~a~0.offset)) (= main_~a~0.offset main_~p~0.offset))} is VALID [2020-07-18 05:16:26,553 INFO L280 TraceCheckUtils]: 65: Hoare triple {19954#(and (= 1 (select (select |#memory_int| main_~a~0.base) main_~a~0.offset)) (= main_~a~0.offset main_~p~0.offset))} havoc #t~nondet33; {19954#(and (= 1 (select (select |#memory_int| main_~a~0.base) main_~a~0.offset)) (= main_~a~0.offset main_~p~0.offset))} is VALID [2020-07-18 05:16:26,561 INFO L280 TraceCheckUtils]: 66: Hoare triple {19954#(and (= 1 (select (select |#memory_int| main_~a~0.base) main_~a~0.offset)) (= main_~a~0.offset main_~p~0.offset))} SUMMARY for call write~int(3, ~p~0.base, ~p~0.offset, 4); srcloc: L595-5 {19955#(or (= 1 (select (select |#memory_int| main_~a~0.base) main_~a~0.offset)) (= 3 (select (select |#memory_int| main_~a~0.base) main_~a~0.offset)))} is VALID [2020-07-18 05:16:26,561 INFO L280 TraceCheckUtils]: 67: Hoare triple {19955#(or (= 1 (select (select |#memory_int| main_~a~0.base) main_~a~0.offset)) (= 3 (select (select |#memory_int| main_~a~0.base) main_~a~0.offset)))} ~p~0.base, ~p~0.offset := ~a~0.base, ~a~0.offset; {19956#(or (= 1 (select (select |#memory_int| main_~p~0.base) main_~p~0.offset)) (= 3 (select (select |#memory_int| main_~p~0.base) main_~p~0.offset)))} is VALID [2020-07-18 05:16:26,562 INFO L280 TraceCheckUtils]: 68: Hoare triple {19956#(or (= 1 (select (select |#memory_int| main_~p~0.base) main_~p~0.offset)) (= 3 (select (select |#memory_int| main_~p~0.base) main_~p~0.offset)))} SUMMARY for call #t~mem36 := read~int(~p~0.base, ~p~0.offset, 4); srcloc: L604-5 {19956#(or (= 1 (select (select |#memory_int| main_~p~0.base) main_~p~0.offset)) (= 3 (select (select |#memory_int| main_~p~0.base) main_~p~0.offset)))} is VALID [2020-07-18 05:16:26,562 INFO L280 TraceCheckUtils]: 69: Hoare triple {19956#(or (= 1 (select (select |#memory_int| main_~p~0.base) main_~p~0.offset)) (= 3 (select (select |#memory_int| main_~p~0.base) main_~p~0.offset)))} assume !(2 == #t~mem36); {19956#(or (= 1 (select (select |#memory_int| main_~p~0.base) main_~p~0.offset)) (= 3 (select (select |#memory_int| main_~p~0.base) main_~p~0.offset)))} is VALID [2020-07-18 05:16:26,563 INFO L280 TraceCheckUtils]: 70: Hoare triple {19956#(or (= 1 (select (select |#memory_int| main_~p~0.base) main_~p~0.offset)) (= 3 (select (select |#memory_int| main_~p~0.base) main_~p~0.offset)))} havoc #t~mem36; {19956#(or (= 1 (select (select |#memory_int| main_~p~0.base) main_~p~0.offset)) (= 3 (select (select |#memory_int| main_~p~0.base) main_~p~0.offset)))} is VALID [2020-07-18 05:16:26,563 INFO L280 TraceCheckUtils]: 71: Hoare triple {19956#(or (= 1 (select (select |#memory_int| main_~p~0.base) main_~p~0.offset)) (= 3 (select (select |#memory_int| main_~p~0.base) main_~p~0.offset)))} SUMMARY for call #t~mem38 := read~int(~p~0.base, ~p~0.offset, 4); srcloc: L606-4 {19957#(or (= 3 (select (select |#memory_int| main_~p~0.base) main_~p~0.offset)) (= |main_#t~mem38| 1))} is VALID [2020-07-18 05:16:26,564 INFO L280 TraceCheckUtils]: 72: Hoare triple {19957#(or (= 3 (select (select |#memory_int| main_~p~0.base) main_~p~0.offset)) (= |main_#t~mem38| 1))} assume !(1 == #t~mem38); {19958#(= 3 (select (select |#memory_int| main_~p~0.base) main_~p~0.offset))} is VALID [2020-07-18 05:16:26,564 INFO L280 TraceCheckUtils]: 73: Hoare triple {19958#(= 3 (select (select |#memory_int| main_~p~0.base) main_~p~0.offset))} havoc #t~mem38; {19958#(= 3 (select (select |#memory_int| main_~p~0.base) main_~p~0.offset))} is VALID [2020-07-18 05:16:26,564 INFO L280 TraceCheckUtils]: 74: Hoare triple {19958#(= 3 (select (select |#memory_int| main_~p~0.base) main_~p~0.offset))} SUMMARY for call #t~mem40 := read~int(~p~0.base, ~p~0.offset, 4); srcloc: L606-5 {19959#(= |main_#t~mem40| 3)} is VALID [2020-07-18 05:16:26,565 INFO L280 TraceCheckUtils]: 75: Hoare triple {19959#(= |main_#t~mem40| 3)} assume 3 != #t~mem40; {19935#false} is VALID [2020-07-18 05:16:26,565 INFO L280 TraceCheckUtils]: 76: Hoare triple {19935#false} havoc #t~mem40; {19935#false} is VALID [2020-07-18 05:16:26,565 INFO L280 TraceCheckUtils]: 77: Hoare triple {19935#false} assume !false; {19935#false} is VALID [2020-07-18 05:16:26,578 INFO L134 CoverageAnalysis]: Checked inductivity of 5 backedges. 0 proven. 4 refuted. 0 times theorem prover too weak. 1 trivial. 0 not checked. [2020-07-18 05:16:26,579 INFO L354 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModulePreferences [282827790] [2020-07-18 05:16:26,579 INFO L220 FreeRefinementEngine]: Constructing automaton from 0 perfect and 1 imperfect interpolant sequences. [2020-07-18 05:16:26,579 INFO L233 FreeRefinementEngine]: Number of different interpolants: perfect sequences [] imperfect sequences [22] total 22 [2020-07-18 05:16:26,579 INFO L156 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [939206691] [2020-07-18 05:16:26,580 INFO L78 Accepts]: Start accepts. Automaton has 22 states. Word has length 78 [2020-07-18 05:16:26,580 INFO L84 Accepts]: Finished accepts. word is accepted. [2020-07-18 05:16:26,580 INFO L86 InductivityCheck]: Starting indutivity check of a Floyd-Hoare automaton with 22 states. [2020-07-18 05:16:26,680 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-18 05:16:26,680 INFO L459 AbstractCegarLoop]: Interpolant automaton has 22 states [2020-07-18 05:16:26,680 INFO L143 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy FIXED_PREFERENCES [2020-07-18 05:16:26,680 INFO L142 InterpolantAutomaton]: Constructing interpolant automaton starting with 22 interpolants. [2020-07-18 05:16:26,681 INFO L144 InterpolantAutomaton]: CoverageRelationStatistics Valid=65, Invalid=397, Unknown=0, NotChecked=0, Total=462 [2020-07-18 05:16:26,681 INFO L87 Difference]: Start difference. First operand 283 states and 312 transitions. Second operand 22 states. [2020-07-18 05:16:34,669 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2020-07-18 05:16:34,669 INFO L93 Difference]: Finished difference Result 383 states and 419 transitions. [2020-07-18 05:16:34,669 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 34 states. [2020-07-18 05:16:34,670 INFO L78 Accepts]: Start accepts. Automaton has 22 states. Word has length 78 [2020-07-18 05:16:34,670 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2020-07-18 05:16:34,670 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 22 states. [2020-07-18 05:16:34,672 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 34 states to 34 states and 323 transitions. [2020-07-18 05:16:34,672 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 22 states. [2020-07-18 05:16:34,674 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 34 states to 34 states and 323 transitions. [2020-07-18 05:16:34,674 INFO L86 InductivityCheck]: Starting indutivity check of a Floyd-Hoare automaton with 34 states and 323 transitions. [2020-07-18 05:16:35,133 INFO L119 InductivityCheck]: Floyd-Hoare automaton has 323 edges. 323 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2020-07-18 05:16:35,140 INFO L225 Difference]: With dead ends: 383 [2020-07-18 05:16:35,141 INFO L226 Difference]: Without dead ends: 377 [2020-07-18 05:16:35,142 INFO L675 BasicCegarLoop]: 0 DeclaredPredicates, 54 GetRequests, 4 SyntacticMatches, 0 SemanticMatches, 50 ConstructedPredicates, 0 IntricatePredicates, 0 DeprecatedPredicates, 463 ImplicationChecksByTransitivity, 1.8s TimeCoverageRelationStatistics Valid=459, Invalid=2193, Unknown=0, NotChecked=0, Total=2652 [2020-07-18 05:16:35,142 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 377 states. [2020-07-18 05:16:36,176 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 377 to 295. [2020-07-18 05:16:36,176 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2020-07-18 05:16:36,177 INFO L82 GeneralOperation]: Start isEquivalent. First operand 377 states. Second operand 295 states. [2020-07-18 05:16:36,177 INFO L74 IsIncluded]: Start isIncluded. First operand 377 states. Second operand 295 states. [2020-07-18 05:16:36,177 INFO L87 Difference]: Start difference. First operand 377 states. Second operand 295 states. [2020-07-18 05:16:36,185 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2020-07-18 05:16:36,185 INFO L93 Difference]: Finished difference Result 377 states and 413 transitions. [2020-07-18 05:16:36,185 INFO L276 IsEmpty]: Start isEmpty. Operand 377 states and 413 transitions. [2020-07-18 05:16:36,186 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2020-07-18 05:16:36,186 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2020-07-18 05:16:36,186 INFO L74 IsIncluded]: Start isIncluded. First operand 295 states. Second operand 377 states. [2020-07-18 05:16:36,186 INFO L87 Difference]: Start difference. First operand 295 states. Second operand 377 states. [2020-07-18 05:16:36,196 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2020-07-18 05:16:36,196 INFO L93 Difference]: Finished difference Result 377 states and 413 transitions. [2020-07-18 05:16:36,196 INFO L276 IsEmpty]: Start isEmpty. Operand 377 states and 413 transitions. [2020-07-18 05:16:36,197 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2020-07-18 05:16:36,197 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2020-07-18 05:16:36,197 INFO L88 GeneralOperation]: Finished isEquivalent. [2020-07-18 05:16:36,197 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2020-07-18 05:16:36,197 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 295 states. [2020-07-18 05:16:36,203 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 295 states to 295 states and 325 transitions. [2020-07-18 05:16:36,204 INFO L78 Accepts]: Start accepts. Automaton has 295 states and 325 transitions. Word has length 78 [2020-07-18 05:16:36,204 INFO L84 Accepts]: Finished accepts. word is rejected. [2020-07-18 05:16:36,204 INFO L479 AbstractCegarLoop]: Abstraction has 295 states and 325 transitions. [2020-07-18 05:16:36,204 INFO L480 AbstractCegarLoop]: Interpolant automaton has 22 states. [2020-07-18 05:16:36,204 INFO L86 InductivityCheck]: Starting indutivity check of a Floyd-Hoare automaton with 295 states and 325 transitions. [2020-07-18 05:16:36,903 INFO L119 InductivityCheck]: Floyd-Hoare automaton has 325 edges. 325 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2020-07-18 05:16:36,903 INFO L276 IsEmpty]: Start isEmpty. Operand 295 states and 325 transitions. [2020-07-18 05:16:36,905 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 80 [2020-07-18 05:16:36,905 INFO L414 BasicCegarLoop]: Found error trace [2020-07-18 05:16:36,905 INFO L422 BasicCegarLoop]: trace histogram [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, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1] [2020-07-18 05:16:36,907 WARN L516 AbstractCegarLoop]: Destroyed unattended storables created during the last iteration: SelfDestructingSolverStorable12 [2020-07-18 05:16:36,908 INFO L427 AbstractCegarLoop]: === Iteration 14 === [mainErr0ASSERT_VIOLATIONERROR_FUNCTION]=== [2020-07-18 05:16:36,908 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2020-07-18 05:16:36,908 INFO L82 PathProgramCache]: Analyzing trace with hash 1698374602, now seen corresponding path program 1 times [2020-07-18 05:16:36,908 INFO L163 FreeRefinementEngine]: Executing refinement strategy FIXED_PREFERENCES [2020-07-18 05:16:36,908 INFO L354 FreeRefinementEngine]: Using trace check IpTcStrategyModulePreferences [1887807565] [2020-07-18 05:16:36,909 INFO L94 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2020-07-18 05:16:36,929 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2020-07-18 05:16:37,433 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2020-07-18 05:16:37,436 INFO L280 TraceCheckUtils]: 0: Hoare triple {22154#(and (= |#valid| |old(#valid)|) (= |#NULL.base| |old(#NULL.base)|) (= |#NULL.offset| |old(#NULL.offset)|))} #NULL.base, #NULL.offset := 0, 0; {22133#true} is VALID [2020-07-18 05:16:37,436 INFO L280 TraceCheckUtils]: 1: Hoare triple {22133#true} #valid := #valid[0 := 0]; {22133#true} is VALID [2020-07-18 05:16:37,436 INFO L280 TraceCheckUtils]: 2: Hoare triple {22133#true} assume 0 < #StackHeapBarrier; {22133#true} is VALID [2020-07-18 05:16:37,437 INFO L280 TraceCheckUtils]: 3: Hoare triple {22133#true} assume true; {22133#true} is VALID [2020-07-18 05:16:37,437 INFO L275 TraceCheckUtils]: 4: Hoare quadruple {22133#true} {22133#true} #349#return; {22133#true} is VALID [2020-07-18 05:16:37,437 INFO L263 TraceCheckUtils]: 0: Hoare triple {22133#true} call ULTIMATE.init(); {22154#(and (= |#valid| |old(#valid)|) (= |#NULL.base| |old(#NULL.base)|) (= |#NULL.offset| |old(#NULL.offset)|))} is VALID [2020-07-18 05:16:37,438 INFO L280 TraceCheckUtils]: 1: Hoare triple {22154#(and (= |#valid| |old(#valid)|) (= |#NULL.base| |old(#NULL.base)|) (= |#NULL.offset| |old(#NULL.offset)|))} #NULL.base, #NULL.offset := 0, 0; {22133#true} is VALID [2020-07-18 05:16:37,438 INFO L280 TraceCheckUtils]: 2: Hoare triple {22133#true} #valid := #valid[0 := 0]; {22133#true} is VALID [2020-07-18 05:16:37,438 INFO L280 TraceCheckUtils]: 3: Hoare triple {22133#true} assume 0 < #StackHeapBarrier; {22133#true} is VALID [2020-07-18 05:16:37,438 INFO L280 TraceCheckUtils]: 4: Hoare triple {22133#true} assume true; {22133#true} is VALID [2020-07-18 05:16:37,438 INFO L275 TraceCheckUtils]: 5: Hoare quadruple {22133#true} {22133#true} #349#return; {22133#true} is VALID [2020-07-18 05:16:37,438 INFO L263 TraceCheckUtils]: 6: Hoare triple {22133#true} call #t~ret41 := main(); {22133#true} is VALID [2020-07-18 05:16:37,439 INFO L280 TraceCheckUtils]: 7: Hoare triple {22133#true} SUMMARY for call #t~malloc2.base, #t~malloc2.offset := #Ultimate.allocOnHeap(8); srcloc: mainENTRY {22140#(= 0 |main_#t~malloc2.offset|)} is VALID [2020-07-18 05:16:37,439 INFO L280 TraceCheckUtils]: 8: Hoare triple {22140#(= 0 |main_#t~malloc2.offset|)} ~root~0.base, ~root~0.offset := #t~malloc2.base, #t~malloc2.offset; {22133#true} is VALID [2020-07-18 05:16:37,439 INFO L280 TraceCheckUtils]: 9: Hoare triple {22133#true} havoc ~n~0.base, ~n~0.offset; {22133#true} is VALID [2020-07-18 05:16:37,439 INFO L280 TraceCheckUtils]: 10: Hoare triple {22133#true} SUMMARY for call write~$Pointer$(0, 0, ~root~0.base, ~root~0.offset, 4); srcloc: L542 {22133#true} is VALID [2020-07-18 05:16:37,439 INFO L280 TraceCheckUtils]: 11: Hoare triple {22133#true} SUMMARY for call write~$Pointer$(0, 0, ~root~0.base, 4 + ~root~0.offset, 4); srcloc: L542-1 {22133#true} is VALID [2020-07-18 05:16:37,439 INFO L280 TraceCheckUtils]: 12: Hoare triple {22133#true} assume -2147483648 <= #t~nondet3 && #t~nondet3 <= 2147483647; {22133#true} is VALID [2020-07-18 05:16:37,439 INFO L280 TraceCheckUtils]: 13: Hoare triple {22133#true} assume !(0 != #t~nondet3); {22133#true} is VALID [2020-07-18 05:16:37,440 INFO L280 TraceCheckUtils]: 14: Hoare triple {22133#true} havoc #t~nondet3; {22133#true} is VALID [2020-07-18 05:16:37,440 INFO L280 TraceCheckUtils]: 15: Hoare triple {22133#true} ~n~0.base, ~n~0.offset := 0, 0; {22133#true} is VALID [2020-07-18 05:16:37,440 INFO L280 TraceCheckUtils]: 16: Hoare triple {22133#true} havoc ~pred~0.base, ~pred~0.offset; {22133#true} is VALID [2020-07-18 05:16:37,440 INFO L280 TraceCheckUtils]: 17: Hoare triple {22133#true} assume !!(~root~0.base != 0 || ~root~0.offset != 0); {22133#true} is VALID [2020-07-18 05:16:37,440 INFO L280 TraceCheckUtils]: 18: Hoare triple {22133#true} ~pred~0.base, ~pred~0.offset := 0, 0; {22133#true} is VALID [2020-07-18 05:16:37,441 INFO L280 TraceCheckUtils]: 19: Hoare triple {22133#true} ~n~0.base, ~n~0.offset := ~root~0.base, ~root~0.offset; {22133#true} is VALID [2020-07-18 05:16:37,441 INFO L280 TraceCheckUtils]: 20: Hoare triple {22133#true} SUMMARY for call #t~mem22.base, #t~mem22.offset := read~$Pointer$(~n~0.base, ~n~0.offset, 4); srcloc: L570-5 {22133#true} is VALID [2020-07-18 05:16:37,441 INFO L280 TraceCheckUtils]: 21: Hoare triple {22133#true} #t~short24 := #t~mem22.base != 0 || #t~mem22.offset != 0; {22133#true} is VALID [2020-07-18 05:16:37,441 INFO L280 TraceCheckUtils]: 22: Hoare triple {22133#true} assume !#t~short24; {22133#true} is VALID [2020-07-18 05:16:37,441 INFO L280 TraceCheckUtils]: 23: Hoare triple {22133#true} SUMMARY for call #t~mem23.base, #t~mem23.offset := read~$Pointer$(~n~0.base, 4 + ~n~0.offset, 4); srcloc: L568-4 {22133#true} is VALID [2020-07-18 05:16:37,441 INFO L280 TraceCheckUtils]: 24: Hoare triple {22133#true} #t~short24 := #t~mem23.base != 0 || #t~mem23.offset != 0; {22133#true} is VALID [2020-07-18 05:16:37,442 INFO L280 TraceCheckUtils]: 25: Hoare triple {22133#true} assume !#t~short24; {22133#true} is VALID [2020-07-18 05:16:37,442 INFO L280 TraceCheckUtils]: 26: Hoare triple {22133#true} havoc #t~mem22.base, #t~mem22.offset; {22133#true} is VALID [2020-07-18 05:16:37,442 INFO L280 TraceCheckUtils]: 27: Hoare triple {22133#true} havoc #t~mem23.base, #t~mem23.offset; {22133#true} is VALID [2020-07-18 05:16:37,442 INFO L280 TraceCheckUtils]: 28: Hoare triple {22133#true} havoc #t~short24; {22133#true} is VALID [2020-07-18 05:16:37,442 INFO L280 TraceCheckUtils]: 29: Hoare triple {22133#true} assume !(~pred~0.base != 0 || ~pred~0.offset != 0); {22133#true} is VALID [2020-07-18 05:16:37,442 INFO L280 TraceCheckUtils]: 30: Hoare triple {22133#true} ~root~0.base, ~root~0.offset := 0, 0; {22133#true} is VALID [2020-07-18 05:16:37,443 INFO L280 TraceCheckUtils]: 31: Hoare triple {22133#true} SUMMARY for call ULTIMATE.dealloc(~n~0.base, ~n~0.offset); srcloc: L575 {22133#true} is VALID [2020-07-18 05:16:37,443 INFO L280 TraceCheckUtils]: 32: Hoare triple {22133#true} assume !(~root~0.base != 0 || ~root~0.offset != 0); {22133#true} is VALID [2020-07-18 05:16:37,444 INFO L280 TraceCheckUtils]: 33: Hoare triple {22133#true} SUMMARY for call #t~malloc29.base, #t~malloc29.offset := #Ultimate.allocOnHeap(8); srcloc: L565-2 {22141#(and (= 1 (select |#valid| |main_#t~malloc29.base|)) (= 0 |main_#t~malloc29.offset|))} is VALID [2020-07-18 05:16:37,445 INFO L280 TraceCheckUtils]: 34: Hoare triple {22141#(and (= 1 (select |#valid| |main_#t~malloc29.base|)) (= 0 |main_#t~malloc29.offset|))} ~a~0.base, ~a~0.offset := #t~malloc29.base, #t~malloc29.offset; {22142#(and (= 1 (select |#valid| main_~a~0.base)) (= 0 main_~a~0.offset))} is VALID [2020-07-18 05:16:37,446 INFO L280 TraceCheckUtils]: 35: Hoare triple {22142#(and (= 1 (select |#valid| main_~a~0.base)) (= 0 main_~a~0.offset))} assume !(~a~0.base == 0 && ~a~0.offset == 0); {22142#(and (= 1 (select |#valid| main_~a~0.base)) (= 0 main_~a~0.offset))} is VALID [2020-07-18 05:16:37,446 INFO L280 TraceCheckUtils]: 36: Hoare triple {22142#(and (= 1 (select |#valid| main_~a~0.base)) (= 0 main_~a~0.offset))} havoc ~t~0.base, ~t~0.offset; {22142#(and (= 1 (select |#valid| main_~a~0.base)) (= 0 main_~a~0.offset))} is VALID [2020-07-18 05:16:37,447 INFO L280 TraceCheckUtils]: 37: Hoare triple {22142#(and (= 1 (select |#valid| main_~a~0.base)) (= 0 main_~a~0.offset))} ~p~0.base, ~p~0.offset := ~a~0.base, ~a~0.offset; {22143#(and (= main_~a~0.base main_~p~0.base) (= 0 main_~p~0.offset) (= 0 main_~a~0.offset) (= 1 (select |#valid| main_~p~0.base)))} is VALID [2020-07-18 05:16:37,447 INFO L280 TraceCheckUtils]: 38: Hoare triple {22143#(and (= main_~a~0.base main_~p~0.base) (= 0 main_~p~0.offset) (= 0 main_~a~0.offset) (= 1 (select |#valid| main_~p~0.base)))} assume -2147483648 <= #t~nondet30 && #t~nondet30 <= 2147483647; {22143#(and (= main_~a~0.base main_~p~0.base) (= 0 main_~p~0.offset) (= 0 main_~a~0.offset) (= 1 (select |#valid| main_~p~0.base)))} is VALID [2020-07-18 05:16:37,448 INFO L280 TraceCheckUtils]: 39: Hoare triple {22143#(and (= main_~a~0.base main_~p~0.base) (= 0 main_~p~0.offset) (= 0 main_~a~0.offset) (= 1 (select |#valid| main_~p~0.base)))} assume !(0 != #t~nondet30); {22143#(and (= main_~a~0.base main_~p~0.base) (= 0 main_~p~0.offset) (= 0 main_~a~0.offset) (= 1 (select |#valid| main_~p~0.base)))} is VALID [2020-07-18 05:16:37,448 INFO L280 TraceCheckUtils]: 40: Hoare triple {22143#(and (= main_~a~0.base main_~p~0.base) (= 0 main_~p~0.offset) (= 0 main_~a~0.offset) (= 1 (select |#valid| main_~p~0.base)))} havoc #t~nondet30; {22143#(and (= main_~a~0.base main_~p~0.base) (= 0 main_~p~0.offset) (= 0 main_~a~0.offset) (= 1 (select |#valid| main_~p~0.base)))} is VALID [2020-07-18 05:16:37,449 INFO L280 TraceCheckUtils]: 41: Hoare triple {22143#(and (= main_~a~0.base main_~p~0.base) (= 0 main_~p~0.offset) (= 0 main_~a~0.offset) (= 1 (select |#valid| main_~p~0.base)))} assume -2147483648 <= #t~nondet33 && #t~nondet33 <= 2147483647; {22143#(and (= main_~a~0.base main_~p~0.base) (= 0 main_~p~0.offset) (= 0 main_~a~0.offset) (= 1 (select |#valid| main_~p~0.base)))} is VALID [2020-07-18 05:16:37,449 INFO L280 TraceCheckUtils]: 42: Hoare triple {22143#(and (= main_~a~0.base main_~p~0.base) (= 0 main_~p~0.offset) (= 0 main_~a~0.offset) (= 1 (select |#valid| main_~p~0.base)))} assume !!(0 != #t~nondet33); {22143#(and (= main_~a~0.base main_~p~0.base) (= 0 main_~p~0.offset) (= 0 main_~a~0.offset) (= 1 (select |#valid| main_~p~0.base)))} is VALID [2020-07-18 05:16:37,450 INFO L280 TraceCheckUtils]: 43: Hoare triple {22143#(and (= main_~a~0.base main_~p~0.base) (= 0 main_~p~0.offset) (= 0 main_~a~0.offset) (= 1 (select |#valid| main_~p~0.base)))} havoc #t~nondet33; {22143#(and (= main_~a~0.base main_~p~0.base) (= 0 main_~p~0.offset) (= 0 main_~a~0.offset) (= 1 (select |#valid| main_~p~0.base)))} is VALID [2020-07-18 05:16:37,450 INFO L280 TraceCheckUtils]: 44: Hoare triple {22143#(and (= main_~a~0.base main_~p~0.base) (= 0 main_~p~0.offset) (= 0 main_~a~0.offset) (= 1 (select |#valid| main_~p~0.base)))} SUMMARY for call write~int(2, ~p~0.base, ~p~0.offset, 4); srcloc: L596 {22143#(and (= main_~a~0.base main_~p~0.base) (= 0 main_~p~0.offset) (= 0 main_~a~0.offset) (= 1 (select |#valid| main_~p~0.base)))} is VALID [2020-07-18 05:16:37,451 INFO L280 TraceCheckUtils]: 45: Hoare triple {22143#(and (= main_~a~0.base main_~p~0.base) (= 0 main_~p~0.offset) (= 0 main_~a~0.offset) (= 1 (select |#valid| main_~p~0.base)))} SUMMARY for call #t~malloc34.base, #t~malloc34.offset := #Ultimate.allocOnHeap(8); srcloc: L596-1 {22144#(and (= main_~a~0.base main_~p~0.base) (= 0 main_~p~0.offset) (= 0 main_~a~0.offset) (not (= main_~p~0.base |main_#t~malloc34.base|)))} is VALID [2020-07-18 05:16:37,452 INFO L280 TraceCheckUtils]: 46: Hoare triple {22144#(and (= main_~a~0.base main_~p~0.base) (= 0 main_~p~0.offset) (= 0 main_~a~0.offset) (not (= main_~p~0.base |main_#t~malloc34.base|)))} ~t~0.base, ~t~0.offset := #t~malloc34.base, #t~malloc34.offset; {22145#(and (= main_~a~0.base main_~p~0.base) (= 0 main_~p~0.offset) (= 0 main_~a~0.offset) (not (= main_~t~0.base main_~p~0.base)))} is VALID [2020-07-18 05:16:37,452 INFO L280 TraceCheckUtils]: 47: Hoare triple {22145#(and (= main_~a~0.base main_~p~0.base) (= 0 main_~p~0.offset) (= 0 main_~a~0.offset) (not (= main_~t~0.base main_~p~0.base)))} assume !(~t~0.base == 0 && ~t~0.offset == 0); {22145#(and (= main_~a~0.base main_~p~0.base) (= 0 main_~p~0.offset) (= 0 main_~a~0.offset) (not (= main_~t~0.base main_~p~0.base)))} is VALID [2020-07-18 05:16:37,453 INFO L280 TraceCheckUtils]: 48: Hoare triple {22145#(and (= main_~a~0.base main_~p~0.base) (= 0 main_~p~0.offset) (= 0 main_~a~0.offset) (not (= main_~t~0.base main_~p~0.base)))} SUMMARY for call write~$Pointer$(~t~0.base, ~t~0.offset, ~p~0.base, 4 + ~p~0.offset, 4); srcloc: L598-3 {22146#(and (= main_~a~0.base main_~p~0.base) (not (= (select (select |#memory_$Pointer$.base| main_~p~0.base) (+ main_~p~0.offset 4)) main_~p~0.base)) (= 0 main_~p~0.offset) (= 0 main_~a~0.offset))} is VALID [2020-07-18 05:16:37,454 INFO L280 TraceCheckUtils]: 49: Hoare triple {22146#(and (= main_~a~0.base main_~p~0.base) (not (= (select (select |#memory_$Pointer$.base| main_~p~0.base) (+ main_~p~0.offset 4)) main_~p~0.base)) (= 0 main_~p~0.offset) (= 0 main_~a~0.offset))} SUMMARY for call #t~mem35.base, #t~mem35.offset := read~$Pointer$(~p~0.base, 4 + ~p~0.offset, 4); srcloc: L599 {22147#(and (= |main_#t~mem35.base| (select (select |#memory_$Pointer$.base| main_~a~0.base) 4)) (not (= main_~a~0.base |main_#t~mem35.base|)) (= |main_#t~mem35.offset| (select (select |#memory_$Pointer$.offset| main_~a~0.base) 4)) (= 0 main_~a~0.offset))} is VALID [2020-07-18 05:16:37,455 INFO L280 TraceCheckUtils]: 50: Hoare triple {22147#(and (= |main_#t~mem35.base| (select (select |#memory_$Pointer$.base| main_~a~0.base) 4)) (not (= main_~a~0.base |main_#t~mem35.base|)) (= |main_#t~mem35.offset| (select (select |#memory_$Pointer$.offset| main_~a~0.base) 4)) (= 0 main_~a~0.offset))} ~p~0.base, ~p~0.offset := #t~mem35.base, #t~mem35.offset; {22148#(and (not (= main_~a~0.base main_~p~0.base)) (= main_~p~0.base (select (select |#memory_$Pointer$.base| main_~a~0.base) 4)) (= 0 main_~a~0.offset) (= (select (select |#memory_$Pointer$.offset| main_~a~0.base) 4) main_~p~0.offset))} is VALID [2020-07-18 05:16:37,455 INFO L280 TraceCheckUtils]: 51: Hoare triple {22148#(and (not (= main_~a~0.base main_~p~0.base)) (= main_~p~0.base (select (select |#memory_$Pointer$.base| main_~a~0.base) 4)) (= 0 main_~a~0.offset) (= (select (select |#memory_$Pointer$.offset| main_~a~0.base) 4) main_~p~0.offset))} havoc #t~mem35.base, #t~mem35.offset; {22148#(and (not (= main_~a~0.base main_~p~0.base)) (= main_~p~0.base (select (select |#memory_$Pointer$.base| main_~a~0.base) 4)) (= 0 main_~a~0.offset) (= (select (select |#memory_$Pointer$.offset| main_~a~0.base) 4) main_~p~0.offset))} is VALID [2020-07-18 05:16:37,456 INFO L280 TraceCheckUtils]: 52: Hoare triple {22148#(and (not (= main_~a~0.base main_~p~0.base)) (= main_~p~0.base (select (select |#memory_$Pointer$.base| main_~a~0.base) 4)) (= 0 main_~a~0.offset) (= (select (select |#memory_$Pointer$.offset| main_~a~0.base) 4) main_~p~0.offset))} assume -2147483648 <= #t~nondet33 && #t~nondet33 <= 2147483647; {22148#(and (not (= main_~a~0.base main_~p~0.base)) (= main_~p~0.base (select (select |#memory_$Pointer$.base| main_~a~0.base) 4)) (= 0 main_~a~0.offset) (= (select (select |#memory_$Pointer$.offset| main_~a~0.base) 4) main_~p~0.offset))} is VALID [2020-07-18 05:16:37,457 INFO L280 TraceCheckUtils]: 53: Hoare triple {22148#(and (not (= main_~a~0.base main_~p~0.base)) (= main_~p~0.base (select (select |#memory_$Pointer$.base| main_~a~0.base) 4)) (= 0 main_~a~0.offset) (= (select (select |#memory_$Pointer$.offset| main_~a~0.base) 4) main_~p~0.offset))} assume !(0 != #t~nondet33); {22148#(and (not (= main_~a~0.base main_~p~0.base)) (= main_~p~0.base (select (select |#memory_$Pointer$.base| main_~a~0.base) 4)) (= 0 main_~a~0.offset) (= (select (select |#memory_$Pointer$.offset| main_~a~0.base) 4) main_~p~0.offset))} is VALID [2020-07-18 05:16:37,458 INFO L280 TraceCheckUtils]: 54: Hoare triple {22148#(and (not (= main_~a~0.base main_~p~0.base)) (= main_~p~0.base (select (select |#memory_$Pointer$.base| main_~a~0.base) 4)) (= 0 main_~a~0.offset) (= (select (select |#memory_$Pointer$.offset| main_~a~0.base) 4) main_~p~0.offset))} havoc #t~nondet33; {22148#(and (not (= main_~a~0.base main_~p~0.base)) (= main_~p~0.base (select (select |#memory_$Pointer$.base| main_~a~0.base) 4)) (= 0 main_~a~0.offset) (= (select (select |#memory_$Pointer$.offset| main_~a~0.base) 4) main_~p~0.offset))} is VALID [2020-07-18 05:16:37,459 INFO L280 TraceCheckUtils]: 55: Hoare triple {22148#(and (not (= main_~a~0.base main_~p~0.base)) (= main_~p~0.base (select (select |#memory_$Pointer$.base| main_~a~0.base) 4)) (= 0 main_~a~0.offset) (= (select (select |#memory_$Pointer$.offset| main_~a~0.base) 4) main_~p~0.offset))} SUMMARY for call write~int(3, ~p~0.base, ~p~0.offset, 4); srcloc: L595-5 {22149#(and (= 0 main_~a~0.offset) (= 3 (select (select |#memory_int| (select (select |#memory_$Pointer$.base| main_~a~0.base) 4)) (select (select |#memory_$Pointer$.offset| main_~a~0.base) 4))))} is VALID [2020-07-18 05:16:37,460 INFO L280 TraceCheckUtils]: 56: Hoare triple {22149#(and (= 0 main_~a~0.offset) (= 3 (select (select |#memory_int| (select (select |#memory_$Pointer$.base| main_~a~0.base) 4)) (select (select |#memory_$Pointer$.offset| main_~a~0.base) 4))))} ~p~0.base, ~p~0.offset := ~a~0.base, ~a~0.offset; {22150#(and (= 0 main_~p~0.offset) (= 3 (select (select |#memory_int| (select (select |#memory_$Pointer$.base| main_~p~0.base) (+ main_~p~0.offset 4))) (select (select |#memory_$Pointer$.offset| main_~p~0.base) (+ main_~p~0.offset 4)))))} is VALID [2020-07-18 05:16:37,461 INFO L280 TraceCheckUtils]: 57: Hoare triple {22150#(and (= 0 main_~p~0.offset) (= 3 (select (select |#memory_int| (select (select |#memory_$Pointer$.base| main_~p~0.base) (+ main_~p~0.offset 4))) (select (select |#memory_$Pointer$.offset| main_~p~0.base) (+ main_~p~0.offset 4)))))} SUMMARY for call #t~mem36 := read~int(~p~0.base, ~p~0.offset, 4); srcloc: L604-5 {22150#(and (= 0 main_~p~0.offset) (= 3 (select (select |#memory_int| (select (select |#memory_$Pointer$.base| main_~p~0.base) (+ main_~p~0.offset 4))) (select (select |#memory_$Pointer$.offset| main_~p~0.base) (+ main_~p~0.offset 4)))))} is VALID [2020-07-18 05:16:37,467 INFO L280 TraceCheckUtils]: 58: Hoare triple {22150#(and (= 0 main_~p~0.offset) (= 3 (select (select |#memory_int| (select (select |#memory_$Pointer$.base| main_~p~0.base) (+ main_~p~0.offset 4))) (select (select |#memory_$Pointer$.offset| main_~p~0.base) (+ main_~p~0.offset 4)))))} assume !!(2 == #t~mem36); {22150#(and (= 0 main_~p~0.offset) (= 3 (select (select |#memory_int| (select (select |#memory_$Pointer$.base| main_~p~0.base) (+ main_~p~0.offset 4))) (select (select |#memory_$Pointer$.offset| main_~p~0.base) (+ main_~p~0.offset 4)))))} is VALID [2020-07-18 05:16:37,468 INFO L280 TraceCheckUtils]: 59: Hoare triple {22150#(and (= 0 main_~p~0.offset) (= 3 (select (select |#memory_int| (select (select |#memory_$Pointer$.base| main_~p~0.base) (+ main_~p~0.offset 4))) (select (select |#memory_$Pointer$.offset| main_~p~0.base) (+ main_~p~0.offset 4)))))} havoc #t~mem36; {22150#(and (= 0 main_~p~0.offset) (= 3 (select (select |#memory_int| (select (select |#memory_$Pointer$.base| main_~p~0.base) (+ main_~p~0.offset 4))) (select (select |#memory_$Pointer$.offset| main_~p~0.base) (+ main_~p~0.offset 4)))))} is VALID [2020-07-18 05:16:37,469 INFO L280 TraceCheckUtils]: 60: Hoare triple {22150#(and (= 0 main_~p~0.offset) (= 3 (select (select |#memory_int| (select (select |#memory_$Pointer$.base| main_~p~0.base) (+ main_~p~0.offset 4))) (select (select |#memory_$Pointer$.offset| main_~p~0.base) (+ main_~p~0.offset 4)))))} SUMMARY for call #t~mem37.base, #t~mem37.offset := read~$Pointer$(~p~0.base, 4 + ~p~0.offset, 4); srcloc: L605 {22151#(= 3 (select (select |#memory_int| |main_#t~mem37.base|) |main_#t~mem37.offset|))} is VALID [2020-07-18 05:16:37,469 INFO L280 TraceCheckUtils]: 61: Hoare triple {22151#(= 3 (select (select |#memory_int| |main_#t~mem37.base|) |main_#t~mem37.offset|))} ~p~0.base, ~p~0.offset := #t~mem37.base, #t~mem37.offset; {22152#(= 3 (select (select |#memory_int| main_~p~0.base) main_~p~0.offset))} is VALID [2020-07-18 05:16:37,470 INFO L280 TraceCheckUtils]: 62: Hoare triple {22152#(= 3 (select (select |#memory_int| main_~p~0.base) main_~p~0.offset))} havoc #t~mem37.base, #t~mem37.offset; {22152#(= 3 (select (select |#memory_int| main_~p~0.base) main_~p~0.offset))} is VALID [2020-07-18 05:16:37,471 INFO L280 TraceCheckUtils]: 63: Hoare triple {22152#(= 3 (select (select |#memory_int| main_~p~0.base) main_~p~0.offset))} SUMMARY for call #t~mem36 := read~int(~p~0.base, ~p~0.offset, 4); srcloc: L604-5 {22152#(= 3 (select (select |#memory_int| main_~p~0.base) main_~p~0.offset))} is VALID [2020-07-18 05:16:37,471 INFO L280 TraceCheckUtils]: 64: Hoare triple {22152#(= 3 (select (select |#memory_int| main_~p~0.base) main_~p~0.offset))} assume !(2 == #t~mem36); {22152#(= 3 (select (select |#memory_int| main_~p~0.base) main_~p~0.offset))} is VALID [2020-07-18 05:16:37,472 INFO L280 TraceCheckUtils]: 65: Hoare triple {22152#(= 3 (select (select |#memory_int| main_~p~0.base) main_~p~0.offset))} havoc #t~mem36; {22152#(= 3 (select (select |#memory_int| main_~p~0.base) main_~p~0.offset))} is VALID [2020-07-18 05:16:37,472 INFO L280 TraceCheckUtils]: 66: Hoare triple {22152#(= 3 (select (select |#memory_int| main_~p~0.base) main_~p~0.offset))} SUMMARY for call #t~mem38 := read~int(~p~0.base, ~p~0.offset, 4); srcloc: L606-4 {22153#(= |main_#t~mem38| 3)} is VALID [2020-07-18 05:16:37,473 INFO L280 TraceCheckUtils]: 67: Hoare triple {22153#(= |main_#t~mem38| 3)} assume !!(1 == #t~mem38); {22134#false} is VALID [2020-07-18 05:16:37,473 INFO L280 TraceCheckUtils]: 68: Hoare triple {22134#false} havoc #t~mem38; {22134#false} is VALID [2020-07-18 05:16:37,473 INFO L280 TraceCheckUtils]: 69: Hoare triple {22134#false} SUMMARY for call #t~mem39.base, #t~mem39.offset := read~$Pointer$(~p~0.base, 4 + ~p~0.offset, 4); srcloc: L607 {22134#false} is VALID [2020-07-18 05:16:37,474 INFO L280 TraceCheckUtils]: 70: Hoare triple {22134#false} ~p~0.base, ~p~0.offset := #t~mem39.base, #t~mem39.offset; {22134#false} is VALID [2020-07-18 05:16:37,474 INFO L280 TraceCheckUtils]: 71: Hoare triple {22134#false} havoc #t~mem39.base, #t~mem39.offset; {22134#false} is VALID [2020-07-18 05:16:37,474 INFO L280 TraceCheckUtils]: 72: Hoare triple {22134#false} SUMMARY for call #t~mem38 := read~int(~p~0.base, ~p~0.offset, 4); srcloc: L606-4 {22134#false} is VALID [2020-07-18 05:16:37,474 INFO L280 TraceCheckUtils]: 73: Hoare triple {22134#false} assume !(1 == #t~mem38); {22134#false} is VALID [2020-07-18 05:16:37,474 INFO L280 TraceCheckUtils]: 74: Hoare triple {22134#false} havoc #t~mem38; {22134#false} is VALID [2020-07-18 05:16:37,474 INFO L280 TraceCheckUtils]: 75: Hoare triple {22134#false} SUMMARY for call #t~mem40 := read~int(~p~0.base, ~p~0.offset, 4); srcloc: L606-5 {22134#false} is VALID [2020-07-18 05:16:37,475 INFO L280 TraceCheckUtils]: 76: Hoare triple {22134#false} assume 3 != #t~mem40; {22134#false} is VALID [2020-07-18 05:16:37,475 INFO L280 TraceCheckUtils]: 77: Hoare triple {22134#false} havoc #t~mem40; {22134#false} is VALID [2020-07-18 05:16:37,475 INFO L280 TraceCheckUtils]: 78: Hoare triple {22134#false} assume !false; {22134#false} is VALID [2020-07-18 05:16:37,488 INFO L134 CoverageAnalysis]: Checked inductivity of 7 backedges. 2 proven. 4 refuted. 0 times theorem prover too weak. 1 trivial. 0 not checked. [2020-07-18 05:16:37,489 INFO L354 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModulePreferences [1887807565] [2020-07-18 05:16:37,489 INFO L220 FreeRefinementEngine]: Constructing automaton from 0 perfect and 1 imperfect interpolant sequences. [2020-07-18 05:16:37,489 INFO L233 FreeRefinementEngine]: Number of different interpolants: perfect sequences [] imperfect sequences [17] total 17 [2020-07-18 05:16:37,490 INFO L156 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [1655800311] [2020-07-18 05:16:37,490 INFO L78 Accepts]: Start accepts. Automaton has 17 states. Word has length 79 [2020-07-18 05:16:37,490 INFO L84 Accepts]: Finished accepts. word is accepted. [2020-07-18 05:16:37,490 INFO L86 InductivityCheck]: Starting indutivity check of a Floyd-Hoare automaton with 17 states. [2020-07-18 05:16:37,581 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-18 05:16:37,581 INFO L459 AbstractCegarLoop]: Interpolant automaton has 17 states [2020-07-18 05:16:37,581 INFO L143 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy FIXED_PREFERENCES [2020-07-18 05:16:37,582 INFO L142 InterpolantAutomaton]: Constructing interpolant automaton starting with 17 interpolants. [2020-07-18 05:16:37,582 INFO L144 InterpolantAutomaton]: CoverageRelationStatistics Valid=32, Invalid=240, Unknown=0, NotChecked=0, Total=272 [2020-07-18 05:16:37,582 INFO L87 Difference]: Start difference. First operand 295 states and 325 transitions. Second operand 17 states. [2020-07-18 05:16:43,515 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2020-07-18 05:16:43,515 INFO L93 Difference]: Finished difference Result 353 states and 386 transitions. [2020-07-18 05:16:43,515 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 21 states. [2020-07-18 05:16:43,515 INFO L78 Accepts]: Start accepts. Automaton has 17 states. Word has length 79 [2020-07-18 05:16:43,516 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2020-07-18 05:16:43,516 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 17 states. [2020-07-18 05:16:43,517 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 21 states to 21 states and 285 transitions. [2020-07-18 05:16:43,518 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 17 states. [2020-07-18 05:16:43,519 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 21 states to 21 states and 285 transitions. [2020-07-18 05:16:43,519 INFO L86 InductivityCheck]: Starting indutivity check of a Floyd-Hoare automaton with 21 states and 285 transitions. [2020-07-18 05:16:43,897 INFO L119 InductivityCheck]: Floyd-Hoare automaton has 285 edges. 285 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2020-07-18 05:16:43,904 INFO L225 Difference]: With dead ends: 353 [2020-07-18 05:16:43,904 INFO L226 Difference]: Without dead ends: 338 [2020-07-18 05:16:43,905 INFO L675 BasicCegarLoop]: 0 DeclaredPredicates, 36 GetRequests, 4 SyntacticMatches, 0 SemanticMatches, 32 ConstructedPredicates, 0 IntricatePredicates, 0 DeprecatedPredicates, 101 ImplicationChecksByTransitivity, 1.1s TimeCoverageRelationStatistics Valid=215, Invalid=907, Unknown=0, NotChecked=0, Total=1122 [2020-07-18 05:16:43,906 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 338 states. [2020-07-18 05:16:45,016 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 338 to 297. [2020-07-18 05:16:45,016 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2020-07-18 05:16:45,016 INFO L82 GeneralOperation]: Start isEquivalent. First operand 338 states. Second operand 297 states. [2020-07-18 05:16:45,016 INFO L74 IsIncluded]: Start isIncluded. First operand 338 states. Second operand 297 states. [2020-07-18 05:16:45,017 INFO L87 Difference]: Start difference. First operand 338 states. Second operand 297 states. [2020-07-18 05:16:45,023 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2020-07-18 05:16:45,024 INFO L93 Difference]: Finished difference Result 338 states and 370 transitions. [2020-07-18 05:16:45,024 INFO L276 IsEmpty]: Start isEmpty. Operand 338 states and 370 transitions. [2020-07-18 05:16:45,024 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2020-07-18 05:16:45,024 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2020-07-18 05:16:45,024 INFO L74 IsIncluded]: Start isIncluded. First operand 297 states. Second operand 338 states. [2020-07-18 05:16:45,025 INFO L87 Difference]: Start difference. First operand 297 states. Second operand 338 states. [2020-07-18 05:16:45,031 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2020-07-18 05:16:45,031 INFO L93 Difference]: Finished difference Result 338 states and 370 transitions. [2020-07-18 05:16:45,031 INFO L276 IsEmpty]: Start isEmpty. Operand 338 states and 370 transitions. [2020-07-18 05:16:45,031 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2020-07-18 05:16:45,032 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2020-07-18 05:16:45,032 INFO L88 GeneralOperation]: Finished isEquivalent. [2020-07-18 05:16:45,032 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2020-07-18 05:16:45,032 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 297 states. [2020-07-18 05:16:45,038 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 297 states to 297 states and 327 transitions. [2020-07-18 05:16:45,038 INFO L78 Accepts]: Start accepts. Automaton has 297 states and 327 transitions. Word has length 79 [2020-07-18 05:16:45,038 INFO L84 Accepts]: Finished accepts. word is rejected. [2020-07-18 05:16:45,038 INFO L479 AbstractCegarLoop]: Abstraction has 297 states and 327 transitions. [2020-07-18 05:16:45,039 INFO L480 AbstractCegarLoop]: Interpolant automaton has 17 states. [2020-07-18 05:16:45,039 INFO L86 InductivityCheck]: Starting indutivity check of a Floyd-Hoare automaton with 297 states and 327 transitions. [2020-07-18 05:16:45,756 INFO L119 InductivityCheck]: Floyd-Hoare automaton has 327 edges. 327 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2020-07-18 05:16:45,756 INFO L276 IsEmpty]: Start isEmpty. Operand 297 states and 327 transitions. [2020-07-18 05:16:45,757 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 80 [2020-07-18 05:16:45,757 INFO L414 BasicCegarLoop]: Found error trace [2020-07-18 05:16:45,758 INFO L422 BasicCegarLoop]: trace histogram [3, 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, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1] [2020-07-18 05:16:45,758 WARN L516 AbstractCegarLoop]: Destroyed unattended storables created during the last iteration: SelfDestructingSolverStorable13 [2020-07-18 05:16:45,758 INFO L427 AbstractCegarLoop]: === Iteration 15 === [mainErr0ASSERT_VIOLATIONERROR_FUNCTION]=== [2020-07-18 05:16:45,758 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2020-07-18 05:16:45,758 INFO L82 PathProgramCache]: Analyzing trace with hash -1559910918, now seen corresponding path program 2 times [2020-07-18 05:16:45,759 INFO L163 FreeRefinementEngine]: Executing refinement strategy FIXED_PREFERENCES [2020-07-18 05:16:45,759 INFO L354 FreeRefinementEngine]: Using trace check IpTcStrategyModulePreferences [2027665503] [2020-07-18 05:16:45,759 INFO L94 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2020-07-18 05:16:45,773 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2020-07-18 05:16:46,232 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2020-07-18 05:16:46,234 INFO L280 TraceCheckUtils]: 0: Hoare triple {24188#(and (= |#valid| |old(#valid)|) (= |#NULL.base| |old(#NULL.base)|) (= |#NULL.offset| |old(#NULL.offset)|))} #NULL.base, #NULL.offset := 0, 0; {24167#true} is VALID [2020-07-18 05:16:46,234 INFO L280 TraceCheckUtils]: 1: Hoare triple {24167#true} #valid := #valid[0 := 0]; {24167#true} is VALID [2020-07-18 05:16:46,234 INFO L280 TraceCheckUtils]: 2: Hoare triple {24167#true} assume 0 < #StackHeapBarrier; {24167#true} is VALID [2020-07-18 05:16:46,235 INFO L280 TraceCheckUtils]: 3: Hoare triple {24167#true} assume true; {24167#true} is VALID [2020-07-18 05:16:46,235 INFO L275 TraceCheckUtils]: 4: Hoare quadruple {24167#true} {24167#true} #349#return; {24167#true} is VALID [2020-07-18 05:16:46,235 INFO L263 TraceCheckUtils]: 0: Hoare triple {24167#true} call ULTIMATE.init(); {24188#(and (= |#valid| |old(#valid)|) (= |#NULL.base| |old(#NULL.base)|) (= |#NULL.offset| |old(#NULL.offset)|))} is VALID [2020-07-18 05:16:46,236 INFO L280 TraceCheckUtils]: 1: Hoare triple {24188#(and (= |#valid| |old(#valid)|) (= |#NULL.base| |old(#NULL.base)|) (= |#NULL.offset| |old(#NULL.offset)|))} #NULL.base, #NULL.offset := 0, 0; {24167#true} is VALID [2020-07-18 05:16:46,236 INFO L280 TraceCheckUtils]: 2: Hoare triple {24167#true} #valid := #valid[0 := 0]; {24167#true} is VALID [2020-07-18 05:16:46,236 INFO L280 TraceCheckUtils]: 3: Hoare triple {24167#true} assume 0 < #StackHeapBarrier; {24167#true} is VALID [2020-07-18 05:16:46,236 INFO L280 TraceCheckUtils]: 4: Hoare triple {24167#true} assume true; {24167#true} is VALID [2020-07-18 05:16:46,236 INFO L275 TraceCheckUtils]: 5: Hoare quadruple {24167#true} {24167#true} #349#return; {24167#true} is VALID [2020-07-18 05:16:46,236 INFO L263 TraceCheckUtils]: 6: Hoare triple {24167#true} call #t~ret41 := main(); {24167#true} is VALID [2020-07-18 05:16:46,240 INFO L280 TraceCheckUtils]: 7: Hoare triple {24167#true} SUMMARY for call #t~malloc2.base, #t~malloc2.offset := #Ultimate.allocOnHeap(8); srcloc: mainENTRY {24174#(= 0 |main_#t~malloc2.offset|)} is VALID [2020-07-18 05:16:46,240 INFO L280 TraceCheckUtils]: 8: Hoare triple {24174#(= 0 |main_#t~malloc2.offset|)} ~root~0.base, ~root~0.offset := #t~malloc2.base, #t~malloc2.offset; {24167#true} is VALID [2020-07-18 05:16:46,240 INFO L280 TraceCheckUtils]: 9: Hoare triple {24167#true} havoc ~n~0.base, ~n~0.offset; {24167#true} is VALID [2020-07-18 05:16:46,240 INFO L280 TraceCheckUtils]: 10: Hoare triple {24167#true} SUMMARY for call write~$Pointer$(0, 0, ~root~0.base, ~root~0.offset, 4); srcloc: L542 {24167#true} is VALID [2020-07-18 05:16:46,240 INFO L280 TraceCheckUtils]: 11: Hoare triple {24167#true} SUMMARY for call write~$Pointer$(0, 0, ~root~0.base, 4 + ~root~0.offset, 4); srcloc: L542-1 {24167#true} is VALID [2020-07-18 05:16:46,240 INFO L280 TraceCheckUtils]: 12: Hoare triple {24167#true} assume -2147483648 <= #t~nondet3 && #t~nondet3 <= 2147483647; {24167#true} is VALID [2020-07-18 05:16:46,240 INFO L280 TraceCheckUtils]: 13: Hoare triple {24167#true} assume !(0 != #t~nondet3); {24167#true} is VALID [2020-07-18 05:16:46,241 INFO L280 TraceCheckUtils]: 14: Hoare triple {24167#true} havoc #t~nondet3; {24167#true} is VALID [2020-07-18 05:16:46,241 INFO L280 TraceCheckUtils]: 15: Hoare triple {24167#true} ~n~0.base, ~n~0.offset := 0, 0; {24167#true} is VALID [2020-07-18 05:16:46,241 INFO L280 TraceCheckUtils]: 16: Hoare triple {24167#true} havoc ~pred~0.base, ~pred~0.offset; {24167#true} is VALID [2020-07-18 05:16:46,241 INFO L280 TraceCheckUtils]: 17: Hoare triple {24167#true} assume !!(~root~0.base != 0 || ~root~0.offset != 0); {24167#true} is VALID [2020-07-18 05:16:46,241 INFO L280 TraceCheckUtils]: 18: Hoare triple {24167#true} ~pred~0.base, ~pred~0.offset := 0, 0; {24167#true} is VALID [2020-07-18 05:16:46,241 INFO L280 TraceCheckUtils]: 19: Hoare triple {24167#true} ~n~0.base, ~n~0.offset := ~root~0.base, ~root~0.offset; {24167#true} is VALID [2020-07-18 05:16:46,242 INFO L280 TraceCheckUtils]: 20: Hoare triple {24167#true} SUMMARY for call #t~mem22.base, #t~mem22.offset := read~$Pointer$(~n~0.base, ~n~0.offset, 4); srcloc: L570-5 {24167#true} is VALID [2020-07-18 05:16:46,242 INFO L280 TraceCheckUtils]: 21: Hoare triple {24167#true} #t~short24 := #t~mem22.base != 0 || #t~mem22.offset != 0; {24167#true} is VALID [2020-07-18 05:16:46,242 INFO L280 TraceCheckUtils]: 22: Hoare triple {24167#true} assume !#t~short24; {24167#true} is VALID [2020-07-18 05:16:46,242 INFO L280 TraceCheckUtils]: 23: Hoare triple {24167#true} SUMMARY for call #t~mem23.base, #t~mem23.offset := read~$Pointer$(~n~0.base, 4 + ~n~0.offset, 4); srcloc: L568-4 {24167#true} is VALID [2020-07-18 05:16:46,242 INFO L280 TraceCheckUtils]: 24: Hoare triple {24167#true} #t~short24 := #t~mem23.base != 0 || #t~mem23.offset != 0; {24167#true} is VALID [2020-07-18 05:16:46,243 INFO L280 TraceCheckUtils]: 25: Hoare triple {24167#true} assume !#t~short24; {24167#true} is VALID [2020-07-18 05:16:46,243 INFO L280 TraceCheckUtils]: 26: Hoare triple {24167#true} havoc #t~mem22.base, #t~mem22.offset; {24167#true} is VALID [2020-07-18 05:16:46,243 INFO L280 TraceCheckUtils]: 27: Hoare triple {24167#true} havoc #t~mem23.base, #t~mem23.offset; {24167#true} is VALID [2020-07-18 05:16:46,243 INFO L280 TraceCheckUtils]: 28: Hoare triple {24167#true} havoc #t~short24; {24167#true} is VALID [2020-07-18 05:16:46,243 INFO L280 TraceCheckUtils]: 29: Hoare triple {24167#true} assume !(~pred~0.base != 0 || ~pred~0.offset != 0); {24167#true} is VALID [2020-07-18 05:16:46,243 INFO L280 TraceCheckUtils]: 30: Hoare triple {24167#true} ~root~0.base, ~root~0.offset := 0, 0; {24167#true} is VALID [2020-07-18 05:16:46,243 INFO L280 TraceCheckUtils]: 31: Hoare triple {24167#true} SUMMARY for call ULTIMATE.dealloc(~n~0.base, ~n~0.offset); srcloc: L575 {24167#true} is VALID [2020-07-18 05:16:46,244 INFO L280 TraceCheckUtils]: 32: Hoare triple {24167#true} assume !(~root~0.base != 0 || ~root~0.offset != 0); {24167#true} is VALID [2020-07-18 05:16:46,244 INFO L280 TraceCheckUtils]: 33: Hoare triple {24167#true} SUMMARY for call #t~malloc29.base, #t~malloc29.offset := #Ultimate.allocOnHeap(8); srcloc: L565-2 {24175#(and (= 1 (select |#valid| |main_#t~malloc29.base|)) (= 0 |main_#t~malloc29.offset|))} is VALID [2020-07-18 05:16:46,245 INFO L280 TraceCheckUtils]: 34: Hoare triple {24175#(and (= 1 (select |#valid| |main_#t~malloc29.base|)) (= 0 |main_#t~malloc29.offset|))} ~a~0.base, ~a~0.offset := #t~malloc29.base, #t~malloc29.offset; {24176#(and (= 1 (select |#valid| main_~a~0.base)) (= 0 main_~a~0.offset))} is VALID [2020-07-18 05:16:46,246 INFO L280 TraceCheckUtils]: 35: Hoare triple {24176#(and (= 1 (select |#valid| main_~a~0.base)) (= 0 main_~a~0.offset))} assume !(~a~0.base == 0 && ~a~0.offset == 0); {24176#(and (= 1 (select |#valid| main_~a~0.base)) (= 0 main_~a~0.offset))} is VALID [2020-07-18 05:16:46,246 INFO L280 TraceCheckUtils]: 36: Hoare triple {24176#(and (= 1 (select |#valid| main_~a~0.base)) (= 0 main_~a~0.offset))} havoc ~t~0.base, ~t~0.offset; {24176#(and (= 1 (select |#valid| main_~a~0.base)) (= 0 main_~a~0.offset))} is VALID [2020-07-18 05:16:46,247 INFO L280 TraceCheckUtils]: 37: Hoare triple {24176#(and (= 1 (select |#valid| main_~a~0.base)) (= 0 main_~a~0.offset))} ~p~0.base, ~p~0.offset := ~a~0.base, ~a~0.offset; {24177#(and (= main_~a~0.base main_~p~0.base) (= 0 main_~p~0.offset) (= 0 main_~a~0.offset) (= 1 (select |#valid| main_~p~0.base)))} is VALID [2020-07-18 05:16:46,247 INFO L280 TraceCheckUtils]: 38: Hoare triple {24177#(and (= main_~a~0.base main_~p~0.base) (= 0 main_~p~0.offset) (= 0 main_~a~0.offset) (= 1 (select |#valid| main_~p~0.base)))} assume -2147483648 <= #t~nondet30 && #t~nondet30 <= 2147483647; {24177#(and (= main_~a~0.base main_~p~0.base) (= 0 main_~p~0.offset) (= 0 main_~a~0.offset) (= 1 (select |#valid| main_~p~0.base)))} is VALID [2020-07-18 05:16:46,248 INFO L280 TraceCheckUtils]: 39: Hoare triple {24177#(and (= main_~a~0.base main_~p~0.base) (= 0 main_~p~0.offset) (= 0 main_~a~0.offset) (= 1 (select |#valid| main_~p~0.base)))} assume !(0 != #t~nondet30); {24177#(and (= main_~a~0.base main_~p~0.base) (= 0 main_~p~0.offset) (= 0 main_~a~0.offset) (= 1 (select |#valid| main_~p~0.base)))} is VALID [2020-07-18 05:16:46,248 INFO L280 TraceCheckUtils]: 40: Hoare triple {24177#(and (= main_~a~0.base main_~p~0.base) (= 0 main_~p~0.offset) (= 0 main_~a~0.offset) (= 1 (select |#valid| main_~p~0.base)))} havoc #t~nondet30; {24177#(and (= main_~a~0.base main_~p~0.base) (= 0 main_~p~0.offset) (= 0 main_~a~0.offset) (= 1 (select |#valid| main_~p~0.base)))} is VALID [2020-07-18 05:16:46,249 INFO L280 TraceCheckUtils]: 41: Hoare triple {24177#(and (= main_~a~0.base main_~p~0.base) (= 0 main_~p~0.offset) (= 0 main_~a~0.offset) (= 1 (select |#valid| main_~p~0.base)))} assume -2147483648 <= #t~nondet33 && #t~nondet33 <= 2147483647; {24177#(and (= main_~a~0.base main_~p~0.base) (= 0 main_~p~0.offset) (= 0 main_~a~0.offset) (= 1 (select |#valid| main_~p~0.base)))} is VALID [2020-07-18 05:16:46,249 INFO L280 TraceCheckUtils]: 42: Hoare triple {24177#(and (= main_~a~0.base main_~p~0.base) (= 0 main_~p~0.offset) (= 0 main_~a~0.offset) (= 1 (select |#valid| main_~p~0.base)))} assume !!(0 != #t~nondet33); {24177#(and (= main_~a~0.base main_~p~0.base) (= 0 main_~p~0.offset) (= 0 main_~a~0.offset) (= 1 (select |#valid| main_~p~0.base)))} is VALID [2020-07-18 05:16:46,250 INFO L280 TraceCheckUtils]: 43: Hoare triple {24177#(and (= main_~a~0.base main_~p~0.base) (= 0 main_~p~0.offset) (= 0 main_~a~0.offset) (= 1 (select |#valid| main_~p~0.base)))} havoc #t~nondet33; {24177#(and (= main_~a~0.base main_~p~0.base) (= 0 main_~p~0.offset) (= 0 main_~a~0.offset) (= 1 (select |#valid| main_~p~0.base)))} is VALID [2020-07-18 05:16:46,251 INFO L280 TraceCheckUtils]: 44: Hoare triple {24177#(and (= main_~a~0.base main_~p~0.base) (= 0 main_~p~0.offset) (= 0 main_~a~0.offset) (= 1 (select |#valid| main_~p~0.base)))} SUMMARY for call write~int(2, ~p~0.base, ~p~0.offset, 4); srcloc: L596 {24177#(and (= main_~a~0.base main_~p~0.base) (= 0 main_~p~0.offset) (= 0 main_~a~0.offset) (= 1 (select |#valid| main_~p~0.base)))} is VALID [2020-07-18 05:16:46,251 INFO L280 TraceCheckUtils]: 45: Hoare triple {24177#(and (= main_~a~0.base main_~p~0.base) (= 0 main_~p~0.offset) (= 0 main_~a~0.offset) (= 1 (select |#valid| main_~p~0.base)))} SUMMARY for call #t~malloc34.base, #t~malloc34.offset := #Ultimate.allocOnHeap(8); srcloc: L596-1 {24178#(and (= main_~a~0.base main_~p~0.base) (= 0 main_~p~0.offset) (= 0 main_~a~0.offset) (not (= main_~p~0.base |main_#t~malloc34.base|)))} is VALID [2020-07-18 05:16:46,252 INFO L280 TraceCheckUtils]: 46: Hoare triple {24178#(and (= main_~a~0.base main_~p~0.base) (= 0 main_~p~0.offset) (= 0 main_~a~0.offset) (not (= main_~p~0.base |main_#t~malloc34.base|)))} ~t~0.base, ~t~0.offset := #t~malloc34.base, #t~malloc34.offset; {24179#(and (= main_~a~0.base main_~p~0.base) (= 0 main_~p~0.offset) (= 0 main_~a~0.offset) (not (= main_~t~0.base main_~p~0.base)))} is VALID [2020-07-18 05:16:46,252 INFO L280 TraceCheckUtils]: 47: Hoare triple {24179#(and (= main_~a~0.base main_~p~0.base) (= 0 main_~p~0.offset) (= 0 main_~a~0.offset) (not (= main_~t~0.base main_~p~0.base)))} assume !(~t~0.base == 0 && ~t~0.offset == 0); {24179#(and (= main_~a~0.base main_~p~0.base) (= 0 main_~p~0.offset) (= 0 main_~a~0.offset) (not (= main_~t~0.base main_~p~0.base)))} is VALID [2020-07-18 05:16:46,254 INFO L280 TraceCheckUtils]: 48: Hoare triple {24179#(and (= main_~a~0.base main_~p~0.base) (= 0 main_~p~0.offset) (= 0 main_~a~0.offset) (not (= main_~t~0.base main_~p~0.base)))} SUMMARY for call write~$Pointer$(~t~0.base, ~t~0.offset, ~p~0.base, 4 + ~p~0.offset, 4); srcloc: L598-3 {24180#(and (= main_~a~0.base main_~p~0.base) (not (= (select (select |#memory_$Pointer$.base| main_~p~0.base) (+ main_~p~0.offset 4)) main_~p~0.base)) (= 0 main_~p~0.offset) (= 0 main_~a~0.offset))} is VALID [2020-07-18 05:16:46,255 INFO L280 TraceCheckUtils]: 49: Hoare triple {24180#(and (= main_~a~0.base main_~p~0.base) (not (= (select (select |#memory_$Pointer$.base| main_~p~0.base) (+ main_~p~0.offset 4)) main_~p~0.base)) (= 0 main_~p~0.offset) (= 0 main_~a~0.offset))} SUMMARY for call #t~mem35.base, #t~mem35.offset := read~$Pointer$(~p~0.base, 4 + ~p~0.offset, 4); srcloc: L599 {24181#(and (= |main_#t~mem35.base| (select (select |#memory_$Pointer$.base| main_~a~0.base) 4)) (not (= main_~a~0.base |main_#t~mem35.base|)) (= |main_#t~mem35.offset| (select (select |#memory_$Pointer$.offset| main_~a~0.base) 4)) (= 0 main_~a~0.offset))} is VALID [2020-07-18 05:16:46,255 INFO L280 TraceCheckUtils]: 50: Hoare triple {24181#(and (= |main_#t~mem35.base| (select (select |#memory_$Pointer$.base| main_~a~0.base) 4)) (not (= main_~a~0.base |main_#t~mem35.base|)) (= |main_#t~mem35.offset| (select (select |#memory_$Pointer$.offset| main_~a~0.base) 4)) (= 0 main_~a~0.offset))} ~p~0.base, ~p~0.offset := #t~mem35.base, #t~mem35.offset; {24182#(and (not (= main_~a~0.base main_~p~0.base)) (= main_~p~0.base (select (select |#memory_$Pointer$.base| main_~a~0.base) 4)) (= 0 main_~a~0.offset) (= (select (select |#memory_$Pointer$.offset| main_~a~0.base) 4) main_~p~0.offset))} is VALID [2020-07-18 05:16:46,256 INFO L280 TraceCheckUtils]: 51: Hoare triple {24182#(and (not (= main_~a~0.base main_~p~0.base)) (= main_~p~0.base (select (select |#memory_$Pointer$.base| main_~a~0.base) 4)) (= 0 main_~a~0.offset) (= (select (select |#memory_$Pointer$.offset| main_~a~0.base) 4) main_~p~0.offset))} havoc #t~mem35.base, #t~mem35.offset; {24182#(and (not (= main_~a~0.base main_~p~0.base)) (= main_~p~0.base (select (select |#memory_$Pointer$.base| main_~a~0.base) 4)) (= 0 main_~a~0.offset) (= (select (select |#memory_$Pointer$.offset| main_~a~0.base) 4) main_~p~0.offset))} is VALID [2020-07-18 05:16:46,257 INFO L280 TraceCheckUtils]: 52: Hoare triple {24182#(and (not (= main_~a~0.base main_~p~0.base)) (= main_~p~0.base (select (select |#memory_$Pointer$.base| main_~a~0.base) 4)) (= 0 main_~a~0.offset) (= (select (select |#memory_$Pointer$.offset| main_~a~0.base) 4) main_~p~0.offset))} assume -2147483648 <= #t~nondet33 && #t~nondet33 <= 2147483647; {24182#(and (not (= main_~a~0.base main_~p~0.base)) (= main_~p~0.base (select (select |#memory_$Pointer$.base| main_~a~0.base) 4)) (= 0 main_~a~0.offset) (= (select (select |#memory_$Pointer$.offset| main_~a~0.base) 4) main_~p~0.offset))} is VALID [2020-07-18 05:16:46,257 INFO L280 TraceCheckUtils]: 53: Hoare triple {24182#(and (not (= main_~a~0.base main_~p~0.base)) (= main_~p~0.base (select (select |#memory_$Pointer$.base| main_~a~0.base) 4)) (= 0 main_~a~0.offset) (= (select (select |#memory_$Pointer$.offset| main_~a~0.base) 4) main_~p~0.offset))} assume !(0 != #t~nondet33); {24182#(and (not (= main_~a~0.base main_~p~0.base)) (= main_~p~0.base (select (select |#memory_$Pointer$.base| main_~a~0.base) 4)) (= 0 main_~a~0.offset) (= (select (select |#memory_$Pointer$.offset| main_~a~0.base) 4) main_~p~0.offset))} is VALID [2020-07-18 05:16:46,258 INFO L280 TraceCheckUtils]: 54: Hoare triple {24182#(and (not (= main_~a~0.base main_~p~0.base)) (= main_~p~0.base (select (select |#memory_$Pointer$.base| main_~a~0.base) 4)) (= 0 main_~a~0.offset) (= (select (select |#memory_$Pointer$.offset| main_~a~0.base) 4) main_~p~0.offset))} havoc #t~nondet33; {24182#(and (not (= main_~a~0.base main_~p~0.base)) (= main_~p~0.base (select (select |#memory_$Pointer$.base| main_~a~0.base) 4)) (= 0 main_~a~0.offset) (= (select (select |#memory_$Pointer$.offset| main_~a~0.base) 4) main_~p~0.offset))} is VALID [2020-07-18 05:16:46,259 INFO L280 TraceCheckUtils]: 55: Hoare triple {24182#(and (not (= main_~a~0.base main_~p~0.base)) (= main_~p~0.base (select (select |#memory_$Pointer$.base| main_~a~0.base) 4)) (= 0 main_~a~0.offset) (= (select (select |#memory_$Pointer$.offset| main_~a~0.base) 4) main_~p~0.offset))} SUMMARY for call write~int(3, ~p~0.base, ~p~0.offset, 4); srcloc: L595-5 {24183#(and (= 0 main_~a~0.offset) (= 3 (select (select |#memory_int| (select (select |#memory_$Pointer$.base| main_~a~0.base) 4)) (select (select |#memory_$Pointer$.offset| main_~a~0.base) 4))))} is VALID [2020-07-18 05:16:46,259 INFO L280 TraceCheckUtils]: 56: Hoare triple {24183#(and (= 0 main_~a~0.offset) (= 3 (select (select |#memory_int| (select (select |#memory_$Pointer$.base| main_~a~0.base) 4)) (select (select |#memory_$Pointer$.offset| main_~a~0.base) 4))))} ~p~0.base, ~p~0.offset := ~a~0.base, ~a~0.offset; {24184#(and (= 0 main_~p~0.offset) (= 3 (select (select |#memory_int| (select (select |#memory_$Pointer$.base| main_~p~0.base) (+ main_~p~0.offset 4))) (select (select |#memory_$Pointer$.offset| main_~p~0.base) (+ main_~p~0.offset 4)))))} is VALID [2020-07-18 05:16:46,260 INFO L280 TraceCheckUtils]: 57: Hoare triple {24184#(and (= 0 main_~p~0.offset) (= 3 (select (select |#memory_int| (select (select |#memory_$Pointer$.base| main_~p~0.base) (+ main_~p~0.offset 4))) (select (select |#memory_$Pointer$.offset| main_~p~0.base) (+ main_~p~0.offset 4)))))} SUMMARY for call #t~mem36 := read~int(~p~0.base, ~p~0.offset, 4); srcloc: L604-5 {24184#(and (= 0 main_~p~0.offset) (= 3 (select (select |#memory_int| (select (select |#memory_$Pointer$.base| main_~p~0.base) (+ main_~p~0.offset 4))) (select (select |#memory_$Pointer$.offset| main_~p~0.base) (+ main_~p~0.offset 4)))))} is VALID [2020-07-18 05:16:46,260 INFO L280 TraceCheckUtils]: 58: Hoare triple {24184#(and (= 0 main_~p~0.offset) (= 3 (select (select |#memory_int| (select (select |#memory_$Pointer$.base| main_~p~0.base) (+ main_~p~0.offset 4))) (select (select |#memory_$Pointer$.offset| main_~p~0.base) (+ main_~p~0.offset 4)))))} assume !!(2 == #t~mem36); {24184#(and (= 0 main_~p~0.offset) (= 3 (select (select |#memory_int| (select (select |#memory_$Pointer$.base| main_~p~0.base) (+ main_~p~0.offset 4))) (select (select |#memory_$Pointer$.offset| main_~p~0.base) (+ main_~p~0.offset 4)))))} is VALID [2020-07-18 05:16:46,261 INFO L280 TraceCheckUtils]: 59: Hoare triple {24184#(and (= 0 main_~p~0.offset) (= 3 (select (select |#memory_int| (select (select |#memory_$Pointer$.base| main_~p~0.base) (+ main_~p~0.offset 4))) (select (select |#memory_$Pointer$.offset| main_~p~0.base) (+ main_~p~0.offset 4)))))} havoc #t~mem36; {24184#(and (= 0 main_~p~0.offset) (= 3 (select (select |#memory_int| (select (select |#memory_$Pointer$.base| main_~p~0.base) (+ main_~p~0.offset 4))) (select (select |#memory_$Pointer$.offset| main_~p~0.base) (+ main_~p~0.offset 4)))))} is VALID [2020-07-18 05:16:46,262 INFO L280 TraceCheckUtils]: 60: Hoare triple {24184#(and (= 0 main_~p~0.offset) (= 3 (select (select |#memory_int| (select (select |#memory_$Pointer$.base| main_~p~0.base) (+ main_~p~0.offset 4))) (select (select |#memory_$Pointer$.offset| main_~p~0.base) (+ main_~p~0.offset 4)))))} SUMMARY for call #t~mem37.base, #t~mem37.offset := read~$Pointer$(~p~0.base, 4 + ~p~0.offset, 4); srcloc: L605 {24185#(= 3 (select (select |#memory_int| |main_#t~mem37.base|) |main_#t~mem37.offset|))} is VALID [2020-07-18 05:16:46,262 INFO L280 TraceCheckUtils]: 61: Hoare triple {24185#(= 3 (select (select |#memory_int| |main_#t~mem37.base|) |main_#t~mem37.offset|))} ~p~0.base, ~p~0.offset := #t~mem37.base, #t~mem37.offset; {24186#(= 3 (select (select |#memory_int| main_~p~0.base) main_~p~0.offset))} is VALID [2020-07-18 05:16:46,262 INFO L280 TraceCheckUtils]: 62: Hoare triple {24186#(= 3 (select (select |#memory_int| main_~p~0.base) main_~p~0.offset))} havoc #t~mem37.base, #t~mem37.offset; {24186#(= 3 (select (select |#memory_int| main_~p~0.base) main_~p~0.offset))} is VALID [2020-07-18 05:16:46,263 INFO L280 TraceCheckUtils]: 63: Hoare triple {24186#(= 3 (select (select |#memory_int| main_~p~0.base) main_~p~0.offset))} SUMMARY for call #t~mem36 := read~int(~p~0.base, ~p~0.offset, 4); srcloc: L604-5 {24187#(= |main_#t~mem36| 3)} is VALID [2020-07-18 05:16:46,263 INFO L280 TraceCheckUtils]: 64: Hoare triple {24187#(= |main_#t~mem36| 3)} assume !!(2 == #t~mem36); {24168#false} is VALID [2020-07-18 05:16:46,263 INFO L280 TraceCheckUtils]: 65: Hoare triple {24168#false} havoc #t~mem36; {24168#false} is VALID [2020-07-18 05:16:46,264 INFO L280 TraceCheckUtils]: 66: Hoare triple {24168#false} SUMMARY for call #t~mem37.base, #t~mem37.offset := read~$Pointer$(~p~0.base, 4 + ~p~0.offset, 4); srcloc: L605 {24168#false} is VALID [2020-07-18 05:16:46,264 INFO L280 TraceCheckUtils]: 67: Hoare triple {24168#false} ~p~0.base, ~p~0.offset := #t~mem37.base, #t~mem37.offset; {24168#false} is VALID [2020-07-18 05:16:46,264 INFO L280 TraceCheckUtils]: 68: Hoare triple {24168#false} havoc #t~mem37.base, #t~mem37.offset; {24168#false} is VALID [2020-07-18 05:16:46,264 INFO L280 TraceCheckUtils]: 69: Hoare triple {24168#false} SUMMARY for call #t~mem36 := read~int(~p~0.base, ~p~0.offset, 4); srcloc: L604-5 {24168#false} is VALID [2020-07-18 05:16:46,264 INFO L280 TraceCheckUtils]: 70: Hoare triple {24168#false} assume !(2 == #t~mem36); {24168#false} is VALID [2020-07-18 05:16:46,264 INFO L280 TraceCheckUtils]: 71: Hoare triple {24168#false} havoc #t~mem36; {24168#false} is VALID [2020-07-18 05:16:46,264 INFO L280 TraceCheckUtils]: 72: Hoare triple {24168#false} SUMMARY for call #t~mem38 := read~int(~p~0.base, ~p~0.offset, 4); srcloc: L606-4 {24168#false} is VALID [2020-07-18 05:16:46,264 INFO L280 TraceCheckUtils]: 73: Hoare triple {24168#false} assume !(1 == #t~mem38); {24168#false} is VALID [2020-07-18 05:16:46,265 INFO L280 TraceCheckUtils]: 74: Hoare triple {24168#false} havoc #t~mem38; {24168#false} is VALID [2020-07-18 05:16:46,265 INFO L280 TraceCheckUtils]: 75: Hoare triple {24168#false} SUMMARY for call #t~mem40 := read~int(~p~0.base, ~p~0.offset, 4); srcloc: L606-5 {24168#false} is VALID [2020-07-18 05:16:46,265 INFO L280 TraceCheckUtils]: 76: Hoare triple {24168#false} assume 3 != #t~mem40; {24168#false} is VALID [2020-07-18 05:16:46,265 INFO L280 TraceCheckUtils]: 77: Hoare triple {24168#false} havoc #t~mem40; {24168#false} is VALID [2020-07-18 05:16:46,265 INFO L280 TraceCheckUtils]: 78: Hoare triple {24168#false} assume !false; {24168#false} is VALID [2020-07-18 05:16:46,275 INFO L134 CoverageAnalysis]: Checked inductivity of 13 backedges. 8 proven. 4 refuted. 0 times theorem prover too weak. 1 trivial. 0 not checked. [2020-07-18 05:16:46,276 INFO L354 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModulePreferences [2027665503] [2020-07-18 05:16:46,276 INFO L220 FreeRefinementEngine]: Constructing automaton from 0 perfect and 1 imperfect interpolant sequences. [2020-07-18 05:16:46,276 INFO L233 FreeRefinementEngine]: Number of different interpolants: perfect sequences [] imperfect sequences [17] total 17 [2020-07-18 05:16:46,276 INFO L156 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [532966771] [2020-07-18 05:16:46,276 INFO L78 Accepts]: Start accepts. Automaton has 17 states. Word has length 79 [2020-07-18 05:16:46,277 INFO L84 Accepts]: Finished accepts. word is accepted. [2020-07-18 05:16:46,277 INFO L86 InductivityCheck]: Starting indutivity check of a Floyd-Hoare automaton with 17 states. [2020-07-18 05:16:46,370 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-18 05:16:46,370 INFO L459 AbstractCegarLoop]: Interpolant automaton has 17 states [2020-07-18 05:16:46,371 INFO L143 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy FIXED_PREFERENCES [2020-07-18 05:16:46,371 INFO L142 InterpolantAutomaton]: Constructing interpolant automaton starting with 17 interpolants. [2020-07-18 05:16:46,371 INFO L144 InterpolantAutomaton]: CoverageRelationStatistics Valid=32, Invalid=240, Unknown=0, NotChecked=0, Total=272 [2020-07-18 05:16:46,371 INFO L87 Difference]: Start difference. First operand 297 states and 327 transitions. Second operand 17 states. [2020-07-18 05:16:51,846 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2020-07-18 05:16:51,846 INFO L93 Difference]: Finished difference Result 335 states and 367 transitions. [2020-07-18 05:16:51,846 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 20 states. [2020-07-18 05:16:51,846 INFO L78 Accepts]: Start accepts. Automaton has 17 states. Word has length 79 [2020-07-18 05:16:51,846 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2020-07-18 05:16:51,846 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 17 states. [2020-07-18 05:16:51,848 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 20 states to 20 states and 266 transitions. [2020-07-18 05:16:51,848 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 17 states. [2020-07-18 05:16:51,850 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 20 states to 20 states and 266 transitions. [2020-07-18 05:16:51,850 INFO L86 InductivityCheck]: Starting indutivity check of a Floyd-Hoare automaton with 20 states and 266 transitions. [2020-07-18 05:16:52,207 INFO L119 InductivityCheck]: Floyd-Hoare automaton has 266 edges. 266 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2020-07-18 05:16:52,214 INFO L225 Difference]: With dead ends: 335 [2020-07-18 05:16:52,214 INFO L226 Difference]: Without dead ends: 305 [2020-07-18 05:16:52,215 INFO L675 BasicCegarLoop]: 0 DeclaredPredicates, 35 GetRequests, 4 SyntacticMatches, 0 SemanticMatches, 31 ConstructedPredicates, 0 IntricatePredicates, 0 DeprecatedPredicates, 85 ImplicationChecksByTransitivity, 1.0s TimeCoverageRelationStatistics Valid=201, Invalid=855, Unknown=0, NotChecked=0, Total=1056 [2020-07-18 05:16:52,215 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 305 states. [2020-07-18 05:16:53,281 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 305 to 286. [2020-07-18 05:16:53,281 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2020-07-18 05:16:53,281 INFO L82 GeneralOperation]: Start isEquivalent. First operand 305 states. Second operand 286 states. [2020-07-18 05:16:53,281 INFO L74 IsIncluded]: Start isIncluded. First operand 305 states. Second operand 286 states. [2020-07-18 05:16:53,281 INFO L87 Difference]: Start difference. First operand 305 states. Second operand 286 states. [2020-07-18 05:16:53,287 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2020-07-18 05:16:53,287 INFO L93 Difference]: Finished difference Result 305 states and 335 transitions. [2020-07-18 05:16:53,287 INFO L276 IsEmpty]: Start isEmpty. Operand 305 states and 335 transitions. [2020-07-18 05:16:53,287 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2020-07-18 05:16:53,287 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2020-07-18 05:16:53,288 INFO L74 IsIncluded]: Start isIncluded. First operand 286 states. Second operand 305 states. [2020-07-18 05:16:53,288 INFO L87 Difference]: Start difference. First operand 286 states. Second operand 305 states. [2020-07-18 05:16:53,293 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2020-07-18 05:16:53,293 INFO L93 Difference]: Finished difference Result 305 states and 335 transitions. [2020-07-18 05:16:53,294 INFO L276 IsEmpty]: Start isEmpty. Operand 305 states and 335 transitions. [2020-07-18 05:16:53,294 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2020-07-18 05:16:53,294 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2020-07-18 05:16:53,294 INFO L88 GeneralOperation]: Finished isEquivalent. [2020-07-18 05:16:53,294 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2020-07-18 05:16:53,294 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 286 states. [2020-07-18 05:16:53,299 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 286 states to 286 states and 315 transitions. [2020-07-18 05:16:53,299 INFO L78 Accepts]: Start accepts. Automaton has 286 states and 315 transitions. Word has length 79 [2020-07-18 05:16:53,299 INFO L84 Accepts]: Finished accepts. word is rejected. [2020-07-18 05:16:53,299 INFO L479 AbstractCegarLoop]: Abstraction has 286 states and 315 transitions. [2020-07-18 05:16:53,299 INFO L480 AbstractCegarLoop]: Interpolant automaton has 17 states. [2020-07-18 05:16:53,299 INFO L86 InductivityCheck]: Starting indutivity check of a Floyd-Hoare automaton with 286 states and 315 transitions. [2020-07-18 05:16:53,975 INFO L119 InductivityCheck]: Floyd-Hoare automaton has 315 edges. 315 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2020-07-18 05:16:53,976 INFO L276 IsEmpty]: Start isEmpty. Operand 286 states and 315 transitions. [2020-07-18 05:16:53,977 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 80 [2020-07-18 05:16:53,977 INFO L414 BasicCegarLoop]: Found error trace [2020-07-18 05:16:53,977 INFO L422 BasicCegarLoop]: trace histogram [3, 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, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1] [2020-07-18 05:16:53,978 WARN L516 AbstractCegarLoop]: Destroyed unattended storables created during the last iteration: SelfDestructingSolverStorable14 [2020-07-18 05:16:53,978 INFO L427 AbstractCegarLoop]: === Iteration 16 === [mainErr0ASSERT_VIOLATIONERROR_FUNCTION]=== [2020-07-18 05:16:53,978 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2020-07-18 05:16:53,978 INFO L82 PathProgramCache]: Analyzing trace with hash 1643861864, now seen corresponding path program 2 times [2020-07-18 05:16:53,978 INFO L163 FreeRefinementEngine]: Executing refinement strategy FIXED_PREFERENCES [2020-07-18 05:16:53,979 INFO L354 FreeRefinementEngine]: Using trace check IpTcStrategyModulePreferences [310731993] [2020-07-18 05:16:53,979 INFO L94 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2020-07-18 05:16:53,993 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2020-07-18 05:16:54,619 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2020-07-18 05:16:54,624 INFO L280 TraceCheckUtils]: 0: Hoare triple {26096#(and (= |#valid| |old(#valid)|) (= |#NULL.base| |old(#NULL.base)|) (= |#NULL.offset| |old(#NULL.offset)|))} #NULL.base, #NULL.offset := 0, 0; {26075#true} is VALID [2020-07-18 05:16:54,625 INFO L280 TraceCheckUtils]: 1: Hoare triple {26075#true} #valid := #valid[0 := 0]; {26075#true} is VALID [2020-07-18 05:16:54,626 INFO L280 TraceCheckUtils]: 2: Hoare triple {26075#true} assume 0 < #StackHeapBarrier; {26075#true} is VALID [2020-07-18 05:16:54,627 INFO L280 TraceCheckUtils]: 3: Hoare triple {26075#true} assume true; {26075#true} is VALID [2020-07-18 05:16:54,627 INFO L275 TraceCheckUtils]: 4: Hoare quadruple {26075#true} {26075#true} #349#return; {26075#true} is VALID [2020-07-18 05:16:54,628 INFO L263 TraceCheckUtils]: 0: Hoare triple {26075#true} call ULTIMATE.init(); {26096#(and (= |#valid| |old(#valid)|) (= |#NULL.base| |old(#NULL.base)|) (= |#NULL.offset| |old(#NULL.offset)|))} is VALID [2020-07-18 05:16:54,629 INFO L280 TraceCheckUtils]: 1: Hoare triple {26096#(and (= |#valid| |old(#valid)|) (= |#NULL.base| |old(#NULL.base)|) (= |#NULL.offset| |old(#NULL.offset)|))} #NULL.base, #NULL.offset := 0, 0; {26075#true} is VALID [2020-07-18 05:16:54,629 INFO L280 TraceCheckUtils]: 2: Hoare triple {26075#true} #valid := #valid[0 := 0]; {26075#true} is VALID [2020-07-18 05:16:54,629 INFO L280 TraceCheckUtils]: 3: Hoare triple {26075#true} assume 0 < #StackHeapBarrier; {26075#true} is VALID [2020-07-18 05:16:54,630 INFO L280 TraceCheckUtils]: 4: Hoare triple {26075#true} assume true; {26075#true} is VALID [2020-07-18 05:16:54,630 INFO L275 TraceCheckUtils]: 5: Hoare quadruple {26075#true} {26075#true} #349#return; {26075#true} is VALID [2020-07-18 05:16:54,630 INFO L263 TraceCheckUtils]: 6: Hoare triple {26075#true} call #t~ret41 := main(); {26075#true} is VALID [2020-07-18 05:16:54,631 INFO L280 TraceCheckUtils]: 7: Hoare triple {26075#true} SUMMARY for call #t~malloc2.base, #t~malloc2.offset := #Ultimate.allocOnHeap(8); srcloc: mainENTRY {26082#(= 0 |main_#t~malloc2.offset|)} is VALID [2020-07-18 05:16:54,632 INFO L280 TraceCheckUtils]: 8: Hoare triple {26082#(= 0 |main_#t~malloc2.offset|)} ~root~0.base, ~root~0.offset := #t~malloc2.base, #t~malloc2.offset; {26075#true} is VALID [2020-07-18 05:16:54,632 INFO L280 TraceCheckUtils]: 9: Hoare triple {26075#true} havoc ~n~0.base, ~n~0.offset; {26075#true} is VALID [2020-07-18 05:16:54,632 INFO L280 TraceCheckUtils]: 10: Hoare triple {26075#true} SUMMARY for call write~$Pointer$(0, 0, ~root~0.base, ~root~0.offset, 4); srcloc: L542 {26075#true} is VALID [2020-07-18 05:16:54,633 INFO L280 TraceCheckUtils]: 11: Hoare triple {26075#true} SUMMARY for call write~$Pointer$(0, 0, ~root~0.base, 4 + ~root~0.offset, 4); srcloc: L542-1 {26075#true} is VALID [2020-07-18 05:16:54,633 INFO L280 TraceCheckUtils]: 12: Hoare triple {26075#true} assume -2147483648 <= #t~nondet3 && #t~nondet3 <= 2147483647; {26075#true} is VALID [2020-07-18 05:16:54,633 INFO L280 TraceCheckUtils]: 13: Hoare triple {26075#true} assume !(0 != #t~nondet3); {26075#true} is VALID [2020-07-18 05:16:54,633 INFO L280 TraceCheckUtils]: 14: Hoare triple {26075#true} havoc #t~nondet3; {26075#true} is VALID [2020-07-18 05:16:54,634 INFO L280 TraceCheckUtils]: 15: Hoare triple {26075#true} ~n~0.base, ~n~0.offset := 0, 0; {26075#true} is VALID [2020-07-18 05:16:54,634 INFO L280 TraceCheckUtils]: 16: Hoare triple {26075#true} havoc ~pred~0.base, ~pred~0.offset; {26075#true} is VALID [2020-07-18 05:16:54,634 INFO L280 TraceCheckUtils]: 17: Hoare triple {26075#true} assume !!(~root~0.base != 0 || ~root~0.offset != 0); {26075#true} is VALID [2020-07-18 05:16:54,635 INFO L280 TraceCheckUtils]: 18: Hoare triple {26075#true} ~pred~0.base, ~pred~0.offset := 0, 0; {26075#true} is VALID [2020-07-18 05:16:54,635 INFO L280 TraceCheckUtils]: 19: Hoare triple {26075#true} ~n~0.base, ~n~0.offset := ~root~0.base, ~root~0.offset; {26075#true} is VALID [2020-07-18 05:16:54,635 INFO L280 TraceCheckUtils]: 20: Hoare triple {26075#true} SUMMARY for call #t~mem22.base, #t~mem22.offset := read~$Pointer$(~n~0.base, ~n~0.offset, 4); srcloc: L570-5 {26075#true} is VALID [2020-07-18 05:16:54,636 INFO L280 TraceCheckUtils]: 21: Hoare triple {26075#true} #t~short24 := #t~mem22.base != 0 || #t~mem22.offset != 0; {26075#true} is VALID [2020-07-18 05:16:54,636 INFO L280 TraceCheckUtils]: 22: Hoare triple {26075#true} assume !#t~short24; {26075#true} is VALID [2020-07-18 05:16:54,636 INFO L280 TraceCheckUtils]: 23: Hoare triple {26075#true} SUMMARY for call #t~mem23.base, #t~mem23.offset := read~$Pointer$(~n~0.base, 4 + ~n~0.offset, 4); srcloc: L568-4 {26075#true} is VALID [2020-07-18 05:16:54,636 INFO L280 TraceCheckUtils]: 24: Hoare triple {26075#true} #t~short24 := #t~mem23.base != 0 || #t~mem23.offset != 0; {26075#true} is VALID [2020-07-18 05:16:54,637 INFO L280 TraceCheckUtils]: 25: Hoare triple {26075#true} assume !#t~short24; {26075#true} is VALID [2020-07-18 05:16:54,637 INFO L280 TraceCheckUtils]: 26: Hoare triple {26075#true} havoc #t~mem22.base, #t~mem22.offset; {26075#true} is VALID [2020-07-18 05:16:54,637 INFO L280 TraceCheckUtils]: 27: Hoare triple {26075#true} havoc #t~mem23.base, #t~mem23.offset; {26075#true} is VALID [2020-07-18 05:16:54,638 INFO L280 TraceCheckUtils]: 28: Hoare triple {26075#true} havoc #t~short24; {26075#true} is VALID [2020-07-18 05:16:54,638 INFO L280 TraceCheckUtils]: 29: Hoare triple {26075#true} assume !(~pred~0.base != 0 || ~pred~0.offset != 0); {26075#true} is VALID [2020-07-18 05:16:54,638 INFO L280 TraceCheckUtils]: 30: Hoare triple {26075#true} ~root~0.base, ~root~0.offset := 0, 0; {26075#true} is VALID [2020-07-18 05:16:54,639 INFO L280 TraceCheckUtils]: 31: Hoare triple {26075#true} SUMMARY for call ULTIMATE.dealloc(~n~0.base, ~n~0.offset); srcloc: L575 {26075#true} is VALID [2020-07-18 05:16:54,639 INFO L280 TraceCheckUtils]: 32: Hoare triple {26075#true} assume !(~root~0.base != 0 || ~root~0.offset != 0); {26075#true} is VALID [2020-07-18 05:16:54,641 INFO L280 TraceCheckUtils]: 33: Hoare triple {26075#true} SUMMARY for call #t~malloc29.base, #t~malloc29.offset := #Ultimate.allocOnHeap(8); srcloc: L565-2 {26083#(and (= 1 (select |#valid| |main_#t~malloc29.base|)) (= 0 |main_#t~malloc29.offset|))} is VALID [2020-07-18 05:16:54,642 INFO L280 TraceCheckUtils]: 34: Hoare triple {26083#(and (= 1 (select |#valid| |main_#t~malloc29.base|)) (= 0 |main_#t~malloc29.offset|))} ~a~0.base, ~a~0.offset := #t~malloc29.base, #t~malloc29.offset; {26084#(and (= 1 (select |#valid| main_~a~0.base)) (= 0 main_~a~0.offset))} is VALID [2020-07-18 05:16:54,643 INFO L280 TraceCheckUtils]: 35: Hoare triple {26084#(and (= 1 (select |#valid| main_~a~0.base)) (= 0 main_~a~0.offset))} assume !(~a~0.base == 0 && ~a~0.offset == 0); {26084#(and (= 1 (select |#valid| main_~a~0.base)) (= 0 main_~a~0.offset))} is VALID [2020-07-18 05:16:54,644 INFO L280 TraceCheckUtils]: 36: Hoare triple {26084#(and (= 1 (select |#valid| main_~a~0.base)) (= 0 main_~a~0.offset))} havoc ~t~0.base, ~t~0.offset; {26084#(and (= 1 (select |#valid| main_~a~0.base)) (= 0 main_~a~0.offset))} is VALID [2020-07-18 05:16:54,645 INFO L280 TraceCheckUtils]: 37: Hoare triple {26084#(and (= 1 (select |#valid| main_~a~0.base)) (= 0 main_~a~0.offset))} ~p~0.base, ~p~0.offset := ~a~0.base, ~a~0.offset; {26085#(and (= main_~a~0.base main_~p~0.base) (= 0 main_~p~0.offset) (= 0 main_~a~0.offset) (= 1 (select |#valid| main_~p~0.base)))} is VALID [2020-07-18 05:16:54,647 INFO L280 TraceCheckUtils]: 38: Hoare triple {26085#(and (= main_~a~0.base main_~p~0.base) (= 0 main_~p~0.offset) (= 0 main_~a~0.offset) (= 1 (select |#valid| main_~p~0.base)))} assume -2147483648 <= #t~nondet30 && #t~nondet30 <= 2147483647; {26085#(and (= main_~a~0.base main_~p~0.base) (= 0 main_~p~0.offset) (= 0 main_~a~0.offset) (= 1 (select |#valid| main_~p~0.base)))} is VALID [2020-07-18 05:16:54,648 INFO L280 TraceCheckUtils]: 39: Hoare triple {26085#(and (= main_~a~0.base main_~p~0.base) (= 0 main_~p~0.offset) (= 0 main_~a~0.offset) (= 1 (select |#valid| main_~p~0.base)))} assume !!(0 != #t~nondet30); {26085#(and (= main_~a~0.base main_~p~0.base) (= 0 main_~p~0.offset) (= 0 main_~a~0.offset) (= 1 (select |#valid| main_~p~0.base)))} is VALID [2020-07-18 05:16:54,649 INFO L280 TraceCheckUtils]: 40: Hoare triple {26085#(and (= main_~a~0.base main_~p~0.base) (= 0 main_~p~0.offset) (= 0 main_~a~0.offset) (= 1 (select |#valid| main_~p~0.base)))} havoc #t~nondet30; {26085#(and (= main_~a~0.base main_~p~0.base) (= 0 main_~p~0.offset) (= 0 main_~a~0.offset) (= 1 (select |#valid| main_~p~0.base)))} is VALID [2020-07-18 05:16:54,651 INFO L280 TraceCheckUtils]: 41: Hoare triple {26085#(and (= main_~a~0.base main_~p~0.base) (= 0 main_~p~0.offset) (= 0 main_~a~0.offset) (= 1 (select |#valid| main_~p~0.base)))} SUMMARY for call write~int(1, ~p~0.base, ~p~0.offset, 4); srcloc: L589 {26085#(and (= main_~a~0.base main_~p~0.base) (= 0 main_~p~0.offset) (= 0 main_~a~0.offset) (= 1 (select |#valid| main_~p~0.base)))} is VALID [2020-07-18 05:16:54,653 INFO L280 TraceCheckUtils]: 42: Hoare triple {26085#(and (= main_~a~0.base main_~p~0.base) (= 0 main_~p~0.offset) (= 0 main_~a~0.offset) (= 1 (select |#valid| main_~p~0.base)))} SUMMARY for call #t~malloc31.base, #t~malloc31.offset := #Ultimate.allocOnHeap(8); srcloc: L589-1 {26086#(and (= main_~a~0.base main_~p~0.base) (not (= main_~p~0.base |main_#t~malloc31.base|)) (= 0 main_~p~0.offset) (= 0 main_~a~0.offset))} is VALID [2020-07-18 05:16:54,654 INFO L280 TraceCheckUtils]: 43: Hoare triple {26086#(and (= main_~a~0.base main_~p~0.base) (not (= main_~p~0.base |main_#t~malloc31.base|)) (= 0 main_~p~0.offset) (= 0 main_~a~0.offset))} ~t~0.base, ~t~0.offset := #t~malloc31.base, #t~malloc31.offset; {26087#(and (= main_~a~0.base main_~p~0.base) (= 0 main_~p~0.offset) (= 0 main_~a~0.offset) (not (= main_~t~0.base main_~p~0.base)))} is VALID [2020-07-18 05:16:54,655 INFO L280 TraceCheckUtils]: 44: Hoare triple {26087#(and (= main_~a~0.base main_~p~0.base) (= 0 main_~p~0.offset) (= 0 main_~a~0.offset) (not (= main_~t~0.base main_~p~0.base)))} assume !(~t~0.base == 0 && ~t~0.offset == 0); {26087#(and (= main_~a~0.base main_~p~0.base) (= 0 main_~p~0.offset) (= 0 main_~a~0.offset) (not (= main_~t~0.base main_~p~0.base)))} is VALID [2020-07-18 05:16:54,658 INFO L280 TraceCheckUtils]: 45: Hoare triple {26087#(and (= main_~a~0.base main_~p~0.base) (= 0 main_~p~0.offset) (= 0 main_~a~0.offset) (not (= main_~t~0.base main_~p~0.base)))} SUMMARY for call write~$Pointer$(~t~0.base, ~t~0.offset, ~p~0.base, 4 + ~p~0.offset, 4); srcloc: L591-3 {26088#(and (= main_~a~0.base main_~p~0.base) (not (= (select (select |#memory_$Pointer$.base| main_~p~0.base) (+ main_~p~0.offset 4)) main_~p~0.base)) (= 0 main_~p~0.offset) (= 0 main_~a~0.offset))} is VALID [2020-07-18 05:16:54,661 INFO L280 TraceCheckUtils]: 46: Hoare triple {26088#(and (= main_~a~0.base main_~p~0.base) (not (= (select (select |#memory_$Pointer$.base| main_~p~0.base) (+ main_~p~0.offset 4)) main_~p~0.base)) (= 0 main_~p~0.offset) (= 0 main_~a~0.offset))} SUMMARY for call #t~mem32.base, #t~mem32.offset := read~$Pointer$(~p~0.base, 4 + ~p~0.offset, 4); srcloc: L592 {26089#(and (not (= main_~a~0.base |main_#t~mem32.base|)) (= 0 main_~a~0.offset) (= |main_#t~mem32.offset| (select (select |#memory_$Pointer$.offset| main_~a~0.base) 4)) (= |main_#t~mem32.base| (select (select |#memory_$Pointer$.base| main_~a~0.base) 4)))} is VALID [2020-07-18 05:16:54,662 INFO L280 TraceCheckUtils]: 47: Hoare triple {26089#(and (not (= main_~a~0.base |main_#t~mem32.base|)) (= 0 main_~a~0.offset) (= |main_#t~mem32.offset| (select (select |#memory_$Pointer$.offset| main_~a~0.base) 4)) (= |main_#t~mem32.base| (select (select |#memory_$Pointer$.base| main_~a~0.base) 4)))} ~p~0.base, ~p~0.offset := #t~mem32.base, #t~mem32.offset; {26090#(and (not (= main_~a~0.base main_~p~0.base)) (= main_~p~0.base (select (select |#memory_$Pointer$.base| main_~a~0.base) 4)) (= 0 main_~a~0.offset) (= (select (select |#memory_$Pointer$.offset| main_~a~0.base) 4) main_~p~0.offset))} is VALID [2020-07-18 05:16:54,664 INFO L280 TraceCheckUtils]: 48: Hoare triple {26090#(and (not (= main_~a~0.base main_~p~0.base)) (= main_~p~0.base (select (select |#memory_$Pointer$.base| main_~a~0.base) 4)) (= 0 main_~a~0.offset) (= (select (select |#memory_$Pointer$.offset| main_~a~0.base) 4) main_~p~0.offset))} havoc #t~mem32.base, #t~mem32.offset; {26090#(and (not (= main_~a~0.base main_~p~0.base)) (= main_~p~0.base (select (select |#memory_$Pointer$.base| main_~a~0.base) 4)) (= 0 main_~a~0.offset) (= (select (select |#memory_$Pointer$.offset| main_~a~0.base) 4) main_~p~0.offset))} is VALID [2020-07-18 05:16:54,665 INFO L280 TraceCheckUtils]: 49: Hoare triple {26090#(and (not (= main_~a~0.base main_~p~0.base)) (= main_~p~0.base (select (select |#memory_$Pointer$.base| main_~a~0.base) 4)) (= 0 main_~a~0.offset) (= (select (select |#memory_$Pointer$.offset| main_~a~0.base) 4) main_~p~0.offset))} assume -2147483648 <= #t~nondet30 && #t~nondet30 <= 2147483647; {26090#(and (not (= main_~a~0.base main_~p~0.base)) (= main_~p~0.base (select (select |#memory_$Pointer$.base| main_~a~0.base) 4)) (= 0 main_~a~0.offset) (= (select (select |#memory_$Pointer$.offset| main_~a~0.base) 4) main_~p~0.offset))} is VALID [2020-07-18 05:16:54,666 INFO L280 TraceCheckUtils]: 50: Hoare triple {26090#(and (not (= main_~a~0.base main_~p~0.base)) (= main_~p~0.base (select (select |#memory_$Pointer$.base| main_~a~0.base) 4)) (= 0 main_~a~0.offset) (= (select (select |#memory_$Pointer$.offset| main_~a~0.base) 4) main_~p~0.offset))} assume !(0 != #t~nondet30); {26090#(and (not (= main_~a~0.base main_~p~0.base)) (= main_~p~0.base (select (select |#memory_$Pointer$.base| main_~a~0.base) 4)) (= 0 main_~a~0.offset) (= (select (select |#memory_$Pointer$.offset| main_~a~0.base) 4) main_~p~0.offset))} is VALID [2020-07-18 05:16:54,668 INFO L280 TraceCheckUtils]: 51: Hoare triple {26090#(and (not (= main_~a~0.base main_~p~0.base)) (= main_~p~0.base (select (select |#memory_$Pointer$.base| main_~a~0.base) 4)) (= 0 main_~a~0.offset) (= (select (select |#memory_$Pointer$.offset| main_~a~0.base) 4) main_~p~0.offset))} havoc #t~nondet30; {26090#(and (not (= main_~a~0.base main_~p~0.base)) (= main_~p~0.base (select (select |#memory_$Pointer$.base| main_~a~0.base) 4)) (= 0 main_~a~0.offset) (= (select (select |#memory_$Pointer$.offset| main_~a~0.base) 4) main_~p~0.offset))} is VALID [2020-07-18 05:16:54,669 INFO L280 TraceCheckUtils]: 52: Hoare triple {26090#(and (not (= main_~a~0.base main_~p~0.base)) (= main_~p~0.base (select (select |#memory_$Pointer$.base| main_~a~0.base) 4)) (= 0 main_~a~0.offset) (= (select (select |#memory_$Pointer$.offset| main_~a~0.base) 4) main_~p~0.offset))} assume -2147483648 <= #t~nondet33 && #t~nondet33 <= 2147483647; {26090#(and (not (= main_~a~0.base main_~p~0.base)) (= main_~p~0.base (select (select |#memory_$Pointer$.base| main_~a~0.base) 4)) (= 0 main_~a~0.offset) (= (select (select |#memory_$Pointer$.offset| main_~a~0.base) 4) main_~p~0.offset))} is VALID [2020-07-18 05:16:54,671 INFO L280 TraceCheckUtils]: 53: Hoare triple {26090#(and (not (= main_~a~0.base main_~p~0.base)) (= main_~p~0.base (select (select |#memory_$Pointer$.base| main_~a~0.base) 4)) (= 0 main_~a~0.offset) (= (select (select |#memory_$Pointer$.offset| main_~a~0.base) 4) main_~p~0.offset))} assume !(0 != #t~nondet33); {26090#(and (not (= main_~a~0.base main_~p~0.base)) (= main_~p~0.base (select (select |#memory_$Pointer$.base| main_~a~0.base) 4)) (= 0 main_~a~0.offset) (= (select (select |#memory_$Pointer$.offset| main_~a~0.base) 4) main_~p~0.offset))} is VALID [2020-07-18 05:16:54,672 INFO L280 TraceCheckUtils]: 54: Hoare triple {26090#(and (not (= main_~a~0.base main_~p~0.base)) (= main_~p~0.base (select (select |#memory_$Pointer$.base| main_~a~0.base) 4)) (= 0 main_~a~0.offset) (= (select (select |#memory_$Pointer$.offset| main_~a~0.base) 4) main_~p~0.offset))} havoc #t~nondet33; {26090#(and (not (= main_~a~0.base main_~p~0.base)) (= main_~p~0.base (select (select |#memory_$Pointer$.base| main_~a~0.base) 4)) (= 0 main_~a~0.offset) (= (select (select |#memory_$Pointer$.offset| main_~a~0.base) 4) main_~p~0.offset))} is VALID [2020-07-18 05:16:54,676 INFO L280 TraceCheckUtils]: 55: Hoare triple {26090#(and (not (= main_~a~0.base main_~p~0.base)) (= main_~p~0.base (select (select |#memory_$Pointer$.base| main_~a~0.base) 4)) (= 0 main_~a~0.offset) (= (select (select |#memory_$Pointer$.offset| main_~a~0.base) 4) main_~p~0.offset))} SUMMARY for call write~int(3, ~p~0.base, ~p~0.offset, 4); srcloc: L595-5 {26091#(and (= 0 main_~a~0.offset) (= 3 (select (select |#memory_int| (select (select |#memory_$Pointer$.base| main_~a~0.base) 4)) (select (select |#memory_$Pointer$.offset| main_~a~0.base) 4))))} is VALID [2020-07-18 05:16:54,677 INFO L280 TraceCheckUtils]: 56: Hoare triple {26091#(and (= 0 main_~a~0.offset) (= 3 (select (select |#memory_int| (select (select |#memory_$Pointer$.base| main_~a~0.base) 4)) (select (select |#memory_$Pointer$.offset| main_~a~0.base) 4))))} ~p~0.base, ~p~0.offset := ~a~0.base, ~a~0.offset; {26092#(and (= 0 main_~p~0.offset) (= 3 (select (select |#memory_int| (select (select |#memory_$Pointer$.base| main_~p~0.base) (+ main_~p~0.offset 4))) (select (select |#memory_$Pointer$.offset| main_~p~0.base) (+ main_~p~0.offset 4)))))} is VALID [2020-07-18 05:16:54,678 INFO L280 TraceCheckUtils]: 57: Hoare triple {26092#(and (= 0 main_~p~0.offset) (= 3 (select (select |#memory_int| (select (select |#memory_$Pointer$.base| main_~p~0.base) (+ main_~p~0.offset 4))) (select (select |#memory_$Pointer$.offset| main_~p~0.base) (+ main_~p~0.offset 4)))))} SUMMARY for call #t~mem36 := read~int(~p~0.base, ~p~0.offset, 4); srcloc: L604-5 {26092#(and (= 0 main_~p~0.offset) (= 3 (select (select |#memory_int| (select (select |#memory_$Pointer$.base| main_~p~0.base) (+ main_~p~0.offset 4))) (select (select |#memory_$Pointer$.offset| main_~p~0.base) (+ main_~p~0.offset 4)))))} is VALID [2020-07-18 05:16:54,680 INFO L280 TraceCheckUtils]: 58: Hoare triple {26092#(and (= 0 main_~p~0.offset) (= 3 (select (select |#memory_int| (select (select |#memory_$Pointer$.base| main_~p~0.base) (+ main_~p~0.offset 4))) (select (select |#memory_$Pointer$.offset| main_~p~0.base) (+ main_~p~0.offset 4)))))} assume !(2 == #t~mem36); {26092#(and (= 0 main_~p~0.offset) (= 3 (select (select |#memory_int| (select (select |#memory_$Pointer$.base| main_~p~0.base) (+ main_~p~0.offset 4))) (select (select |#memory_$Pointer$.offset| main_~p~0.base) (+ main_~p~0.offset 4)))))} is VALID [2020-07-18 05:16:54,681 INFO L280 TraceCheckUtils]: 59: Hoare triple {26092#(and (= 0 main_~p~0.offset) (= 3 (select (select |#memory_int| (select (select |#memory_$Pointer$.base| main_~p~0.base) (+ main_~p~0.offset 4))) (select (select |#memory_$Pointer$.offset| main_~p~0.base) (+ main_~p~0.offset 4)))))} havoc #t~mem36; {26092#(and (= 0 main_~p~0.offset) (= 3 (select (select |#memory_int| (select (select |#memory_$Pointer$.base| main_~p~0.base) (+ main_~p~0.offset 4))) (select (select |#memory_$Pointer$.offset| main_~p~0.base) (+ main_~p~0.offset 4)))))} is VALID [2020-07-18 05:16:54,682 INFO L280 TraceCheckUtils]: 60: Hoare triple {26092#(and (= 0 main_~p~0.offset) (= 3 (select (select |#memory_int| (select (select |#memory_$Pointer$.base| main_~p~0.base) (+ main_~p~0.offset 4))) (select (select |#memory_$Pointer$.offset| main_~p~0.base) (+ main_~p~0.offset 4)))))} SUMMARY for call #t~mem38 := read~int(~p~0.base, ~p~0.offset, 4); srcloc: L606-4 {26092#(and (= 0 main_~p~0.offset) (= 3 (select (select |#memory_int| (select (select |#memory_$Pointer$.base| main_~p~0.base) (+ main_~p~0.offset 4))) (select (select |#memory_$Pointer$.offset| main_~p~0.base) (+ main_~p~0.offset 4)))))} is VALID [2020-07-18 05:16:54,683 INFO L280 TraceCheckUtils]: 61: Hoare triple {26092#(and (= 0 main_~p~0.offset) (= 3 (select (select |#memory_int| (select (select |#memory_$Pointer$.base| main_~p~0.base) (+ main_~p~0.offset 4))) (select (select |#memory_$Pointer$.offset| main_~p~0.base) (+ main_~p~0.offset 4)))))} assume !!(1 == #t~mem38); {26092#(and (= 0 main_~p~0.offset) (= 3 (select (select |#memory_int| (select (select |#memory_$Pointer$.base| main_~p~0.base) (+ main_~p~0.offset 4))) (select (select |#memory_$Pointer$.offset| main_~p~0.base) (+ main_~p~0.offset 4)))))} is VALID [2020-07-18 05:16:54,685 INFO L280 TraceCheckUtils]: 62: Hoare triple {26092#(and (= 0 main_~p~0.offset) (= 3 (select (select |#memory_int| (select (select |#memory_$Pointer$.base| main_~p~0.base) (+ main_~p~0.offset 4))) (select (select |#memory_$Pointer$.offset| main_~p~0.base) (+ main_~p~0.offset 4)))))} havoc #t~mem38; {26092#(and (= 0 main_~p~0.offset) (= 3 (select (select |#memory_int| (select (select |#memory_$Pointer$.base| main_~p~0.base) (+ main_~p~0.offset 4))) (select (select |#memory_$Pointer$.offset| main_~p~0.base) (+ main_~p~0.offset 4)))))} is VALID [2020-07-18 05:16:54,686 INFO L280 TraceCheckUtils]: 63: Hoare triple {26092#(and (= 0 main_~p~0.offset) (= 3 (select (select |#memory_int| (select (select |#memory_$Pointer$.base| main_~p~0.base) (+ main_~p~0.offset 4))) (select (select |#memory_$Pointer$.offset| main_~p~0.base) (+ main_~p~0.offset 4)))))} SUMMARY for call #t~mem39.base, #t~mem39.offset := read~$Pointer$(~p~0.base, 4 + ~p~0.offset, 4); srcloc: L607 {26093#(= 3 (select (select |#memory_int| |main_#t~mem39.base|) |main_#t~mem39.offset|))} is VALID [2020-07-18 05:16:54,687 INFO L280 TraceCheckUtils]: 64: Hoare triple {26093#(= 3 (select (select |#memory_int| |main_#t~mem39.base|) |main_#t~mem39.offset|))} ~p~0.base, ~p~0.offset := #t~mem39.base, #t~mem39.offset; {26094#(= 3 (select (select |#memory_int| main_~p~0.base) main_~p~0.offset))} is VALID [2020-07-18 05:16:54,688 INFO L280 TraceCheckUtils]: 65: Hoare triple {26094#(= 3 (select (select |#memory_int| main_~p~0.base) main_~p~0.offset))} havoc #t~mem39.base, #t~mem39.offset; {26094#(= 3 (select (select |#memory_int| main_~p~0.base) main_~p~0.offset))} is VALID [2020-07-18 05:16:54,689 INFO L280 TraceCheckUtils]: 66: Hoare triple {26094#(= 3 (select (select |#memory_int| main_~p~0.base) main_~p~0.offset))} SUMMARY for call #t~mem38 := read~int(~p~0.base, ~p~0.offset, 4); srcloc: L606-4 {26095#(= |main_#t~mem38| 3)} is VALID [2020-07-18 05:16:54,690 INFO L280 TraceCheckUtils]: 67: Hoare triple {26095#(= |main_#t~mem38| 3)} assume !!(1 == #t~mem38); {26076#false} is VALID [2020-07-18 05:16:54,690 INFO L280 TraceCheckUtils]: 68: Hoare triple {26076#false} havoc #t~mem38; {26076#false} is VALID [2020-07-18 05:16:54,690 INFO L280 TraceCheckUtils]: 69: Hoare triple {26076#false} SUMMARY for call #t~mem39.base, #t~mem39.offset := read~$Pointer$(~p~0.base, 4 + ~p~0.offset, 4); srcloc: L607 {26076#false} is VALID [2020-07-18 05:16:54,691 INFO L280 TraceCheckUtils]: 70: Hoare triple {26076#false} ~p~0.base, ~p~0.offset := #t~mem39.base, #t~mem39.offset; {26076#false} is VALID [2020-07-18 05:16:54,691 INFO L280 TraceCheckUtils]: 71: Hoare triple {26076#false} havoc #t~mem39.base, #t~mem39.offset; {26076#false} is VALID [2020-07-18 05:16:54,691 INFO L280 TraceCheckUtils]: 72: Hoare triple {26076#false} SUMMARY for call #t~mem38 := read~int(~p~0.base, ~p~0.offset, 4); srcloc: L606-4 {26076#false} is VALID [2020-07-18 05:16:54,691 INFO L280 TraceCheckUtils]: 73: Hoare triple {26076#false} assume !(1 == #t~mem38); {26076#false} is VALID [2020-07-18 05:16:54,692 INFO L280 TraceCheckUtils]: 74: Hoare triple {26076#false} havoc #t~mem38; {26076#false} is VALID [2020-07-18 05:16:54,692 INFO L280 TraceCheckUtils]: 75: Hoare triple {26076#false} SUMMARY for call #t~mem40 := read~int(~p~0.base, ~p~0.offset, 4); srcloc: L606-5 {26076#false} is VALID [2020-07-18 05:16:54,692 INFO L280 TraceCheckUtils]: 76: Hoare triple {26076#false} assume 3 != #t~mem40; {26076#false} is VALID [2020-07-18 05:16:54,693 INFO L280 TraceCheckUtils]: 77: Hoare triple {26076#false} havoc #t~mem40; {26076#false} is VALID [2020-07-18 05:16:54,693 INFO L280 TraceCheckUtils]: 78: Hoare triple {26076#false} assume !false; {26076#false} is VALID [2020-07-18 05:16:54,722 INFO L134 CoverageAnalysis]: Checked inductivity of 13 backedges. 8 proven. 4 refuted. 0 times theorem prover too weak. 1 trivial. 0 not checked. [2020-07-18 05:16:54,723 INFO L354 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModulePreferences [310731993] [2020-07-18 05:16:54,726 INFO L220 FreeRefinementEngine]: Constructing automaton from 0 perfect and 1 imperfect interpolant sequences. [2020-07-18 05:16:54,726 INFO L233 FreeRefinementEngine]: Number of different interpolants: perfect sequences [] imperfect sequences [17] total 17 [2020-07-18 05:16:54,727 INFO L156 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [645506161] [2020-07-18 05:16:54,727 INFO L78 Accepts]: Start accepts. Automaton has 17 states. Word has length 79 [2020-07-18 05:16:54,728 INFO L84 Accepts]: Finished accepts. word is accepted. [2020-07-18 05:16:54,728 INFO L86 InductivityCheck]: Starting indutivity check of a Floyd-Hoare automaton with 17 states. [2020-07-18 05:16:54,867 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-18 05:16:54,867 INFO L459 AbstractCegarLoop]: Interpolant automaton has 17 states [2020-07-18 05:16:54,868 INFO L143 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy FIXED_PREFERENCES [2020-07-18 05:16:54,868 INFO L142 InterpolantAutomaton]: Constructing interpolant automaton starting with 17 interpolants. [2020-07-18 05:16:54,868 INFO L144 InterpolantAutomaton]: CoverageRelationStatistics Valid=32, Invalid=240, Unknown=0, NotChecked=0, Total=272 [2020-07-18 05:16:54,869 INFO L87 Difference]: Start difference. First operand 286 states and 315 transitions. Second operand 17 states. [2020-07-18 05:17:00,780 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2020-07-18 05:17:00,780 INFO L93 Difference]: Finished difference Result 325 states and 355 transitions. [2020-07-18 05:17:00,780 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 20 states. [2020-07-18 05:17:00,781 INFO L78 Accepts]: Start accepts. Automaton has 17 states. Word has length 79 [2020-07-18 05:17:00,781 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2020-07-18 05:17:00,781 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 17 states. [2020-07-18 05:17:00,783 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 20 states to 20 states and 273 transitions. [2020-07-18 05:17:00,783 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 17 states. [2020-07-18 05:17:00,785 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 20 states to 20 states and 273 transitions. [2020-07-18 05:17:00,785 INFO L86 InductivityCheck]: Starting indutivity check of a Floyd-Hoare automaton with 20 states and 273 transitions. [2020-07-18 05:17:01,171 INFO L119 InductivityCheck]: Floyd-Hoare automaton has 273 edges. 273 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2020-07-18 05:17:01,177 INFO L225 Difference]: With dead ends: 325 [2020-07-18 05:17:01,177 INFO L226 Difference]: Without dead ends: 299 [2020-07-18 05:17:01,178 INFO L675 BasicCegarLoop]: 0 DeclaredPredicates, 35 GetRequests, 4 SyntacticMatches, 0 SemanticMatches, 31 ConstructedPredicates, 0 IntricatePredicates, 0 DeprecatedPredicates, 88 ImplicationChecksByTransitivity, 1.2s TimeCoverageRelationStatistics Valid=201, Invalid=855, Unknown=0, NotChecked=0, Total=1056 [2020-07-18 05:17:01,179 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 299 states. [2020-07-18 05:17:02,124 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 299 to 274. [2020-07-18 05:17:02,124 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2020-07-18 05:17:02,124 INFO L82 GeneralOperation]: Start isEquivalent. First operand 299 states. Second operand 274 states. [2020-07-18 05:17:02,124 INFO L74 IsIncluded]: Start isIncluded. First operand 299 states. Second operand 274 states. [2020-07-18 05:17:02,124 INFO L87 Difference]: Start difference. First operand 299 states. Second operand 274 states. [2020-07-18 05:17:02,130 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2020-07-18 05:17:02,130 INFO L93 Difference]: Finished difference Result 299 states and 328 transitions. [2020-07-18 05:17:02,130 INFO L276 IsEmpty]: Start isEmpty. Operand 299 states and 328 transitions. [2020-07-18 05:17:02,131 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2020-07-18 05:17:02,131 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2020-07-18 05:17:02,131 INFO L74 IsIncluded]: Start isIncluded. First operand 274 states. Second operand 299 states. [2020-07-18 05:17:02,131 INFO L87 Difference]: Start difference. First operand 274 states. Second operand 299 states. [2020-07-18 05:17:02,136 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2020-07-18 05:17:02,136 INFO L93 Difference]: Finished difference Result 299 states and 328 transitions. [2020-07-18 05:17:02,136 INFO L276 IsEmpty]: Start isEmpty. Operand 299 states and 328 transitions. [2020-07-18 05:17:02,137 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2020-07-18 05:17:02,137 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2020-07-18 05:17:02,137 INFO L88 GeneralOperation]: Finished isEquivalent. [2020-07-18 05:17:02,137 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2020-07-18 05:17:02,137 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 274 states. [2020-07-18 05:17:02,141 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 274 states to 274 states and 302 transitions. [2020-07-18 05:17:02,141 INFO L78 Accepts]: Start accepts. Automaton has 274 states and 302 transitions. Word has length 79 [2020-07-18 05:17:02,142 INFO L84 Accepts]: Finished accepts. word is rejected. [2020-07-18 05:17:02,142 INFO L479 AbstractCegarLoop]: Abstraction has 274 states and 302 transitions. [2020-07-18 05:17:02,142 INFO L480 AbstractCegarLoop]: Interpolant automaton has 17 states. [2020-07-18 05:17:02,142 INFO L86 InductivityCheck]: Starting indutivity check of a Floyd-Hoare automaton with 274 states and 302 transitions. [2020-07-18 05:17:02,802 INFO L119 InductivityCheck]: Floyd-Hoare automaton has 302 edges. 302 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2020-07-18 05:17:02,803 INFO L276 IsEmpty]: Start isEmpty. Operand 274 states and 302 transitions. [2020-07-18 05:17:02,804 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 85 [2020-07-18 05:17:02,804 INFO L414 BasicCegarLoop]: Found error trace [2020-07-18 05:17:02,804 INFO L422 BasicCegarLoop]: trace histogram [3, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1] [2020-07-18 05:17:02,804 WARN L516 AbstractCegarLoop]: Destroyed unattended storables created during the last iteration: SelfDestructingSolverStorable15 [2020-07-18 05:17:02,805 INFO L427 AbstractCegarLoop]: === Iteration 17 === [mainErr0ASSERT_VIOLATIONERROR_FUNCTION]=== [2020-07-18 05:17:02,805 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2020-07-18 05:17:02,805 INFO L82 PathProgramCache]: Analyzing trace with hash 1435872375, now seen corresponding path program 1 times [2020-07-18 05:17:02,805 INFO L163 FreeRefinementEngine]: Executing refinement strategy FIXED_PREFERENCES [2020-07-18 05:17:02,806 INFO L354 FreeRefinementEngine]: Using trace check IpTcStrategyModulePreferences [1618697166] [2020-07-18 05:17:02,806 INFO L94 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2020-07-18 05:17:02,820 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2020-07-18 05:17:03,494 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2020-07-18 05:17:03,496 INFO L280 TraceCheckUtils]: 0: Hoare triple {27953#(and (= |#valid| |old(#valid)|) (= |#NULL.base| |old(#NULL.base)|) (= |#NULL.offset| |old(#NULL.offset)|))} #NULL.base, #NULL.offset := 0, 0; {27927#true} is VALID [2020-07-18 05:17:03,497 INFO L280 TraceCheckUtils]: 1: Hoare triple {27927#true} #valid := #valid[0 := 0]; {27927#true} is VALID [2020-07-18 05:17:03,497 INFO L280 TraceCheckUtils]: 2: Hoare triple {27927#true} assume 0 < #StackHeapBarrier; {27927#true} is VALID [2020-07-18 05:17:03,497 INFO L280 TraceCheckUtils]: 3: Hoare triple {27927#true} assume true; {27927#true} is VALID [2020-07-18 05:17:03,497 INFO L275 TraceCheckUtils]: 4: Hoare quadruple {27927#true} {27927#true} #349#return; {27927#true} is VALID [2020-07-18 05:17:03,499 INFO L263 TraceCheckUtils]: 0: Hoare triple {27927#true} call ULTIMATE.init(); {27953#(and (= |#valid| |old(#valid)|) (= |#NULL.base| |old(#NULL.base)|) (= |#NULL.offset| |old(#NULL.offset)|))} is VALID [2020-07-18 05:17:03,499 INFO L280 TraceCheckUtils]: 1: Hoare triple {27953#(and (= |#valid| |old(#valid)|) (= |#NULL.base| |old(#NULL.base)|) (= |#NULL.offset| |old(#NULL.offset)|))} #NULL.base, #NULL.offset := 0, 0; {27927#true} is VALID [2020-07-18 05:17:03,499 INFO L280 TraceCheckUtils]: 2: Hoare triple {27927#true} #valid := #valid[0 := 0]; {27927#true} is VALID [2020-07-18 05:17:03,499 INFO L280 TraceCheckUtils]: 3: Hoare triple {27927#true} assume 0 < #StackHeapBarrier; {27927#true} is VALID [2020-07-18 05:17:03,499 INFO L280 TraceCheckUtils]: 4: Hoare triple {27927#true} assume true; {27927#true} is VALID [2020-07-18 05:17:03,500 INFO L275 TraceCheckUtils]: 5: Hoare quadruple {27927#true} {27927#true} #349#return; {27927#true} is VALID [2020-07-18 05:17:03,500 INFO L263 TraceCheckUtils]: 6: Hoare triple {27927#true} call #t~ret41 := main(); {27927#true} is VALID [2020-07-18 05:17:03,500 INFO L280 TraceCheckUtils]: 7: Hoare triple {27927#true} SUMMARY for call #t~malloc2.base, #t~malloc2.offset := #Ultimate.allocOnHeap(8); srcloc: mainENTRY {27927#true} is VALID [2020-07-18 05:17:03,500 INFO L280 TraceCheckUtils]: 8: Hoare triple {27927#true} ~root~0.base, ~root~0.offset := #t~malloc2.base, #t~malloc2.offset; {27927#true} is VALID [2020-07-18 05:17:03,500 INFO L280 TraceCheckUtils]: 9: Hoare triple {27927#true} havoc ~n~0.base, ~n~0.offset; {27927#true} is VALID [2020-07-18 05:17:03,501 INFO L280 TraceCheckUtils]: 10: Hoare triple {27927#true} SUMMARY for call write~$Pointer$(0, 0, ~root~0.base, ~root~0.offset, 4); srcloc: L542 {27927#true} is VALID [2020-07-18 05:17:03,501 INFO L280 TraceCheckUtils]: 11: Hoare triple {27927#true} SUMMARY for call write~$Pointer$(0, 0, ~root~0.base, 4 + ~root~0.offset, 4); srcloc: L542-1 {27927#true} is VALID [2020-07-18 05:17:03,501 INFO L280 TraceCheckUtils]: 12: Hoare triple {27927#true} assume -2147483648 <= #t~nondet3 && #t~nondet3 <= 2147483647; {27927#true} is VALID [2020-07-18 05:17:03,501 INFO L280 TraceCheckUtils]: 13: Hoare triple {27927#true} assume !(0 != #t~nondet3); {27927#true} is VALID [2020-07-18 05:17:03,501 INFO L280 TraceCheckUtils]: 14: Hoare triple {27927#true} havoc #t~nondet3; {27927#true} is VALID [2020-07-18 05:17:03,502 INFO L280 TraceCheckUtils]: 15: Hoare triple {27927#true} ~n~0.base, ~n~0.offset := 0, 0; {27927#true} is VALID [2020-07-18 05:17:03,502 INFO L280 TraceCheckUtils]: 16: Hoare triple {27927#true} havoc ~pred~0.base, ~pred~0.offset; {27927#true} is VALID [2020-07-18 05:17:03,502 INFO L280 TraceCheckUtils]: 17: Hoare triple {27927#true} assume !!(~root~0.base != 0 || ~root~0.offset != 0); {27927#true} is VALID [2020-07-18 05:17:03,502 INFO L280 TraceCheckUtils]: 18: Hoare triple {27927#true} ~pred~0.base, ~pred~0.offset := 0, 0; {27927#true} is VALID [2020-07-18 05:17:03,502 INFO L280 TraceCheckUtils]: 19: Hoare triple {27927#true} ~n~0.base, ~n~0.offset := ~root~0.base, ~root~0.offset; {27927#true} is VALID [2020-07-18 05:17:03,502 INFO L280 TraceCheckUtils]: 20: Hoare triple {27927#true} SUMMARY for call #t~mem22.base, #t~mem22.offset := read~$Pointer$(~n~0.base, ~n~0.offset, 4); srcloc: L570-5 {27927#true} is VALID [2020-07-18 05:17:03,503 INFO L280 TraceCheckUtils]: 21: Hoare triple {27927#true} #t~short24 := #t~mem22.base != 0 || #t~mem22.offset != 0; {27927#true} is VALID [2020-07-18 05:17:03,503 INFO L280 TraceCheckUtils]: 22: Hoare triple {27927#true} assume !#t~short24; {27927#true} is VALID [2020-07-18 05:17:03,503 INFO L280 TraceCheckUtils]: 23: Hoare triple {27927#true} SUMMARY for call #t~mem23.base, #t~mem23.offset := read~$Pointer$(~n~0.base, 4 + ~n~0.offset, 4); srcloc: L568-4 {27927#true} is VALID [2020-07-18 05:17:03,503 INFO L280 TraceCheckUtils]: 24: Hoare triple {27927#true} #t~short24 := #t~mem23.base != 0 || #t~mem23.offset != 0; {27927#true} is VALID [2020-07-18 05:17:03,503 INFO L280 TraceCheckUtils]: 25: Hoare triple {27927#true} assume !#t~short24; {27927#true} is VALID [2020-07-18 05:17:03,504 INFO L280 TraceCheckUtils]: 26: Hoare triple {27927#true} havoc #t~mem22.base, #t~mem22.offset; {27927#true} is VALID [2020-07-18 05:17:03,504 INFO L280 TraceCheckUtils]: 27: Hoare triple {27927#true} havoc #t~mem23.base, #t~mem23.offset; {27927#true} is VALID [2020-07-18 05:17:03,504 INFO L280 TraceCheckUtils]: 28: Hoare triple {27927#true} havoc #t~short24; {27927#true} is VALID [2020-07-18 05:17:03,504 INFO L280 TraceCheckUtils]: 29: Hoare triple {27927#true} assume !(~pred~0.base != 0 || ~pred~0.offset != 0); {27927#true} is VALID [2020-07-18 05:17:03,504 INFO L280 TraceCheckUtils]: 30: Hoare triple {27927#true} ~root~0.base, ~root~0.offset := 0, 0; {27927#true} is VALID [2020-07-18 05:17:03,505 INFO L280 TraceCheckUtils]: 31: Hoare triple {27927#true} SUMMARY for call ULTIMATE.dealloc(~n~0.base, ~n~0.offset); srcloc: L575 {27927#true} is VALID [2020-07-18 05:17:03,505 INFO L280 TraceCheckUtils]: 32: Hoare triple {27927#true} assume !(~root~0.base != 0 || ~root~0.offset != 0); {27927#true} is VALID [2020-07-18 05:17:03,506 INFO L280 TraceCheckUtils]: 33: Hoare triple {27927#true} SUMMARY for call #t~malloc29.base, #t~malloc29.offset := #Ultimate.allocOnHeap(8); srcloc: L565-2 {27934#(and (= 1 (select |#valid| |main_#t~malloc29.base|)) (= 0 |main_#t~malloc29.offset|))} is VALID [2020-07-18 05:17:03,507 INFO L280 TraceCheckUtils]: 34: Hoare triple {27934#(and (= 1 (select |#valid| |main_#t~malloc29.base|)) (= 0 |main_#t~malloc29.offset|))} ~a~0.base, ~a~0.offset := #t~malloc29.base, #t~malloc29.offset; {27935#(and (= 1 (select |#valid| main_~a~0.base)) (= 0 main_~a~0.offset))} is VALID [2020-07-18 05:17:03,508 INFO L280 TraceCheckUtils]: 35: Hoare triple {27935#(and (= 1 (select |#valid| main_~a~0.base)) (= 0 main_~a~0.offset))} assume !(~a~0.base == 0 && ~a~0.offset == 0); {27935#(and (= 1 (select |#valid| main_~a~0.base)) (= 0 main_~a~0.offset))} is VALID [2020-07-18 05:17:03,509 INFO L280 TraceCheckUtils]: 36: Hoare triple {27935#(and (= 1 (select |#valid| main_~a~0.base)) (= 0 main_~a~0.offset))} havoc ~t~0.base, ~t~0.offset; {27935#(and (= 1 (select |#valid| main_~a~0.base)) (= 0 main_~a~0.offset))} is VALID [2020-07-18 05:17:03,510 INFO L280 TraceCheckUtils]: 37: Hoare triple {27935#(and (= 1 (select |#valid| main_~a~0.base)) (= 0 main_~a~0.offset))} ~p~0.base, ~p~0.offset := ~a~0.base, ~a~0.offset; {27936#(and (= main_~a~0.base main_~p~0.base) (= 0 main_~a~0.offset) (= 1 (select |#valid| main_~p~0.base)) (= main_~a~0.offset main_~p~0.offset))} is VALID [2020-07-18 05:17:03,511 INFO L280 TraceCheckUtils]: 38: Hoare triple {27936#(and (= main_~a~0.base main_~p~0.base) (= 0 main_~a~0.offset) (= 1 (select |#valid| main_~p~0.base)) (= main_~a~0.offset main_~p~0.offset))} assume -2147483648 <= #t~nondet30 && #t~nondet30 <= 2147483647; {27936#(and (= main_~a~0.base main_~p~0.base) (= 0 main_~a~0.offset) (= 1 (select |#valid| main_~p~0.base)) (= main_~a~0.offset main_~p~0.offset))} is VALID [2020-07-18 05:17:03,512 INFO L280 TraceCheckUtils]: 39: Hoare triple {27936#(and (= main_~a~0.base main_~p~0.base) (= 0 main_~a~0.offset) (= 1 (select |#valid| main_~p~0.base)) (= main_~a~0.offset main_~p~0.offset))} assume !(0 != #t~nondet30); {27936#(and (= main_~a~0.base main_~p~0.base) (= 0 main_~a~0.offset) (= 1 (select |#valid| main_~p~0.base)) (= main_~a~0.offset main_~p~0.offset))} is VALID [2020-07-18 05:17:03,513 INFO L280 TraceCheckUtils]: 40: Hoare triple {27936#(and (= main_~a~0.base main_~p~0.base) (= 0 main_~a~0.offset) (= 1 (select |#valid| main_~p~0.base)) (= main_~a~0.offset main_~p~0.offset))} havoc #t~nondet30; {27936#(and (= main_~a~0.base main_~p~0.base) (= 0 main_~a~0.offset) (= 1 (select |#valid| main_~p~0.base)) (= main_~a~0.offset main_~p~0.offset))} is VALID [2020-07-18 05:17:03,514 INFO L280 TraceCheckUtils]: 41: Hoare triple {27936#(and (= main_~a~0.base main_~p~0.base) (= 0 main_~a~0.offset) (= 1 (select |#valid| main_~p~0.base)) (= main_~a~0.offset main_~p~0.offset))} assume -2147483648 <= #t~nondet33 && #t~nondet33 <= 2147483647; {27936#(and (= main_~a~0.base main_~p~0.base) (= 0 main_~a~0.offset) (= 1 (select |#valid| main_~p~0.base)) (= main_~a~0.offset main_~p~0.offset))} is VALID [2020-07-18 05:17:03,515 INFO L280 TraceCheckUtils]: 42: Hoare triple {27936#(and (= main_~a~0.base main_~p~0.base) (= 0 main_~a~0.offset) (= 1 (select |#valid| main_~p~0.base)) (= main_~a~0.offset main_~p~0.offset))} assume !!(0 != #t~nondet33); {27936#(and (= main_~a~0.base main_~p~0.base) (= 0 main_~a~0.offset) (= 1 (select |#valid| main_~p~0.base)) (= main_~a~0.offset main_~p~0.offset))} is VALID [2020-07-18 05:17:03,516 INFO L280 TraceCheckUtils]: 43: Hoare triple {27936#(and (= main_~a~0.base main_~p~0.base) (= 0 main_~a~0.offset) (= 1 (select |#valid| main_~p~0.base)) (= main_~a~0.offset main_~p~0.offset))} havoc #t~nondet33; {27936#(and (= main_~a~0.base main_~p~0.base) (= 0 main_~a~0.offset) (= 1 (select |#valid| main_~p~0.base)) (= main_~a~0.offset main_~p~0.offset))} is VALID [2020-07-18 05:17:03,518 INFO L280 TraceCheckUtils]: 44: Hoare triple {27936#(and (= main_~a~0.base main_~p~0.base) (= 0 main_~a~0.offset) (= 1 (select |#valid| main_~p~0.base)) (= main_~a~0.offset main_~p~0.offset))} SUMMARY for call write~int(2, ~p~0.base, ~p~0.offset, 4); srcloc: L596 {27937#(and (= main_~a~0.base main_~p~0.base) (= 2 (select (select |#memory_int| main_~p~0.base) main_~p~0.offset)) (= 0 main_~a~0.offset) (= 1 (select |#valid| main_~p~0.base)) (= main_~a~0.offset main_~p~0.offset))} is VALID [2020-07-18 05:17:03,519 INFO L280 TraceCheckUtils]: 45: Hoare triple {27937#(and (= main_~a~0.base main_~p~0.base) (= 2 (select (select |#memory_int| main_~p~0.base) main_~p~0.offset)) (= 0 main_~a~0.offset) (= 1 (select |#valid| main_~p~0.base)) (= main_~a~0.offset main_~p~0.offset))} SUMMARY for call #t~malloc34.base, #t~malloc34.offset := #Ultimate.allocOnHeap(8); srcloc: L596-1 {27938#(and (= main_~a~0.base main_~p~0.base) (= 2 (select (select |#memory_int| main_~p~0.base) main_~p~0.offset)) (= 0 main_~a~0.offset) (= main_~a~0.offset main_~p~0.offset) (not (= main_~p~0.base |main_#t~malloc34.base|)))} is VALID [2020-07-18 05:17:03,520 INFO L280 TraceCheckUtils]: 46: Hoare triple {27938#(and (= main_~a~0.base main_~p~0.base) (= 2 (select (select |#memory_int| main_~p~0.base) main_~p~0.offset)) (= 0 main_~a~0.offset) (= main_~a~0.offset main_~p~0.offset) (not (= main_~p~0.base |main_#t~malloc34.base|)))} ~t~0.base, ~t~0.offset := #t~malloc34.base, #t~malloc34.offset; {27939#(and (= main_~a~0.base main_~p~0.base) (= 2 (select (select |#memory_int| main_~p~0.base) main_~p~0.offset)) (= 0 main_~a~0.offset) (not (= main_~t~0.base main_~p~0.base)) (= main_~a~0.offset main_~p~0.offset))} is VALID [2020-07-18 05:17:03,522 INFO L280 TraceCheckUtils]: 47: Hoare triple {27939#(and (= main_~a~0.base main_~p~0.base) (= 2 (select (select |#memory_int| main_~p~0.base) main_~p~0.offset)) (= 0 main_~a~0.offset) (not (= main_~t~0.base main_~p~0.base)) (= main_~a~0.offset main_~p~0.offset))} assume !(~t~0.base == 0 && ~t~0.offset == 0); {27939#(and (= main_~a~0.base main_~p~0.base) (= 2 (select (select |#memory_int| main_~p~0.base) main_~p~0.offset)) (= 0 main_~a~0.offset) (not (= main_~t~0.base main_~p~0.base)) (= main_~a~0.offset main_~p~0.offset))} is VALID [2020-07-18 05:17:03,523 INFO L280 TraceCheckUtils]: 48: Hoare triple {27939#(and (= main_~a~0.base main_~p~0.base) (= 2 (select (select |#memory_int| main_~p~0.base) main_~p~0.offset)) (= 0 main_~a~0.offset) (not (= main_~t~0.base main_~p~0.base)) (= main_~a~0.offset main_~p~0.offset))} SUMMARY for call write~$Pointer$(~t~0.base, ~t~0.offset, ~p~0.base, 4 + ~p~0.offset, 4); srcloc: L598-3 {27940#(and (= main_~a~0.base main_~p~0.base) (not (= (select (select |#memory_$Pointer$.base| main_~p~0.base) (+ main_~p~0.offset 4)) main_~p~0.base)) (= 2 (select (select |#memory_int| main_~p~0.base) main_~p~0.offset)) (= 0 main_~a~0.offset) (= main_~a~0.offset main_~p~0.offset))} is VALID [2020-07-18 05:17:03,525 INFO L280 TraceCheckUtils]: 49: Hoare triple {27940#(and (= main_~a~0.base main_~p~0.base) (not (= (select (select |#memory_$Pointer$.base| main_~p~0.base) (+ main_~p~0.offset 4)) main_~p~0.base)) (= 2 (select (select |#memory_int| main_~p~0.base) main_~p~0.offset)) (= 0 main_~a~0.offset) (= main_~a~0.offset main_~p~0.offset))} SUMMARY for call #t~mem35.base, #t~mem35.offset := read~$Pointer$(~p~0.base, 4 + ~p~0.offset, 4); srcloc: L599 {27941#(and (not (= main_~a~0.base |main_#t~mem35.base|)) (= 2 (select (select |#memory_int| main_~a~0.base) main_~a~0.offset)) (= 0 main_~a~0.offset))} is VALID [2020-07-18 05:17:03,526 INFO L280 TraceCheckUtils]: 50: Hoare triple {27941#(and (not (= main_~a~0.base |main_#t~mem35.base|)) (= 2 (select (select |#memory_int| main_~a~0.base) main_~a~0.offset)) (= 0 main_~a~0.offset))} ~p~0.base, ~p~0.offset := #t~mem35.base, #t~mem35.offset; {27942#(and (not (= main_~a~0.base main_~p~0.base)) (= 2 (select (select |#memory_int| main_~a~0.base) main_~a~0.offset)) (= 0 main_~a~0.offset))} is VALID [2020-07-18 05:17:03,526 INFO L280 TraceCheckUtils]: 51: Hoare triple {27942#(and (not (= main_~a~0.base main_~p~0.base)) (= 2 (select (select |#memory_int| main_~a~0.base) main_~a~0.offset)) (= 0 main_~a~0.offset))} havoc #t~mem35.base, #t~mem35.offset; {27942#(and (not (= main_~a~0.base main_~p~0.base)) (= 2 (select (select |#memory_int| main_~a~0.base) main_~a~0.offset)) (= 0 main_~a~0.offset))} is VALID [2020-07-18 05:17:03,527 INFO L280 TraceCheckUtils]: 52: Hoare triple {27942#(and (not (= main_~a~0.base main_~p~0.base)) (= 2 (select (select |#memory_int| main_~a~0.base) main_~a~0.offset)) (= 0 main_~a~0.offset))} assume -2147483648 <= #t~nondet33 && #t~nondet33 <= 2147483647; {27942#(and (not (= main_~a~0.base main_~p~0.base)) (= 2 (select (select |#memory_int| main_~a~0.base) main_~a~0.offset)) (= 0 main_~a~0.offset))} is VALID [2020-07-18 05:17:03,528 INFO L280 TraceCheckUtils]: 53: Hoare triple {27942#(and (not (= main_~a~0.base main_~p~0.base)) (= 2 (select (select |#memory_int| main_~a~0.base) main_~a~0.offset)) (= 0 main_~a~0.offset))} assume !!(0 != #t~nondet33); {27942#(and (not (= main_~a~0.base main_~p~0.base)) (= 2 (select (select |#memory_int| main_~a~0.base) main_~a~0.offset)) (= 0 main_~a~0.offset))} is VALID [2020-07-18 05:17:03,529 INFO L280 TraceCheckUtils]: 54: Hoare triple {27942#(and (not (= main_~a~0.base main_~p~0.base)) (= 2 (select (select |#memory_int| main_~a~0.base) main_~a~0.offset)) (= 0 main_~a~0.offset))} havoc #t~nondet33; {27942#(and (not (= main_~a~0.base main_~p~0.base)) (= 2 (select (select |#memory_int| main_~a~0.base) main_~a~0.offset)) (= 0 main_~a~0.offset))} is VALID [2020-07-18 05:17:03,530 INFO L280 TraceCheckUtils]: 55: Hoare triple {27942#(and (not (= main_~a~0.base main_~p~0.base)) (= 2 (select (select |#memory_int| main_~a~0.base) main_~a~0.offset)) (= 0 main_~a~0.offset))} SUMMARY for call write~int(2, ~p~0.base, ~p~0.offset, 4); srcloc: L596 {27942#(and (not (= main_~a~0.base main_~p~0.base)) (= 2 (select (select |#memory_int| main_~a~0.base) main_~a~0.offset)) (= 0 main_~a~0.offset))} is VALID [2020-07-18 05:17:03,531 INFO L280 TraceCheckUtils]: 56: Hoare triple {27942#(and (not (= main_~a~0.base main_~p~0.base)) (= 2 (select (select |#memory_int| main_~a~0.base) main_~a~0.offset)) (= 0 main_~a~0.offset))} SUMMARY for call #t~malloc34.base, #t~malloc34.offset := #Ultimate.allocOnHeap(8); srcloc: L596-1 {27943#(and (not (= main_~a~0.base main_~p~0.base)) (= main_~a~0.offset |main_#t~malloc34.offset|) (= 2 (select (select |#memory_int| main_~a~0.base) main_~a~0.offset)))} is VALID [2020-07-18 05:17:03,532 INFO L280 TraceCheckUtils]: 57: Hoare triple {27943#(and (not (= main_~a~0.base main_~p~0.base)) (= main_~a~0.offset |main_#t~malloc34.offset|) (= 2 (select (select |#memory_int| main_~a~0.base) main_~a~0.offset)))} ~t~0.base, ~t~0.offset := #t~malloc34.base, #t~malloc34.offset; {27944#(and (not (= main_~a~0.base main_~p~0.base)) (= main_~a~0.offset main_~t~0.offset) (= 2 (select (select |#memory_int| main_~a~0.base) main_~a~0.offset)))} is VALID [2020-07-18 05:17:03,533 INFO L280 TraceCheckUtils]: 58: Hoare triple {27944#(and (not (= main_~a~0.base main_~p~0.base)) (= main_~a~0.offset main_~t~0.offset) (= 2 (select (select |#memory_int| main_~a~0.base) main_~a~0.offset)))} assume !(~t~0.base == 0 && ~t~0.offset == 0); {27944#(and (not (= main_~a~0.base main_~p~0.base)) (= main_~a~0.offset main_~t~0.offset) (= 2 (select (select |#memory_int| main_~a~0.base) main_~a~0.offset)))} is VALID [2020-07-18 05:17:03,534 INFO L280 TraceCheckUtils]: 59: Hoare triple {27944#(and (not (= main_~a~0.base main_~p~0.base)) (= main_~a~0.offset main_~t~0.offset) (= 2 (select (select |#memory_int| main_~a~0.base) main_~a~0.offset)))} SUMMARY for call write~$Pointer$(~t~0.base, ~t~0.offset, ~p~0.base, 4 + ~p~0.offset, 4); srcloc: L598-3 {27945#(and (= 2 (select (select |#memory_int| main_~a~0.base) main_~a~0.offset)) (= (select (select |#memory_$Pointer$.offset| main_~p~0.base) (+ main_~p~0.offset 4)) main_~a~0.offset))} is VALID [2020-07-18 05:17:03,535 INFO L280 TraceCheckUtils]: 60: Hoare triple {27945#(and (= 2 (select (select |#memory_int| main_~a~0.base) main_~a~0.offset)) (= (select (select |#memory_$Pointer$.offset| main_~p~0.base) (+ main_~p~0.offset 4)) main_~a~0.offset))} SUMMARY for call #t~mem35.base, #t~mem35.offset := read~$Pointer$(~p~0.base, 4 + ~p~0.offset, 4); srcloc: L599 {27946#(and (= 2 (select (select |#memory_int| main_~a~0.base) main_~a~0.offset)) (= main_~a~0.offset |main_#t~mem35.offset|))} is VALID [2020-07-18 05:17:03,536 INFO L280 TraceCheckUtils]: 61: Hoare triple {27946#(and (= 2 (select (select |#memory_int| main_~a~0.base) main_~a~0.offset)) (= main_~a~0.offset |main_#t~mem35.offset|))} ~p~0.base, ~p~0.offset := #t~mem35.base, #t~mem35.offset; {27947#(and (= 2 (select (select |#memory_int| main_~a~0.base) main_~a~0.offset)) (= main_~a~0.offset main_~p~0.offset))} is VALID [2020-07-18 05:17:03,537 INFO L280 TraceCheckUtils]: 62: Hoare triple {27947#(and (= 2 (select (select |#memory_int| main_~a~0.base) main_~a~0.offset)) (= main_~a~0.offset main_~p~0.offset))} havoc #t~mem35.base, #t~mem35.offset; {27947#(and (= 2 (select (select |#memory_int| main_~a~0.base) main_~a~0.offset)) (= main_~a~0.offset main_~p~0.offset))} is VALID [2020-07-18 05:17:03,537 INFO L280 TraceCheckUtils]: 63: Hoare triple {27947#(and (= 2 (select (select |#memory_int| main_~a~0.base) main_~a~0.offset)) (= main_~a~0.offset main_~p~0.offset))} assume -2147483648 <= #t~nondet33 && #t~nondet33 <= 2147483647; {27947#(and (= 2 (select (select |#memory_int| main_~a~0.base) main_~a~0.offset)) (= main_~a~0.offset main_~p~0.offset))} is VALID [2020-07-18 05:17:03,538 INFO L280 TraceCheckUtils]: 64: Hoare triple {27947#(and (= 2 (select (select |#memory_int| main_~a~0.base) main_~a~0.offset)) (= main_~a~0.offset main_~p~0.offset))} assume !(0 != #t~nondet33); {27947#(and (= 2 (select (select |#memory_int| main_~a~0.base) main_~a~0.offset)) (= main_~a~0.offset main_~p~0.offset))} is VALID [2020-07-18 05:17:03,539 INFO L280 TraceCheckUtils]: 65: Hoare triple {27947#(and (= 2 (select (select |#memory_int| main_~a~0.base) main_~a~0.offset)) (= main_~a~0.offset main_~p~0.offset))} havoc #t~nondet33; {27947#(and (= 2 (select (select |#memory_int| main_~a~0.base) main_~a~0.offset)) (= main_~a~0.offset main_~p~0.offset))} is VALID [2020-07-18 05:17:03,540 INFO L280 TraceCheckUtils]: 66: Hoare triple {27947#(and (= 2 (select (select |#memory_int| main_~a~0.base) main_~a~0.offset)) (= main_~a~0.offset main_~p~0.offset))} SUMMARY for call write~int(3, ~p~0.base, ~p~0.offset, 4); srcloc: L595-5 {27948#(or (= 3 (select (select |#memory_int| main_~a~0.base) main_~a~0.offset)) (= 2 (select (select |#memory_int| main_~a~0.base) main_~a~0.offset)))} is VALID [2020-07-18 05:17:03,541 INFO L280 TraceCheckUtils]: 67: Hoare triple {27948#(or (= 3 (select (select |#memory_int| main_~a~0.base) main_~a~0.offset)) (= 2 (select (select |#memory_int| main_~a~0.base) main_~a~0.offset)))} ~p~0.base, ~p~0.offset := ~a~0.base, ~a~0.offset; {27949#(or (= 2 (select (select |#memory_int| main_~p~0.base) main_~p~0.offset)) (= 3 (select (select |#memory_int| main_~p~0.base) main_~p~0.offset)))} is VALID [2020-07-18 05:17:03,542 INFO L280 TraceCheckUtils]: 68: Hoare triple {27949#(or (= 2 (select (select |#memory_int| main_~p~0.base) main_~p~0.offset)) (= 3 (select (select |#memory_int| main_~p~0.base) main_~p~0.offset)))} SUMMARY for call #t~mem36 := read~int(~p~0.base, ~p~0.offset, 4); srcloc: L604-5 {27950#(or (= 3 (select (select |#memory_int| main_~p~0.base) main_~p~0.offset)) (= |main_#t~mem36| 2))} is VALID [2020-07-18 05:17:03,543 INFO L280 TraceCheckUtils]: 69: Hoare triple {27950#(or (= 3 (select (select |#memory_int| main_~p~0.base) main_~p~0.offset)) (= |main_#t~mem36| 2))} assume !(2 == #t~mem36); {27951#(= 3 (select (select |#memory_int| main_~p~0.base) main_~p~0.offset))} is VALID [2020-07-18 05:17:03,544 INFO L280 TraceCheckUtils]: 70: Hoare triple {27951#(= 3 (select (select |#memory_int| main_~p~0.base) main_~p~0.offset))} havoc #t~mem36; {27951#(= 3 (select (select |#memory_int| main_~p~0.base) main_~p~0.offset))} is VALID [2020-07-18 05:17:03,544 INFO L280 TraceCheckUtils]: 71: Hoare triple {27951#(= 3 (select (select |#memory_int| main_~p~0.base) main_~p~0.offset))} SUMMARY for call #t~mem38 := read~int(~p~0.base, ~p~0.offset, 4); srcloc: L606-4 {27952#(= |main_#t~mem38| 3)} is VALID [2020-07-18 05:17:03,545 INFO L280 TraceCheckUtils]: 72: Hoare triple {27952#(= |main_#t~mem38| 3)} assume !!(1 == #t~mem38); {27928#false} is VALID [2020-07-18 05:17:03,545 INFO L280 TraceCheckUtils]: 73: Hoare triple {27928#false} havoc #t~mem38; {27928#false} is VALID [2020-07-18 05:17:03,545 INFO L280 TraceCheckUtils]: 74: Hoare triple {27928#false} SUMMARY for call #t~mem39.base, #t~mem39.offset := read~$Pointer$(~p~0.base, 4 + ~p~0.offset, 4); srcloc: L607 {27928#false} is VALID [2020-07-18 05:17:03,545 INFO L280 TraceCheckUtils]: 75: Hoare triple {27928#false} ~p~0.base, ~p~0.offset := #t~mem39.base, #t~mem39.offset; {27928#false} is VALID [2020-07-18 05:17:03,546 INFO L280 TraceCheckUtils]: 76: Hoare triple {27928#false} havoc #t~mem39.base, #t~mem39.offset; {27928#false} is VALID [2020-07-18 05:17:03,546 INFO L280 TraceCheckUtils]: 77: Hoare triple {27928#false} SUMMARY for call #t~mem38 := read~int(~p~0.base, ~p~0.offset, 4); srcloc: L606-4 {27928#false} is VALID [2020-07-18 05:17:03,546 INFO L280 TraceCheckUtils]: 78: Hoare triple {27928#false} assume !(1 == #t~mem38); {27928#false} is VALID [2020-07-18 05:17:03,546 INFO L280 TraceCheckUtils]: 79: Hoare triple {27928#false} havoc #t~mem38; {27928#false} is VALID [2020-07-18 05:17:03,546 INFO L280 TraceCheckUtils]: 80: Hoare triple {27928#false} SUMMARY for call #t~mem40 := read~int(~p~0.base, ~p~0.offset, 4); srcloc: L606-5 {27928#false} is VALID [2020-07-18 05:17:03,546 INFO L280 TraceCheckUtils]: 81: Hoare triple {27928#false} assume 3 != #t~mem40; {27928#false} is VALID [2020-07-18 05:17:03,547 INFO L280 TraceCheckUtils]: 82: Hoare triple {27928#false} havoc #t~mem40; {27928#false} is VALID [2020-07-18 05:17:03,547 INFO L280 TraceCheckUtils]: 83: Hoare triple {27928#false} assume !false; {27928#false} is VALID [2020-07-18 05:17:03,564 INFO L134 CoverageAnalysis]: Checked inductivity of 18 backedges. 2 proven. 15 refuted. 0 times theorem prover too weak. 1 trivial. 0 not checked. [2020-07-18 05:17:03,565 INFO L354 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModulePreferences [1618697166] [2020-07-18 05:17:03,565 INFO L220 FreeRefinementEngine]: Constructing automaton from 0 perfect and 1 imperfect interpolant sequences. [2020-07-18 05:17:03,565 INFO L233 FreeRefinementEngine]: Number of different interpolants: perfect sequences [] imperfect sequences [22] total 22 [2020-07-18 05:17:03,565 INFO L156 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [1951689218] [2020-07-18 05:17:03,566 INFO L78 Accepts]: Start accepts. Automaton has 22 states. Word has length 84 [2020-07-18 05:17:03,566 INFO L84 Accepts]: Finished accepts. word is accepted. [2020-07-18 05:17:03,566 INFO L86 InductivityCheck]: Starting indutivity check of a Floyd-Hoare automaton with 22 states. [2020-07-18 05:17:03,669 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-18 05:17:03,670 INFO L459 AbstractCegarLoop]: Interpolant automaton has 22 states [2020-07-18 05:17:03,670 INFO L143 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy FIXED_PREFERENCES [2020-07-18 05:17:03,670 INFO L142 InterpolantAutomaton]: Constructing interpolant automaton starting with 22 interpolants. [2020-07-18 05:17:03,671 INFO L144 InterpolantAutomaton]: CoverageRelationStatistics Valid=65, Invalid=397, Unknown=0, NotChecked=0, Total=462 [2020-07-18 05:17:03,671 INFO L87 Difference]: Start difference. First operand 274 states and 302 transitions. Second operand 22 states. [2020-07-18 05:17:11,025 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2020-07-18 05:17:11,025 INFO L93 Difference]: Finished difference Result 352 states and 384 transitions. [2020-07-18 05:17:11,025 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 33 states. [2020-07-18 05:17:11,025 INFO L78 Accepts]: Start accepts. Automaton has 22 states. Word has length 84 [2020-07-18 05:17:11,025 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2020-07-18 05:17:11,026 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 22 states. [2020-07-18 05:17:11,027 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 33 states to 33 states and 302 transitions. [2020-07-18 05:17:11,027 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 22 states. [2020-07-18 05:17:11,029 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 33 states to 33 states and 302 transitions. [2020-07-18 05:17:11,030 INFO L86 InductivityCheck]: Starting indutivity check of a Floyd-Hoare automaton with 33 states and 302 transitions. [2020-07-18 05:17:11,453 INFO L119 InductivityCheck]: Floyd-Hoare automaton has 302 edges. 302 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2020-07-18 05:17:11,459 INFO L225 Difference]: With dead ends: 352 [2020-07-18 05:17:11,459 INFO L226 Difference]: Without dead ends: 337 [2020-07-18 05:17:11,460 INFO L675 BasicCegarLoop]: 0 DeclaredPredicates, 53 GetRequests, 4 SyntacticMatches, 0 SemanticMatches, 49 ConstructedPredicates, 0 IntricatePredicates, 0 DeprecatedPredicates, 458 ImplicationChecksByTransitivity, 1.9s TimeCoverageRelationStatistics Valid=451, Invalid=2099, Unknown=0, NotChecked=0, Total=2550 [2020-07-18 05:17:11,461 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 337 states. [2020-07-18 05:17:12,464 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 337 to 290. [2020-07-18 05:17:12,465 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2020-07-18 05:17:12,465 INFO L82 GeneralOperation]: Start isEquivalent. First operand 337 states. Second operand 290 states. [2020-07-18 05:17:12,465 INFO L74 IsIncluded]: Start isIncluded. First operand 337 states. Second operand 290 states. [2020-07-18 05:17:12,465 INFO L87 Difference]: Start difference. First operand 337 states. Second operand 290 states. [2020-07-18 05:17:12,472 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2020-07-18 05:17:12,472 INFO L93 Difference]: Finished difference Result 337 states and 368 transitions. [2020-07-18 05:17:12,472 INFO L276 IsEmpty]: Start isEmpty. Operand 337 states and 368 transitions. [2020-07-18 05:17:12,472 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2020-07-18 05:17:12,472 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2020-07-18 05:17:12,472 INFO L74 IsIncluded]: Start isIncluded. First operand 290 states. Second operand 337 states. [2020-07-18 05:17:12,473 INFO L87 Difference]: Start difference. First operand 290 states. Second operand 337 states. [2020-07-18 05:17:12,480 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2020-07-18 05:17:12,481 INFO L93 Difference]: Finished difference Result 337 states and 368 transitions. [2020-07-18 05:17:12,481 INFO L276 IsEmpty]: Start isEmpty. Operand 337 states and 368 transitions. [2020-07-18 05:17:12,481 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2020-07-18 05:17:12,481 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2020-07-18 05:17:12,482 INFO L88 GeneralOperation]: Finished isEquivalent. [2020-07-18 05:17:12,482 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2020-07-18 05:17:12,482 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 290 states. [2020-07-18 05:17:12,488 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 290 states to 290 states and 319 transitions. [2020-07-18 05:17:12,488 INFO L78 Accepts]: Start accepts. Automaton has 290 states and 319 transitions. Word has length 84 [2020-07-18 05:17:12,488 INFO L84 Accepts]: Finished accepts. word is rejected. [2020-07-18 05:17:12,489 INFO L479 AbstractCegarLoop]: Abstraction has 290 states and 319 transitions. [2020-07-18 05:17:12,489 INFO L480 AbstractCegarLoop]: Interpolant automaton has 22 states. [2020-07-18 05:17:12,489 INFO L86 InductivityCheck]: Starting indutivity check of a Floyd-Hoare automaton with 290 states and 319 transitions. [2020-07-18 05:17:13,232 INFO L119 InductivityCheck]: Floyd-Hoare automaton has 319 edges. 319 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2020-07-18 05:17:13,232 INFO L276 IsEmpty]: Start isEmpty. Operand 290 states and 319 transitions. [2020-07-18 05:17:13,233 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 85 [2020-07-18 05:17:13,233 INFO L414 BasicCegarLoop]: Found error trace [2020-07-18 05:17:13,233 INFO L422 BasicCegarLoop]: trace histogram [3, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1] [2020-07-18 05:17:13,234 WARN L516 AbstractCegarLoop]: Destroyed unattended storables created during the last iteration: SelfDestructingSolverStorable16 [2020-07-18 05:17:13,234 INFO L427 AbstractCegarLoop]: === Iteration 18 === [mainErr0ASSERT_VIOLATIONERROR_FUNCTION]=== [2020-07-18 05:17:13,234 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2020-07-18 05:17:13,234 INFO L82 PathProgramCache]: Analyzing trace with hash -1822413145, now seen corresponding path program 3 times [2020-07-18 05:17:13,235 INFO L163 FreeRefinementEngine]: Executing refinement strategy FIXED_PREFERENCES [2020-07-18 05:17:13,235 INFO L354 FreeRefinementEngine]: Using trace check IpTcStrategyModulePreferences [600226568] [2020-07-18 05:17:13,235 INFO L94 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2020-07-18 05:17:13,254 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2020-07-18 05:17:14,331 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2020-07-18 05:17:14,341 INFO L280 TraceCheckUtils]: 0: Hoare triple {30001#(and (= |#valid| |old(#valid)|) (= |#NULL.base| |old(#NULL.base)|) (= |#NULL.offset| |old(#NULL.offset)|))} #NULL.base, #NULL.offset := 0, 0; {29972#true} is VALID [2020-07-18 05:17:14,341 INFO L280 TraceCheckUtils]: 1: Hoare triple {29972#true} #valid := #valid[0 := 0]; {29972#true} is VALID [2020-07-18 05:17:14,342 INFO L280 TraceCheckUtils]: 2: Hoare triple {29972#true} assume 0 < #StackHeapBarrier; {29972#true} is VALID [2020-07-18 05:17:14,342 INFO L280 TraceCheckUtils]: 3: Hoare triple {29972#true} assume true; {29972#true} is VALID [2020-07-18 05:17:14,342 INFO L275 TraceCheckUtils]: 4: Hoare quadruple {29972#true} {29972#true} #349#return; {29972#true} is VALID [2020-07-18 05:17:14,343 INFO L263 TraceCheckUtils]: 0: Hoare triple {29972#true} call ULTIMATE.init(); {30001#(and (= |#valid| |old(#valid)|) (= |#NULL.base| |old(#NULL.base)|) (= |#NULL.offset| |old(#NULL.offset)|))} is VALID [2020-07-18 05:17:14,343 INFO L280 TraceCheckUtils]: 1: Hoare triple {30001#(and (= |#valid| |old(#valid)|) (= |#NULL.base| |old(#NULL.base)|) (= |#NULL.offset| |old(#NULL.offset)|))} #NULL.base, #NULL.offset := 0, 0; {29972#true} is VALID [2020-07-18 05:17:14,343 INFO L280 TraceCheckUtils]: 2: Hoare triple {29972#true} #valid := #valid[0 := 0]; {29972#true} is VALID [2020-07-18 05:17:14,343 INFO L280 TraceCheckUtils]: 3: Hoare triple {29972#true} assume 0 < #StackHeapBarrier; {29972#true} is VALID [2020-07-18 05:17:14,344 INFO L280 TraceCheckUtils]: 4: Hoare triple {29972#true} assume true; {29972#true} is VALID [2020-07-18 05:17:14,344 INFO L275 TraceCheckUtils]: 5: Hoare quadruple {29972#true} {29972#true} #349#return; {29972#true} is VALID [2020-07-18 05:17:14,344 INFO L263 TraceCheckUtils]: 6: Hoare triple {29972#true} call #t~ret41 := main(); {29972#true} is VALID [2020-07-18 05:17:14,345 INFO L280 TraceCheckUtils]: 7: Hoare triple {29972#true} SUMMARY for call #t~malloc2.base, #t~malloc2.offset := #Ultimate.allocOnHeap(8); srcloc: mainENTRY {29979#(= 0 |main_#t~malloc2.offset|)} is VALID [2020-07-18 05:17:14,345 INFO L280 TraceCheckUtils]: 8: Hoare triple {29979#(= 0 |main_#t~malloc2.offset|)} ~root~0.base, ~root~0.offset := #t~malloc2.base, #t~malloc2.offset; {29972#true} is VALID [2020-07-18 05:17:14,345 INFO L280 TraceCheckUtils]: 9: Hoare triple {29972#true} havoc ~n~0.base, ~n~0.offset; {29972#true} is VALID [2020-07-18 05:17:14,345 INFO L280 TraceCheckUtils]: 10: Hoare triple {29972#true} SUMMARY for call write~$Pointer$(0, 0, ~root~0.base, ~root~0.offset, 4); srcloc: L542 {29972#true} is VALID [2020-07-18 05:17:14,345 INFO L280 TraceCheckUtils]: 11: Hoare triple {29972#true} SUMMARY for call write~$Pointer$(0, 0, ~root~0.base, 4 + ~root~0.offset, 4); srcloc: L542-1 {29972#true} is VALID [2020-07-18 05:17:14,345 INFO L280 TraceCheckUtils]: 12: Hoare triple {29972#true} assume -2147483648 <= #t~nondet3 && #t~nondet3 <= 2147483647; {29972#true} is VALID [2020-07-18 05:17:14,346 INFO L280 TraceCheckUtils]: 13: Hoare triple {29972#true} assume !(0 != #t~nondet3); {29972#true} is VALID [2020-07-18 05:17:14,346 INFO L280 TraceCheckUtils]: 14: Hoare triple {29972#true} havoc #t~nondet3; {29972#true} is VALID [2020-07-18 05:17:14,346 INFO L280 TraceCheckUtils]: 15: Hoare triple {29972#true} ~n~0.base, ~n~0.offset := 0, 0; {29972#true} is VALID [2020-07-18 05:17:14,346 INFO L280 TraceCheckUtils]: 16: Hoare triple {29972#true} havoc ~pred~0.base, ~pred~0.offset; {29972#true} is VALID [2020-07-18 05:17:14,346 INFO L280 TraceCheckUtils]: 17: Hoare triple {29972#true} assume !!(~root~0.base != 0 || ~root~0.offset != 0); {29972#true} is VALID [2020-07-18 05:17:14,346 INFO L280 TraceCheckUtils]: 18: Hoare triple {29972#true} ~pred~0.base, ~pred~0.offset := 0, 0; {29972#true} is VALID [2020-07-18 05:17:14,347 INFO L280 TraceCheckUtils]: 19: Hoare triple {29972#true} ~n~0.base, ~n~0.offset := ~root~0.base, ~root~0.offset; {29972#true} is VALID [2020-07-18 05:17:14,347 INFO L280 TraceCheckUtils]: 20: Hoare triple {29972#true} SUMMARY for call #t~mem22.base, #t~mem22.offset := read~$Pointer$(~n~0.base, ~n~0.offset, 4); srcloc: L570-5 {29972#true} is VALID [2020-07-18 05:17:14,347 INFO L280 TraceCheckUtils]: 21: Hoare triple {29972#true} #t~short24 := #t~mem22.base != 0 || #t~mem22.offset != 0; {29972#true} is VALID [2020-07-18 05:17:14,347 INFO L280 TraceCheckUtils]: 22: Hoare triple {29972#true} assume !#t~short24; {29972#true} is VALID [2020-07-18 05:17:14,347 INFO L280 TraceCheckUtils]: 23: Hoare triple {29972#true} SUMMARY for call #t~mem23.base, #t~mem23.offset := read~$Pointer$(~n~0.base, 4 + ~n~0.offset, 4); srcloc: L568-4 {29972#true} is VALID [2020-07-18 05:17:14,347 INFO L280 TraceCheckUtils]: 24: Hoare triple {29972#true} #t~short24 := #t~mem23.base != 0 || #t~mem23.offset != 0; {29972#true} is VALID [2020-07-18 05:17:14,348 INFO L280 TraceCheckUtils]: 25: Hoare triple {29972#true} assume !#t~short24; {29972#true} is VALID [2020-07-18 05:17:14,348 INFO L280 TraceCheckUtils]: 26: Hoare triple {29972#true} havoc #t~mem22.base, #t~mem22.offset; {29972#true} is VALID [2020-07-18 05:17:14,348 INFO L280 TraceCheckUtils]: 27: Hoare triple {29972#true} havoc #t~mem23.base, #t~mem23.offset; {29972#true} is VALID [2020-07-18 05:17:14,348 INFO L280 TraceCheckUtils]: 28: Hoare triple {29972#true} havoc #t~short24; {29972#true} is VALID [2020-07-18 05:17:14,348 INFO L280 TraceCheckUtils]: 29: Hoare triple {29972#true} assume !(~pred~0.base != 0 || ~pred~0.offset != 0); {29972#true} is VALID [2020-07-18 05:17:14,348 INFO L280 TraceCheckUtils]: 30: Hoare triple {29972#true} ~root~0.base, ~root~0.offset := 0, 0; {29972#true} is VALID [2020-07-18 05:17:14,349 INFO L280 TraceCheckUtils]: 31: Hoare triple {29972#true} SUMMARY for call ULTIMATE.dealloc(~n~0.base, ~n~0.offset); srcloc: L575 {29972#true} is VALID [2020-07-18 05:17:14,349 INFO L280 TraceCheckUtils]: 32: Hoare triple {29972#true} assume !(~root~0.base != 0 || ~root~0.offset != 0); {29972#true} is VALID [2020-07-18 05:17:14,350 INFO L280 TraceCheckUtils]: 33: Hoare triple {29972#true} SUMMARY for call #t~malloc29.base, #t~malloc29.offset := #Ultimate.allocOnHeap(8); srcloc: L565-2 {29980#(and (= 1 (select |#valid| |main_#t~malloc29.base|)) (= 0 |main_#t~malloc29.offset|))} is VALID [2020-07-18 05:17:14,351 INFO L280 TraceCheckUtils]: 34: Hoare triple {29980#(and (= 1 (select |#valid| |main_#t~malloc29.base|)) (= 0 |main_#t~malloc29.offset|))} ~a~0.base, ~a~0.offset := #t~malloc29.base, #t~malloc29.offset; {29981#(and (= 1 (select |#valid| main_~a~0.base)) (= 0 main_~a~0.offset))} is VALID [2020-07-18 05:17:14,352 INFO L280 TraceCheckUtils]: 35: Hoare triple {29981#(and (= 1 (select |#valid| main_~a~0.base)) (= 0 main_~a~0.offset))} assume !(~a~0.base == 0 && ~a~0.offset == 0); {29981#(and (= 1 (select |#valid| main_~a~0.base)) (= 0 main_~a~0.offset))} is VALID [2020-07-18 05:17:14,353 INFO L280 TraceCheckUtils]: 36: Hoare triple {29981#(and (= 1 (select |#valid| main_~a~0.base)) (= 0 main_~a~0.offset))} havoc ~t~0.base, ~t~0.offset; {29981#(and (= 1 (select |#valid| main_~a~0.base)) (= 0 main_~a~0.offset))} is VALID [2020-07-18 05:17:14,354 INFO L280 TraceCheckUtils]: 37: Hoare triple {29981#(and (= 1 (select |#valid| main_~a~0.base)) (= 0 main_~a~0.offset))} ~p~0.base, ~p~0.offset := ~a~0.base, ~a~0.offset; {29982#(and (= main_~a~0.base main_~p~0.base) (= 0 main_~p~0.offset) (= 0 main_~a~0.offset) (= 1 (select |#valid| main_~p~0.base)))} is VALID [2020-07-18 05:17:14,355 INFO L280 TraceCheckUtils]: 38: Hoare triple {29982#(and (= main_~a~0.base main_~p~0.base) (= 0 main_~p~0.offset) (= 0 main_~a~0.offset) (= 1 (select |#valid| main_~p~0.base)))} assume -2147483648 <= #t~nondet30 && #t~nondet30 <= 2147483647; {29982#(and (= main_~a~0.base main_~p~0.base) (= 0 main_~p~0.offset) (= 0 main_~a~0.offset) (= 1 (select |#valid| main_~p~0.base)))} is VALID [2020-07-18 05:17:14,356 INFO L280 TraceCheckUtils]: 39: Hoare triple {29982#(and (= main_~a~0.base main_~p~0.base) (= 0 main_~p~0.offset) (= 0 main_~a~0.offset) (= 1 (select |#valid| main_~p~0.base)))} assume !(0 != #t~nondet30); {29982#(and (= main_~a~0.base main_~p~0.base) (= 0 main_~p~0.offset) (= 0 main_~a~0.offset) (= 1 (select |#valid| main_~p~0.base)))} is VALID [2020-07-18 05:17:14,356 INFO L280 TraceCheckUtils]: 40: Hoare triple {29982#(and (= main_~a~0.base main_~p~0.base) (= 0 main_~p~0.offset) (= 0 main_~a~0.offset) (= 1 (select |#valid| main_~p~0.base)))} havoc #t~nondet30; {29982#(and (= main_~a~0.base main_~p~0.base) (= 0 main_~p~0.offset) (= 0 main_~a~0.offset) (= 1 (select |#valid| main_~p~0.base)))} is VALID [2020-07-18 05:17:14,357 INFO L280 TraceCheckUtils]: 41: Hoare triple {29982#(and (= main_~a~0.base main_~p~0.base) (= 0 main_~p~0.offset) (= 0 main_~a~0.offset) (= 1 (select |#valid| main_~p~0.base)))} assume -2147483648 <= #t~nondet33 && #t~nondet33 <= 2147483647; {29982#(and (= main_~a~0.base main_~p~0.base) (= 0 main_~p~0.offset) (= 0 main_~a~0.offset) (= 1 (select |#valid| main_~p~0.base)))} is VALID [2020-07-18 05:17:14,358 INFO L280 TraceCheckUtils]: 42: Hoare triple {29982#(and (= main_~a~0.base main_~p~0.base) (= 0 main_~p~0.offset) (= 0 main_~a~0.offset) (= 1 (select |#valid| main_~p~0.base)))} assume !!(0 != #t~nondet33); {29982#(and (= main_~a~0.base main_~p~0.base) (= 0 main_~p~0.offset) (= 0 main_~a~0.offset) (= 1 (select |#valid| main_~p~0.base)))} is VALID [2020-07-18 05:17:14,359 INFO L280 TraceCheckUtils]: 43: Hoare triple {29982#(and (= main_~a~0.base main_~p~0.base) (= 0 main_~p~0.offset) (= 0 main_~a~0.offset) (= 1 (select |#valid| main_~p~0.base)))} havoc #t~nondet33; {29982#(and (= main_~a~0.base main_~p~0.base) (= 0 main_~p~0.offset) (= 0 main_~a~0.offset) (= 1 (select |#valid| main_~p~0.base)))} is VALID [2020-07-18 05:17:14,360 INFO L280 TraceCheckUtils]: 44: Hoare triple {29982#(and (= main_~a~0.base main_~p~0.base) (= 0 main_~p~0.offset) (= 0 main_~a~0.offset) (= 1 (select |#valid| main_~p~0.base)))} SUMMARY for call write~int(2, ~p~0.base, ~p~0.offset, 4); srcloc: L596 {29982#(and (= main_~a~0.base main_~p~0.base) (= 0 main_~p~0.offset) (= 0 main_~a~0.offset) (= 1 (select |#valid| main_~p~0.base)))} is VALID [2020-07-18 05:17:14,361 INFO L280 TraceCheckUtils]: 45: Hoare triple {29982#(and (= main_~a~0.base main_~p~0.base) (= 0 main_~p~0.offset) (= 0 main_~a~0.offset) (= 1 (select |#valid| main_~p~0.base)))} SUMMARY for call #t~malloc34.base, #t~malloc34.offset := #Ultimate.allocOnHeap(8); srcloc: L596-1 {29983#(and (= main_~a~0.base main_~p~0.base) (= 0 main_~p~0.offset) (= 1 (select |#valid| |main_#t~malloc34.base|)) (= 0 main_~a~0.offset) (not (= main_~p~0.base |main_#t~malloc34.base|)))} is VALID [2020-07-18 05:17:14,361 INFO L280 TraceCheckUtils]: 46: Hoare triple {29983#(and (= main_~a~0.base main_~p~0.base) (= 0 main_~p~0.offset) (= 1 (select |#valid| |main_#t~malloc34.base|)) (= 0 main_~a~0.offset) (not (= main_~p~0.base |main_#t~malloc34.base|)))} ~t~0.base, ~t~0.offset := #t~malloc34.base, #t~malloc34.offset; {29984#(and (= 1 (select |#valid| main_~t~0.base)) (= main_~a~0.base main_~p~0.base) (= 0 main_~p~0.offset) (= 0 main_~a~0.offset) (not (= main_~t~0.base main_~p~0.base)))} is VALID [2020-07-18 05:17:14,362 INFO L280 TraceCheckUtils]: 47: Hoare triple {29984#(and (= 1 (select |#valid| main_~t~0.base)) (= main_~a~0.base main_~p~0.base) (= 0 main_~p~0.offset) (= 0 main_~a~0.offset) (not (= main_~t~0.base main_~p~0.base)))} assume !(~t~0.base == 0 && ~t~0.offset == 0); {29984#(and (= 1 (select |#valid| main_~t~0.base)) (= main_~a~0.base main_~p~0.base) (= 0 main_~p~0.offset) (= 0 main_~a~0.offset) (not (= main_~t~0.base main_~p~0.base)))} is VALID [2020-07-18 05:17:14,364 INFO L280 TraceCheckUtils]: 48: Hoare triple {29984#(and (= 1 (select |#valid| main_~t~0.base)) (= main_~a~0.base main_~p~0.base) (= 0 main_~p~0.offset) (= 0 main_~a~0.offset) (not (= main_~t~0.base main_~p~0.base)))} SUMMARY for call write~$Pointer$(~t~0.base, ~t~0.offset, ~p~0.base, 4 + ~p~0.offset, 4); srcloc: L598-3 {29985#(and (= 1 (select |#valid| (select (select |#memory_$Pointer$.base| main_~p~0.base) (+ main_~p~0.offset 4)))) (= main_~a~0.base main_~p~0.base) (not (= (select (select |#memory_$Pointer$.base| main_~p~0.base) (+ main_~p~0.offset 4)) main_~p~0.base)) (= 0 main_~p~0.offset) (= 0 main_~a~0.offset))} is VALID [2020-07-18 05:17:14,364 INFO L280 TraceCheckUtils]: 49: Hoare triple {29985#(and (= 1 (select |#valid| (select (select |#memory_$Pointer$.base| main_~p~0.base) (+ main_~p~0.offset 4)))) (= main_~a~0.base main_~p~0.base) (not (= (select (select |#memory_$Pointer$.base| main_~p~0.base) (+ main_~p~0.offset 4)) main_~p~0.base)) (= 0 main_~p~0.offset) (= 0 main_~a~0.offset))} SUMMARY for call #t~mem35.base, #t~mem35.offset := read~$Pointer$(~p~0.base, 4 + ~p~0.offset, 4); srcloc: L599 {29986#(and (= |main_#t~mem35.base| (select (select |#memory_$Pointer$.base| main_~a~0.base) 4)) (not (= main_~a~0.base |main_#t~mem35.base|)) (= |main_#t~mem35.offset| (select (select |#memory_$Pointer$.offset| main_~a~0.base) 4)) (= 1 (select |#valid| |main_#t~mem35.base|)) (= 0 main_~a~0.offset))} is VALID [2020-07-18 05:17:14,365 INFO L280 TraceCheckUtils]: 50: Hoare triple {29986#(and (= |main_#t~mem35.base| (select (select |#memory_$Pointer$.base| main_~a~0.base) 4)) (not (= main_~a~0.base |main_#t~mem35.base|)) (= |main_#t~mem35.offset| (select (select |#memory_$Pointer$.offset| main_~a~0.base) 4)) (= 1 (select |#valid| |main_#t~mem35.base|)) (= 0 main_~a~0.offset))} ~p~0.base, ~p~0.offset := #t~mem35.base, #t~mem35.offset; {29987#(and (not (= main_~a~0.base main_~p~0.base)) (= main_~p~0.base (select (select |#memory_$Pointer$.base| main_~a~0.base) 4)) (= 0 main_~a~0.offset) (= 1 (select |#valid| main_~p~0.base)) (= (select (select |#memory_$Pointer$.offset| main_~a~0.base) 4) main_~p~0.offset))} is VALID [2020-07-18 05:17:14,366 INFO L280 TraceCheckUtils]: 51: Hoare triple {29987#(and (not (= main_~a~0.base main_~p~0.base)) (= main_~p~0.base (select (select |#memory_$Pointer$.base| main_~a~0.base) 4)) (= 0 main_~a~0.offset) (= 1 (select |#valid| main_~p~0.base)) (= (select (select |#memory_$Pointer$.offset| main_~a~0.base) 4) main_~p~0.offset))} havoc #t~mem35.base, #t~mem35.offset; {29987#(and (not (= main_~a~0.base main_~p~0.base)) (= main_~p~0.base (select (select |#memory_$Pointer$.base| main_~a~0.base) 4)) (= 0 main_~a~0.offset) (= 1 (select |#valid| main_~p~0.base)) (= (select (select |#memory_$Pointer$.offset| main_~a~0.base) 4) main_~p~0.offset))} is VALID [2020-07-18 05:17:14,366 INFO L280 TraceCheckUtils]: 52: Hoare triple {29987#(and (not (= main_~a~0.base main_~p~0.base)) (= main_~p~0.base (select (select |#memory_$Pointer$.base| main_~a~0.base) 4)) (= 0 main_~a~0.offset) (= 1 (select |#valid| main_~p~0.base)) (= (select (select |#memory_$Pointer$.offset| main_~a~0.base) 4) main_~p~0.offset))} assume -2147483648 <= #t~nondet33 && #t~nondet33 <= 2147483647; {29987#(and (not (= main_~a~0.base main_~p~0.base)) (= main_~p~0.base (select (select |#memory_$Pointer$.base| main_~a~0.base) 4)) (= 0 main_~a~0.offset) (= 1 (select |#valid| main_~p~0.base)) (= (select (select |#memory_$Pointer$.offset| main_~a~0.base) 4) main_~p~0.offset))} is VALID [2020-07-18 05:17:14,367 INFO L280 TraceCheckUtils]: 53: Hoare triple {29987#(and (not (= main_~a~0.base main_~p~0.base)) (= main_~p~0.base (select (select |#memory_$Pointer$.base| main_~a~0.base) 4)) (= 0 main_~a~0.offset) (= 1 (select |#valid| main_~p~0.base)) (= (select (select |#memory_$Pointer$.offset| main_~a~0.base) 4) main_~p~0.offset))} assume !!(0 != #t~nondet33); {29987#(and (not (= main_~a~0.base main_~p~0.base)) (= main_~p~0.base (select (select |#memory_$Pointer$.base| main_~a~0.base) 4)) (= 0 main_~a~0.offset) (= 1 (select |#valid| main_~p~0.base)) (= (select (select |#memory_$Pointer$.offset| main_~a~0.base) 4) main_~p~0.offset))} is VALID [2020-07-18 05:17:14,368 INFO L280 TraceCheckUtils]: 54: Hoare triple {29987#(and (not (= main_~a~0.base main_~p~0.base)) (= main_~p~0.base (select (select |#memory_$Pointer$.base| main_~a~0.base) 4)) (= 0 main_~a~0.offset) (= 1 (select |#valid| main_~p~0.base)) (= (select (select |#memory_$Pointer$.offset| main_~a~0.base) 4) main_~p~0.offset))} havoc #t~nondet33; {29987#(and (not (= main_~a~0.base main_~p~0.base)) (= main_~p~0.base (select (select |#memory_$Pointer$.base| main_~a~0.base) 4)) (= 0 main_~a~0.offset) (= 1 (select |#valid| main_~p~0.base)) (= (select (select |#memory_$Pointer$.offset| main_~a~0.base) 4) main_~p~0.offset))} is VALID [2020-07-18 05:17:14,369 INFO L280 TraceCheckUtils]: 55: Hoare triple {29987#(and (not (= main_~a~0.base main_~p~0.base)) (= main_~p~0.base (select (select |#memory_$Pointer$.base| main_~a~0.base) 4)) (= 0 main_~a~0.offset) (= 1 (select |#valid| main_~p~0.base)) (= (select (select |#memory_$Pointer$.offset| main_~a~0.base) 4) main_~p~0.offset))} SUMMARY for call write~int(2, ~p~0.base, ~p~0.offset, 4); srcloc: L596 {29988#(and (not (= main_~a~0.base main_~p~0.base)) (= 2 (select (select |#memory_int| main_~p~0.base) main_~p~0.offset)) (= main_~p~0.base (select (select |#memory_$Pointer$.base| main_~a~0.base) 4)) (= 0 main_~a~0.offset) (= 1 (select |#valid| main_~p~0.base)) (= (select (select |#memory_$Pointer$.offset| main_~a~0.base) 4) main_~p~0.offset))} is VALID [2020-07-18 05:17:14,370 INFO L280 TraceCheckUtils]: 56: Hoare triple {29988#(and (not (= main_~a~0.base main_~p~0.base)) (= 2 (select (select |#memory_int| main_~p~0.base) main_~p~0.offset)) (= main_~p~0.base (select (select |#memory_$Pointer$.base| main_~a~0.base) 4)) (= 0 main_~a~0.offset) (= 1 (select |#valid| main_~p~0.base)) (= (select (select |#memory_$Pointer$.offset| main_~a~0.base) 4) main_~p~0.offset))} SUMMARY for call #t~malloc34.base, #t~malloc34.offset := #Ultimate.allocOnHeap(8); srcloc: L596-1 {29989#(and (not (= main_~a~0.base main_~p~0.base)) (= 2 (select (select |#memory_int| main_~p~0.base) main_~p~0.offset)) (= main_~a~0.offset |main_#t~malloc34.offset|) (= main_~p~0.base (select (select |#memory_$Pointer$.base| main_~a~0.base) 4)) (= 0 main_~a~0.offset) (= (select (select |#memory_$Pointer$.offset| main_~a~0.base) 4) main_~p~0.offset) (not (= main_~p~0.base |main_#t~malloc34.base|)))} is VALID [2020-07-18 05:17:14,371 INFO L280 TraceCheckUtils]: 57: Hoare triple {29989#(and (not (= main_~a~0.base main_~p~0.base)) (= 2 (select (select |#memory_int| main_~p~0.base) main_~p~0.offset)) (= main_~a~0.offset |main_#t~malloc34.offset|) (= main_~p~0.base (select (select |#memory_$Pointer$.base| main_~a~0.base) 4)) (= 0 main_~a~0.offset) (= (select (select |#memory_$Pointer$.offset| main_~a~0.base) 4) main_~p~0.offset) (not (= main_~p~0.base |main_#t~malloc34.base|)))} ~t~0.base, ~t~0.offset := #t~malloc34.base, #t~malloc34.offset; {29990#(and (= (select (select (store |#memory_$Pointer$.base| main_~p~0.base (store (select |#memory_$Pointer$.base| main_~p~0.base) (+ main_~p~0.offset 4) main_~t~0.base)) main_~a~0.base) 4) main_~p~0.base) (= 2 (select (select |#memory_int| main_~p~0.base) main_~p~0.offset)) (= main_~a~0.offset main_~t~0.offset) (= 0 main_~a~0.offset) (= main_~p~0.offset (select (select (store |#memory_$Pointer$.offset| main_~p~0.base (store (select |#memory_$Pointer$.offset| main_~p~0.base) (+ main_~p~0.offset 4) main_~t~0.offset)) main_~a~0.base) 4)) (not (= main_~t~0.base main_~p~0.base)))} is VALID [2020-07-18 05:17:14,372 INFO L280 TraceCheckUtils]: 58: Hoare triple {29990#(and (= (select (select (store |#memory_$Pointer$.base| main_~p~0.base (store (select |#memory_$Pointer$.base| main_~p~0.base) (+ main_~p~0.offset 4) main_~t~0.base)) main_~a~0.base) 4) main_~p~0.base) (= 2 (select (select |#memory_int| main_~p~0.base) main_~p~0.offset)) (= main_~a~0.offset main_~t~0.offset) (= 0 main_~a~0.offset) (= main_~p~0.offset (select (select (store |#memory_$Pointer$.offset| main_~p~0.base (store (select |#memory_$Pointer$.offset| main_~p~0.base) (+ main_~p~0.offset 4) main_~t~0.offset)) main_~a~0.base) 4)) (not (= main_~t~0.base main_~p~0.base)))} assume !(~t~0.base == 0 && ~t~0.offset == 0); {29990#(and (= (select (select (store |#memory_$Pointer$.base| main_~p~0.base (store (select |#memory_$Pointer$.base| main_~p~0.base) (+ main_~p~0.offset 4) main_~t~0.base)) main_~a~0.base) 4) main_~p~0.base) (= 2 (select (select |#memory_int| main_~p~0.base) main_~p~0.offset)) (= main_~a~0.offset main_~t~0.offset) (= 0 main_~a~0.offset) (= main_~p~0.offset (select (select (store |#memory_$Pointer$.offset| main_~p~0.base (store (select |#memory_$Pointer$.offset| main_~p~0.base) (+ main_~p~0.offset 4) main_~t~0.offset)) main_~a~0.base) 4)) (not (= main_~t~0.base main_~p~0.base)))} is VALID [2020-07-18 05:17:14,374 INFO L280 TraceCheckUtils]: 59: Hoare triple {29990#(and (= (select (select (store |#memory_$Pointer$.base| main_~p~0.base (store (select |#memory_$Pointer$.base| main_~p~0.base) (+ main_~p~0.offset 4) main_~t~0.base)) main_~a~0.base) 4) main_~p~0.base) (= 2 (select (select |#memory_int| main_~p~0.base) main_~p~0.offset)) (= main_~a~0.offset main_~t~0.offset) (= 0 main_~a~0.offset) (= main_~p~0.offset (select (select (store |#memory_$Pointer$.offset| main_~p~0.base (store (select |#memory_$Pointer$.offset| main_~p~0.base) (+ main_~p~0.offset 4) main_~t~0.offset)) main_~a~0.base) 4)) (not (= main_~t~0.base main_~p~0.base)))} SUMMARY for call write~$Pointer$(~t~0.base, ~t~0.offset, ~p~0.base, 4 + ~p~0.offset, 4); srcloc: L598-3 {29991#(and (not (= (select (select |#memory_$Pointer$.base| main_~p~0.base) (+ main_~p~0.offset 4)) main_~p~0.base)) (= 2 (select (select |#memory_int| main_~p~0.base) main_~p~0.offset)) (= main_~p~0.base (select (select |#memory_$Pointer$.base| main_~a~0.base) 4)) (= 0 main_~a~0.offset) (= (select (select |#memory_$Pointer$.offset| main_~p~0.base) (+ main_~p~0.offset 4)) main_~a~0.offset) (= (select (select |#memory_$Pointer$.offset| main_~a~0.base) 4) main_~p~0.offset))} is VALID [2020-07-18 05:17:14,376 INFO L280 TraceCheckUtils]: 60: Hoare triple {29991#(and (not (= (select (select |#memory_$Pointer$.base| main_~p~0.base) (+ main_~p~0.offset 4)) main_~p~0.base)) (= 2 (select (select |#memory_int| main_~p~0.base) main_~p~0.offset)) (= main_~p~0.base (select (select |#memory_$Pointer$.base| main_~a~0.base) 4)) (= 0 main_~a~0.offset) (= (select (select |#memory_$Pointer$.offset| main_~p~0.base) (+ main_~p~0.offset 4)) main_~a~0.offset) (= (select (select |#memory_$Pointer$.offset| main_~a~0.base) 4) main_~p~0.offset))} SUMMARY for call #t~mem35.base, #t~mem35.offset := read~$Pointer$(~p~0.base, 4 + ~p~0.offset, 4); srcloc: L599 {29992#(and (= 2 (select (select |#memory_int| (select (select |#memory_$Pointer$.base| main_~a~0.base) 4)) (select (select |#memory_$Pointer$.offset| main_~a~0.base) 4))) (not (= |main_#t~mem35.base| (select (select |#memory_$Pointer$.base| main_~a~0.base) 4))) (= 0 main_~a~0.offset) (= main_~a~0.offset |main_#t~mem35.offset|))} is VALID [2020-07-18 05:17:14,377 INFO L280 TraceCheckUtils]: 61: Hoare triple {29992#(and (= 2 (select (select |#memory_int| (select (select |#memory_$Pointer$.base| main_~a~0.base) 4)) (select (select |#memory_$Pointer$.offset| main_~a~0.base) 4))) (not (= |main_#t~mem35.base| (select (select |#memory_$Pointer$.base| main_~a~0.base) 4))) (= 0 main_~a~0.offset) (= main_~a~0.offset |main_#t~mem35.offset|))} ~p~0.base, ~p~0.offset := #t~mem35.base, #t~mem35.offset; {29993#(or (and (not (= main_~a~0.base main_~p~0.base)) (= 2 (select (select (store |#memory_int| main_~p~0.base (store (select |#memory_int| main_~p~0.base) main_~p~0.offset 3)) (select (select |#memory_$Pointer$.base| main_~a~0.base) 4)) (select (select |#memory_$Pointer$.offset| main_~a~0.base) 4))) (= 0 main_~a~0.offset)) (and (= main_~a~0.base main_~p~0.base) (= main_~a~0.offset main_~p~0.offset)))} is VALID [2020-07-18 05:17:14,377 INFO L280 TraceCheckUtils]: 62: Hoare triple {29993#(or (and (not (= main_~a~0.base main_~p~0.base)) (= 2 (select (select (store |#memory_int| main_~p~0.base (store (select |#memory_int| main_~p~0.base) main_~p~0.offset 3)) (select (select |#memory_$Pointer$.base| main_~a~0.base) 4)) (select (select |#memory_$Pointer$.offset| main_~a~0.base) 4))) (= 0 main_~a~0.offset)) (and (= main_~a~0.base main_~p~0.base) (= main_~a~0.offset main_~p~0.offset)))} havoc #t~mem35.base, #t~mem35.offset; {29993#(or (and (not (= main_~a~0.base main_~p~0.base)) (= 2 (select (select (store |#memory_int| main_~p~0.base (store (select |#memory_int| main_~p~0.base) main_~p~0.offset 3)) (select (select |#memory_$Pointer$.base| main_~a~0.base) 4)) (select (select |#memory_$Pointer$.offset| main_~a~0.base) 4))) (= 0 main_~a~0.offset)) (and (= main_~a~0.base main_~p~0.base) (= main_~a~0.offset main_~p~0.offset)))} is VALID [2020-07-18 05:17:14,378 INFO L280 TraceCheckUtils]: 63: Hoare triple {29993#(or (and (not (= main_~a~0.base main_~p~0.base)) (= 2 (select (select (store |#memory_int| main_~p~0.base (store (select |#memory_int| main_~p~0.base) main_~p~0.offset 3)) (select (select |#memory_$Pointer$.base| main_~a~0.base) 4)) (select (select |#memory_$Pointer$.offset| main_~a~0.base) 4))) (= 0 main_~a~0.offset)) (and (= main_~a~0.base main_~p~0.base) (= main_~a~0.offset main_~p~0.offset)))} assume -2147483648 <= #t~nondet33 && #t~nondet33 <= 2147483647; {29993#(or (and (not (= main_~a~0.base main_~p~0.base)) (= 2 (select (select (store |#memory_int| main_~p~0.base (store (select |#memory_int| main_~p~0.base) main_~p~0.offset 3)) (select (select |#memory_$Pointer$.base| main_~a~0.base) 4)) (select (select |#memory_$Pointer$.offset| main_~a~0.base) 4))) (= 0 main_~a~0.offset)) (and (= main_~a~0.base main_~p~0.base) (= main_~a~0.offset main_~p~0.offset)))} is VALID [2020-07-18 05:17:14,378 INFO L280 TraceCheckUtils]: 64: Hoare triple {29993#(or (and (not (= main_~a~0.base main_~p~0.base)) (= 2 (select (select (store |#memory_int| main_~p~0.base (store (select |#memory_int| main_~p~0.base) main_~p~0.offset 3)) (select (select |#memory_$Pointer$.base| main_~a~0.base) 4)) (select (select |#memory_$Pointer$.offset| main_~a~0.base) 4))) (= 0 main_~a~0.offset)) (and (= main_~a~0.base main_~p~0.base) (= main_~a~0.offset main_~p~0.offset)))} assume !(0 != #t~nondet33); {29993#(or (and (not (= main_~a~0.base main_~p~0.base)) (= 2 (select (select (store |#memory_int| main_~p~0.base (store (select |#memory_int| main_~p~0.base) main_~p~0.offset 3)) (select (select |#memory_$Pointer$.base| main_~a~0.base) 4)) (select (select |#memory_$Pointer$.offset| main_~a~0.base) 4))) (= 0 main_~a~0.offset)) (and (= main_~a~0.base main_~p~0.base) (= main_~a~0.offset main_~p~0.offset)))} is VALID [2020-07-18 05:17:14,379 INFO L280 TraceCheckUtils]: 65: Hoare triple {29993#(or (and (not (= main_~a~0.base main_~p~0.base)) (= 2 (select (select (store |#memory_int| main_~p~0.base (store (select |#memory_int| main_~p~0.base) main_~p~0.offset 3)) (select (select |#memory_$Pointer$.base| main_~a~0.base) 4)) (select (select |#memory_$Pointer$.offset| main_~a~0.base) 4))) (= 0 main_~a~0.offset)) (and (= main_~a~0.base main_~p~0.base) (= main_~a~0.offset main_~p~0.offset)))} havoc #t~nondet33; {29993#(or (and (not (= main_~a~0.base main_~p~0.base)) (= 2 (select (select (store |#memory_int| main_~p~0.base (store (select |#memory_int| main_~p~0.base) main_~p~0.offset 3)) (select (select |#memory_$Pointer$.base| main_~a~0.base) 4)) (select (select |#memory_$Pointer$.offset| main_~a~0.base) 4))) (= 0 main_~a~0.offset)) (and (= main_~a~0.base main_~p~0.base) (= main_~a~0.offset main_~p~0.offset)))} is VALID [2020-07-18 05:17:14,380 INFO L280 TraceCheckUtils]: 66: Hoare triple {29993#(or (and (not (= main_~a~0.base main_~p~0.base)) (= 2 (select (select (store |#memory_int| main_~p~0.base (store (select |#memory_int| main_~p~0.base) main_~p~0.offset 3)) (select (select |#memory_$Pointer$.base| main_~a~0.base) 4)) (select (select |#memory_$Pointer$.offset| main_~a~0.base) 4))) (= 0 main_~a~0.offset)) (and (= main_~a~0.base main_~p~0.base) (= main_~a~0.offset main_~p~0.offset)))} SUMMARY for call write~int(3, ~p~0.base, ~p~0.offset, 4); srcloc: L595-5 {29994#(or (= 3 (select (select |#memory_int| main_~a~0.base) main_~a~0.offset)) (and (= 2 (select (select |#memory_int| (select (select |#memory_$Pointer$.base| main_~a~0.base) 4)) (select (select |#memory_$Pointer$.offset| main_~a~0.base) 4))) (= 0 main_~a~0.offset)))} is VALID [2020-07-18 05:17:14,381 INFO L280 TraceCheckUtils]: 67: Hoare triple {29994#(or (= 3 (select (select |#memory_int| main_~a~0.base) main_~a~0.offset)) (and (= 2 (select (select |#memory_int| (select (select |#memory_$Pointer$.base| main_~a~0.base) 4)) (select (select |#memory_$Pointer$.offset| main_~a~0.base) 4))) (= 0 main_~a~0.offset)))} ~p~0.base, ~p~0.offset := ~a~0.base, ~a~0.offset; {29995#(or (and (= 0 main_~p~0.offset) (= 2 (select (select |#memory_int| (select (select |#memory_$Pointer$.base| main_~p~0.base) (+ main_~p~0.offset 4))) (select (select |#memory_$Pointer$.offset| main_~p~0.base) (+ main_~p~0.offset 4))))) (= 3 (select (select |#memory_int| main_~p~0.base) main_~p~0.offset)))} is VALID [2020-07-18 05:17:14,382 INFO L280 TraceCheckUtils]: 68: Hoare triple {29995#(or (and (= 0 main_~p~0.offset) (= 2 (select (select |#memory_int| (select (select |#memory_$Pointer$.base| main_~p~0.base) (+ main_~p~0.offset 4))) (select (select |#memory_$Pointer$.offset| main_~p~0.base) (+ main_~p~0.offset 4))))) (= 3 (select (select |#memory_int| main_~p~0.base) main_~p~0.offset)))} SUMMARY for call #t~mem36 := read~int(~p~0.base, ~p~0.offset, 4); srcloc: L604-5 {29996#(or (and (= 0 main_~p~0.offset) (= 2 (select (select |#memory_int| (select (select |#memory_$Pointer$.base| main_~p~0.base) (+ main_~p~0.offset 4))) (select (select |#memory_$Pointer$.offset| main_~p~0.base) (+ main_~p~0.offset 4))))) (= |main_#t~mem36| 3))} is VALID [2020-07-18 05:17:14,382 INFO L280 TraceCheckUtils]: 69: Hoare triple {29996#(or (and (= 0 main_~p~0.offset) (= 2 (select (select |#memory_int| (select (select |#memory_$Pointer$.base| main_~p~0.base) (+ main_~p~0.offset 4))) (select (select |#memory_$Pointer$.offset| main_~p~0.base) (+ main_~p~0.offset 4))))) (= |main_#t~mem36| 3))} assume !!(2 == #t~mem36); {29997#(and (= 0 main_~p~0.offset) (= 2 (select (select |#memory_int| (select (select |#memory_$Pointer$.base| main_~p~0.base) (+ main_~p~0.offset 4))) (select (select |#memory_$Pointer$.offset| main_~p~0.base) (+ main_~p~0.offset 4)))))} is VALID [2020-07-18 05:17:14,383 INFO L280 TraceCheckUtils]: 70: Hoare triple {29997#(and (= 0 main_~p~0.offset) (= 2 (select (select |#memory_int| (select (select |#memory_$Pointer$.base| main_~p~0.base) (+ main_~p~0.offset 4))) (select (select |#memory_$Pointer$.offset| main_~p~0.base) (+ main_~p~0.offset 4)))))} havoc #t~mem36; {29997#(and (= 0 main_~p~0.offset) (= 2 (select (select |#memory_int| (select (select |#memory_$Pointer$.base| main_~p~0.base) (+ main_~p~0.offset 4))) (select (select |#memory_$Pointer$.offset| main_~p~0.base) (+ main_~p~0.offset 4)))))} is VALID [2020-07-18 05:17:14,384 INFO L280 TraceCheckUtils]: 71: Hoare triple {29997#(and (= 0 main_~p~0.offset) (= 2 (select (select |#memory_int| (select (select |#memory_$Pointer$.base| main_~p~0.base) (+ main_~p~0.offset 4))) (select (select |#memory_$Pointer$.offset| main_~p~0.base) (+ main_~p~0.offset 4)))))} SUMMARY for call #t~mem37.base, #t~mem37.offset := read~$Pointer$(~p~0.base, 4 + ~p~0.offset, 4); srcloc: L605 {29998#(= 2 (select (select |#memory_int| |main_#t~mem37.base|) |main_#t~mem37.offset|))} is VALID [2020-07-18 05:17:14,384 INFO L280 TraceCheckUtils]: 72: Hoare triple {29998#(= 2 (select (select |#memory_int| |main_#t~mem37.base|) |main_#t~mem37.offset|))} ~p~0.base, ~p~0.offset := #t~mem37.base, #t~mem37.offset; {29999#(= 2 (select (select |#memory_int| main_~p~0.base) main_~p~0.offset))} is VALID [2020-07-18 05:17:14,384 INFO L280 TraceCheckUtils]: 73: Hoare triple {29999#(= 2 (select (select |#memory_int| main_~p~0.base) main_~p~0.offset))} havoc #t~mem37.base, #t~mem37.offset; {29999#(= 2 (select (select |#memory_int| main_~p~0.base) main_~p~0.offset))} is VALID [2020-07-18 05:17:14,385 INFO L280 TraceCheckUtils]: 74: Hoare triple {29999#(= 2 (select (select |#memory_int| main_~p~0.base) main_~p~0.offset))} SUMMARY for call #t~mem36 := read~int(~p~0.base, ~p~0.offset, 4); srcloc: L604-5 {30000#(= |main_#t~mem36| 2)} is VALID [2020-07-18 05:17:14,385 INFO L280 TraceCheckUtils]: 75: Hoare triple {30000#(= |main_#t~mem36| 2)} assume !(2 == #t~mem36); {29973#false} is VALID [2020-07-18 05:17:14,386 INFO L280 TraceCheckUtils]: 76: Hoare triple {29973#false} havoc #t~mem36; {29973#false} is VALID [2020-07-18 05:17:14,386 INFO L280 TraceCheckUtils]: 77: Hoare triple {29973#false} SUMMARY for call #t~mem38 := read~int(~p~0.base, ~p~0.offset, 4); srcloc: L606-4 {29973#false} is VALID [2020-07-18 05:17:14,386 INFO L280 TraceCheckUtils]: 78: Hoare triple {29973#false} assume !(1 == #t~mem38); {29973#false} is VALID [2020-07-18 05:17:14,386 INFO L280 TraceCheckUtils]: 79: Hoare triple {29973#false} havoc #t~mem38; {29973#false} is VALID [2020-07-18 05:17:14,386 INFO L280 TraceCheckUtils]: 80: Hoare triple {29973#false} SUMMARY for call #t~mem40 := read~int(~p~0.base, ~p~0.offset, 4); srcloc: L606-5 {29973#false} is VALID [2020-07-18 05:17:14,386 INFO L280 TraceCheckUtils]: 81: Hoare triple {29973#false} assume 3 != #t~mem40; {29973#false} is VALID [2020-07-18 05:17:14,386 INFO L280 TraceCheckUtils]: 82: Hoare triple {29973#false} havoc #t~mem40; {29973#false} is VALID [2020-07-18 05:17:14,386 INFO L280 TraceCheckUtils]: 83: Hoare triple {29973#false} assume !false; {29973#false} is VALID [2020-07-18 05:17:14,405 INFO L134 CoverageAnalysis]: Checked inductivity of 18 backedges. 0 proven. 17 refuted. 0 times theorem prover too weak. 1 trivial. 0 not checked. [2020-07-18 05:17:14,405 INFO L354 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModulePreferences [600226568] [2020-07-18 05:17:14,405 INFO L220 FreeRefinementEngine]: Constructing automaton from 0 perfect and 1 imperfect interpolant sequences. [2020-07-18 05:17:14,405 INFO L233 FreeRefinementEngine]: Number of different interpolants: perfect sequences [] imperfect sequences [25] total 25 [2020-07-18 05:17:14,406 INFO L156 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [1387128081] [2020-07-18 05:17:14,406 INFO L78 Accepts]: Start accepts. Automaton has 25 states. Word has length 84 [2020-07-18 05:17:14,406 INFO L84 Accepts]: Finished accepts. word is accepted. [2020-07-18 05:17:14,406 INFO L86 InductivityCheck]: Starting indutivity check of a Floyd-Hoare automaton with 25 states. [2020-07-18 05:17:14,525 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-18 05:17:14,525 INFO L459 AbstractCegarLoop]: Interpolant automaton has 25 states [2020-07-18 05:17:14,525 INFO L143 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy FIXED_PREFERENCES [2020-07-18 05:17:14,526 INFO L142 InterpolantAutomaton]: Constructing interpolant automaton starting with 25 interpolants. [2020-07-18 05:17:14,526 INFO L144 InterpolantAutomaton]: CoverageRelationStatistics Valid=64, Invalid=536, Unknown=0, NotChecked=0, Total=600 [2020-07-18 05:17:14,527 INFO L87 Difference]: Start difference. First operand 290 states and 319 transitions. Second operand 25 states. [2020-07-18 05:17:20,581 WARN L193 SmtUtils]: Spent 102.00 ms on a formula simplification. DAG size of input: 72 DAG size of output: 59 [2020-07-18 05:17:25,090 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2020-07-18 05:17:25,090 INFO L93 Difference]: Finished difference Result 353 states and 385 transitions. [2020-07-18 05:17:25,090 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 37 states. [2020-07-18 05:17:25,090 INFO L78 Accepts]: Start accepts. Automaton has 25 states. Word has length 84 [2020-07-18 05:17:25,091 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2020-07-18 05:17:25,091 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 25 states. [2020-07-18 05:17:25,093 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 37 states to 37 states and 292 transitions. [2020-07-18 05:17:25,093 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 25 states. [2020-07-18 05:17:25,095 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 37 states to 37 states and 292 transitions. [2020-07-18 05:17:25,095 INFO L86 InductivityCheck]: Starting indutivity check of a Floyd-Hoare automaton with 37 states and 292 transitions. [2020-07-18 05:17:25,543 INFO L119 InductivityCheck]: Floyd-Hoare automaton has 292 edges. 292 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2020-07-18 05:17:25,551 INFO L225 Difference]: With dead ends: 353 [2020-07-18 05:17:25,551 INFO L226 Difference]: Without dead ends: 340 [2020-07-18 05:17:25,553 INFO L675 BasicCegarLoop]: 0 DeclaredPredicates, 60 GetRequests, 4 SyntacticMatches, 0 SemanticMatches, 56 ConstructedPredicates, 0 IntricatePredicates, 0 DeprecatedPredicates, 535 ImplicationChecksByTransitivity, 3.4s TimeCoverageRelationStatistics Valid=521, Invalid=2785, Unknown=0, NotChecked=0, Total=3306 [2020-07-18 05:17:25,554 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 340 states. [2020-07-18 05:17:26,652 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 340 to 299. [2020-07-18 05:17:26,652 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2020-07-18 05:17:26,652 INFO L82 GeneralOperation]: Start isEquivalent. First operand 340 states. Second operand 299 states. [2020-07-18 05:17:26,652 INFO L74 IsIncluded]: Start isIncluded. First operand 340 states. Second operand 299 states. [2020-07-18 05:17:26,652 INFO L87 Difference]: Start difference. First operand 340 states. Second operand 299 states. [2020-07-18 05:17:26,659 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2020-07-18 05:17:26,659 INFO L93 Difference]: Finished difference Result 340 states and 371 transitions. [2020-07-18 05:17:26,660 INFO L276 IsEmpty]: Start isEmpty. Operand 340 states and 371 transitions. [2020-07-18 05:17:26,660 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2020-07-18 05:17:26,660 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2020-07-18 05:17:26,660 INFO L74 IsIncluded]: Start isIncluded. First operand 299 states. Second operand 340 states. [2020-07-18 05:17:26,660 INFO L87 Difference]: Start difference. First operand 299 states. Second operand 340 states. [2020-07-18 05:17:26,669 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2020-07-18 05:17:26,669 INFO L93 Difference]: Finished difference Result 340 states and 371 transitions. [2020-07-18 05:17:26,669 INFO L276 IsEmpty]: Start isEmpty. Operand 340 states and 371 transitions. [2020-07-18 05:17:26,670 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2020-07-18 05:17:26,670 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2020-07-18 05:17:26,670 INFO L88 GeneralOperation]: Finished isEquivalent. [2020-07-18 05:17:26,670 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2020-07-18 05:17:26,670 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 299 states. [2020-07-18 05:17:26,676 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 299 states to 299 states and 328 transitions. [2020-07-18 05:17:26,676 INFO L78 Accepts]: Start accepts. Automaton has 299 states and 328 transitions. Word has length 84 [2020-07-18 05:17:26,676 INFO L84 Accepts]: Finished accepts. word is rejected. [2020-07-18 05:17:26,676 INFO L479 AbstractCegarLoop]: Abstraction has 299 states and 328 transitions. [2020-07-18 05:17:26,676 INFO L480 AbstractCegarLoop]: Interpolant automaton has 25 states. [2020-07-18 05:17:26,677 INFO L86 InductivityCheck]: Starting indutivity check of a Floyd-Hoare automaton with 299 states and 328 transitions. [2020-07-18 05:17:27,509 INFO L119 InductivityCheck]: Floyd-Hoare automaton has 328 edges. 328 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2020-07-18 05:17:27,509 INFO L276 IsEmpty]: Start isEmpty. Operand 299 states and 328 transitions. [2020-07-18 05:17:27,510 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 85 [2020-07-18 05:17:27,511 INFO L414 BasicCegarLoop]: Found error trace [2020-07-18 05:17:27,511 INFO L422 BasicCegarLoop]: trace histogram [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, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1] [2020-07-18 05:17:27,511 WARN L516 AbstractCegarLoop]: Destroyed unattended storables created during the last iteration: SelfDestructingSolverStorable17 [2020-07-18 05:17:27,511 INFO L427 AbstractCegarLoop]: === Iteration 19 === [mainErr0ASSERT_VIOLATIONERROR_FUNCTION]=== [2020-07-18 05:17:27,512 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2020-07-18 05:17:27,512 INFO L82 PathProgramCache]: Analyzing trace with hash 752503657, now seen corresponding path program 1 times [2020-07-18 05:17:27,512 INFO L163 FreeRefinementEngine]: Executing refinement strategy FIXED_PREFERENCES [2020-07-18 05:17:27,512 INFO L354 FreeRefinementEngine]: Using trace check IpTcStrategyModulePreferences [715773319] [2020-07-18 05:17:27,513 INFO L94 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2020-07-18 05:17:27,535 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is sat [2020-07-18 05:17:27,555 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is sat [2020-07-18 05:17:27,623 INFO L174 FreeRefinementEngine]: Strategy FIXED_PREFERENCES found a feasible trace [2020-07-18 05:17:27,623 INFO L520 BasicCegarLoop]: Counterexample might be feasible [2020-07-18 05:17:27,624 WARN L516 AbstractCegarLoop]: Destroyed unattended storables created during the last iteration: SelfDestructingSolverStorable18 [2020-07-18 05:17:27,720 WARN L170 areAnnotationChecker]: ULTIMATE.initENTRY has no Hoare annotation [2020-07-18 05:17:27,720 WARN L170 areAnnotationChecker]: myexitENTRY has no Hoare annotation [2020-07-18 05:17:27,720 WARN L170 areAnnotationChecker]: __bswap_32ENTRY has no Hoare annotation [2020-07-18 05:17:27,720 WARN L170 areAnnotationChecker]: ULTIMATE.startENTRY has no Hoare annotation [2020-07-18 05:17:27,720 WARN L170 areAnnotationChecker]: ULTIMATE.startENTRY has no Hoare annotation [2020-07-18 05:17:27,721 WARN L170 areAnnotationChecker]: __bswap_64ENTRY has no Hoare annotation [2020-07-18 05:17:27,721 WARN L170 areAnnotationChecker]: mainENTRY has no Hoare annotation [2020-07-18 05:17:27,721 WARN L170 areAnnotationChecker]: L-1 has no Hoare annotation [2020-07-18 05:17:27,721 WARN L170 areAnnotationChecker]: L530 has no Hoare annotation [2020-07-18 05:17:27,721 WARN L170 areAnnotationChecker]: L178 has no Hoare annotation [2020-07-18 05:17:27,721 WARN L170 areAnnotationChecker]: L-1 has no Hoare annotation [2020-07-18 05:17:27,721 WARN L170 areAnnotationChecker]: L-1 has no Hoare annotation [2020-07-18 05:17:27,721 WARN L170 areAnnotationChecker]: L183 has no Hoare annotation [2020-07-18 05:17:27,721 WARN L170 areAnnotationChecker]: L541 has no Hoare annotation [2020-07-18 05:17:27,722 WARN L170 areAnnotationChecker]: L-1-1 has no Hoare annotation [2020-07-18 05:17:27,722 WARN L170 areAnnotationChecker]: L178-1 has no Hoare annotation [2020-07-18 05:17:27,722 WARN L170 areAnnotationChecker]: ULTIMATE.startFINAL has no Hoare annotation [2020-07-18 05:17:27,722 WARN L170 areAnnotationChecker]: L183-1 has no Hoare annotation [2020-07-18 05:17:27,722 WARN L170 areAnnotationChecker]: L541-1 has no Hoare annotation [2020-07-18 05:17:27,722 WARN L170 areAnnotationChecker]: ULTIMATE.initFINAL has no Hoare annotation [2020-07-18 05:17:27,722 WARN L170 areAnnotationChecker]: __bswap_32FINAL has no Hoare annotation [2020-07-18 05:17:27,722 WARN L170 areAnnotationChecker]: __bswap_64FINAL has no Hoare annotation [2020-07-18 05:17:27,722 WARN L170 areAnnotationChecker]: L542 has no Hoare annotation [2020-07-18 05:17:27,723 WARN L170 areAnnotationChecker]: ULTIMATE.initEXIT has no Hoare annotation [2020-07-18 05:17:27,723 WARN L170 areAnnotationChecker]: L542-1 has no Hoare annotation [2020-07-18 05:17:27,723 WARN L170 areAnnotationChecker]: L557-13 has no Hoare annotation [2020-07-18 05:17:27,723 WARN L170 areAnnotationChecker]: L557-13 has no Hoare annotation [2020-07-18 05:17:27,723 WARN L170 areAnnotationChecker]: L544-4 has no Hoare annotation [2020-07-18 05:17:27,723 WARN L170 areAnnotationChecker]: L544 has no Hoare annotation [2020-07-18 05:17:27,723 WARN L170 areAnnotationChecker]: L544 has no Hoare annotation [2020-07-18 05:17:27,723 WARN L170 areAnnotationChecker]: L564 has no Hoare annotation [2020-07-18 05:17:27,723 WARN L170 areAnnotationChecker]: L544-1 has no Hoare annotation [2020-07-18 05:17:27,723 WARN L170 areAnnotationChecker]: L544-3 has no Hoare annotation [2020-07-18 05:17:27,724 WARN L170 areAnnotationChecker]: L582 has no Hoare annotation [2020-07-18 05:17:27,724 WARN L170 areAnnotationChecker]: L582 has no Hoare annotation [2020-07-18 05:17:27,724 WARN L170 areAnnotationChecker]: L582 has no Hoare annotation [2020-07-18 05:17:27,724 WARN L170 areAnnotationChecker]: L545 has no Hoare annotation [2020-07-18 05:17:27,724 WARN L170 areAnnotationChecker]: L565-2 has no Hoare annotation [2020-07-18 05:17:27,724 WARN L170 areAnnotationChecker]: L566 has no Hoare annotation [2020-07-18 05:17:27,724 WARN L170 areAnnotationChecker]: L547-5 has no Hoare annotation [2020-07-18 05:17:27,724 WARN L170 areAnnotationChecker]: L547-5 has no Hoare annotation [2020-07-18 05:17:27,724 WARN L170 areAnnotationChecker]: L584 has no Hoare annotation [2020-07-18 05:17:27,724 WARN L170 areAnnotationChecker]: L567 has no Hoare annotation [2020-07-18 05:17:27,724 WARN L170 areAnnotationChecker]: L546-14 has no Hoare annotation [2020-07-18 05:17:27,725 WARN L170 areAnnotationChecker]: L546-1 has no Hoare annotation [2020-07-18 05:17:27,725 WARN L170 areAnnotationChecker]: L585 has no Hoare annotation [2020-07-18 05:17:27,725 WARN L170 areAnnotationChecker]: L585 has no Hoare annotation [2020-07-18 05:17:27,725 WARN L170 areAnnotationChecker]: L570-5 has no Hoare annotation [2020-07-18 05:17:27,725 WARN L170 areAnnotationChecker]: L570-5 has no Hoare annotation [2020-07-18 05:17:27,725 WARN L170 areAnnotationChecker]: L552 has no Hoare annotation [2020-07-18 05:17:27,725 WARN L170 areAnnotationChecker]: L546-2 has no Hoare annotation [2020-07-18 05:17:27,725 WARN L170 areAnnotationChecker]: L546-2 has no Hoare annotation [2020-07-18 05:17:27,725 WARN L170 areAnnotationChecker]: L585-1 has no Hoare annotation [2020-07-18 05:17:27,725 WARN L170 areAnnotationChecker]: L585-1 has no Hoare annotation [2020-07-18 05:17:27,726 WARN L170 areAnnotationChecker]: L585-3 has no Hoare annotation [2020-07-18 05:17:27,726 WARN L170 areAnnotationChecker]: L568-14 has no Hoare annotation [2020-07-18 05:17:27,726 WARN L170 areAnnotationChecker]: L568-14 has no Hoare annotation [2020-07-18 05:17:27,726 WARN L170 areAnnotationChecker]: L568-1 has no Hoare annotation [2020-07-18 05:17:27,726 WARN L170 areAnnotationChecker]: L552-1 has no Hoare annotation [2020-07-18 05:17:27,726 WARN L170 areAnnotationChecker]: L552-1 has no Hoare annotation [2020-07-18 05:17:27,726 WARN L170 areAnnotationChecker]: L546-3 has no Hoare annotation [2020-07-18 05:17:27,726 WARN L170 areAnnotationChecker]: L546-6 has no Hoare annotation [2020-07-18 05:17:27,726 WARN L170 areAnnotationChecker]: L546-6 has no Hoare annotation [2020-07-18 05:17:27,726 WARN L170 areAnnotationChecker]: L587 has no Hoare annotation [2020-07-18 05:17:27,727 WARN L170 areAnnotationChecker]: L576 has no Hoare annotation [2020-07-18 05:17:27,727 WARN L170 areAnnotationChecker]: L581 has no Hoare annotation [2020-07-18 05:17:27,727 WARN L170 areAnnotationChecker]: L568-2 has no Hoare annotation [2020-07-18 05:17:27,727 WARN L170 areAnnotationChecker]: L568-2 has no Hoare annotation [2020-07-18 05:17:27,727 WARN L170 areAnnotationChecker]: L552-2 has no Hoare annotation [2020-07-18 05:17:27,727 WARN L170 areAnnotationChecker]: L552-5 has no Hoare annotation [2020-07-18 05:17:27,727 WARN L170 areAnnotationChecker]: L552-5 has no Hoare annotation [2020-07-18 05:17:27,727 WARN L170 areAnnotationChecker]: L546-4 has no Hoare annotation [2020-07-18 05:17:27,727 WARN L170 areAnnotationChecker]: L546-7 has no Hoare annotation [2020-07-18 05:17:27,727 WARN L170 areAnnotationChecker]: L546-11 has no Hoare annotation [2020-07-18 05:17:27,727 WARN L170 areAnnotationChecker]: L588-5 has no Hoare annotation [2020-07-18 05:17:27,728 WARN L170 areAnnotationChecker]: L588-5 has no Hoare annotation [2020-07-18 05:17:27,728 WARN L170 areAnnotationChecker]: L576-1 has no Hoare annotation [2020-07-18 05:17:27,728 WARN L170 areAnnotationChecker]: L576-1 has no Hoare annotation [2020-07-18 05:17:27,728 WARN L170 areAnnotationChecker]: L575 has no Hoare annotation [2020-07-18 05:17:27,728 WARN L170 areAnnotationChecker]: L568-6 has no Hoare annotation [2020-07-18 05:17:27,728 WARN L170 areAnnotationChecker]: L568-6 has no Hoare annotation [2020-07-18 05:17:27,728 WARN L170 areAnnotationChecker]: L568-4 has no Hoare annotation [2020-07-18 05:17:27,728 WARN L170 areAnnotationChecker]: L552-3 has no Hoare annotation [2020-07-18 05:17:27,728 WARN L170 areAnnotationChecker]: L552-6 has no Hoare annotation [2020-07-18 05:17:27,728 WARN L170 areAnnotationChecker]: L552-10 has no Hoare annotation [2020-07-18 05:17:27,729 WARN L170 areAnnotationChecker]: L546-8 has no Hoare annotation [2020-07-18 05:17:27,729 WARN L170 areAnnotationChecker]: L546-12 has no Hoare annotation [2020-07-18 05:17:27,729 WARN L170 areAnnotationChecker]: L595-4 has no Hoare annotation [2020-07-18 05:17:27,729 WARN L170 areAnnotationChecker]: L595-4 has no Hoare annotation [2020-07-18 05:17:27,729 WARN L170 areAnnotationChecker]: L588-1 has no Hoare annotation [2020-07-18 05:17:27,729 WARN L170 areAnnotationChecker]: L588-1 has no Hoare annotation [2020-07-18 05:17:27,729 WARN L170 areAnnotationChecker]: L576-2 has no Hoare annotation [2020-07-18 05:17:27,729 WARN L170 areAnnotationChecker]: L576-3 has no Hoare annotation [2020-07-18 05:17:27,729 WARN L170 areAnnotationChecker]: L568-7 has no Hoare annotation [2020-07-18 05:17:27,729 WARN L170 areAnnotationChecker]: L568-11 has no Hoare annotation [2020-07-18 05:17:27,729 WARN L170 areAnnotationChecker]: L568-5 has no Hoare annotation [2020-07-18 05:17:27,730 WARN L170 areAnnotationChecker]: L552-7 has no Hoare annotation [2020-07-18 05:17:27,730 WARN L170 areAnnotationChecker]: L552-11 has no Hoare annotation [2020-07-18 05:17:27,730 WARN L170 areAnnotationChecker]: L546-9 has no Hoare annotation [2020-07-18 05:17:27,730 WARN L170 areAnnotationChecker]: L546-13 has no Hoare annotation [2020-07-18 05:17:27,730 WARN L170 areAnnotationChecker]: L595-5 has no Hoare annotation [2020-07-18 05:17:27,730 WARN L170 areAnnotationChecker]: L595 has no Hoare annotation [2020-07-18 05:17:27,730 WARN L170 areAnnotationChecker]: L595 has no Hoare annotation [2020-07-18 05:17:27,730 WARN L170 areAnnotationChecker]: L588-2 has no Hoare annotation [2020-07-18 05:17:27,730 WARN L170 areAnnotationChecker]: L588-4 has no Hoare annotation [2020-07-18 05:17:27,730 WARN L170 areAnnotationChecker]: L577 has no Hoare annotation [2020-07-18 05:17:27,731 WARN L170 areAnnotationChecker]: L579 has no Hoare annotation [2020-07-18 05:17:27,731 WARN L170 areAnnotationChecker]: L568-8 has no Hoare annotation [2020-07-18 05:17:27,731 WARN L170 areAnnotationChecker]: L568-12 has no Hoare annotation [2020-07-18 05:17:27,731 WARN L170 areAnnotationChecker]: L552-8 has no Hoare annotation [2020-07-18 05:17:27,731 WARN L170 areAnnotationChecker]: L552-12 has no Hoare annotation [2020-07-18 05:17:27,731 WARN L170 areAnnotationChecker]: L547 has no Hoare annotation [2020-07-18 05:17:27,731 WARN L170 areAnnotationChecker]: L602 has no Hoare annotation [2020-07-18 05:17:27,731 WARN L170 areAnnotationChecker]: L595-1 has no Hoare annotation [2020-07-18 05:17:27,731 WARN L170 areAnnotationChecker]: L595-3 has no Hoare annotation [2020-07-18 05:17:27,731 WARN L170 areAnnotationChecker]: L589 has no Hoare annotation [2020-07-18 05:17:27,731 WARN L170 areAnnotationChecker]: L568-9 has no Hoare annotation [2020-07-18 05:17:27,732 WARN L170 areAnnotationChecker]: L568-13 has no Hoare annotation [2020-07-18 05:17:27,732 WARN L170 areAnnotationChecker]: L553 has no Hoare annotation [2020-07-18 05:17:27,732 WARN L170 areAnnotationChecker]: L552-13 has no Hoare annotation [2020-07-18 05:17:27,732 WARN L170 areAnnotationChecker]: L547-1 has no Hoare annotation [2020-07-18 05:17:27,732 WARN L170 areAnnotationChecker]: L547-1 has no Hoare annotation [2020-07-18 05:17:27,732 WARN L170 areAnnotationChecker]: L604-5 has no Hoare annotation [2020-07-18 05:17:27,732 WARN L170 areAnnotationChecker]: L604-5 has no Hoare annotation [2020-07-18 05:17:27,732 WARN L170 areAnnotationChecker]: L596 has no Hoare annotation [2020-07-18 05:17:27,732 WARN L170 areAnnotationChecker]: L589-1 has no Hoare annotation [2020-07-18 05:17:27,732 WARN L170 areAnnotationChecker]: L569 has no Hoare annotation [2020-07-18 05:17:27,732 WARN L170 areAnnotationChecker]: L553-1 has no Hoare annotation [2020-07-18 05:17:27,733 WARN L170 areAnnotationChecker]: L557 has no Hoare annotation [2020-07-18 05:17:27,733 WARN L170 areAnnotationChecker]: L547-2 has no Hoare annotation [2020-07-18 05:17:27,733 WARN L170 areAnnotationChecker]: L547-4 has no Hoare annotation [2020-07-18 05:17:27,733 WARN L170 areAnnotationChecker]: L606-4 has no Hoare annotation [2020-07-18 05:17:27,733 WARN L170 areAnnotationChecker]: L606-4 has no Hoare annotation [2020-07-18 05:17:27,733 WARN L170 areAnnotationChecker]: L604-1 has no Hoare annotation [2020-07-18 05:17:27,733 WARN L170 areAnnotationChecker]: L604-1 has no Hoare annotation [2020-07-18 05:17:27,733 WARN L170 areAnnotationChecker]: L596-1 has no Hoare annotation [2020-07-18 05:17:27,733 WARN L170 areAnnotationChecker]: L590 has no Hoare annotation [2020-07-18 05:17:27,733 WARN L170 areAnnotationChecker]: L570 has no Hoare annotation [2020-07-18 05:17:27,734 WARN L170 areAnnotationChecker]: L553-2 has no Hoare annotation [2020-07-18 05:17:27,734 WARN L170 areAnnotationChecker]: L557-1 has no Hoare annotation [2020-07-18 05:17:27,734 WARN L170 areAnnotationChecker]: L557-1 has no Hoare annotation [2020-07-18 05:17:27,734 WARN L170 areAnnotationChecker]: L548 has no Hoare annotation [2020-07-18 05:17:27,734 WARN L170 areAnnotationChecker]: L550 has no Hoare annotation [2020-07-18 05:17:27,734 WARN L170 areAnnotationChecker]: L606-5 has no Hoare annotation [2020-07-18 05:17:27,734 WARN L170 areAnnotationChecker]: L606 has no Hoare annotation [2020-07-18 05:17:27,734 WARN L170 areAnnotationChecker]: L606 has no Hoare annotation [2020-07-18 05:17:27,734 WARN L170 areAnnotationChecker]: L604-2 has no Hoare annotation [2020-07-18 05:17:27,734 WARN L170 areAnnotationChecker]: L604-4 has no Hoare annotation [2020-07-18 05:17:27,735 WARN L170 areAnnotationChecker]: L597 has no Hoare annotation [2020-07-18 05:17:27,735 WARN L170 areAnnotationChecker]: L591 has no Hoare annotation [2020-07-18 05:17:27,735 WARN L170 areAnnotationChecker]: L591 has no Hoare annotation [2020-07-18 05:17:27,735 WARN L170 areAnnotationChecker]: L570-1 has no Hoare annotation [2020-07-18 05:17:27,735 WARN L170 areAnnotationChecker]: L570-1 has no Hoare annotation [2020-07-18 05:17:27,735 WARN L170 areAnnotationChecker]: L554 has no Hoare annotation [2020-07-18 05:17:27,735 WARN L170 areAnnotationChecker]: L557-2 has no Hoare annotation [2020-07-18 05:17:27,735 WARN L170 areAnnotationChecker]: L557-5 has no Hoare annotation [2020-07-18 05:17:27,735 WARN L170 areAnnotationChecker]: L557-5 has no Hoare annotation [2020-07-18 05:17:27,735 WARN L170 areAnnotationChecker]: L548-1 has no Hoare annotation [2020-07-18 05:17:27,736 WARN L170 areAnnotationChecker]: L550-1 has no Hoare annotation [2020-07-18 05:17:27,736 WARN L170 areAnnotationChecker]: L608 has no Hoare annotation [2020-07-18 05:17:27,736 WARN L170 areAnnotationChecker]: L608 has no Hoare annotation [2020-07-18 05:17:27,736 WARN L170 areAnnotationChecker]: L606-1 has no Hoare annotation [2020-07-18 05:17:27,736 WARN L170 areAnnotationChecker]: L606-3 has no Hoare annotation [2020-07-18 05:17:27,736 WARN L170 areAnnotationChecker]: L605 has no Hoare annotation [2020-07-18 05:17:27,736 WARN L170 areAnnotationChecker]: L598 has no Hoare annotation [2020-07-18 05:17:27,736 WARN L170 areAnnotationChecker]: L598 has no Hoare annotation [2020-07-18 05:17:27,736 WARN L170 areAnnotationChecker]: L591-1 has no Hoare annotation [2020-07-18 05:17:27,737 WARN L170 areAnnotationChecker]: L591-1 has no Hoare annotation [2020-07-18 05:17:27,737 WARN L170 areAnnotationChecker]: L591-3 has no Hoare annotation [2020-07-18 05:17:27,737 WARN L170 areAnnotationChecker]: L570-2 has no Hoare annotation [2020-07-18 05:17:27,737 WARN L170 areAnnotationChecker]: L570-4 has no Hoare annotation [2020-07-18 05:17:27,737 WARN L170 areAnnotationChecker]: L554-1 has no Hoare annotation [2020-07-18 05:17:27,737 WARN L170 areAnnotationChecker]: L557-3 has no Hoare annotation [2020-07-18 05:17:27,737 WARN L170 areAnnotationChecker]: L557-6 has no Hoare annotation [2020-07-18 05:17:27,737 WARN L170 areAnnotationChecker]: L557-10 has no Hoare annotation [2020-07-18 05:17:27,737 WARN L170 areAnnotationChecker]: L548-2 has no Hoare annotation [2020-07-18 05:17:27,738 WARN L170 areAnnotationChecker]: L550-2 has no Hoare annotation [2020-07-18 05:17:27,738 WARN L170 areAnnotationChecker]: L608-1 has no Hoare annotation [2020-07-18 05:17:27,738 WARN L170 areAnnotationChecker]: L608-3 has no Hoare annotation [2020-07-18 05:17:27,738 WARN L170 areAnnotationChecker]: L607 has no Hoare annotation [2020-07-18 05:17:27,738 WARN L170 areAnnotationChecker]: L605-1 has no Hoare annotation [2020-07-18 05:17:27,738 WARN L170 areAnnotationChecker]: L598-1 has no Hoare annotation [2020-07-18 05:17:27,738 WARN L170 areAnnotationChecker]: L598-1 has no Hoare annotation [2020-07-18 05:17:27,738 WARN L170 areAnnotationChecker]: L598-3 has no Hoare annotation [2020-07-18 05:17:27,738 WARN L170 areAnnotationChecker]: L592 has no Hoare annotation [2020-07-18 05:17:27,739 WARN L170 areAnnotationChecker]: L571 has no Hoare annotation [2020-07-18 05:17:27,739 WARN L170 areAnnotationChecker]: L573 has no Hoare annotation [2020-07-18 05:17:27,739 WARN L170 areAnnotationChecker]: L555 has no Hoare annotation [2020-07-18 05:17:27,739 WARN L170 areAnnotationChecker]: L557-7 has no Hoare annotation [2020-07-18 05:17:27,739 WARN L170 areAnnotationChecker]: L557-11 has no Hoare annotation [2020-07-18 05:17:27,739 WARN L170 areAnnotationChecker]: L609 has no Hoare annotation [2020-07-18 05:17:27,739 WARN L170 areAnnotationChecker]: L609 has no Hoare annotation [2020-07-18 05:17:27,739 WARN L170 areAnnotationChecker]: L608-4 has no Hoare annotation [2020-07-18 05:17:27,740 WARN L170 areAnnotationChecker]: L607-1 has no Hoare annotation [2020-07-18 05:17:27,740 WARN L170 areAnnotationChecker]: L605-2 has no Hoare annotation [2020-07-18 05:17:27,740 WARN L170 areAnnotationChecker]: L599 has no Hoare annotation [2020-07-18 05:17:27,740 WARN L170 areAnnotationChecker]: L593 has no Hoare annotation [2020-07-18 05:17:27,740 WARN L170 areAnnotationChecker]: L571-1 has no Hoare annotation [2020-07-18 05:17:27,740 WARN L170 areAnnotationChecker]: L573-1 has no Hoare annotation [2020-07-18 05:17:27,740 WARN L170 areAnnotationChecker]: L555-1 has no Hoare annotation [2020-07-18 05:17:27,740 WARN L170 areAnnotationChecker]: L557-8 has no Hoare annotation [2020-07-18 05:17:27,740 WARN L170 areAnnotationChecker]: L557-12 has no Hoare annotation [2020-07-18 05:17:27,740 WARN L170 areAnnotationChecker]: mainFINAL has no Hoare annotation [2020-07-18 05:17:27,741 WARN L170 areAnnotationChecker]: L607-2 has no Hoare annotation [2020-07-18 05:17:27,741 WARN L170 areAnnotationChecker]: L600 has no Hoare annotation [2020-07-18 05:17:27,741 WARN L170 areAnnotationChecker]: L593-1 has no Hoare annotation [2020-07-18 05:17:27,741 WARN L170 areAnnotationChecker]: L571-2 has no Hoare annotation [2020-07-18 05:17:27,741 WARN L170 areAnnotationChecker]: L573-2 has no Hoare annotation [2020-07-18 05:17:27,741 WARN L170 areAnnotationChecker]: L555-2 has no Hoare annotation [2020-07-18 05:17:27,741 WARN L170 areAnnotationChecker]: L558 has no Hoare annotation [2020-07-18 05:17:27,741 WARN L170 areAnnotationChecker]: mainEXIT has no Hoare annotation [2020-07-18 05:17:27,741 WARN L170 areAnnotationChecker]: L600-1 has no Hoare annotation [2020-07-18 05:17:27,741 WARN L170 areAnnotationChecker]: L558-1 has no Hoare annotation [2020-07-18 05:17:27,742 WARN L170 areAnnotationChecker]: L558-2 has no Hoare annotation [2020-07-18 05:17:27,742 WARN L170 areAnnotationChecker]: L559 has no Hoare annotation [2020-07-18 05:17:27,742 WARN L170 areAnnotationChecker]: L559-1 has no Hoare annotation [2020-07-18 05:17:27,742 WARN L170 areAnnotationChecker]: L560 has no Hoare annotation [2020-07-18 05:17:27,742 WARN L170 areAnnotationChecker]: L560-1 has no Hoare annotation [2020-07-18 05:17:27,742 WARN L170 areAnnotationChecker]: L560-2 has no Hoare annotation [2020-07-18 05:17:27,742 INFO L163 areAnnotationChecker]: CFG has 0 edges. 0 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. 0 times interpolants missing. [2020-07-18 05:17:27,746 INFO L202 PluginConnector]: Adding new model de.uni_freiburg.informatik.ultimate.plugins.generator.traceabstraction CFG 18.07 05:17:27 BoogieIcfgContainer [2020-07-18 05:17:27,746 INFO L132 PluginConnector]: ------------------------ END TraceAbstraction---------------------------- [2020-07-18 05:17:27,748 INFO L168 Benchmark]: Toolchain (without parser) took 121879.72 ms. Allocated memory was 145.2 MB in the beginning and 559.9 MB in the end (delta: 414.7 MB). Free memory was 102.4 MB in the beginning and 457.4 MB in the end (delta: -355.1 MB). Peak memory consumption was 59.7 MB. Max. memory is 7.1 GB. [2020-07-18 05:17:27,749 INFO L168 Benchmark]: CDTParser took 0.21 ms. Allocated memory is still 145.2 MB. Free memory was 121.7 MB in the beginning and 121.5 MB in the end (delta: 210.0 kB). Peak memory consumption was 210.0 kB. Max. memory is 7.1 GB. [2020-07-18 05:17:27,749 INFO L168 Benchmark]: CACSL2BoogieTranslator took 687.35 ms. Allocated memory was 145.2 MB in the beginning and 201.9 MB in the end (delta: 56.6 MB). Free memory was 101.9 MB in the beginning and 166.5 MB in the end (delta: -64.6 MB). Peak memory consumption was 23.2 MB. Max. memory is 7.1 GB. [2020-07-18 05:17:27,749 INFO L168 Benchmark]: Boogie Preprocessor took 145.35 ms. Allocated memory is still 201.9 MB. Free memory was 166.5 MB in the beginning and 162.5 MB in the end (delta: 4.0 MB). Peak memory consumption was 4.0 MB. Max. memory is 7.1 GB. [2020-07-18 05:17:27,750 INFO L168 Benchmark]: RCFGBuilder took 1107.81 ms. Allocated memory was 201.9 MB in the beginning and 234.9 MB in the end (delta: 33.0 MB). Free memory was 162.5 MB in the beginning and 184.8 MB in the end (delta: -22.2 MB). Peak memory consumption was 79.8 MB. Max. memory is 7.1 GB. [2020-07-18 05:17:27,751 INFO L168 Benchmark]: TraceAbstraction took 119927.42 ms. Allocated memory was 234.9 MB in the beginning and 559.9 MB in the end (delta: 325.1 MB). Free memory was 183.3 MB in the beginning and 457.4 MB in the end (delta: -274.1 MB). Peak memory consumption was 51.0 MB. Max. memory is 7.1 GB. [2020-07-18 05:17:27,753 INFO L336 ainManager$Toolchain]: ####################### End [Toolchain 1] ####################### --- Results --- * Results from de.uni_freiburg.informatik.ultimate.core: - AssertionsEnabledResult: Assertions are enabled Assertions are enabled - StatisticsResult: Toolchain Benchmarks Benchmark results are: * CDTParser took 0.21 ms. Allocated memory is still 145.2 MB. Free memory was 121.7 MB in the beginning and 121.5 MB in the end (delta: 210.0 kB). Peak memory consumption was 210.0 kB. Max. memory is 7.1 GB. * CACSL2BoogieTranslator took 687.35 ms. Allocated memory was 145.2 MB in the beginning and 201.9 MB in the end (delta: 56.6 MB). Free memory was 101.9 MB in the beginning and 166.5 MB in the end (delta: -64.6 MB). Peak memory consumption was 23.2 MB. Max. memory is 7.1 GB. * Boogie Preprocessor took 145.35 ms. Allocated memory is still 201.9 MB. Free memory was 166.5 MB in the beginning and 162.5 MB in the end (delta: 4.0 MB). Peak memory consumption was 4.0 MB. Max. memory is 7.1 GB. * RCFGBuilder took 1107.81 ms. Allocated memory was 201.9 MB in the beginning and 234.9 MB in the end (delta: 33.0 MB). Free memory was 162.5 MB in the beginning and 184.8 MB in the end (delta: -22.2 MB). Peak memory consumption was 79.8 MB. Max. memory is 7.1 GB. * TraceAbstraction took 119927.42 ms. Allocated memory was 234.9 MB in the beginning and 559.9 MB in the end (delta: 325.1 MB). Free memory was 183.3 MB in the beginning and 457.4 MB in the end (delta: -274.1 MB). Peak memory consumption was 51.0 MB. Max. memory is 7.1 GB. * Results from de.uni_freiburg.informatik.ultimate.plugins.generator.traceabstraction: - CounterExampleResult [Line: 609]: a call of __VERIFIER_error() is reachable a call of __VERIFIER_error() is reachable We found a FailurePath: [L541] struct TreeNode* root = malloc(sizeof(*root)), *n; VAL [malloc(sizeof(*root))={-1:0}, root={-1:0}] [L542] root->left = ((void *)0) VAL [malloc(sizeof(*root))={-1:0}, root={-1:0}] [L543] root->right = ((void *)0) VAL [malloc(sizeof(*root))={-1:0}, root={-1:0}] [L544] COND FALSE !(__VERIFIER_nondet_int()) VAL [__VERIFIER_nondet_int()=0, malloc(sizeof(*root))={-1:0}, root={-1:0}] [L563] n = ((void *)0) VAL [malloc(sizeof(*root))={-1:0}, n={0:0}, root={-1:0}] [L564] struct TreeNode* pred; VAL [malloc(sizeof(*root))={-1:0}, n={0:0}, root={-1:0}] [L565] COND TRUE \read(*root) VAL [malloc(sizeof(*root))={-1:0}, n={0:0}, root={-1:0}] [L566] pred = ((void *)0) VAL [malloc(sizeof(*root))={-1:0}, n={0:0}, pred={0:0}, root={-1:0}] [L567] n = root VAL [malloc(sizeof(*root))={-1:0}, n={-1:0}, pred={0:0}, root={-1:0}] [L568] EXPR n->left VAL [malloc(sizeof(*root))={-1:0}, n={-1:0}, n->left={0:0}, pred={0:0}, root={-1:0}] [L568] n->left || n->right VAL [malloc(sizeof(*root))={-1:0}, n={-1:0}, n->left={0:0}, n->left || n->right=0, pred={0:0}, root={-1:0}] [L568] EXPR n->right VAL [malloc(sizeof(*root))={-1:0}, n={-1:0}, n->left={0:0}, n->left || n->right=0, n->right={0:0}, pred={0:0}, root={-1:0}] [L568] n->left || n->right VAL [malloc(sizeof(*root))={-1:0}, n={-1:0}, n->left={0:0}, n->left || n->right=0, n->right={0:0}, pred={0:0}, root={-1:0}] [L568] COND FALSE !(n->left || n->right) VAL [malloc(sizeof(*root))={-1:0}, n={-1:0}, n->left={0:0}, n->left || n->right=0, n->right={0:0}, pred={0:0}, root={-1:0}] [L575] COND FALSE !(\read(*pred)) VAL [malloc(sizeof(*root))={-1:0}, n={-1:0}, pred={0:0}, root={-1:0}] [L581] root = ((void *)0) VAL [malloc(sizeof(*root))={-1:0}, n={-1:0}, pred={0:0}, root={0:0}] [L565] COND FALSE !(\read(*root)) VAL [malloc(sizeof(*root))={-1:0}, n={-1:0}, pred={0:0}, root={0:0}] [L584] List a = (List) malloc(sizeof(struct node)); VAL [a={-2:0}, malloc(sizeof(*root))={-1:0}, malloc(sizeof(struct node))={-2:0}, n={-1:0}, pred={0:0}, root={0:0}] [L585] COND FALSE !(a == 0) VAL [a={-2:0}, malloc(sizeof(*root))={-1:0}, malloc(sizeof(struct node))={-2:0}, n={-1:0}, pred={0:0}, root={0:0}] [L586] List t; VAL [a={-2:0}, malloc(sizeof(*root))={-1:0}, malloc(sizeof(struct node))={-2:0}, n={-1:0}, pred={0:0}, root={0:0}] [L587] List p = a; VAL [a={-2:0}, malloc(sizeof(*root))={-1:0}, malloc(sizeof(struct node))={-2:0}, n={-1:0}, p={-2:0}, pred={0:0}, root={0:0}] [L588] COND TRUE __VERIFIER_nondet_int() VAL [__VERIFIER_nondet_int()=1, a={-2:0}, malloc(sizeof(*root))={-1:0}, malloc(sizeof(struct node))={-2:0}, n={-1:0}, p={-2:0}, pred={0:0}, root={0:0}] [L589] p->h = 1 VAL [a={-2:0}, malloc(sizeof(*root))={-1:0}, malloc(sizeof(struct node))={-2:0}, n={-1:0}, p={-2:0}, pred={0:0}, root={0:0}] [L590] t = (List) malloc(sizeof(struct node)) VAL [a={-2:0}, malloc(sizeof(*root))={-1:0}, malloc(sizeof(struct node))={-3:0}, malloc(sizeof(struct node))={-2:0}, n={-1:0}, p={-2:0}, pred={0:0}, root={0:0}, t={-3:0}] [L591] COND FALSE !(t == 0) VAL [a={-2:0}, malloc(sizeof(*root))={-1:0}, malloc(sizeof(struct node))={-3:0}, malloc(sizeof(struct node))={-2:0}, n={-1:0}, p={-2:0}, pred={0:0}, root={0:0}, t={-3:0}] [L592] p->n = t VAL [a={-2:0}, malloc(sizeof(*root))={-1:0}, malloc(sizeof(struct node))={-3:0}, malloc(sizeof(struct node))={-2:0}, n={-1:0}, p={-2:0}, pred={0:0}, root={0:0}, t={-3:0}] [L593] EXPR p->n VAL [a={-2:0}, malloc(sizeof(*root))={-1:0}, malloc(sizeof(struct node))={-3:0}, malloc(sizeof(struct node))={-2:0}, n={-1:0}, p={-2:0}, p->n={-3:0}, pred={0:0}, root={0:0}, t={-3:0}] [L593] p = p->n VAL [a={-2:0}, malloc(sizeof(*root))={-1:0}, malloc(sizeof(struct node))={-3:0}, malloc(sizeof(struct node))={-2:0}, n={-1:0}, p={-3:0}, p->n={-3:0}, pred={0:0}, root={0:0}, t={-3:0}] [L588] COND FALSE !(__VERIFIER_nondet_int()) VAL [__VERIFIER_nondet_int()=0, a={-2:0}, malloc(sizeof(*root))={-1:0}, malloc(sizeof(struct node))={-3:0}, malloc(sizeof(struct node))={-2:0}, n={-1:0}, p={-3:0}, pred={0:0}, root={0:0}, t={-3:0}] [L595] COND TRUE __VERIFIER_nondet_int() VAL [__VERIFIER_nondet_int()=1, a={-2:0}, malloc(sizeof(*root))={-1:0}, malloc(sizeof(struct node))={-3:0}, malloc(sizeof(struct node))={-2:0}, n={-1:0}, p={-3:0}, pred={0:0}, root={0:0}, t={-3:0}] [L596] p->h = 2 VAL [a={-2:0}, malloc(sizeof(*root))={-1:0}, malloc(sizeof(struct node))={-3:0}, malloc(sizeof(struct node))={-2:0}, n={-1:0}, p={-3:0}, pred={0:0}, root={0:0}, t={-3:0}] [L597] t = (List) malloc(sizeof(struct node)) VAL [a={-2:0}, malloc(sizeof(*root))={-1:0}, malloc(sizeof(struct node))={-3:0}, malloc(sizeof(struct node))={-4:0}, malloc(sizeof(struct node))={-2:0}, n={-1:0}, p={-3:0}, pred={0:0}, root={0:0}, t={-4:0}] [L598] COND FALSE !(t == 0) VAL [a={-2:0}, malloc(sizeof(*root))={-1:0}, malloc(sizeof(struct node))={-3:0}, malloc(sizeof(struct node))={-4:0}, malloc(sizeof(struct node))={-2:0}, n={-1:0}, p={-3:0}, pred={0:0}, root={0:0}, t={-4:0}] [L599] p->n = t VAL [a={-2:0}, malloc(sizeof(*root))={-1:0}, malloc(sizeof(struct node))={-3:0}, malloc(sizeof(struct node))={-4:0}, malloc(sizeof(struct node))={-2:0}, n={-1:0}, p={-3:0}, pred={0:0}, root={0:0}, t={-4:0}] [L600] EXPR p->n VAL [a={-2:0}, malloc(sizeof(*root))={-1:0}, malloc(sizeof(struct node))={-3:0}, malloc(sizeof(struct node))={-4:0}, malloc(sizeof(struct node))={-2:0}, n={-1:0}, p={-3:0}, p->n={-4:0}, pred={0:0}, root={0:0}, t={-4:0}] [L600] p = p->n VAL [a={-2:0}, malloc(sizeof(*root))={-1:0}, malloc(sizeof(struct node))={-3:0}, malloc(sizeof(struct node))={-4:0}, malloc(sizeof(struct node))={-2:0}, n={-1:0}, p={-4:0}, p->n={-4:0}, pred={0:0}, root={0:0}, t={-4:0}] [L595] COND FALSE !(__VERIFIER_nondet_int()) VAL [__VERIFIER_nondet_int()=0, a={-2:0}, malloc(sizeof(*root))={-1:0}, malloc(sizeof(struct node))={-3:0}, malloc(sizeof(struct node))={-4:0}, malloc(sizeof(struct node))={-2:0}, n={-1:0}, p={-4:0}, pred={0:0}, root={0:0}, t={-4:0}] [L602] p->h = 3 VAL [a={-2:0}, malloc(sizeof(*root))={-1:0}, malloc(sizeof(struct node))={-3:0}, malloc(sizeof(struct node))={-4:0}, malloc(sizeof(struct node))={-2:0}, n={-1:0}, p={-4:0}, pred={0:0}, root={0:0}, t={-4:0}] [L603] p = a VAL [a={-2:0}, malloc(sizeof(*root))={-1:0}, malloc(sizeof(struct node))={-3:0}, malloc(sizeof(struct node))={-4:0}, malloc(sizeof(struct node))={-2:0}, n={-1:0}, p={-2:0}, pred={0:0}, root={0:0}, t={-4:0}] [L604] EXPR p->h VAL [a={-2:0}, malloc(sizeof(*root))={-1:0}, malloc(sizeof(struct node))={-3:0}, malloc(sizeof(struct node))={-4:0}, malloc(sizeof(struct node))={-2:0}, n={-1:0}, p={-2:0}, p->h=1, pred={0:0}, root={0:0}, t={-4:0}] [L604] COND FALSE !(p->h == 2) VAL [a={-2:0}, malloc(sizeof(*root))={-1:0}, malloc(sizeof(struct node))={-3:0}, malloc(sizeof(struct node))={-4:0}, malloc(sizeof(struct node))={-2:0}, n={-1:0}, p={-2:0}, p->h=1, pred={0:0}, root={0:0}, t={-4:0}] [L606] EXPR p->h VAL [a={-2:0}, malloc(sizeof(*root))={-1:0}, malloc(sizeof(struct node))={-3:0}, malloc(sizeof(struct node))={-4:0}, malloc(sizeof(struct node))={-2:0}, n={-1:0}, p={-2:0}, p->h=1, pred={0:0}, root={0:0}, t={-4:0}] [L606] COND TRUE p->h == 1 VAL [a={-2:0}, malloc(sizeof(*root))={-1:0}, malloc(sizeof(struct node))={-3:0}, malloc(sizeof(struct node))={-4:0}, malloc(sizeof(struct node))={-2:0}, n={-1:0}, p={-2:0}, p->h=1, pred={0:0}, root={0:0}, t={-4:0}] [L607] EXPR p->n VAL [a={-2:0}, malloc(sizeof(*root))={-1:0}, malloc(sizeof(struct node))={-3:0}, malloc(sizeof(struct node))={-4:0}, malloc(sizeof(struct node))={-2:0}, n={-1:0}, p={-2:0}, p->n={-3:0}, pred={0:0}, root={0:0}, t={-4:0}] [L607] p = p->n VAL [a={-2:0}, malloc(sizeof(*root))={-1:0}, malloc(sizeof(struct node))={-3:0}, malloc(sizeof(struct node))={-4:0}, malloc(sizeof(struct node))={-2:0}, n={-1:0}, p={-3:0}, p->n={-3:0}, pred={0:0}, root={0:0}, t={-4:0}] [L606] EXPR p->h VAL [a={-2:0}, malloc(sizeof(*root))={-1:0}, malloc(sizeof(struct node))={-3:0}, malloc(sizeof(struct node))={-4:0}, malloc(sizeof(struct node))={-2:0}, n={-1:0}, p={-3:0}, p->h=2, pred={0:0}, root={0:0}, t={-4:0}] [L606] COND FALSE !(p->h == 1) VAL [a={-2:0}, malloc(sizeof(*root))={-1:0}, malloc(sizeof(struct node))={-3:0}, malloc(sizeof(struct node))={-4:0}, malloc(sizeof(struct node))={-2:0}, n={-1:0}, p={-3:0}, p->h=2, pred={0:0}, root={0:0}, t={-4:0}] [L608] EXPR p->h VAL [a={-2:0}, malloc(sizeof(*root))={-1:0}, malloc(sizeof(struct node))={-3:0}, malloc(sizeof(struct node))={-4:0}, malloc(sizeof(struct node))={-2:0}, n={-1:0}, p={-3:0}, p->h=2, pred={0:0}, root={0:0}, t={-4:0}] [L608] COND TRUE p->h != 3 VAL [a={-2:0}, malloc(sizeof(*root))={-1:0}, malloc(sizeof(struct node))={-3:0}, malloc(sizeof(struct node))={-4:0}, malloc(sizeof(struct node))={-2:0}, n={-1:0}, p={-3:0}, p->h=2, pred={0:0}, root={0:0}, t={-4:0}] [L609] __VERIFIER_error() VAL [a={-2:0}, malloc(sizeof(*root))={-1:0}, malloc(sizeof(struct node))={-3:0}, malloc(sizeof(struct node))={-4:0}, malloc(sizeof(struct node))={-2:0}, n={-1:0}, p={-3:0}, pred={0:0}, root={0:0}, t={-4:0}] - StatisticsResult: Ultimate Automizer benchmark data CFG has 6 procedures, 188 locations, 1 error locations. Started 1 CEGAR loops. VerificationResult: UNSAFE, OverallTime: 119.7s, OverallIterations: 19, TraceHistogramMax: 3, AutomataDifference: 87.8s, DeadEndRemovalTime: 0.0s, HoareAnnotationTime: 0.0s, InitialAbstractionConstructionTime: 0.0s, HoareTripleCheckerStatistics: 3258 SDtfs, 5701 SDslu, 25928 SDs, 0 SdLazy, 11237 SolverSat, 753 SolverUnsat, 0 SolverUnknown, 0 SolverNotchecked, 14.8s Time, PredicateUnifierStatistics: 0 DeclaredPredicates, 542 GetRequests, 63 SyntacticMatches, 0 SemanticMatches, 479 ConstructedPredicates, 0 IntricatePredicates, 0 DeprecatedPredicates, 2823 ImplicationChecksByTransitivity, 17.1s Time, 0.0s BasicInterpolantAutomatonTime, BiggestAbstraction: size=299occurred in iteration=18, traceCheckStatistics: No data available, InterpolantConsolidationStatistics: No data available, PathInvariantsStatistics: No data available, 0/0 InterpolantCoveringCapability, TotalInterpolationStatistics: No data available, 0.0s DumpTime, AutomataMinimizationStatistics: 12.7s AutomataMinimizationTime, 18 MinimizatonAttempts, 779 StatesRemovedByMinimization, 16 NontrivialMinimizations, HoareAnnotationStatistics: No data available, RefinementEngineStatistics: TRACE_CHECK: 0.0s SsaConstructionTime, 0.4s SatisfiabilityAnalysisTime, 7.8s InterpolantComputationTime, 1304 NumberOfCodeBlocks, 1304 NumberOfCodeBlocksAsserted, 19 NumberOfCheckSat, 1202 ConstructedInterpolants, 0 QuantifiedInterpolants, 559211 SizeOfPredicates, 0 NumberOfNonLiveVariables, 0 ConjunctsInSsa, 0 ConjunctsInUnsatCore, 18 InterpolantComputations, 6 PerfectInterpolantSequences, 42/119 InterpolantCoveringCapability, INVARIANT_SYNTHESIS: No data available, INTERPOLANT_CONSOLIDATION: No data available, ABSTRACT_INTERPRETATION: No data available, PDR: No data available, ACCELERATED_INTERPOLATION: No data available, SIFA: No data available, ReuseStatistics: No data available RESULT: Ultimate proved your program to be incorrect! Received shutdown request...